Srep Cours 06

download Srep Cours 06

of 42

Transcript of Srep Cours 06

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