Abstract
Feedback control loops that monitor and adapt managed parts of a software system are considered crucial for realizing self-adaptation in software systems. The MAPE-K (Monitor-Analyze-Plan-Execute over a shared Knowledge) autonomic control loop is the most influential reference control model for self-adaptive systems. The design of complex distributed self-adaptive systems having decentralized adaptation control by multiple interacting MAPE components is among the major challenges. In particular, formal methods for designing and assuring the functional correctness of the decentralized adaptation logic are highly demanded.
This article presents a framework for formal modeling and analyzing self-adaptive systems. We contribute with a formalism, called self-adaptive Abstract State Machines, that exploits the concept of multiagent Abstract State Machines to specify distributed and decentralized adaptation control in terms of MAPE-K control loops, also possible instances of MAPE patterns. We support validation and verification techniques for discovering unexpected interfering MAPE-K loops, and for assuring correctness of MAPE components interaction when performing adaptation.
- Dhaminda B. Abeywickrama, Nicklas Hoch, and Franco Zambonelli. 2013. SimSOTA: Engineering and simulating feedback loops for self-adaptive systems. In Proceedings of the International C<sup>*</sup> Conference on Computer Science and Software Engineering (C3S2E’13). ACM, New York, NY, 67--76. Google Scholar
Digital Library
- Dhaminda B. Abeywickrama and Franco Zambonelli. 2012. Model checking goal-oriented requirements for self-adaptive systems. In Proceedings of the IEEE 19th International Conference and Workshops on Engineering of Computer-Based Systems (ECBS’12). IEEE, 33--42. Google Scholar
Digital Library
- Rasmus Adler, Ina Schaefer, Tobias Schuele, and Eric Vecchié. 2007. From Model-Based Design to Formal Verification of Adaptive Embedded Systems. Springer, Berlin, 76--95. Google Scholar
Digital Library
- Robert Allen, Rémi Douence, and David Garlan. 1998. Specifying and analyzing dynamic software architectures. In Proceedings of the 1st International Conference on Fundamental Approaches to Software Engineering (FASE’98), held as part of the Joint European Conferences on Theory and Practice of Software (ETAPS’98), Egidio Astesiano (Ed.). Springer, Berlin, 21--37.Google Scholar
Cross Ref
- Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2010a. AsmetaSMV: A way to link high-level ASM models to low-level NuSMV specifications. In Abstract State Machines, Alloy, B and Z, Lecture Notes in Computer Science, Vol. 5977, Marc Frappier, Uwe Glässer, Sarfraz Khurshid, Régine Laleau, and Steve Reeves (Eds.). Springer, Berlin, 61--74. Google Scholar
Digital Library
- Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2010b. Automatic review of abstract state machines by meta property verification. In Proceedings of the 2nd NASA Formal Methods Symposium (NFM’10), NASA/CP-2010-216215, César Muñoz (Ed.). NASA, Langley Research Center, Hampton VA, 4--13.Google Scholar
- Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2012. CoMA: Conformance monitoring of java programs by abstract state machines. In Runtime Verification, Lecture Notes in Computer Science, Vol. 7186, Sarfraz Khurshid and Koushik Sen (Eds.). Springer, Berlin, 223--238. Google Scholar
Digital Library
- Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2014. Offline model-based testing and runtime monitoring of the sensor voting module. In ABZ 2014: The Landing Gear Case Study, Frédéric Boniol, Virginie Wiels, Yamine Ait Ameur, and Klaus-Dieter Schewe (Eds.). Communications in Computer and Information Science, Vol. 433. Springer International Publishing, 95--109.Google Scholar
- Paolo Arcaini, Angelo Gargantini, and Elvinia Riccobene. 2016a. SMT-based automatic proof of ASM model refinement. In Proceedings of the 14th International Conference on Software Engineering and Formal Methods, held as part of STAF 2016, Rocco De Nicola and Eva Kühn (Eds.). Springer International Publishing, Cham, 253--269.Google Scholar
- Paolo Arcaini, Angelo Gargantini, Elvinia Riccobene, and Patrizia Scandurra. 2011. A model-driven process for engineering a toolset for a formal method. Softw.: Pract. Exper. 41, 2 (2011), 155--166. Google Scholar
Digital Library
- Paolo Arcaini, Roxana-Maria Holom, and Elvinia Riccobene. 2016b. ASM-based formal design of an adaptivity component for a cloud system. Form. Aspect. Comput. 28, 4 (2016), 567--595. Google Scholar
Cross Ref
- Paolo Arcaini, Elvinia Riccobene, and Patrizia Scandurra. 2015. Modeling and analyzing MAPE-K feedback loops for self-adaptation. In Proceedings of the 10th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’15). IEEE, 13--23. Google Scholar
Digital Library
- Björn Bartels and Moritz Kleine. 2011. A CSP-based framework for the specification, verification, and implementation of adaptive systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’11). ACM, New York, NY, 158--167. Google Scholar
Digital Library
- Christoph Beierle and Gabriele Kern-Isberner. 2003. Modelling conditional knowledge discovery and belief revision by abstract state machines. In Abstract State Machines 2003: Proceedings of the 10th International Workshop on Advances in Theory and Practice (ASM’03), Egon Börger, Angelo Gargantini, and Elvinia Riccobene (Eds.). Springer, Berlin, 186--203. Google Scholar
Digital Library
- Egon Börger and Robert Stärk. 2003. Abstract State Machines: A Method for High-Level System Design and Analysis. Springer-Verlag. Google Scholar
Digital Library
- Yuriy Brun, Giovanna Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. 2009. Software engineering for self-adaptive systems. Springer-Verlag, Berlin, pp. 48--70. Google Scholar
Digital Library
- Roberto Bruni, Andrea Corradini, Fabio Gadducci, Alberto Lluch Lafuente, and Andrea Vandin. 2013. Adaptable Transition Systems. Springer, Berlin, 95--110.Google Scholar
- Roberto Bruni, Andrea Corradini, Fabio Gadducci, Alberto Lluch Lafuente, and Andrea Vandin. 2015. Modelling and analyzing adaptive self-assembly strategies with Maude. Sci. Comput. Program. 99, C (March 2015), 75--94. Google Scholar
Digital Library
- Radu Calinescu, Simos Gerasimou, and Alec Banks. 2015. Proceedings of the 18th International Conference on Fundamental Approaches to Software Engineering (FASE’15), held as part of the European Joint Conferences on Theory and Practice of Software (ETAPS’15). Springer, Berlin, pp. 235--251.Google Scholar
- Radu Calinescu and Shinji Kikuchi. 2011. Foundations of Computer Software. Modeling, Development, and Verification of Adaptive Systems: 16th Monterey Workshop 2010, Revised Selected Papers. Springer, Berlin, pp. 122--135.Google Scholar
- Matteo Camilli, Angelo Gargantini, and Patrizia Scandurra. 2015. Specifying and verifying real-time self-adaptive systems. In Proceedings of the 26th IEEE International Symposium on Software Reliability Engineering (ISSRE’15). IEEE, 303--313. Google Scholar
Digital Library
- Valeria Cardellini, Emiliano Casalicchio, Vincenzo Grassi, Stefano Iannucci, Francesco Lo Presti, and Raffaela Mirandola. 2012. MOSES: A framework for QoS driven runtime adaptation of service-oriented systems. IEEE Trans. Softw. Eng. 38, 5 (Sept. 2012), 1138--1159. Google Scholar
Digital Library
- Alessandro Carioni, Angelo Gargantini, Elvinia Riccobene, and Patrizia Scandurra. 2008. A scenario-based validation language for ASMs. In Abstract State Machines, B and Z, Lecture Notes in Computer Science, Vol. 5238, Egon Börger, Michael Butler, Jonathan P. Bowen, and Paul Boca (Eds.). Springer, Berlin, 71--84. Google Scholar
Digital Library
- Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Di Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger M. Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi A. Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. 2009. Software Engineering for Self-Adaptive Systems: A Research Roadmap. Lecture Notes in Computer Science, Vol. 5525. Springer, Berlin. pp. 1--26. Google Scholar
Digital Library
- Rogerio de Lemos, David Garlan, Carlo Ghezzi, and Holger Giese. 2014. Software engineering for self-adaptive systems: Assurances (Dagstuhl seminar 13511). Dagstuhl Rep. 3, 12 (2014), 67--96. http://drops.dagstuhl.de/opus/volltexte/2014/4508Google Scholar
- Rogério de Lemos, Holger Giese, Hausi A. Müller, Mary Shaw, Jesper Andersson, Marin Litoiu, Bradley Schmerl, Gabriel Tamura, Norha M. Villegas, Thomas Vogel, Danny Weyns, Luciano Baresi, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Ron Desmarais, Schahram Dustdar, Gregor Engels, Kurt Geihs, Karl M. Göschka, Alessandra Gorla, Vincenzo Grassi, Paola Inverardi, Gabor Karsai, Jeff Kramer, Antónia Lopes, Jeff Magee, Sam Malek, Serge Mankovskii, Raffaela Mirandola, John Mylopoulos, Oscar Nierstrasz, Mauro Pezzè, Christian Prehofer, Wilhelm Schäfer, Rick Schlichting, Dennis B. Smith, João Pedro Sousa, Ladan Tahvildari, Kenny Wong, and Jochen Wuttke. 2013. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II. Lecture Notes in Computer Science, Vol. 7475. Springer, Berlin, 1--32. Google Scholar
Digital Library
- Brahim Djoudi, Chafia Bouanaka, and Nadia Zeghib. 2014. Model checking pervasive context-aware systems. In Proceedings of the 2014 IEEE 23rd International WETICE Conference (WETICE’14). IEEE Computer Society, Washington, DC, 92--97. Google Scholar
Digital Library
- Naeem Esfahani, Ehsan Kouroshfar, and Sam Malek. 2011. Taming uncertainty in self-adaptive software. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (ESEC/FSE’11). ACM, New York, NY, 234--244. Google Scholar
Digital Library
- Naeem Esfahani and Sam Malek. 2013. Uncertainty in Self-Adaptive Software Systems. Springer, Berlin, 214--238.Google Scholar
- Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serugendo, Sara Montagna, Mirko Viroli, and Josep Lluis Arcos. 2013. Description and composition of bio-inspired design patterns: A complete overview. Nat. Comput. 12, 1 (2013), 43--67. Google Scholar
Digital Library
- Héctor Garcia-Molina. 1982. Elections in a distributed computing system. IEEE Trans. Comput. 31, 1 (Jan. 1982), 48--59. Google Scholar
Digital Library
- Angelo Gargantini, Elvinia Riccobene, and Patrizia Scandurra. 2008. A metamodel-based language and a simulation engine for abstract state machines. J. UCS 14, 12 (2008), 1949--1983.Google Scholar
- Ioannis Georgiadis, Jeff Magee, and Jeff Kramer. 2002. Self-organising software architectures for distributed systems. In Proceedings of the 1st Workshop on Self-Healing Systems (WOSS’02). ACM, New York, NY, 33--38. Google Scholar
Digital Library
- Didac Gil de la Iglesia and Danny Weyns. 2013. Guaranteeing robustness in a mobile learning application using formally verified MAPE loops. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). IEEE Press, 83--92. Google Scholar
Digital Library
- Didac Gil De La Iglesia and Danny Weyns. 2015. MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 10, 3, Article 15 (Sept. 2015), 31 pages. Google Scholar
Digital Library
- Susanne Graf and Andreas Prinz. 2007. Time in state machines. Fundam. Inf. 77, 1--2 (Jan. 2007), 143--174. Google Scholar
Digital Library
- Matthias Güdemann, Andreas Angerer, Frank Ortmeier, and Wolfgang Reif. 2007. Modeling of self-adaptive systems with SCADE. In International Symposium on Circuits and Systems (ISCAS’07). IEEE, 2922--2925.Google Scholar
Cross Ref
- Markus C. Huebscher and Julie A. McCann. 2008. A survey of autonomic computing—Degrees, models, and applications. ACM Comput. Surv. 40, 3, Article 7 (Aug. 2008), 28 pages. Google Scholar
Digital Library
- M. Usman Iftikhar and Danny Weyns. 2012. A case study on formal verification of self-adaptive behaviors in a decentralized system. In Proceedings of the 11th International Workshop on Foundations of Coordination Languages and Self Adaptation (FOCLASA’12), EPTCS, Vol. 91. 45--62.Google Scholar
Cross Ref
- M. Usman Iftikhar and Danny Weyns. 2014. ActivFORMS: Active formal models for self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM, New York, NY, 125--134. Google Scholar
Digital Library
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50. Google Scholar
Digital Library
- Jeffrey O. Kephart and William E. Walsh. 2004. An artificial intelligence perspective on autonomic computing policies. In Proceedings of the 5th IEEE International Workshop on Policies for Distributed Systems and Networks (POLICY’04). IEEE Computer Society, 3--12. Google Scholar
Digital Library
- Arnaud Lanoix, Julien Dormoy, and Olga Kouchnarenko. 2011. Combining proof and model-checking to validate reconfigurable architectures. Electron. Notes Theor. Comput. Sci. 279, 2 (Dec. 2011), 43--57. Google Scholar
Digital Library
- Jeff Magee and Tom Maibaum. 2006. Towards specification, modelling and analysis of fault tolerance in self managed systems. In Proceedings of the 2006 International Workshop on Self-Adaptation and Self-Managing Systems (SEAMS’06). ACM, New York, NY, 30--36. Google Scholar
Digital Library
- Emanuela Merelli, Nicola Paoletti, and Luca Tesei. 2012. A multi-level model for self-adaptive systems. In Proceedings of the 11th International Workshop on Foundations of Coordination Languages and Self Adaptation (FOCLASA’12), EPTCS, Vol. 91. 112--126.Google Scholar
Cross Ref
- Raffaela Mirandola, Pasqualina Potena, Elvinia Riccobene, and Patrizia Scandurra. 2014b. A reliability model for service component architectures. J. Syst. Softw. 89, C (March 2014), 109--127.Google Scholar
Cross Ref
- Raffaela Mirandola, Pasqualina Potena, and Patrizia Scandurra. 2014a. Adaptation space exploration for service-oriented applications. Sci. Comput Program. 80, Part B, 0 (2014), 356--384.Google Scholar
Cross Ref
- Brice Morin, Olivier Barais, Gregory Nain, and Jean-Marc Jezequel. 2009. Taming dynamically adaptive systems using models and aspects. In Proceedings of the 31st International Conference on Software Engineering (ICSE’09). IEEE Computer Society, Washington, DC, 122--132. Google Scholar
Digital Library
- David J. Musliner. 2000. Imposing real-time constraints on self-adaptive controller synthesis. In Proceedings of the 1st International Workshop on Self-Adaptive Software (IWSAS’00). Springer-Verlag, New York, 143--160. Google Scholar
Digital Library
- George A. Papadopoulos and Farhad Arbab. 1998. Coordination Models and Languages. Technical Report. Centre for Mathematics and Computer Science, Amsterdam, The Netherlands. Google Scholar
Digital Library
- Diego Perez-Palacin and Raffaela Mirandola. 2014. Uncertainties in the modeling of self-adaptive systems: A taxonomy and an example of availability evaluation. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE’14). ACM, New York, NY, 3--14. Google Scholar
Digital Library
- Christian Prehofer and Marc Zeller. 2012. Towards runtime adaptation in real-time, networked embedded systems. In Proceedings of the 7th IEEE International Symposium on Industrial Embedded Systems (SIES’12). IEEE, 271--274.Google Scholar
Cross Ref
- Ichiro Satoh. 2012. In Proceedings of the 9th International Conference on Distributed Computing and Artificial Intelligence. Springer, Berlin, pp. 221--228.Google Scholar
Cross Ref
- Hui Song, Stephen Barrett, Aidan Clarke, and Siobhán Clarke. 2013. In Proceedings of the 16th International Conference on Model-Driven Engineering Languages and Systems (MODELS’13). Springer, Berlin, pp. 555--571. Google Scholar
Digital Library
- Pieter Vromant, Danny Weyns, Sam Malek, and Jesper Andersson. 2011. On interacting control loops in self-adaptive systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’11). ACM, New York, NY, 202--207. Google Scholar
Digital Library
- Danny Weyns, M. Usman Iftikhar, Didac Gil de la Iglesia, and Tanvir Ahmad. 2012. A survey of formal methods in self-adaptive systems. In Proceedings of the 5th International C<sup>*</sup> Conference on Computer Science and Software Engineering (C3S2E’12). ACM, New York, NY, 67--79. Google Scholar
Digital Library
- Danny Weyns, Sam Malek, and Jesper Andersson. 2010a. FORMS: A formal reference model for self-adaptation. In Proceedings of the 7th International Conference on Autonomic Computing (ICAC’10). ACM, New York, NY, 205--214. Google Scholar
Digital Library
- Danny Weyns, Sam Malek, and Jesper Andersson. 2010b. On decentralized self-adaptation: Lessons from the trenches and challenges for the future. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’10). ACM, New York, NY, 84--93. Google Scholar
Digital Library
- Danny Weyns, Bradley R. Schmerl, Vincenzo Grassi, Sam Malek, Raffaela Mirandola, Christian Prehofer, Jochen Wuttke, Jesper Andersson, Holger Giese, and Karl M. Göschka. 2013. Software Engineering for Self-Adaptive Systems II: International Seminar, 2010 Revised Selected and Invited Papers. Springer, Berlin, pp. 76--107.Google Scholar
- Marc Zeller and Christian Prehofer. 2012. Timing constraints for runtime adaptation in real-time, networked embedded systems. In Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’12). IEEE Press, 73--82. Google Scholar
Digital Library
- Ji Zhang and Betty H. C. Cheng. 2006. Model-based development of dynamically adaptive software. In Proceedings of the 28th International Conference on Software Engineering (ICSE’06). ACM, New York, NY, 371--380. Google Scholar
Digital Library
Index Terms
Formal Design and Verification of Self-Adaptive Systems with Decentralized Control
Recommendations
MAPE-K Formal Templates to Rigorously Design Behaviors for Self-Adaptive Systems
Designing software systems that have to deal with dynamic operating conditions, such as changing availability of resources and faults that are difficult to predict, is complex. A promising approach to handle such dynamics is self-adaptation that can be ...
A high-level petri net-based formal model of distributed self-adaptive systems
ECSA '18: Proceedings of the 12th European Conference on Software Architecture: Companion ProceedingsEngineering complex distributed self-adaptive systems is a challenging task due to multiple interacting distributed components that monitor and adapt the managed parts operating in a dynamic environment. Therefore, formal methods able to specify and ...
Modeling and Analyzing MAPE-K Feedback Loops for Self-Adaptation
SEAMS '15: Proceedings of the 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsThe MAPE-K (Monitor-Analyze-Plan-Execute over a shared Knowledge) feedback loop is the most influential reference control model for autonomic and self-adaptive systems. This paper presents a conceptual and methodological framework for formal modeling, ...






Comments