Building Up and Reasoning About Architectural Knowledge

  • Philippe Kruchten
  • Patricia Lago
  • Hans van Vliet
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4214)


Architectural knowledge consists of architecture design as well as the design decisions, assumptions, context, and other factors that together determine why a particular solution is the way it is. Except for the architecture design part, most of the architectural knowledge usually remains hidden, tacit in the heads of the architects. We conjecture that an explicit representation of architectural knowledge is helpful for building and evolving quality systems. If we had a repository of architectural knowledge for a system, what would it ideally contain, how would we build it, and exploit it in practice? In this paper we describe a use-case model for an architectural knowledge base, together with its underlying ontology. We present a small case study in which we model available architectural knowledge in a commercial tool, the Aduna Cluster Map Viewer, which is aimed at ontology-based visualization. Putting together ontologies, use cases and tool support, we are able to reason about which types of architecting tasks can be supported, and how this can be done.


Design Decision Software Architecture Property Decision Information Visualization Bayesian Belief Network 
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.
    Bass, L., et al.: Software Architecture in Practice. Addison-Wesley, Reading (2003)Google Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    Buckingham Shum, S.: Analyzing the usability of a Design Rational Notation. In: Moran, T.P., Carroll, J.M. (eds.) Design Rationale Concepts, Techniques, and Use, pp. 185–215. Lawrence Erlbaum Associates, Mahwah (1996)Google Scholar
  4. 4.
    Burge, J.E., Brown, D.C.: Reasoning with design rationale. In: Gero, J.S. (ed.) Artificial Intelligence in Design 2000, pp. 611–629. Kluwer Academic Publishers, Netherlands (2000)Google Scholar
  5. 5.
    Clements, P., Bachmann, F., Bass, L., et al.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Boston (2002)Google Scholar
  6. 6.
    Conklin, J., Begeman, M.L.: gIBIS: A tool for all reasons. Journal of the American Society for Information Science 40 (1989)Google Scholar
  7. 7.
    Fekete, J.-D.: The InfoVis Toolkit. In: IEEE Symposium on Information Visualization 2004 (INFOVIS 2004), pp. 167–174 (2004)Google Scholar
  8. 8.
    Fluit, C., Sabou, M., van Harmelen, F.: Ontology-based information visualisation. In: Geroimenko, V., Chen, C. (eds.) Visualising the Semantic Web. Springer, Heidelberg (2005)Google Scholar
  9. 9.
    Fowler, M.: Who Needs an Architect. IEEE Software 20(5), 11–13 (2003)CrossRefGoogle Scholar
  10. 10.
    Granitzer, M., Kienreich, W., Sabol, V., et al.: Evaluating a System for Interactive Exploration of Large, Hierarchically Structured Document Repositories. In: IEEE Symposium on Information Visualization 2004 (INFOVIS 2004), pp. 127–133. IEEE CS, Los Alamitos (2004)Google Scholar
  11. 11.
    Hayes, J.H., Dekhtyar, A., Sundaram, S.K.: Improving After the Fact Tracing and Mapping: Supporting Software Quality Predictions. IEEE Software 22, 30–37 (2005)CrossRefGoogle Scholar
  12. 12.
    IEEE standard 1471:2000–Recommended practice for architectural description of software intensive systems. IEEE, Los Alamitos (2000)Google Scholar
  13. 13.
    Klein, M.: DRCS: An Integrated System for Capture of Designs and Their Rationale. In: Gero, J.S. (ed.) Artificial Intelligence in Design 1992, pp. 393–412. Kluwer AP, Dordrecht (1993)Google Scholar
  14. 14.
    Kruchten, P.: The 4+1 View Model of Architecture. IEEE Software 12(6), 45–50 (1995)CrossRefGoogle Scholar
  15. 15.
    Kruchten, P.: An Ontology of Architectural Design Decisions. In: 2nd Groningen Workshop on Software Variability Management, Rijksuniversiteit Groningen (2004)Google Scholar
  16. 16.
    Lago, P., van Vliet, H.: Explicit Assumptions Enrich Architectural Models. In: Proceeding of ICSE 2005, pp. 206–214. ACM Press, New York (2005)Google Scholar
  17. 17.
    Lee, J.: Design Rationale: Understanding the Issues. IEEE Expert 12, 78–85 (1997)CrossRefGoogle Scholar
  18. 18.
    Lee, J.: SIBYL: a tool for managing group design rationale. In: ACM conference on Computer-supported cooperative work (CSCW 1990), pp. 79–92 (1990)Google Scholar
  19. 19.
    Myers, K.L., Zumel, N.B., Garcia, P.: Acquiring Design Rationale Automatically. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 14 (2000)Google Scholar
  20. 20.
    Nonaka, I., Takeuchi, H.: The Knowledge-Creating Company: How Japanese Companies Create the Dynamics of Innovation. Oxford University Press, Oxford (1995)Google Scholar
  21. 21.
    Rus, I., Lindvall, M.: Knowledge Management in Software Engineering. IEEE Software 19, 26–38 (2002)CrossRefGoogle Scholar
  22. 22.
    Tang, A., Babar, M.A., Gorton, I., et al.: A Survey of Architecture Design Rationale. In: WICSA 5. IEEE CS, Los Alamitos (2005)Google Scholar
  23. 23.
    Tang, A., Nicholson, A., Jin, Y., et al.: Using Bayesian Belief Networks for Change Impact Analysis in Architecture Design. In: WICSA 5. IEEE CS, Los Alamitos (2005)Google Scholar
  24. 24.
    Tufte, E.R.: Visual explanations: images and quantities, evidence and narrative. Graphics Press LLC, Cheshire (1997)zbMATHGoogle Scholar
  25. 25.
    Tyree, J., Akerman, A.: Architecture Decisions: Demystifying Architecture. IEEE Software 22, 19–27 (2005)CrossRefGoogle Scholar
  26. 26.
    van der Ven, J.S., et al.: Using Architectural decisions. In: Hofmeister, C., Crnkovic, I., Reussner, R., Becker, S. (eds.) Perspectives in Software Architecture Quality, Universitaet Karlsruhe, Fakultaet fuer Informatik (2006)Google Scholar
  27. 27.
    van Ham, F.: Using Multilevel Call Matrices in Large Software Projects. In: IEEE Symposium on Information Visualization 2003 (INFOVIS 2003), pp. 227–232. IEEE CS, Los Alamitos (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Philippe Kruchten
    • 1
  • Patricia Lago
    • 2
  • Hans van Vliet
    • 2
  1. 1.University of British Columbia VancouverCanada
  2. 2.Vrije UniversiteitAmsterdamThe Netherlands

Personalised recommendations