This chapter introduces a tracability solution for use in a model-driven software development approach. It argues that a trace model based on a provided traceability metamodel will provide a flexible solution for all types of artifacts to be traced througout the lifetime of a software system. The proposed traceability solution is demonstrated in the BusCatcher example where traces are established and analyzed. The authors hope that the metamodel and solution design can assist researchers and tool vendors in the development of unified trace models and services for model-driven software development approaches. Only then can the full potential of traceability be achieved.
How can (trace) relations between the artifacts involved in a MDSD project be established, used and managed in order to improve control over the quality of artifacts throughout the lifetime of a software system?
This problem can be further broken down into three subproblems:
Artifact tools must create traceability information;
Transformation information must be shared with other tools; and
Services must be specified to improve software development process.
This chapter proposes a generic solution for traceability in MDSD that offers a metamodel and set of service specifications that is meant to cover both the specification and appliance of traceability. The core of the proposed traceability solution is a generic metamodel which can be used by a traceability manager to build a model of which artifacts and relations to trace, and which information to include in the traces. Further, the solution defines a set of extensions to the generic traceability metamodel. These extensions predefine reusable artifact and relation trace types, and are considered to be of common interests for various appliers of traceability. The predefined semantics of the extensions enable the development of tools with more predefined traceability support, and can also simplify and guide the development of trace models.
The objectives of this chapter are to:
Show the usefulness of a shared traceability solution in (model-based) software development projects;
Present a generic traceability solution for lifelong artifact traceability;
Propose a method for incorporating traceability into the development process and tools; and
Demonstrate the use of traceability services in an example.
The next section presents the background and the state of the art of traceability in software development. Then, a set of core traceability requirements and services are specified before a complete traceability solution is described. The described solution is used in a trivial example to demonstrate traceability concepts and services before remarks on future trends and concluding remarks are given.