Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3193992.3194001acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Self-adaptive automata

Published: 02 June 2018 Publication History

Abstract

Self-adaptive systems aim to efficiently respond to a wide range of changes in their operational environment by dynamically altering their behaviour. Such systems are typically comprised of a base system, implementing core functionality, and an adaptation decision process, which determines how the base system must change at different points in its execution. These two components coordinate through a set of adaptation events: a set of execution points of the former where the latter is invoked. The pattern of these events is crucial for the overall system to achieve (a) correctness against specific requirements, and (b) efficiency of system resources. Existing techniques for modelling self-adaptive systems usually hardcode adaptation events within the base system or the adaptation decision process. This limits system designers in discovering correct and optimal patterns of adaptation events, as changing those involves significant changes in the model. In this work we present Self-Adaptive Automata, an abstract modelling framework which decouples adaptation event patterns from the descriptions of base systems and adaptation decision processes. In our framework, base systems expose execution points where adaptation may happen---in the most general case this can include all system states---and adaptation decision processes are parametric to these points. A distinct automaton then pinpoints when in the system adaptation must happen. Using this framework system designers can experiment with different adaptation event patterns, without modifications to the base system or the adaptation decision process, and discover correct and efficient patterns. We show that our framework is compatible with traditional verification tools by providing an adequate translation from Self-Adaptive Automata into FDR, in which correctness against requirements can be verified. We also prove that, although our automata framework includes dynamic self-modifying features, it corresponds to standard models of computation. We illustrate the use of our framework through a use case of a self-adaptive system of autonomous search-and-rescue rovers.

References

[1]
Bahareh Abolhasanzadeh and Saeed Jalili. Towards modeling and runtime verification of self-organizing systems. Expert Systems with Applications, 44(C):230--244, feb 2016.
[2]
Bahareh Abolhasanzadeh and Saeed Jalili. Towards modeling and runtime verification of self-organizing systems. Expert Systems with Applications, 44(Supplement C):230--244, 2016.
[3]
Mohamed Almorsy, John Grundy, and Amani S. Ibrahim. MDSE@R: Model-Driven Security Engineering at Runtime. pages 279--295. Springer, Berlin, Heidelberg, 2012.
[4]
Björn Bartels and Moritz Kleine. 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, pages 158--167. ACM, 2011.
[5]
Viviana Bono, Mario Coppo, Mariangiola Dezani-Ciancaglini, and Betti Venneri. Data-driven adaptation for smart sessions. Journal of Logical and Algebraic Methods in Programming, 90(Supplement C):31--49, 2017.
[6]
Mario Bravetti, Cinzia Di Giusto, Jorge A. Pérez, and Gianluigi Zavattaro. Adaptable processes. In Proceedings of the Joint 13th IFIP WG 6.1 and 30th IFIP WG 6.1 International Conference on Formal Techniques for Distributed Systems, FMOODS'11/FORTE'11, pages 90--105, Berlin, Heidelberg, 2011. Springer-Verlag.
[7]
Roberto Bruni, Andrea Corradini, Fabio Gadducci, Alberto Lluch Lafuente, and Andrea Vandin. Modelling and analyzing adaptive self-assembly strategies with Maude. Science of Computer Programming, 99:75--94, 2015.
[8]
Matteo Camilli, Angelo Gargantini, and Patrizia Scandurra. Specifying and verifying real-time self-adaptive systems. In 2015 IEEE 26th International Symposium on Software Reliability Engineering (ISSRE), pages 303--313. IEEE, nov 2015.
[9]
Nicolas Cardozo, Sebastian Gonzalez, Kim Mens, Ragnhild Van Der Straeten, and Theo DHondt. Modeling and Analyzing Self-Adaptive Systems with Context Petri Nets. In 2013 International Symposium on Theoretical Aspects of Software Engineering, pages 191--198. IEEE, jul 2013.
[10]
S. W. Cheng, D. Garlan, and B. Schmerl. Evaluating the effectiveness of the rainbow self-adaptive system. In 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, pages 132--141, May 2009.
[11]
Maxime Cordy, Andreas Classen, Patrick Heymans, Axel Legay, and Pierre-Yves Schobbens. Model Checking Adaptive Software with Featured Transition Systems. pages 1--29. Springer Berlin Heidelberg, 2013.
[12]
Søren Debois, Thomas Hildebrandt, and Tijs Slaats. Safety, Liveness and Run-Time Refinement for Modular Process-Aware Information Systems with Dynamic Sub Processes, pages 143--160. Springer International Publishing, Cham, 2015.
[13]
Zuohua Ding, Yuan Zhou, and Mengchu Zhou. Modeling Self-Adaptive Software Systems With Learning Petri Nets. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 46(4):483--498, apr 2016.
[14]
David Garlan, Shang-Wen Cheng, An-Cheng Huang, Bradley Schmerl, and Peter Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer, 37(10):46--54, October 2004.
[15]
Ilias Gerostathopoulos, Tomas Bures, Petr Hnetynka, Adam Hujecek, Frantisek Plasil, and Dominik Skoda. Strengthening adaptation in cyber-physical systems via meta-adaptation strategies. ACM Trans. Cyber-Phys. Syst., 1(3):13:1--13:25, April 2017.
[16]
Thomas Gibson-Robinson, Philip Armstrong, Alexandre Boulgakov, and A.W. Roscoe. FDR3 --- A Modern Refinement Checker for CSP. In Erika Abraham and Klaus Havelund, editors, Tools and Algorithms for the Construction and Analysis of Systems, volume 8413 of Lecture Notes in Computer Science, pages 187--201, 2014.
[17]
Heather J. Goldsby and Betty H. C. Cheng. Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty. In Model Driven Engineering Languages and Systems, pages 568--583. Springer Berlin Heidelberg, Berlin, Heidelberg, 2008.
[18]
Thomas Göthel, Nils Jähnig, and Simon Seif. Refinement-Based Modelling and Verification of Design Patterns for Self-adaptive Systems, pages 157--173. Springer International Publishing, Cham, 2017.
[19]
M. Hachicha, R. B. Halima, and A. H. Kacem. Modeling and verifying self-adaptive systems: A refinement approach. In 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pages 003967--003972, Oct 2016.
[20]
Regina Hebig, Holger Giese, and Basil Becker. Making control loops explicit when architecting self-adaptive systems. Proceedings of the second international workshop on Self-organizing architectures, pages 21--28, 2010.
[21]
C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21(8):666--677, August 1978.
[22]
Gerard J. Holzmann. The model checker spin. IEEE Trans. Softw. Eng., 23(5):279--295, May 1997.
[23]
M Usman Iftikhar and Danny Weyns. A case study on formal verification of self-adaptive behaviors in a decentralized system. arXiv preprint arXiv:1208.4635, 2012.
[24]
M. Usman Iftikhar and Danny Weyns. ActivFORMS: active formal models for self-adaptation. In Proc. of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems - SEAMS 2014, pages 125--134. ACM Press, 2014.
[25]
Narges Khakpour, Saeed Jalili, Carolyn Talcott, Marjan Sirjani, and MohammadReza Mousavi. Formal modeling of evolving self-adaptive systems. Science of Computer Programming, 78(1):3--26, nov 2012.
[26]
Annabelle Klarl. Engineering Self-Adaptive Systems with the Role-Based Architecture of Helena. In 2015 IEEE 24th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises, pages 3--8. IEEE, jun 2015.
[27]
Malte Lochau, Stephan Mennicke, Hauke Baller, and Lars Ribbeck. DeltaCCS: A Core Calculus for Behavioral Change, pages 320--335. Springer Berlin Heidelberg, Berlin, Heidelberg, 2014.
[28]
Frank D Macías-Escrivá, Rodolfo Haber, Raul del Toro, and Vicente Hernandez. Self-adaptive systems: A survey of current approaches, research challenges and applications. Expert Systems with Applications, 40(18):7267--7279, December 2013.
[29]
P. K. McKinley, S. M. Sadjadi, E. P. Kasten, and B. H. C. Cheng. Composing adaptive software. Computer, 37(7):56--64, July 2004.
[30]
Emanuela Merelli, Nicola Paoletti, and Luca Tesei. Adaptability checking in complex systems. Science of Computer Programming, 115:23--46, 2016.
[31]
Robin Milner. The Space and Motion of Communicating Agents. Cambridge University Press, 2009.
[32]
Liliana Pasquale, Claudio Menghi, Mazeiar Salehie, Luca Cavallaro, Inah Omoronyia, and Bashar Nuseibeh. SecuriTAS: A Tool for Engineering Adaptive Security. In Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering - FSE '12, page 1, New York, New York, USA, nov 2012. ACM Press.
[33]
Roy S. Rubinstein and John N. Shutt. Self-modifying finite automata: An introduction. Information Processing Letters, 56(4):185--190, nov 1995.
[34]
Bryan Scattergood. The semantics and implementation of machine-readable CSP. PhD thesis, Citeseer, 1998.
[35]
Fred B. Schneider. Enforceable security policies. ACM Trans. Inf. Syst. Secur., 3(1):30--50, February 2000.
[36]
Andreas Schroeder, Sebastian S. Bauer, and Martin Wirsing. A contract-based approach to adaptivity. Journal of Logic and Algebraic Programming, 80(3-5):180--193, apr 2011.
[37]
Christos Tsigkanos, Liliana Pasquale, Carlo Ghezzi, and Bashar Nuseibeh. On the Interplay Between Cyber and Physical Spaces for Adaptive Security. IEEE Transactions on Dependable and Secure Computing, PP(99), 2017.
[38]
Ji Zhang and Betty H. C. Cheng. Model-based development of dynamically adaptive software. In Proceeding of the 28th international conference on Software engineering - ICSE '06, page 371. ACM Press, 2006.
[39]
Y. Zhao, S. Oberthür, M. Kardos, and F.J. Rammig. Model-based Runtime Verification Framework for Self-optimizing Systems. Electronic Notes in Theoretical Computer Science, 144(4):125--145, may 2006.
[40]
Yongwang Zhao, Dianfu Ma, Jing Li, and Zhuqing Li. Model Checking of Adaptive Programs with Mode-extended Linear Temporal Logic. In 2011 Eighth IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems, pages 40--48. IEEE, apr 2011.

Cited By

View all
  • (2022)A Formal Model of Metacontrol in MaudeLeveraging Applications of Formal Methods, Verification and Validation. Verification Principles10.1007/978-3-031-19849-6_32(575-596)Online publication date: 17-Oct-2022

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FormaliSE '18: Proceedings of the 6th Conference on Formal Methods in Software Engineering
June 2018
101 pages
ISBN:9781450357180
DOI:10.1145/3193992
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2018

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Funding Sources

  • Science Foundation Ireland

Conference

ICSE '18
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 24 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)A Formal Model of Metacontrol in MaudeLeveraging Applications of Formal Methods, Verification and Validation. Verification Principles10.1007/978-3-031-19849-6_32(575-596)Online publication date: 17-Oct-2022

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media