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.
Similar content being viewed by others
References
Abrial J-R (2010) Modeling in event-B: system and software engineering, 1st edn. Cambridge University Press, New York
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
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
Bayley I, Zhu H (2011) A formal language for the expression of pattern compositions. International Journal on Advances in Software 4(3):354–366
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
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
Davis G (2018) 2020: life with 50 billion connected devices. In: 2018 IEEE international conference on consumer electronics (ICCE), p 1
Dong J, Alencar PS, Cowan DD, Yang S (2007) Composing pattern-based components and verifying correctness. J Syst Soft 80(11):1755–1769
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
Eclipse. https://wiki.eclipse.org/graphical-modeling-framework. Accessed 20 Apr 2021
Eclipse. https://www.eclipse.org/modeling/emf/. Accessed 20 Apr 2021
Eclipse. http://www.eclipse.org/gef/. Accessed 20 Apr 2021
Thomas Erl (2017) SOA Design Patterns. Prentice Hall Press 1edn, USA
Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Reading
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
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
Kephart JO, Chess DM (2003) The vision of autonomic computing. Computer 36(1):41–50
Soon-Kyeong Kim, David Carrington (2009) A formalism to describe design patterns based on role concepts. Formal Asp Comput 21(5):397–420
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
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
Taibi T, Ngo DC (2003) Formal specification of design pattern combination using BPSL. Inf Softw Technol 45(3):157–170
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
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
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
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
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
Zhu H, Bayley I (2015) On the composability of design patterns. IEEE Trans Softw Eng 41(11):1138–1152
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
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
Zhu H, Bayley I (2013) An algebra of design patterns. ACM Trans Softw Eng Methodol 22(3):23:1–23:35
Zimmer W (1995) Pattern languages of program design. Chapter relationships between design patterns. ACM Press/Addison-Wesley Publishing Co., New York, pp 345–364
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-021-00409-3