This presentation was created for the SATURN conference series and does not necessarily reflect the positions and views of the Software Engineering Institute.
DistriNet is a research lab with 60+ researchers. The general domain of expertise and innovation of DistriNet is the development of advanced open and distributed software applications. The research is application driven and is conducted in close collaboration with industry. One particular class of applications we target is that of decentralized systems that are characterized by a high degree of dynamism and change in either the problem or the system’s environment. Example domains of interest are manufacturing control, supply chains, inland shipping, and traffic control.
To document software architecture, we follow the approach of SEI Views and Beyond (V&B). V&B is an approach for documenting software architecture by means of a set of relevant views and adding information that applies to more than one view. Views describe (parts of) the system from different perspectives, exposing different quality attributes that are of interest for particular stakeholders.
In several projects in which we applied V&B, we found that managing and maintaining a consistent architectural documentation is a tedious task, including maintaining the mapping between views, maintaining the related view packets within each view packet, updating context diagrams, maintaining consistency w.r.t. combined views, etc.
While V&B offers a well-defined approach to organizing architectural documentation, there is a lack of support in ADLs and associated tools for documenting software architectures that comprise several, interrelated views. Existing ADL tools (e.g. AADL, ArchStudio, AcmeStudio) offer several ways to organize architectural documentation but do not support views as first-class concepts of architectural documentation. From our experience, there is a gap between the state of the art on documenting software architectures and the state of the practice in ADL tool support for documenting architecture.
We advocate that developing ADLs and tool support specifically targeted at view-based architectural descriptions is imperative. This can significantly increase the level of comfort for managing view-based architectural descriptions. As a first step, we investigate extending an existing ADL, i.e., xADL, with support for documenting a number of relations among view packets of structural views. We integrated this extension in ArchStudio and used this extended tool for documenting the architectures of a traffic control system as well as a digital newspaper publishing system. We observed that the tool significantly improves consistency management. Another interesting benefit is that the tool enables an architect to generate composed views on the fly, which was found to be useful in the interaction with stakeholders, particularly developers.
Currently, we are expanding the scope of xADL and Archstudio with support for documenting view packets and their relations across multiple views. From our experience, we put forward a number of challenges that are key to translating the existing body of knowledge on views and relations into proper tool support. These challenges include (1) selecting a set of practical views and relations, (2) formally specifying these views and relations, and (3) designing a tool that provides an intuitive user interface, while hiding the complexity that lies beneath.