Extension conceptuelle de méta-modèles XML
Transcription
Extension conceptuelle de méta-modèles XML
International Conference on Web and Information Technologies
ICWIT’08
Extension conceptuelle de méta-modèles XML et UML pour une
transformation bidirectionnelle de modèles
Ludovic Menet*,**, Myriam Lamolle*
* Laboratoire dINformatique et Communication (LINC)
IUT de Montreuil, Université Paris8
140 rue de la Nouvelle France, F-93100 Montreuil
{m.lamolle, l.menet}@iut.univ-paris8.fr
** Orchestra Networks, Direction des Etudes et Recherches
75 boulevard Haussman, 75008 Paris
[email protected]
Résumé. XML est devenu depuis la fin des années 90 le standard pour échanger et envoyer de
linformation sur Internet. Le W3C a ensuite préconisé lutilisation de XML Schema pour définir la
structure des documents XML. A ce jour, la modélisation graphique de modèles XML Schema nest
pas standardisée. Lintroduction dun formalisme de définition de modèles est un moyen de rendre la
modélisation plus accessible. UML est un langage de modélisation objet de plus en plus utilisé et
reconnu aujourdhui comme un standard dans le domaine du génie logiciel, ce qui en fait un candidat
idéal pour la modélisation des modèles XML Schema. Dans cet article, nous introduisons les
spécificités du formalisme UML afin de faciliter la définition des modèles XML. Un enrichissement
conceptuel est réalisé dans UML et XML Schema dans le but de réaliser un mapping bidirectionnel
entre ces deux standards.
Mots-clés: UML, Profil UML, XML, XML Schema, Mapping, Meta-modèle.
1 Introduction
Il est désormais admis que le langage XML [18] est devenu le standard pour échanger de linformation au
travers dInternet. XML Schema [19] est un formalisme permettant de décrire la structure dun document
XML de façon beaucoup plus précise quune simple DTD (Document Type Definition). Lutilisation
dXML savère adaptée à la définition de modèles mais implique une connaissance étendue de ce
langage. De nombreux logiciels tels que Altova XML Spy et oXygen XML Editor ont été développés
dans le but de modéliser graphiquement, sous la forme darbres, des modèles XML Schema. Ces logiciels
permettent doptimiser la modélisation des schémas XML mais proposent un formalisme de
représentation différent dune solution à lautre. Il découle de ce constat quun formalisme standard
devrait être utilisé afin de faciliter la modélisation et le transfert de ces modèles. Cet article a pour objectif
de présenter des techniques de modélisation de modèles XML Schema par lintermédiaire des
diagrammes de classes appartenant au standard UML (Unified Modelling language).
UML propose un langage de modélisation graphique très abouti et grandement utilisé en génie logiciel.
Notre objectif est dintroduire toute la richesse du formalisme UML pour faciliter la modélisation des
modèles XML Schema. Lintroduction du formalisme UML dans notre architecture XML est réalisée par
un mapping entre les méta-modèles de ces deux standards. Pour ce faire, nous procédons en plusieurs
étapes à savoir :
1. définition dun méta-modèle décrivant les concepts supportés par XML Schema ;
2. définition dextensions XML Schema afin de prendre en compte toutes les spécificités objets dUML.
Ces extensions exploitent les mécanismes dextension proposés par XML Schema afin de rester
conforme à la norme du W3C ;
3. définition dun profil UML afin de spécialiser UML à la sémantique des modèles XML Schema ;
4. définition des mappings entre les méta-modèles dUML et XML Schema ;
5. application des mappings par lintermédiaire du format pivot XMI et transformation des modèles par
feuilles de styles XSLT décrivant les mappings.
228
International Conference on Web and Information Technologies
ICWIT’08
2 Etats de l’art
Levendovszky [11], se basant sur les travaux de Lemesle [10], définit le mapping comme étant un
ensemble de règles de transformation de modèles permettant de traduire des instances dun méta-modèle
source en instance dun méta-modèle cible.
Baïna et al. [3] apportent une définition mathématique à linteropérabilité des applications dans un
système dentreprise. Après étude de ces travaux, nous avons conclu que cette définition peut aussi
sappliquer aux mapping de modèles. Considérons A et B deux méta-modèles ; A et B sont dits
interopérables si et seulement sil existe un mapping bijectif de MA vers MB, que nous noterons f. La
bijection de f nous assure que lon peut construire une instance de modèle B à partir de linstanciation du
modèle de A (en utilisant f) et construire une instance de modèle A à partir de linstanciation du modèle de
B. A partir de cette définition, trois niveaux dinteropérabilité sont définis et des mappings sont identifiés
entre les langages A et B à savoir :
− Niveau 2 : Il existe un isomorphisme total entre MA et MB. De ce fait, tout concept de MA a son
équivalent dans MB et inversement, ce qui signifie que MA et MB sont équivalents ;
− Niveau 1 : Il existe un isomorphisme partiel entre MA et MB. Il existe donc une sous-partie de MA que
lon notera MA et une sous-partie de MB (MB) telles que linteropérabilité entre MA et MB est de
niveau 2, ces sous-parties sont donc équivalentes ;
− Niveau 0 : Il nexiste pas disomorphisme partiel entre MA et MB. Cependant il se peut que des
mappings non bijectifs existent entre MA et MB ; dans ce cas, nous ne pouvons pas parler
dinteropérabilité sémantique en A et B.
Linteropérabilité de niveau 2 est la plus difficile à établir étant donné quil est très rare que deux métamodèles soient totalement équivalents. Dans cette étude, nous allons donc chercher à établir une
correspondance partielle entre MA et MB en calculant la proportion de MA et MB par rapport à MA et MB
obtenant ainsi une interopérabilité de niveau 1 entre XML Schema et UML.
Carlson [4] aborde la transformation de modèles UML en schéma XML et lopération inverse,
obtenant ainsi un mapping bijectif entre ces deux formalismes. Le mapping réalisé utilise comme
fondement un profil UML définissant des concepts spécifiques à XML Schema. Ce profil est utilisé afin
détendre la sémantique dun modèle UML à la sémantique dun modèle XML Schema. Cette approche
permet un mapping dune grande partie des concepts introduits par XML Schema, mais ne prend pas en
compte certains concepts tels que la notion de groupes (list, union), de contrainte didentité (key, keyref,
unique), etc. De plus, certains concepts importants dUML, tels que lagrégation, la composition,
lassociation et la documentation, ne sont pas pris en compte lors dune transformation dun modèle UML
vers un modèle XML Schema. Ce mapping a été mis en application par HyperModel [5]. HyperModel est
un plug-in pour lIDE Eclipse implémentant le mapping bijectif UML/XML. Cet outil est
fonctionnellement opérationnel mais souffre de quelques limitations lors dune transformation dun
modèle UML vers un modèle XML Schema car :
1. certains concepts ne sont pas mappés (agrégation, composition, etc.) ;
2. des éléments sont mappés plusieurs fois entraînant une redondance dinformation et une inconsistance
dans le modèle résultat ;
3. une perte dinformation, plus précisément concernant les contraintes de cardinalité, se produit sur
certains modèles ;
4. des modèles XML Schema générés ne sont pas valides au regard de la spécification du W3C.
Routledge et al. [14] abordent le mapping de manière traditionnelle entre UML et XML Schema par
lintermédiaire de lapproche à trois niveaux issus du monde des bases de données à savoir les niveaux
conceptuel, logique et physique. Dans le contexte dun diagramme de classes UML, le niveau conceptuel
décrit les objets et leurs relations. Le niveau logique représente les structures de données XML Schema
sous la forme dun profil UML. Le niveau physique représente directement le modèle XML Schema. De
la même manière que les travaux de Carlson, certains éléments spécifiques dUML tels que lagrégation,
la composition et dautres ne sont pas pris en compte.
Dautres travaux on été réalisés dans le même contexte par Conrad et al. [6], Kurtev et al. [9] mais
souffrent également des mêmes limitations que les travaux que nous avons présentés précédemment.
229
International Conference on Web and Information Technologies
ICWIT’08
3 Enrichissement conceptuel de XML Schema et d’UML
A ce jour, la modélisation graphique de modèles XML Schema nest pas standardisée. Il existe certes des
outils pour la modélisation de modèles XML mais ceux-ci sont restreints à la sémantique dXML Schema
(Altova XML Spy [1], oXygen XML editor [17], etc.). En effet, ces outils sont dans lincapacité de guider
lutilisateur dans lutilisation des concepts introduits par des extensions spécifiques. Lintroduction dun
formalisme de définition de modèle est un moyen de rendre la modélisation plus accessible. UML est un
langage de modélisation objet de plus en plus utilisé et reconnu aujourdhui comme un standard dans le
domaine du génie logiciel, ce qui en fait un candidat idéal pour la modélisation des modèles XML
Schema. Dans lobjectif de faciliter et doptimiser le mapping entre XML Schema et UML, il est
nécessaire, dans un premier temps, denrichir chacun de ces formalismes avec les spécificités issues de
lautre. Cest une première étape dhomogénéisation des différents formalismes.
3.1 Adjonction de métaconnaissances objet dans les modèles XML
UML est un formalisme de modélisation objet qui définit des notions telles que la généralisation, la
composition et lagrégation. Bien quil soit possible de matérialiser ces notions de manière implicite dans
un modèle XML schéma, nous proposons dintroduire des métadonnées matérialisant ces notions de
manière explicite dans les modèles XML Schema (notées nom_concept_objet_UML à la ligne 3 de la
figure 1). Pour ceci faire, nous utilisons les mécanismes dextensions préconisés par XML Schema, soit
pour chaque métaconnaissance, une description sous la forme de lextension suivante :
1 …<xs:annotation>
2
3
<xs:appinfo>
<osd:nom_concept_objet_UML/>
4
</xs:appinfo>
5
</xs:annotation>…
Fig. 1. Extension XML Schema représentant une métaconnaissance objet.
Lajout de ces métadonnées dans les modèles XML Schema permet dinclure des spécificités objet
dUML et de mettre en évidence des relations entre certains concepts. Au delà de notre processus de
mapping, ces métadonnées contribuent à optimiser certains traitements tels que la factorisation de
données, loptimisation darbres, la suppression dinstances devenues inutiles [12].
3.2 Spécialisation d’UML en modèle XML Schema
En plus de ses capacités de modélisation, UML permet de définir des profils. Un profil spécialise le
formalisme UML pour un domaine ou une technologie particulière. De nombreux profils ont été
développés, par exemple les profils CORBA [16] et EJB [7]. La possibilité de définir des profils UML a
donné lieu à différents travaux tels que ceux de Mahmoud [13] et Ambler [2].
La définition dun profil nous permet de spécialiser UML à la sémantique des modèles XML Schema.
Le processus adéquat pour définir un profil UML est le suivant :
1. Définition du domaine du profil, soit le méta-modèle définissant les concepts et les relations que lon
souhaite introduire ;
2. Définition technique du profil consistant à établir une correspondance entre les concepts UML et ceux
du profil ;
3. Définition dun exemple simple et concret du profil.
La première étape est réalisée en exploitant le méta-modèle de XML Schema.
Le tableau 1 présente un extrait de la définition de notre profil UML représentant ce méta-modèle :
230
International Conference on Web and Information Technologies
ICWIT’08
Table 1. Extrait de la définition du profil UML.
Stéréotype
Root
Sequence
Appliqué
à
Classe
Classe
Choice
Classe
SimpleType
Attribute
Classe
Attribut
Description
Définit la racine dun modèle XML Schema
Définit un élément complexe XML Schema
de type sequence
Définit un élément complexe XML Schema
de type choice
Définit un type redéfini au sens XML Schema
Définit un attribut au sens XML Schema
Le mécanisme dextension dUML nous permet détendre son formalisme à notre sémantique. Cette
extension est réalisée par des stéréotypes et des valeurs marquées. Les stéréotypes sont utilisés pour
définir un nouveau type délément à partir dun élément existant du méta-modèle UML.
La figure 2 présente un extrait de lapplication de cette définition de notre profil UML pour des
modèles XML Schema.
Nous pouvons constater que les stéréotypes de la figure 2 (noté <<Stereotype>> Root par exemple)
héritent de lélément Class ou Attribute du méta-modèle UML. Par conséquent, chacun de ces stéréotypes
sera instancié par le constructeur du méta-modèle de la même manière que lélément Class ou Attribute.
Des valeurs marquées peuvent, de plus, être associées à des stéréotypes. Celles-ci spécifient des paires
clés-valeurs pour fixer un ensemble de propriétés déléments existants ou de stéréotypes définis. La
définition de ces stéréotypes permet dintroduire plus de sémantique, extérieure à UML, qui nous
permettra de représenter un modèle XML Schema à laide de diagrammes UML.
Dans cette section, nous avons enrichi conceptuellement XML Schema et UML dans le but détablir
des correspondances entre ces deux technologies. Ces correspondances nous permettent de spécifier des
mappings entre UML et XML Schema.
Fig. 2. Extrait du profil UML représentant les spécificités de XML Schema.
231
International Conference on Web and Information Technologies
ICWIT’08
4 Spécification des mappings UML / XML Schema
Nous présentons maintenant les règles de mapping entre éléments UML et XML Schema, y compris les
notions décrivant des relations de dépendance.
4.1 Classes UML
Une classe UML est mappée vers un élément XML (<xs:element>) ayant une structure complexe ou vers
un élément de type complexe global au schéma XML (<xs:complexType>). Certains stéréotypes que nous
avons définis dans notre profil permettent dajouter des informations supplémentaires sur les classes.
Ainsi, les stéréotypes <<Sequence>>, <<Choice>> et <<All>>, par exemple, permettent-ils dindiquer
que la classe doit être transformée en un élément complexe XML ayant respectivement une structure de la
forme <xs:sequence>, <xs:choice> ou <xs:all>. La notion délément racine a été définie dans la
sémantique de XML Schema sous la forme du stéréotype <<Root>>.
4.2 Attributs
Les attributs UML sont transformés en éléments simples XML <xs:element> ayant pour valeur dattribut
<xs:type> un type de donnée. Lélément XML généré est englobé soit par un élément <xs:sequence>,
<xs:choice> ou <xs:all> selon le stéréotype appliqué à la classe. Nous avons introduit le stéréotype
<<Attribute>> afin de spécifier que lattribut UML doit être transformé en attribut XML <xs:attribute>
et non en élément <xs:element>.
4.3 Cardinalités
Les cardinalités UML sont transformées en attributs <xs:minOccurs> et <xs:maxOccurs> portés par
lélément correspondant. Les cardinalités peuvent porter sur les associations, les agrégations, les
compositions et les attributs.
4.4 Types de données natifs
Les types de données natifs UML tels que int, double, float, string, etc., sont mappés en entités XML
correspondantes, soit respectivement <xs:int>, <xs:double>, <xs:float>, <xs:string>, etc.
4.5 Types dérivés
Un type dérivé permet de spécifier des contraintes sur des types ou de définir de nouveaux types métier.
Nous définissons le stéréotype <<SimpleType>> permettant dindiquer que lélément UML
correspondant est un type dérivé. Les propriétés du type dérivé sont définies dans une annotation.
Lélément XML correspondant est construit à partir des informations définies dans lannotation associée à
lélément UML. Dans notre mapping, nous incluons les contraintes XML sur les types. Il est ainsi
possible pour un type dérivé de spécifier des contraintes conformes à la spécification du W3C telles que
length, min/max length, enumeration, fractionDigits, totalDigits, max/min Inclusive, max/min Exclusive.
4.6 Généralisation
Une classe UML stéréotypée <<abstract>> est déclarée comme étant abstraite et étant une généralisation
dun ou plusieurs concepts (classes). Nous avons défini précédemment des extensions XML permettant
de matérialiser des relations « objet ». Une généralisation sera donc traduite en XML par un élément
possédant lextension suivante :
<xs:annotation>
<xs:appinfo>
<osd:generalisation>
<osd:conceptPath>
Path du sous concept dans le schéma
</osd:conceptPath>
</osd:generalisation >
</xs:appinfo>
</xs:annotation>
232
International Conference on Web and Information Technologies
ICWIT’08
4.7 Agrégation et composition
Lagrégation (respectivement composition) est traduite en XML par un élément possédant lextension
suivante :
<xs:annotation>
<xs:appinfo>
<osd:aggregation (respectivement composition)/>
</xs:appinfo>
</xs:annotation>
Les cardinalités UML définies pour les associations, agrégation et composition sont représentées par
les attributs XML <xs:minOccurs> et <xs:maxOccurs>. De plus, les extensions définies pour ces mêmes
relations sont définies uniquement dans lélément XML parent de lassociation.
4.8 Documentations et notes
Une documentation ou une note est une variante affaiblie de contrainte ; cest un texte à l'usage de
lutilisateur mais non exécutable par la machine. Dans un diagramme de classe UML, une note est
rattachée à lélément auquel elle fait référence. Les notes et documentations sont traduites en XML par
lextension suivante :
<xs:annotation>
<xs:documentation xml:lang = « fr_FR »>
<osd:description> Texte </osd:description>
</xs:documentation>
</xs:annotation>
Lattribut xml:lang permet de spécifier à quelle langue est associée la note ou la documentation.
5 Application des mappings
Nous avons présenté dans la section précédente une spécification des mappings des éléments de base
dUML. UML est un formalisme de représentation graphique de modèles et XML Schema est un langage
de description de modèles structurés. Lapplication des mappings nécessite de pouvoir représenter les
modèles XML Schema et UML dans un formalisme commun.
5.1 XML Metadata Interchange Format (XMI)
XMI [8] est un formalisme de représentation de modèle recommandé par lODMG [15] créé dans le but
de pouvoir échanger des modèles entre outils de modélisation. La représentation UML dun modèle
représente le niveau abstrait de celui-ci, le niveau concret est matérialisé par la représentation XMI de ce
modèle. XMI représente un format pivot permettant de représenter et manipuler un modèle UML sous la
forme dun document XML. Le Document XMI contient deux parties importantes à savoir un « header »
et un « content ». La partie « header » définit les informations sur le modèle représenté (propriétaire,
description, etc.). La partie « content » définit le contenu du modèle, c'est-à-dire les classes, les
stéréotypes, les associations, etc. De nombreux logiciels de modélisation (comme ArgoUML, Rational
Rose, Objecteering, etc.) incluent les fonctionnalités dimport et dexport de modèles UML au format
XMI. Cependant, ces logiciels peuvent pour un même modèle générer des documents XMI valides mais
ayant des structures différentes, rendant léchange de modèles difficile entre ces différents outils. Cet
inconvénient majeur nous oblige à appliquer nos propres mappings afin de générer des documents XML
Schema, conformes aux normes du W3C.
5.2 XSL Transformation
XMI permet de représenter un modèle UML sous la forme dun document XML, permettant ainsi
détablir une corrélation entre un modèle UML en modèle XML Schema. XSLT, quant à lui, est un
langage permettant dappliquer des règles de transformation sur un document XML pour obtenir un autre
document XML. Ces règles de transformation sont décrites dans des feuilles de styles XSL. La figure 3,
analogue aux principes de Lemesle [10], décrit le processus de transformation :
233
International Conference on Web and Information Technologies
ICWIT’08
Fig. 3. Processus de transformation XSLT.
6.3 Etude de cas
Cette partie illustre un extrait de modèle UML et son équivalent XML Schema après application des
règles de mappings que nous avons établies. La figure 4 présente la modélisation UML dun réseau
simplifié de trains. Ce diagramme est composé de différents concepts et relations entre ces derniers. Il est
question dans notre exemple de mettre en avant les relations dassociation, de composition, dagrégation
et de type dérivé. Ainsi avons nous par exemple défini le concept de train comme étant composé dun
moteur, de roues (notion de composition), pouvant posséder des wagons (notion dagrégation) et ayant
des propriétés telles quun type et une marque. Nous associons un conducteur de type Personne à un train.
Ce concept porte des propriétés telles que nom, prénom et date de naissance typées par un type de
données de base UML. Nous avons défini une propriété email représentant lutilisation dun type de
données redéfini. La classe Email porte le stéréotype <<SimpleType>> permettant dindiquer quil sagit
dun type redéfini au sens XML Schema. Les propriétés de ce type redéfini sont contenues dans une
annotation UML spécifiant des valeurs pour SimpleType::base, SimpleType::pattern et
SimpleType::whiteSpace. La racine du schéma est matérialisée par le stéréotype <<Root>>, appliqué à la
classe ReseauTrains. Les classes de ce modèle, excepté la classe email, sont stéréotypées <<Sequence>>.
Ceci permet de spécifier que la classe correspondante représente un élément complexe, au sens XML
Schema, de type sequence. A partir de ce diagramme, un document XMI est généré. Une feuille de style
XSL est appliquée sur le document XMI obtenu. Cette feuille de style est composée de règles définissant
les mappings que nous avons présentés en section 5.1
Fig. 4. Exemple de modèle UML.
234
International Conference on Web and Information Technologies
ICWIT’08
La figure 5 présente la transformation de la classe trainType et de ses relations, en élément XML
Schema :
<xs:complexType name="trainType">
<xs:sequence>
Nous avons choisi de ne pas présenter notre feuille de style dans la mesure où elle ne relève que dune
implémentation technique de nos mappings.
1
<xs:element name="marque" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="wagon" type="wagon" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation><xs:appinfo>
<osd:aggregation/>
</xs:appinfo></xs:annotation>
</xs:element>
<xs:element name="moteur" type="moteur" minOccurs="1"
maxOccurs="1">
<xs:annotation><xs:appinfo>
<osd:composition/>
</xs:appinfo></xs:annotation>
</xs:element>
<xs:element name="roue" type="roue" minOccurs="4"
maxOccurs="unbounded">
<xs:annotation><xs:appinfo>
<osd:composition/>
</xs:appinfo></xs:annotation>
</xs:element>
<xs:element name="conduit" type="personne" minOccurs="1"
maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
Fig. 5. Extrait dun schéma XML généré à partir dun modèle UML.
7 Conclusion
Nous avons montré dans cet article que nous pouvons utiliser le formalisme UML pour définir des
modèles, facilitant ainsi la modélisation de ces derniers. Lintroduction dUML a été réalisée par la
création de correspondances entre XML Schéma et UML, correspondances qui ont permis de définir des
mappings entre ces deux standards. En introduisant des métaconnaissances dans un modèle XML Schéma
et en définissant un profil UML, nous obtenons une interopérabilité de niveau 1 entre XML et UML,
comblant certaines limitations que nous avons présentées dans la section 3. En effet, les extensions XML
Schéma que nous avons introduites nous permettent détablir des correspondances entre des concepts qui
nétaient pas pris en compte tels que les notions dagrégation, de composition, documentation etc. De
plus, lajout de ces notions, plus particulièrement les notions dagrégation et de composition, permet de
mettre explicitement en évidence des liens sémantiques entre éléments et dapporter des informations
concernant le cycle de vie de ces derniers.
La suite de nos travaux portera sur lamélioration de nos mappings UML notamment en prenant en
compte la définition de contraintes OCL (Object Constraint Language) [20] et le développement dun
outil permettant de définir parallèlement des modèles UML et XML Schéma afin de faciliter la semi
automatisation des mappings et la validation des modèles par les experts du domaine.
235
International Conference on Web and Information Technologies
ICWIT’08
Références
1. Altova XMLSpy. http://www.altova.com/xmlspy
2. Ambler S. Persistence Modeling in the UML. Published in issue of Software Development. August.
http://www.sdmagazine.com (1999)
3. Baïna S., Panetto H., Benali K.. Apport de l'approche MDA pour une interopérabilité sémantique. Ingénierie des
Systèmes d'Information (ISI). Volume 11. p. 11-29. (2006)
4. Carlson D. Modeling XML Applications with UML: Practical e-Business Applications. Addison-Wesley Inc.
(2001)
5. Carlson D. Semantic Models for XML Schema with UML Tooling, In Proceedings of the 2nd International
Workshop on Semantic Web Enabled Software Engineering. (2006)
6. Conrad R., Scheffner, D. and Freytag, J.C. XML conceptual modeling using UML. Proceedings of the 19th
International Conference on Conceptual Modeling (ER2000).
7. Greenfield J. UML Profile For EJB. Rational Software Corp, May. (2001)
8. Iyengar, S. and S.A. Brodsky. XML Metadata Interchange (XMI). Proposal to the OMG Object Analysis & Design
Task Force RFP 3: Stream-based Model Interchange Format (SMIF), Object Management Group.
http://www.omg.org. (1998).
9. Kurtev, I. UML to XML-Schema Transformation: a Case Study in Managing Alternative Model Transformations in
MDA. Forum on specification and Design Languages. (2003)
10. Lemesle, R. Transformation Rules Based on Meta-Modelling. EDOC'98, La Jolla, California, 3-5 November
1998, p. 113-122. (1998)
11.Levendovszky T., Karsai1 G., Maroti1 M., Ledeczi1 A. and Charaf H. Model Reuse with Metamodel-Based
Transformations. In Proceedings of the 7th InternationalConference on Software Reuse: Methods, Techniques, and
Tools table of contents. p. 166-178. (2002)
12. Menet L., Lamolle M. Meta-modelling object: expression of semantic constraints in complex data structure.
Proceedings of ERIMA07. p. 104-108. Biarritz, FRANCE. (2007)
13.Mahmoud N. Analyse/conception par points de vue : le profil VUML. Thèse de doctorat dinformatique, INSA
Toulouse. (2005)
14.Routledge, N., Bird, L. and Goodchild, A. UML and XML schema. In Proceedings of the 13th Australasian
Database Conference. p. 157-166. Melbourne, Australie. (2002)
15.ODMG. The Object Data Standard : ODMG 3.0. Morgan Kauffman Publishers. (1999)
16.OMG. CORBA specifications. http://www.omg.org/cgi-bin/doc?formal/02-04-01 (2002)
17. oXygen XML editor. http://www.oxygenxml.com
18. W3C. Extendible Markup Language (XML) 1.0. http://www.w3/org/TR/REC-xml (2000)
19. W3C. XML-Schema Part 1: Structures 2nd Ed. http://www.w3.org/TR/xmlschema-1 (2004)
20. OMG. Response to the UML 2.0 OCL. http://www.omg.org/docs/ad/02-05-09.pdf (2002)
236