Exploiting Model Transformation Examples for Easy Model Transformation Handling (Learning and Recovery)

Hajer Saada 1
1 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Résumé : 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.
Type de document :
Thèse
Software Engineering [cs.SE]. Université Monpellier 2, 2013. English
Liste complète des métadonnées

Littérature citée [47 références]  Voir  Masquer  Télécharger

https://hal-lirmm.ccsd.cnrs.fr/tel-01382345
Contributeur : Clémentine Nebut <>
Soumis le : dimanche 16 octobre 2016 - 20:51:51
Dernière modification le : jeudi 11 janvier 2018 - 06:26:11

Identifiants

  • HAL Id : tel-01382345, version 1

Collections

Citation

Hajer Saada. Exploiting Model Transformation Examples for Easy Model Transformation Handling (Learning and Recovery). Software Engineering [cs.SE]. Université Monpellier 2, 2013. English. 〈tel-01382345〉

Partager

Métriques

Consultations de la notice

65

Téléchargements de fichiers

152