Skip to main content
Log in

Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach

  • Quality RE for Sys. & Architecting
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22

Similar content being viewed by others

References

  1. 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

  2. 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

    Article  Google Scholar 

  3. 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

  4. Bass L, Clements P, Kazman R (2003) Software architecture in practice. Wesley Longman Publishing Co, Addison

    Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

  7. 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

  8. 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

    Article  Google Scholar 

  9. 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

  10. Castro J, Franch X, Mylopoulos J, Yu E (2010) Fourth international i* Workshop (i* ‘10). CEUR workshop proceedings, Hammamet, Tunisia, p 586

  11. 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

    Google Scholar 

  12. 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

    Article  MATH  Google Scholar 

  13. 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

    Google Scholar 

  14. Chung L, Nixon BA, Yu E, Mylopoulos J (2000) Non-functional requirements in software engineering. Springer, Berlin

  15. 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

  16. 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

    Article  Google Scholar 

  17. Dalpiaz F, Giorgini P, Mylopoulos. J Software Self-Reconfiguration: a BDI-based approach (Extended Abstract). Knowledge creation diffusion utilization (Algorithm 1)

  18. 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

    Article  MATH  Google Scholar 

  19. Dijkstra E (1975) A discipline of programming. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

  22. 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

    Google Scholar 

  23. 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

  24. 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

    Google Scholar 

  25. 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

  26. 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

  27. 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

  28. 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)

  29. 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

    Article  Google Scholar 

  30. 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

    Google Scholar 

  31. 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

  32. 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

  33. 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

  34. Lucena M (2010) STREAM: a systematic process to derive architectural models from requirements models. Thesis, Universidade Federal de Pernambuco

  35. 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

    Google Scholar 

  36. 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

  37. 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

  38. 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

  39. 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

  40. Pastor O, Molina JC (2010) Model-driven architecture in practice: a software production environment based on conceptual modeling. Springer, Berlin

    Google Scholar 

  41. 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

  42. 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

  43. 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

    Google Scholar 

  44. 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

  45. Taylor RN, Medvidovic N, Dashofy E (2009) Software architecture: foundations, theory and practice. Wiley, New York

    Google Scholar 

  46. Wohlin C, Runeson P, Höst M, Regnell B, Wesslen A (2000) Experimentation in software engineering: an introduction. Kluwer Academic Publishers, The Netherland

    Book  MATH  Google Scholar 

  47. Yu E (1995) Modelling strategic relationships for process reengineering. Thesis, University of Toronto

  48. 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

  49. 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

  50. 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

Download references

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

Authors

Corresponding author

Correspondence to João Pimentel.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-011-0126-z

Keywords

Navigation