A Goal-Oriented Approach for the Generation and Evaluation of Alternative Architectures

  • Gemma Grau
  • Xavier Franch
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)


There is a recognized gap between requirements and architectures. There is also evidence that architecture evaluation, when done at the early phases of the development lifecycle, is an effective way to ensure the quality attributes of the final system. As quality attributes may be satisfied at a different extent by different alternative architectural solutions, an exploration and evaluation of alternatives is often needed. In order to address this issue at the requirements level, we propose to model architectures using the i* framework, a goal-oriented modelling language that allows to represent the functional and non-functional requirements of an architecture using actors and dependencies instead of components and connectors. Once the architectures are modelled, we propose guidelines for the generation of alternative architectures based upon existing architectural patterns, and for the definition of structural metrics for the evaluation of the resulting alternative models. The applicability of the approach is shown with the Home Service Robot case study.


Quality Attribute Software Architecture Knowledge Source Architecture Model Architectural Pattern 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Basili, V.R., Caldiera, G., Rombach, H.D.: The Goal Question Metric Approach. Encyclopedia of Software Engineering. Wiley, Chichester (1994)Google Scholar
  2. 2.
    Bastos, L.R.D., Castro, J.F.B.: Enhancing Requirements to derive Multi-Agent Architectures. In: Proceedings of WER 2004, pp. 127–139 (2004)Google Scholar
  3. 3.
    Bengtsson, P., Bosch, J.: Scenario-based Software Architecture Reengineering. In: Proceedings of the 5th International Conference on Software Reuse, pp. 308–317 (1998)Google Scholar
  4. 4.
    de Bruin, H., van Vliet, H.: Scenario-based Generation and Evaluation of Software Architectures. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 128–139. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Bryl, V., Massacci, Mylopoulos, J., Zannone, N.: Designing Security Requirements Models Through Planning. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 33–47. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  6. 6.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture. A System of Patterns, vol. 1. John’s Wiley & Sons Ltd, Chichester (2001)Google Scholar
  7. 7.
    Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishers, Dordrecht (2000)zbMATHGoogle Scholar
  8. 8.
    Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures. Methods and Case Studies. Addison-Wesley, Reading (2002)Google Scholar
  9. 9.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed Requirements Acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)zbMATHCrossRefGoogle Scholar
  10. 10.
    Dobrica, L., Niemelä, E.: A survey on software architecture analysis methods. IEEE Transactions on Software Engineering 28(7), 638–653 (2002)CrossRefGoogle Scholar
  11. 11.
    Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous and Practical Approach. International Thomson Computer Press (1996)Google Scholar
  12. 12.
    Franch, X., Maiden, N.: Modeling Component Dependencies to Inform their Selection. In: Erdogmus, H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Franch, X.: On the Quantitative Analysis of Agent-Oriented Models. In: Dubois, E., Pohl, K. (eds.) CAiSE 2006. LNCS, vol. 4001, pp. 495–509. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Franch, X., Grau, G., Quer, C.: A Framework for the Definition of Metrics for Actor-Dependency Models. In: Proceedings of RE 2004, pp. 348–349 (2004)Google Scholar
  15. 15.
    Genero, M., Piattini, M., Calero, C.: A Survey of Metrics for UML Class Diagrams. Journal of Object Technology 4(9), 59–92 (2005)Google Scholar
  16. 16.
    Grau, G., Franch, X.: ReeF: Defining a Customizable Reengineering Framework. In: CAiSE 2007. LNCS, vol. 4495, pp. 485–500. Springer, Heidelberg (2007)Google Scholar
  17. 17.
    Grau, G., Franch, X.: On the Adequacy of i* Models for Representing and Analysing Software Architectures. In: RIGiM 2007 (at ER 2007). Proceedings of the First International Workshop on Requirements, Intentions and Goals in Conceptual Modelling (to appear, 2007)Google Scholar
  18. 18.
    Grau, G., Franch, X., Ávila, S.: J-PRiM: A Java Tool for a Process Reengineering i* Methodology. In: Proceedings of RE 2006, pp. 352–353 (2006)Google Scholar
  19. 19.
    Grau, G., Franch, X., Maiden, N.A.M.: A Goal Based Round-Trip Method for System Development. In: Proceedings of REFSQ 2005, pp. 71–86 (2005)Google Scholar
  20. 20.
    Grünbacher, P., Egyed, A., Medvidovic, N.: Reconciling software requirements and architectures with intermediate models. Software and Systems Modeling 3(3), 235–253 (2004)CrossRefGoogle Scholar
  21. 21.
    The i* wiki (last accessed, May 2007),
  22. 22.
    Kang, K.C., Kim, M., Lee, J., Kim, B.: Feature-Oriented Re-engineering of Legacy Systems into Product Line Assets - a case study. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 45–56. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  23. 23.
    Kim, M., Lee, J., Kang, K.C., Hong, Y., Bang, S.: Re-engineering Software Architecture of Home Service Robots: A Case Study. In: Inverardi, P., Jazayeri, M. (eds.) ICSE 2005. LNCS, vol. 4309, pp. 505–513. Springer, Heidelberg (2006)Google Scholar
  24. 24.
    Kolp, M., Giorgini, P., Mylopoulos, J.: Organizational Patterns for Early Requirements Analysis. In: Eder, J., Missikoff, M. (eds.) CAiSE 2003. LNCS, vol. 2681, pp. 617–632. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    van Lamsweerde, A.: Goal-Oriented Requirements Engineering: A Guided Tour. In: Proceedings of ISRE 2001, pp. 249–263 (2001)Google Scholar
  26. 26.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  27. 27.
    Yu, E.: Modelling Strategic Relationships for Process Reengineering. PhD. thesis, University of Toronto (1995)Google Scholar
  28. 28.
    Yu, E.: Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering. In: ISRE 1997. 3rd IEEE Intl. Symposium on Requirements Engineering (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Gemma Grau
    • 1
  • Xavier Franch
    • 1
  1. 1.Universitat Politècnica de Catalunya (UPC), c/ Jordi Girona 1-3, Barcelona E-08034Spain

Personalised recommendations