The Software Architecture Warehouse is a Web-based tool to capture, manage and analyze architectural knowledge. SAW aims at making the principal design decisions over a system’s architecture explicit, transparent and reusable. It features support for the entire design workflow of the software architect: from knowledge capture and exploration of the design space, through reuse of knowledge artifacts to collaborative decision making and assessment of their quality by measuring and analyzing the captured artifacts.
SAW lets architects visually explore the design space to discover relevant design issues and alternatives by browsing and searching. The design space can be traversed by following relations between design issues, by navigating through tags associated with related knowledge and by discovering known architecture alternatives for each design issue under study. Browsing through the design space is offered both through classical textual navigation as well as with two-dimensional graph-based visualization of knowledge items together with relations between them.
Textual navigation is very useful to give access to a rich detailed view of the knowledge stored in SAW but requires the architect to build up a mental navigation map of the design space. To support the architect in this task, SAW complements the textual navigation with a graphical representation of the relationships between design artifacts offering easy switching between overlooking birds-eye view and focused inspection. The visualization can also be filtered interactively by showing only certain types of knowledge items. Also, items are grouped to different scopes (e.g.) so that the architect can quickly filter out irrelevant information.
A visual approach to knowledge exploration is important because it gives both the overview over the design space so that the architect can easily assess its complexity and size before zooming into specific design issues. Also, as the architect focus moves from issue to issue the visualization can also give insight about the context in which the knowledge items are to be found.
SAW offers continuos monitoring on the status and the dynamics of design space and project space. Monitoring helps with tracking the design process, detecting which parts of the design space have already been considered during the design discussion.
Metrics are a basic analytical tool to quantify properties of the design and project space managed by SAW. They help both to validate the quality of the captured knowledge as well as to make quantitative predictions over the quality of a design.
If you would like to learn more about SAW, please refer to our publications.