skip to main content
research-article

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

Published:01 September 2015Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

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.Google ScholarGoogle ScholarCross RefCross Ref
  2. G. Behrmann, A. David, P. Pettersson, W. Yi, and M. Hendriks. 2006. UPPAAL 4.0. In Quantitative Evaluation of Systems (QEST’06). Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  16. D. Gil de la Iglesia. 2014. A Formal Approach for Designing Distributed Self-Adaptive Systems. Linnaeus University Dissertations.Google ScholarGoogle Scholar
  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.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Grunske. 2008. Specification patterns for probabilistic quality properties. In International Conference on Software Engineering (ICSE’08). ACM, 10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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).Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. O. Kephart and D. M. Chess. 2003. The vision of autonomic computing. Computer 36, 1, 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. R. Koymans. 1990. Specifying real-time properties with metric temporal logic. Real-Time Systems 2, 4, 255--299. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M. B. Miles and A. M. Huberman. 1994. Qualitative data analysis: An expanded sourcebook. SAGE, Thousand Oaks, CA.Google ScholarGoogle Scholar
  32. P. Oreizy, N. Medvidovic, and R. Taylor. 1998. Architecture-based runtime software evolution. In 20th International Conference on Software Engineering (ICSE’98). IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. M. Shaw and P. Clements. 2006. The golden age of software architecture. IEEE Software 23, 2, 31--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  36. E. Vassev and M. Hinchey. 2009. ASSL: A software engineering approach to autonomic computing. Computer 42, 6 (2009), 90--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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 Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.Google ScholarGoogle Scholar
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Robert K. Yin. 2009. Case study research: Design and methods. Vol. 5. SAGE, Thousand Oaks, CA.Google ScholarGoogle Scholar
  43. J. Zhang and B. Cheng. 2006. Model-based development of dynamically adaptive software. In 28th International Conference on Software Engineering (ICSE’06). ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

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

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • 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

              Copyright © 2015 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 September 2015
              • Revised: 1 January 2015
              • Accepted: 1 January 2015
              • Received: 1 April 2014
              Published in taas Volume 10, Issue 3

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!