Modeling component connectors in Reo by constraint automata

In this paper we introduce constraint automata and propose them as an operational model for Reo, an exogenous coordination language for compositional construction of component connectors based on a calculus of channels. By providing composition operators for constraint automata and defining notions of equivalence and refinement relations for them, this paper covers the foundations for building tools to address concerns such as the automated construction of the automaton for a given component connector, equivalence checking or containment checking of the behavior of two given connectors, and verification of coordination mechanisms.

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

[2]  Carl A. Sunshine,et al.  Protocol Specification, Testing and Verification - Guest Editorial , 1982, Comput. Networks.

[3]  Orna Grumberg,et al.  Simulation-based minimization , 2003, TOCL.

[4]  Nenad Medvidovic,et al.  Composing architectural styles from architectural primitives , 2003, ESEC/FSE-11.

[5]  Ingo Wegener,et al.  Branching Programs and Binary Decision Diagrams , 1987 .

[6]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[7]  Fabio Somenzi,et al.  Logic synthesis and verification algorithms , 1996 .

[8]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[9]  Nagisa Ishiura,et al.  Shared binary decision diagram with attributed edges for efficient Boolean function manipulation , 1990, 27th ACM/IEEE Design Automation Conference.

[10]  Rolf Drechsler,et al.  Binary Decision Diagrams - Theory and Implementation , 1998 .

[11]  Thomas A. Henzinger,et al.  Computing simulations on finite and infinite graphs , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[12]  Robert E. Tarjan,et al.  Three Partition Refinement Algorithms , 1987, SIAM J. Comput..

[13]  Rance Cleaveland,et al.  Simulation Revisited , 2001, TACAS.

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

[15]  Tiziano Villa,et al.  Multi-valued decision diagrams: theory and applications , 1998 .

[16]  S. Minato Binary Decision Diagrams and Applications for VLSI CAD , 1995 .

[17]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[18]  Carl A. Gunter,et al.  In handbook of theoretical computer science , 1990 .

[19]  Prof. Dr. Christoph Meinel,et al.  Algorithms and Data Structures in VLSI Design , 1998, Springer Berlin Heidelberg.

[20]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[22]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[23]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

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

[25]  Farhad Arbab,et al.  Effective modeling of software architectural assemblies using constraint automata , 2003 .

[26]  Scott A. Smolka,et al.  CCS expressions, finite state processes, and three problems of equivalence , 1983, PODC '83.

[27]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[28]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[29]  Scott A. Smolka,et al.  Fundamental Results for the Verification of Observational Equivalence: A Survey , 1987, PSTV.

[30]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[31]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[32]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[33]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[34]  I. Wegener Branching Programs and Binary Deci-sion Diagrams-Theory and Applications , 1987 .

[35]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.