Debugging model-to-model transformations

J. Schonbock, G. Kappel, M. Wimmer, A. Kusel, W. Retschitzegger, W. Schwinger

Research output: Chapter in Book/Report/Conference proceedingsConference contributionpeer-review

2 Citations (Scopus)


Model-Driven Engineering places models as first-class artifacts throughout the software lifecycle requiring the availability of proper model transformation languages. Although numerous languages are available, they lack convenient facilities for debugging and supporting understanding of the transformation logic. This is not least because the underlying transformation engines operate on a low level of abstraction, hiding the operational semantics of a high-level language. Consequently, low-level debugging information is available only, e.g., variable values. To tackle these limitations, we propose a DSL on top of Colored Petri Nets (CPNs) - called Transformation Nets (TNs) - for the execution and debugging of model transformations. By integrating all artifacts of a transformation, i.e., metamodel elements, model elements, and transformation logic, a runtime model for model transformations is provided, making the afore hidden operational semantics explicit. Based on this runtime model we present various means for debugging by means of an example showing how a QVT-Relations (QVT-R) specification may be debugged using TNs.

Original languageEnglish
Title of host publicationAPSEC 2012 - Proceedings of the 19th Asia-Pacific Software Engineering Conference
PublisherIEEE Computer Society
Number of pages10
ISBN (Print)9780769549224
Publication statusPublished - 2012
Externally publishedYes
Event19th Asia-Pacific Software Engineering Conference, APSEC 2012 - Hong Kong, China
Duration: 4 Dec 20127 Dec 2012

Publication series

NameProceedings - Asia-Pacific Software Engineering Conference, APSEC
ISSN (Print)1530-1362


Conference19th Asia-Pacific Software Engineering Conference, APSEC 2012
CityHong Kong


  • debugging
  • mde
  • model transformations


Dive into the research topics of 'Debugging model-to-model transformations'. Together they form a unique fingerprint.

Cite this