Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

MAPE-K Formal Templates to Rigorously Design Behaviors for Self-Adaptive Systems

Published: 01 September 2015 Publication History

Abstract

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 realized by a MAPE-K feedback loop (Monitor-Analyze-Plan-Execute plus Knowledge). To provide evidence that the system goals are satisfied, given the changing conditions, the state of the art advocates the use of formal methods. However, little research has been done on consolidating design knowledge of self-adaptive systems. To support designers, this paper contributes with a set of formally specified MAPE-K templates that encode design expertise for a family of self-adaptive systems. The templates comprise: (1) behavior specification templates for modeling the different components of a MAPE-K feedback loop (based on networks of timed automata), and (2) property specification templates that support verification of the correctness of the adaptation behaviors (based on timed computation tree logic). To demonstrate the reusability of the formal templates, we performed four case studies in which final-year Masters students used the templates to design different self-adaptive systems.

Supplementary Material

a15-iglesia-apndx.pdf (iglesia.zip)
Supplemental movie, appendix, image and software files for, MAPE-K Formal Templates to Rigorously Design Behaviors for Self-Adaptive Systems

References

[1]
L. Adelman. 1991. Experiments, quasi-experiments, and case studies: A review of empirical methods for evaluating decision support systems. IEEE Transactions on Systems, Man and Cybernetics 21, 2, 293--301.
[2]
G. Behrmann, A. David, P. Pettersson, W. Yi, and M. Hendriks. 2006. UPPAAL 4.0. In Quantitative Evaluation of Systems (QEST’06).
[3]
J. Bengtsson and W. Yi. 2004. Timed automata: Semantics, algorithms and tools. In Lecture Notes on Concurrency and Petri Nets, Lecture Notes in Computer Science, Vol. 3098. W. Reisig and G. Rozenberg (Eds.). Springer-Verlag, Berlin.
[4]
D. Bianculli, C. Ghezzi, C. Pautasso, and P. Senti. 2012. Specification patterns from research to industry: A case study in service-based applications. In International Conference on Software Engineering. IEEE, 968--976.
[5]
B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, and others. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 5525. Springer, Berlin, 1--26.
[6]
R. de Lemos, D. Garlan, C. Ghezzi, and H. Giese. 2014. Software engineering for self-adaptive systems: Assurances (Dagstuhl Seminar 13511). Dagstuhl Reports 3, 12.
[7]
R. de Lemos, H. Giese, H. Müller, M. Shaw, J. Andersson, M. Litoiu, and others. 2013. Software engineering for self-adaptive systems: A second research roadmap. In Lecture Notes in Computer Science, Vol. 7475. Springer, Berlin.
[8]
S. Dobson and others. 2006. A survey of autonomic communications. ACM Transactions on Autonomous and Adaptive Systems 1, 2, 223--259. http://doi.acm.org/10.1145/1186778.1186782.
[9]
M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. 1998. Property specification patterns for finite-state verification. In Workshop on Formal Methods in Software Practice. ACM, 9.
[10]
G. Edwards, J. Garcia, H. Tajalli, D. Popescu, N. Medvidovic, G. Sukhatme, and B. Petrus. 2009. Architecture-driven self-adaptation and self-management in robotics systems. In Proceedings of SEAMS.
[11]
N. Esfahani, E. Kouroshfar, and S. Malek. 2011. Taming uncertainty in self-adaptive software. In 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering. ACM, 234--244. http://doi.acm.org/10.1145/2025113.2025147
[12]
N. Esfahani and S. Malek. 2010. On the role of architectural styles in improving the adaptation support of middleware platforms. In 4th European Conference on Software Architecture. Springer, 8.
[13]
A. Filieri, C. Ghezzi, and G. Tamburrelli. 2012. A formal approach to adaptive software: Continuous assurance of non-functional requirements. Formal Aspects of Computing 24, 2, 163--186.
[14]
D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: Architecture-based self adaptation with reusable infrastructure. IEEE Computer 37, 10, 46--54.
[15]
H. Giese and W. Schäfer. 2013. Model-driven development of safe self-optimizing mechatronic systems with MechatronicUML. In Assurances for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 7740. Springer, Berlin.
[16]
D. Gil de la Iglesia. 2014. A Formal Approach for Designing Distributed Self-Adaptive Systems. Linnaeus University Dissertations.
[17]
D. Gil de la Iglesia, M. U. Iftikhar, and D. Weyns. 2014. Reusable templates to support the design of MAPE-K loops for self-adaptive systems. Retrieved July 27, 2015 from http://homepage.lnu.se/staff/daweaa/MAPE-K-Templates.htm.
[18]
D. Gil de la Iglesia and D. Weyns. 2013a. Guaranteeing robustness in a mobile learning application using formally verified MAPE loops. In International Symposium on Software Engineering for Adaptive and Self-Managing Systems. 83--92.
[19]
D. Gil de la Iglesia and Danny Weyns. 2013b. SA-MAS: Self-adaptation to enhance software qualities in multi-agent systems. In International Conference on Autonomous Agents and Multi-agent Systems (AAMAS’13). Saint Paul, MN.
[20]
H. Gomaa, K. Hashimoto, M. Kim, S. Malek, and D. A. Menascé. 2010. Software adaptation patterns for service-oriented architectures. In ACM Symposium on Applied Computing (SAC’10). ACM, 8.
[21]
H. Gomaa and M. Hussein. 2004. Software reconfiguration patterns for dynamic evolution of software architectures. In 4th Working IEEE/IFIP Conference on Software Architecture (WICSA’04).
[22]
L. Grunske. 2008. Specification patterns for probabilistic quality properties. In International Conference on Software Engineering (ICSE’08). ACM, 10.
[23]
T. A. Henzinger, X. Nicollin, J. Sifakis, and S. Yovine. 1994. Symbolic model checking for real-time systems. Information and Computation 111, 2, 193--244.
[24]
M. U. Iftikhar and D. Weyns. 2012. A case study on formal verification of self-adaptive behaviors in a decentralized system. In Foundations of Coordination Languages and Self Adaptation (FOCLASA’12).
[25]
M. U. Iftikhar and D. Weyns. 2014a. ActivFORMS: Active formal models for self-adaptation. In Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). ACM.
[26]
M. U. Iftikhar and D. Weyns. 2014b. Assuring system goals under uncertainty with active formal models of self-adaptation. In Companion International Conference on Software Engineering. (ICSE’14).
[27]
J. O. Kephart and D. M. Chess. 2003. The vision of autonomic computing. Computer 36, 1, 41--50.
[28]
R. Koymans. 1990. Specifying real-time properties with metric temporal logic. Real-Time Systems 2, 4, 255--299.
[29]
J. Kramer and J. Magee. 2007. Self-managed systems: An architectural challenge. In Future of Software Engineering (FOSE’07). IEEE Computer Society, Washington, DC, 259--268.
[30]
J. Magee and T. Maibaum. 2006. Towards specification, modelling and analysis of fault tolerance in self managed systems. In International Workshop on Adaptive and Self-Managing Systems. ACM, 30--36.
[31]
M. B. Miles and A. M. Huberman. 1994. Qualitative data analysis: An expanded sourcebook. SAGE, Thousand Oaks, CA.
[32]
P. Oreizy, N. Medvidovic, and R. Taylor. 1998. Architecture-based runtime software evolution. In 20th International Conference on Software Engineering (ICSE’98). IEEE.
[33]
A. J. Ramirez and B. H. C. Cheng. 2010. Design patterns for developing dynamically adaptive systems. In Workshop on Software Engineering for Adaptive and Self-Managing Systems. ACM, 49--58.
[34]
M. Shaw and P. Clements. 2006. The golden age of software architecture. IEEE Software 23, 2, 31--39.
[35]
G. Tamura, N. M. Villegas, H. Muller, J. P. Sousa, B. Becker, G. Karsai, S. Mankovskii, M. Pezze, W. Schafer, L. Tahvildari, and K. Wong. 2012. Towards practical runtime verification and validation of self-adaptive software systems. Software Engineering for Self-Adaptive Systems II, Springer.
[36]
E. Vassev and M. Hinchey. 2009. ASSL: A software engineering approach to autonomic computing. Computer 42, 6 (2009), 90--93.
[37]
D. Weyns, M. U. Iftikhar, D. Gil de la Iglesia, and T. Ahmad. 2012a. A survey of formal methods in self-adaptive systems. In 5th International Conference on Computer Science and Software Engineering (C3S2E’12). ACM, 13. http://doi.acm.org/10.1145/2347583.2347592
[38]
D. Weyns, S. Malek, and J. Andersson. 2012b. FORMS: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 7, 1, 8.
[39]
D. Weyns, M. U. Iftikhar, and Joakim Söderlund. 2013a. Do external feedback loops improve the design of self-adaptive systems? A controlled experiment. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). IEEE Press, Piscataway, NJ, 3--12. http://dl.acm.org/citation.cfm?id=2487336.2487341.
[40]
D. Weyns, B. Schmerl, V. Grassi, S. Malek, R. Mirandola, C. Prehofer, J. Wuttke, J. Andersson, H. Giese, and K. Goeschka. 2013b. On patterns for decentralized control in self-adaptive systems. In Software Engineering for Self-Adaptive Systems II. Springer, 76--107.
[41]
D. Weyns, S. Shevtsov, and S. Pllana. 2014. Providing assurances for self-adaptation in a mobile digital storytelling application using ActivFORMS. In International Conference on Self-Adaptive and Self-Organizing Systems (SASO’14).
[42]
Robert K. Yin. 2009. Case study research: Design and methods. Vol. 5. SAGE, Thousand Oaks, CA.
[43]
J. Zhang and B. Cheng. 2006. Model-based development of dynamically adaptive software. In 28th International Conference on Software Engineering (ICSE’06). ACM.
[44]
J. Zhang, H. J. Goldsby, and B. H. C. Cheng. 2009. Modular verification of dynamically adaptive systems. In 8th ACM International Conference on Aspect-Oriented Software Development (AOSD’09).

Cited By

View all
  • (2024)Improving QoS Management Using Associative Memory and Event-Driven Transaction HistoryInformation10.3390/info1509056915:9(569)Online publication date: 18-Sep-2024
  • (2024)Automating Pipelines of A/B Tests with Population Split Using Self-Adaptation and Machine LearningProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644087(84-97)Online publication date: 15-Apr-2024
  • (2024)Model-Based Systems Engineering for the Agile Life-Cycle Management of IIoT Based on DevOps2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10711004(1-4)Online publication date: 10-Sep-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Autonomous and Adaptive Systems
ACM Transactions on Autonomous and Adaptive Systems  Volume 10, Issue 3
October 2015
204 pages
ISSN:1556-4665
EISSN:1556-4703
DOI:10.1145/2819320
Issue’s Table of Contents
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 the author(s) 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].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2015
Accepted: 01 January 2015
Revised: 01 January 2015
Received: 01 April 2014
Published in TAAS Volume 10, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Formal templates
  2. MAPE-K
  3. self-adaptation

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)165
  • Downloads (Last 6 weeks)28
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Improving QoS Management Using Associative Memory and Event-Driven Transaction HistoryInformation10.3390/info1509056915:9(569)Online publication date: 18-Sep-2024
  • (2024)Automating Pipelines of A/B Tests with Population Split Using Self-Adaptation and Machine LearningProceedings of the 19th International Symposium on Software Engineering for Adaptive and Self-Managing Systems10.1145/3643915.3644087(84-97)Online publication date: 15-Apr-2024
  • (2024)Model-Based Systems Engineering for the Agile Life-Cycle Management of IIoT Based on DevOps2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10711004(1-4)Online publication date: 10-Sep-2024
  • (2024)An Agentic AI-based Multi-Agent Framework for Recommender Systems2024 IEEE International Conference on Big Data (BigData)10.1109/BigData62323.2024.10825765(5375-5382)Online publication date: 15-Dec-2024
  • (2024)Formal Verification of Distributed Self-Adaptive Systems Under Environmental Uncertainty2024 3rd International Conference on Artificial Intelligence and Computer Information Technology (AICIT)10.1109/AICIT62434.2024.10730360(1-5)Online publication date: 20-Sep-2024
  • (2024)Data fabric and digital twinsInformation Fusion10.1016/j.inffus.2023.102139103:COnline publication date: 1-Mar-2024
  • (2023)Towards DevOps for Cyber-Physical Systems (CPSs): Resilient Self-Adaptive Software for Sustainable Human-Centric Smart CPS Facilitated by Digital TwinsMachines10.3390/machines1110097311:10(973)Online publication date: 19-Oct-2023
  • (2023)Timed-SAS: Modeling and Analyzing the Time Behaviors of Self-Adaptive Software under UncertaintyApplied Sciences10.3390/app1303201813:3(2018)Online publication date: 3-Feb-2023
  • (2023)Formal Modeling of Self-Adaptive Resource Scheduling in CloudComputers, Materials & Continua10.32604/cmc.2023.03269174:1(1183-1197)Online publication date: 2023
  • (2023)Joint Learning: A Pattern for Reliable and Efficient Decision-Making in Self-Adaptive Internet of ThingsProceedings of the 28th European Conference on Pattern Languages of Programs10.1145/3628034.3628043(1-9)Online publication date: 5-Jul-2023
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media