ABSTRACT
Engineering 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 analyze the behavior of decentralized adaptation control by multiple interacting MAPE-K (Monitor, Analyze, Plan, and Execute over a shared Knowledge) components are highly demanded.
In this paper we introduce a formal framework for modeling and analyzing self-adaptive systems with decentralized adaptation control. The framework makes use of High-Level Petri nets which represents a sound and expressive formal model for distributed discrete-event systems. We show how to specify in a natural way structural changes that are likely to occur in adaptable and evolvable distributed applications. Our approach supports validation and verification activities to check correctness of the MAPE components. As a proof-of-concepts, we show how to use our framework to model and analyze a self-optimizing cluster management system.
- Paolo Arcaini, Elvinia Riccobene, and Patrizia Scandurra. 2017. Formal Design and Verification of Self-Adaptive Systems with Decentralized Control. ACM Trans. Auton. Adapt. Syst. 11, 4, Article 25 (Jan. 2017), 35 pages. Google ScholarDigital Library
- Björn Bartels and Moritz Kleine. 2011. A CSP-based framework for the specification, verification, and implementation of adaptive systems. In 2011 ICSE Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, Waikiki, Honolulu, HI, USA, May 23-24, 2011, Holger Giese and Betty H. C. Cheng (Eds.). ACM, 158--167. Google ScholarDigital 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, Heidelberg, Chapter Engineering Self-Adaptive Systems Through Feedback Loops, 48--70. Google ScholarDigital Library
- Lawrence Cabac, Michael Duvigneau, Daniel Moldt, and Heiko Rölke. 2005. Modeling dynamic architectures using nets-within-nets. In Proceedings of the 26th International Conference on Applications and Theory of Petri Nets. Springer-Verlag, Berlin, Heidelberg, 148--167. Google ScholarDigital Library
- Matteo Camilli. 2014. Formal Verification Problems in a Big Data World: Towards a Mighty Synergy. In Companion Proceedings of the 36th International Conference on Software Engineering (ICSE Companion 2014). ACM, New York, NY, USA, 638--641. Google ScholarDigital Library
- Matteo Camilli, Carlo Bellettini, Lorenzo Capra, and Mattia Monga. 2018. A Formal Framework for Specifying and Verifying Microservices Based Process Flows. In Software Engineering and Formal Methods, Antonio Cerone and Marco Roveri (Eds.). Springer International Publishing, Cham, 187--202.Google Scholar
- Matteo Camilli, Angelo Gargantini, and Patrizia Scandurra. 2015. Specifying and verifying real-time self-adaptive systems. In 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE). 303--313. Google ScholarDigital Library
- Matteo Camilli, Angelo Gargantini, and Patrizia Scandurra. 2018. Zone-based formal specification and timing analysis of real-time self-adaptive systems. Science of Computer Programming 159 (2018), 28 -- 57.Google ScholarCross Ref
- Lorenzo Capra and Matteo Camilli. 2018. Towards Evolving Petri Nets: a Symmetric Nets-based Framework. IFAC-PapersOnLine 51, 7 (2018), 480 -- 485. 14th IFAC Workshop on Discrete Event Systems WODES 2018.Google ScholarCross Ref
- Lorenzo Capra and Walter Cazzola. 2006. A Petri-Net Based Reflective Framework for the Evolution of Dynamic Systems. Electron. Notes Theor. Comput. Sci. 159 (May 2006), 41--59. Google ScholarDigital Library
- Rogério de Lemos, David Garlan, Carlo Ghezzi, and Holger Giese (Eds.). 2017. Software Engineering for Self-Adaptive Systems III. Assurances - International Seminar, Dagstuhl Castle, Germany, December 15-19, 2013, Revised Selected and Invited Papers. Lecture Notes in Computer Science, Vol. 9640. Springer.Google Scholar
- Rogério de Lemos, Holger Giese, Hausi A. Müller, and Mary Shaw (Eds.). 2013. Software Engineering for Self-Adaptive Systems II - International Seminar, Dagstuhl Castle, Germany, October 24-29, 2010 Revised Selected and Invited Papers. Lecture Notes in Computer Science, Vol. 7475. Springer.Google Scholar
- Łukasz Fronc and Alexandre Duret-Lutz. 2013. LTL Model Checking with Neco. In Automated Technology for Verification and Analysis, Dang Van Hung and Mizuhito Ogawa (Eds.). Springer International Publishing, Cham, 451--454.Google Scholar
- Kurt Jensen and Grzegorz Rozenberg (Eds.). 1991. High-level Petri Nets: Theory and Application. Springer-Verlag, London, UK. Google ScholarDigital Library
- Emanuela Merelli, Nicola Paoletti, and Luca Tesei. 2012. A multi-level model for self-adaptive systems. In Proceedings 11th International Workshop on Foundations of Coordination Languages and Self Adaptation, FOCLASA 2012, Newcastle, U.K., September 8, 2012. (EPTCS), Natallia Kokash and António Ravara (Eds.), Vol. 91. 112--126.Google ScholarCross Ref
- Franck Pommereau. 2015. SNAKES: a Flexible High-Level Petri Nets Library. In Proceedings of PETRI NETS'15 (LNCS), Vol. 9115. Springer, 254--265.Google Scholar
- Mazeiar Salehie and Ladan Tahvildari. 2009. Self-adaptive Software: Landscape and Research Challenges. ACM Trans. Auton. Adapt. Syst. 4, 2, Article 14 (May 2009), 42 pages. Google ScholarDigital Library
- Rüdiger Valk. 2003. Object Petri Nets: Using the Nets-within-Nets Paradigm. In Lectures on Concurrency and Petri Nets, Advances in Petri Nets (Lecture Notes in Computer Science), Jörg Desel, Wolfgang Reisig, and Grzegorz Rozenberg (Eds.), Vol. 3098. Springer, 819--848.Google Scholar
- 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 Fifth International C* Conference on Computer Science and Software Engineering (C3S2E '12). ACM, New York, NY, USA, 67--79. Google ScholarDigital Library
- R. Wolfgang. 1985. Petri Nets: An Introduction. Springer-Verlag New York, Inc., New York, NY, USA. Google ScholarDigital Library
Index Terms
- A high-level petri net-based formal model of distributed self-adaptive systems
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 ...
Formal Design and Verification of Self-Adaptive Systems with Decentralized Control
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 ...
Modeling and validating self-adaptive service-oriented applications
Self-adaptive and autonomous behaviors are becoming more and more important in the context of service-oriented applications, and formal modeling self-adaptive service-oriented components is highly required to assure quality properties.
This paper ...
Comments