Abstract
Variability is essential for adaptive software systems, because it captures the space of alternative adaptations a system is capable of when it needs to adapt. In this work, we propose to capture variability for an adaptation space in terms of a three dimensional model. The first dimension captures requirements through goals and reflects all possible ways of achieving these goals. The second dimension captures supported variations of a system’s architectural structure, modeled in terms of connectors and components. The third dimension describes supported system behaviors, by modeling possible sequences for goal fulfillment and task execution. Of course, the three dimensions of a variability model are inter-twined as choices made with respect to one dimension have impact on the other two. Therefore, we propose an incremental design methodology for variability models that keeps the three dimensions aligned and consistent. We illustrate our proposal with a case study involving the meeting scheduling system exemplar.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Each component must be able to satisfy on its own the assigned goal.
References
Angelopoulos, K., Souza, V.E.S., Mylopoulos, J.: Dealing with multiple failures in zanshin: a control-theoretic approach. In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2014, pp. 165–174. ACM, New York (2014)
Baresi, L., Guinea, S., Pasquale, L.: Service-oriented dynamic software product lines. Computer 45(10), 42–48 (2012)
Baresi, L., Pasquale, L., Spoletini, P.: Fuzzy goals for requirements-driven adaptation. In: Proceedings of the 18th IEEE International Requirements Engineering Conference, pp. 125–134. IEEE (2010)
Chen, B., Peng, X., Yu, Y., Nuseibeh, B., Zhao, W.: Self-adaptation through incremental generative model transformations at runtime. In: Proceedings of the 36th International Conference on Software Engineering, ICSE 2014, pp. 676–687. ACM, New York (2014)
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)
Chung, L., Supakkul, S., Subramanian, N., Garrido, J., Noguera, M., Hurtado, M., Rodríguez, M., Benghazi, K.: Goal-oriented software architecting. In: Avgeriou, P., Grundy, J., Hall, J.G., Lago, P., Mistrík, I. (eds.) Relating Software Requirements and Architectures, pp. 91–109. Springer, Heidelberg (2011)
Dalpiaz, F., Borgida, A., Horkoff, J., Mylopoulos, J.: Runtime goal models. In: Proceedings of the IEEE 7th International Conference on Research Challenges in Information Science, pp. 1–11. IEEE (2013)
Garlan, D., Cheng, S.-W., Huang, A.-C., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. Computer 37(10), 46–54 (2004)
Ivers, J., Clements, P., Garlan, D., Nord, R., Schmerl, B., Silva, J.R.: Documenting component and connector views with uml 2.0. Technical report, DTIC Document (2004)
Jureta, I., Mylopoulos, J., Faulkner, S.: Revisiting the core ontology and problem in requirements engineering. In: Proceedings of the 16th IEEE International Requirements Engineering Conference, pp. 71–80. IEEE (2008)
Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering (FOSE 2007), pp. 259–268. IEEE (2007)
Kramer, J., Magee, J.: A rigorous architectural approach to adaptive software engineering. J. Comput. Sci. Technol. 24(2), 183–188 (2009)
Lapouchnian, A., Yu, Y., Mylopoulos, J.: Requirements-driven design and configuration management of business processes. In: Alonso, G., Dadam, P., Rosemann, M. (eds.) BPM 2007. LNCS, vol. 4714, pp. 246–261. Springer, Heidelberg (2007)
Oreizy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. 14(3), 54–62 (1999)
Pimentel, J., Lucena, M., Castro, J., Silva, C., Santos, E., Alencar, F.: Deriving software architectural models from requirements models for adaptive systems: the stream-a approach. Requirements Eng. 17(4), 259–281 (2012)
Pimentel, J., Castro, J., Mylopoulos, J., Angelopoulos, K., Souza, V.E.S.: From requirements to statecharts via design refinement. In: Proceedings of the 29th Annual ACM Symposium on Applied Computing, SAC 2014, pp. 995–1000. ACM, New York (2014)
Souza, V.E.S.: Requirements-based software system adaptation. Ph.D. thesis, University of Trento, Italy (2012)
Silva Souza, V.E., Lapouchnian, A., Mylopoulos, J.: System identification for adaptive software systems: a requirements engineering perspective. In: Jeusfeld, M., Delcambre, L., Ling, T.-W. (eds.) ER 2011. LNCS, vol. 6998, pp. 346–361. Springer, Heidelberg (2011)
Souza, V.E.S., Lapouchnian, A., Robinson, W.N., Mylopoulos, J.: Awareness requirements. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 7475, pp. 133–161. Springer, Heidelberg (2013)
van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley, Hoboken (2009)
Whittle, J., Sawyer, P., Bencomo, N., Cheng, B.H.C., Bruel, J.-M.: Relax: incorporating uncertainty into the specification of self-adaptive systems. In: Proceedings of the 2009 17th IEEE International Requirements Engineering Conference, RE, RE 2009, pp. 79–88. IEEE Computer Society, Washington (2009)
Yu, Y., Lapouchnian, A., Liaskos, S., Mylopoulos, J., Leite, J.C.S.P.: From goals to high-variability software design. In: An, A., Matwin, S., Raś, Z.W., Ślęzak, D. (eds.) Foundations of Intelligent Systems. LNCS (LNAI), vol. 4994, pp. 1–16. Springer, Heidelberg (2008)
Nuseibeh, B.: Weaving together requirements and architectures. IEEE Comput. 34(3), 115–117 (2001). http://www.computer.org/csdl/mags/co/2001/03/r3115-abs.html
Acknowledgment
This work has been supported by the ERC advanced grant 267856 “Lucretius: Foundations for Software Evolution” (April 2011 – March 2016, http://www.lucretius.eu) and Brazilian research agencies CAPES and CNPq (process numbers 402991/2012-5, 485368/2013-7 and 461777/2014-2).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Angelopoulos, K., Souza, V.E.S., Mylopoulos, J. (2015). Capturing Variability in Adaptation Spaces: A Three-Peaks Approach. In: Johannesson, P., Lee, M., Liddle, S., Opdahl, A., Pastor López, Ó. (eds) Conceptual Modeling. ER 2015. Lecture Notes in Computer Science(), vol 9381. Springer, Cham. https://doi.org/10.1007/978-3-319-25264-3_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-25264-3_28
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-25263-6
Online ISBN: 978-3-319-25264-3
eBook Packages: Computer ScienceComputer Science (R0)