Formal Specification and Verification of Dynamic Parametrized Architectures

We propose a novel approach to the formal specification and verification of dynamic architectures that are at the core of adaptive systems such as critical infrastructure protection. Key features include run-time reconfiguration based on adding and removing components and connections, resulting in systems with unbounded number of components. We provide a logic-based specification of a Dynamic Parametrized Architecture (DPA), where parameters represent the infinite-state space of possible configurations, and first-order formulas represent the sets of initial configurations and reconfiguration transitions. We encode information flow properties as reachability problems of such DPAs, define a translation into an array-based transition system, and use a Satisfiability Modulo Theories (SMT)-based model checker to tackle a number of case studies.

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

[2]  Silvio Ghilardi,et al.  Backward Reachability of Array-based Systems by SMT solving: Termination and Invariant Synthesis , 2010, Log. Methods Comput. Sci..

[3]  Michel Wermelinger,et al.  Algebraic software architecture reconfiguration , 1999, ESEC/FSE-7.

[4]  Peter H. Feiler,et al.  Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language , 2012 .

[5]  Sylvain Conchon,et al.  Certificates for Parameterized Model Checking , 2015, FM.

[6]  J. Meseguer,et al.  Security Policies and Security Models , 1982, 1982 IEEE Symposium on Security and Privacy.

[7]  Bo Chen,et al.  Description and Verification of Dynamic Software Architectures for Distributed Systems , 2010, J. Softw..

[8]  Silvio Ghilardi,et al.  A Framework for the Verification of Parameterized Infinite-State Systems , 2014, CILC.

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

[10]  Qiang Wang,et al.  Parameterized Systems in BIP: Design and Model Checking , 2016, CONCUR.

[11]  Barbara König,et al.  Towards the Verification of Attributed Graph Transformation Systems , 2008, ICGT.

[12]  Joseph Sifakis,et al.  A Theory Agenda for Component-Based Design , 2015, Software, Services, and Systems.

[13]  Marvin Minsky,et al.  Computation : finite and infinite machines , 2016 .

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

[15]  Marco Roveri,et al.  The nuXmv Symbolic Model Checker , 2014, CAV.

[16]  Sylvain Conchon,et al.  Cubicle: A Parallel SMT-Based Model Checker for Parameterized Systems - Tool Paper , 2012, CAV.

[17]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[18]  Stefano Berardi,et al.  Interactive Learning-Based Realizability for Heyting Arithmetic with EM1 , 2010, Log. Methods Comput. Sci..

[19]  Silvio Ghilardi,et al.  MCMT: A Model Checker Modulo Theories , 2010, IJCAR.

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

[21]  Roberto Bruni,et al.  Behaviour, Interaction and Dynamics , 2014, Specification, Algebra, and Software.

[22]  José M. Troya,et al.  Specification and Refinement of Dynamic Software Architectures , 1999, WICSA.

[23]  Joseph Sifakis,et al.  Modeling Dynamic Architectures Using Dy-BIP , 2012, SC@TOOLS.

[24]  Paola Inverardi,et al.  Reconfiguration of Software Architecture Styles with Name Mobility , 2000, COORDINATION.

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

[26]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

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