Return to search

A multi-paradigm foundation for model transformation language engineering

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. / Les systèmes développés aujourd'hui sont de plus en plus complexes. Pour résoudre les problèmes liés à la complexité, l'Ingénierie Dirigée par les Modèles (IDM) utilise des modèles qui décrivent les systèmes à différents niveaux d'abstraction. La Modélisation à Paradigmes Multiples (MPM) renchérie cette approche en modélisant toutes les composantes du système, aux niveaux d'abstraction les plus appropriés, tout en utilisant les formalismes les plus adéquats, afin de réduire toute complexité accidentelle. Les principes MPM stipulent que les transformations doivent aussi être modélisées explicitement. Les transformations de modèles sont au coeur de l'IDM. Elles permettent d'exécuter, d'analyser, de générer le code, d'optimiser, de composer, de synchroniser et de faire évoluer les modèles. Bien que la transformation de modèles soit basée sur de solides théories, les problèmes de mise à l'échelle et de validité restent néanmoins encore à résoudre. Vu l'intérêt suscité par la transformation de modèles, on observe de nos jours une vaste sélection de langages de transformation de modèles. Bien qu'ils apportent une énorme plus-value au développeur, l'implémentation de ces langages de transformation demeure cependant codée en dur. Cette thèse contribue aux fondements de l'ingénierie de langages de transformation de modèles, tout en suivant les principes MPM. Elle propose un système qui permet la conception de langages de transformation adaptés au problème à résoudre. Ces langages de transformation restreignent au maximum le modélisateur à n'utiliser que les concepts nécessaires. Le but est d'accroître la productivité du modélisateur, en élevant le niveau d'abstraction auquel les transformations sont spécifiées, tout en réduisant l'inadéquation du langage de transformation de modèles avec son domaine d'application. Après avoir analysé les différents usages des transformations de modèles et de leurs langages, nous avons identifié et extrait la partie commune à toutes les approches. Ceci permet alors de définir les transformations de modèles à partir des concepts essentiels qui les composent. Nous présentons alors T-Core, une collection d'opérateurs primitifs pour la transformation de modèles. T-Core est implémentée en Python, offrant ainsi une API disponible aux opérations primitives de transformation de modèles qui agissent sur des modèles représentés sous forme de graphes. Ceci permet à des programmeurs de « proprement » interagir avec des modèles et de les manipuler, faisant ainsi le lien entre le monde de la programmation et celui de la modélisation. Le système établi dans cette thèse modélise de manière explicite les langages de transformation de modèles et permet alors de créer des langages de transformation personnalisés. L'approche génère semi-automatiquement des langages de transformation adaptés au domaine d'application. MoTif est un autre langage de transformation de modèles construit à partir de ce système. Sa syntaxe, sa sémantique et son moteur d'exécution sont entièrement modélisés. MoTif est le résultat de la fusion entre T-Core et DEVS, un formalisme de simulation à événements discrets. MoTif permet alors d'introduire la notion de temps dans les transformations de modèles, ce qui permet de facilement modéliser des systèmes réactifs et, par conséquent, les optimiser et les calibrer. Finalement, nous explorons la notion de gestion d'exception au sein des transformations de modèles, afin de renforcer la fiabilité des logiciels bâtis à l'aide de cette technologie.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.103550
Date January 2011
CreatorsSyriani, Eugene
ContributorsHans Louis Vangheluwe (Internal/Supervisor)
PublisherMcGill University
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation
Formatapplication/pdf
CoverageDoctor of Philosophy (School of Computer Science)
RightsAll items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.
RelationElectronically-submitted theses.

Page generated in 0.0018 seconds