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.
Directeurs de thèse : Jean-Marc Geib, Gilles Vanwormhoudt (Co-directeur) Rapporteurs : Olivier Barais, Christelle Urtado Examinateurs (rices) : Laurence Duchien, Alexis Muller
Thesis of the team CARAMEL defended on 04/10/2018