Catch me if you can – debugging support for model transformations

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.

[1]  Jörg Desel,et al.  Application and Theory of Petri Nets 1998 , 2000, Lecture Notes in Computer Science.

[2]  Dániel Varró,et al.  Automated formal verification of visual modeling languages by model checking , 2004, Software & Systems Modeling.

[3]  Gabriele Taentzer,et al.  Precise Semantics of EMF Model Transformations by Graph Transformation , 2008, MoDELS.

[4]  Robert Wagner Developing Model Transformations with Fujaba , 2006 .

[5]  Angelika Kusel,et al.  TROPIC-A Framework for Building Reusable Transformation Components ? , 2009 .

[6]  Dániel Varró,et al.  Advanced model transformation language constructs in the VIATRA2 framework , 2006, SAC.

[7]  Gerti Kappel,et al.  A Petri Net Based Debugging Environment for QVT Relations , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[8]  Bernhard Schätz,et al.  Formalization and Rule-Based Transformation of EMF Ecore-Based Models , 2009, SLE.

[9]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[10]  Lars Michael Kristensen,et al.  Coloured Petri Nets - Modelling and Validation of Concurrent Systems , 2009 .

[11]  Frédéric Jouault,et al.  Transforming Models with ATL , 2005, MoDELS.

[12]  Paul Brna,et al.  An overview of Prolog debugging tools , 1991 .

[13]  Juan de Lara,et al.  Translating Model Simulators to Analysis Models , 2008, FASE.

[14]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[15]  Jim Steel,et al.  MOF QVT final adopted specification: meta object facility (MOF) 2.0 query/view/transformation specification. , 2005 .

[16]  Krzysztof Czarnecki,et al.  Feature-based survey of model transformation approaches , 2006, IBM Syst. J..

[17]  Jean Bézivin,et al.  Model Transformations in Practice Workshop , 2005, MoDELS.

[18]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[19]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[20]  Dániel Varró,et al.  Termination Analysis of Model Transformations by Petri Nets , 2006, ICGT.

[21]  Jim Steel,et al.  Practical Declarative Model Transformation with Tefkat , 2005, MoDELS Satellite Events.

[22]  Lars Michael Kristensen,et al.  Finding Stubborn Sets of Coloured Petri Nets Without Unfolding , 1998, ICATPN.

[23]  Gerti Kappel,et al.  Lost in Translation? Transformation Nets to the Rescue! , 2009, UNISCON.

[24]  M. Wimmer,et al.  Right or Wrong ? – Verification of Model Transformations using Colored Petri Nets , 2009 .

[25]  Michael Lawley,et al.  Forensic debugging of model transformations , 2007, MODELS'07.