La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 2005/2006.

Présentations similaires


Présentation au sujet: "Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 2005/2006."— Transcription de la présentation:

1 Passerelle entre MOF & EMF

2 Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 2005/2006

3 Objectifs Objectifs Présentation du cadre générale Présentation du cadre générale Définitions Définitions MOF (Meta Object Facility) MOF (Meta Object Facility) Fonctionnalités du framework EMF Fonctionnalités du framework EMF Comparaison entre MOF et EMF Comparaison entre MOF et EMF Conversion entre modèle MOF et EMF Conversion entre modèle MOF et EMF Conversion de modèle MOF à EMF à laide de XSLT (E-MORF tool) Conversion de modèle MOF à EMF à laide de XSLT (E-MORF tool) Equivalence de concepts entre MOF et EMF Equivalence de concepts entre MOF et EMF Présentation du travail réalisé Présentation du travail réalisé Conclusion Conclusion Liste des acronymes Liste des acronymes Bibliographie Bibliographie Sommaire

4 Notre Exposé a pour but d'expliquer comment produire à partir dun modèle MOF le modèle EMF correspondant et vice versa permettant ainsi de faciliter léchange entre les différent modèles de MOF et EMF ainsi que leur instances respectives. Pour cela on va se pencher sur les idées suivante: Pour cela on va se pencher sur les idées suivante: Quelle est l'origine du concept de la métamétamodélisation? Quelle est l'origine du concept de la métamétamodélisation? Quelles sont les techniques utilisées pour la conversion entre MOF et EMF ? Quelles sont les techniques utilisées pour la conversion entre MOF et EMF ? Et enfin, Quelle sont les Equivalences de concepts entre MOF et EMF? Et enfin, Quelle sont les Equivalences de concepts entre MOF et EMF? Objectifs

5 En novembre 2000, lOMG (Object Management Group) annonçait son initiative MDA :Model Driven Architecture (Soley et al., 2000). En novembre 2000, lOMG (Object Management Group) annonçait son initiative MDA :Model Driven Architecture (Soley et al., 2000). Le consensus sur UML a été essentiel dans cette transition des techniques de production de logiciel basées sur le code vers des techniques de production basées sur les modèles. Un rôle clef est maintenant joué par le concept de métamodèle. Mais ceci nest pas suffisant. Le consensus sur UML a été essentiel dans cette transition des techniques de production de logiciel basées sur le code vers des techniques de production basées sur les modèles. Un rôle clef est maintenant joué par le concept de métamodèle. Mais ceci nest pas suffisant. Présentation du cadre générale -1-

6 Le MOF: Meta Object Facility (Object Management Group, 1997) est issu de la reconnaissance que UML était un métamodèle possible dans le domaine du développement logiciel, mais il nétait pas le seul. Devant le danger de voir se développer et évoluer indépendamment une grande variété de métamodèles différents et incompatibles (data warehouse, workflow, software process, etc.), il y avait un besoin urgent de fournir un cadre global dintégration pour tous les métamodèles dans le domaine de lingénierie du logiciel, des systèmes et des données. La réponse logique était donc doffrir un langage de définition de métamodèles, cest-à-dire un métamétamodèle, chaque métamodèle définissant lui-même un langage pour décrire un domaine spécifique dintérêt. Le MOF: Meta Object Facility (Object Management Group, 1997) est issu de la reconnaissance que UML était un métamodèle possible dans le domaine du développement logiciel, mais il nétait pas le seul. Devant le danger de voir se développer et évoluer indépendamment une grande variété de métamodèles différents et incompatibles (data warehouse, workflow, software process, etc.), il y avait un besoin urgent de fournir un cadre global dintégration pour tous les métamodèles dans le domaine de lingénierie du logiciel, des systèmes et des données. La réponse logique était donc doffrir un langage de définition de métamodèles, cest-à-dire un métamétamodèle, chaque métamodèle définissant lui-même un langage pour décrire un domaine spécifique dintérêt. Présentation du cadre générale -2-

7 Interprétation de la pile de modélisation multi-niveau de lOMG

8 Standardisation de la modélisation Buts : aplanir les différences entre les modèles Faciliter lautomatisation des modèles (transformation de modèles) homogénéité des outils logiciels pour faciliter leur interopérabilité Fournir des modèles pivots compréhensibles par tous les outils, acceptés par les éditeurs de ces outils Exemple de standardisation OMG: UML, MOF, XMI Introduction

9 Le Meta-Object Facility (MOF) Le open source Eclipse Modelling Framework (EMF) Définitions constituent deux framework des meta-modéles les plus connus.

10 Le MOF est un méta-méta-modèle, ou un modèle du méta-modèle. Il définit les éléments essentiels, la syntaxe et la structure des méta- modèles utilisés pour construire des modèles orientés objet ; grâce à des diagrammes ressemblants étrangement à des diagrammes de classe UML. Dans ces diagrammes, les classes (que lon appelle des méta-classes) représentent les concepts à définir et les associations (que lon appelle des méta-associations) représentent les relations entre ces concepts. Les méta-classes et les méta-associations sont contenues dans des packages. Dans ces diagrammes, les classes (que lon appelle des méta-classes) représentent les concepts à définir et les associations (que lon appelle des méta-associations) représentent les relations entre ces concepts. Les méta-classes et les méta-associations sont contenues dans des packages. MOF (Meta Object Facility) -1-

11 Le langage MOF fournit le standard de méta- modélisation Le langage MOF fournit le standard de méta- modélisation MOF: Fournit un langage pour définir les métamodèles : méta-métamodèle Le MOF est réflexif: la description du modèle MOF est faite par le modèle MOF lui-même Niveau M3 est le dernier niveau Construction: Définir les métamodèles spécifiques (UML, CWM) Echange de données Intégration et interopérabilités des métamodèles MOF (Meta Object Facility) -2-

12 un modèle abstrait dobjets MOF génériques avec leurs associations. un ensemble de règles pour exprimer un méta-modèle MOF à laide dinterfaces IDL. Une implantation de ces interfaces pour un méta-modèle donné peut être utilisée pour manipuler une instance de celui-ci (un modèle). un ensemble de règles sur le cycle de vie et la composition des éléments dun méta-modèle MOF. une hiérarchie dinterfaces réflexives permettant de découvrir et manipuler des modèles basés sur des méta-modèles MOF dont on ne connaît pas les interfaces. Lintérêt du MOF est quil permet de faire interopérer des méta-modèles différents. Une application MOF peut manipuler un modèle à laide dopérations génériques sans connaissances du domaine. La spécification MOF fournit les points suivants

13 Metamodèle MOF (simplifié) ModelElement Name : String PackageClassifier Feature DataTypeClass Attribute AssociationEnd Association 2 end 1association 1 * 1 type

14 Fonctionnalités du framework EMF -1- EMF est un ensemble doutils de développement intégré à lenvironnement Eclipse sous formes de plugins. EMF a été conçu afin douvrir Eclipse au développement dirigé par les modèles.

15 EMF permet de générer une API correspondant au méta modèle. EMF permet la génération automatique dun simple éditeur graphique permettant lédition des modèles sous forme arborescente. EMF permet de générer aussi un projet, nous permettant de faire des modèles de notre Meta Modèle, via une interface graphique: un treeview dans une vue "property", nous permettant d'instancier le modèle en donnant des valeurs aux propriétés. Fonctionnalités du framework EMF -2-

16 EMF apporte deux fonctionnalité principales: -1- La première est la définition de modèles à objets constitués de packages, de classes et de liens entre ces classes. La deuxième fonctionnalité offerte par EMF est la transformations de modèles EMF en code Java et la génération dun éditeur arborescent spécifique pour construire des entités conforme à ce modèle.

17 La structure des modèles EMF est définie par le métamodèle Ecore. Ce métamodèle est conceptuellement proche de MOF. La figure suivante montre la hiérarchie des méta concepts présents dans le méta modèle Ecore. On y trouve la notion de packages (Epackages), de classes (EClass), de types de données (EDataType), dattributs (EAttribute), dopérations (EOperation) et de lien de référence (EReference). EMF apporte deux fonctionnalité principales: -2-

18 MétaModèle Ecore

19 Equivalence de concepts

20 Historiquement le MOF est plus vieux dans son apparition des deux modelling frameworks. Historiquement le MOF est plus vieux dans son apparition des deux modelling frameworks. la conception de EMF a été considérablement influencée par MOF. Cependant, les buts et les processus utilisés par les deux organisations sont différents et ce par pur choix de conception. De point de vue conception, MOF et EMF sont très similaire. MOF et EMF intègrent la notion de classes avec les attributs typés, les opérations paramétrées ainsi que les exceptions ; supportant la réutilisation à travers lhéritage multiple. Les deux frameworks utilisent la notion de paquet comme mécanisme de regroupement. La principale différence résident dans leur traitement de relations entre les classes et le traitement des types de données. Comparaison entre MOF et EMF

21 Pour la conversion entre MOF et EMF, il est question : Pour la conversion entre MOF et EMF, il est question : Dans un premier lieu de trouver une manière uniforme pour importer des méta- modéles MOF existants ainsi que leur instances sous Eclipse. Le second but est deffectuer un round-trip entre les méta-modéles et leurs instances entre Eclipse et MOF. Conversion entre modèle MOF et EMF -1-

22 Toutes informations perdues concernant les modèles au court de cet échange sera documenté, et peut être dédommagé en étiquetant les modèles. Les échanges (la conversion) et létiquetage des méta-modéles peuvent faciliter considérablement le concept du round trip de ces derniers. Le meilleur moyen pour effectuer la conversion entre les méta-modéles MOF et EMF est désormais XML Model Interchange XMI. Conversion entre modèle MOF et EMF -2-

23 Le standard XMI permet le passage des modèles aux documents XML. XMI définit les règles permettant de construire des schémas XML à partir de méta modèle. Il est possible de représenter les modèles sous forme de documents XMI. Cette représentation XMI est certes très intéressante pour stocker les modèles ou pour faire des échanges entre outils, mais elle nest pas vraiment adaptée au développement dopérations sur les modèles (telle que la génération de code et de documentation ou la transformation de modèles). Il est possible de représenter les modèles sous forme de documents XMI. Cette représentation XMI est certes très intéressante pour stocker les modèles ou pour faire des échanges entre outils, mais elle nest pas vraiment adaptée au développement dopérations sur les modèles (telle que la génération de code et de documentation ou la transformation de modèles). En quoi consiste le XMI (XML Model Interchange)? -1-

24 Cest vrai que quand on parle de méta- modèle, on peut facilement être confus entre les différentes couches de la méta- modélisation. La figure suivante illustre la conversion entre MOF et EMF à travers trois couches différentes : Cest vrai que quand on parle de méta- modèle, on peut facilement être confus entre les différentes couches de la méta- modélisation. La figure suivante illustre la conversion entre MOF et EMF à travers trois couches différentes : la comparaison entre les méta-modèles La conversion des modèles définis par ces métas modèles. La conversion des instances de ces modèles. conversion entre MOF et EMF à différents métas couches -1-

25 conversion entre MOF et EMF à différents métas couches -2- World of MOF World of EMF Meta-model Model Instance Instance Mapping Model Mapping Comparison

26 La conversion de modèle EMF en modèle MOF est considérablement plus simple que le contraire car EMF est plus simple dans ces concepts, ses propriétés ainsi que sa structure comparé à MOF. Si jamais une propriété du modèle EMF na pas d équivalence dans MOF elle sera étiqueté dans le modèle MOF. La conversion de modèle EMF en modèle MOF est considérablement plus simple que le contraire car EMF est plus simple dans ces concepts, ses propriétés ainsi que sa structure comparé à MOF. Si jamais une propriété du modèle EMF na pas d équivalence dans MOF elle sera étiqueté dans le modèle MOF. Round Trip

27 MOF et EMF, supportent tous les deux lutilisation de XMI pour linter changement de modèles et de leurs instances correspondantes à travers XML basé sur la DTDs/XMLSchemas généré à partir des modèles correspondant. La translation XML sera plus facile en utilisant XSLT. Ceci se fera en intégrant les implémentations XSLT dans des plug-ins pour lenvironnement Eclipse. Conversion de modèle MOF à EMF à laide de XSLT (E-MORF tool) -1-

28 E-MORF est un outil qui permet la conversion entre modèles MOF et EMF : E-MORF est un outil qui permet la conversion entre modèles MOF et EMF : A partir d'un mod è le MOF M exprim é en MOF/XMI. Le mod è le M est utilis é comme entr é e. Le MOF-model-to-EMF-model XSLT translation va produire deux r é sultats: A partir d'un mod è le MOF M exprim é en MOF/XMI. Le mod è le M est utilis é comme entr é e. Le MOF-model-to-EMF-model XSLT translation va produire deux r é sultats: un fichier EMF/XMI qui contient le mod è le EMF E(M) correspondant. Un fichier XSLT qui convertis les instances du mod è le MOF M (exprim é en M/MOF /XMI) en instances de mod è le EMF E(M) correspondant (exprim é en E(M)/EMF/XMI). Conversion de modèle MOF à EMF à laide de XSLT (E-MORF tool) -2-

29 Apr è s la conversion de l'instance du mod è le M en instance du mod è le E(M), MM, l'instance du mod è le MOF M exprim é en M/MOF/XMI, est convertis en EE(MM), qui est l'instance du mod è le EMF E(M) exprim é en E(M)/EMF/XMI. Apr è s la conversion de l'instance du mod è le M en instance du mod è le E(M), MM, l'instance du mod è le MOF M exprim é en M/MOF/XMI, est convertis en EE(MM), qui est l'instance du mod è le EMF E(M) exprim é en E(M)/EMF/XMI. Si on d é sire inverser le processus, c'est à dire convertir un mod è le EMF en son mod è le MOF correspondant. Il faut cr é er un fichier XSLT pour pouvoir convertir les instances du mod è le EMF en instance du mod è le MOF correspondant. Si on d é sire inverser le processus, c'est à dire convertir un mod è le EMF en son mod è le MOF correspondant. Il faut cr é er un fichier XSLT pour pouvoir convertir les instances du mod è le EMF en instance du mod è le MOF correspondant. Conversion de modèle MOF à EMF à laide de XSLT (E-MORF tool) -3-

30 Conversion entre MOF et EMF en appliquant "XSLT to XMI"

31 Etant donnée que MOF est plus riche que EMF et quil possède plus de propriétés que ce dernier, au cours de la conversion entre les deux métas modèles une perte dinformations risque davoir lieu. En effet, il existe des concepts dans MOF qui nont pas déquivalence dans EMF et vice versa. Cependant pour supporter le round- trip translation ( MOF model to EMF model to MOF model) telles informations doivent être préservées à travers lutilisation de EAnnotations. Si par exemple un MofAttribute ou une Référence dune Classe dans le meta-model MOF na pas déquivalence dans le meta-model dEMF une EAnnotations est ajoutée à la classe correspondante dans le meta-model EMF. Si par exemple une classe dans le meta-model MOF na pas déquivalence dans le meta-model EMF, toutes les informations contenues dans la classe sont ajoutées dans le EPackage (ou un autre conteneur) comme étant une EAnnotation.

32 Une EAnnotation peut servir aussi pour : supporter lattribut Annotation possédé par tous les éléments des modèles MOF. être léquivalent du concept détiquetage de MOF. supporter les objectifs de round-trip.

33 La hiérarchie de MOF est plus complexe que celle de EMF. Dans EMF le EPackage peut contenir des sub-packages ainsi que des EClass et des EDataType. Les EClasses peuvent contenir des EAttributes, des EReferences, et des EOperations. Les EOperations peuvent à leurs tours contenir des EParameters etc... Contrairement à EMF, MOF a une structure plus complexe au niveau des règles, en particulier les classes dans MOF sont autorisé à contenir dautre classes et ce pour une profondeur illimitée, ce qui nest pas la cas dans EMF. La hiérarchie de MOF et EMF La hiérarchie de MOF et EMF

34 Avant de parler d'équivalence de concepts entre MOF et EMF, On va présenter le standard JMI (Java Metadata Interface). Avant de parler d'équivalence de concepts entre MOF et EMF, On va présenter le standard JMI (Java Metadata Interface). JMI est un standard, qui permet la manipulation en Java des modèles instances de méta modèles MOF. JMI est un standard, qui permet la manipulation en Java des modèles instances de méta modèles MOF. Il définit un moyen de représenter les modèles sous forme dobjets Java. Equivalence de concepts entre MOF et EMF

35 MOF1.4/JMI concept EMF conceptCommentaire ModelElementEModelElement, ENamedElement ModelElement et EModelElement sont tous les deux des classes de base des deux univers. ModelElement posséde un nom contrairement a EModelElement. Dans EMF cest ENamedElement qui a le nom dattribut. Namespace--Namespace implémente la hiérarchie de nommage dans MOF et fournit le nom des opérations de résolution. Dans EMF, seulement certaines classes spécifiques peuvent contenir des opérations spécifiques. EMF semble ne pas avoir le concept de résolution de noms. GeneralizableEl ement --Seulement la classe concrète EClass est capable de généralisation. Donc pas déquivalence abstraite est requise dans EMF. MOF possède des attributs de visibilité telle que isRoot ou encore isLeaf qui nont pas déquivalence dans EMF. La notion de GeneralizableElement dans MOF est équivalente à la notion de interface dans EClass.( Et nom pas abstract dans EClass).

36 Package (Sans généralisation ou importation) EPackageLe mécanisme de regroupement est présent dans les deux univers. Dans EMF, il y a un nombre dattributs qui sont considérés avec leurs correspondant XML namespaces et qui génére du code Java, qui ne dérive daucune information dans MOF et pour la quelle nous construisons un ensemble de conventions standards. (similaire au Eclipse defaults). Package (avec la généralisation et limportation), --EPackages ne supporte pas la généralisation, exceptez à travers le copiage du contenu de lhéritage. Il existe un mécanisme dimportation dans EMF à travers un document XMI. ClassifierEClassifierConcept présent dans les deux univers. Class (avec ou sans généralisation) EClassUtilisé pour définir things dans les deux univers. Les classes de MOF possèdent lattribut isSingleton pour le quelle il nexiste pas de correspondance dans EMF. DataTypeEDataTypeMOF possède des modèles de type indépendant de toutes plateforme et constitue un langage neutre, Alors que EMF utilise des types spécifiques de Eclipse. EMF possède la notion de valeurs par défauts pour EDataTypes, mais il nexiste pas de concept équivalent dans MOF.

37 PrimitiveTypeEDataTypeEDataType permet de nommer EInteger, etc. StructureType, Structure- Field EDataTypeEDataType permet de nommer une classe Java avec sa structure correspondante. CollectionTypeEDataTypeEDataType permet de nommer une classe Java à travers un attribut value du type de base approprié et à travers la multiplicité. AliasType where aliased type is PrimitiveType EDataTypeEDataType permet de nommer une classe Java qui est un sous type du type de la classe Java nommé par EDataType correspondant au PrimitiveType. AliasType where aliased type is StructureType EDataTypeIdem AliasType where aliased type is CollectionType EDataTypeIdem AliasType where aliased type is AliasType EDataTypeIdem AliasType where aliased type is EnumerationType EDataTypeIdem

38 EnumerationTypeEEnum, EEnumLiteral EEnum permet de nommer un « introduced Java class » avec « final attributes » pour chacune des EEnumLiterals. TypedElementETypedElementLes éléments ayant un type associé dans les deux univers. Feature--Il y a peu de types concraits dans EMF ce qui fait que cette abstraction nest pas requise. Il ny a pas de concept dans EMF de scope et visibility utilisé pour MOF Features BehaviouralFeature--Il existe seulement une seule caractéristique de comportement (behaviour feature) dans EMF, EOperation, donc pas de type abstrait requis. StructuralFeatureEStructuralFeatureExiste dans les deux univers. Parameter (multi- valued) EParameter, EDataType EParameter devait être issu dun EDataType pour une Java collection approprié. Single-valued Parameters Posséde le type corréspondant au EParameter. Parameter (direction in) EParameterTous les EParameters sont by value (par valeur). Parameter (direction out or inout) EParameterEParameter devait être issu dun EDataType qui nomme une classe Java qui enveloppe les données (Si elle nest pas encore devenu une classe).

39 Operation, Parameter (direction return) EOperationContrairement au Operations qui ont optionnellement un nom de paramètre en retour, EOperations ont un type en retour (qui nest pas nommé) par la vertu d'être un ETypedElement. Comment manipule-t- on des Opérations sans avoir des types de retour ? EOperation na pas de type associé (cest optionnelle). Il nexiste pas déquivalant EMF du concept MOF isQuery Opération. Exception et ses contained Parameters EClass, EAttributes/ EReferences Les Exception sont convertis en EClass et chacun de ses paramétres est convertis à un EAttribute ou EReference (Ca dépend si le type du paramétre est un DataType ou respectivement une classe). Ici, il ny a pas de problèmes avec le multi-valued parameters. EAttributes/EReferences peut être multi-valued. Attribute where the type is a DataType EAttributeLes Attributes peuvent avoir comme type Class mais EAttributes ne peuvent avoir comme type que « EDataType », prenons comme exemple le contenu dune EClass-valued dune EClass sont modelé comme EReferences. The following attribute mappings apply: MOF isChangeable -> EMF changeable MOF isDerived -> EMF volatile, transient (transitoire) MOF Multiplicity (La multiplicité)-> EMF unique, lowerBound, upperBound (there is no concept of ordering of multi-valued attributes) (pas de concept dordonnancement des valeurs des attributs) There is no concept in MOF of default values (il n y a pas de concept de valeurs par défauts) EMF many = upperBound > 1 EMF required = lowerBound >= 1 EMF unsettable = lowerBound == 0

40 Attribute ou le type est une Classe EReference Suite: container = true (as MOF Classes contain their class-typed attributes) (Les classes MOF contiennent les types de leurs attributs) containment = false eOpposite = null resolveProxies = false (as contained elements in MOF must be within the same extent) Reference, Association, Association End EReference Une association de type 2-way-navigable Association dans MOF a 2 AssociationEnds et 2 References. Une association de type 1-way-navigation Association dans MOF a 2 Association Ends et 1 Reference. Une association de type non-navigable Association dans MOF na pas dequivalent dans EMF, comme EMF ne distingue pas entre relationship between et relationship to. La navigation nest pas requise dans le monde MOF pour supporter les requêtes dassociation, peut être que le MOF a lintention de permettre à lassociation dêtre accessible en dépit de labsence de Référence explicite. Par conséquent, il existe deux alternatives (Qui seront sélectionnés à travers un paramètre): Le premier rend toutes associations de type non-navigable AssociationEnds navigables (Comme sil y avait une Référence). Le second rend toute association de type non-navigable Associations navigable dans les deux directions mais ne fait rien si lassociation est définie comme étant « 1-way navigable ». Transformation dattributs comme suit (Mappings of attributes as follows) MOF Reference.name (si disponible) si non MOF AssociationEnd.name concatené avec MOF Association.name (pour l'originalité) -> EMF.EReference.name MOF Association.isDerived -> EMF.transient (transitoire), volatile MOF AssociationEnd.aggregation = composite -> Le EReference corréspondant est le conteneur (container) et le eOpposite EReference est le contenu (containment). MOF AssociationEnd.aggregation = none, Les EReferences ne sont ni container ni containment MOF AssociationEnd.aggregation = shared (partagé)--> Il ny a pas déquivalence (traité comme aggregation = none) MOF AssociationEnd Multiplicity -> EMF EReference unique, lowerBound, upperBound ( Pas de concept de rangement des multi-valued attributes) MOF AssociationEnd isChangeable -> MOF EReference changeable MOF AssociationEnd otherEnd -> EMF EReference.eOpposite

41 ConstantEDataTypeEDatatype permet de nommer une classe Java avec seulement un attribut constant qui est du type et valeur appropriés et qui est finale. Constraint--Pas de concept équivalent dans EMF. Tag--Pas de concept équivalent dans EMF. Ce qui rend les informations plus difficiles à communiquer et peuvent ne pas être interprété (ou interprété seulement par des outils spécifiques) --EFactoryLe package factory dans MOF nest pas convertis mais plutôt généré pour limplémentation. Shared aggregation (white-diamond) on Associations Pas de concept comparable, Seul black- diamond containment est supporté.

42 Présentation du travail réalisé Malheureusement, l'outil E-MORF n'est pas disponible sur le NET Alors nous avons procédé à une conversion basé sur XMI. Malheureusement, l'outil E-MORF n'est pas disponible sur le NET Alors nous avons procédé à une conversion basé sur XMI.

43 Cet exemple va vous initier à l id é e de conversion entre les mod è le MOF et EMF. Cet exemple va vous initier à l id é e de conversion entre les mod è le MOF et EMF. Une fois on ma î trise l é criture de XMI, Nous pouvons proc é der à l é criture de notre propre XML Sch é ma correspondant à notre mod è le MOF choisi et nous pouvons ensuite proc é der à la conversion du XMI en EMF. Une fois on ma î trise l é criture de XMI, Nous pouvons proc é der à l é criture de notre propre XML Sch é ma correspondant à notre mod è le MOF choisi et nous pouvons ensuite proc é der à la conversion du XMI en EMF. Exemple1

44 Conversion entre XML Schema et MOF

45 MOF

46 A laide de ce document, nous avons pu comprendre la correspondance entre MOF et XML Schéma. Correspondance entre XMl Schema et MOF :

47 Exemple2 Nous avons choisi le mod è le é labor é avec Rational Rose dont le diagramme de classe est le suivant :

48 Nous allons en premier lieu installé EMF en ajoutant les features et les plug_in (Omondo) dans Eclipse. Nous allons importer ce diagramme sous Eclipse afin d obtenir le mod è le EMF corr é spondant. Apres avoir é laborer le XML Schema de notre mod è le MOF correspondant à notre mod è le UML, Nous allons importer ce document sous Eclipse afin d obtenir le mod è le EMF corr é spondant.

49 Etant donn é e que MOF est plus riche que EMF et qu il poss è de plus de propri é t é s que ce dernier, au cours de la conversion entre les deux m é tas mod è les une perte d informations risque d avoir lieu. En effet, il existe des concepts dans MOF qui n ont pas d é quivalence dans EMF et vice versa. Cependant pour supporter le round-trip translation (MOF model to EMF model to MOF model) telles informations doivent être pr é serv é es à travers l utilisation de EAnnotations. Lors de la conversion, chaque é l é ment dans le mod è le MOF est accompagn é par une EAnnotation dans le mod è le EMF tel que EclassEAttributeEReference EOperation.. Les EAnntation poss é dent les informations : name, kind, group, namespace.. Description du Passage de MOF à EMF -1-

50 Lors de la conversion, une Eclass nomm é e « DocumentRoot » est ajout é s dans le mod è le EMF. Cette classe contient des EReference repr é sentant la d é claration des diff é rents é l é ments : PersonnePaysEtudiant De notre mod è le MOF en plus de trois autres EReferences qui sont ajout é es par d é fauts à savoir : Mixed : EFeautureMapEntry (d é finit le type de groupe des association : EReferences). xMLNSPrefixMap : EStringToStringMapEntry (Pr é fixe du NameSpace). xSISchemaLocation : EStringToStringMapEntry (sp é cifie les documents import é s). Description du Passage de MOF à EMF -2-

51 En g é n é rale le EPackages ne supporte pas la g é n é ralisation, exceptez à travers le copiage du contenu de l h é ritage mais dans notre exemple le concept de paquetages existe et a é t é bien exprim é dans EMF grâce au document XMI. Le concept d h é ritage a é t é bien exprim é dans EMF à travers la propri é t é « ESuperType » de la classe « Etudiant ».

52 Conclusion Le d é veloppement de l'outil E-MORF: l'outil XSLT-based tool constitue un pont entre les communaut é s OMG et Eclipse. Si la méta-modélisation et plus particulièrement le MOF sont au centre d'une évolution importante de l'industrie logicielle, l'outillage associé présente encore de regrettables limitations. Celles-ci concernent le prototypage de méta-modèles, l'instanciation de modèles et l'expérimentation de nouveaux mécanismes pour la méta-modélisation. Des projets en cours sont développés dont l'objectif est de supprimer ces limitations grâce à une interface d'édition et des caractéristiques réflexives importantes.

53 Liste des acronymes OMG : Object Management Group MDA : Model Driven Architecture MOF : Meta Object Facility EMF : Eclipse Modelling Framework XMI : XML Model Interchange JMI : Java Metadata Interface JCP : Java Community Process

54 Bibliographie Xavier Blanc, MDA en action ingénierie logicielle guidée par les modèles, Livre. Claudine Toffolon, De MDA à MDD, , Université du littoral-Côte dOpale LIL, Calais. Xavier Le Pallec, RAM3 : vers un contact plus intuitif de la métamodélisation MOF, Université de Lille 1 Laboratoire Trigone, xavier.le- OF2EMF-Tech-Report.pdf OF2EMF-Tech-Report.pdf OF-to-EMF-There-and-Back-Again.pdf OF-to-EMF-There-and-Back-Again.pdf [MOF] MOF 2.0, an in progress standard of the OMG. More specifically, this refers to the MOF 2.0 Core submission. Voir [XMI] XMI 2.0, an adopted standard of the OMG.


Télécharger ppt "Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 2005/2006."

Présentations similaires


Annonces Google