Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alloy Analyzer, http://alloy.mit.edu
Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science 14(3), 1–38 (2004)
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)
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)
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)
Eclipse Coordination Tools homepage, http://homepages.cwi.nl/~koehler/ect
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading (1994)
Jackson, D., Shlyakhter, I., Sridharan, M.: A micromodularity mechanism. In: Proceedings of Foundations of Software Engineering, pp. 62–73 (2001)
Jackson, D.: Alloy3.0 Reference manual (May 10, 2004), http://alloy.mit.edu
Jackson, D.: Software abstractions, logic, language, and analysis. MIT Press, Cambridge (2006)
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)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems:Specification. Springer, Heidelberg (1992)
Maude system, http://maude.cs.uiuc.edu
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)
Papadopoulos, G.A., Arbab, F.: Coordination models and languages. Report SEN-R9834, CWI (December 1998)
Relloy Library, http://ece.ut.ac.ir/msirjani/relloy.zip
Talcott, C., Sirjani, M., Ren, S.: Comparing Three Coordination Models: Reo, ARC, and RRD. In: Proceedings of FOCLASA 2007 (to appear, 2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Khosravi, R., Sirjani, M., Asoudeh, N., Sahebi, S., Iravanchi, H. (2008). Modeling and Analysis of Reo Connectors Using Alloy. In: Lea, D., Zavattaro, G. (eds) Coordination Models and Languages. COORDINATION 2008. Lecture Notes in Computer Science, vol 5052. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68265-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-68265-3_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68264-6
Online ISBN: 978-3-540-68265-3
eBook Packages: Computer ScienceComputer Science (R0)