On the verification of architectural reconfigurations

In a reconfigurable system, the response to contextual or internal change may trigger reconfiguration events which, on their turn, activate scripts that change the system's architecture at runtime. To be safe, however, such reconfigurations are expected to obey the fundamental principles originally specified by its architect. This paper introduces an approach to ensure that such principles are observed along reconfigurations by verifying them against concrete specifications in a suitable logic. Architectures, reconfiguration scripts, and principles are specified in Archery, an architectural description language with formal semantics. Principles are encoded as constraints, which become formulas of a two-layer graded hybrid logic, where the upper layer restricts reconfigurations, and the lower layer constrains the resulting configurations. Constraints are verified by translating them into logic formulas, which are interpreted over models derived from Archery specifications of architectures and reconfigurations. Suitable notions of bisimulation and refinement, to which the architect may resort to compare configurations, are given, and their relationship with modal validity is discussed. HighlightsDescribes approach to ensure fundamental principles of a system in reconfigurations.Specifies principles as constraints in an architectural description language.Translates constraints into a two-layer graded hybrid logic.Derives interpretation models from specifications of architectures and reconfigurations.Provides equivalence and refinement notions to compare reconfigurations.

[1]  Alexander L. Wolf,et al.  Joint Proceedings of the Second International Software Architecture Workshop (ISAW-2) and International Workshop on Multiple Perspectives in Software Development (Viewpoints '96) on SIGSOFT '96 workshops, ISAW '96, San Francisco, California, USA , 1996, ISAW/Viewpoints.

[2]  Linh Anh Nguyen,et al.  On bisimulations for description logics , 2011, Inf. Sci..

[3]  Alejandro Sanchez,et al.  Modelling and Verifying Smell-Free Architectures with the Archery Language , 2014, SEFM Workshops.

[4]  Nenad Medvidovic,et al.  Modeling software architectures in the Unified Modeling Language , 2002, TSEM.

[5]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

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

[7]  Nazareno Aguirre,et al.  A temporal logic approach to the specification of reconfigurable component-based systems , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

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

[9]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

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

[11]  Alejandro Sanchez,et al.  A language for behavioural modelling of architectural patterns , 2011, BM-FA '11.

[12]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[13]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[14]  Jan Friso Groote,et al.  The Formal Specification Language mCRL2 , 2006, MMOSS.

[15]  Axel Uhl,et al.  MDA Distilled , 2004 .

[16]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[17]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[18]  Daniel Eduardo Riesco,et al.  Specifying structural constraints of architectural patterns in the ARCHERY language , 2015 .

[19]  R. Milner,et al.  Bigraphical Reactive Systems , 2001, CONCUR.

[20]  Sebastián Uchitel,et al.  Software Architecture Modeling & Analysis: A Rigorous Approach , 2003, SFM.

[21]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[22]  David Garlan,et al.  Analyzing architectural styles with alloy , 2006, ROSATEA '06.

[23]  Alejandro Sanchez,et al.  Bigraphical Modelling of Architectural Patterns , 2011, FACS.

[24]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

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

[26]  Manuel A. Martins,et al.  Refinement in hybridised institutions , 2014, Formal Aspects of Computing.

[27]  Nenad Medvidovic ADLs and dynamic architecture changes , 1996, ISAW '96.

[28]  Javier Cámara,et al.  Structural reconfiguration of systems under behavioral adaptation , 2012, Sci. Comput. Program..

[29]  S. Roseff Handbook of Transfusion Medicine , 2003 .

[30]  Maarten Marx,et al.  Hybrid logics: characterization, interpolation and complexity , 2001, Journal of Symbolic Logic.

[31]  Alejandro Sanchez,et al.  Verifying Bigraphical Models of Architectural Reconfigurations , 2013, 2013 International Symposium on Theoretical Aspects of Software Engineering.

[32]  S RosenblumDavid,et al.  Modeling software architectures in the Unified Modeling Language , 2002 .

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

[34]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[35]  David Garlan,et al.  Specifying and Analyzing Dynamic Software Architectures , 1998, FASE.

[36]  Arnaud Lanoix,et al.  Using Temporal Logic for Dynamic Reconfigurations of Components , 2010, FACS.

[37]  Wiebe van der Hoek On the Semantics of Graded Modalities , 1992, J. Appl. Non Class. Logics.