Towards a Framework for Self-adaptive Systems Conceptual Modeling


Context: Self-adaptive Systems (SaSs) requirements engineering is challenging because it is necessary to deal with invariant requirements, which specify the system's crisp behavior, and adaptive requirements, which specify the system's fuzzy behavior. Problem: Our motivational question is: how to make the process of adaptive requirements conceptual modeling less complex, ensuring the coverage of the main abstractions and the comprehensibility of the resultant model? Solution: To address this, we propose a modeling framework that defines a strategy for adaptive requirements conceptual modeling based on a set of design patterns. IS Theory: This work is proposed based on the adaptive structuration theory. Method: The proposed framework was made by analyzing the main concepts related to SaSs, finding a suitable set of design patterns, specifying a modeling schema with UML, and evaluating it in focus group sessions. Summary of Results: The focus group results point out that the proposed framework supports the adaptive requirements conceptual modeling, guiding the modeling process, mainly to non-expert developers. Contributions and Impact in the IS area: Moreover, we highlight some relevant contributions of the framework, it is able to provide support for non-expert developers by guiding the SaSs conceptual modeling process. It also has an abstract modeling schema that can be applied to other concrete scenarios. Furthermore, its well-formed structures make it more comprehensible and didactic to stakeholders.
Palavras-chave: Self-adaptive Systems, Requirements Analysis, Conceptual Modeling, Modeling Framework


Jesper Andersson, Rogério de Lemos, Sam Malek, and Danny Weyns. 2009. Modeling Dimensions of Self-Adaptive Software Systems. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 5525. Springer Berlin Heidelberg, Berlin, 27–47.

Dhouha Ayed, Didier Delanote, and Yolande Berbers. 2007. MDD Approach for the Development of Context-Aware Applications. In Modeling and Using Context. Springer Berlin Heidelberg, Berlin, 15–28.

Carlo Batini, Stefano Ceri, and Shamkant B. Navathe. 1992. Conceptual Database Design: An Entity-Relationship Approach. Addison-Wesley, Boston. 470 pages.

Mohamed Salah Benselim and Hassina Seridi-Bouchelaghem. 2012. Extended UML for the Development of Context-Aware Applications. In Networked Digital Technologies. Communications in Computer and Information Science, Vol. 293. Springer, Berlin, 33–43.

Michael Bloor, Jane Frankland, Michelle Thomas, and Kate Robson. 2001. Focus Groups in Social Research. SAGE Publications, London.

Haider Boudjemline, Mohamed Touahria, Abdelhak Boubetra, and Hamza Kaabeche. 2017. Heavyweight extension to the UML class diagram metamodel for modeling context aware systems in ubiquitous computing. International Journal of Pervasive Computing and Communications 13, 3 (2017), 238–251.

Pierre Bourque and Richard E. Fairley (Eds.). 2014. Guide to the Software Engineering Body of Knowledge (3 ed.). IEEE Press, Piscataway. 335 pages.

Yuriy Brun, Giovanna Di Marzo Serugendo, Cristina Gacek, Holger Giese, Holger Kienle, Marin Litoiu, Hausi Müller, Mauro Pezzè, and Mary Shaw. 2009. Engineering Self-Adaptive Systems through Feedback Loops. In Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, Vol. 5525. Springer Berlin Heidelberg, Berlin, 48–70.

Peter P. Chen, Bernhard Thalheim, and Leah Y. Wong. 1999. Future Directions of Conceptual Modeling. In Conceptual Modeling: Current Issues and Future Directions. Springer Berlin Heidelberg, Berlin, 287–301.

Betty H. C. Cheng, Rogério de Lemos, Holger Giese, Paola Inverardi, Jeff Magee, Jesper Andersson, Basil Becker, Nelly Bencomo, Yuriy Brun, Bojan Cukic, Giovanna Di Marzo Serugendo, Schahram Dustdar, Anthony Finkelstein, Cristina Gacek, Kurt Geihs, Vincenzo Grassi, Gabor Karsai, Holger M. Kienle, Jeff Kramer, Marin Litoiu, Sam Malek, Raffaela Mirandola, Hausi A. Müller, Sooyong Park, Mary Shaw, Matthias Tichy, Massimo Tivoli, Danny Weyns, and Jon Whittle. 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 Heidelberg, Berlin, 1–26.

João Pablo S. da Silva, Miguel Ecar, Marcelo S. Pimenta, Gilleanes T. A. Guedes, Luiz Paulo Franz, and Luciano Marchezan. 2018. A systematic literature review of UML-based domain-specific modeling languages for self-adaptive systems. In Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing Systems - SEAMS ’18. ACM Press, New York, 87–93.

João Pablo S. da Silva, Miguel Ecar, Marcelo S. Pimenta, Gilleanes T. A. Guedes, and Elder M. Rodirgues. 2018. Towards a Domain-Specific Modeling Language for Self-adaptive Systems Conceptual Modeling. In XXXII Brazilian Symposium on Software Engineering (SBES 2018). ACM Press, New York, 6.

Anind K. Dey. 2001. Understanding and Using Context. Personal and Ubiquitous Computing Journal 1, 5 (2001), 4–7.

Eric Freeman, Bert Bates, Kathy Sierra, and Elisabeth Robson. 2004. Head First Design Patterns: A Brain-Friendly Guide. O'Reilly Media, Sebastopol. 694 pages.

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston. 395 pages.

Deshuai Han, Qiliang Yang, Jianchun Xing, Juelong Li, and Hongda Wang. 2016. FAME: A UML-based framework for modeling fuzzy self-adaptive software. Information and Software Technology 76 (2016), 118–134.

I-Ching Hsu. 2012. Extending UML to model Web 2.0-based context-aware applications. Software: Practice and Experience 42, 10 (2012), 1211–1227.

Georgia M. Kapitsaki and Iakovos S. Venieris. 2008. PCP: Privacy-aware Context Profile towards Context- aware Application Development. In Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services. ACM Press, New York, 104.

J.O. Kephart and D.M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41–50.

Markus Luckey, Benjamin Nagel, Christian Gerth, and Gregor Engels. 2011. Adapt Cases: Extending Use Cases for Adaptive Systems. In Proceeding of the 6th international symposium on Software engineering for adaptive and self-managing systems. ACM Press, New York, 30.

Leonardo Ribeiro Machado, Francisco J da Silva, Alex Barradas, Davi Viana, Ariel Teles, and Luciano Coutinho. 2020. Product Quality for Smart Cities Applications: A Mapping Study. In XVI Brazilian Symposium on Information Systems. 1–8.

Frank D. Macías-Escrivá, Rodolfo Haber, Raul del Toro, and Vicente Hernandez. 2013. Self-adaptive systems: A survey of current approaches, research challenges and applications. Expert Systems with Applications 40, 18 (2013), 7267–7279.

Elizabeth A. Minton and Lynn R. Khale. 2014. Belief Systems, Religion, and Behavioral Economics. Business Expert Press, New York.

John Mylopoulos. 1992. Conceptual modelling and Telos. In Conceptual Modeling, Databases, and Case An integrated view of information systems development., Pericles Loucopoulos and Roberto Zicari (Eds.). John Wiley and Sons, New York, 49–68.

Payman Oreizy, M.M. Gorlick, R.N. Taylor, Dennis Heimhigner, Gregory Johnson, Nenad Medvidovic, Alex Quilici, D.S. Rosenblum, and A.L. Wolf. 1999. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14, 3 (1999), 54–62.

Oxford. 2019. Oxford Dictionaries. Available at:, Accessed on: 04/17/19.

Nick Roussopoulos and Dimitris Karagiannis. 2009. Conceptual Modeling: Past, Present and the Continuum of the Future. In Conceptual Modeling: Foundations and Applications, Alexander T. Borgida, Vinay K. Chaudhri, Paolo Giorgini, and Eric S. Yu (Eds.). Springer-Verlag, Berlin, 139–152.

Mazeiar Salehie and Ladan Tahvildari. 2009. Self-Adaptive Software: Landscape and Research Challenges. ACM Transactions on Autonomous and Adaptive Systems 4, 2 (2009), 1–42.

Alan Shalloway and James R. Trott. 2004. Design Patterns Explained: A New Perspective on Object Oriented Design (2 ed.). Addison-Wesley, Boston. 480 pages.

Q.Z. Sheng and Boualem Benatallah. 2005. ContextUML: A UML-Based Modeling Language for Model-Driven Development of Context-Aware Web Services Development. In International Conference on Mobile Business (ICMB’05). IEEE, Sydney, 206–212.

Alexander Shvets. 2018. Design Patterns Explained Simply. Source Making, Kyiv. 119 pages.

C. Simons and G. Wirtz. 2007. Modeling context in mobile distributed systems with the UML. Journal of Visual Languages & Computing 18, 4 (2007), 420–439.

Naciri Souleiman, Min-Jung Yoo, and Rémy Glardon. 2008. MOFIS: New Conceptual Modeling Framework for Handling Value Adding Networks Complexity. In The Third International Conference on Software Engineering Advances. IEEE, Sliema, Malta, 516 – 522.

Bernhard Thalheim. 2011. The Theory of Conceptual Models, the Theory of Conceptual Modelling and Foundations of Conceptual Modelling. In Handbook of Conceptual Modeling, David W. Embley and Bernhard Thalheim (Eds.). Springer Berlin Heidelberg, Berlin, 543–577.

Jon Whittle, Pete Sawyer, Nelly Bencomo, Betty H. C. Cheng, and Jean-Michel Bruel. 2010. RELAX: a language to address uncertainty in self-adaptive systems requirement. Requirements Engineering 15, 2 (2010), 177–196.

Claes Wohlin. 2014. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering - EASE ’14. ACM Press, New York, 1–10.
DA SILVA, João Pablo Silva; PIMENTA, Marcelo Soares; ECAR, Miguel; GIORDANO, Douglas Montanha; CHAGAS, Jonas; OTOKOVIESKI, Marina; DIAS, Bruna De Abreu; FORRATI, Samuel Müller. Towards a Framework for Self-adaptive Systems Conceptual Modeling. In: SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 19. , 2023, Maceió/AL. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 .