Modeling dynamic reconfigurations in Reo using high-level replacement systems

Reo is a channel-based coordination language, wherein circuit-like connectors model and implement interaction protocols in heterogeneous environments that coordinate components or services. Connectors are constructed from primitive channels and can be reconfigured dynamically. Reconfigurations can even execute within a pending I/O transaction. In this article, we formally model and analyze dynamic reconfigurations and show how running coordinators can be reconfigured without the cooperation of their engaged components. We utilize the theory of high-level replacement systems to model rule-based reconfigurations of connectors. This allows us to perform a complex reconfiguration as an atomic step and analyze it using formal verification techniques. Specifically, we formalize the structure of connectors as typed hypergraphs and use critical pair and state space analyses for verification of dynamic reconfigurations. We provide a full implementation of our approach in a framework that includes tools for the definition, analysis, and execution of reconfigurations, and is integrated with two execution engines for Reo. Our framework, moreover, integrates with the graph transformation tools AGG and GROOVE for formal analysis, as well as the Eclipse platform and standard web service technologies.

[1]  Hartmut Ehrig,et al.  Proceedings of the First International Conference on Graph Transformation , 2002 .

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

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

[4]  Farhad Arbab,et al.  Connector colouring I: Synchronisation and context dependency , 2006, Sci. Comput. Program..

[5]  Alexander N. Gorban,et al.  Slow Invariant Manifolds for Open Systems , 2005 .

[6]  Manfred Nagl,et al.  Applications of Graph Transformations with Industrial Relevance , 2003, Lecture Notes in Computer Science.

[7]  Wil M. P. van der Aalst,et al.  The Application of Petri Nets to Workflow Management , 1998, J. Circuits Syst. Comput..

[8]  M. J. Plasmeijer,et al.  Term graph rewriting: theory and practice , 1993 .

[9]  Wil M.P. van der Aalst Exterminating the Dynamic Change Bug: A Concrete Approach to Support Workflow Change , 2001 .

[10]  Gabriele Taentzer,et al.  AGG: A Graph Transformation Environment for Modeling and Validation of Software , 2003, AGTIVE.

[11]  Reiko Heckel,et al.  Bisimilarity and Behaviour-Preserving Reconfigurations of Open Petri Nets , 2007, Log. Methods Comput. Sci..

[12]  Hartmut Ehrig,et al.  Fundamental Theory for Typed Attributed Graphs and Graph Transformation based on Adhesive HLR Categories , 2006, Fundam. Informaticae.

[13]  Alexandra Silva,et al.  Automata for Context-Dependent Connectors , 2009, COORDINATION.

[14]  Wil M. P. van der Aalst,et al.  Exterminating the Dynamic Change Bug: A Concrete Approach to Support Workflow Change , 2001, Inf. Syst. Frontiers.

[15]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation (Monographs in Theoretical Computer Science. An EATCS Series) , 1992 .

[16]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[17]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.

[18]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Graph Transformation , 2006, Monographs in Theoretical Computer Science. An EATCS Series.

[19]  Farhad Arbab,et al.  Reconfiguration of Reo Connectors Triggered by Dataflow , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[20]  A Di Pisa,et al.  Compositional Semantics for Open Petri Nets based on Deterministic Processes , 2001 .

[21]  Dave Clarke,et al.  A Basic Logic for Reasoning about Connector Reconfiguration , 2008, Fundam. Informaticae.

[22]  Nicholas Carriero,et al.  Parallel Programming in Linda , 1985, ICPP.

[23]  Arend Rensink Explicit State Model Checking for Graph Grammars , 2008, Concurrency, Graphs and Models.

[24]  Detlef Plump,et al.  Hypergraph rewriting: critical pairs and undecidability of confluence , 1993 .

[25]  Erik P. de Vink,et al.  Reconfiguring Distributed Reo Connectors , 2009, WADT.

[26]  Ugo Montanari,et al.  Recent Trends in Algebraic Development Techniques, 19th International Workshop, WADT 2008, Pisa, Italy, June 13-16, 2008, Revised Selected Papers , 2009, WADT.

[27]  Roberto Bruni,et al.  Style-Based Architectural Reconfigurations , 2008, Bull. EATCS.

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