_ css deactivated
_ javascript deactivated

Technologies Model2Code - Vue d'ensemble

 

Modules principaux

Les ateliers MDA/MDD de la famille Model2Code se composent chacun de 2 modules principaux :

  • Un outil de modélisation UML 2.1 complet, supportant notamment les diagrammes de classe (incluant les diagrammes d'objets et les diagrammes de paquetage), les diagrammes de cas d'utilisation, les diagrammes de séquence et les diagrammes d'activités. Cet outil s'appuie sur MagicDraw UML dans sa version standard, et dispose de fonctionnalités additionnelles facilitant la création d'un projet de génération et la conception de modèles exécutables (wizards, profiles UML et templates). Le module de modélisation permet d'élaborer le PIM (platform independent model, selon les concepts du MDA) de l'application.
  • Un atelier de transformation de modèles embarquant la technologie Blu Age. D'un point de vue technique, ce module est basé sur des plug-ins standards d'Eclipse tels que Java Development Tools (JDT), Eclipse Modeling Framework (EMF) ou encore Model To Text (M2T) avec des Template de génération de code Java Emitter Template (JET), auxquels s'ajoutent les plug-ins BLUAGE™ pour exécuter les transformations de modèles à modèles en utilisant le langage ATL (Atlas transformation Language), et les template JET pour les transformations de modèles à code. Ce module de génération permet de valider le PIM, de le transformer en PSM (platform-specific model) et enfin en code source (text).

Chaque atelier MDA/MDD de la gamme Model2Code est livré avec un ensemble de cartouches de génération (ou BSPs) spécifique, vous permettant de générer vos applications vers les architectures cibles les plus répandues :

  • M2Spring : Struts/Spring/Hibernate
  • M2Flex : Flex/Spring/Hibernate
  • M2Code for Java : JSF/MVC Architecture/Hibernate
  • M2ImproveFoundations : socle Improve Foundations 5.1
  • M2Code for EJB : JSF/EJB 3 (Java EE 5)

 

Principes de génération

La génération d'une application sur ces ateliers MDA/MDD se fait à partir de la configuration d'un workflow de traitement avec le paramétrage des variables d'environnement et des librairies utilisées.

Le code source est généré automatiquement sous forme de projet Eclipse permettant ainsi l'exécution de ces applications dans le même environnement pour valider leur conformité aux spécifications fonctionnelles modélisées au moyen des diagrammes UML source.

Le processus de génération commence par la création d'un projet à l'aide des wizards mis à disposition, puis l'intégration de la modélisation UML exportée depuis l'outil de modélisation au format EMF. L'éditeur BLUAGE® des modèles UML permet de visualiser les différents packages utilisés avec une vue en arborescence.

Afin de générer des applications Web, les maquettes statiques des interfaces utilisateurs sont intégrées dans le processus de génération. Un éditeur graphique - le G-Marker™ - est également disponible dans le module de génération permettant l'automatisation du paramétrage des écrans statiques avec des tags BLU AGE® pour identifier les composants dynamiques, tels que les liens, les tableaux de données, les formulaires, ainsi que l'intégration des composants graphiques pour les framewoks AJAX ou FLEX par exemple.

Avec ce plug-in d'édition graphique, vous pouvez visualiser les interfaces paramétrées et valider leur conformité aux normes XHTML W3C. Cette maquette statique sera transformée par la suite en diagrammes UML puis en pages web dynamiques, JSP, JSF ou ASPX... suivant le même processus de génération de code.

L'exécution du workflow de génération permet de générer le code source des applications à partir des modèles UML et des maquettes d'écran HTML ou MXML sur un environnement technique propre à chaque atelier "M2", ainsi que le déploiement automatique et l'exécution sur le serveur d'application web de l'application générée.

Le module de génération propose aussi un environnement de test et de validation fonctionnelle des spécifications métier avec un débugger intégré des modèles UML.

Cette fonction de debuggage permet par exemple, de positionner automatiquement avec l'éditeur graphique BLU AGE® des points d'arrêt ou break-points sur le modèle UML utilisé pour la génération de l'application. Ces points d'arrêt peuvent être positionnés indifféremment sur des services, des opérations, des actions... et ont pour fonction de suspendre l'exécution de l'application aux points du modèle indiqués.

Cela vous permettra de visualiser les valeurs des entités et objets métiers de l'application au moment de l'exécution du modèle, ou valider par exemple l'exécution des règles de gestion.

La visualisation de la valeur des variables locales se fait au travers d'une vue d'introspection.

D'autre part, l'éditeur graphique des modèles UML permet de visualiser l'exécution pas à pas, des différents composants des diagrammes UML comme les diagrammes d'activités ou les diagrammes de classes.

D'autres fonctionnalités utiles pour le débogage des modèles UML sont également implémentées tels que l'exécution des step into, step over, step return, le changement à chaud de la valeur des variables locales, ou encore les points d'arrêts conditionnels.

Ce plugging reprend ainsi toutes les fonctionnalités classiques de débogage d'un environnement intégré de développement et illustre très concrètement la notion d'exécutabilité des modèles UML.

La combinaison du modeleur UML et du générateur  vous permet donc de créer et mettre au point un modèle UML conforme aux besoins fonctionnels et indépendant de l'environnement technologique, également appelé PIM annoté selon les spécifications du standard MDA. Ce modèle PIM est ensuite automatiquement transformé en PSM puis en application packagée prête à être déployée.