Thèse soutenue

Une approche formelle pour la transformation de modèles UML-XML

FR  |  
EN
Auteur / Autrice : Abdalhmed Maran
Direction : Mokrane Bouzeghoub
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 2005
Etablissement(s) : Versailles-St Quentin en Yvelines

Résumé

FR  |  
EN

UML (Unified Modeling Language) offre un ensemble de diagrammes permettant de décrire la structure des objets et leurs comportements. XML (eXtensible Markup Language) est un format de données. Il propose un langage pour décrire la structure (schéma) des documents et il distingue et sépare les données de leurs schémas, de leurs descriptions et ontologies et de leurs éventuelles représentations. Il est apparu très rapidement que les deux standards sont complémentaires et que le passage de l'un vers l'autre s'impose. L'objectif de cette thèse et de proposer une approche innovante et formelle pour la transformation entre modèles UML et Schémas XML. Les transformations ne se limitent pas à UML et aux Schémas XML et nous remarquons qu'elles sont antérieures à ces notations. Les bases de données forment un domaine où les conversions entre différents niveaux d'abstraction abondent. La popularité d'un langage ou d'un format (c'est le cas pour UML et XML) est une forte motivation pour développer des conversions de et vers ceux-ci. Notre approche s'appuie sur deux points principaux. Elle consiste en la définition des règles de conversion au niveau des méta-modèles pour transformer les modèles. Et elle adopte les TADs (Types Abstraits de Données) pour écrire les transformations ainsi que pour spécifier les modèles à convertir. Les TADs introduisent une abstraction dans les systèmes qu'ils spécifient et procurent, donc, une indépendance par rapport aux langages et aux plate-formes d'implémentation. Ils sont basés sur des fondements mathématiques et permettent de vérifier les propriétés autant des modèles que nous transformons que celles des conversions. La machine des transformations que nous avons créée consiste en trois bibliothèques de TADs : une première pour spécifier les modèles UML, une deuxième pour spécifier les Schémas XML et une troisième définissant les transformations. Nous avons implémenté cette architecture dans le langage LOTOS. Afin d'intégrer, dans le processus de transformation formelles, des modèles UML générés par les différents AGL disponibles, nous avons adopté le format XMI et implémenté des conversion en XSLT permettant la conversion de modèles UML de XMI vers une représentation LOTOS. Nous avons également programmé, en Java, un analyseur syntaxique permettant de transformer des Schémas XML de leurs représentation LOTOS vers XML. L'approche que nous avons adoptée n'est pas exclusive aux transformations de UML vers les Schémas XML et elle peut être utilisée avec d'autres modèles sources et destinations et en particulier pour la rétro-génération de Schémas XML à partir de modèles UML. L'ingénierie des modèles basée sur les transformations est un champ de recherche actif et les efforts de normalisations sont en cours et sont illustrés par MDA (Model Driven Architecture) et QVT (Query View Transformation). Notre approche des transformations formelles est conforme à la vision de l'OMG des transformations et à son architecture en couches. De plus, par le biais des (TADs), elle introduit un formalisme à la spécifications de modèles et des transformations.