Introduction

authors : Julien Ruchaud
Florian Desbois
contact : eugene-devel@list.nuiton.org ou eugene-users@list.nuiton.org
revision : $Revision$
date : $Date$

Qu'est ce le MDA (Model Driven Architecture)

EUGene s'inscrit dans les technologies de pointe, et tout particulièrement dans l'approche MDA. L'approche MDA a comme principe la conception par modèle sur le développement des logiciels. Ce qui consiste à s'abstraire de la technique en modèlisant le besoin, puis transformer ce modèle selon la plate-forme cible. Un exemple classique d'utilisation est la génération de code java grâce à un modèle UML.

Pour pouvoir réaliser des modèles (M1), il est nécessaire de définir un langage de modèlisation qui est appellé méta-modèle (M2). Pour pouvoir réaliser des transformations entre les différents languages, il est nécessaire d'avoir un méta-language commun, qui est appellé méta-méta-modèle (M3). Pour ne pas avoir un autre language au dessus du méta-méta-modèle, celui-ci doit être auto-descriptif c'est à dire qu'il est possible de réaliser un méta-modèle représentant le méta-méta-modèle. Le dernier niveau est l'application (M0) du modèle dans le monde réel.

Voici quelques exemples :

M3 MOF Grammaire UML M2 UML Langage Langage spécifique d'aviation M1 Java Phrase Définition de l'aéroport M0 Objet Parler L'aéroport

Il existe deux stratégies pour la manipulation des modèles soit en définissant les règles de transformation d'un méta-modèle à un autre, soit par un template représentant le modèle cible et manipulant le modèle source.

Qu'est ce EUGene (Efficient Universal Generator)

EUGene permet la manipulation et la génération des modèles. Il fournit les fonctionnalités de bases suivantes :

  • lecture d'un modèle de classe UML en XMI indépendant de la modélisation
  • template de génération
  • transformation de modèles
  • intégration dans le build du projet
  • indépendance entre le code developpeur et le code généré
  • indépendance des outils de développement

De nombreuses solutions sont disponibles sur le marché, EUGene se positionne par rapport à ses concurrents, comme simple d'utilisation et de mise en oeuvre, indépendant des outils de développement et full JAVA sans autre language à apprendre.

Comparaison

Comparaison par rapport aux solutions existantes du marché :

Générateur

Indépendance

Build

Plugin

Format de sortie

EUGene

Template en java

Outils de développement

Maven

Eclipse

Tout

Acceleo

Template spécifique

Lié à la pateforme Eclipse

Pas possible

Eclipse

Tout

ATL

Tranformation de modèle en QVT

Lié à la pateforme Eclipse

Pas possible

Eclipse

Modèle