Génération de documents à partir de modèles UML

Transcription

Génération de documents à partir de modèles UML
Génération de documents
à partir de modèles UML
Cedric Dumoulin
http://www.lifl.fr/~dumoulin/enseign/pje/
Objectifs
Patron de
génération
(template)



gén
éra
tion
.html
Doc
.odt
Au format html, OpenDocument
(OpenOffice, LibreOffice, …)
À partir des informations d’un
modèle UML

Contenant des classes, des
diagrammes, des Cas
d’Utilisation, …
Ex: celui fait en COA

Il décrit le document à générer


Doc
Générer des documents
En suivant un patron de
génération
Principe de l’application



Utilise une approche Ingénierie Dirigé par les
Modèles (IDM)
Les modèles UML sont définit dans Papyrus
(modeleur UML)
Définition d’un métamodèle et d’un langage
dédié pour décrire le patron de génération


Langage décrit avec XText, puis génération auto
de l’éditeur textuel, du parser, du métamodèle
Génération des document à l’aide de template
Acceleo
Déroulement du projet

1ere partie


2éme partie


Générer du texte à partir d’un modèle à l’aide de template avec
Acceleo
4éme partie


Apprentissage de Xtext – Definir un langage, générer l’éditeur
textuel, manipuler des modèles …
3éme partie


Apprentissage d’EMF – construire un métamodèle, générer les
classes de manipulation, manipuler des modèles, customiser le
code générer
Transformer des modèles
5éme partie

Intégrer l’application dans Eclipse
Technologies


Java
Eclipse Modeling


EMF





Editeur UML 2 – Pour concevoir le métamodèle (grammaire décrivant le
modèle)
www.eclipse.org/papyrus

Pour transformer des modèles; syntaxe proche de Java

Template de génération de code
QVTo
Acceleo
XText


pour manipuler les modèles. A partir de la description d’un métamodèle,
génére les classes Java correspondante, l’import/export XML, un éditeur
arborescent, …
Papyrus


Environnement de développement
A partir de la description d’un langage, génére l’editeur textuel avec
complétion, le parser, le métamodèle (compatible EMF), le générateur de code
…
SVN
Acquis à la fin du module


Introduction à l’approche IDM
Construction de métamodèles


Manipulation de langage


Avec Acceleo
Transformation de modèle


Avec XText
Génération de texte, à partir de modèles, avec des
templates


manipulation avec EMF
avec QVTo
maîtrise dans Eclipse des environnements de
développement Java et modèle
Cahier des charges





UML permet de modéliser toutes sorte de choses, et particulièrement les
différentes phases allant de la conception a la réalisation d'une application, en
passant par son architecture. Ces modèles sont accompagnes de diagrammes et
de données exploitables dans les outils de modélisation UML, comme Papyrus.
Nous allons dans ce projet générer des documents reprenant tout ou partie des
informations contenues dans un modèle UML créé avec Papyrus. Par exemple,
nous pourrons générer un document contenant certains diagrammes, la liste des
classes avec leurs annotations, leurs attributs, méthodes, ... Un exemple concret
d'un tel document est le document que vous devrez réaliser dans le cours de
COA.
Le document a générer sera décrit dans un template (patron) qui contiendra des
points d'insertions. Le document généré sera en html, mais il pourrait être
possible de le générer au format OpenDocument (OpenOffice, LibreOffice).
Dans ce projet, nous utiliserons l’Ingénierie Dirigé par les Modèles (IDM),
l’environnement Java et Eclipse, et des technologies comme EMF, Acceleo, QVT,
XText.
Papyrus, un modeleur UML Open source, sera utilisé pour construire les modèles
UML.