A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System

Self-adaptation is a promising approach to manage the complexity of modern software systems. A self-adaptive system is able to adapt autonomously to internal dynamics and changing conditions in the environment to achieve particular quality goals. Our particular interest is in decentralized selfadaptive systems, in which central control of adaptation is not an option. One important challenge in self-adaptive systems, in particular those with decentralized control of adaptation, is to provide guarantees about the intended runtime qualities. In this paper, we present a case study in which we use model checking to verify behavioral properties of a decentralized self-adaptive system. Concretely, we contribute with a formalized architecture model of a decentralized traffic monitoring system and prove a number of self-adaptation properties for flexibility and robustness. To model the main processes in the system we use timed automata, and for the specification of the required properties we use timed computation tree logic. We use the Uppaal tool to specify the system and verify the flexibility and robustness properties.

[1]  Stefan Henkler,et al.  Reusing dynamic communication protocols in self-adaptive embedded component architectures , 2011, CBSE '11.

[2]  Rogério de Lemos,et al.  Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems , 2012, ICSE 2012.

[3]  Jesper Andersson,et al.  FORMS: Unifying reference model for formal specification of distributed self-adaptive systems , 2012, TAAS.

[4]  Danny Weyns,et al.  Towards an integrated approach for validating qualities of self-adaptive systems , 2012, WODA 2012.

[5]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[6]  Bruno Legeard,et al.  A taxonomy of model‐based testing approaches , 2012, Softw. Test. Verification Reliab..

[7]  Jim Dowling,et al.  The Decentralised Coordination of Self-Adaptive Components for Autonomic Distributed Systems , 2005 .

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

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

[10]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[12]  Michael G. Hinchey,et al.  ASSL: A Software Engineering Approach to Autonomic Computing , 2009, Computer.

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

[14]  Ali Ebnenasir Designing Run-Time Fault-Tolerance Using Dynamic Updates , 2007, International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS '07).

[15]  Wang Yi,et al.  UPPAAL 4.0 , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[16]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[17]  Frank Ortmeier,et al.  Formal Modeling and Verification of Systems with Self-x Properties , 2006, ATC.

[18]  Saeed Jalili,et al.  Formal analysis of policy-based self-adaptive systems , 2010, SAC '10.

[19]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[20]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[21]  Holger Giese,et al.  Symbolic invariant verification for systems with dynamic structural adaptation , 2006, ICSE.

[22]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[23]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

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

[25]  Paola Inverardi,et al.  Context-Aware Adaptive Services: The PLASTIC Approach , 2009, FASE.

[26]  Wouter Joosen,et al.  The MACODO middleware for context-driven dynamic agent organizations , 2010, TAAS.

[27]  Li Tan,et al.  Model-Based Self-Adaptive Embedded Programs with Temporal Logic Specifications , 2006, 2006 Sixth International Conference on Quality Software (QSIC'06).

[28]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[29]  T. S. E. Maibaum,et al.  Towards specification, modelling and analysis of fault tolerance in self managed systems , 2006, SEAMS '06.