Abstract
[Context and motivation] Self-adaptive systems (SAS) monitor and adapt to changing end-user requirements, operating context conditions, and resource availability. Specifying requirements for such dynamic systems is not trivial. Most of the research on self-adaptive systems (SAS) focuses on finding solutions to the requirements that SAS is built for. However, elicitation and representation of requirements for SAS has received less attention at early stages of requirements engineering (RE). [Question/problem] How to represent requirements for SAS in a way which can be read by non-engineering stakeholders? [Principal ideas/results] A requirements modeling language with a diagrammatic syntax to be used to elicit and represent requirements for SAS and perform analysis based on our recently proposed core ontology to perform RE for SAS. [Contribution] A modeling language, called Adaptive RML, for the representation of early requirements for Self-adaptive systems (SAS). The language has graphical primitives in line with classical goal modeling languages and is formalized via a mapping to Techne. Early validation is performed by modeling the same case study in an established goal modeling language and in Adaptive RML. The results suggest that context and resource concepts, as well as relegation and influence relations should be part of graphical modeling languages used to make early requirements models for SAS and to perform analysis over them.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Di Marzo Serugendo, G., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H.A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: Software Engineering for Self-Adaptive Systems: A Research Roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009)
Penserini, L., Perini, A., Susi, A., Mylopoulos, J.: High variability design for software agents: Extending Tropos. TAAS 2(4) (2007)
Morandini, M., Penserini, L., Perini, A.: Towards goal-oriented development of self-adaptive systems. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2008), pp. 9–16 (2008)
Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.-M.: RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems. In: 17th IEEE Int. Requirements Eng. Conf., Atlanta, pp. 79–88 (2009)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Sci. Comput. Program. 20(1-2), 3–50 (1993)
Cheng, B.H.C., Sawyer, P., Bencomo, N., Whittle, J.: A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 468–483. Springer, Heidelberg (2009)
Qureshi, N.A., Perini, A.: Engineering adaptive requirements. In: ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2009), pp. 126–131 (2009)
Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: 18th IEEE Int. Requirements Eng. Conf., pp. 125–134 (2010)
Qureshi, N.A., Perini, A.: Requirements engineering for adaptive service based applications. In: 18th IEEE Int. Requirements Eng. Conf., pp. 108–111 (2010)
Sawyer, P., Bencomo, N., Whittle, J., Letier, E., Finkelstein, A.: Requirements-aware systems a research agenda for re for self-adaptive systems. In: 18th IEEE Int. Requirements Eng. Conf., pp. 95–103 (2010)
Qureshi, N.A., Jureta, I., Perini, A.: Requirements Engineering for Self-Adaptive Systems: Core Ontology and Problem Statement. In: Mouratidis, H., Rolland, C. (eds.) CAiSE 2011. LNCS, vol. 6741, pp. 33–47. Springer, Heidelberg (2011)
Jureta, I.J., Mylopoulos, J., Faulkner, S.: Revisiting the core ontology and problem in requirements engineering. In: 16th IEEE Int. Requirements Eng. Conf., pp. 71–80 (2008)
Jureta, I.J., Borgida, A., Ernst, N.A., Mylopoulos, J.: Techne: Towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: 18th IEEE Int. Requirements Eng. Conf., pp. 115–124 (2010)
Yu, E.: Towards modeling and reasoning support for early requirements engineering. In: Proc. 3rd IEEE Int. Symp. on Requirements Eng., pp. 226–235 (1997)
Ali, R., Dalpiaz, F., Giorgini, P.: A Goal Modeling Framework for Self-contextualizable Software. In: Halpin, T., Krogstie, J., Nurcan, S., Proper, E., Schmidt, R., Soffer, P., Ukor, R. (eds.) BPMDS 2009 and EMMSAD 2009. LNBIP, vol. 29, pp. 326–338. Springer, Heidelberg (2009)
Marchetto, A., Nguyen, C.D., Di Francescomarino, C., Qureshi, N.A., Perini, A., Tonella, P.: A design methodology for real services. In: Proceedings of the 2nd International Workshop on Principles of Engineering Service-Oriented Systems, PESOS 2010, pp. 15–21. ACM (2010)
Moody, D.L., Heymans, P., Matulevicius, R.: Improving the effectiveness of visual representations in requirements engineering: An evaluation of i* visual syntax. In: 17th IEEE Int. Requirements Eng. Conf., pp. 171–180 (2009)
Salifu, M., Yu, Y., Nuseibeh, B.: Specifying monitoring and switching problems in context. In: 15th IEEE Int. Requirements Eng. Conf., pp. 211–220 (2007)
Finkelstein, A., Savigni, A.: A framework for requirements engineering for context-aware services. In: Proc. of 1st International Workshop From Software Requirements to Architectures (STRAW 2001), pp. 200–201 (2001)
Dey, A.K.: Understanding and using context. Personal Ubiquitous Comput. 5(1), 4–7 (2001)
Dalpiaz, F., Giorgini, P., Mylopoulos, J.: An Architecture for Requirements-Driven Self-reconfiguration. In: van Eck, P., Gordijn, J., Wieringa, R. (eds.) CAiSE 2009. LNCS, vol. 5565, pp. 246–260. Springer, Heidelberg (2009)
Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: RE 1995: Proceedings of the Second IEEE Intl. Symp. on Reqs. Eng., p. 140. IEEE CS (1995)
Feather, M.S., Fickas, S., Lamsweerde, A.V., Ponsard, C.: Reconciling system requirements and runtime behavior. In: IWSSD 1998: Proceedings of the 9th International Workshop on Software Specification and Design, p. 50. IEEE CS (1998)
Robinson, W.: A Roadmap for Comprehensive Requirements Monitoring. Computer 43(5), 64–72 (2009)
Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering, FOSE 2007, pp. 259–268 (May 2007)
Qureshi, N.A., Perini, A., Ernst, N.A., Mylopoulos, J.: Towards a continuous requirements engineering framework for self-adaptive systems. In: RE 2010 Workshops, First International Workshop on Requirements@Run.Time (RE@RunTime), pp. 9–16 (2010)
Qureshi, N.A., Perini, A.: Continuous adaptive requirements engineering: An architecture for self-adaptive service-based applications. In: First IEEE International Workshop on Requirements@Run.Time (RE@RunTime), pp. 17–24 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Qureshi, N.A., Jureta, I.J., Perini, A. (2012). Towards a Requirements Modeling Language for Self-Adaptive Systems. In: Regnell, B., Damian, D. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2012. Lecture Notes in Computer Science, vol 7195. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28714-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-642-28714-5_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-28713-8
Online ISBN: 978-3-642-28714-5
eBook Packages: Computer ScienceComputer Science (R0)