A multi-paradigm foundation for model transformation language engineering

  • Authors:
  • Eugene Syriani

  • Affiliations:
  • McGill University (Canada)

  • Venue:
  • A multi-paradigm foundation for model transformation language engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Systems developed today are increasing in complexity. Model-Driven Engineering (MDE) attempts to solve the issues related to complexity through the use of models to describe systems at different levels of abstraction. Multi-Paradigm Modelling (MPM) promotes modelling all parts of the system, at the most appropriate level(s) of abstraction, using the most appropriate formalism(s), to reduce accidental complexity. MPM principles state that transformations too should be modelled explicitly. Model transformations are at the very heart of MDE. Transformations allow one to execute, analyse, synthesize code, optimize, compose, synchronize, and evolve models.Despite a robust theoretical foundation, model transformation still suffers from scaling and correctness problems. The growing interest in model transformation has lead to a plethora of model transformation languages. They provide tremendous value for developers, but in all existing implementations, the transformation language is hard-coded. This thesis contributes to the engineering of model transformation languages at the foundation level, following MPM principles. It proposes a framework for designing transformation languages tailored to the problem to be solved. As a result, model transformation languages engineered in this framework maximally constrain the modeller to only use the constructs needed. The aim is to increase the modeller’s productivity, by raising the level of abstraction at which transformations can be specified and by lowering the mismatch between model transformation languages and their application domain.After thoroughly analyzing the uses of model transformation and their supporting languages, we extract what is common to approaches and express model transformation at the level of their primitive building blocks. We introduce T-Core, a collection of transformation language primitives for model transformation. A Python implementation of T-Core is developed. It offers an API of primitive transformation operations that act on models represented as graphs. This opens the door for non-MDE developers to “properly” interact and manipulate models, making the link between the programming world and the modelling world. In the framework developed, model transformation languages are modelled explicitly. This supports developers in creating custom-built transformation languages. The approach semi-automatically generates model transformation languages adapted to the application domain. MoTif is another model transformation language engineered with this framework. Its syntax and semantics are completely modelled, as well as its execution engine. MoTif is the result of merging T-Core with DEVS, a discrete-event simulation formalism. It thus introduces the notion of time in model transformation. This allows one to easily model reactive systems and consequently optimize and calibrate them. Finally, the notion of exception handling in model transformation is explored to strengthen the robustness and dependability of the software built using this technology.