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

Présentations similaires


Présentation au sujet: "Passerelle entre MOF & EMF"— 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 GL5 2005/2006

3 Sommaire Objectifs Présentation du cadre générale Définitions
RT5 I.N.S.A.T 2005/2006 Sommaire Objectifs Présentation du cadre générale Définitions MOF (Meta Object Facility) Fonctionnalités du framework EMF Comparaison entre MOF et EMF Conversion entre modèle MOF et EMF Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) Equivalence de concepts entre MOF et EMF  Présentation du travail réalisé Conclusion Liste des acronymes Bibliographie Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

4 RT5 I.N.S.A.T 2005/2006 Objectifs Notre Exposé a pour but d'expliquer comment produire à partir d’un 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: 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 ? Et enfin, Quelle sont les Equivalences de concepts entre MOF et EMF? Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

5 Présentation du cadre générale -1-
RT5 I.N.S.A.T 2005/2006 Présentation du cadre générale -1- En novembre 2000, l’OMG (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 n’est pas suffisant. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

6 Présentation du cadre générale -2-
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 d’intégration pour tous les métamodèles dans le domaine de l’ingénierie du logiciel, des systèmes et des données. La réponse logique était donc d’offrir un langage de définition de métamodèles, c’est-à-dire un métamétamodèle, chaque métamodèle définissant lui-même un langage pour décrire un domaine spécifique d’intérêt.

7 Interprétation de la pile de modélisation multi-niveau de l’OMG
RT5 I.N.S.A.T 2005/2006 Interprétation de la pile de modélisation multi-niveau de l’OMG Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

8 Introduction Standardisation de la modélisation
RT5 I.N.S.A.T 2005/2006 Introduction Standardisation de la modélisation Buts : aplanir les différences entre les modèles Faciliter l’automatisation 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 Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

9 Définitions Le Meta-Object Facility (MOF)
RT5 I.N.S.A.T 2005/2006 Définitions Le Meta-Object Facility (MOF) Le open source Eclipse Modelling Framework (EMF) constituent deux framework des meta-modéles les plus connus. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

10 MOF (Meta Object Facility) -1-
RT5 I.N.S.A.T 2005/2006 MOF (Meta Object Facility) -1- 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 l’on appelle des méta-classes) représentent les concepts à définir et les associations (que l’on 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

11 MOF (Meta Object Facility) -2-
RT5 I.N.S.A.T 2005/2006 MOF (Meta Object Facility) -2- 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 Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

12 La spécification MOF fournit les points suivants
RT5 I.N.S.A.T 2005/2006 La spécification MOF fournit les points suivants un modèle abstrait d’objets MOF génériques avec leurs associations. un ensemble de règles pour exprimer un méta-modèle MOF à l’aide d’interfaces 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 d’un méta-modèle MOF. une hiérarchie d’interfaces 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. L’intérêt du MOF est qu’il permet de faire interopérer des méta-modèles différents. Une application MOF peut manipuler un modèle à l’aide d’opérations génériques sans connaissances du domaine. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

13 Metamodèle MOF (simplifié)
RT5 I.N.S.A.T 2005/2006 ModelElement Metamodèle MOF (simplifié) Name : String 1 * Feature Package Classifier 1 type DataType Class Attribute AssociationEnd 2 end 1 association Association Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

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

15 Fonctionnalités du framework EMF -2-
EMF permet de générer une API correspondant au méta modèle. EMF permet la génération automatique d’un 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.

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 d’un éditeur arborescent spécifique pour construire des entités conforme à ce modèle.

17 EMF apporte deux fonctionnalité principales: -2-
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), d’attributs (EAttribute), d’opérations (EOperation) et de lien de référence (EReference).

18 MétaModèle Ecore RT5 I.N.S.A.T 2005/2006
Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

19 Equivalence de concepts
RT5 I.N.S.A.T 2005/2006 Equivalence de concepts Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

20 Comparaison entre MOF et EMF
RT5 I.N.S.A.T 2005/2006 Comparaison entre MOF et EMF 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 l’hé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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

21 Conversion entre modèle MOF et EMF -1-
RT5 I.N.S.A.T 2005/2006 Conversion entre modèle MOF et EMF -1- 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 d’effectuer un round-trip entre les méta-modéles et leurs instances entre Eclipse et MOF. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

22 Conversion entre modèle MOF et EMF -2-
RT5 I.N.S.A.T 2005/2006 Conversion entre modèle MOF et EMF -2- 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

23 En quoi consiste le XMI (XML Model Interchange)? -1-
RT5 I.N.S.A.T 2005/2006 En quoi consiste le XMI (XML Model Interchange)? -1- 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 n’est pas vraiment adaptée au développement d’opérations sur les modèles (telle que la génération de code et de documentation ou la transformation de modèles). Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

24 conversion entre MOF et EMF à différents métas couches -1-
RT5 I.N.S.A.T 2005/2006 conversion entre MOF et EMF à différents métas couches -1- C’est 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

25 conversion entre MOF et EMF à différents métas couches -2-
RT5 I.N.S.A.T 2005/2006 conversion entre MOF et EMF à différents métas couches -2- World of MOF World of EMF Comparison Meta-model Meta-model Model Mapping Model Model Instance Instance Mapping Instance Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

26 RT5 I.N.S.A.T 2005/2006 Round Trip 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 n’a pas d’ équivalence dans MOF elle sera étiqueté dans le modèle MOF. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

27 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -1-
RT5 I.N.S.A.T 2005/2006 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -1- MOF et EMF, supportent tous les deux l’utilisation de XMI pour l’inter 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 l’environnement Eclipse. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

28 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -2-
RT5 I.N.S.A.T 2005/2006 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -2- 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: 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). Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

29 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -3-
RT5 I.N.S.A.T 2005/2006 Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF tool) -3- 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

30 Conversion entre MOF et EMF en appliquant "XSLT to XMI"
RT5 I.N.S.A.T 2005/2006 Conversion entre MOF et EMF en appliquant "XSLT to XMI" Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

31 RT5 I.N.S.A.T 2005/2006 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. Si par exemple un MofAttribute ou une Référence d’une Classe dans le meta-model MOF n’a pas d’équivalence dans le meta-model d’EMF une EAnnotations est ajoutée à la classe correspondante dans le meta-model EMF. Si par exemple une classe dans le meta-model MOF n’a 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

32 Une EAnnotation peut servir aussi pour :
RT5 I.N.S.A.T 2005/2006 Une EAnnotation peut servir aussi pour : supporter l’attribut 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

33 La hiérarchie de MOF et EMF
RT5 I.N.S.A.T 2005/2006 La hiérarchie de MOF et EMF  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 d’autre classes et ce pour une profondeur illimitée, ce qui n’est pas la cas dans EMF. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

34 Equivalence de concepts entre MOF et EMF
RT5 I.N.S.A.T 2005/2006 Equivalence de concepts entre MOF et EMF 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. Il définit un moyen de représenter les modèles sous forme d’objets Java. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

35 GeneralizableElement
RT5 I.N.S.A.T 2005/2006 MOF1.4/JMI concept EMF concept Commentaire ModelElement EModelElement, 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 c’est ENamedElement qui a le nom d’attribut. 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. GeneralizableElement 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 n’ont 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). Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

36 Package (Sans généralisation
RT5 I.N.S.A.T 2005/2006 Package (Sans généralisation ou importation) EPackage Le mécanisme de regroupement est présent dans les deux univers. Dans EMF, il y a un nombre d’attributs qui sont considérés avec leurs correspondant XML namespaces et qui génére du code Java, qui ne dérive d’aucune 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 l’importation), -- EPackages ne supporte pas la généralisation, exceptez à travers le copiage du contenu de l’héritage. Il existe un mécanisme d’importation dans EMF à travers un document “XMI”. Classifier EClassifier Concept présent dans les deux univers. Class (avec ou sans généralisation) EClass Utilisé pour définir “things” dans les deux univers. Les classes de MOF possèdent l’attribut “isSingleton” pour le quelle il n’existe pas de correspondance dans EMF. DataType EDataType MOF 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 n’existe pas de concept équivalent dans MOF. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

37 EDataType permet de nommer EInteger, etc.
RT5 I.N.S.A.T 2005/2006 PrimitiveType EDataType EDataType permet de nommer EInteger, etc. StructureType, Structure- Field EDataType permet de nommer une classe Java avec sa structure correspondante. CollectionType EDataType 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 EDataType permet de nommer une classe Java qui est un sous type du type de la classe Java nommé par EDataType correspondant au PrimitiveType. type is StructureType Idem type is CollectionType type is AliasType type is EnumerationType Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

38 Les éléments ayant un type associé dans les deux univers. Feature --
RT5 I.N.S.A.T 2005/2006 EnumerationType EEnum, EEnumLiteral EEnum permet de nommer un « introduced Java class » avec « final attributes » pour chacune des EEnumLiterals. TypedElement ETypedElement Les é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 n’est pas requise. Il n’y 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. StructuralFeature EStructuralFeature Existe dans les deux univers. Parameter (multi-valued) EParameter, EDataType EParameter devait être issu d’un EDataType pour une Java collection approprié. Single-valued Parameters Posséde le type corréspondant au EParameter. Parameter (direction in) EParameter Tous les EParameters sont “by value” (par valeur). Parameter (direction out or inout) EParameter devait être issu d’un EDataType qui nomme une classe Java qui enveloppe les données (Si elle n’est pas encore devenu une classe). Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

39 Exception et ses contained
RT5 I.N.S.A.T 2005/2006 Operation, Parameter (direction return) EOperation Contrairement au Operations qui ont optionnellement un nom de paramètre en retour, EOperations ont un type en retour (qui n’est pas nommé) par la vertu d'être un ETypedElement. Comment manipule-t-on des Opérations sans avoir des types de retour ? EOperation n’a pas de type associé (c’est optionnelle). Il n’existe 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 n’y a pas de problèmes avec le multi-valued parameters. EAttributes/EReferences peut être multi-valued. Attribute where the type is a DataType EAttribute Les Attributes peuvent avoir comme type “Class” mais EAttributes ne peuvent avoir comme type que « EDataType », prenons comme exemple le contenu d’une EClass-valued d’une 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 d’ordonnancement 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 Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

40 Attribute ou le type est une Classe EReference
RT5 I.N.S.A.T 2005/2006 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 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 n’a pas d’equivalent dans EMF, comme EMF ne distingue pas entre “relationship between” et “relationship to”. La navigation n’est pas requise dans le monde MOF pour supporter les requêtes d’association, peut être que le MOF a l’intention de permettre à l’association d’être accessible en dépit de l’absence 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 s’il 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 l’association est définie comme étant « 1-way navigable ». Transformation d’attributs 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 n’y 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 Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

41 Pas de concept équivalent dans EMF.
RT5 I.N.S.A.T 2005/2006 Constant EDataType EDatatype 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) EFactory Le package factory dans MOF n’est pas convertis mais plutôt généré pour l’implémentation. Shared aggregation (white-diamond) on Associations Pas de concept comparable, Seul black-diamond containment est supporté. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

42 Présentation du travail réalisé
RT5 I.N.S.A.T 2005/2006 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

43 RT5 I.N.S.A.T 2005/2006 Exemple1 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

44 Conversion entre XML Schema et MOF
RT5 I.N.S.A.T 2005/2006 Conversion entre XML Schema et MOF <xsd:schema xmlns:xsd=" <xsd:element name="purchaseOrder" type="PurchaseOrderType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="PurchaseOrderType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> <xsd:complexType name="USAddress"> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> <xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/> </xsd:schema> Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

45 MOF <Class name="PuchaseOrder">
RT5 I.N.S.A.T 2005/2006 MOF <Class name="PuchaseOrder"> <attribute name="shipTo" type="USAddress"/> <attribute name="billTo" type="USAddress"/> <attribute name="comment" type="mof:String« multiplicty="0..1"/> <attribute name="orderDate" type="mof:String"/> </Class> <Class name="USAddress> <attribute name="name" type="mof:String"/> <attribute name="street" type="mof:String"/> <attribute name="city" type="mof:String"/> <attribute name="state" type="mof:String"/> <attribute name="zip" type="mof:Integer"/> <attribute name="country" type="mof:String"/> Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

46 Correspondance entre XMl Schema et MOF :
RT5 I.N.S.A.T 2005/2006 A l’aide de ce document, nous avons pu comprendre la correspondance entre MOF et XML Schéma. Correspondance entre XMl Schema et MOF : Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

47 RT5 I.N.S.A.T 2005/2006 Exemple2 Nous avons choisi le modèle élaboré avec Rational Rose dont le diagramme de classe est le suivant : Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

48 RT5 I.N.S.A.T 2005/2006 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

49 Description du Passage de MOF à EMF -1-
RT5 I.N.S.A.T 2005/2006 Description du Passage de MOF à EMF -1- 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 Eclass EAttribute EReference EOperation .. Les EAnntation possédent les informations : name, kind, group, namespace.. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

50 Description du Passage de MOF à EMF -2-
RT5 I.N.S.A.T 2005/2006 Description du Passage de MOF à EMF -2- 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 : Personne Pays Etudiant 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). Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

51 RT5 I.N.S.A.T 2005/2006 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 ». Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

52 RT5 I.N.S.A.T 2005/2006 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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

53 Liste des acronymes OMG : Object Management Group
RT5 I.N.S.A.T 2005/2006 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 Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

54 RT5 I.N.S.A.T 2005/2006 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 d’Opale LIL , Calais . Xavier Le Pallec , RAM3 : vers un contact plus intuitif de la métamodélisation MOF , Université de Lille 1 Laboratoire Trigone, . [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. Securité WiFi© Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Télécharger ppt "Passerelle entre MOF & EMF"

Présentations similaires


Annonces Google