[Back]


Doctor's Theses (authored and supervised):

H. Saada:
"Exploiting Model Transformation Examples for Easy Model Transformation Handling (Learning and Recovery)";
Supervisor, Reviewer: M. Huchard, B. Baudry, G. Kappel; Institut für Softwaretechnik und Interaktive Systeme, 2013; oral examination: 2013-12-04.



German abstract:
Model Driven Engineering (MDE) considers models as first class artifacts. Each model
conforms to another model, called its metamodel which defines its abstract syntax and its
semantics. Various kinds of models are handled successively in an MDE development cycle.
They are manipulated using, among others, programs called model transformations.
A transformation takes as input a model in a source language and produces a model in a
target language. The developers of a transformation must have a strong knowledge about
the source and target metamodels which are involved and about the model transformation
language. This makes the writing of the model transformation difficult.
In this thesis, we address the problem of assisting the writing of a model transformation
and more generally of understanding how a transformation operates. We adhere to the
Model Transformation By example (MTBE) approach, which proposes to create a model
transformation using examples of transformation. MTBE allows us to use the concrete
syntaxes defined for the metamodels. Hence, the developers do not need in-depth knowledge
about the metamodels. In this context, our thesis proposes two contributions. As a
first contribution, we define a method to generate operational transformation rules from
transformation examples. We extend a previous approach which uses Relational Concept
Analysis as a learning technique for obtaining transformation patterns from 1-1 mapping
between models. We develop a technique for extracting relevant transformation rules from
these transformation patterns and we use JESS language and engine to make the rules executable.
We also study how we better learn transformation rules from examples, using
transformation examples separately or by gathering all the examples. The second contribution
consists in recovering transformation traces from transformation examples. This trace
recovery is useful for several purposes as locating bugs during the execution of transformation
programs, or checking the coverage of all input models by a transformation. In our
context, we expect also that this trace will provide data for a future model transformation
learning technique. We first address the trace recovery problem with examples coming
from a transformation program. We propose an approach, based on a multi-objective
meta-heuristic, to generate the many-to-many mapping between model constructs which
correspond to a trace. The fitness functions rely on the lexical and structure similarity between
the constructs. We also refine the approach to apply it to the more general problem
of model matching.

Keywords:
MDE, model transformation, MTBE, operational rules, model transformation traces, model matching, FCA, JESS, meta-heuristic, genetic algorithm

Created from the Publication Database of the Vienna University of Technology.