Connector Algebras, Petri Nets, and BIP

In the area of component-based software architectures, the term connector has been coined to denote an entity (e.g. the communication network, middleware or infrastructure) that regulates the interaction of independent components. Hence, a rigorous mathematical foundation for connectors is crucial for the study of coordinated systems. In recent years, many different mathematical frameworks have been proposed to specify, design, analyse, compare, prototype and implement connectors rigorously. In this paper, we overview the main features of three notable frameworks and discuss their similarities, differences, mutual embedding and possible enhancements. First, we show that Sobocinski's nets with boundaries are as expressive as Sifakis et al.'s BI(P), the BIP component framework without priorities. Second, we provide a basic algebra of connectors for BI(P) by exploiting Montanari et al.'s tile model and a recent correspondence result with nets with boundaries. Finally, we exploit the tile model as a unifying framework to compare BI(P) with other models of connectors and to propose suitable enhancements of BI(P).

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

[2]  Gheorghe Stefanescu,et al.  Reaction and Control I. Mixing Additive and Multiplicative Network Algebras , 1998, Log. J. IGPL.

[3]  R. Bruni Tile Logic for Synchronized Rewriting of Concurrent Systems , 1999 .

[4]  Parosh Aziz Abdulla,et al.  Advanced Ramsey-Based Büchi Automata Inclusion Testing , 2011, CONCUR.

[5]  S. Lane Categories for the Working Mathematician , 1971 .

[6]  Roberto Bruni,et al.  Dynamic connectors for concurrency , 2002, Theor. Comput. Sci..

[7]  C. Petri Kommunikation mit Automaten , 1962 .

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

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

[10]  Paul Gastin,et al.  CONCUR 2010 - Concurrency Theory, 21th International Conference, CONCUR 2010, Paris, France, August 31-September 3, 2010. Proceedings , 2010, CONCUR.

[11]  Roberto Bruni,et al.  Symmetric monoidal and cartesian double categories as a semantic framework for tile logic , 2002, Mathematical Structures in Computer Science.

[12]  Roberto Bruni,et al.  A Connector Algebra for P/T Nets Interactions , 2011, CONCUR.

[13]  Roberto Bruni,et al.  Cartesian closed double categories, their lambda-notation, and the pi-calculus , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

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

[15]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[16]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[17]  Farhad Arbab,et al.  Tiles for Reo , 2009, WADT.

[18]  Fabio Gadducci,et al.  Comparing logics for rewriting: rewriting logic, action calculi and tile logic , 2002, Theor. Comput. Sci..

[19]  Gian Luigi Ferrari,et al.  Tile Formats for Located and Mobile Systems , 2000, Inf. Comput..

[20]  Nicoletta Sabadini,et al.  Span(Graph): A Categorial Algebra of Transition Systems , 1997, AMAST.

[21]  Roberto Bruni,et al.  A basic algebra of stateless connectors , 2006, Theor. Comput. Sci..

[22]  Pawel Sobocinski A non-interleaving process calculus for multi-party synchronisation , 2009, ICE.

[23]  Ugo Montanari,et al.  Observational Equivalence for Synchronized Graph Rewriting with Mobility , 2001, TACS.

[24]  Roberto Bruni,et al.  An interactive semantics of logic programming , 2001, Theory and Practice of Logic Programming.

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

[26]  Nicoletta Sabadini,et al.  Representing Place/Transition Nets in Span(Graph) , 1997, AMAST.

[27]  Fabio Gadducci,et al.  The tile model , 2000, Proof, Language, and Interaction.

[28]  Pawel Sobocinski,et al.  Representations of Petri Net Interactions , 2010, CONCUR.

[29]  Joseph Sifakis,et al.  The Algebra of Connectors—Structuring Interaction in BIP , 2007, IEEE Transactions on Computers.

[30]  Roberto Bruni,et al.  Normal forms for algebras of connection , 2002, Theor. Comput. Sci..

[31]  Francesca Rossi,et al.  Graph Rewriting, Constraint Solving and Tiles for Coordinating Distributed Systems , 1999, Appl. Categorical Struct..

[32]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[33]  José Luiz Fiadeiro,et al.  Categorical Semantics of Parallel Program Design , 1997, Sci. Comput. Program..

[34]  Joseph Sifakis,et al.  Causal semantics for the algebra of connectors , 2008, Formal Methods Syst. Des..

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