Configuration Logics: Modelling Architecture Styles

We study a framework for the specification of architecture styles as families of architectures involving a common set of types of components and coordination mechanisms. The framework combines two logics: 1 interaction logics for the specification of architectures as generic coordination schemes involving a configuration of interactions between typed components; 2 configuration logics for the specification of architecture styles as sets of interaction configurations. The presented results build on previous work on architecture modelling in BIP. We show how propositional interaction logic can be extended into a corresponding configuration logic by adding new operators on sets of interaction configurations. We provide a complete axiomatisation of the propositional configuration logic, as well as a decision procedure for checking that an architecture satisfies given logical specifications. To allow genericity of specifications, we study first-order and second-order extensions of the propositional logic. We provide examples illustrating the application of the results to the characterization of architecture styles. Finally, we provide an experimental evaluation using the Maude rewriting system to implement the decision procedure for the propositional logic.

[1]  Joseph Sifakis,et al.  A general framework for architecture composability , 2014, Formal Aspects of Computing.

[2]  Christos Kloukinas,et al.  Design-by-contract for reusable components and realizable architectures , 2014, CBSE '14.

[3]  Petr Tuma,et al.  Distributed Component System Based on Architecture Description: The SOFA Experience , 2002, OTM.

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

[5]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[6]  Joseph Sifakis,et al.  The Algebra of Connectors - Structuring Interaction in BIP , 2008, IEEE Trans. Computers.

[7]  Uwe Keller June Some Remarks on the Definability of Transitive Closure in First-order Logic and Datalog , 2004 .

[8]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[9]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[10]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[11]  Jeff Kramer Configuration programming-a framework for the development of distributable systems , 1990, COMPEURO'90: Proceedings of the 1990 IEEE International Conference on Computer Systems and Software Engineering@m_Systems Engineering Aspects of Complex Computerized Systems.

[12]  David Garlan,et al.  Software architecture: a travelogue , 2014, FOSE.

[13]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[14]  Daniel Le Métayer Describing Software Architecture Styles Using Graph Grammars , 1998, IEEE Trans. Software Eng..

[15]  Luciano Baresi,et al.  Modeling and validation of service-oriented architectures: application vs. style , 2003, ESEC/FSE-11.

[16]  Ivan Lanese,et al.  Synchronised Hyperedge Replacement as a Model for Service Oriented Computing , 2005, FMCO.

[17]  Joseph Sifakis,et al.  Synthesizing Glue Operators from Glue Constraints for the Construction of Component-Based Systems , 2011, SC@TOOLS.

[18]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

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

[20]  Farhad Arbab,et al.  Modeling dynamic reconfigurations in Reo using high-level replacement systems , 2011, Sci. Comput. Program..

[21]  Uwe Zdun,et al.  A catalog of architectural primitives for modeling architectural patterns , 2008, Inf. Softw. Technol..

[22]  David Garlan,et al.  Acme: an architecture description interchange language , 2010, CASCON.

[23]  David Garlan,et al.  Analyzing architectural styles , 2010, J. Syst. Softw..

[24]  Robert Daigneau,et al.  Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services , 2011 .

[25]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[26]  Paola Inverardi,et al.  Modeling Software Architecutes and Styles with Graph Grammars and Constraint Solving , 1999, WICSA.

[27]  Gregor Hohpe,et al.  Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions , 2003 .

[28]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

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

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

[31]  Jiannong Cao,et al.  A Context-sensitive Graph Grammar Formalism for the Specification of Visual Languages , 2001, Comput. J..

[32]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[33]  Joseph Sifakis Rigorous system design , 2014, PODC '14.

[34]  Paul Clements,et al.  Documenting Component and Connector Views with UML 2.0 , 2004 .

[35]  David Garlan,et al.  Formalizing architectural connection , 1994, Proceedings of 16th International Conference on Software Engineering.

[36]  Farhad Arbab,et al.  Connector Rewriting with High-Level Replacement Systems , 2008, FOCLASA.

[37]  H. P Nii,et al.  Blackboard Systems , 1986 .

[38]  D. Corkill Blackboard Systems , 1991 .

[39]  Hartmut Ehrig,et al.  Deriving Bisimulation Congruences in the DPO Approach to Graph Rewriting , 2004, FoSSaCS.