Qu'est-ce que c'est ?
Mia-Software fournit Mia-Transformation, Mia-Generation et Mia-Modernization pour implémenter vos propres transformations de modèles. Ces produits sont livrés avec des métamodèles UML (1.3, 1.4, 2.0 et 2.1).
Cependant, si vos modèles sont exprimés avec votre propre Domain-Specific Language (DSL), Mia-DSL (ex-Mia-MetamodelFactory) est la solution pour transformer ces modèles en code (avec Mia-Generation) ou en d'autres modèles (avec Mia-Transformation).
Il suffit de donner à Mia-DSL la définition de votre DSL (exprimé en MOF, eCore, DTD ou XSD) et il intégrera automatiquement votre DSL dans Mia-Generation et/ou Mia-Modernization (Mia-Transformation étant basé nativement sur EMF, il ne requiert pas Mia-DSL : se reporter au manuel de Mia-Transformation)
Trois composants sont générés par Mia-DSL :
- Une implémentation JAVA de votre DSL
- Un lecteur de modèle pour charger vos modèles dans Mia-Generation ou Mia-Modernization
- Un écrivain de modèle pour sauver vos modèles depuis Mia-Modernization
Selon la façon dont vous avez défini votre DSL, les lecteurs et écrivains générés liront ou écriront ces formats :
- MOF
- fichiers XMI compatibles avec la description MOF de votre DSL
- eCore
- fichiers XMI compatibles avec la description MOF de votre DSL
- fichiers EMF compatibles avec la description eCore de votre DSL
- DTD
- fichiers XMI compatibles avec la description MOF de votre DSL
- fichiers XML compatibles avec la description DTD de votre DSL
- XSD
- fichiers XMI compatibles avec la description MOF de votre DSL
- fichiers XML compatibles avec la description XSD de votre DSL
Exemples
Admettons que vous ayez :
- un DSL nommé MyDomain
- un fichier XSD nommé MyDomain.xsd définissant votre DSL
- un fichier XML nommé Domain1.xml compatible avec ce XSD
Voici trois exemples de ce que vous pouvez réaliser une fois que vous avez lancé Mia-DSL sur MyDomain.xsd :
- Générer du code Java à partir du fichier MyDomain
- Définir des règles de génération MyDomain to Java avec Mia-Generation
- Charger Domain1.xml dans Mia-Generation
- Appliquer vos règles MyDomain to Java pour produire des fichiers Java
- Traduire les fichiers MyDomain en modèles UML
- Définir des règles de transformation MyDomain to UML avec Mia-Transformation
- Charger Domain1.xml dans Mia-Transformation
- Appliquer les règles MyDomain to UML pour produire des moèles UML
- Sauver les modèles UML au format XMI
- Charger les modèles UML dans votre outil de modélisation UML
- Traduire des modèles UML en fichiers MyDomain
- Définir des règles de transformation UML to MyDomain avec Mia-Transformation
- Exporter un modèle UML depuis votre outil de modélisation UML au format XMI
- Charger le modéle UML dans Mia-Transformation
- Appliquer des règles UML to MyDomain pour produire un modèle MyDomain
- Sauver le modèle MyDomain au format XML
Prérequis pour une génération standard
Logiciel | Version |
Mia-Generation (avec au moins une licence d'évaluation Developer) | 4.10.2 (ou supérieure) |
Java Development Kit | JDK 5.0 (ou supérieure) |
Prérequis pour une génération Mia-to-EMF
Logiciel | | | Version |
Mia-Generation (avec au moins une licence d'évaluation Developer) | | | 6.0.0 (ou supérieure) |
Mia-Modernization (avec au moins une licence Developer) | | | 2.0.0 (ou supérieure) |
EMF | | | 2.1.x (ou supérieure) |
Java Development Kit | | | JDK 5.0 (ou supérieure) |
Prérequis pour une génération Mia-to-DTD
Logiciel | Version |
Mia-Generation (avec au moins une licence d'évaluation Developer) | 6.0.0 (ou supérieure) |
Mia-Modernization (avec au moins une licence Developer) | 2.0.0 ( ou supérieure) |
Java Development Kit | JDK 5.0 (ou supérieure) |
Prérequis pour une génération Mia-to-XSD
Logiciel | Version |
Mia-Generation (avec au moins une licence d'évaluation Developer) | 6.0.0 (ou supérieure) |
Mia-Modernization (avec au moins une licence Developer) | 2.0.0 (ou supérieure) |
Java Development Kit | JDK 5.0 (ou supérieure) |
Comment ca marche ?
Mia-DSL fabrique des archives Java (.jar), qui permettent aux outils Mia-Software de travailler avec un métamodèle que vous avez décrit.
Voici les étapes principales pour la génération de métamodèle :
- Définir un métamodèle, avec un outil de modélisation
- Générer des fichiers sources Java à partir de ce métamodèle en utilisant Mia-DSL
- Compiler et packager le code Java généré
- Déployer un métamodèle dans Mia-Generation ou Mia-Transformation
La première étape consiste à définir votre métamodèle :
- Pour utiliser une génération standard, utilisez un outil de modélisation compatible avec Mia-Generation. Cela peut être Rational Rose, Poseidon, ou tout autre outil de modélisation UML avec un export XMI.
- Pour utiliser une génération basée sur EMF, utilisez Eclipse, avec les plug-ins EMF.
- Les générations basées sur DTD et XSD ne requierent pas l'utilisation d'outil de modélisation. Beaucoup d'éditeurs XML fournissent des éditeurs visuels ou textuels pour DTD/XSD. Même un notepad peut suffire.
Voici les éléments UML que vous pouvez utiliser pour définir un métamodèle pour une génération standard :

Remarque : le métamodèle est défini en utilisant un outil de modélisation UML pour des raisons pratiques, puisque presque tout le monde en possède un (il existe des outils de modélisation gratuits, comme Poseidon CE 2.6), alors que des outils de modélisation MOF sont moins répandus
Si vous utilisez un fichier XSD, assurez-vous que l'élément schema contient bien la déclaration de l'espace de nommage du XML Schema, par exemple, <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">.
Haut de la page
La deuxième étape consiste à créer un composant Java qui permettra aux outils Mia de comprendre ce nouveau métamodèle. Ce composant Java est généré en utilisant Mia-DSL.

Le générateur génère alors des fichiers sources Java et des fichiers de configuration. L'étape suivante consiste à packager ces fichiers en archive Java (.jar), ce qui est fait automatiquement par Mia-DSL.
Haut de la page
Mia-DSL se charge automatiquement de la compilation du code source et du processus de packaging. Toutefois, si, par exemple, vous souhaitez modifier manuellement le code source, c'est possible. en lancant le script "compile.bat" situé dans le répertoire de génération que vous avez sélectionné.

Remarque : pour un générateur basé sur une DTD, si vous avez besoin d'inclure un connecteur XML à votre métamodèle (lecteur et écrivain nécessaires au chargement et/ou à la sauvegarde de fichiers XML compatibles avec la DTD donnée), veuillez alors plutôt utiliser le script "compileWithXML.bat"
Haut de la page
Mia-DSL propose de déployer automatiquement le métamodèle. Si vous souhaitez le faire manuellement, vous devez copier le répertoire qui contient le métamodèle généré sous la forme d'une archive Java (.jar).

Haut de la page