Abstract
Some quality attributes are known to have an impact on the overall architecture of a system, so that they are required to be properly handled from the early beginning of the software development. For example, adaptability is a key concern for autonomic and adaptive systems, which brings to them the capability to alter their behavior in response to changes on their surrounding environments. In this paper, we propose a Strategy for Transition between Requirements and Architectural Models for Adaptive systems (STREAM-A). In particular, we use goal models based on the i* (i-Star) framework to support the design and evolution of systems that require adaptability. To obtain software architectures for such systems, the STREAM-A approach uses model transformations from i* models to architectural models expressed in Acme. Both the requirements and the architectural model are refined to accomplish the adaptability requirement.
Similar content being viewed by others
References
Alencar F, Castro J, Lucena M, Santos E, Silva C, Araújo J, Moreira A (2010) Towards modular i* models. In: Proceedings of the SAC’10 proceedings of the 2010 ACM symposium on applied computing. New York, USA, pp 292–297
Ali R, Dalpiaz F, Giorgini P (2010) A goal-based framework for contextual requirements modeling and analysis. Req Eng J 15(4):439–458. doi:10.1007/s00766-010-0110-z
Baresi L, Pasquale L (2010) Live goals for adaptive service compositions. In: Proceedings of the 2010 ICSE workshop on software engineering for adaptive and self-managing systems (SEAMS’10). New York, USA, pp 114–123. doi:10.1145/1808984.1808997
Bass L, Clements P, Kazman R (2003) Software architecture in practice. Wesley Longman Publishing Co, Addison
Bastos LRD, Castro J (2005) From requirements to multi-agent architecture using organisational concepts. SIGSOFT Softw Eng Notes 30(4):1–7. doi:10.1145/1082983.1082980
Bencomo N, Whittle J, Sawyer P, Filkenstein A, Letier E (2010) Requirements Reflection—requirements as runtime entities. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, vol 2 (ICSE’10). New York, USA, pp 199–202. doi:10.1145/1810295.1810329
Berry DM, Cheng B, Zhang J (2005) The four levels of requirements engineering for and in dynamic adaptive systems. In: Proceedings of the 11th international workshop on requirements engineering foundation for software quality (REFSQ). Porto, Portugal, p 5
Boer RCD, Vliet HV (2009) On the similarity between requirements and architecture. J Syst Softw 82(3):544–550. doi:10.1016/j.jss.2008.11.185
Bresciani P, Perini A, Giorgini P, Giunchiglia F, Mylopoulos J (2002) Modeling early requirements in Tropos: a transformation based approach. Agent-Oriented Software Engineering II—LNCS 2222/2002:151–168. doi:10.1007/3-540-70657-7_11
Castro J, Franch X, Mylopoulos J, Yu E (2010) Fourth international i* Workshop (i* ‘10). CEUR workshop proceedings, Hammamet, Tunisia, p 586
Castro J, Kolp M, Liu L, Perini A (2009) Dealing with complexity using conceptual models based on Tropos. Conceptual modeling: foundations and applications—essays in honor of John Mylopoulos. LNCS 5600:335–362. doi:10.1007/978-3-642-02463-4_18
Castro J, Kolp M, Mylopoulos J (2002) Towards requirements-driven information systems engineering the Tropos project. Inf Syst 27(6):365–389. doi:10.1016/S0306-4379(02)00012-1
Castro J, Silva C, Mylopoulos J (2003) Modeling organizational architectural styles in UML. Adv Inf Syst Eng LNCS 2681:111–126. doi:10.1007/3-540-45017-3_10
Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Springer, Berlin
Czarnecki K, Helsen S (2003) Classification of model transformation approaches. In: Proceedings of the 2nd workshop on generative techniques in the context of model-driven architecture. Anaheim, USA
Dalpiaz F, Giorgini P, Mylopoulos J (2009) An architecture for requirements-driven self-reconfiguration. Adv Inf Syst Eng LNCS 5565:246–260. doi:10.1007/978-3-642-02144-2_22
Dalpiaz F, Giorgini P, Mylopoulos. J Software Self-Reconfiguration: a BDI-based approach (Extended Abstract). Knowledge creation diffusion utilization (Algorithm 1)
Dardenne A, Lamsweerde A, van Fickas S (1993) Goal-directed requirements acquisition. Sci Comput Prog 20(1–2):3–50. doi:10.1016/0167-6423(93)90021-G
Dijkstra E (1975) A discipline of programming. Prentice-Hall, Englewood Cliffs
Estrada H, Rebollar AM, Pastor O, Mylopoulos J (2006) An empirical evaluation of the i* framework in a model-based software generation environment. Adv Inf Syst Eng LNCS 4001:513–527. doi:10.1007/11767138_34
Garlan D, Monroe R, Wile D (1997) Acme: an architecture description interchange language. In: Proceedings of the 1997 conference of the centre for advanced studies on collaborative research (CASCON’97). Toronto, Canada
Giorgini P, Mylopoulos J, Nicchiarelli E, Sebastiani R (2003) Formal reasoning techniques for goal models. J Data Semant LNCS 2800:1–20. doi:10.1007/978-3-540-39733-5_1
Goulão M, Abreu FBE (2003) Bridging the gap between Acme and UML 2.0 for CBD. In: Proceedings of the specification and verification of component-based systems—SAVCBS 2003. Helsinki, pp 75–89
Grau G, Franch X (2007) On the adequacy of i* models for representing and analyzing software architectures. Advances in conceptual modeling: foundations and applications. LNCS 4802:296–305
Grau G, Franch X, Mayol E, Ayala C, Cares C, Haya M, Navarrete F, Botella P, Quer C (2005) RiSD: A methodology for building i* strategic dependency models. In: Proceedings of the 17th international conference on software engineering and knowledge engineering (SEKE’05). Taipei, Taiwan, pp 259–266
Grau G, Franch X, Ávila S (2006) J-PRiM: A java tool for a process reengineering i* methodology. In: Proceedings of the 14th IEEE international conference on requirements engineering (RE’06). Minneapolis, USA, pp 359–360. doi:10.1109/RE.2006.36
Jian Y, Li T, Liu L, Yu E (2010) Goal-oriented requirements modelling for running systems. In: Proceedings of the 1st international workshop on requirements@run-time. Sidney, Australia
Jureta IJ, Borgida A, Ernst NA, Mylopoulos J (2010) Techne: Towards a new generation of requirements modeling languages with goals, preferences, and inconsistency handling. In: Proceedings of the 18th IEEE international requirements engineering conference (RE’10)
Kolp M, Giorgini P, Mylopoulos J (2006) Multi-agent architectures as organizational structures. Auto Agents Multi-Agent Syst 13(1):3–25. doi:10.1007/s10458-006-5717-6
Lamsweerde AV (2003) From system goals to software architecture. Formal methods for software architectures. LNCS 2804:25–43. doi:10.1007/978-3-540-39800-4_2
Lamsweerde AV (2001) Goal-oriented requirements engineering a guided tour. In: Proceedings of the 5th IEEE international symposium on requirements engineering. Toronto, Canada, pp 249–262. doi:10.1109/ISRE.2001.948567
Lamsweerde AV (2004) Goal-oriented requirements enginering: a roundtrip from research to practice. In: Proceedings of the 12th IEEE international requirements engineering conference (RE 2004). Kyoto, Japan, pp 4–7
Lapouchnian A, Mylopoulos J (2009) Modeling domain variability in requirements engineering with contexts. Conceptual Modeling—ER 2009. LNCS 5829:115–130. doi:10.1007/978-3-642-04840-1_11
Lucena M (2010) STREAM: a systematic process to derive architectural models from requirements models. Thesis, Universidade Federal de Pernambuco
Lucena M, Castro J, Silva C, Alencar F, Santos E, Pimentel J (2009) A model transformation approach to derive architectural models from goal-oriented requirements models. On the move to meaningful internet systems: OTM 2009 workshops. LNCS 5872:370–380. doi:10.1007/978-3-642-05290-3_49
Lucena M, Silva C, Santos E, Alencar F, Castro J (2009) Applying transformation rules to improve i* models. In: Proceedings of the 21st international conference on software engineering and knowledge engineering (SEKEʼ09). Boston, USA, pp 43–48
Mens T, Czarnecki K, Van Gorp P (2005) A taxonomy of model transformations. In: Proceedings of the language engineering for model-driven software development. Dagstuhl, Germany
Morandini M, Penserini L, Perini A (2008) Towards goal-oriented development of self-adaptive systems. In: Proceedings of the 2008 ICSE workshop on software engineering for adaptive and self-managing systems (SEAMS’08). New York, USA, pp 9–16. doi:10.1145/1370018.1370021
Others (2009) Software engineering for self-adaptive systems: a research roadmap. Software engineering for self-adaptive systems. LNCS 5525/2009:1-26. doi:10.1007/978-3-642-02161-9_1
Pastor O, Molina JC (2010) Model-driven architecture in practice: a software production environment based on conceptual modeling. Springer, Berlin
Pimentel J, Santos E, Castro J (2010) Conditions for ignoring failures based on a requirements model. In: Proceedings of the 22nd international conference on software engineering and knowledge engineering—SEKE 2010. Redwood, USA, pp 48–53
Qureshi NA, Perini A, Ernst NA, Mylopoulos J (2010) Towards a continuous requirements engineering framework for self-adaptive systems. In: Proceedings of the 1st international workshop on requirements@run-time. Sidney, Australia
Silva LF, Batista TV, Garcia A, Medeiros AL, Minora L (2007) On the symbiosis of aspect-oriented requirements and architectural descriptions. Early aspects: current challenges and future directions. LNCS 4765:75–93. doi:10.1007/978-3-540-76811-1_5
Subramanian N, Chung L (2001) Software architecture adaptability: An NFR approach. In: Proceedings of the 4th international workshop on principles of software evolution (IWPSE’01). New York, USA, pp 52–61. doi:10.1145/602461.602470
Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory and practice. Wiley, New York
Wohlin C, Runeson P, Höst M, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, The Netherland
Yu E (1995) Modelling strategic relationships for process reengineering. Thesis, University of Toronto
Yu E, Castro J, Perini A (2008) Strategic actors modeling with i* Tutorial notes. In: Proceedings of the 16th IEEE international requirements engineering conference (RE’08). Barcelona, Spain
Yu E, Mylopoulos J (1998) Why goal-oriented requirements engineering. In: Proceedings of the 4th international workshop on requirements engineering: foundations of software quality—REFSQ’98. Pisa, Italy, pp 15–22
Yu Y, Leite JCSDP, Mylopoulos J (2004) From goals to aspects: discovering aspects from requirements goal models. In: Proceedings of the 12th IEEE international requirements engineering conference (RE 2004). Kyoto, Japan, pp 33–42. doi:10.1109/ICRE.2004.1335662
Acknowledgments
This work has been supported by the Brazilian institutions National Council for Scientific and Technological Development (CNPq), Coordination for the Perfecting of High Education Personnel (CAPES), and by the Erasmus Mundus External Cooperation Window - Lot 15 Brazil.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Pimentel, J., Lucena, M., Castro, J. et al. Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach. Requirements Eng 17, 259–281 (2012). https://doi.org/10.1007/s00766-011-0126-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-011-0126-z