Advertisement

Automating the Trace of Architectural Design Decisions and Rationales Using a MDD Approach

  • Elena Navarro
  • Carlos E. Cuesta
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5292)

Abstract

The impact of architecture is not only significant in the final structure of software, but also in the development process. Architecture itself is assembled by a network of design decisions (DD) composing a design rationale. Such rationale has often been neglected; however it is essential to deal with future change. This is also the role of traceability, the crosscutting relationship describing the evolution of software. The methodology ATRIUM provides the method to manage traceability, by using a Model-Driven Development (MDD) approach where every model element maintains links to related elements in previous and further stages. This proposal defines how these links have been exploited to support the tracing of DDs and their accompanying design rationales (DRs), and study their propagation. We also present how ATRIUM tools support this proposal by introducing DD/DRs and their traceability links from requirements to the target architectural model. These are automatically generated by M2M transformations, avoiding the error-prone task of managing them by hand.

Keywords

Design Decision Design Rationale Model-Driven Development Model-To-Model Transformation CASE Tool Traceability 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bosch, J.: Software Architecture: The Next Step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)Google Scholar
  2. 2.
    Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering. Kluwer Academic Publishing, Boston (2000)zbMATHGoogle Scholar
  3. 3.
    Czarnecki, K., Helsen, S.: Classification of Model Transformation Approaches. IBM Systems Journal 45(3), 621–645 (2006)CrossRefGoogle Scholar
  4. 4.
    Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed Requirements Acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)zbMATHCrossRefGoogle Scholar
  5. 5.
    Falessi, D., Becker, M., Cantone, G.: Design Decision Rationale: Experiences and Steps Ahead Towards Systematic Use. In: SHARK 2006. ACM DL, New York (2006)Google Scholar
  6. 6.
    Falessi, D., Cantone, G., Kruchten, P.: Value-Based Design Decision Rationale Documentation: Principles and Empirical Feasibility Study. In: 7th Working IEEE/IFIP Conf. on Softw. Architecture (WICSA 2008), pp. 189–198. IEEE CS, New York (2008)CrossRefGoogle Scholar
  7. 7.
    Farenhorst, R., Lago, P., van Vliet, H.: EAGLE: Effective Tool Support for Sharing Architectural Knowledge. Intl. J. Cooperative Information Syst. 16(3-4), 413–437 (2007)CrossRefGoogle Scholar
  8. 8.
    Garcia, A., Batista, T., Rashid, A., Sant’Anna, C.: Driving and Managing Architectural Decisions with Aspects. In: SHARK 2006. ACM DL, New York (2006)Google Scholar
  9. 9.
    GROWTH G3RD-CT-00794: EFTCOR: Environmental Friendly and cost-effective Technology for Coating Removal. European Project, 5th Framework Program (2003)Google Scholar
  10. 10.
    Harrison, N.B., Avgeriou, P., Zdun, U.: Using Patterns to Capture Architectural Decisions. IEEE Software 24(4), 38–45 (2007)CrossRefGoogle Scholar
  11. 11.
    ISO/IEC Standard 9126-1, Software Engineering- Product Quality-Part1: Quality Model, ISO Copyright Office, Geneva (2001)Google Scholar
  12. 12.
    Jansen, A., Bosch, J.: Software Architecture as a Set of Architectural Design Decisions. In: 5th Working IEEE/IFIP Conf. on Softw. Architecture (WICSA 2005), pp. 109–120 (2005)Google Scholar
  13. 13.
    Jansen, A., Bosch, J., Avgeriou, P.: Documenting After the Fact: Recovering Architectural Design Decisions. Journal of Systems and Software 81(4), 536–557 (2008)CrossRefGoogle Scholar
  14. 14.
    Jansen, A., van der Ven, J., Avgeriou, P., Hammer, D.K.: Tool Support for Architectural Decisions. In: 6th Working IEEE/IFIP Conf. on Software Architecture (WICSA 2007), p. 4. IEEE CS Press, New York (2007)CrossRefGoogle Scholar
  15. 15.
    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
  16. 16.
    Lago, P., van Vliet, H.: Explicit Assumptions Enrich Architectural Models. In: 27th Intl. Conf. on Soft. Engineering (ICSE 2005), pp. 206–214. IEEE CS Press, New York (2005)CrossRefGoogle Scholar
  17. 17.
    Mattsson, A., Lundell, B., Lings, B., Fitzgerald, B.: Experiences from Representing Software Architecture in a Large Industrial Project using Model-Driven Development. In: SHARK/ADI 2007. IEEE DL, New York (2007)Google Scholar
  18. 18.
    Medini, QVT Relations, http://projects.ikv.de/qvt
  19. 19.
    Navarro, E., Letelier, P., Gómez, A.: MORPHEUS: tool support to tailor requirements management to the specific project needs. Inf. & Soft. Technology (submitted, 2008)Google Scholar
  20. 20.
    Navarro, E., Letelier, P., Ramos, I.: Requirements and Scenarios: playing Aspect Oriented Software Architectures. In: 6th Working IEEE/IFIP Conference on Software Architecture (WICSA 2007) (short paper). IEEE DL, New York (2007)Google Scholar
  21. 21.
    Navarro, E., Letelier, P., Jaén, J., Ramos, I.: Supporting the Automatic Generation of Proto-Architectures. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 43–58. Springer, Heidelberg (2007) (Best poster award)CrossRefGoogle Scholar
  22. 22.
    Navarro, E.: Architecture Traced from RequIrements applying a Unified Methodology, PhD thesis, Computing Systems Department, UCLM (2007)Google Scholar
  23. 23.
    Navarro, E., Letelier, P., Mocholí, J.A., Ramos, I.: A Metamodeling Approach for Requirements Specification. J. of Computer Information Systems 47(5), 67–77 (2006)Google Scholar
  24. 24.
    OMG document ptc/05-11-01, QVT, MOF Query/Views/Transformations. Final adopted specification (2005)Google Scholar
  25. 25.
    Pérez, J., Ali, N., Carsí, J.A., Ramos, I.: Designing Software Architectures with an Aspect-Oriented Architecture Description Language. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 123–138. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  26. 26.
    Pérez, J., Navarro, E., Letelier, P., Ramos, I.: A Modelling Proposal for Aspect-Oriented Software Architectures. In: 13th IEEE Int. Conference and Workshop on the Engineering of Computer Based Systems (ECBS), pp. 32–41. IEEE CS, New York (2006)Google Scholar
  27. 27.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. ACM Software Engineering Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  28. 28.
    Selic, B.: The Pragmatics of Model-Driven Development. IEEE Soft. 20(5), 19–25 (2003)CrossRefGoogle Scholar
  29. 29.
    OMG, Software Process Engineering Metamodel (SPEM), Version 1.1 formal/05-01-06 (2005), http://www.omg.org/cgi-bin/doc?formal/2005-01-06
  30. 30.
    Sinnema, M., van der Ven, J., Deelstra, S.: Using Variability Modeling Principles to Capture Architectural Knowledge. In: SHARK 2006. ACM DL, New York (2006)Google Scholar
  31. 31.
    Sprinkle, J., Agrawal, A., Levendovszky, T., Shi, F., Karsai, G.: Domain Model Translation Using Graph Transformations. In: 10th IEEE International Conference on Engineering of Computer-Based Systems (ECBS 2003), pp. 159–167. IEEE CS, New York (2003)Google Scholar
  32. 32.
    Tang, A., Babar, M.A., Gorton, I., Han, J.: A Survey of Architecture Design Rationale. Journal of Systems & Software 79(12), 1792–1804 (2007)CrossRefGoogle Scholar
  33. 33.
  34. 34.
    Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22(2), 19–27 (2005)CrossRefGoogle Scholar
  35. 35.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Elena Navarro
    • 1
  • Carlos E. Cuesta
    • 2
  1. 1.Department of Computing SystemsUniversity of Castilla-La ManchaAlbaceteSpain
  2. 2.Dept. Computing Languages and Systems IIRey Juan Carlos UniversityMadridSpain

Personalised recommendations