Détail du sujet

03/12/2018 Sujet 49 :  Une approche générative d’éditeurs graphiques pour les langages dédiés de modélisation
Auteur : Faiez Zalila  Ecrire Site
(Responsable Informatique : Faiez Zalila  Ecrire )
Sujet recherche

Résumé
L’objectif de ce projet est de prototyper un générateur d’éditeurs graphiques pour les langages dédiés de modélisation.

Mots-clés : Méta-modélisation, Java, Eclipse plugins, EMF, Acceleo, Sirius

Équipe/Entité concernée : CRIStAL (Spirals)

Encadrement
• Faiez Zalila – Faiez.Zalila@inria.fr
• Philippe Merle – Philippe.Merle@inria.fr

Localisation : Centre de recherche Inria Lille – Nord Europe

Pré-requis : développement orienté objet avec Java, UML, OCL

Contexte
Un langage dédié de modélisation (en anglais, Domain Specific Modeling Language ou DSML) est un langage de modélisation dont les spécifications sont conçues pour répondre aux contraintes d’un domaine d'application précis. Il s'oppose conceptuellement aux langages de modélisation classiques (ou généralistes) comme UML, qui tendent à traiter un ensemble de domaines.
Afin de faciliter la création et l’édition des instances d’un DSML (appelés aussi modèles), un DSML peut être enrichi par un éditeur graphique qui permet de manipuler les modèles graphiquement.


Problématique
Eclipse Modeling Framework (EMF) [1] est un framework de modélisation qui permet de définir les DSMLs.  EMF propose également une infrastructure de génération de code et de manipulation des modèles EMF.

Le projet Sirius [2] a été développé il y a quelques années par la société Obeo, en partenariat avec Thales afin de faciliter la création et l’édition des modèles EMF d’une manière graphique. La grande force de Sirius est de permettre la spécification des éditeurs de manière totalement graphique, sans avoir à écrire de code. Il suffit juste de définir un modèle qui définit l’éditeur graphique.

Bien que les éditeurs graphiques permettent de créer des modèles qui représentent des domaines d’application différents (aéronautique, avionique, ferroviaire, etc.), les constructions graphiques de ces modèles sont souvent les mêmes, c’est-à-dire, des conteneurs, des nœuds et des flèches.

L’approche existante consiste à manuellement définir un éditeur graphique. Pour un concepteur d’éditeur graphique, cette tâche est répétitive.
Une alternative consiste à automatiquement générer un squelette d’un éditeur graphique qui peut par la suite être enrichi et complété par le concepteur. Cette approche nécessite une méta-information qui spécifie quelle est la représentation graphique correspondante à chaque élément du langage de modélisation.
Nous pensons qu’un générateur d’éditeurs graphiques permettrait d’apporter une solution radicalement nouvelle à cette problématique.    


Travail à effectuer
1. Dresser un état de l’art sur la génération des éditeurs graphiques.
2. Prototyper le générateur d’éditeur graphique.
3. Expérimenter ce langage avec un ensemble de use-cases existants [3].
4. Participer à la rédaction d’une publication scientifique portant sur la génération des éditeurs graphiques.

Bibliographie
[1] https://fr.wikipedia.org/wiki/Eclipse_Modeling_Framework  
[2] https://www.eclipse.org/sirius/
[3] https://www.eclipse.org/sirius/gallery.html

Sujet non-attribué