Thèse soutenue

Vers une assistance à la manipulation de transformations de modèles par l'exploitation d'exemples de transformation
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Hajer Saada
Direction : Marianne HuchardHouari A. SahraouiClémentine Nebut
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 04/12/2013
Etablissement(s) : Montpellier 2
Ecole(s) doctorale(s) : Information, Structures, Systèmes (Montpellier ; École Doctorale ; 2009-2014)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....)
Jury : Président / Présidente : Marie-Pierre Gervais
Examinateurs / Examinatrices : Marianne Huchard, Houari A. Sahraoui, Clémentine Nebut, Marie-Pierre Gervais, Benoit Baudry, Gertrude Kappel
Rapporteurs / Rapporteuses : Benoit Baudry, Gertrude Kappel

Résumé

FR  |  
EN

L'Ingénierie Dirigée par les Modèles (IDM) est un domaine de recherche en pleine émergence qui considère les modèles comme des éléments de base. Chaque modèle est conforme à un autre modèle, appelé son méta-modèle, qui définit sa syntaxe abstraite et ses concepts. Dans un processus IDM, différents types de modèles sont manipulés par des transformations de modèles. Une transformation génère un modèle dans un langage cible à partir d'un modèle dans un langage source. Pour concevoir une transformation, les développeurs doivent avoir une bonne connaissance des méta-modèles concernés ainsi que des langages de transformation, ce qui rend cette tâche difficile. Dans cette thèse, nous proposons d'assister l'écriture des transformations et plus généralement de comprendre comment une transformation opère. Nous adhérons à l'approche de transformation de modèles par l'exemple qui propose de créer une transformation de modèles à partir d'exemples de transformation. Cela permet d'utiliser la syntaxe concrète définie pour les méta-modèles, et cela évite donc de requérir que les développeurs aient une bonne maîtrise des méta-modèles utilisés. Dans ce contexte, nous proposons deux contributions. La première consiste à définir une méthode pour générer des règles de transformation opérationnelles à partir d'exemples. Nous nous basons sur une approche qui utilise l'Analyse Relationnelle de Concepts (ARC) comme technique d'apprentissage pour obtenir des patrons de transformation à partir d'un appariement de type 1-1 entre les modèles. Nous développons une technique pour extraire des règles de transformation opérationnelles à partir de ces patrons. Ensuite, nous utilisons le langage et le moteur de règles JESS pour exécuter ces règles. Nous étudions aussi comment mieux apprendre des règles de transformations à partir d'exemples, en utilisant séparément chaque exemple ou en réunissant tous les exemples. La deuxième contribution consiste à récupérer les traces de transformation à partir d'exemples de transformation. Ces traces peuvent être utilisées par exemple pour localiser des erreurs durant l'exécution des programmes de transformation ou vérifier la couverture de tous les modèles d'entrée par une transformation. Dans notre contexte, nous supposons que ces traces vont servir pour un futur apprentissage des règles de transformation. Nous traitons tout d'abord le problème de récupération des traces avec des exemples provenant d'un programme de transformation. Nous proposons une approche basée sur une méta-heuristique multi-objectifs pour générer des traces sous forme d'appariement de type n-m entre des éléments de modèles. La fonction objectif s'appuie sur une similarité lexicale et structurelle entre ces éléments. Une extension de cette méthode est proposée pour traiter le problème plus général de l'appariement entre modèles.