Using Aspect-Oriented Programming to Trace Imperative Transformations
Résumé
With the advent of languages and tools dedicated to model-driven Engineering (e.g., ATL, Kermeta, EMF), as well as reference metamodels (MOF, Ecore), model-driven development processes can be used easily. However, the maturity of a software engineering technology should be evaluated by the degree of use of trace ability practices. One of the first major challenges consists in generating automatically trace information during a transformation process. Our contribution is a tool dedicated to infer traces during the execution of a model transformation. This tool is based on aspect oriented programming which permits us to isolate management of traces and imperative transformations code in a Java/EMF environment. A meta-model of nested traces allows the visualisation of traces as nested graphs which represent the trace ability links and the control flow diagram of the execution. A model-to-model case study is proposed as an example to illustrate our contribution.