srep cours 06
TRANSCRIPT
-
7/24/2019 Srep Cours 06
1/42
XML Metadata Interchange
Le standard XMI
1
-
7/24/2019 Srep Cours 06
2/42
les modles nont t prsents que par le biais de leurmtamodle.
ils restent des entits thoriques abstraites fortementvolatiles et ne peuvent tre ni stocks ni changs surun support informatique.
Il est bien difficile dans ces conditions de parler deprennit.
2
-
7/24/2019 Srep Cours 06
3/42
La solution LOMG propose les standards :
XMI (XML Metadata Interchange)
DI (Diagram Interchange)
qui permettent le support informatique des modles pour lestockage et lchange.
Pour ces standards, lOMG a choisi de sappuyer sur leformat W3C XML.
qui est considr comme le format international dchangede donnes.
3
-
7/24/2019 Srep Cours 06
4/42
Le format XML
Documents bien forms :Un document XML bien form est un
document textuel structur par un ensemble de balises ouverteset fermes.
Exemple :
.
.
.
4
-
7/24/2019 Srep Cours 06
5/42
Documents valides : un document valide doit respecter unestructure prtablie dun ensemble de balises.
Une telle structure prtablie peut, en reprenant lexempleprcdent, spcifier que la balise Chapitre soitobligatoirement incluse dans la balise Livre.
Le standard XML propose des moyens pour dfinir cesstructurations de balises, notamment via les DTD et XMLSchma.
5
-
7/24/2019 Srep Cours 06
6/42
DTD Document Type Definition)
Une DTD est un document textuel qui permet de spcifier une
structuration dun ensemble de balises en dfinissant leursrelations dinclusion.
Le mot-cl ELEMENT permet de dfinir une balise. Il doit tresuivi du nom de la balise et de lensemble des balises contenues.
Le mot-cl ATTLIST permet de dfinir un ensemble dattributsassocis 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/24/2019 Srep Cours 06
7/42
Exemple :
7
-
7/24/2019 Srep Cours 06
8/42
XML Schema
Les schmas XML ont t standardiss par le W3C pour
remplacer les DTD en raison de leur souplesse pour dfinir desstructurations de balises XML.
Exemple :
/sequence>
8
-
7/24/2019 Srep Cours 06
9/42
utres techniques XML
9
-
7/24/2019 Srep Cours 06
10/42
Namespace XML
Les namespace sont utiliss pour regrouper diffrentes balises
ayant une signification commune. Un namespace est dfini simplement par une URL.
Par exemple, lOMG a dfini lURL http://org.omg/UML/1.3pour le namespace des balises UML1.3.
10
-
7/24/2019 Srep Cours 06
11/42
exemple
alias du namespace.
Prfixer les
balises
Avec cet alias
11
-
7/24/2019 Srep Cours 06
12/42
XSLT eXtensible Stylesheet Language Transformations)
Le W3C a propos le standard XSLT (eXtensible StylesheetLanguageTransformations) pour laborer des transformations dedocuments XML.
Lapproche dfinie dans ce standard permet de spcifier des
transformations de documents XML laide de templates. Le standard XSLT est utilis, par exemple, pour transformer les
documents XML en documents HTML afin de rendre lesdocuments XML prsentables dans les navigateurs Web.
12
-
7/24/2019 Srep Cours 06
13/42
exemple
Page correspondant au livre
13
-
7/24/2019 Srep Cours 06
14/42
XMI XML Metadata Interchange)
Lobjectif premier de XMI est de dfinir un moyen permettantde reprsenter un modle sous forme de document XML.
XMI permet de dfinir les structurations de balises ncessaires etsuffisantes la reprsentation des modles au format XML.
14
-
7/24/2019 Srep Cours 06
15/42
Pour dfinir ces structurations de balises XMI sappuie sur lalignement existant entre les modles et leur mtamodle. et les documents XML et leur structuration.
15
-
7/24/2019 Srep Cours 06
16/42
Alignement entre mtamodle/modle et DTD/document XML
16
-
7/24/2019 Srep Cours 06
17/42
Rgles de gnration des balises XML
Lalignement des mtamodles et des structurations de balisesXML permet XMI de dfinir un ensemble de rgles degnration automatique de structuration de balises XML partirdun mtamodle.
17
-
7/24/2019 Srep Cours 06
18/42
XMI et la structuration de balises XML
18
E l d gl XMI d g ti d DTD ti
-
7/24/2019 Srep Cours 06
19/42
Exemple de rgles XMI de gnration de DTD partir
dun mtamodle MOF1.4
1.Toute mtaclasse fournit la dfinition dune balise ayantcomme nom le nom de la mtaclasse.
2. Tout mta-attribut dune mtaclasse fournit la dfinition dunebalise ayant comme nom le nom du mta-attribut.
3. Toute mtarfrence dune mtaclasse fournit la dfinitiondune balise ayant comme nom le nom de la mtarfrence.
4. Toute mta-association entre deux mtaclasses fournit ladfinition dune balise ayant comme nom le nom de la mta-
association.
19
-
7/24/2019 Srep Cours 06
20/42
Exemple : mtaModle
20
-
7/24/2019 Srep Cours 06
21/42
La DTD correspondante
21
E
-
7/24/2019 Srep Cours 06
22/42
En rsum
Le standard XMI permet de reprsenter nimporte quel modle
sous forme de document XML. Le principe de fonctionnement de XMI consiste : gnrer
automatiquement une spcification de structuration de balisesXML (DTD ou XML Schema) partir dun mtamodle.
XMI est donc considr comme le standard assurantlinteroprabilit minimale pour lchange des modles entreoutils.
22
-
7/24/2019 Srep Cours 06
23/42
manipulation et transformation de
modles
23
-
7/24/2019 Srep Cours 06
24/42
Problme : XMI ne permet pas le dveloppementdoprations sur les modles.
Un autre format de reprsentation des modles est ncessairepour :
permettre leur manipulation dans les langages deprogrammation oriente objet.
dvelopper les oprations sur les modles de la mme
manire que pour dvelopper nimporte quelle applicationinformatique.
24
-
7/24/2019 Srep Cours 06
25/42
LOMG a propos un format de reprsentation permettant la
manipulation des modles dans les langages de programmationoriente objet.
Ce format tait dfini initialement dans le standard MOF1.3 etutilisait le langage de dfinition dinterface CORBA/IDL.
Actuellement, cest le standard MOF2.0 to IDL qui dfinit ceformat. De son ct, le JCP (Java Community Process) a dfini le
standard JMI (Java Metadata Interface), une API Javapermettantla manipulation des modles.
Enfin, le framework EMF (Eclipse Modeling Framework) a tconu pour la manipulation des modles dans lenvironnementouvert Eclipse.
25
-
7/24/2019 Srep Cours 06
26/42
Le principe
Quel que soit le standard ou le framework (MOF, JMI ouEMF), lapproche est sensiblement la mme.
Lide est de fournir un ensemble dinterfaces offrant lesoprations ncessaires la manipulation des modles.
Le dveloppement dune opration sur les modles consistesimplement dvelopper une application utilisant cesinterfaces de manipulation des modles.
26
-
7/24/2019 Srep Cours 06
27/42
Les interfaces de manipulation de modles proposes par cesstandards sont de deux types :
les interfaces dites taylored, cest--dire tailles sur mesure pour unmtamodle donn.
et les interfaces dites rflectives, qui permettent laccs auniveau du mtamodle.
27
L i f l d
-
7/24/2019 Srep Cours 06
28/42
Les interfaces taylored
Les interfaces taylored relatives au mtamodle reprsentant
la structure des diagrammes de cas dutilisationpermettentdeffectuer les oprations suivantes :
Connatre le nombre dacteurs contenus dans un modle,
ajouter ou supprimer des acteurs, connatre le nom dunacteur et le modifier, connatre les liens dhritage entreacteurs et les modifier et connatre et modifier les casdutilisation dans lesquels participe un acteur.
28
-
7/24/2019 Srep Cours 06
29/42
Connatre le nombre de cas dutilisation contenus dansun modle, ajouter ou supprimer des cas dutilisation,connatre lintitul dun cas dutilisation et le modifier,connatre les cas dutilisation tendus ou inclus dans uncas dutilisation et les modifier.
Connatre le nombre de systmes contenus dans unmodle, ajouter ou supprimer des systmes, connatre le
nom dun systme et le modifier et connatre lensembledes cas dutilisation contenus dans un systme et lesmodifier.
29
-
7/24/2019 Srep Cours 06
30/42
Mtamodle reprsentant les diagrammes de cas dutilisation associs
un exemple de modle
30
-
7/24/2019 Srep Cours 06
31/42
Les interfaces rflectives
Lintrt des interfaces rflectives est quelles offrent des moyens
daccder aux mtaclasses des mtamodles. partir dun lment dun modle, il est possible daccder sa
mtaclasse et ainsi dobtenir toutes les informations qui le structurent(attributs, rfrences, etc.).
Par exemple, sur le modle de la figure (diapositive prcdente) , partir de llment correspondant au systme, il est possible daccder la mtaclasse systme et ainsi de savoir que cette mtaclasse a unmta-atttibut nomm nom et des mtarfrences vers des lmentsinstances de la mtaclasse cas dutilisation.
Grce ces informations, nous pouvons connatre le nom du systmeainsi quobtenir les cas dutilisation qui le composent.
31
-
7/24/2019 Srep Cours 06
32/42
Transformation de modles
32
-
7/24/2019 Srep Cours 06
33/42
Rendre les modles productifs consiste leurappliquer des transformations de modles pourobtenir des rsultats utiles au dveloppement,
gnralement sous la forme de modles plusdtaills et proches de la solution technique oudu code.
33
-
7/24/2019 Srep Cours 06
34/42
Diffrentes transformation
Transformations de modles CIM vers PIM: Transformations de modles PIM vers PIM:
Permettent de raffiner les PIM afin damliorer la prcisiondes informations quils contiennent.
Transformations de modles PIM vers PSM.
Transformations de modles PSM vers du code.
34
-
7/24/2019 Srep Cours 06
35/42
35
-
7/24/2019 Srep Cours 06
36/42
une transformation exprime des correspondancesstructurelles entre les modles source et cible.
Ces correspondances structurelles sappuient sur
les mtamodles des modles source et cible.
36
-
7/24/2019 Srep Cours 06
37/42
Par exemple, une transformation de modles visant
transformer des modles UML vers des schmas debases de donnes relationnelles (BD) spcifierait largle suivante :
toute classe UML correspond une table dunschma dune base de donnes.
Cette rgle exprime bien une correspondancestructurelle entre les mtamodles UML et BD etplus prcisment une correspondance entre lesmtaclasses Class et Table.
37
-
7/24/2019 Srep Cours 06
38/42
38
-
7/24/2019 Srep Cours 06
39/42
Spcification des rgles de transformation
Trois approches aujourdhui rpertories permettent
la spcification de ces rgles de correspondances:1. Approche par programmation: Consiste
utiliser les langages de programmation oriente
objet, Cette approche est la plus utilise car elleest trs puissante et fortement outille.
39
-
7/24/2019 Srep Cours 06
40/42
2. Approche par template : Consiste dfinirles canevas des modles cibles souhaits en ydclarant des paramtres. Ces paramtres
seront substitus par les informations contenuesdans les modles sources.
Cette approche ncessite un langage particulier
permettant la dfinition des modles templates.
40
-
7/24/2019 Srep Cours 06
41/42
3. Approche par modlisation : Lobjectif est demodliser les transformations de modles et de rendreles modles de transformation prennes et productifset dexprimer leur indpendance vis--vis des plates-
formes dexcution. Le standard MOF2.0 QVT (Query, View,
Transformation) dfinie par lOMG a pour objectif de
dfinir le mtamodle permettant llaboration desmodles de transformation de modles.
41
-
7/24/2019 Srep Cours 06
42/42
rsum
la transformation des modles de MDA avec lesdiffrentes approches donner issue audveloppement des outils permettant
dautomatiser le passage dun modle un autre. Les diffrents outils montrent que lapproche
MDA nest pas seulement thorique et quelle est
incontournable dans les dveloppementslogiciels.