Thèse de doctorat en Informatique
Sous la direction de Salah Sadou, Régis Fleurquin et de Chouki Tibermacine.
Soutenue le 15-12-2021
à Lorient , dans le cadre de École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes) , en partenariat avec Institut de recherche en informatique et systèmes aléatoires (Rennes) (laboratoire) et de Institut de Recherche en Informatique et Systèmes Aléatoires / IRISA (laboratoire) .
Le président du jury était Olivier Barais.
Les rapporteurs étaient Houari A. Sahraoui, Anne Etien.
Un métamodèle permet de capturer la connaissance du domaine par la définition de la structure du domaine (concepts et relations entre eux) et des contraintes (expressions logiques) souvent écrites en OCL pour préciser la sémantique statique. Les contraintes OCL ajoutées à un métamodèle sont de deux types : 1) les contraintes liées au domaine, qui diffèrent d'un domaine à un autre et qui sont exprimées sur la base des connaissances des experts ; 2) celles qui sont ajoutées à la majorité des métamodèles pour préciser certaines structures imprécises qui peuvent poser des problèmes lors de l'instanciation des modèles. Nous appelons ces structures les structures imprecises des métamodèles (MIS). Malheureusement, la tâche de spécifier les contraintes OCL est souvent négligée. En effet, on peut trouver dans la littérature de nombreux métamodèles avec un ensemble incomplet de contraintes OCL, ou même sans contraintes. Par conséquent, en partant d'un métamodèle avec un ensemble incomplet de contraintes OCL, il est possible de créer des modèles qui sont conformes au métamodèle, mais qui ne représentent pas le domaine visé. Dans la littérature, de nombreux travaux ont été réalisés concernant le langage OCL, plus particulièrement sur l'aide à la définition et à la génération automatique de contraintes OCL pendant la phase de conception du métamodèle, ou encore sur la co-évolution des contraintes OCL existantes après l'évolution de leur métamodèle. Dans cette thèse de doctorat, nous nous concentrons principalement sur les contraintes liées à la structure. Nous commençons par étudier "où" les contraintes OCL sont souvent définies dans le métamodèle, et "pourquoi" elles sont définies. Pour ce faire, nous réalisons une étude empirique sur les métamodèles et leurs contraintes OCL. Cette étude empirique a donné lieu à un ensemble de structures inexactes de métamodèles (MIS). Nous validons les résultats quantitativement et qualitativement. La deuxième contribution concerne la co-évolution des contraintes OCL après l'évolution de leur métamodèle. Dans ce contexte, nous avons proposé une approche basée sur les MIS pour compléter les approches de co-évolution existantes car elles se concentrent sur la co-évolution de l'ensemble des contraintes OCL, mais elles ne prennent pas en compte les nouveaux concepts qui peuvent être ajoutés dans la version évoluée du métamodèle. L'approche a été testée sur une étude de cas qui a donné des résultats encourageants.
Assisting the creation of OCL constraints
Metamodeling allows capturing domain knowledge through the definition of a domain structure and well-formedness rules often written in OCL to precise the static semantics. The OCL constraints added to a metamodel are of two types: 1) domain-related constraints, which differ from one domain to another and are expressed based on the experts’ knowledge; 2) those that are added to the majority of metamodels to precise some inaccurate structures that may cause problems when instantiating models. We call these structures Metamodel Inaccurate Structures (MIS). Unfortunately, one may find in the literature many metamodels with an incomplete set of OCL constraints, or even without constraints. Consequently, starting from a metamodel with an incomplete set of OCL constraints it is possible to create models that are conforming to the metamodel, but that does not represent the intended domain. In the literature, many works have been achieved regarding the OCL language, more particularly about assisting the definition and the automatic generation of OCL constraints during the metamodel design phase, or even the co- evolution of existing OCL constraints after the evolution of their metamodel. In this Ph.D. thesis, we focus on structure-related constraints. We start by studying "where" OCL constraints are often defined within the metamodel, and "why" are they defined. To do that we perform an empirical study over metamodels and their OCL constraints, which resulted in a set of Metamodel Inaccurate Structures (MIS). We validate the findings quantitatively and qualitatively. The second contribution is regarding the co-evolution of OCL constraints after the evolution of their metamodel. In this context, we have proposed an approach based on MIS to complete the existing co-evolution approaches since they focus on co-evolving the set of OCL constraints, but they do not take into consideration the new concepts that can be added in the metamodel evolved version. The approach has been tested on a case study which gave encouraging results.
Il est disponible au sein de la bibliothèque de l'établissement de soutenance.