Upload
fatima-zahra-fagroud
View
49
Download
8
Embed Size (px)
Transformation de XMI en SVG
Réalisé par: Fatima Zahra FagroudEncadré par: DR. Benlangour
Plan
Transformation avec JDOM› SVG› XMI› API JDOM› Transformation
Transformation avec ATL› Ingénierie des modèles› ATL› Transformation
Transformation avec JDOM
SVG
Scalable Vector Graphic une spécification de documents pour décrire des
graphiques 2D à dimension variable en XMLUn fichier SVG est un document XML dont les balises sont
propres au graphisme
Structure de SVG
Déclarations XML:
DTD du SVG:
Balise incluant le code SVG:
<svg width="500" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg">...</svg>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<?xml version="1.0" standalone="no"?>
Structure de SVG
Définition des éléments réutilisables:
Définition des éléments groupés:
<svg> <defs>………..</defs></svg>
<svg> <g>………..</g></svg>
Exemple
XMI
XML Metadata Interchangestandard créé par l‘OMGdéfinit un standard d'échange de métadonnées UML en
XMLRésultat: une façon ouverte et indépendante de tout
éditeur pour décrire des modèles UML
Structure de XMI
Entête:
Définition du model:
Définition des éléments du diagramme:
<?xml version="1.0" encoding="UTF-8"?><xmi:XMI xmi:version="2.1" xmlns:uml="http://schema.omg.org/spec/UML/2.0" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"> <xmi:Documentation exporter="Visual Paradigm for UML" exporterVersion="7.0.1"> <xmi:Extension extender="Visual Paradigm for UML">
<nickname exportedFromDifferentName="false"/> </xmi:Extension> </xmi:Documentation>
<uml:Model name="untitled" xmi:id="wu6kqhqAUKzcqAAF">…. </uml:Model>
<uml:Diagram diagramType="ActivityDiagram" documentation="" name="Diagramme d'activit\u00e9s1" toolName="Visual Paradigm for UML" xmi:id="DI2kqhqAUKzcqAMD">…. </uml:Diagram>
API JDOM
Java Document Object Model API open source Java But: n'est pas de définir un nouveau type de parseur mais de
faciliter la manipulation au sens large de document XML
API JDOM
Les classes de base: (package org.jdom) Document : le document ; il faut utiliser la méthode getRootElement()
pour obtenir la racine Element : un nœud élément Attribute : un nœud attribut Text : un nœud texte ProcessingInstruction : un nœud de traitement ; Namespace : un nœud espace de noms ; Comment : un nœud commentaire ; DocType : un nœud déclaration de type de document ; EntityRef : un nœud référence d’entité ; CDATA : un nœud section CDATA
Exemple
Etape de transformation de xmi en svg avec java (API JDOM)
Créer un diagramme d’activité avec Visual Paradigm L’Exporter sous format XMI Parser avec Java pour extraire les données nécessaires redessiner le diagramme avec SVG
Diagramme d’activité en Visual Paradigm
Fichier XMI exporté
Parsing avec java
Parsing du fichier XMI avec SAXBuilder:
Parsing avec java
Chargement de la liste des éléments :
Parsing avec java
Classe nœud initial et final:
Récupération du nœud initial et final :
Parsing avec java
Classe nœud décisionnel:
Récupération de la liste des nœuds décisionnels :
Parsing avec java
Classe action:
Récupération de la liste des action :
Parsing avec java
Classe Controlflow:
Récupération de la liste des Controlflows :
Transformation en SVG
Écriture du code XML dans le document qui va être générer:
Création de la balise svg dans le document:
Transformation en SVG
Dessiner Cercle:
Ecrire du texte:
Transformation en SVG
Dessiner une line:
Ajouter un nœud:
Transformation en SVG
Dessiner rectangle:
Transformation en SVG
Dessiner ellipse:
Fonction de Test
Transformation avec ATL
Ingénierie des Modèles
une démarche de développement qui conçoit l’intégralité du cycle de développement du logiciel comme un processus de production, de raffinement itératif et d’intégration de modèles.
Sur cette base le processus de développement est vu comme étant une transformation progressive d’un modèle PIM (Platform Independent Model), qui spécifie la solution d’un système indépendamment des technologies de programmation, vers un modèle PSM (Platform Specific Model) qui décrit comment cette solution peut être implémentée dans une technologie particulière.
Quelques définitions
PSM : Platform Specific Model. Modèle d’application dépendant de la plateforme matérielle ou logicielle dans laquelle il sera déployé. Il est obtenu à partir du PIM et du PM .
Méta-modèle : Modèle de modèle, c’est `a dire représentation abstraite des contraintes existants sur une famille de modèles. MOF : Metadata Object Facility. Cette spécification met à disposition un langage commun pour accéder et manipuler les divers méta-modèles.
Quelques définitions
PIM : Platform Independant Model. Modèle d’application indépendant d’une plate-forme matérielle ou logicielle particulière, qui est donc doté d’une grande portabilité.
PM : Platform Model. Le modèle de la plate-forme sur
laquelle une application sera d´eployée.
ATLAS Transformation Language (ATL)
a été conçu pour réaliser des transformations dans le cadre du Framework MDA proposé par l'OMG.
La problématique de la transformation de modèles étant au temps de sa sortie l'objet d'une intense recherche, l'OMG fut à l'origine de la RFP concernant QVT (Query, View, Transformation) dont la réponse devait fournir un standard pour la transformation de modèles au sein de l'approche MDA.
Plugin nécessaire pour réalisation dans Eclipse
Fichier de transformation ATL
Entête
Helpers Un helper est l'équivalent d'une méthode auxiliaire ; il est défini sur
un contexte et pourra être applique sur toute expression ayant pour type ce contexte (comme une méthode dans une classe en Java).
Fichier de transformation ATL
RulesUne règle est caractérisée par deux éléments obligatoires:
un motif sur le modèle source (from) avec une éventuelle contrainte
un ou plusieurs motifs sur le modèle cible (to) qui explique comment les éléments cibles sont initialisés à partir des éléments sources correspondant.
Une règle peut aussi définir : une contrainte sur les éléments correspondant au motif
source une partie impérative des variables locales
Étapes de transformation
Création des Méta Modèles (SVG , Diagramme d’activité). Exemple de Modèle de diagramme d’activité au format xmi Définition des transformations ATL. Exécution de fichiers ATL
Metamodel XMI
Metamodel SVG
Fichier de transformation
Fichier de transformation
Fichier de transformation
Démarche de l’exécution
initialisation du module mise en correspondance des éléments sources des rules initialisation des éléments du modèle cible.
Démarche de l’exécution