Ingénierie dirigée par les modèles basée sur les templates
(Template based model driven engineering)

URL d'accès : http://ori-nuxeo.univ-lille1.fr/nuxeo/site/esupver...

Auteur(s):  Allon, Matthieu
Date de soutenance : 04/10/2018
Éditeur(s) : Université Lille1 - Sciences et Technologies 

Langue : Français
Directeur(s) de thèse :  Geib, Jean-Marc
Laboratoire : Centre de recherche en informatique, signal et automatique de Lille (CRIStAL)
Ecole doctorale : École doctorale Sciences pour l'Ingénieur (Lille)

Classification : Informatique
Discipline : Informatique et applications
Mots-clés : Templates
Tissage
Instanciation
Hiérarchies de modèles
Ingénierie dirigée par les modèles
Logiciels -- Réutilisation
UML (informatique)
Design patterns

Résumé : Pour répondre à la complexité grandissante des systèmes, la réutilisation de modèles est employée dans les phases amont d’analyse et de conception. Dans cette thèse, nous nous intéressons à cette réutilisation en privilégiant les modèles paramétrés que sont les templates. Ceux-ci expriment des connaissances générales applicables à différents contextes. Sur la base des ‘aspectual templates’ possédant un modèle en paramètre, nous proposons une ingénierie dédiée. Celle-ci est structurée autour d’un dépôt de modèles et de deux espaces de conception : celui des templates et celui des modèles applicatifs, chaque espace supportant des activités de modélisation spécifiques. Nous contribuons à cette ingénierie en approfondissant trois axes. Tout d’abord, en examinant la relation ‘bind’ des templates UML, nous isolons l’instanciation comme opération de plein droit pour construire un modèle basé sur la structure du template. Les questions d’instanciation partielle et de séquences d’instanciation sont aussi examinées. Ensuite, pour répondre à des besoins d’évolution de modèles, nous proposons des opérateurs pour détecter et supprimer des templates dans un modèle. Enfin, nous étudions l’application de templates sur une hiérarchie de modèles dont les usages se rencontrent dans le versionnement et la modélisation en équipe. Pour faciliter ces usages, des règles définissant la validité de telles applications et leurs effets sur les relations entre leurs modèles résultats sont données. Nous appliquons cette ingénierie en proposant des opérateurs, leur mise en œuvre dans une technologie réutilisable et leur expérimentation en modélisant un serveur REST d’agrégation d’informations.


Résumé (anglais) : Against the growing complexity of systems, model reuse is often used in the analysis and design steps of software development. In this thesis, we explore this kind of reuse by focusing on templates which are parameterized models. Templates capture general knowledge that can be adapted to various application contexts. On the basis of ‘aspectual templates’ which have a model as parameter, we propose a dedicated engineering. This one is structured around a model repository and two design spaces : one for templates one and another for application models, each space supporting specific modeling activities. We contribute to this engineering by studying three topics First, through the analysis of the UML ‘bind’ relationship, we isolate instantiation as a first-class operation to build a model based on the template structure. Questions about partial instantiation and instantiation sequences are further examined. Then, in order to ease model understanding and evolution, we provide operators for detecting and deleting templates inside models. Finally, we study the application of templates on model hierarchies which occurs in model versioning and team modeling. To facilitate these uses, rules defining the validity of such application and their effects on the relations between resulting models are given. We apply this engineering by presenting corresponding operators, their implementation in a reusable technology and their experimentation to model a REST server of data curation.


Cité Scientifique BP 30155 59653 VILLENEUVE D'ASCQ CEDEX Tél.:+33 (0)3 20 43 44 10