ATL et SVG

Preview:

Citation preview

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

Recommended