Passer au contenu

XMI définit un format d’échange standard entre ateliers logiciels

XMI définit un standard d’échange de métadonnées UML en XML. Résultat, une façon ouverte et indépendante de tout éditeur pour décrire des modèles UML.

Impossible de parler de XMI sans évoquer les deux autres standards qui lui sont intimement liés : UML et MOF. En quelques mots, UML (Unified Modeling Language) est un langage graphique utilisé pour la conception orientée objet, et MOF (Meta Object Facility) utilise un sous-ensemble de UML pour décrire les objets manipulés par les outils de conception. Enfin, XMI (XML Metadata Interchange) indique comment les modèles MOF peuvent être traduits en XML. Le but de ces standards est de permettre à des ateliers logiciels d’explorer et d’échanger les définitions des structures de données, leurs propriétés, les relations les unissant, etc.Avant de construire une voiture, par exemple, il faut en créer les plans détaillés. Le moindre élément du véhicule, carrosserie, moteur, châssis, roues et jusqu’au plus petit boulon, doit être décrit, ainsi que les relations entre chaque élément : c’est le plan de montage. Des règles précises normalisent la façon dont de tels plans sont représentés sur papier. Si l’on souhaite créer, non plus une voiture, mais un logiciel ou une base de données, UML est le langage graphique normalisé permettant de décrire les plans d’un logiciel, c’est-à-dire les structures des données et les relations qui les lient. On parle de modèles UML. Lesquels sont rarement dessinés à la main, mais plutôt à l’aide d’outils informatiques (comme Rational Rose). En poursuivant l’analogie industrielle, MOF (Meta Object Facility) serait un ensemble de règles de réalisation des plans de la voiture : épaisseur des traits, façon de placer les légendes, etc. On doit la création de cette architecture de métaobjets MOF à l’OMG (Object Management Group), soutenu par des organismes comme IBM, Oracle, Rational ou Unisys.

Des standards convergents

Un métaobjet est donc simplement le plan d’un plan. Or, les concepteurs du standard MOF ont suivi leur idée jusqu’au bout. Quoi de mieux pour décrire rigoureusement une structure de données que de la modéliser en utilisant les outils de conception orientés objet ? C’est-à-dire UML. MOF utilise donc la syntaxe UML, privée de certaines constructions complexes inutilisées comme les objets-liens ou les relations n-aires, pour définir ses métamodèles. Entre-temps, XML s’est affirmé comme le point de convergence des technologies objet et XMI est devenu le standard qui définit les règles de génération d’une DTD (Data Type Definition) XML à partir d’un métamodèle. C’est la structure de leur DTD qui caractérise les documents XMI parmi l’ensemble des documents XML. Il n’a pas été difficile d’étendre la norme MOF en utilisant des règles de correspondance entre un métamodèle MOF et un fichier XML conformes à XMI. L’extension présente même le bénéfice secondaire d’établir une passerelle ” naturelle ” entre Corba et XML.Attention à ne pas confondre les niveaux d’abstraction ! Par exemple, pour transmettre par XML des informations sur la structure d’une base de données, la DTD correspond aux métamodèles de la base, c’est-à-dire aux notions de table (ensemble de colonnes), de colonne et de types de relations gérées, etc. , tandis que le document XML définit le modèle, c’est-à-dire la structure des tables effectivement utilisées dans une base précise. Mais les données de la base n’apparaissent nulle part. L’usage principal de XMI consistant à favoriser l’échange de modèles UML entre les ateliers de développement de programmes de différents fournisseurs, les DTD XMI les plus utilisées sont la DTD UML (issue du métamodèle d’UML, qui décrit les types des tables et des liens utilisés en UML), et la DTD MOF (similaire mais légèrement restreinte). Ces normes préfigurent une nouvelle génération d’outils de développement interopérables et communiquant entre eux, et des logiciels capables de s’adapter aux évolutions de format des données manipulées.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Christophe Grosjean