Index: lutingenerator-demo/src/main/webapp/WEB-INF/jsp/block/display.jsp diff -u /dev/null lutingenerator-demo/src/main/webapp/WEB-INF/jsp/block/display.jsp:1.1 --- /dev/null Wed Apr 30 12:31:16 2008 +++ lutingenerator-demo/src/main/webapp/WEB-INF/jsp/block/display.jsp Wed Apr 30 12:31:09 2008 @@ -0,0 +1,12 @@ + +<%@ include file="../common.jsp" %> + +
"/>
"/>
"/>+La génération de code prend maintenant une place importante dans le développement d'applications. +Que ce soit pour une réduction des temps de développement ou pour l'automtisation de tâches, la génération de code couvre tellement de domaines que des milliers de générateurs émergent. +Chaque générateur a ses spécificités : le format de la source, le language utilisé pour son développement, le format cible, ... + +Lutin Generator est un socle de générateurs. +Chaque générateur est une classe Java autonome. +Il prend un ensemble de fichiers en entrée et écrit le resultat de la génération dans un dossier. + +Le format d'entrée de chaque générateur doit être bien définit pour que celui-ci soit capable de le comprendre. + +Pour pouvoir effectuer la génération, le générateur doit dans un premier temps lire le format d'entrée et le charger en mémoire. +Il interprètera ensuite son contenu du modèle chargé et fera la généreration de code en fonction des éléments de ce modèle. ++ +
+La réalisation de modèles UML est une phase importante dans la vie d'un projet, elle permet d'éclaircir les zones d'ombres qui peuvent exister pendant la conception. +L'UML joue un rôle intermédiaire entre la définition des besoins et le code source. +Les diagrammes UML (diagrammes de classes, d'états, de séquences...) sont donc souvent proches du contenu espéré du code source. +Il est donc possible de générer une partie plus ou moins importante du code source. + +En l'occurence, à partir de diagrammes de classes il est possible de générer la couche de persistance ou encore de distribution d'une application. +Les diagrammes d'état transition peuvent servir à modéliser la navigation entre les écrans. ++ +
+Lutin Generator contient des générateurs types capables de prendre en entrée des diagrammes de classes ou d'état. +Cependant, les différents outils de modélisation UML possèdent chacun leur propre format, mais la plupart permettent d'enregistrer directement ou d'exporter en XMI (XML Metadata Interchange) qui est un format standard d'export UML. +Le XMI est un bon format pour les outils UML mais il est trop verbeux pour être écrit à la main, c'est pourquoi on utilise des transformations XSL permettant de transformer le XMI en un format pivot simple et épuré. + +Les diagrammes de classes donneront lieu à des fichiers .objectmodel alors que les diagrammes d'état donneront des fichiers .statemodel ++ +
+Chaque générateur va utiliser un format d'entrée défini, il est donc codé pour pouvoir interpréter ce format. +Par exemple, les générateurs se basant sur des diagrammes de classes vont pouvoir lire les fichiers .objectmodel. De même pour les diagrammes d'état avec les fichiers .statemodel. + +Pour faciliter la manipulaton du modèle, il peut être entièrement représenté par des classes Java. ++ +
+La première étape pour pouvoir effectuer la génération est de choisir un générateur. + +Chaque générateur étant compatible avec un format donné, on doit ensuite choisir le fichier correspondant au bon format d'entrée. + +La dernière étape enfin est la génération de code à proprement parler. ++ +