J. Schönböck, G. Kappel, A. Kusel, W. Retschitzegger, W. Schwinger, M. Wimmer: Catch Me If You Can - Debugging Support for Model Transformations, in: Models in Software Engineering, Workshops and Symposia at MODELS 2009. Reports and Revised Selected Papers, Springer, LNCS 6002, 2010, ISBN: 978-3-642-12260-6, pages 5 - 20. Doi: 10.1007/978-3-642-12261-3_2


Model-Driven Engineering places models as first-class artifacts throughout the software lifecycle requiring the availability of proper transformation languages. Although numerous approaches are available, they lack convenient facilities for supporting debugging and understanding of the transformation logic. This is because execution engines operate on a low level of abstraction, hide the operational semantics of a transformation, scatter metamodels, models, transformation logic, and trace information across different artifacts, and provide limited verification support. To tackle these problems, we propose a Domain-Specific Language (DSL) on top of Colored Petri Nets (CPNs)-called Transformation Nets-for the execution and debugging of model transformations on a high level of abstraction. This formalism makes the afore hidden operational semantics explicit by providing a runtime model in terms of places, transitions and tokens, integrating all artifacts involved into a homogenous view. Moreover, the formal underpinnings of CPNs enable comprehensive verification of model transformations.

Catch Me If You Can – Debugging Support for Model Transformations