Modeling and Analysis of Reo Connectors Using Alloy

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.

[1]  Paul Gastin,et al.  A simple process algebra based on atomic actions with resources , 2004, Mathematical Structures in Computer Science.

[2]  Farhad Arbab,et al.  A Coinductive Calculus of Component Connectors , 2002, WADT.

[3]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[4]  Manu Sridharan,et al.  A micromodularity mechanism , 2001, ESEC/FSE-9.

[5]  Martin Wirsing,et al.  Extraction of Structured Programs from Specification Proofs , 1999, WADT.

[6]  Carolyn L. Talcott,et al.  Comparing three coordination models: Reo, ARC, and PBRD , 2008, Sci. Comput. Program..

[7]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[8]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[9]  Christel Baier,et al.  Symbolic Model Checking for Channel-based Component Connectors , 2007, FOCLASA.

[10]  Farhad Arbab,et al.  Formal Semantics and Analysis of Component Connectors in Reo , 2006, FOCLASA.

[11]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[12]  Zohar Manna,et al.  The Temporal Logic of Reactive and Concurrent Systems , 1991, Springer New York.

[13]  Farhad Arbab,et al.  Connector Colouring I: Synchronisation and Context Dependency , 2006, Electron. Notes Theor. Comput. Sci..

[14]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..