3.7. Traceability

After transformation, it is important to have a trace model recording what happened during the transformation (e.g. linking a class and its table). This information is useful for retransformations and other tasks such as model reuse and impact analysis. Retransformation in the context of traces ensures that a source model element is mapped to the same target model element even if key values of the source or target model element have changed (incremental update). QVT-Relations states that traces should be derived from a transformation execution. The traces (precisely, the generated trace model) reference related elements in the source and target models and are used by the engine in retransformations. Other clients can also evaluate the traces for other purposes.

[Note] Note

Because trace (meta)models are derived from transformations, drastic changes in the transformation (e.g. variable names) may cause the trace (meta)model to be obsolete. The QVT standard does not address this aspect and it has not been implemented in medini. Retransformation with obsolete traces is equivalent to transformation without trace, therefore duplicate elements may be created in the target model.