Towards Requirements and Architecture Co-evolution

  • João Pimentel
  • Jaelson Castro
  • Emanuel Santos
  • Anthony Finkelstein
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 112)


The relationship between requirements and architectures is an important research field on software engineering. One of its challenges is to provide proper support for their co-evolution, i.e., how to assess the mutual impact of requirements and architecture changes on each other, as well as how to react to these changes in order to prevent misalignment between them.We advocate the use of a single goal model to express both requirements and architectural concerns. In this paper we put forward an approach for requirements and architecture co-evolution considering such a model. Moreover, we outline the reasoning required in order to support forward and backward co-evolution of service oriented systems.


System architecture Requirements engineering Software evolution Self-Adaptation Service-oriented architectures Autonomics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alencar, F., Castro, J., Lucena, M., Santos, E., Silva, C., Araújo, J., Moreira, A.: Towards modular i* models. In: 25th ACM Symposium on Applied Computing, pp. 292–297 (2010)Google Scholar
  2. 2.
    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.) BMMDS 2009 and EMMSAD 2009. LNBIP, vol. 29, pp. 326–338. Springer, Heidelberg (2009)Google Scholar
  3. 3.
    Allen, R., Douence, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. 4.
    Andersson, J.: Issues in Dynamic Software Architectures (2000)Google Scholar
  5. 5.
    Boer, R., Vliet, H.: On the Similarity between Requirements and Architecture. The Journal of Systems and Software 82(3), 544–550 (2009)CrossRefGoogle Scholar
  6. 6.
    Castro, J., Lucena, M., Silva, C., Alencar, F., Santos, E., Pimentel, J.: Changing attitudes towards the generation of architectural models. Journal of Systems and Software 85(3), 463–479 (2012)CrossRefGoogle Scholar
  7. 7.
    Cleland-Huang, J., Marrero, W., Berenbach, B.: Goal Centric Traceability: Using Virtual Plumblines to Maintain Critical Systemic Qualities. IEEE Transactions on Software Engineering 34(5) (2008)Google Scholar
  8. 8.
    Dermeval, D., Soares, M., Alencar, F., Santos, E., Pimentel, J., Castro, J., Lucena, M., Silva, C., Souza, C.: Towards an i*-based Architecture Derivation Approach. In: Proceedings of the 5th International i* Workshop, Italy, pp. 66–71 (2011)Google Scholar
  9. 9.
    Dowling, J., Cahill, V.: The K-Component Architecture Meta-model for Self-Adaptive Software. In: Matsuoka, S. (ed.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  10. 10.
    Fernandez-Ramil, J., Perry, D., Madhavji, N.H. (eds.): Software Evolution and Feedback: Theory and Practice. Wiley, Chichester (2006)Google Scholar
  11. 11.
    Franch, X.: Incorporating Modules into the i* Framework. In: Pernici, B. (ed.) CAiSE 2010. LNCS, vol. 6051, pp. 439–454. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Franch, X., Botella, P.: Putting Non-functional Requirements into Software Architecture. In: 9th International Workshop on Software Specification and Design (1998)Google Scholar
  13. 13.
    Franch, X., Grünbacher, P., Oriol, M., Burgstaller, B., Dhungana, D., López, L., Marco, J., Pimentel, J.: Goal-driven Adaptation of Service-Based Systems from Runtime Monitoring Data. In: 5th IEEE Workshop on Requirements Engineering for Services, Germany (2011)Google Scholar
  14. 14.
    Garlan, D., Perry, D.: Introduction to the Special Issue on Software Architecture. Journal IEEE Transactions on Software Engineering 21(4) (1995)Google Scholar
  15. 15.
    Giorgini, P., Mylopoulos, J., Nicciarelli, E., Sebastiani, R.: Formal Reasoning Techniques for Goal Models. In: 21st International Conference on Conceptual Modeling (2002)Google Scholar
  16. 16.
    Grau, G., Franch, X.: On the Adequacy of i* Models for Representing and Analyzing Software Architectures. In: Hainaut, J.-L., Rundensteiner, E.A., Kirchberg, M., Bertolotto, M., Brochhausen, M., Chen, Y.-P.P., Cherfi, S.S.-S., Doerr, M., Han, H., Hartmann, S., Parsons, J., Poels, G., Rolland, C., Trujillo, J., Yu, E., Zimányie, E. (eds.) ER Workshops 2007. LNCS, vol. 4802, pp. 296–305. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Hall, J., Jackson, M., Laney, R., Nuseibeh, B., Rapanotti, L.: Relating software requirements and architectures using problem frames. In: IEEE Joint International Requirements Engineering Conference (2002)Google Scholar
  18. 18.
    Hill, T., Supakkul, S., Chung, L.: Confirming and Reconfirming Architectural Decisions on Scalability: A Goal-Driven Simulation Approach. In: Meersman, R., Herrero, P., Dillon, T. (eds.) OTM 2009 Workshops. LNCS, vol. 5872, pp. 327–336. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Horkoff, J., Yu, E.: Qualitative, Interactive, Backwards Analysis of i* Models. Computer, 43–46 (2008)Google Scholar
  20. 20.
    Inverardi, P., Muccini, H., Pelliccione, P.: Checking consistency between architectural models using SPIN. In: Workshop From Software Requirements to Architectures (2001)Google Scholar
  21. 21.
    Jian, Y., Li, T., Liu, L., Yu, E.: Goal-Oriented Requirements Modelling for Running Systems. In: 1st International Workshop on Requirements at Run-Time (2010)Google Scholar
  22. 22.
    Pohl, K., Sikora, E.: The Co-Development of System Requirements and Functional Architecture. In: Conceptual Modeling in Information Systems Engineering, pp. 229–246 (2007)Google Scholar
  23. 23.
    Lapouchnian, A., Mylopoulos, J.: Modeling Domain Variability in Requirements Engineering with Contexts. In: Laender, A.H.F., Castano, S., Dayal, U., Casati, F., de Oliveira, J.P.M. (eds.) ER 2009. LNCS, vol. 5829, pp. 115–130. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  24. 24.
    Lucena, M., Castro, J., Silva, C., Alencar, F., Santos, E., Pimentel, J.: A Model Transformation Approach to Derive Architectural Models from Goal-Oriented Requirements Models. In: Meersman, R., Herrero, P., Dillon, T. (eds.) OTM 2009 Workshops. LNCS, vol. 5872, pp. 370–380. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  25. 25.
    Moody, D., Heymans, P., Matulevicius, R.: Visual syntax does matter: improving the cognitive effectiveness of the i* visual notation. Requirements Engineering Journal 15(2), 141–175 (2010)CrossRefGoogle Scholar
  26. 26.
    Morales, E., Franch, X., Martinez, A., Estrada, H.: Considering Technology Representation in Service-Oriented Business Models. In: 5th IEEE Workshop on Requirements Engineering for Services, Germany, pp. 482–487 (2011)Google Scholar
  27. 27.
    Nuseibeh, B.: Weaving the Software Development Process Between Requirements and Architectures. IEEE Computer 34(3), 115–117 (2001)CrossRefGoogle Scholar
  28. 28.
    Oriol, M., Franch, X., Marco, J., Ameller, D.: Monitoring Adaptable SOA-Systems using SALMon. In: Workshop on Service Monitoring, Adaptation and Beyond, pp. 19–28 (2008)Google Scholar
  29. 29.
    Pahl, C., Gacitua-Decar, V., Wang, M., Bandara, K.Y.: A Coordination Space Architecture for Service Collaboration and Cooperation. In: Salinesi, C., Pastor, O. (eds.) CAiSE Workshops 2011, Part VI. LNBIP, vol. 83, pp. 366–377. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  30. 30.
    Pimentel, J., Franch, X., Castro, J.: Measuring Architectural Adaptability in i* Models. In: 14th Ibero-American Conference on Software Engineering, CIBSE, April 27-29 (2011)Google Scholar
  31. 31.
    Pimentel, J., Lucena, M., Castro, J., Silva, C., Alencar, F., Santos, E.: Deriving Adaptable Software Architectures from Requirements Models: The STREAM-A approach. Requirements Engineering Journal (2011) (published online)Google Scholar
  32. 32.
    Pimentel, J., Santos, E., Castro, J.: Conditions for ignoring failures based on a requirements model. In: 22nd International Conference on Software Engineering and Knowledge Engineering, USA, pp. 48–53 (2010)Google Scholar
  33. 33.
    Pimentel, J., Santos, E., Castro, J.: Anticipating Requirements Changes – Using Futurology in Requirements Elicitation. International Journal of Information System Modeling and Design 3(2), 89–111 (2012)CrossRefGoogle Scholar
  34. 34.
    Pinto, M., Fuentes, L., Troya, J.M.: DAOP-ADL: An Architecture Description Language for Dynamic Component and Aspect-Based Development. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 118–137. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  35. 35.
    Qureshi, N., Perini, A., Ernst, N., Mylopoulos, J.: Towards a Continuous Requirements Engineering Framework for Self-Adaptive Systems. In: 1st RE @ Run-Time (2010)Google Scholar
  36. 36.
    Razavizadeh, A., Cîmpan, S., Verjus, H., Ducasse, S.: Software System Understanding via Architectural Views Extraction According to Multiple Viewpoints. In: Meersman, R., Herrero, P., Dillon, T. (eds.) OTM 2009 Workshops. LNCS, vol. 5872, pp. 433–442. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  37. 37.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall (1996)Google Scholar
  38. 38.
    Taylor, R., Medvidovic, N., Dashofy, I.: Software Architecture: Foundations, Theory, and Practice. John Wiley & Sons (2009)Google Scholar
  39. 39.
    Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J. (eds.): Social Modeling for Requirements Engineering. The MIT Press, Cambridge (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • João Pimentel
    • 1
  • Jaelson Castro
    • 1
  • Emanuel Santos
    • 1
  • Anthony Finkelstein
    • 2
  1. 1.Centro de InformáticaUniversidade Federal de Pernambuco - UFPERecifeBrazil
  2. 2.Department of Computer ScienceUniversity College London - UCLUnited Kingdom

Personalised recommendations