Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par :...

54
Passerelle entre MOF & Passerelle entre MOF & EMF EMF

Transcript of Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par :...

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

Passerelle entre MOF & Passerelle entre MOF &

EMFEMF

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

Travail réalisé par:Travail réalisé par:Chaabani ThourayaChaabani ThourayaBen Abid HaifaBen Abid Haifa

Encadré par :Encadré par : Mr Romdhani MohamedMr Romdhani Mohamed

GL5 2005/2006GL5 2005/2006

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

• ObjectifsObjectifs• Présentation du cadre générale Présentation du cadre générale • DéfinitionsDéfinitions

MOF (Meta Object Facility) MOF (Meta Object Facility) Fonctionnalités du framework EMFFonctionnalités du framework EMF

• Comparaison entre MOF et EMFComparaison entre MOF et EMF• Conversion entre modèle MOF et EMFConversion entre modèle MOF et EMF• Conversion de modèle MOF à EMF à l’aide de XSLT (E-Conversion de modèle MOF à EMF à l’aide de XSLT (E-

MORF tool)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é• ConclusionConclusion• Liste des acronymesListe des acronymes• BibliographieBibliographie

SommaireSommaire

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

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 Pour cela on va se pencher sur les idées suivante: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 Quelles sont les techniques utilisées pour la conversion

entre MOF et EMF ? entre MOF et EMF ? Et enfin,Et enfin, Quelle sont les Quelle sont les Equivalences de concepts entre Equivalences de concepts entre

MOF et EMMOF et EMF? F?

ObjectifsObjectifs

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

En novembre 2000, l’OMG (Object En novembre 2000, l’OMG (Object Management Group) annonçait son Management Group) annonçait son initiative MDA :Model Driven Architecture initiative MDA :Model Driven Architecture (Soley et al., 2000).(Soley et al., 2000).

Le consensus sur UML a été essentiel dans Le consensus sur UML a été essentiel dans cette transition des techniques de cette transition des techniques de production de logiciel basées sur le code production de logiciel basées sur le code vers des techniques de production basées vers des techniques de production basées sur les modèles. Un rôle clef est sur les modèles. Un rôle clef est maintenant joué par le concept de maintenant joué par le concept de métamodèle. Mais ceci n’est pas suffisant.métamodèle. Mais ceci n’est pas suffisant.

Présentation du cadre Présentation du cadre généralegénérale

-1--1-

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

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

Présentation du cadre Présentation du cadre généralegénérale

-2--2-

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

Interprétation de la pile de modélisation multi-niveau de l’OMG

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

Standardisation de la modélisationStandardisation de la modélisationButs : aplanir les différences entre les Buts : aplanir les différences entre les modèlesmodèlesFaciliter l’automatisation des modèles Faciliter l’automatisation des modèles (transformation de modèles)(transformation de modèles)homogénéité des outils logiciels pour homogénéité des outils logiciels pour faciliter leur interopérabilitéfaciliter leur interopérabilitéFournir des modèles pivots Fournir des modèles pivots compréhensibles par tous les outils, compréhensibles par tous les outils, acceptés par les éditeurs de ces outilsacceptés par les éditeurs de ces outilsExemple de standardisation OMG:Exemple de standardisation OMG:UML, MOF, XMIUML, MOF, XMI

IntroductionIntroduction

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

Le Meta-Object Facility (MOF) Le Meta-Object Facility (MOF)

Le open source Eclipse Modelling Le open source Eclipse Modelling

Framework (EMF)Framework (EMF)

DéfinitionsDéfinitions

constituent deux framework des meta-modéles les plus connus.

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

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

MOF (Meta Object Facility) MOF (Meta Object Facility) -1--1-

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

Le langage MOF fournit le standard de méta-Le langage MOF fournit le standard de méta-modélisation modélisation

MOF: Fournit un langage pour définir les MOF: Fournit un langage pour définir les métamodèles : méta-métamodèlemétamodèles : méta-métamodèle

Le MOF est réflexif: la description du modèle Le MOF est réflexif: la description du modèle MOF est faite par le modèle MOF lui-même MOF est faite par le modèle MOF lui-même

Niveau M3 est le dernier niveau Niveau M3 est le dernier niveau

Construction: Définir les métamodèles Construction: Définir les métamodèles spécifiques (UML, CWM)spécifiques (UML, CWM)

Echange de donnéesEchange de données

Intégration et interopérabilités des Intégration et interopérabilités des métamodèlesmétamodèles

MOF (Meta Object Facility)MOF (Meta Object Facility)-2--2-

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

un modèle abstrait d’objets MOF génériques avec leurs un modèle abstrait d’objets MOF génériques avec leurs associations.associations.un ensemble de règles pour exprimer un méta-modèle un ensemble de règles pour exprimer un méta-modèle MOF à l’aide d’interfaces IDL. Une implantation de ces MOF à l’aide d’interfaces IDL. Une implantation de ces interfaces pour un méta-modèle donné peut être utilisée interfaces pour un méta-modèle donné peut être utilisée pour manipuler une instance de celui-ci (un modèle).pour manipuler une instance de celui-ci (un modèle).un ensemble de règles sur le cycle de vie et la un ensemble de règles sur le cycle de vie et la composition des éléments d’un méta-modèle MOF.composition des éléments d’un méta-modèle MOF.une hiérarchie d’interfaces réflexives permettant de une hiérarchie d’interfaces réflexives permettant de découvrir et manipuler des modèles basés sur des méta-découvrir et manipuler des modèles basés sur des méta-modèles MOF dont on ne connaît pas les interfaces.modèles MOF dont on ne connaît pas les interfaces.

L’intérêt du MOF est qu’il permet de faire L’intérêt du MOF est qu’il permet de faire interopérer des méta-modèles différents. interopérer des méta-modèles différents. Une application MOF peut manipuler un modèle à Une application MOF peut manipuler un modèle à l’aide d’opérations génériques sans connaissances l’aide d’opérations génériques sans connaissances du domaine.du domaine.

La spécification MOF fournit La spécification MOF fournit les points suivantsles points suivants

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

Metamodèle MOF (simplifié)

ModelElementName : String

Package Classifier Feature

DataType ClassAttribute AssociationEnd

Association

2 end

1 association

1 *

1

type

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

Fonctionnalités du framework Fonctionnalités du framework EMFEMF-1--1-

EMF est un ensemble d’outils de EMF est un ensemble d’outils de développement intégré à développement intégré à l’environnement Eclipse sous formes l’environnement Eclipse sous formes de plugins. de plugins.

EMF a été conçu afin d’ouvrir Eclipse EMF a été conçu afin d’ouvrir Eclipse au développement dirigé par les au développement dirigé par les modèles.modèles.

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

EMF permet de générer une API EMF permet de générer une API correspondant au méta modèle. correspondant au méta modèle.

EMF permet la génération automatique EMF permet la génération automatique d’un simple éditeur graphique permettant d’un simple éditeur graphique permettant l’édition des modèles sous forme l’édition des modèles sous forme arborescente.arborescente.

EMF permet de générer aussi un projet, EMF permet de générer aussi un projet, nous permettant de faire des modèles de nous permettant de faire des modèles de notre Meta Modèle, via une interface notre Meta Modèle, via une interface graphique: un treeview dans une vue graphique: un treeview dans une vue "property", nous permettant d'instancier le "property", nous permettant d'instancier le modèle en donnant des valeurs aux modèle en donnant des valeurs aux propriétés.propriétés.

Fonctionnalités du framework Fonctionnalités du framework EMFEMF-2--2-

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

EMF apporte deux EMF apporte deux fonctionnalité principales:fonctionnalité principales:

-1--1-

La première est la définition de modèles La première est la définition de modèles à objets constitués de packages, de à objets constitués de packages, de classes et de liens entre ces classes.classes et de liens entre ces classes.

La deuxième fonctionnalité offerte par La deuxième fonctionnalité offerte par EMF est la transformations de modèles EMF est la transformations de modèles EMF en code Java et la génération d’un EMF en code Java et la génération d’un éditeur arborescent spécifique pour éditeur arborescent spécifique pour construire des entités conforme à ce construire des entités conforme à ce modèle.modèle.

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

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

EMF apporte deux EMF apporte deux fonctionnalité principales:fonctionnalité principales:

-2--2-

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

MétaModèle EcoreMétaModèle Ecore

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

Equivalence de conceptsEquivalence de concepts

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

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

Comparaison entre MOF et Comparaison entre MOF et EMFEMF

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

Pour la conversion entre MOF et EMF, Pour la conversion entre MOF et EMF, il est question :il est question :

Dans un premier lieu de trouver une Dans un premier lieu de trouver une manière uniforme pour importer des manière uniforme pour importer des méta-modéles MOF existants ainsi méta-modéles MOF existants ainsi que leur instances sous Eclipse. que leur instances sous Eclipse.

Le second but est d’effectuer un Le second but est d’effectuer un round-trip entre les méta-modéles et round-trip entre les méta-modéles et leurs instances entre Eclipse et MOF.leurs instances entre Eclipse et MOF.

Conversion entre modèle Conversion entre modèle MOF et EMF -1-MOF et EMF -1-

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

Toutes informations perdues concernant les Toutes informations perdues concernant les modèles au court de cet échange sera modèles au court de cet échange sera documenté, et peut être dédommagé en documenté, et peut être dédommagé en étiquetant les modèles.étiquetant les modèles.

Les échanges (la conversion) et l’étiquetage Les échanges (la conversion) et l’étiquetage des méta-modéles peuvent faciliter des méta-modéles peuvent faciliter considérablement le concept du round trip de considérablement le concept du round trip de ces derniers.ces derniers.

Le meilleur moyen pour Le meilleur moyen pour effectuer la conversion entre les méta-effectuer la conversion entre les méta-modéles MOF et EMF est désormais XML modéles MOF et EMF est désormais XML Model Interchange XMI.Model Interchange XMI.

Conversion entre modèle Conversion entre modèle MOF et EMF -2-MOF et EMF -2-

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

Le standard XMI permet le passage des Le standard XMI permet le passage des modèles aux documents XML.modèles aux documents XML.XMI définit les règles permettant de XMI définit les règles permettant de construire des schémas XML à partir de construire des schémas XML à partir de méta modèle.méta modèle.

Il est possible de représenter les Il est possible de représenter les modèles sous forme de documents XMI. modèles sous forme de documents XMI. Cette représentation XMI est certes très Cette représentation XMI est certes très intéressante pour stocker les modèles ou intéressante pour stocker les modèles ou pour faire des échanges entre outils, mais pour faire des échanges entre outils, mais elle n’est pas vraiment adaptée au elle n’est pas vraiment adaptée au développement d’opérations sur les développement d’opérations sur les modèles (telle que la génération de code et modèles (telle que la génération de code et de documentation ou la transformation de de documentation ou la transformation de modèles).modèles).

En quoi consiste le XMI (XML En quoi consiste le XMI (XML Model Interchange)? -1-Model Interchange)? -1-

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

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

conversion entre MOF et EMF conversion entre MOF et EMF à différents métas couches -à différents métas couches -

1-1-

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

conversion entre MOF et EMF conversion entre MOF et EMF à différents métas couches -à différents métas couches -

2-2-World of MOF

World of EMF

Meta-model

Meta-model

Model

Model

Instance

Instance

Instance Mapping

Model Mapping

Comparison

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

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

Round TripRound Trip

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

MOF et EMF, supportent tous les deux MOF et EMF, supportent tous les deux l’utilisation de XMI pour l’inter l’utilisation de XMI pour l’inter changement de modèles et de leurs changement de modèles et de leurs instances correspondantes à travers instances correspondantes à travers XML basé sur la DTDs/XMLSchemas XML basé sur la DTDs/XMLSchemas généré à partir des modèles généré à partir des modèles correspondant.correspondant.La translation XML sera plus facile La translation XML sera plus facile en utilisant XSLT.en utilisant XSLT.

Ceci se fera en intégrant Ceci se fera en intégrant les implémentations XSLT dans des les implémentations XSLT dans des plug-ins pour l’environnement Eclipse.plug-ins pour l’environnement Eclipse.

Conversion de modèle MOF à Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF EMF à l’aide de XSLT (E-MORF

tool) -1-tool) -1-

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

E-MORF est un outil qui permet la conversion E-MORF est un outil qui permet la conversion entre modèles MOF et EMF :entre modèles MOF et EMF :

A partir d'un modèle MOF ‘M’ exprimé A partir d'un modèle MOF ‘M’ exprimé en MOF/XMI. Le modèle ‘M’ est utilisé comme en MOF/XMI. Le modèle ‘M’ est utilisé comme entrée. Le MOF-model-to-EMF-model XSLT entrée. Le MOF-model-to-EMF-model XSLT translation va produire deux résultats:translation va produire deux résultats:

un fichier EMF/XMI qui contient le un fichier EMF/XMI qui contient le modèle EMF E(M) correspondant.modèle EMF E(M) correspondant.Un fichier XSLT qui convertis les Un fichier XSLT qui convertis les instances du modèle MOF ‘M’ (exprimé instances du modèle MOF ‘M’ (exprimé en M/MOF /XMI) en instances de modèle en M/MOF /XMI) en instances de modèle EMF E(M) correspondant (exprimé en EMF E(M) correspondant (exprimé en E(M)/EMF/XMI).E(M)/EMF/XMI).

Conversion de modèle MOF à Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF EMF à l’aide de XSLT (E-MORF

tool) -2-tool) -2-

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

Après la conversion de l'instance du Après la conversion de l'instance du modèle ‘M’ en instance du modèle E(M), modèle ‘M’ en instance du modèle E(M), MM, l'instance du modèle MOF ‘M’ MM, l'instance du modèle MOF ‘M’ exprimé en M/MOF/XMI, est convertis en exprimé en M/MOF/XMI, est convertis en EE(MM), qui est l'instance du modèle EMF EE(MM), qui est l'instance du modèle EMF E(M) exprimé en E(M)/EMF/XMI. E(M) exprimé en E(M)/EMF/XMI.

Si on désire inverser le processus, c'est à Si on désire inverser le processus, c'est à dire convertir un modèle EMF en son dire convertir un modèle EMF en son modèle MOF correspondant. Il faut créer modèle MOF correspondant. Il faut créer un fichier XSLT pour pouvoir convertir les un fichier XSLT pour pouvoir convertir les instances du modèle EMF en instance du instances du modèle EMF en instance du modèle MOF correspondant.modèle MOF correspondant.

Conversion de modèle MOF à Conversion de modèle MOF à EMF à l’aide de XSLT (E-MORF EMF à l’aide de XSLT (E-MORF

tool) -3-tool) -3-

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

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

XMI"XMI"

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

Etant donnée que MOF est plus riche que EMF et Etant donnée que MOF est plus riche que EMF et qu’il possède plus de propriétés que ce dernier, au qu’il possède plus de propriétés que ce dernier, au cours de la conversion entre les deux métas modèles cours de la conversion entre les deux métas modèles une perte d’informations risque d’avoir lieu. En effet, une perte d’informations risque d’avoir lieu. En effet, il existe des concepts dans MOF qui n’ont pas il existe des concepts dans MOF qui n’ont pas d’équivalence dans EMF et vice versa. Cependant d’équivalence dans EMF et vice versa. Cependant pour supporter le round-trip translation ( MOF model pour supporter le round-trip translation ( MOF model to EMF model to MOF model) telles informations to EMF model to MOF model) telles informations doivent être préservées à travers l’utilisation de doivent être préservées à travers l’utilisation de EAnnotations.EAnnotations.

Si par exemple un MofAttribute ou une Référence Si par exemple un MofAttribute ou une Référence d’une Classe dans le meta-model MOF n’a pas d’une Classe dans le meta-model MOF n’a pas d’équivalence dans le meta-model d’EMF une d’équivalence dans le meta-model d’EMF une EAnnotations est ajoutée à la classe correspondante EAnnotations est ajoutée à la classe correspondante dans le meta-model EMF. dans le meta-model EMF.

Si par exemple une classe dans le meta-model MOF Si par exemple une classe dans le meta-model MOF n’a pas d’équivalence dans le meta-model EMF, n’a pas d’équivalence dans le meta-model EMF, toutes les informations contenues dans la classe toutes les informations contenues dans la classe sont ajoutées dans le EPackage (ou un autre sont ajoutées dans le EPackage (ou un autre conteneur) comme étant une EAnnotation.conteneur) comme étant une EAnnotation.

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

Une EAnnotation peut servir Une EAnnotation peut servir aussi pour :aussi pour :

supporter l’attribut Annotation supporter l’attribut Annotation possédé par tous les éléments des possédé par tous les éléments des modèles MOF.modèles MOF.

être l’équivalent du concept être l’équivalent du concept d’étiquetage de MOF.d’étiquetage de MOF.

supporter les objectifs de round-trip.supporter les objectifs de round-trip.

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

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

La hiérarchie de MOF et La hiérarchie de MOF et EMF EMF 

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

Avant de parler Avant de parler d'équivalence de concepts entre d'équivalence de concepts entre MOF et EMF, On va présenter le MOF et EMF, On va présenter le standard JMI (Java Metadata standard JMI (Java Metadata Interface).Interface).

JMI est un standard, qui permet la JMI est un standard, qui permet la manipulation en Java des modèles manipulation en Java des modèles instances de méta modèles MOF. instances de méta modèles MOF.

Il définit un moyen de représenter les Il définit un moyen de représenter les modèles sous forme d’objets Java.modèles sous forme d’objets Java.

Equivalence de concepts Equivalence de concepts entre MOF et EMFentre MOF et EMF

Page 35: Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 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).

Page 36: Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 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.

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

PrimitiveType EDataType EDataType permet de nommer EInteger, etc.

StructureType, Structure- Field

EDataType EDataType permet de nommer une classe Java avec sa structure correspondante.

CollectionType EDataType EDataType permet de nommer une classe Java à travers un attribut “value” du type de base approprié et à travers la multiplicité.

AliasType where aliasedtype is PrimitiveType

EDataType EDataType 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 aliasedtype is StructureType

EDataType Idem

AliasType where aliasedtype is CollectionType

EDataType Idem

AliasType where aliasedtype is AliasType

EDataType Idem

AliasType where aliasedtype is EnumerationType

EDataType Idem

Page 38: Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 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 ParametersPosséde le type corréspondant au EParameter.

Parameter (direction in)

EParameter Tous les EParameters sont “by value” (par valeur).

Parameter (direction out orinout)

EParameter 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).

Page 39: Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 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 containedParameters

EClass, EAttributes/EReferences

Les Exception sont convertis en EClass et chacun de ses paramétres est convertis à un EAttribute ouEReference (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 isa 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 orderingof 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

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

Attribute ou le type estune 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 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é avecMOF 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

Page 41: Passerelle entre MOF & EMF. Travail réalisé par: Chaabani Thouraya Ben Abid Haifa Encadré par : Mr Romdhani Mohamed Mr Romdhani Mohamed GL5 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é.

Page 42: 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ésentation du travail Présentation du travail réaliséréalisé

Malheureusement, l'outil E-MORF n'est Malheureusement, l'outil E-MORF n'est pas disponible sur le NET Alors nous pas disponible sur le NET Alors nous avons procédé à une conversion basé sur avons procédé à une conversion basé sur XMI.XMI.

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

Cet exemple va Cet exemple va vousvous initier à l’idée initier à l’idée de de conversionconversion entre les modèle MOF entre les modèle MOF et EMF.et EMF.

Une Une fois on maîtrise fois on maîtrise l’écriture de XMI,l’écriture de XMI, Nous pouvons Nous pouvons procéder à l’écriture de notre propre procéder à l’écriture de notre propre XML Schéma correspondant à XML Schéma correspondant à notre modèle MOF choisi et notre modèle MOF choisi et nous pouvons ensuite procéder à la nous pouvons ensuite procéder à la conversion du XMI en EMF.conversion du XMI en EMF.

Exemple1Exemple1

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

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"><xsd:element name="purchaseOrder" type="PurchaseOrderType"/><xsd:element name="purchaseOrder" type="PurchaseOrderType"/><xsd:element name="comment" type="xsd:string"/><xsd:element name="comment" type="xsd:string"/><xsd:complexType name="PurchaseOrderType"><xsd:complexType name="PurchaseOrderType"><xsd:sequence><xsd:sequence><xsd:element name="shipTo" type="USAddress"/><xsd:element name="shipTo" type="USAddress"/><xsd:element name="billTo" type="USAddress"/><xsd:element name="billTo" type="USAddress"/><xsd:element ref="comment" minOccurs="0"/><xsd:element ref="comment" minOccurs="0"/></xsd:sequence></xsd:sequence><xsd:attribute name="orderDate" type="xsd:date"/><xsd:attribute name="orderDate" type="xsd:date"/></xsd:complexType></xsd:complexType><xsd:complexType name="USAddress"><xsd:complexType name="USAddress"><xsd:sequence><xsd:sequence><xsd:element name="name" type="xsd:string"/><xsd:element name="name" type="xsd:string"/><xsd:element name="street" type="xsd:string"/><xsd:element name="street" type="xsd:string"/><xsd:element name="city" type="xsd:string"/><xsd:element name="city" type="xsd:string"/><xsd:element name="state" type="xsd:string"/><xsd:element name="state" type="xsd:string"/><xsd:element name="zip" type="xsd:decimal"/><xsd:element name="zip" type="xsd:decimal"/></xsd:sequence></xsd:sequence><xsd:attribute name="country" type="xsd:NMTOKEN"<xsd:attribute name="country" type="xsd:NMTOKEN"fixed="US"/>fixed="US"/></xsd:complexType></xsd:complexType></xsd:schema></xsd:schema>

Conversion entre Conversion entre XML XML Schema et MOFSchema et MOF

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

<Class name="PuchaseOrder"><Class name="PuchaseOrder">

<attribute name="shipTo" type="USAddress"/><attribute name="shipTo" type="USAddress"/>

<attribute name="billTo" type="USAddress"/><attribute name="billTo" type="USAddress"/>

<attribute name="comment" type="mof:String« <attribute name="comment" type="mof:String« multiplicty="0..1"/>multiplicty="0..1"/>

<attribute name="orderDate" type="mof:String"/><attribute name="orderDate" type="mof:String"/>

</Class></Class>

<Class name="USAddress><Class name="USAddress>

<attribute name="name" type="mof:String"/><attribute name="name" type="mof:String"/>

<attribute name="street" type="mof:String"/><attribute name="street" type="mof:String"/>

<attribute name="city" type="mof:String"/><attribute name="city" type="mof:String"/>

<attribute name="state" type="mof:String"/><attribute name="state" type="mof:String"/>

<attribute name="zip" type="mof:Integer"/><attribute name="zip" type="mof:Integer"/>

<attribute name="country" type="mof:String"/><attribute name="country" type="mof:String"/>

</Class></Class>

MOFMOF

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

A l’aide de ce document, nous avons pu A l’aide de ce document, nous avons pu comprendre la correspondance entre MOF comprendre la correspondance entre MOF et XML Schéma.et XML Schéma.

Correspondance entre XMl Schema et Correspondance entre XMl Schema et MOF :MOF :

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

Exemple2Exemple2

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

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

Nous allons en premier lieu installé Nous allons en premier lieu installé EMF en ajoutant les features et les EMF en ajoutant les features et les plug_in (Omondo) dans Eclipse.plug_in (Omondo) dans Eclipse.

Nous allons importer ce diagramme Nous allons importer ce diagramme sous Eclipse sous Eclipse afinafin d’obtenird’obtenir le modèle le modèle EMF corréspondantEMF corréspondant . .

Apres avoir Apres avoir élaborer le XMLélaborer le XML Schema Schema de notre modèlede notre modèle MOF correspondant MOF correspondant à notre modèle UML, à notre modèle UML, Nous allons Nous allons importer ce document sous Eclipse importer ce document sous Eclipse afinafin d’obtenird’obtenir le modèle EMF le modèle EMF corréspondant.corréspondant.

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

Etant donnée que MOF est plus riche que EMF et qu’il 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 possède plus de propriétés que ce dernier, au cours de la conversion entre les deux métas modèles une de la conversion entre les deux métas modèles une perte d’informations risque d’avoir lieu. En effet, il perte d’informations risque d’avoir lieu. En effet, il existe des concepts dans MOF qui n’ont pas existe des concepts dans MOF qui n’ont pas d’équivalence dans EMF et vice versa. Cependant pour d’équivalence dans EMF et vice versa. Cependant pour supporter le round-trip translation (MOF model to EMF supporter le round-trip translation (MOF model to EMF model to MOF model) telles informations doivent être model to MOF model) telles informations doivent être préservées à travers l’utilisation de EAnnotations.préservées à travers l’utilisation de EAnnotations.Lors de la conversion, chaque élément dans le modèle Lors de la conversion, chaque élément dans le modèle MOF est accompagné par une EAnnotation dans le MOF est accompagné par une EAnnotation dans le modèle EMF tel quemodèle EMF tel que

EclassEclassEAttributeEAttributeEReferenceEReferenceEOperation ..EOperation ..

Les EAnntation possédent les informations : name, Les EAnntation possédent les informations : name, kind, group, namespace..kind, group, namespace..

Description du Passage de Description du Passage de MOF à EMF -1-MOF à EMF -1-

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

Lors de la conversion, une Eclass nommée Lors de la conversion, une Eclass nommée « DocumentRoot » est ajoutés dans le modèle EMF. « DocumentRoot » est ajoutés dans le modèle EMF. Cette classe contient des EReference représentant la Cette classe contient des EReference représentant la déclaration des différents éléments : déclaration des différents éléments :

PersonnePersonnePaysPaysEtudiantEtudiant

De notre modèle MOF en plus de trois autres De notre modèle MOF en plus de trois autres EReferences qui sont ajoutées par défauts à savoir :EReferences qui sont ajoutées par défauts à savoir :

Mixed : EFeautureMapEntry (définit le type de Mixed : EFeautureMapEntry (définit le type de groupe des association : EReferences).groupe des association : EReferences).xMLNSPrefixMap : EStringToStringMapEntry (Préfixe xMLNSPrefixMap : EStringToStringMapEntry (Préfixe du NameSpace).du NameSpace).xSISchemaLocation : EStringToStringMapEntry xSISchemaLocation : EStringToStringMapEntry (spécifie les documents importés).(spécifie les documents importés).

Description du Passage de Description du Passage de MOF à EMF -2-MOF à EMF -2-

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

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

Le concept d’héritage a été bien Le concept d’héritage a été bien exprimé dans EMF à travers la exprimé dans EMF à travers la propriété « ESuperType » de propriété « ESuperType » de la classe « Etudiant ».la classe « Etudiant ».

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

Conclusion Conclusion

Le développement de l'outil E-MORF: Le développement de l'outil E-MORF: l'outil XSLT-based tool constitue un pont l'outil XSLT-based tool constitue un pont entre les communautés OMG et Eclipse.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.

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

Liste des acronymesListe des acronymes

OMG : OMG : OObject bject MManagement anagement GGrouproup

MDA : MDA : MModel odel DDriven riven AArchitecture rchitecture

MOF : MOF : MMeta eta OObject bject FFacilityacility

EMF : EMF : EEclipse clipse MModelling odelling FFrameworkramework

XMI : XMI : XXML ML MModel odel IInterchangenterchange

JMI : JMI : JJava ava MMetadata etadata IInterfacenterface

JCP : JCP : JJaava va CCommunity ommunity PProcessrocess

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

BibliographieBibliographieXavier BlancXavier Blanc , , MDA en action ingénierie logicielle guidée MDA en action ingénierie logicielle guidée par les modèles , par les modèles , LivreLivre..Claudine ToffolonClaudine Toffolon , , De MDA à MDDDe MDA à MDD , 2004-2005 , , 2004-2005 , Université du littoral-Côte d’Opale LIL , Calais .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, [email protected] .http://http://www.dstc.edu.auwww.dstc.edu.au//ResearchResearch//ProjectsProjects//PegamentoPegamento/publications/MOF2EMF-Tech-Report.pdf/publications/MOF2EMF-Tech-Report.pdfhttp://www.dstc.edu.au/Research/Projects/Pegamento/http://www.dstc.edu.au/Research/Projects/Pegamento/publications/MOF-to-EMF-There-and-Back-Again.pdfpublications/MOF-to-EMF-There-and-Back-Again.pdf

[MOF] MOF 2.0, an in progress standard of the OMG. More [MOF] MOF 2.0, an in progress standard of the OMG. More specifically, this refers to the MOF 2.0 Core submission. Voir specifically, this refers to the MOF 2.0 Core submission. Voir http://www.omg.org/techprocess/meetings/schedule/MOF_2.http://www.omg.org/techprocess/meetings/schedule/MOF_2.0_Core_RFP.html.0_Core_RFP.html.

[XMI] XMI 2.0, an adopted standard of the OMG.[XMI] XMI 2.0, an adopted standard of the OMG.

http://www.omg.orghttp://www.omg.org