Modeling and Analysis of Reo Connectors Using Alloy

  • Ramtin Khosravi
  • Marjan Sirjani
  • Nesa Asoudeh
  • Shaghayegh Sahebi
  • Hamed Iravanchi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5052)


Reo is an exogenous coordination language based on a calculus of channel composition. Different formal models have been developed for this language. In this paper, we present a new approach to modeling and analysis of Reo connectors using Alloy which is a lightweight modeling language based on first-order relational logic. We provide a reusable library of Reo channels in Alloy that can be used to create a model of a Reo connector in Alloy. The model is simple and reflects the original structure of the connector. Furthermore, the model of a connector can be reused as a component for constructing more complex connectors. Using the Alloy Analyzer tool, properties expressed as predicates can be verified by automatically analyzing the execution traces of the Reo connector. We handle the context-sensitive behavior of channels as well as optional constraints on the interactions with environment. Our compositional model can be used as an alternative to other existing approaches, and is supported by a well known tool with a rich set of features such as counterexample generation.


Model Check Data Item Sink Node Channel Type Execution Trace 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alloy Analyzer,
  2. 2.
    Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14(3), 1–38 (2004)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Arbab, F., Rutten, J.J.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003)Google Scholar
  4. 4.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.J.: Modeling component connectors in Reo by constraint automata. Science of Computer Programming 61, 75–113 (2006)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Clarke, D., Costa, D., Arbab, F.: Connector colouring I: synchronisation and context dependency. In: Proceedings of FOCLASA 2005. ENTCS, vol. 154, pp. 101–119. Elsevier, Amsterdam (2006)Google Scholar
  6. 6.
    Eclipse Coordination Tools homepage,
  7. 7.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1994)Google Scholar
  8. 8.
    Jackson, D., Shlyakhter, I., Sridharan, M.: A micromodularity mechanism. In: Proceedings of Foundations of Software Engineering, pp. 62–73 (2001)Google Scholar
  9. 9.
    Jackson, D.: Alloy3.0 Reference manual (May 10, 2004),
  10. 10.
    Jackson, D.: Software abstractions, logic, language, and analysis. MIT Press, Cambridge (2006)Google Scholar
  11. 11.
    Klüppelholz, S., Baier, C.: Symbolic model checking for channel-based component connectors. In: Proceedings of FOCLASA 2006. ENTCS, vol. 175, pp. 19–37. Springer, Heidelberg (2007)Google Scholar
  12. 12.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems:Specification. Springer, Heidelberg (1992)Google Scholar
  13. 13.
  14. 14.
    Mousavi, M.R., Sirjani, M., Arbab, F.: Formal semantics and analysis of component connectors in Reo. In: Proceedings of FOCLASA 2005. ENTCS, vol. 154, pp. 83–99. Elsevier, Amsterdam (2005)Google Scholar
  15. 15.
    Papadopoulos, G.A., Arbab, F.: Coordination models and languages. Report SEN-R9834, CWI (December 1998)Google Scholar
  16. 16.
  17. 17.
    Talcott, C., Sirjani, M., Ren, S.: Comparing Three Coordination Models: Reo, ARC, and RRD. In: Proceedings of FOCLASA 2007 (to appear, 2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Ramtin Khosravi
    • 1
  • Marjan Sirjani
    • 1
    • 2
  • Nesa Asoudeh
    • 1
  • Shaghayegh Sahebi
    • 1
  • Hamed Iravanchi
    • 1
  1. 1.School of Electrical and Computer EngineeringUniversity of TehranTehranIran
  2. 2.School of Computer ScienceInstitute for Studies in Theoretical Physics and MathematicsTehranIran

Personalised recommendations