Model Driven Engineering (MDE) - Ingénierie Dirigée par les Modèles (IDM)

Benoit Combemale
PhD in Computer Science

Associate Professor, University of Rennes 1
School of Engineering ESIR
Member of the Triskell team (IRISA & INRIA)

Présentation générale

L'Ingénierie Dirigée par les Modèles (IDM), ou Model Driven Engineering (MDE) en anglais, s'inscrit dans l'évolution des techniques pour le développement de systèmes informatiques afin d'en maîtriser leurs complexités en se concentrant sur une préoccupation plus abstraite que la programmation classique. En s'appuyant sur des approches génératives, il s'agit d'engendrer tout ou partie d'une application à partir de modèles. Un modèle est une abstraction, une simplification d'un système qui est nécessaire et suffisante pour comprendre un aspect particulier du système modélisé et répondre aux questions que soulève cet aspect du système. Un système peut être décrit par différents modèles liés les uns aux autres, et exprimé chacun à l'aide d'un langage de modélisation dédié (Domain Specific Modeling Languages - DSML). Le principe est d'utiliser autant de langages de modélisation différents que les aspects chronologiques ou technologiques du développement du système le nécessitent. L'activité consistant à définir ces DSML (la syntaxe et la sémantique), appelée métamodélisation, est donc une problématique clé de l'IDM. En outre, les autres problématiques clés de l'IDM consistent à rendre les modèles construits opérationnels (pour la simulation, la génération de code, de documentation ou de test, la validation, la vérification, l'exécution, etc.) à l'aide de composition et de transformation de modèle.

Ce cours offre une approche didactique et pragmatique d'apprentissage de l'IDM. Nous présentons tout d'abord les principes clés de cette nouvelle ingénierie. Nous introduisons une description précise de l'état des connaissances de manière à aborder les concepts avancés de l'IDM, ainsi que les motivations et l'étendue du bouleversement attendu dans l'ingénierie du logiciel. Nous abordons ensuite les différentes étapes d'un développement dirigé par les modèles en les illustrant au travers d'un exemple concret. Chaque étape est décrite de manière à présenter l'état de la pratique et introduire certains des outils actuellement disponible.


Benoit Combemale Benoit Combemale

February, 2012: A book in French about Model Driven Engineering

Ingénierie Dirigée par les Modèles : des concepts a la pratique
Jean-Marc Jézéquel, Benoit Combemale, Didier Vojtisek
Editions Ellipses. ISBN : 9782729871963
Sur amazon

Ce livre offre une approche didactique et pragmatique d'apprentissage de l'Ingénierie Dirigée par les Modèles, incluant la définition et l'outillage de langage de modélisation dédiés (ou Domain Specific Modeling Language, DSML). Il est destiné à toute personne souhaitant acquérir les connaissances nécessaires à l'automatisation d'un développement en exploitant les modèles.


Lectures (Materials)

Basics

  • Advanced Features of Software Engineering: from Modeling to Metamodeling...
  • Tutorial about Metamodeling using Ecore, OCL, and Kermeta: The LOGO Example
  • Object Constraint Language (OCL)
  • Model Transformation (Principles, Standards and Examples)
  • Kermeta: Breathe Life into your Metamodels
  • Atlas Transformation Language (ATL)

Advanced

  • Model Typing
  • Model Composition
  • How to address V&V in Model-Driven Engineering?
  • Hyper-Agility: A Model-Driven Software Agility from Design-Time to Run-Time (la vidéo !)
  • MDE Pragmatique

Project (Materials)

Android Project

  • Project description (in french)
  • Android installation guide (in french)
  • Short Android overview
  • Slides about Android (from J. Bourcier)

MINDSTORMS NXT Project

  • Project description (in french)
  • Not eXactly C (NXC): a short introduction (in french)

TCL Project

  • Homework (first part)
  • Homework (second part)
  • Réseaux de Petri temporels, SE-LTL et boîte à outils TINA (in french)

xSPEM Project

  • Project description (in french)

Further Information

Some Documents...

  • Métamodéliser avec Eclipse Modeling Framework (from S. Mosser)
  • Free refcard about EMF
  • The Kermeta memento
  • OMG Formal Specifications

Some Links...

  • OMG (Object Management Group)
  • Eclipse Modeling
  • Kermeta
  • Action IDM

Conference Materials

  • "Modélisation & Développement de logiciels avioniques"
    Conférence de Pierre Gaufilet (Airbus France) le 11 octobre 2007 à l'INSAT (.pdf)
  • "MDA pragmatique"
    Conférence de David Sciamma (Anyware Technologies) le 21 novembre 2007 à l'INSAT (.pdf)

updated Jan. 2012.