Modeling and verifying self-adaptive systems: A refinement approach

Self-adaptive systems are able to modify their behavior and/or structure to deal with their continuously changing environment and internal dynamics. MAPE control loops, based on these four steps: Monitoring, Analysis, Planning, and Execution, have been identified as crucial elements in realizing self-adaptation of software systems. Adaptive systems are generally more difficult to design, specify and verify due to their high complexity. Ensuring the correctness of the system's adaptation logic is very crucial. In this paper, we propose a refinement approach that aims first to model step-by-step self-adaptive systems based on MAPE control loop. Second, our approach aims to formally specify self-adaptive systems at a high level of abstraction using the Event-B method. This formal specification provides a way to verify several properties for self-adaptive systems such as safety, reachability and temporal constraints. We illustrate our approach by verifying the fire detection system that exhibits a self-adaptive behavior.

[1]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[2]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[3]  Jesper Andersson,et al.  FORMS: a formal reference model for self-adaptation , 2010, ICAC '10.

[4]  Danny Weyns,et al.  A survey of formal methods in self-adaptive systems , 2012, C3S2E '12.

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

[6]  Ahmed Hadj Kacem,et al.  A correct by construction approach for modeling and formalizing self-adaptive systems , 2016, 2016 17th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD).

[7]  Paolo Arcaini,et al.  Modeling and Analyzing MAPE-K Feedback Loops for Self-Adaptation , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[8]  Franco Zambonelli,et al.  SimSOTA: engineering and simulating feedback loops for self-adaptive systems , 2013, C3S2E '13.