existant sous Eclipse, Obeo UML Designer 2, qui s’appuie sur le plugin UML 2
d’Eclipse 3.
Travail à réaliser
Le nouveau langage (XtUML) sous Xtext bénéficiera d’une syntaxe abstraite (AST)
automatiquement générée par Xtext dans le format d’Eclipse Modeling Framework
(EMF) [1], proche d’un diagramme de classe. UML est lié à EMF sous Eclipse grâce
au plugin UML 2.
Le travail à réaliser consiste donc à :
– définir la nouvelle syntaxe grâce au framework Xtext et générer son éditeur (voir
section état de l’art),
– utiliser le plugin UML 2 pour représenter le modèle du diagramme et ainsi bé-
néficier de l’outil Obeo UML Designer pour l’affichage graphique (ou autre al-
ternative en restant en EMF),
– utiliser l’API Java de création des SD de notre plateforme pour générer automa-
tiquement le SD dans le format attendu par la plateforme,
– générer automatiquement les interfaces Java et maintenir la synchronisation entre
le SD et les interfaces ; on étudiera le framework Acceleo d’Obeo qui fournit la
technologie pour maintenir une synchronisation automatique entre diagramme et
code 4 5.
Ce projet considère principalement les diagrammes de séquence, mais nous comp-
tons toutefois élargir l’approche à d’autres types de diagrammes, en particulier les dia-
grammes de classe. Une expérimentation pourra donc être menée sur les diagrammes
de classe, afin de se familiariser avec le framework Xtext.
Etat de l’art
Il existe des projets traitant cette approche de définition de syntaxe, mais ils ne
répondent pas à la combinaison de nos besoins :
– EMFText 6paraît faire doublon, moins flexible et moins intégré aux autres ou-
tils Eclipse que Xtext. Il paraît antérieur à Xtext, et nous n’avons pas trouvé
(d’après nos dernières recherches) de grammaire pour SD 7. Par contre, il existe
une grammaire pour les diagrammes de classe qu’il est intéressant d’étudier.
– TextUML 8est antérieur à Xtext et ne gère pas les SD. Il possède une syntaxe
pour les diagrammes de classe qu’il sera également intéressant d’étudier.
– Altova UML 9répond à notre besoin de forward engineering, mais c’est un outil
commercial et qui fonctionne uniquement sous Windows.
2. http://marketplace.obeonetwork.com/module/uml
3. http://wiki.eclipse.org/MDT-UML2
4. http://www.eclipse.org/projects/project.php?id=modeling.m2t.acceleo
5. http://stackoverflow.com/questions/11966797/meshing-acceleo-with-xtext
6. http://www.emftext.org/index.php/EMFText
7. http://www.emftext.org/index.php/EMFText_Concrete_Syntax_Zoo
8. http://sourceforge.net/apps/mediawiki/textuml/index.php?title=TextUML_Toolkit_
Features
9. http://www.altova.com/umodel/sequence-diagrams.html
2