A comparative study of architecture knowledge management tools

Recent research suggests that architectural knowledge, such as design decisions, is important and should be recorded alongside the architecture description. Different approaches have emerged to support such architectural knowledge (AK) management activities. However, there are different notions of and emphasis on what and how architectural activities should be supported. This is reflected in the design and implementation of existing AK tools. To understand the current status of software architecture knowledge engineering and future research trends, this paper compares five architectural knowledge management tools and the support they provide in the architecture life-cycle. The comparison is based on an evaluation framework defined by a set of 10 criteria. The results of the comparison provide insights into the current focus of architectural knowledge management support, their advantages, deficiencies, and conformance to the current architectural description standard. Based on the outcome of this comparison a research agenda is proposed for future work on AK tools.

[1]  Muhammad Ali Babar,et al.  A Tool for Managing Software Architecture Knowledge , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[2]  Philippe Kruchten,et al.  Sharing and Reusing Architectural Knowledge--Architecture, Rationale, and Design Intent , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[3]  Patricia Lago,et al.  Effective Tool Support for Architectural Knowledge Sharing , 2007, ECSA.

[4]  Jan Bosch,et al.  Software Architecture: The Next Step , 2004, EWSA.

[5]  C. Martin,et al.  Design traceability of complex systems , 1998, Proceedings Fourth Annual Symposium on Human Interaction with Complex Systems.

[6]  TangAntony,et al.  A comparative study of architecture knowledge management tools , 2010 .

[7]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[8]  Frank M. Shipman,et al.  Integrating different perspectives on design rationale: Supporting the emergence of design rationale from design communication , 1997, Artificial Intelligence for Engineering Design, Analysis and Manufacturing.

[9]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[10]  Michael L. Begeman,et al.  gIBIS: a hypertext tool for exploratory policy discussion , 1988, CSCW '88.

[11]  F. Nava,et al.  Attributes for Characterizing the Evolution of Architectural Design Decisions , 2007, Third International IEEE Workshop on Software Evolvability 2007.

[12]  Rafael Capilla,et al.  Modeling and Documenting the Evolution of Architectural Design Decisions , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[13]  Muhammad Ali Babar,et al.  Capturing and using software architecture knowledge for architecture-based software development , 2005, Fifth International Conference on Quality Software (QSIC'05).

[14]  Philippe Kruchten,et al.  Building Up and Reasoning About Architectural Knowledge , 2006, QoSA.

[15]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[16]  Robert L. Nord,et al.  Generalizing a Model of Software Architecture Design from Five Industrial Approaches , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[17]  William C. Regli,et al.  A Survey of Design Rationale Systems: Approaches, Representation, Capture and Retrieval , 2000, Engineering with Computers.

[18]  Patricia Lago,et al.  A Just-In-Time Architectural Knowledge Sharing Portal , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[19]  Rafael Capilla,et al.  A web-based tool for managing architectural design decisions , 2006, SOEN.

[20]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[21]  Muhammad Ali Babar,et al.  Introducing Tool Support for Managing Architectural Knowledge: An Experience Report , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[22]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[23]  Flavio Oquendo,et al.  Software Architecture: First European Workshop, EWSA 2004, St Andrews, UK, May 21-22, 2004, Proceedings , 2004 .

[24]  Jan Bosch,et al.  Evaluation of tool support for architectural evolution , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[25]  Jeff Tyree,et al.  Architecture decisions: demystifying architecture , 2005, IEEE Software.

[26]  David M. Weiss,et al.  Architecture reviews: practice and experience , 2005, IEEE Software.

[27]  Antony Tang,et al.  A rationale-based architecture model for design traceability and reasoning , 2007, J. Syst. Softw..

[28]  Zhenyu Wang,et al.  ACCA: An Architecture-Centric Concern Analysis Method , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[29]  Thomas P. Moran,et al.  Questions, Options, and Criteria: Elements of Design Space Analysis , 1991, Hum. Comput. Interact..

[30]  Björn Regnell,et al.  Is a Design Rationale Vital when Predicting Change Impact? A Controlled Experiment on Software Architecture Evolution , 2000, PROFES.

[31]  Muhammad Ali Babar,et al.  A Framework for Supporting Architecture Knowledge and Rationale Management , 2006 .

[32]  IEEE-SA Standards Board , 2000 .

[33]  Elaine J. Weyuker,et al.  Investigating metrics for architectural assessment , 1998, Proceedings Fifth International Software Metrics Symposium. Metrics (Cat. No.98TB100262).

[34]  Jan Bosch,et al.  Scenario-based software architecture reengineering , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[35]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[36]  Patricia Lago,et al.  Architectural Knowledge: Getting to the Core , 2007, QoSA.

[37]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[38]  Muhammad Ali Babar,et al.  Architectural Knowlege Management Strategies: Approaches in Research and Industry , 2007, Second Workshop on Sharing and Reusing Architectural Knowledge - Architecture, Rationale, and Design Intent (SHARK/ADI'07: ICSE Workshops 2007).

[39]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[40]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[41]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[42]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[43]  E. Jeffrey Conklin,et al.  A process-oriented approach to design rationale , 1991 .

[44]  Philippe Kruchten,et al.  Architectural knowledge and rationale: issues, trends, challenges , 2007, SOEN.

[45]  Paris Avgeriou,et al.  Sharing the Architectural Knowledge of Quantitative Analysis , 2008, QoSA.

[46]  Rafael Capilla,et al.  The Decision View of Software Architecture , 2005, EWSA.

[47]  Uwe Zdun,et al.  Using Patterns to Capture Architectural Decisions , 2007, IEEE Software.

[48]  Antony Tang,et al.  Software Architecture Design Reasoning: A Case for Improved Methodology Support , 2009, IEEE Software.