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.