A Proposal of Features to Support Analysis and Debugging of Declarative Model Transformations with Graphical Syntax by Embedded Visualizations
Florian Ege, Matthias Tichy · 2019
In model-driven software engineering (MDSE), chains of model transformations are used to turn a source model via a series of intermediate models into a target artifact. At times such a transformation chain does not deliver the expected result, either because a particular transformation step fails due to unmet preconditions, or the produced target artifact is not the desired one. To better understand the transformation process, and to locate and correct defects in the models or transformations involved, developers need appropriate tool support for analysis and debugging. MDSE tools provide a spectrum of techniques for analysis. These range from model checking approaches for proving logical properties of transformations to low-level stepwise de-bugging functionality that exposes how particular algorithms, e.g., graph matching, are implemented. However, these existing analysis features often do not present concrete suggestions directed at locating and fixing defects, or require developers to reason about their models and transformations in a procedural way. We focus on declarative model-to-model transformations with graphical syntax and consider defects located in source models or transformation specifications. For each of those defects, we sketch how a specific approach based on visualizing information integrated in the graphical syntax could support identifying and fixing that defect. These techniques aim towards enabling developers to analyze models and transformations on the same level of abstraction and with representations in the same syntax they normally work with.