Tool support for the development of model transformations

The paradigm of model-driven software development is based on the creation of engineering models of high abstraction levels followed by a series of automated transformation steps to provide development artifacts such as source code, configuration files or documentation.

The definition of these transformation steps are supported by dedicated transformation languages, such as VIATRA that defines transformation using high level transformation rules. These rules can either be executed explicitly, or set up to react to changes in the model, resulting in indirect control over the order of rule execution.

The correctness of model transformations is a critical issue, as incorrect model transformation programs can produce an erroneous final product, even from a correct engineering model. Investigating transformation errors, however, is a challenging task, partially due to their high level of abstraction and the lack of tooling support.

Debugging imperative software is an already well explored topic, with a wide range of different available debugging tools. The knowledge concentrated in this field however needs to be adapted to the field of model transformations.

The goal of this thesis is the exploration of traditional software debugging methodologies, and adapting them to the field of model transformations. Based on the gathered information, a transformation debugging framework is designed, implemented and evaluated.