
information of the relations, but also can react to and
prevent changes to artefacts or to its relations
(traces).
Figure 1: Relation between models and code as time goes
by becomes less reliable.
Automated transformation of models-to-models,
models-to-code, as well as code-to-models, is
becoming a reality. These transformations generate
output artefacts from source artefacts. The relation
between input and output artefacts of a
transformation is just one, and obvious, type of
semantic relations among others. Object
Management Group QVT (Queries, Views and
Tranformations) (OMG, 2005) is aimed to
standardize not only transformations with models
but also other operations with models, like queries
and views. Our approach takes QVT as a starting
point to accomplish the construction of automated
transformations between models and implements a
way of maintaining traces between artefacts (models
and code) as well as reacting to changes for the sake
of system coherence. Reactive traceability is a way
to accomplish the maintenance of coherence
between artefacts with or without human
intervention.Our proposal is aligned with OMG
standards and recommendation like UML (OMG,
2010) and QVT. Even if QVT by itself has not a
complete implementation, it is however a starting
point to different approaches and products like Tata
ModelMorf (Tata, 2007) or Compuware Optimal J
(Compuware, 2010). Other concurrent approaches to
QVT include ATL (Eclipse, 2010), Mistral (Kurtev,
et al. 2005) and EML (Kolovos, et. al., 2006),
Executable UML (Mellor et al., 2002). The vision of
traceability in a MDD perspective is shared with
other initiatives, such as those in (Aizenbud-Reshef,
et al., 2006; Walderhaug, 2006; Oldevik, et al.
2006). Also, the ReacT-MDD vision uses meta-
modelling and model-based model conformance
(Paige et al., 2007).
In Section 2 this paper explains some general
concepts that are inherent to traceability. Section 3
introduces a reactive traceability conceptual model.
A prototype was developed that validated the
ReacT-MDD approach (ReacT-Workbench) and
enhanced his scope. In Section 4 are discussed some
practical issues like implementation decisions that
were made in this working prototype. Section 5
states some relevant conclusions of this work.
2 TRACEABILITY VIEWPOINTS
Transformations between models or between models
and code (usually from models to code and not the
opposite) are a relevant issue to reactive traceability.
After transformations are performed traces are
created (implicitly or explicitly) but this is not the
only action that can create traces. There are two
viewpoints (Figure 2) to the issue of creating traces:
a) in legacy applications one may consider artefacts
already existent and traces will instantiate and
describe some implicit or explicit semantic relations,
or dependencies, between them; b) from a starting
point in an artefact (diagram or code) it is necessary
to create (or generate) another artefact, using some
type of transformation.. These two viewpoints are
both necessary in a solution that implements reactive
traceability. The first item has a focus on creating
and maintaining the semantic relations between
existing artefacts and the word existing is a keyword
to understand this viewpoint. At some time of the
development process changes in the system will
become evolutions of an existing state. For each
change the system coherence is checked and
decisions are made about the new achieved system
state. The second gives more importance to the
generation process (Herrington, 2003; Dollard,
2004) and traces are relations between old and new
(generated) artefacts. The second viewpoint is
related to the IEEE traceability definition (IEEE,
1990): “the degree to which a relationship can be
established between two or more products of the
development process, especially products having a
predecessor-successor or master-subordinate
relationship to one another”. When a generation of a
set of artefacts occurs it is necessary to record the
ICEIS 2010 - 12th International Conference on Enterprise Information Systems
484