SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
XML Metadata Interchange
Le standard XMI
1
 les modèles n’ont été présentés que par le biais de leur
métamodèle.
 ils restent des entités théoriques abstraites fortement
volatiles et ne peuvent être ni stockés ni échangés sur
un support informatique.
 Il est bien difficile dans ces conditions de parler de
pérennité.
2
La solution
 L’OMG propose les standards :
 XMI (XML Metadata Interchange)
 DI (Diagram Interchange)
 qui permettent le support informatique des modèles pour le
stockage et l’échange.
 Pour ces standards, l’OMG a choisi de s’appuyer sur le
formatW3C XML.
 qui est considéré comme le format international d’échange
de données.
3
Le format XML
 Documents bien formés :Un document XML bien formé est un
document textuel structuré par un ensemble de balises ouvertes
et fermées.
 Exemple :
<Livre titre=’MDA’>
<Auteur prenom=’xavier’ nom=’blanc’></Auteur>
<Chapitre numero=’4’ titre=’Modèles en XML’>
.
.
.
</Chapitre>
</Livre >
4
 Documents valides :un document valide doit respecter une
structure préétablie d’un ensemble de balises.
 Une telle structure préétablie peut, en reprenant l’exemple
précédent, spécifier que la balise Chapitre soit
obligatoirement incluse dans la balise Livre.
 Le standard XML propose des moyens pour définir ces
structurations de balises, notamment via les DTD et XML
Schéma.
5
DTD (Document Type Definition)
 Une DTD est un document textuel qui permet de spécifier une
structuration d’un ensemble de balises en définissant leurs
relations d’inclusion.
 Le mot-clé ELEMENT permet de définir une balise. Il doit être
suivi du nom de la balise et de l’ensemble des balises contenues.
 Le mot-cléATTLIST permet de définir un ensemble d’attributs
associés à une balise.
 Ce mot-clé doit être suivi du nom de la balise qui contiendra les
attributs puis de la liste des attributs.
6
 Exemple :
<!ELEMENT Livre (Chapitre) >
<!ATTLIST Livre titre CDATA>
7
XML Schema
 Les schémas XML ont été standardisés par leW3C pour
remplacer les DTD en raison de leur souplesse pour définir des
structurations de balises XML.
 Exemple :
<element name=’Livre’>
<complexType>
<sequence>
<element ref=’Chapitre’></element>
/sequence>
</complexType>
</element>
8
Autres techniques XML
9
Namespace XML
 Les namespace sont utilisés pour regrouper différentes balises
ayant une signification commune.
 Un namespace est défini simplement par une URL.
 Par exemple, l’OMG a défini l’URL http://org.omg/UML/1.3
pour le namespace des balises UML1.3.
10
exemple
<document
xmlns:uml13="http://org.omg/UML/1.3">
<uml13:Class>
</uml13:Class >
</document>
alias du namespace.
Préfixer les
balises
Avec cet alias
11
XSLT (eXtensible Stylesheet Language Transformations)
 LeW3C a proposé le standard XSLT (eXtensible Stylesheet
LanguageTransformations) pour élaborer des transformations de
documents XML.
 L’approche définie dans ce standard permet de spécifier des
transformations de documents XML à l’aide de templates.
 Le standard XSLT est utilisé, par exemple, pour transformer les
documents XML en documents HTML afin de rendre les
documents XML présentables dans les navigateursWeb.
12
exemple
<template match="/Livre">
<HTML>
<HEAD>
Page correspondant au livre <value-of select="@titre"/>
</HEAD>
</template>
13
XMI (XML Metadata Interchange)
 L’objectif premier de XMI est de définir un moyen permettant
de représenter un modèle sous forme de document XML.
 XMI permet de définir les structurations de balises nécessaires et
suffisantes à la représentation des modèles au format XML.
14
 Pour définir ces structurations de balises XMI s’appuie sur
 l’alignement existant entre les modèles et leur métamodèle.
 et les documents XML et leur structuration.
15
Alignement entre métamodèle/modèle et DTD/document XML
16
Règles de génération des balises XML
 L’alignement des métamodèles et des structurations de balises
XML permet à XMI de définir un ensemble de règles de
génération automatique de structuration de balises XML à partir
d’un métamodèle.
17
XMI et la structuration de balises XML
18
Exemple de règles XMI de génération de DTD à partir
d’un métamodèle MOF1.4
1. Toute métaclasse fournit la définition d’une balise ayant
comme nom le nom de la métaclasse.
2. Tout méta-attribut d’une métaclasse fournit la définition d’une
balise ayant comme nom le nom du méta-attribut.
3. Toute métaréférence d’une métaclasse fournit la définition
d’une balise ayant comme nom le nom de la métaréférence.
4. Toute méta-association entre deux métaclasses fournit la
définition d’une balise ayant comme nom le nom de la méta-
association.
19
Exemple : métaModèle
20
La DTD correspondante
21
En résumé
 Le standard XMI permet de représenter n’importe quel modèle
sous forme de document XML.
 Le principe de fonctionnement de XMI consiste : à générer
automatiquement une spécification de structuration de balises
XML (DTD ou XML Schema) à partir d’un métamodèle.
 XMI est donc considéré comme le standard assurant
l’interopérabilité minimale pour l’échange des modèles entre
outils.
22
manipulation et transformation de
modèles
23
 Problème : XMI ne permet pas le développement
d’opérations sur les modèles.
 Un autre format de représentation des modèles est nécessaire
pour :
 permettre leur manipulation dans les langages de
programmation orientée objet.
 développer les opérations sur les modèles de la même
manière que pour développer n’importe quelle application
informatique.
24
 L’OMG a proposé un format de représentation permettant la
manipulation des modèles dans les langages de programmation
orientée objet.
 Ce format était défini initialement dans le standard MOF1.3 et
utilisait le langage de définition d’interface CORBA/IDL.
 Actuellement, c’est le standard MOF2.0 to IDL qui définit ce
format.
 De son côté, le JCP (Java Community Process) a défini le
standard JMI (Java Metadata Interface), uneAPI Javapermettant
la manipulation des modèles.
 Enfin, le framework EMF (Eclipse Modeling Framework) a été
conçu pour la manipulation des modèles dans l’environnement
ouvert Eclipse.
25
Le principe
 Quel que soit le standard ou le framework (MOF, JMI ou
EMF), l’approche est sensiblement la même.
 L’idée est de fournir un ensemble d’interfaces offrant les
opérations nécessaires à la manipulation des modèles.
 Le développement d’une opération sur les modèles consiste
simplement à développer une application utilisant ces
interfaces de manipulation des modèles.
26
 Les interfaces de manipulation de modèles proposées par ces
standards sont de deux types :
 les interfaces dites taylored,c’est-à-dire taillées sur mesure pour un
métamodèle donné.
 et les interfaces dites réflectives, qui permettent l’accès au
niveau du métamodèle.
27
Les interfaces taylored
 Les interfaces taylored relatives au métamodèle représentant
la structure des diagrammes de cas d’utilisation permettent
d’effectuer les opérations suivantes :
 Connaître le nombre d’acteurs contenus dans un modèle,
ajouter ou supprimer des acteurs, connaître le nom d’un
acteur et le modifier, connaître les liens d’héritage entre
acteurs et les modifier et connaître et modifier les cas
d’utilisation dans lesquels participe un acteur.
28
 Connaître le nombre de cas d’utilisation contenus dans
un modèle, ajouter ou supprimer des cas d’utilisation,
connaître l’intitulé d’un cas d’utilisation et le modifier,
connaître les cas d’utilisation étendus ou inclus dans un
cas d’utilisation et les modifier.
 Connaître le nombre de systèmes contenus dans un
modèle, ajouter ou supprimer des systèmes, connaître le
nom d’un système et le modifier et connaître l’ensemble
des cas d’utilisation contenus dans un système et les
modifier.
29
Métamodèle représentant les diagrammes de cas d’utilisation associés à
un exemple de modèle
30
Les interfaces réflectives
 L’intérêt des interfaces réflectives est qu’elles offrent des moyens
d’accéder aux métaclasses des métamodèles.
 À partir d’un élément d’un modèle, il est possible d’accéder à sa
métaclasse et ainsi d’obtenir toutes les informations qui le structurent
(attributs, références, etc.).
 Par exemple, sur le modèle de la figure (diapositive précédente) , à
partir de l’élément correspondant au système, il est possible d’accéder
à la métaclasse système et ainsi de savoir que cette métaclasse a un
méta-atttibut nommé nom et des métaréférences vers des éléments
instances de la métaclasse cas d’utilisation.
 Grâce à ces informations, nous pouvons connaître le nom du système
ainsi qu’obtenir les cas d’utilisation qui le composent.
31
Transformation de modèles
32
 Rendre les modèles productifs consiste à leur
appliquer des transformations de modèles pour
obtenir des résultats utiles au développement,
généralement sous la forme de modèles plus
détaillés et proches de la solution technique ou
du code.
33
Différentes transformation
 Transformations de modèles CIM vers PIM:
 Transformations de modèles PIM vers PIM:
Permettent de raffiner les PIM afin d’améliorer la précision
des informations qu’ils contiennent.
 Transformations de modèles PIM vers PSM.
 Transformations de modèles PSM vers du code.
34
35
 une transformation exprime des correspondances
structurelles entre les modèles source et cible.
 Ces correspondances structurelles s’appuient sur
les métamodèles des modèles source et cible.
36
 Par exemple, une transformation de modèles visant à
transformer des modèles UML vers des schémas de
bases de données relationnelles (BD) spécifierait la
règle suivante :
 à toute classe UML correspond une table d’un
schéma d’une base de données.
 Cette règle exprime bien une correspondance
structurelle entre les métamodèles UML et BD et
plus précisément une correspondance entre les
métaclasses Class etTable.
37
38
Spécification des règles de transformation
 Trois approches aujourd’hui répertoriées permettent
la spécification de ces règles de correspondances:
1. Approche par programmation: Consiste à
utiliser les langages de programmation orientée
objet, Cette approche est la plus utilisée car elle
est très puissante et fortement outillée.
39
2. Approche par template : Consiste à définir
les canevas des modèles cibles souhaités en y
déclarant des paramètres. Ces paramètres
seront substitués par les informations contenues
dans les modèles sources.
 Cette approche nécessite un langage particulier
permettant la définition des modèles templates.
40
3. Approche par modélisation : L’objectif est de
modéliser les transformations de modèles et de rendre
les modèles de transformation pérennes et productifs
et d’exprimer leur indépendance vis-à-vis des plates-
formes d’exécution.
 Le standard MOF2.0 QVT (Query,View,
Transformation) définie par l’OMG a pour objectif de
définir le métamodèle permettant l’élaboration des
modèles de transformation de modèles.
41
résumé
 la transformation des modèles de MDA avec les
différentes approches à donner issue au
développement des outils permettant
d’automatiser le passage d’un modèle à un autre.
 Les différents outils montrent que l’approche
MDA n’est pas seulement théorique et qu’elle est
incontournable dans les développements
logiciels.
42

Contenu connexe

Similaire à srep_cours_06.pdf

Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Laurent BUNIET
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & DéveloppementsPaulin CHOUDJA
 
patron de conception
patron de conception patron de conception
patron de conception Shili Mohamed
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zinebZineb ELGARRAI
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptLeilaAmrane
 
Présentation UML.ppt
Présentation UML.pptPrésentation UML.ppt
Présentation UML.pptNajiHita1
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdfSamirAwad14
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mdaShili Mohamed
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfYasushiTsubakik
 
10-Cours de Géniel Logiciel
10-Cours de Géniel Logiciel10-Cours de Géniel Logiciel
10-Cours de Géniel Logiciellauraty3204
 
Splpv2 annexes-c
Splpv2 annexes-cSplpv2 annexes-c
Splpv2 annexes-cxerty
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Laurent BUNIET
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbcKarim Amane
 
Réseaux avec NetLogo
Réseaux avec NetLogoRéseaux avec NetLogo
Réseaux avec NetLogoAlvaro Gil
 
Adbs 5 à 7 : une nouvelle norme pour le thesaurus
Adbs 5 à 7 : une nouvelle norme pour le thesaurusAdbs 5 à 7 : une nouvelle norme pour le thesaurus
Adbs 5 à 7 : une nouvelle norme pour le thesaurus2helene
 

Similaire à srep_cours_06.pdf (20)

Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4Cours de C++, en français, 2002 - Cours 3.4
Cours de C++, en français, 2002 - Cours 3.4
 
Environnements & Développements
Environnements & DéveloppementsEnvironnements & Développements
Environnements & Développements
 
patron de conception
patron de conception patron de conception
patron de conception
 
Support de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfiSupport de cours technologie et application m.youssfi
Support de cours technologie et application m.youssfi
 
Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 
Cours partie1 elgarrai zineb
Cours partie1 elgarrai zinebCours partie1 elgarrai zineb
Cours partie1 elgarrai zineb
 
xml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.pptxml_bd_ouahdikrid.ppt
xml_bd_ouahdikrid.ppt
 
Présentation UML.ppt
Présentation UML.pptPrésentation UML.ppt
Présentation UML.ppt
 
ORM
ORMORM
ORM
 
Design patterns
Design patternsDesign patterns
Design patterns
 
srep_cours_04.pdf
srep_cours_04.pdfsrep_cours_04.pdf
srep_cours_04.pdf
 
Xml
XmlXml
Xml
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mda
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 
10-Cours de Géniel Logiciel
10-Cours de Géniel Logiciel10-Cours de Géniel Logiciel
10-Cours de Géniel Logiciel
 
Splpv2 annexes-c
Splpv2 annexes-cSplpv2 annexes-c
Splpv2 annexes-c
 
Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3Cours de C++, en français, 2002 - Cours 3.3
Cours de C++, en français, 2002 - Cours 3.3
 
Fmin103 0910 tpjdbc
Fmin103 0910 tpjdbcFmin103 0910 tpjdbc
Fmin103 0910 tpjdbc
 
Réseaux avec NetLogo
Réseaux avec NetLogoRéseaux avec NetLogo
Réseaux avec NetLogo
 
Adbs 5 à 7 : une nouvelle norme pour le thesaurus
Adbs 5 à 7 : une nouvelle norme pour le thesaurusAdbs 5 à 7 : une nouvelle norme pour le thesaurus
Adbs 5 à 7 : une nouvelle norme pour le thesaurus
 

Plus de SamirAwad14

Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMSamirAwad14
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptxSamirAwad14
 
replication.pptx
replication.pptxreplication.pptx
replication.pptxSamirAwad14
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptxSamirAwad14
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptxSamirAwad14
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptxSamirAwad14
 
controle donnee.pptx
controle donnee.pptxcontrole donnee.pptx
controle donnee.pptxSamirAwad14
 
controle donnee.pdf
controle donnee.pdfcontrole donnee.pdf
controle donnee.pdfSamirAwad14
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdfSamirAwad14
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdfSamirAwad14
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptxSamirAwad14
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxSamirAwad14
 
Système de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSystème de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSamirAwad14
 

Plus de SamirAwad14 (20)

Etude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVMEtude comparative des classifieurs Naïve Bayes et SVM
Etude comparative des classifieurs Naïve Bayes et SVM
 
NS3 - Exploitation.pptx
NS3 - Exploitation.pptxNS3 - Exploitation.pptx
NS3 - Exploitation.pptx
 
replication.pptx
replication.pptxreplication.pptx
replication.pptx
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
trigger.pptx
trigger.pptxtrigger.pptx
trigger.pptx
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
repartition oracle.pptx
repartition oracle.pptxrepartition oracle.pptx
repartition oracle.pptx
 
Transaction.pptx
Transaction.pptxTransaction.pptx
Transaction.pptx
 
controle donnee.pptx
controle donnee.pptxcontrole donnee.pptx
controle donnee.pptx
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
TD.pdf
TD.pdfTD.pdf
TD.pdf
 
trigger.pdf
trigger.pdftrigger.pdf
trigger.pdf
 
controle donnee.pdf
controle donnee.pdfcontrole donnee.pdf
controle donnee.pdf
 
Transaction.pdf
Transaction.pdfTransaction.pdf
Transaction.pdf
 
replication.pdf
replication.pdfreplication.pdf
replication.pdf
 
gestion utilisateur.pdf
gestion utilisateur.pdfgestion utilisateur.pdf
gestion utilisateur.pdf
 
srep_cours_01.pdf
srep_cours_01.pdfsrep_cours_01.pdf
srep_cours_01.pdf
 
Data Warehousing.pptx
Data Warehousing.pptxData Warehousing.pptx
Data Warehousing.pptx
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptx
 
Système de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptxSystème de quorum dans les grilles.pptx
Système de quorum dans les grilles.pptx
 

Dernier

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptxrababouerdighi
 

Dernier (15)

Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx7 PPT sue le project de fin d'étude.pptx
7 PPT sue le project de fin d'étude.pptx
 

srep_cours_06.pdf

  • 2.  les modèles n’ont été présentés que par le biais de leur métamodèle.  ils restent des entités théoriques abstraites fortement volatiles et ne peuvent être ni stockés ni échangés sur un support informatique.  Il est bien difficile dans ces conditions de parler de pérennité. 2
  • 3. La solution  L’OMG propose les standards :  XMI (XML Metadata Interchange)  DI (Diagram Interchange)  qui permettent le support informatique des modèles pour le stockage et l’échange.  Pour ces standards, l’OMG a choisi de s’appuyer sur le formatW3C XML.  qui est considéré comme le format international d’échange de données. 3
  • 4. Le format XML  Documents bien formés :Un document XML bien formé est un document textuel structuré par un ensemble de balises ouvertes et fermées.  Exemple : <Livre titre=’MDA’> <Auteur prenom=’xavier’ nom=’blanc’></Auteur> <Chapitre numero=’4’ titre=’Modèles en XML’> . . . </Chapitre> </Livre > 4
  • 5.  Documents valides :un document valide doit respecter une structure préétablie d’un ensemble de balises.  Une telle structure préétablie peut, en reprenant l’exemple précédent, spécifier que la balise Chapitre soit obligatoirement incluse dans la balise Livre.  Le standard XML propose des moyens pour définir ces structurations de balises, notamment via les DTD et XML Schéma. 5
  • 6. DTD (Document Type Definition)  Une DTD est un document textuel qui permet de spécifier une structuration d’un ensemble de balises en définissant leurs relations d’inclusion.  Le mot-clé ELEMENT permet de définir une balise. Il doit être suivi du nom de la balise et de l’ensemble des balises contenues.  Le mot-cléATTLIST permet de définir un ensemble d’attributs associés à une balise.  Ce mot-clé doit être suivi du nom de la balise qui contiendra les attributs puis de la liste des attributs. 6
  • 7.  Exemple : <!ELEMENT Livre (Chapitre) > <!ATTLIST Livre titre CDATA> 7
  • 8. XML Schema  Les schémas XML ont été standardisés par leW3C pour remplacer les DTD en raison de leur souplesse pour définir des structurations de balises XML.  Exemple : <element name=’Livre’> <complexType> <sequence> <element ref=’Chapitre’></element> /sequence> </complexType> </element> 8
  • 10. Namespace XML  Les namespace sont utilisés pour regrouper différentes balises ayant une signification commune.  Un namespace est défini simplement par une URL.  Par exemple, l’OMG a défini l’URL http://org.omg/UML/1.3 pour le namespace des balises UML1.3. 10
  • 12. XSLT (eXtensible Stylesheet Language Transformations)  LeW3C a proposé le standard XSLT (eXtensible Stylesheet LanguageTransformations) pour élaborer des transformations de documents XML.  L’approche définie dans ce standard permet de spécifier des transformations de documents XML à l’aide de templates.  Le standard XSLT est utilisé, par exemple, pour transformer les documents XML en documents HTML afin de rendre les documents XML présentables dans les navigateursWeb. 12
  • 13. exemple <template match="/Livre"> <HTML> <HEAD> Page correspondant au livre <value-of select="@titre"/> </HEAD> </template> 13
  • 14. XMI (XML Metadata Interchange)  L’objectif premier de XMI est de définir un moyen permettant de représenter un modèle sous forme de document XML.  XMI permet de définir les structurations de balises nécessaires et suffisantes à la représentation des modèles au format XML. 14
  • 15.  Pour définir ces structurations de balises XMI s’appuie sur  l’alignement existant entre les modèles et leur métamodèle.  et les documents XML et leur structuration. 15
  • 16. Alignement entre métamodèle/modèle et DTD/document XML 16
  • 17. Règles de génération des balises XML  L’alignement des métamodèles et des structurations de balises XML permet à XMI de définir un ensemble de règles de génération automatique de structuration de balises XML à partir d’un métamodèle. 17
  • 18. XMI et la structuration de balises XML 18
  • 19. Exemple de règles XMI de génération de DTD à partir d’un métamodèle MOF1.4 1. Toute métaclasse fournit la définition d’une balise ayant comme nom le nom de la métaclasse. 2. Tout méta-attribut d’une métaclasse fournit la définition d’une balise ayant comme nom le nom du méta-attribut. 3. Toute métaréférence d’une métaclasse fournit la définition d’une balise ayant comme nom le nom de la métaréférence. 4. Toute méta-association entre deux métaclasses fournit la définition d’une balise ayant comme nom le nom de la méta- association. 19
  • 22. En résumé  Le standard XMI permet de représenter n’importe quel modèle sous forme de document XML.  Le principe de fonctionnement de XMI consiste : à générer automatiquement une spécification de structuration de balises XML (DTD ou XML Schema) à partir d’un métamodèle.  XMI est donc considéré comme le standard assurant l’interopérabilité minimale pour l’échange des modèles entre outils. 22
  • 24.  Problème : XMI ne permet pas le développement d’opérations sur les modèles.  Un autre format de représentation des modèles est nécessaire pour :  permettre leur manipulation dans les langages de programmation orientée objet.  développer les opérations sur les modèles de la même manière que pour développer n’importe quelle application informatique. 24
  • 25.  L’OMG a proposé un format de représentation permettant la manipulation des modèles dans les langages de programmation orientée objet.  Ce format était défini initialement dans le standard MOF1.3 et utilisait le langage de définition d’interface CORBA/IDL.  Actuellement, c’est le standard MOF2.0 to IDL qui définit ce format.  De son côté, le JCP (Java Community Process) a défini le standard JMI (Java Metadata Interface), uneAPI Javapermettant la manipulation des modèles.  Enfin, le framework EMF (Eclipse Modeling Framework) a été conçu pour la manipulation des modèles dans l’environnement ouvert Eclipse. 25
  • 26. Le principe  Quel que soit le standard ou le framework (MOF, JMI ou EMF), l’approche est sensiblement la même.  L’idée est de fournir un ensemble d’interfaces offrant les opérations nécessaires à la manipulation des modèles.  Le développement d’une opération sur les modèles consiste simplement à développer une application utilisant ces interfaces de manipulation des modèles. 26
  • 27.  Les interfaces de manipulation de modèles proposées par ces standards sont de deux types :  les interfaces dites taylored,c’est-à-dire taillées sur mesure pour un métamodèle donné.  et les interfaces dites réflectives, qui permettent l’accès au niveau du métamodèle. 27
  • 28. Les interfaces taylored  Les interfaces taylored relatives au métamodèle représentant la structure des diagrammes de cas d’utilisation permettent d’effectuer les opérations suivantes :  Connaître le nombre d’acteurs contenus dans un modèle, ajouter ou supprimer des acteurs, connaître le nom d’un acteur et le modifier, connaître les liens d’héritage entre acteurs et les modifier et connaître et modifier les cas d’utilisation dans lesquels participe un acteur. 28
  • 29.  Connaître le nombre de cas d’utilisation contenus dans un modèle, ajouter ou supprimer des cas d’utilisation, connaître l’intitulé d’un cas d’utilisation et le modifier, connaître les cas d’utilisation étendus ou inclus dans un cas d’utilisation et les modifier.  Connaître le nombre de systèmes contenus dans un modèle, ajouter ou supprimer des systèmes, connaître le nom d’un système et le modifier et connaître l’ensemble des cas d’utilisation contenus dans un système et les modifier. 29
  • 30. Métamodèle représentant les diagrammes de cas d’utilisation associés à un exemple de modèle 30
  • 31. Les interfaces réflectives  L’intérêt des interfaces réflectives est qu’elles offrent des moyens d’accéder aux métaclasses des métamodèles.  À partir d’un élément d’un modèle, il est possible d’accéder à sa métaclasse et ainsi d’obtenir toutes les informations qui le structurent (attributs, références, etc.).  Par exemple, sur le modèle de la figure (diapositive précédente) , à partir de l’élément correspondant au système, il est possible d’accéder à la métaclasse système et ainsi de savoir que cette métaclasse a un méta-atttibut nommé nom et des métaréférences vers des éléments instances de la métaclasse cas d’utilisation.  Grâce à ces informations, nous pouvons connaître le nom du système ainsi qu’obtenir les cas d’utilisation qui le composent. 31
  • 33.  Rendre les modèles productifs consiste à leur appliquer des transformations de modèles pour obtenir des résultats utiles au développement, généralement sous la forme de modèles plus détaillés et proches de la solution technique ou du code. 33
  • 34. Différentes transformation  Transformations de modèles CIM vers PIM:  Transformations de modèles PIM vers PIM: Permettent de raffiner les PIM afin d’améliorer la précision des informations qu’ils contiennent.  Transformations de modèles PIM vers PSM.  Transformations de modèles PSM vers du code. 34
  • 35. 35
  • 36.  une transformation exprime des correspondances structurelles entre les modèles source et cible.  Ces correspondances structurelles s’appuient sur les métamodèles des modèles source et cible. 36
  • 37.  Par exemple, une transformation de modèles visant à transformer des modèles UML vers des schémas de bases de données relationnelles (BD) spécifierait la règle suivante :  à toute classe UML correspond une table d’un schéma d’une base de données.  Cette règle exprime bien une correspondance structurelle entre les métamodèles UML et BD et plus précisément une correspondance entre les métaclasses Class etTable. 37
  • 38. 38
  • 39. Spécification des règles de transformation  Trois approches aujourd’hui répertoriées permettent la spécification de ces règles de correspondances: 1. Approche par programmation: Consiste à utiliser les langages de programmation orientée objet, Cette approche est la plus utilisée car elle est très puissante et fortement outillée. 39
  • 40. 2. Approche par template : Consiste à définir les canevas des modèles cibles souhaités en y déclarant des paramètres. Ces paramètres seront substitués par les informations contenues dans les modèles sources.  Cette approche nécessite un langage particulier permettant la définition des modèles templates. 40
  • 41. 3. Approche par modélisation : L’objectif est de modéliser les transformations de modèles et de rendre les modèles de transformation pérennes et productifs et d’exprimer leur indépendance vis-à-vis des plates- formes d’exécution.  Le standard MOF2.0 QVT (Query,View, Transformation) définie par l’OMG a pour objectif de définir le métamodèle permettant l’élaboration des modèles de transformation de modèles. 41
  • 42. résumé  la transformation des modèles de MDA avec les différentes approches à donner issue au développement des outils permettant d’automatiser le passage d’un modèle à un autre.  Les différents outils montrent que l’approche MDA n’est pas seulement théorique et qu’elle est incontournable dans les développements logiciels. 42