Skip to main content
Log in

Modeling and specifying formally compound MAPE pattern for self-adaptive IoT systems

  • S.I. : DETECT 2020
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

IoT systems are required to manage themselves to changes regarding their internal and external contexts. So, adaptability is a very important aspect in IoT software systems. The MAPE (Monitoring, Analysis, Planning, Execution) control loop model, inspired from the autonomic nervous system, has been identified as a crucial element for realizing self-adaptation in software systems. In fact, software design patterns provide architects and developers with reusable software elements helping them to master building complex software systems including several interconnected components. Complex self-adaptive systems require several architectural patterns in their design which leads to the need of architectural pattern composition. In this paper, we focus in modeling adaptability in IoT systems through a set of MAPE design patterns for decentralized control in self-adaptive systems and we propose an approach for composing them using a UML profile. Then, we propose formalizing the composition process using the Event-B method. In addition, we propose verifying adaptation properties based on the resulting formal specification. We illustrate our approach by modeling structural and behavioral features of the hybrid pattern resulting from the composition of two MAPE patterns and applied to the fall-detection ambient assisting living system for elderly people.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13

Similar content being viewed by others

Notes

  1. https://github.com/MarwaHachicha15/MOGEVE.

  2. http://wiki.event-b.org/index.php/Parallel_Composition_using_Event-B.

References

  1. Abrial J-R (2010) Modeling in event-B: system and software engineering, 1st edn. Cambridge University Press, New York

    Book  MATH  Google Scholar 

  2. Abrial JR, Butler M, Hallerstede S, Hoang TS, Mehta F, Voisin L (2010) Rodin: an open toolset for modelling and reasoning in event-b. Int J Softw Tools Technol Transf 12(6):447–466

    Article  Google Scholar 

  3. Al-Fuqaha A, Guizani M, Mohammadi M, Aledhari M, Ayyash M (2015) Internet of things: a survey on enabling technologies, protocols, and applications. IEEE Commun Surv Tutor 17(4):2347–2376 Fourthquarter

    Article  Google Scholar 

  4. Bayley I, Zhu H (2011) A formal language for the expression of pattern compositions. International Journal on Advances in Software 4(3):354–366

  5. Büsching, F., Post, H., Gietzelt, M. and Wolf, L. (2013) Fall detection on the road. In: 2013 IEEE 15th international conference on e-health networking, applications and services (Healthcom 2013), pp 439–443

  6. Butler M (2009) Decomposition structures for event-B. In: Proceedings of the 7th international conference on integrated formal methods, IFM ’09, pp 20–38. Springer, Berlin, Heidelberg

  7. Davis G (2018) 2020: life with 50 billion connected devices. In: 2018 IEEE international conference on consumer electronics (ICCE), p 1

  8. Dong J, Alencar PS, Cowan DD, Yang S (2007) Composing pattern-based components and verifying correctness. J Syst Soft 80(11):1755–1769

    Article  Google Scholar 

  9. Dong Q, Yang Y, Hongjun W, Jian-Hua X (2015) Fall alarm and inactivity detection system design and implementation on raspberry pi. In: 2015 17th international conference on advanced communication technology (ICACT), pp 382–386

  10. Eclipse. https://wiki.eclipse.org/graphical-modeling-framework. Accessed 20 Apr 2021

  11. Eclipse. https://www.eclipse.org/modeling/emf/. Accessed 20 Apr 2021

  12. Eclipse. http://www.eclipse.org/gef/. Accessed 20 Apr 2021

  13. Thomas Erl (2017) SOA Design Patterns. Prentice Hall Press 1edn, USA

  14. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading

  15. Hachicha Marwa, Dammak Emna, Halima Riadh Ben, Kacem Ahmed Hadj (2016) A correct by construction approach for modeling and formalizing self-adaptive systems. In: 2016 17th IEEE/ACIS international conference on software engineering, artificial intelligence, networking and parallel/distributed computing (SNPD), pp 379–384

  16. Hachicha M, Halima RB, Kacem AH (2018) Modeling, specifying and verifying self-adaptive systems instantiating mape patterns. Int J Comput Appl Technol 57:28–44

    Article  Google Scholar 

  17. Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36(1):41–50

    Article  MathSciNet  Google Scholar 

  18. Soon-Kyeong Kim, David Carrington (2009) A formalism to describe design patterns based on role concepts. Formal Asp Comput 21(5):397–420

    Article  MATH  Google Scholar 

  19. Mercuri M, Garripoli C, Karsmakers P, Soh PJ, Vandenbosch GA, Pace C, Leroux P, Schreurs D (2016) Healthcare system for non-invasive fall detection in indoor environment. Springer, Cham, pp 145–152

    Google Scholar 

  20. Pino L, Spanoudakis G, Krotsiani M, Mahbub K (2020) Pattern-based design and verification of secure service compositions. IEEE Trans Serv Comput 13(3):515–528

    Article  Google Scholar 

  21. Taibi T, Ngo DC (2003) Formal specification of design pattern combination using BPSL. Inf Softw Technol 45(3):157–170

    Article  Google Scholar 

  22. That MT, Sadou S, Oquendo F, Borne I (2013) Composition-centered architectural pattern description language. In: Proceedings of the 7th European conference on software architecture, ECSA’13. Springer, Berlin, Heidelberg, pp 1–16

  23. That MT, Sadou S, Oquendo F, Borne I (2015) Preserving architectural pattern composition information through explicit merging operators. Fut Gener Comput Syst 47(C):97–112

    Article  Google Scholar 

  24. Tounsi I, Kacem MH, Kacem AH, Drira K (2017) Transformation of compound SOA design patterns. Proced Comput Sci 109:408–415. 8th International Conference on Ambient Systems, Networks and Technologies, ANT-2017 and the 7th International Conference on Sustainable Energy Information Technology, SEIT (2017) 16–19 May 2017. Madeira, Portugal

  25. Tounsi I, Kacem MH, Kacem AH, Drira K (2015) An approach for soa design patterns composition. In: Proceedings of the 2015 IEEE 8th international conference on service-oriented computing and applications, SOCA ’15. IEEE Computer Society, Washington, pp 219–226

  26. Weyns D, Schmerl B, Grassi V, Malek S, Mirandola R, Prehofer C, Wuttke J, Andersson J, Giese H, Göschka KM, (2013) Software engineering for self-adaptive systems II: international seminar, Dagstuhl Castle, Germany, October 24–29, 2010. Revised Selected and Invited Papers. Chapter On patterns for decentralized control in self-adaptive systems. Springer, Berlin, Heidelberg, pp 76–107

  27. Zhu H, Bayley I (2015) On the composability of design patterns. IEEE Trans Softw Eng 41(11):1138–1152

    Article  Google Scholar 

  28. Zhu H, Bayley I (2017) On the composibility of design patterns: extended abstract. In: 2017 IEEE 41st annual computer software and applications conference (COMPSAC), vol 1, pp 369–370

  29. Zhu H, Bayley I (2010) Laws of pattern composition. In: Proceedings of the 12th international conference on formal engineering methods and software engineering, ICFEM’10. Springer, Berlin, Heidelberg, pp 630–645

  30. Zhu H, Bayley I (2013) An algebra of design patterns. ACM Trans Softw Eng Methodol 22(3):23:1–23:35

    Article  Google Scholar 

  31. Zimmer W (1995) Pattern languages of program design. Chapter relationships between design patterns. ACM Press/Addison-Wesley Publishing Co., New York, pp 345–364

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marwa Hachicha.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hachicha, M., Ben Halima, R. & Hadj Kacem, A. Modeling and specifying formally compound MAPE pattern for self-adaptive IoT systems. Innovations Syst Softw Eng 18, 505–521 (2022). https://doi.org/10.1007/s11334-021-00409-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-021-00409-3

Keywords

Navigation