author = {Gabor Guta},
title = {{Model-to-Text Transformation Modification by Examples}},
language = {english},
abstract = {In software industry model transformations are used in a more and more extensive manner. Model Transformation is about transforming a high level model into a different or more detailed representation. These transformations form the backbone of the Model Driven Software Engineering approach in which the development process is about to transform a high level model in several steps into executable software. Model-to-Text Transformations are a type of model transformations in which the result of the transformation is source code or configuration text. It is an active area of research on how the transformations can be created and modified effectively. We propose a new approach to model-to-text transformation modification to ease the enhancement and modification of the existing transformation programs. In our approach the transformation can be modified by providing example input/output pairs of the expected new behavior. The initial transformation is typically derived from the source code of a hand crafted prototype, which is an implementation of the example model. Several minor modifications are made on the transformation before it can generate the expected source code from the example models. This thesis is motivated by a project in which we have developed transformations iteratively and we concluded that the most part of the transformation development can be automated. To eliminate the complexity of a full featured transformation language we map the model-to-text transformation problem to a representation based on a special kind of automata called transducers. Furthermore, we aid the inference of the transducers from positive examples with an initial solution provided by the developer. We propose two algorithms to solve this inference problem. The first algorithm is insufficient for practical applicability. The lesson learned from construction of the first algorithm helped us to develop the improved second algorithm. To assess the quality of inference algorithms, we also define measurement methods which show that the second algorithm indeed performs better than the first one. Finally we apply our approach to building a complete system which is capable to infer modifications of XSLT programs.},
year = {2012},
translation = {0},
school = {Research Institute for Symbolic Computation},
length = {111}