Advertisement

Transformation-Wise Design of Software Architectures

  • Fabian GilsonEmail author
  • Vincent Englebert
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 506)

Abstract

Stakeholders have to face requirements in increasing number and complexity, and the link between these requirements and design artifacts is primordial. Agile design methods and documentation techniques have emerged in the past years in order to trace the decision process and the rationale sustaining a software model. The present work proposes an integrated framework combining system requirement definitions, component-based models and model transformations. Architecturally significant requirements are explicitly linked to software architecture elements and iteratively refined or implemented by model transformations. Any transformation must be documented, even briefly, and the framework retains the transformations tree. This way, the iterative decision and design processes are completely documented for future reference or modification, i.e., designers can (i) see the mapping between a system requirement and its implementation in the architecture model, (ii) explore design alternatives or apply structural modifications without losing previous versions of the model, and finally (iii) at least understand partially the reasons why the model is how it is.

Keywords

Software architecture Design method Design rationale Traceability Model transformation 

References

  1. 1.
    Alexander, I.F., Stevens, R.: Writing Better Requirements. Addison-Wesley (2002)Google Scholar
  2. 2.
    de Boer, R.C., van Vliet, H.: On the similarity between requirements and architecture. J. Syst. Softw. 82(3), 544–550 (2009)CrossRefGoogle Scholar
  3. 3.
    Bosch, J., Molin, P.: Software architecture design: Evaluation and transformation. In: IEEE International Conference on the Engineering of Computer-Based Systems, p. 410 (1999)Google Scholar
  4. 4.
    Chen, L., Ali Babar, M., Nuseibeh, B.: Characterizing architecturally significant requirements. Softw. IEEE 30(2), 38–45 (2013)CrossRefGoogle Scholar
  5. 5.
    Gilson, F., Englebert, V.: Rationale, decisions and alternatives traceability for architecture design. In: Proceeding of the 5th European Conference on Software Architecture, Companion volume, p. 4. ACM (2011)Google Scholar
  6. 6.
    Gilson, F., Englebert, V.: Towards handling architecture design, variability and evolution with model transformations. In: Proceeding of the 5th Workshop on Variability Modeling of Software-Intensive Systems, pp. 39–48. ACM (2011)Google Scholar
  7. 7.
    Gilson, F., Englebert, V.: A domain specific language for stepwise design of software architectures. In: Proceeding of the 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2014), pp. 67–78. SciTePress (2014)Google Scholar
  8. 8.
    van Heesch, U., Avgeriou, P., Hilliard, R.: A documentation framework for architecture decisions. J. Syst. Softw. 85(4), 795–820 (2012)CrossRefGoogle Scholar
  9. 9.
    van Heesch, U., Avgeriou, P., Tang, A.: Does decision documentation help junior designers rationalize their decisions? a comparative multiple-case study. J. Syst. Softw. 86(6), 1545–1565 (2013)CrossRefGoogle Scholar
  10. 10.
    Hofmeister, C., Kruchten, P., Nord, R.L., Obbink, H., Ran, A., America, P.: A general model of software architecture design derived from five industrial approaches. J. Syst. Softw. 80(1), 106–126 (2007)CrossRefGoogle Scholar
  11. 11.
    Jansen, A., Avgeriou, P., van der Ven, J.S.: Enriching software architecture documentation. J. Syst. Softw. 82, 1232–1248 (2009)CrossRefGoogle Scholar
  12. 12.
    Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proceeding of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120. IEEE Computer Society, Washington, DC (2005)Google Scholar
  13. 13.
    Kazman, R., Klein, M., Clements, P.: ATAM: method for architecture evaluation. Technical report CMU/SEI-2000-TR-004, SEI, Carnegie Mellon University (2000)Google Scholar
  14. 14.
    Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Hofmeister, C., Crnković, I., Reussner, R. (eds.) QoSA 2006. LNCS, vol. 4214, pp. 43–58. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  15. 15.
    Malek, S., Medvidovic, N., Mikic-Rakic, M.: An extensible framework for improving a distributed software system’s deployment architecture. IEEE Trans. Softw. Eng. 38(1), 73–100 (2012)CrossRefGoogle Scholar
  16. 16.
    Matinlassi, M.: Quality-driven software architecture model transformation: Towards automation. Ph.D. thesis, ESPOO: VTT technical Research Centre of Finland, vTT Publications 608 (2006)Google Scholar
  17. 17.
    Mavin, A., Wilkinson, P.: Big ears (the return of “easy approach to requirements engineering”). In: Proceeding of the 18th IEEE International Requirements Engineering Conference, pp. 277–282 (2010)Google Scholar
  18. 18.
    Object Management Group: OMG Systems Modeling Language (OMG SysMLTM), version 1.3, June 2012. oMG Formal document number: formal/2012-06-01Google Scholar
  19. 19.
    Perovich, D., Bastarríca, M.C., Rojas, C.: Model-driven approach to software architecture design. In: ICSE Workshop on Sharing and Reusing Architectural Knowledge, pp. 1–8 (2009)Google Scholar
  20. 20.
    Rutle, A., Rossini, A., Lamo, Y., Wolter, U.: A category-theoretical approach to the formalisation of version control in MDE. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 64–78. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  21. 21.
    Tang, A., Ali Babar, M., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006)CrossRefGoogle Scholar
  22. 22.
    Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. J. Syst. Softw. 80(6), 918–934 (2007)CrossRefGoogle Scholar
  23. 23.
    Tekinerdogan, B., Özturk, K., Dogru, A.: Modeling and reasoning about design alternatives of software as a service architectures. In: Proceeding of the 9th Working IEEE/IFIP Conference on Software Architecture, pp. 312–319 (2011)Google Scholar
  24. 24.
    Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. IEEE Softw. 22, 19–27 (2005)CrossRefGoogle Scholar
  25. 25.
    Watkins, R., Neal, M.: Why and How of requirements tracing. IEEE Softw. 11, 104–106 (1994)CrossRefGoogle Scholar
  26. 26.
    Zimmermann, O., Koehler, J., Leymann, F., Polley, R., Schuster, N.: Managing architectural decision models with dependency relations, integrity constraints, and production rules. J. Syst. Softw. 82(8), 1249–1267 (2009)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.PReCISE Research CenterUniversity of NamurNamurBelgium

Personalised recommendations