Frédéric Boulanger
CentraleSupélec LMF, UMR CNRS 9021
Département informatique Laboratoire Méthodes Formelles
3 rue Joliot-Curie Bât 650 Ada Lovelace, Université Paris Sud
91190 Gif-sur-Yvette, France Rue Noetzlin, 91190 Gif-sur-Yvette, France
Téléphone : +33 [0]1 75 31 78 32‬
frederic.boulanger@centralesupelec.fr frederic.boulanger@lmf.cnrs.fr
Introduction à l'ingénierie dirigée par les modèles

Objectif

L'objectif de cette journée est de donner une vue générale sur l'ingénierie dirigée par les modèles, et de pratiquer sur des exemples simples avoir de démystifier les outils et de connaître leurs possibilités.

La matinée est consacrée à la présentation du contexte et des concepts de l'IDM :

  • Intérêt de l'IDM
  • Qu'est-ce qu'un modèle ?
  • Métamodèles, langages et grammaires
  • Domain Specific Languages
  • Syntaxe concrète et syntaxe abstraite
  • Contraintes et sémantique statique
  • Sémantique : interprétation et compilation
  • Transformations de modèles

Un petit cas d'étude sera présenté en deuxième partie de matinée.

Outillage pour la partie pratique

L'après-midi est consacrée à la pratique.
Pour en bénéficier pleinement, vous pouvez installer à l'avance sur votre machine la configuration suivante :

  1. Eclipse Modeling Tools 2022-09
    Attention à bien choisir le package "Modeling Tools" et pas l'installateur générique.
    Choisissez le téléchargement qui correspond à votre machine.
  2. Une fois l'application Eclipse lancée, sélectionner "Install New Software…" dans le menu "Help".
  3. Dans le dialogue qui s'affiche, sélectionnez "--All Available Sites--" dans le menu popup "Work with"
  4. Dans la liste des logiciels qui s'affiche, sélectionnez :
    • Dans la catégorie "Modeling" :
      • Acceleo
      • OCL Examples and Editors SDK
      • Toutes les entrées QVT operational
      • Xtext Complete SDK
    • Dans la catégorie "Programming Languages" :
      • Eclipse XML Editors and Tools
      • Javascript Development Tools
      • Wild Web Developer HTML, CSS, JSON, Yaml, JavaScript, TypeScript, Node tools
      • Xtend IDE
    • Dans la catégorie "Web, XML, Java EE and OSGi Enterprise Development" :
      • Eclipse XSL Developer Tools
  5. Acceptez les licences d'utilisation et redémarrez Eclipse lorsqu'il vous le propose.

Pour vérifier que votre installation d'Eclipse fonctionne, vous pouvez créer un projet :

  1. Dans le menu "File", choisissez "New Project…"
  2. Dans le dialogue qui s'affiche, sélectionnez "Ecore Modeling Project" dans le dossier "Eclipse Modeling Framework"
  3. Après avoir cliqué sur "Next", donnez un nom au projet et cliquez sur "Next" en laissant tous les choix par défaut jusqu'à atteindre la dernière étape où vous cliquerez sur "Finish".
  4. Vous devriez avoir alors un éditeur de modèles eCore avec une palette d'outils sur la droite.

Exemple de métamodèle : QCM

Activités pratiques proposées

Afin de vous familiariser avec la définition de modèles et l'utilisation de transformations de modèles, nous vous proposons de :

  1. définir un metamodèle pour représenter des automates
  2. définir un autre métamodèle plus adapté à la génération de code
  3. définir une transformation M2M entre ces deux métamodèles
  4. définir une transformation M2T pour exécuter un automate en HTML/JavaScript

Présentation