Skip to main content

A DSL for MAPE Patterns Representation in Self-adapting Systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11048))

Abstract

In architecture-based self-adaptation, the adaptation logic is usually structured in terms of MAPE-K (Monitor-Analyze-Plan-Execute over a shared Knowledge) control loops dealing with the adaptation concerns of the managed system. In case of large, complex and decentralized systems, multiple interacting MAPE loops are introduced. Some common design patterns of interactive MAPE components have been proposed in the literature; however, a well-defined way to document them and to express the semantics of their interactions is still missing.

This paper presents a domain-specific language, MAPE Specification Language (MSL), as modeling front-end to define and instantiate common patterns of interacting MAPE components when architecting the adaptation logic of a self-adaptive system. We also provide a semantic mapping (implemented by a model generator) to transform MSL descriptions of MAPE pattern instances into formal executable models based on the formalism of self-adaptive Abstract State Machines (ASMs). Such a mapping provides a link to the modeling back-end of ASMs for formally specifying and analyzing the behavior of instances of MAPE patterns.

P. Arcaini—This author is supported by ERATO HASUO Metamathematics for Systems Design Project (No. JPMJER1603), JST.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   74.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    The update site is http://fmse.di.unimi.it/sw/msl/updatesite/.

  2. 2.

    Note that we do not provide keywords to distinguish between intra- and inter- interactions, since they are already characterized by the kind of MAPE components connected by the interaction.

  3. 3.

    We allow the definition and instantiation of a MAPE pattern in the same MSL file with extension .msl, and also the definition of patterns in separate files without instantiation and their import in order to create a library of patterns.

  4. 4.

    http://asmeta.sourceforge.net/.

  5. 5.

    This AST is the EMF ecore model of MSL used as the in-memory objects representation of any parsed MSL text file.

  6. 6.

    For the semantics of the used temporal logics, we remind the reader to [4].

  7. 7.

    Note that, in order to verify the desired property, we need to find counterexamples for the properties stating that the heater cannot be turned to FAIRLY_HOT and VERY_HOT.

References

  1. Abeywickrama, D.B., Hoch, N., Zambonelli, F.: SimSOTA: engineering and simulating feedback loops for self-adaptive systems. In: International C* Conference on Computer Science & Software Engineering, C3S2E13, Porto, Portugal, 10–12 July 2013, pp. 67–76 (2013)

    Google Scholar 

  2. Arcaini, P., Gargantini, A., Riccobene, E., Scandurra, P.: A model-driven process for engineering a toolset for a formal method. Softw. Pract. Exp. 41(2), 155–166 (2011)

    Article  Google Scholar 

  3. Arcaini, P., Riccobene, E., Scandurra, P.: Formal design and verification of self-adaptive systems with decentralized control. ACM Trans. Auton. Adapt. Syst. 11(4), 25:1–25:35 (2017)

    Article  Google Scholar 

  4. Baier, C., Katoen, J.-P.: Principles of Model Checking. Representation and Mind Series. The MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  5. Börger, E., Raschke, A.: Modeling Companion for Software Practitioners. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-56641-1

    Book  Google Scholar 

  6. Brun, Y., et al.: Engineering self-adaptive systems through feedback loops. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 48–70. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_3

    Chapter  Google Scholar 

  7. Calinescu, R., Gerasimou, S., Habli, I., Iftikhar, M.U., Kelly, T., Weyns, D.: Engineering trustworthy self-adaptive software with dynamic assurance cases. CoRR abs/1703.06350 (2017)

    Google Scholar 

  8. Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1

    Chapter  Google Scholar 

  9. D’Angelo, M., Caporuscio, M., Napolitano, A.: Model-driven engineering of decentralized control in cyber-physical systems. In: 2017 IEEE 2nd International Workshops on Foundations and Applications of Self* Systems, FAS*W, pp. 7–12, September 2017

    Google Scholar 

  10. de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_1

    Chapter  Google Scholar 

  11. Gargantini, A., Riccobene, E., Scandurra, P.: A semantic framework for metamodel-based languages. Autom. Softw. Eng. 16(3–4), 415–454 (2009)

    Article  Google Scholar 

  12. Hebig, R., Giese, H., Becker, B.: Making control loops explicit when architecting self-adaptive systems. In: Proceedings of the 2nd International Workshop on Self-Organizing Architectures, SOAR 2010, pp. 21–28. ACM, New York (2010)

    Google Scholar 

  13. Iglesia, D.G.D.L., Weyns, D.: MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 10(3), 15:1–15:31 (2015)

    Article  Google Scholar 

  14. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. IEEE Comput. 36(1), 41–50 (2003)

    Article  Google Scholar 

  15. Křikava, F., Collet, P., France, R.B.: ACTRESS: domain-specific Modeling of Self-adaptive Software Architectures. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC 2014, pp. 391–398. ACM, New York (2014)

    Google Scholar 

  16. Meliá, S., Cachero, C., Hermida, J.M., Aparicio, E.: Comparison of a textual versus a graphical notation for the maintainability of MDE domain models: an empirical pilot study. Softw. Qual. J. 24(3), 709–735 (2016)

    Article  Google Scholar 

  17. Microsoft: Microsoft Application Architecture Guide, 2nd edn. Microsoft Press, Redmond (2009)

    Google Scholar 

  18. The MSL language (2018). https://github.com/fmselab/msl

  19. Song, H., Barrett, S., Clarke, A., Clarke, S.: Self-adaptation with end-user preferences: using run-time models and constraint solving. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 555–571. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41533-3_34

    Chapter  Google Scholar 

  20. Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Paolo Arcaini .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Arcaini, P., Mirandola, R., Riccobene, E., Scandurra, P. (2018). A DSL for MAPE Patterns Representation in Self-adapting Systems. In: Cuesta, C., Garlan, D., Pérez, J. (eds) Software Architecture. ECSA 2018. Lecture Notes in Computer Science(), vol 11048. Springer, Cham. https://doi.org/10.1007/978-3-030-00761-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-00761-4_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-00760-7

  • Online ISBN: 978-3-030-00761-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics