J. Sametinger, M. Riebisch: Evolution Support by Homogeneously Documenting Patterns, Aspects and Traces, 6th European Conference on Software Maintenance and Reengineering (CSMR 2002), Budapest, Hungary, March 11-13, 2002.
DOI: 10.1109/csmr.2002.995798

The evolution of complex software systems is promoted by software engineering principles and techniques like separation of concerns, encapsulation, stepwise refinement, and reusability of design solutions. Design patterns capture the expertise for reusable design solutions. Aspect-oriented programming is a methodology that enables the modularization of cross-cutting concerns. Traceability links designate dependencies between requirements, design, and source code. In order to support maintenance, documentation has to enable understandability by describing these issues. Descriptions have to facilitate tool support for automating documentation activities.

In this paper, we use the notion of patterns, aspects and traces for a homogeneous documentation approach. We integrate various types of documentation, keep track of traces from requirements to the source code, keep design information in the source code, and generate additional design views on software systems. We have implemented these ideas as an extension to javadoc, the documentation approach used by Java. This extension can be used to automatically generate views on the design and on aspects as well as on traceability links as part of the standard javadoc system documentation.

Keywords: evolution, maintenance, documentation, design pattern, traceability, object-oriented design, javadoc