Institut numerique

7.4 MIA Generation

L’outil MIA Generation est le complément idéal de MIA Transformation. Dans le cadre de nos
évolutions d’architecture, c’est sur lui que repose la phase de génération à partir des modèles issus
des phases de transformation. Même si le principe se rapproche de MIA Transformation, des scripts
positionnés sur des objets du métamodèle, MIA Generation est plus simple à appréhender, car
beaucoup plus concret. A l’issue d’une génération, on obtient immédiatement du code. Si on
modifie un script, on peut tout de suite vérifier si le résultat convient. La Figure 50 détaille
l’environnement de développement de MIA Generation. Sur la partie gauche de l’écran, on trouve
l’ensemble des Packages, ils contiennent les scripts qui sont de quatre types :

· File template : ce sont les scripts qui produisent les fichiers

· Text template : scripts qui renvoient du texte. Ils peuvent appeler d’autres « Text template »
ou « Macro ».

· Macro : scripts java qui renvoient la plupart du temps du texte.

· Service : scripts java qui renvoient des collections d’objets.

Le script de l’exemple traite les classes stéréotypées « BusinessObject ». Donc pour toutes les
occurrences d’objets de ce type dans le modèle, le « File Template »

« BusinessObjectJavaClass » sera appelé. Il produira un fichier qui respectera le format du
script. Dans la partie en bas à droite de l’écran, on voit le contenu du script. Les portions écrites en
noir seront générées à l’identique dans le fichier. Les portions entre double crochets sont des appels
soit à des « Text Template », soit à des Macros, qui produisent eux-mêmes du texte qui sera aussi
généré dans le fichier cible. La Figure 51 illustre ce propos. Il s’agit du résultat de la génération du
File template BusinessObjectJavaClass sur la classe « TestItem » du modèle. La partie en
haut à droite reprend le « File Template » responsable de la génération. Dans la partie en bas à
droite, on a le résultat de la génération.

On voit que le texte package est repris tel quel, alors que le Text Template

« shortenedCodingPackageQualifiedName » renvoi le texte suivant :

« com.migrationplatform.data.testing.architecture » qui est construit à partir des
informations du modèle.

Figure 52 : Processus de constitution du Jar à partir d’un flux XML.

Page suivante : 7.5 Du XML au Jar

Retour au menu : Stratégie de test au sein du processus d’évolution d’architecture de Sodifrance