Improving automation in model-driven engineering using examples

Cette thèse a pour but d’améliorer l’automatisation dans l’ingénierie dirigée par les modèles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de réduire la complexité du logiciel par l’utilisation intensive de modèles et des transformations automatiques entre modèles (TM). D’une...

Full description

Bibliographic Details
Main Author: Faunes Carvallo, Martin
Other Authors: Sahraoui, Houari
Language:en
Published: 2014
Subjects:
Online Access:http://hdl.handle.net/1866/10562
id ndltd-LACETR-oai-collectionscanada.gc.ca-QMU.1866-10562
record_format oai_dc
collection NDLTD
language en
sources NDLTD
topic INGÉNIERIE DIRIGÉE PAR LES MODÈLES
GÉNIE LOGICIEL GUIDÉ PAR LES EXAMPLES
GÉNIE LOGICIEL AUTOMATISÉ
MÉTA-MODÉLISATION
GÉNIE LOGICIEL AVEC DES MÉTHODES DE RECHERCHE HEURISTIQUE
MODEL-DRIVEN ENGINEERING
SOFTWARE ENGINEERING BY EXAMPLES
AUTOMATED SOFTWARE ENGINEERING
METAMODELING
SEARCH-BASED SOFTWARE ENGINEERING
Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
spellingShingle INGÉNIERIE DIRIGÉE PAR LES MODÈLES
GÉNIE LOGICIEL GUIDÉ PAR LES EXAMPLES
GÉNIE LOGICIEL AUTOMATISÉ
MÉTA-MODÉLISATION
GÉNIE LOGICIEL AVEC DES MÉTHODES DE RECHERCHE HEURISTIQUE
MODEL-DRIVEN ENGINEERING
SOFTWARE ENGINEERING BY EXAMPLES
AUTOMATED SOFTWARE ENGINEERING
METAMODELING
SEARCH-BASED SOFTWARE ENGINEERING
Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Faunes Carvallo, Martin
Improving automation in model-driven engineering using examples
description Cette thèse a pour but d’améliorer l’automatisation dans l’ingénierie dirigée par les modèles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de réduire la complexité du logiciel par l’utilisation intensive de modèles et des transformations automatiques entre modèles (TM). D’une façon simplifiée, dans la vision du MDE, les spécialistes utilisent plusieurs modèles pour représenter un logiciel, et ils produisent le code source en transformant automatiquement ces modèles. Conséquemment, l’automatisation est un facteur clé et un principe fondateur de MDE. En plus des TM, d’autres activités ont besoin d’automatisation, e.g. la définition des langages de modélisation et la migration de logiciels. Dans ce contexte, la contribution principale de cette thèse est de proposer une approche générale pour améliorer l’automatisation du MDE. Notre approche est basée sur la recherche méta-heuristique guidée par les exemples. Nous appliquons cette approche sur deux problèmes importants de MDE, (1) la transformation des modèles et (2) la définition précise de langages de modélisation. Pour le premier problème, nous distinguons entre la transformation dans le contexte de la migration et les transformations générales entre modèles. Dans le cas de la migration, nous proposons une méthode de regroupement logiciel (Software Clustering) basée sur une méta-heuristique guidée par des exemples de regroupement. De la même façon, pour les transformations générales, nous apprenons des transformations entre modèles en utilisant un algorithme de programmation génétique qui s’inspire des exemples des transformations passées. Pour la définition précise de langages de modélisation, nous proposons une méthode basée sur une recherche méta-heuristique, qui dérive des règles de bonne formation pour les méta-modèles, avec l’objectif de bien discriminer entre modèles valides et invalides. Les études empiriques que nous avons menées, montrent que les approches proposées obtiennent des bons résultats tant quantitatifs que qualitatifs. Ceux-ci nous permettent de conclure que l’amélioration de l’automatisation du MDE en utilisant des méthodes de recherche méta-heuristique et des exemples peut contribuer à l’adoption plus large de MDE dans l’industrie à là venir. === This thesis aims to improve automation in Model Driven Engineering (MDE). MDE is a paradigm that promises to reduce software complexity by the mean of the intensive use of models and automatic model transformation (MT). Roughly speaking, in MDE vision, stakeholders use several models to represent the software, and produce source code by automatically transforming these models. Consequently, automation is a key factor and founding principle of MDE. In addition to MT, other MDE activities require automation, e.g. modeling language definition and software migration. In this context, the main contribution of this thesis is proposing a general approach for improving automation in MDE. Our approach is based on meta-heuristic search guided by examples. We apply our approach to two important MDE problems, (1) model transformation and (2) precise modeling languages. For transformations, we distinguish between transformations in the context of migration and general model transformations. In the case of migration, we propose a software clustering method based on a search algorithm guided by cluster examples. Similarly, for general transformations, we learn model transformations by a genetic programming algorithm taking inspiration from examples of past transformations. For the problem of precise metamodeling, we propose a meta-heuristic search method to derive well-formedness rules for metamodels with the objective of discriminating examples of valid and invalid models. Our empirical evaluation shows that the proposed approaches exhibit good results. These allow us to conclude that improving automation in MDE using meta-heuristic search and examples can contribute to a wider adoption of MDE in industry in the coming years.
author2 Sahraoui, Houari
author_facet Sahraoui, Houari
Faunes Carvallo, Martin
author Faunes Carvallo, Martin
author_sort Faunes Carvallo, Martin
title Improving automation in model-driven engineering using examples
title_short Improving automation in model-driven engineering using examples
title_full Improving automation in model-driven engineering using examples
title_fullStr Improving automation in model-driven engineering using examples
title_full_unstemmed Improving automation in model-driven engineering using examples
title_sort improving automation in model-driven engineering using examples
publishDate 2014
url http://hdl.handle.net/1866/10562
work_keys_str_mv AT faunescarvallomartin improvingautomationinmodeldrivenengineeringusingexamples
_version_ 1716704652472352768
spelling ndltd-LACETR-oai-collectionscanada.gc.ca-QMU.1866-105622014-06-26T03:51:15ZImproving automation in model-driven engineering using examplesFaunes Carvallo, MartinINGÉNIERIE DIRIGÉE PAR LES MODÈLESGÉNIE LOGICIEL GUIDÉ PAR LES EXAMPLESGÉNIE LOGICIEL AUTOMATISÉMÉTA-MODÉLISATIONGÉNIE LOGICIEL AVEC DES MÉTHODES DE RECHERCHE HEURISTIQUEMODEL-DRIVEN ENGINEERINGSOFTWARE ENGINEERING BY EXAMPLESAUTOMATED SOFTWARE ENGINEERINGMETAMODELINGSEARCH-BASED SOFTWARE ENGINEERINGApplied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)Cette thèse a pour but d’améliorer l’automatisation dans l’ingénierie dirigée par les modèles (MDE pour Model Driven Engineering). MDE est un paradigme qui promet de réduire la complexité du logiciel par l’utilisation intensive de modèles et des transformations automatiques entre modèles (TM). D’une façon simplifiée, dans la vision du MDE, les spécialistes utilisent plusieurs modèles pour représenter un logiciel, et ils produisent le code source en transformant automatiquement ces modèles. Conséquemment, l’automatisation est un facteur clé et un principe fondateur de MDE. En plus des TM, d’autres activités ont besoin d’automatisation, e.g. la définition des langages de modélisation et la migration de logiciels. Dans ce contexte, la contribution principale de cette thèse est de proposer une approche générale pour améliorer l’automatisation du MDE. Notre approche est basée sur la recherche méta-heuristique guidée par les exemples. Nous appliquons cette approche sur deux problèmes importants de MDE, (1) la transformation des modèles et (2) la définition précise de langages de modélisation. Pour le premier problème, nous distinguons entre la transformation dans le contexte de la migration et les transformations générales entre modèles. Dans le cas de la migration, nous proposons une méthode de regroupement logiciel (Software Clustering) basée sur une méta-heuristique guidée par des exemples de regroupement. De la même façon, pour les transformations générales, nous apprenons des transformations entre modèles en utilisant un algorithme de programmation génétique qui s’inspire des exemples des transformations passées. Pour la définition précise de langages de modélisation, nous proposons une méthode basée sur une recherche méta-heuristique, qui dérive des règles de bonne formation pour les méta-modèles, avec l’objectif de bien discriminer entre modèles valides et invalides. Les études empiriques que nous avons menées, montrent que les approches proposées obtiennent des bons résultats tant quantitatifs que qualitatifs. Ceux-ci nous permettent de conclure que l’amélioration de l’automatisation du MDE en utilisant des méthodes de recherche méta-heuristique et des exemples peut contribuer à l’adoption plus large de MDE dans l’industrie à là venir.This thesis aims to improve automation in Model Driven Engineering (MDE). MDE is a paradigm that promises to reduce software complexity by the mean of the intensive use of models and automatic model transformation (MT). Roughly speaking, in MDE vision, stakeholders use several models to represent the software, and produce source code by automatically transforming these models. Consequently, automation is a key factor and founding principle of MDE. In addition to MT, other MDE activities require automation, e.g. modeling language definition and software migration. In this context, the main contribution of this thesis is proposing a general approach for improving automation in MDE. Our approach is based on meta-heuristic search guided by examples. We apply our approach to two important MDE problems, (1) model transformation and (2) precise modeling languages. For transformations, we distinguish between transformations in the context of migration and general model transformations. In the case of migration, we propose a software clustering method based on a search algorithm guided by cluster examples. Similarly, for general transformations, we learn model transformations by a genetic programming algorithm taking inspiration from examples of past transformations. For the problem of precise metamodeling, we propose a meta-heuristic search method to derive well-formedness rules for metamodels with the objective of discriminating examples of valid and invalid models. Our empirical evaluation shows that the proposed approaches exhibit good results. These allow us to conclude that improving automation in MDE using meta-heuristic search and examples can contribute to a wider adoption of MDE in industry in the coming years.Sahraoui, Houari2014-05-22T15:56:09ZNO_RESTRICTION2014-05-22T15:56:09Z2014-05-012013-06Thèse ou Mémoire numérique / Electronic Thesis or Dissertationhttp://hdl.handle.net/1866/10562en