KHELLADI Djamel Eddine

doctorant à Sorbonne Université
Équipe : MoVe
https://sites.google.com/view/djameleddinekhelladi

Direction de recherche : Reda BENDRAOU

Co-encadrement : GERVAIS Marie-Pierre

Co-évolution des contraintes OCL suite à l'évolution des métamodèles

Le paradigme ingénierie-dirigée par les modèles (Model-Driven Engine MDE) encourage l'utilisation des modèles et des langages de modélisation durant le processus de développement afin d'améliorer la qualité et la productivité. Les métamodèles sont des composants essentiels de tout écosystème de langage de modélisation afin de définir les aspects structurels d'un domaine d'activité. En complément, l'Object Constraint Language (OCL) est utilisé pour spécifier en détail les aspects du domaine d'activité, par exemple plus de 750 contraintes viennent avec le métamodèle UML. Malheureusement, les métamodèles sont constamment soumis aux changements et évolution qui affectent les contraintes OCL définies qui peuvent avoir besoin d'être co-évoluées en conséquence. Bien que plusieurs approches aient été proposées pour détecter les changements d'un métamodèle lors de l'évolution et de les utiliser, par la suite, pour co-évoluer les contraintes OCL, ils ne peuvent toujours pas détecter une trace d'évolution complète et correcte du métamodèle tout en proposant une résolution unique par contrainte OCL impactée alors que des résolutions multiples et alternatives peuvent être appliquées.
Dans cette thèse, nous proposons une approche pour détecter les changements dans un métamodèle lors d'une évolution, tout en visant la complétude et une haute précision. Notre approche de détection considère les changements atomiques et complexes au cours de l'évolution. Par ailleurs, nous proposons une approche dédiée à la co-évolution des contraintes OCL tout en tenant compte des résolutions alternatives et à veiller à ce que seules les résolutions appropriées sont proposées à l'utilisateur pour chaque contrainte OCL impactée. Notre validation montre d'une part que le rappel (recall) de 100% est toujours atteint dans nos cas d'études avec une précision moyenne de 70,75%, qui est encore améliorée par nos heuristiques jusqu'à 91% et 100% dans certains cas. D'autre part, une moyenne de 92% et 93% respectivement syntaxiquement et sémantiquement correcte de co-évolution d'OCL sont atteintes dans nos études de cas. Les deux approches sont implémentées sous forme de plugins pour l'IDE Eclipse, un environnement de développement très répandu pour les développeurs de logiciels. Les plugins sont testés par nos partenaires industriels du projet ANR MoNoGe.

Soutenance : 30/09/2016

Membres du jury :

M. Jordi Cabot, Professeur ICREA, Université de Catalogne [Rapporteur]
M. Houari Sahraoui, Professeur, Université de Montréal [Rapporteur]
M. Alexander Egyed, Professeur, Université de Johannes Kepler
M. Olivier Barais, Professeur, Université de Rennes 1, Examinateur,
M. Jacques Malenfant, Professeur, Université Pierre et Marie Curie
M. Reda Bendraou, Professeur, Université Paris X
Mme. Marie-Pierre Gervais, Professeur, Université Paris X

Date de départ : 01/10/2016

Publications 2015-2018