Une approche heuristique pour l’apprentissage de transformations de modèles
complexes à partir d’exemples

L’ingénierie dirigée par les modèles (IDM) est un paradigme d’ingénierie du logiciel bien établi, qui préconise l’utilisation de modèles comme artéfacts de premier ordre dans les activités de développement et de maintenance du logiciel. La manipulation de plusieurs modèles durant le cycle de vie du logiciel motive l’usage de transformations de modèles (TM) afin d’automatiser les opérations de génération et de mise à jour des modèles lorsque cela est possible. L’écriture de transformations de modèles demeure cependant une tâche ardue, qui requiert à la fois beaucoup de connaissances et d’efforts, remettant ainsi en question les avantages apportés par l’IDM. Afin de faire face à cette problématique, de nombreux travaux de recherche se sont intéressés à l’automatisation des TM. L’apprentissage de transformations de modèles par l’exemple (TMPE) constitue, à cet égard, une approche prometteuse. La TMPE a pour objectif d’apprendre des programmes de transformation de modèles à partir d’un ensemble de paires de modèles sources et cibles fournis en guise d’exemples. Dans ce travail, nous proposons un processus d’apprentissage de transformations de modèles par l’exemple. Ce dernier vise à apprendre des transformations de modèles complexes en s’attaquant à trois exigences constatées, à savoir, l’exploration du contexte dans le modèle source, la vérification de valeurs d’attributs sources et la dérivation d’attributs cibles complexes. Nous validons notre approche de manière expérimentale sur 7 cas de transformations de modèles. Trois des sept transformations apprises permettent d’obtenir des modèles cibles parfaits. De plus, une précision et un rappel supérieurs à 90% sont enregistrés au niveau des modèles cibles obtenus par les quatre transformations restantes. Model-driven engineering (MDE) is a well-established software engineering paradigm that promotes models as main artifacts in software development and maintenance activities. As several models may be manipulated during the software life-cycle, model transformations (MT) ensure their coherence by automating model generation and update tasks when possible. However, writing model transformations remains a difficult task that requires much knowledge and effort that detract from the benefits brought by the MDE paradigm. To address this issue, much research effort has been directed toward MT automation. Model Transformation by Example (MTBE) is, in this regard, a promising approach. MTBE aims to learn transformation programs starting from a set of source and target model pairs supplied as examples. In this work, we propose a process to learn model transformations from examples. Our process aims to learn complex MT by tackling three observed requirements, namely, context exploration of the source model, source attribute value testing, and complex target attribute derivation. We experimentally evaluate our approach on seven model transformation problems. The learned transformation programs are able to produce perfect target models in three transformation cases, whereas, precision and recall higher than 90% are recorded for the four remaining ones.

Keyphrases: Apprentissage de transformations de modèles, Transformation de modèles par l’exemple, Ingénierie dirigée par les modèles, Génie logiciel basé sur la recherche, Model transformation learning, Model transformation by example, Model-driven engineering, Search-based software engineering