ATL et SVG
-
Upload
fatima-zahra-fagroud -
Category
Education
-
view
49 -
download
8
Embed Size (px)
Transcript of ATL et SVG

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