A Model for Specifying Rationale Using an Architecture Description Language

  • Lakshitha de Silva
  • Dharini Balasubramaniam
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6903)

Abstract

Besides structural and behavioural properties, rationale plays a crucial role in defining the architecture of a software system. However, unlike other architectural features, rationale often remains unspecified and inaccessible to tools. Existing approaches for recording rationale are not widely adopted. This paper proposes a simple model for capturing rationales as part of an architecture specification and attaching them to elements in the architecture. The bi-directional links between rationales and elements enable forward and backward traceability. We describe a textual architecture description language named Grasp that implements this model, and illustrate its capabilities using an example.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Balasubramaniam, D., Silva, L.d., Jefferson, C., Kotthoff, L., Miguel, I., Nightingale, P.: Dominion: An architecture-driven approach to generating efficient constraint solvers. In: Proc. of the 9th Working IEEE/IFIP Conference on Software Architecture, p. 4 (2011)Google Scholar
  2. 2.
    Bosch, J.: Software architecture: The next step. In: Proc. of the 1st European Workshop on Software Architecture, pp. 194–199 (2003)Google Scholar
  3. 3.
    Burge, J.E., Brown, D.C.: SEURAT: integrated rationale management. In: Proc. of the 30th International Conference on Software Engineering, pp. 835–838 (2008)Google Scholar
  4. 4.
    Carignano, M.C., Gonnet, S., Leone, H.P.: A model to represent architectural design rationale. In: Proc. of WICSA/ECSA 2009, pp. 301–304 (2009)Google Scholar
  5. 5.
    ISO/IEC/IEEE: ISO/IEC 42010: Systems and Software Engineering – Architecture Description. ISO/IEEE (2009), (Draft: ISO/IEC WD4 42010)Google Scholar
  6. 6.
    Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: Proc. of the 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120 (2005)Google Scholar
  7. 7.
    Medvidovic, N., Taylor, R.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  8. 8.
    Parr, T.: ANTLR Parser Generator (2011), http://www.antlr.org/
  9. 9.
    Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  10. 10.
    Savolainen, J., Kuusela, J.: Framework for goal driven system design. In: Proc. of the 26th International Computer Software and Applications Conference, pp. 749–756 (2002)Google Scholar
  11. 11.
    Shaw, M., Garlan, D.: Software Architecture: Perspective of an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  12. 12.
    Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. Journal of Systems and Software 79(12), 1792–1804 (2006)CrossRefGoogle Scholar
  13. 13.
    Tang, A., Jin, Y., Han, J.: A rationale-based architecture model for design traceability and reasoning. Journal of Systems and Software 80(6), 918–934 (2007)CrossRefGoogle Scholar
  14. 14.
    Taylor, R., Medvidovic, N., Dashofy, E.: Software Architecture: Foundations, Theory, and Practice. Wiley, Chichester (2009)CrossRefGoogle Scholar
  15. 15.
    Tyree, J., Akerman, A.: Architecture decisions: Demystifying architecture. IEEE Software 22(2), 19–27 (2005)CrossRefGoogle Scholar
  16. 16.
    Zhu, L., Gorton, I.: UML profiles for design decisions and non-functional requirements. In: Proc. of the 2nd Workshop on SHAring and Reusing architectural Knowledge Architecture, Rationale, and Design Intent., p. 8 (2007)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Lakshitha de Silva
    • 1
  • Dharini Balasubramaniam
    • 1
  1. 1.School of Computer ScienceUniversity of St AndrewsSt AndrewsUK

Personalised recommendations