Une architecture pour les transformations de modèles et la restructuration de modèles uml - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2005

Une architecture pour les transformations de modèles et la restructuration de modèles uml

Résumé

Model engineering attempts to solve how we can evolve complex software systems. Indeed, those systems must follow the evolution of new requirements and technologies, and this evolution is faster and faster compared to the business domain evolution. We thus propose to reuse the domain expertise independantly of any underlying technology, through model transformation techniques. The contribution presented in this document is an architecture for manipulating models which is independent of any specific metamodel. During development of model transformations, this architecture supports proven techniques of object-oriented software engineering. A reference implementation in functional programming specifies the semantics of the interface for accessing models. Our approach is based on a mof-level interface (mof : Meta-Object Facility) for model manipulation. The associated programming language supports direct manipulation of model elements, because the metamodel structure dynamically extends the set of types available to the model transformation program. From a methodological point of view, we show that model transformations capture the implementation expertise for a business domain to a given technology ; it is therefore useful to model and develop complex transformations using sound software engineering and model engineering techniques. We illustrate this in practice using transformations for design pattern introduction and refactoring in uml models (uml : Unified Modeling Language).
Avec l'ingénierie des modèles on cherche à résoudre le problème de l'évolution des grands systèmes informatiques. En effet, ces systèmes doivent s'adapter à l'évolution des besoins et des technologies, et cette évolution est de plus en plus rapide par rapport à celle du domaine métier. On souhaite donc réutiliser l'expertise de ce domaine indépendamment des technologies sur lesquelles on s'appuie, grâce à des techniques de manipulation de modèles. La contribution présentée dans ce manuscrit est une architecture de manipulation de modèles indépendante d'un quelconque métamodèle. Cette architecture favorise la réutilisation des techniques reconnues de génie logiciel orienté objet pour le développement de transformations de modèles. La sémantique de l'interface d'accès aux modèles est spécifiée par une implémentation de référence en langage fonctionnel. Notre approche est fondée sur une interface de niveau mof (Meta-Object Facility) pour la manipulation de modèles. Le langage associé permet de manipuler des éléments de modèle directement, car la structure du métamodèle étend dynamiquement l'ensemble des types accessibles au programme de transformation. D'un point de vue méthodologique, on montre que les transformations de modèles synthétisent l'expertise d'implantation d'un domaine métier vers une technologie donnée ; il est donc utile de modéliser les transformations les plus complexes pour les développer en appliquant récursivement les techniques de génie logiciel et d'ingénierie des modèles. La mise en pratique illustre ce point et montre le fonctionnement de l'architecture de manipulation de modèles avec des transformations pour l'introduction de design patterns et la restructuration de modèles uml (Unified Modeling Language).

Mots clés

Fichier principal
Vignette du fichier
Pollet05a.pdf (1.21 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-00538536 , version 1 (22-11-2010)

Identifiants

  • HAL Id : tel-00538536 , version 1

Citer

Damien Pollet. Une architecture pour les transformations de modèles et la restructuration de modèles uml. Génie logiciel [cs.SE]. Université Rennes 1, 2005. Français. ⟨NNT : ⟩. ⟨tel-00538536⟩
290 Consultations
1156 Téléchargements

Partager

Gmail Facebook X LinkedIn More