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. / 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.
Identifer | oai:union.ndltd.org:theses.fr/2018LIL1I051 |
Date | 04 October 2018 |
Creators | Allon, Matthieu |
Contributors | Lille 1, Geib, Jean-Marc |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.1826 seconds