Les ateliers MDA/MDD de la famille Model2Code se composent chacun de 2 modules principaux :
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 :
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.