Compositional Verification of Self-Adaptive Cyber-Physical Systems

Cyber-Physical Systems (CPSs) must often self-adapt to respond to changes in their operating environment. However, using formal verification techniques to provide assurances that critical requirements are satisfied can be computationally intractable due to the large state space of self-adaptive CPSs. In this paper we propose a novel language, Adaptive CSP, to model self-adaptive CPSs modularly and provide a technique to support compositional verification of such systems. Our technique allows system designers to identify (a subset of) the CPS components that can affect satisfaction of given requirements, and define adaptation procedures of these components to preserve the requirements in the face of changes to the system's operating environment. System designers can then use Adaptive CSP to represent the system including potential self-adaptation procedures. The requirements can then be verified only against relevant components, independently from the rest of the system, thus enabling computationally tractable verification. Our technique enables the use of existing formal verification technology to check requirement satisfaction. We illustrate this through the use of FDR, a refinement checking tool. To achieve this, we provide an adequate translation from a subset of Adaptive CSP to the language of FDR. Our technique allows system designers to identify alternative adaptation procedures, potentially affecting different sets of CPS components, for each requirement, and compare them based on correctness and optimality. We demonstrate the feasibility of our approach using a substantive example of a smart art gallery. Our results show that our technique reduces the computational complexity of verifying self-adaptive CPSs and can support the design of adaptation procedures.

[1]  MengChu Zhou,et al.  Modeling Self-Adaptive Software Systems With Learning Petri Nets , 2014, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[2]  Moritz Kleine,et al.  A CSP-based framework for the specification, verification, and implementation of adaptive systems , 2011, SEAMS '11.

[3]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[4]  Martin Wirsing,et al.  A contract-based approach to adaptivity , 2011, J. Log. Algebraic Methods Program..

[5]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[6]  Mariangiola Dezani-Ciancaglini,et al.  Data-driven adaptation for smart sessions , 2017, J. Log. Algebraic Methods Program..

[7]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

[8]  Yongwang Zhao,et al.  Model Checking of Adaptive Programs with Mode-extended Linear Temporal Logic , 2011, 2011 Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems.

[9]  Kim G. Larsen,et al.  Compositional verification of real-time systems using Ecdar , 2012, International Journal on Software Tools for Technology Transfer.

[10]  Annabelle Klarl,et al.  Engineering Self-Adaptive Systems with the Role-Based Architecture of Helena , 2015, 2015 IEEE 24th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[11]  Roberto Bruni,et al.  Modelling and analyzing adaptive self-assembly strategies with Maude , 2012, Sci. Comput. Program..

[12]  Kim Mens,et al.  Modeling and Analyzing Self-Adaptive Systems with Context Petri Nets , 2013, 2013 International Symposium on Theoretical Aspects of Software Engineering.

[13]  A. W. Roscoe,et al.  FDR3 - A Modern Refinement Checker for CSP , 2014, TACAS.

[14]  Björn Bartels,et al.  Modular Design and Verification of Distributed Adaptive Real-Time Systems , 2014, ICTCC.

[15]  Giordano Tamburrelli,et al.  Probabilistic Verification at Runtime for Self-Adaptive Systems , 2013, Assurances for Self-Adaptive Systems.

[16]  Ahmed Hadj Kacem,et al.  Modeling and verifying self-adaptive systems: A refinement approach , 2016, 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC).

[17]  Wang Yi,et al.  UPPAAL - a Tool Suite for Automatic Verification of Real-Time Systems , 1996, Hybrid Systems.

[18]  Conrado Daws Symbolic and Parametric Model Checking of Discrete-Time Markov Chains , 2004, ICTAC.

[19]  Paola Inverardi,et al.  Towards an assume-guarantee theory for adaptable systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[20]  Søren Debois,et al.  Safety, Liveness and Run-Time Refinement for Modular Process-Aware Information Systems with Dynamic Sub Processes , 2015, FM.

[21]  J. Bryan Scattergood The semantics and implementation of machine-readable CSP , 1998 .

[22]  Carlo Ghezzi,et al.  On the Interplay Between Cyber and Physical Spaces for Adaptive Security , 2018, IEEE Transactions on Dependable and Secure Computing.

[23]  Carlo Ghezzi,et al.  Topology aware adaptive security , 2014, SEAMS 2014.

[24]  Saeed Jalili,et al.  Towards modeling and runtime verification of self-organizing systems , 2016, Expert Syst. Appl..

[25]  Alan Schmitt,et al.  The Kell Calculus: A Family of Higher-Order Distributed Process Calculi , 2004, Global Computing.

[26]  M. Diaz,et al.  Modeling and Verification of Time Dependent Systems Using Time Petri Nets , 1991, IEEE Trans. Software Eng..

[27]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[28]  Carlo Ghezzi,et al.  Run-time efficient probabilistic model checking , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[29]  Srini Ramaswamy,et al.  Design and verification of Cyber-Physical Systems using TrueTime, evolutionary optimization and UPPAAL , 2016, Microprocess. Microsystems.

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

[31]  Sebastián Uchitel,et al.  MORPH: a reference architecture for configuration and behaviour self-adaptation , 2015, CTSE@SIGSOFT FSE.

[32]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[33]  Danny Weyns,et al.  A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System , 2012, FOCLASA.

[34]  Angelo Gargantini,et al.  Specifying and verifying real-time self-adaptive systems , 2015, 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE).

[35]  Thomas Göthel,et al.  Refinement-Based Modelling and Verification of Design Patterns for Self-adaptive Systems , 2017, ICFEM.

[36]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[37]  Malte Lochau,et al.  DeltaCCS: A Core Calculus for Behavioral Change , 2014, ISoLA.

[38]  Mario Bravetti,et al.  Adaptable processes , 2011, Log. Methods Comput. Sci..