atl et svg

43
Transformation de XMI en SVG par: Fatima Zahra Fagroud ré par: DR. Benlangour

Upload: fatima-zahra-fagroud

Post on 16-Apr-2017

49 views

Category:

Education


8 download

TRANSCRIPT

Page 1: ATL et SVG

Transformation de XMI en SVG

Réalisé par: Fatima Zahra FagroudEncadré par: DR. Benlangour

Page 2: ATL et SVG

Plan

Transformation avec JDOM› SVG› XMI› API JDOM› Transformation

Transformation avec ATL› Ingénierie des modèles› ATL› Transformation

Page 3: ATL et SVG

Transformation avec JDOM

Page 4: ATL et SVG

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

Page 5: ATL et SVG

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"?>

Page 6: ATL et SVG

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>

Page 7: ATL et SVG

Exemple

Page 8: ATL et SVG

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

Page 9: ATL et SVG

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>

Page 10: ATL et SVG

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

Page 11: ATL et SVG

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

Page 12: ATL et SVG

Exemple

Page 13: ATL et SVG

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

Page 14: ATL et SVG

Diagramme d’activité en Visual Paradigm

Page 15: ATL et SVG

Fichier XMI exporté

Page 16: ATL et SVG

Parsing avec java

Parsing du fichier XMI avec SAXBuilder:

Page 17: ATL et SVG

Parsing avec java

Chargement de la liste des éléments :

Page 18: ATL et SVG

Parsing avec java

Classe nœud initial et final:

Récupération du nœud initial et final :

Page 19: ATL et SVG

Parsing avec java

Classe nœud décisionnel:

Récupération de la liste des nœuds décisionnels :

Page 20: ATL et SVG

Parsing avec java

Classe action:

Récupération de la liste des action :

Page 21: ATL et SVG

Parsing avec java

Classe Controlflow:

Récupération de la liste des Controlflows :

Page 22: ATL et SVG

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:

Page 23: ATL et SVG

Transformation en SVG

Dessiner Cercle:

Ecrire du texte:

Page 24: ATL et SVG

Transformation en SVG

Dessiner une line:

Ajouter un nœud:

Page 25: ATL et SVG

Transformation en SVG

Dessiner rectangle:

Page 26: ATL et SVG

Transformation en SVG

Dessiner ellipse:

Page 27: ATL et SVG

Fonction de Test

Page 28: ATL et SVG

Transformation avec ATL

Page 29: ATL et SVG

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.

Page 30: ATL et SVG

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.

Page 31: ATL et SVG

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.

Page 32: ATL et SVG

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.

Page 33: ATL et SVG

Plugin nécessaire pour réalisation dans Eclipse

Page 34: ATL et SVG

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).

Page 35: ATL et SVG

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

Page 36: ATL et SVG

É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

Page 37: ATL et SVG

Metamodel XMI

Page 38: ATL et SVG

Metamodel SVG

Page 39: ATL et SVG

Fichier de transformation

Page 40: ATL et SVG

Fichier de transformation

Page 41: ATL et SVG

Fichier de transformation

Page 42: ATL et SVG

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.

Page 43: ATL et SVG

Démarche de l’exécution