Exploiting Model Transformation Examples for Easy Model Transformation Handling (Learning and Recovery)

Hajer Saada 1
1 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
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 textit{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.
Document type :
Complete list of metadatas

Cited literature [47 references]  Display  Hide  Download

Contributor : Clémentine Nebut <>
Submitted on : Sunday, October 16, 2016 - 8:51:51 PM
Last modification on : Friday, May 17, 2019 - 11:41:37 AM


  • HAL Id : tel-01382345, version 1



Hajer Saada. Exploiting Model Transformation Examples for Easy Model Transformation Handling (Learning and Recovery). Software Engineering [cs.SE]. Université Monpellier 2, 2013. English. ⟨tel-01382345⟩



Record views


Files downloads