Model driven architecture

Un article de Wikipédia, l'encyclopédie libre.

L'architecture dirigée par les modèles ou MDA (pour l'Anglais Model Driven Architecture) est une démarche de réalisation de logiciel, proposée et soutenue par l'OMG. C'est une variante particulière de l'ingénierie dirigée par les modèles (IDM, ou MDE pour l'Anglais Model Driven Engineering). D'autres variantes de l'IDM ont été développées, par exemple par Microsoft (DSL Tools).

Le principe de base du MDA est l'élaboration de modèles indépendants de plate-formes (Platform Independent Model, PIM) et la transformation de ceux-ci en modèles dépendants de plates-formes(Platform Specific Model, PSM) pour l'implémentation concrète du système. Les techniques employées sont donc principalement des techniques de modélisation et des techniques de transformation de modèles.

Un exemple typique est la génération automatique de code à partir d'une modélisation UML, qui suppose de combiner :

  • le standard UML, et l'outil de modélisation qui l'implémente (ex: Rose, Together)
  • des templates de génération UML->code source, et l'outil de génération de code qui s'appuie dessus
  • le tout intégré dans une 'chaîne' de production

Il n'est bien sûr pas requis que TOUT le code soit généré automatiquement, mais l'architecture globale du système (ex: squelettes de code) au moins doit être obtenue ainsi.

La traduction entre le PIM et les PSM est normalement effectuée à l'aide d'outils automatisés, par exemple des transformations de modèles réalisées avec des outils plus ou moins compatibles avec le standard de l'OMG nommé QVT.

Le passage du PSM à la génération du code est la suite logique de ce traitement. Elle peut être réalisée par des générateurs tels que ceux-ci afin de produire tout type de cibles technologiques.

Les travaux actuels autour du MDA tendent à renforcer les prérogatives des modèles et des métamodèles, avec l'utilisation de métadonnées.[1].

Sommaire

[modifier] Références

  1. http://idm.imag.fr/idm05/documents/23/23.pdf Un procédé de validation des métamodèles par les métadonnées

[modifier] Liens externes

[modifier] Bibliographie

[modifier] Concepts voisins

[modifier] Outils MDA