CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE RÉGIONAL ASSOCIÉ DE NANTES __

CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE RÉGIONAL ASSOCIÉ DE NANTES ___________ MÉMOIRE présenté en vue d'obtenir l'EXAMEN PROBATOIRE en INFORMATIQUE par Jacques BARZIC ___________ Sujet Model Driven Architecture (MDA) Soutenu le 2 février 2007 JURY Présidente : Élisabeth METAIS, professeur au CNAM Paris Responsable du cycle : Henry BRIAND, professeur à l'EPUN Émetteur du sujet : Claude BELLEIL, professeur à l'Université de Nantes Note : cette version du mémoire est celle que j'ai livrée au CNAM et qui a servi à mon évaluation de probatoire (note : 14/20). Chacun doit l'utiliser avec l'esprit critique nécessaire et indispensable. « Si votre seul outil est un marteau, tous les problèmes, pour vous, ressembleront à des clous. » Mark Twain. « Le modèle est essentiel à l'acquisition d'une compétence professionnelle, mais il peut aussi emprisonner celui qui le suit à la lettre » [LESCARBEAU et al. 2003] Probatoire informatique : Model Driven Architecture (MDA) 3 Le sujet Sujet proposé par Claude Belleil claude.belleil@univ-nantes.fr Université de Nantes Model Driven Architecture Le Model Driven Architecture (MDA) est une démarche de développement proposée par l’OMG. Elle permet de séparer les spécifications fonctionnelles d’un système des spécifications de son implémentation sur une plate-forme donnée. A cette fin, le MDA définit une architecture de spécifications structurée en modèles indépendants des plates-formes (PIM) et en modèles spécifiques (PSM). L’approche MDA permet de réaliser le même modèle sur plusieurs plates-formes grâce à des projections standardisées. Elle permet aux applications d’interopérer en reliant leurs modèles et supporte l’évolution des plates-formes et des techniques. La mise en œuvre du MDA est entièrement basée sur les modèles et leurs transformations. L’OMG voulait faire de CORBA «LE» middleware, mais aujourd’hui, il est loin d’être le seul à être utilisé. D’autres comme EJB ou .NET sont largement répandus. C’est en partant de cette observation que l’OMG s’est engagé sur la voie du MDA, afin de résoudre les problèmes d’interopérabilité et de portabilité dès le niveau modélisation. Le MDA se veut donc indépendant de toute plate-forme et de tout système, il permet de concevoir des applications portables au niveau des langages de programmation, des systèmes d’exploitation mais aussi des middlewares. Cette indépendance totale doit permettre de changer d’infrastructure sans perdre ce qui a déjà été conçu. Cette approche permet ainsi de capitaliser le travail effectué pendant les phases d’analyse et de conception. Le logo du MDA (ci-dessus) représente les différentes couches de spécification. Au cœur se trouvent les techniques (UML, MOF, CWM), autour, quelques-unes des plates-formes supportées, en surface les services systèmes et enfin à l’extérieur les domaines pour lesquels des composants métiers doivent être définis (Domain Facilities). Ces services (aussi bien systèmes que métiers) doivent être disponibles dès les premières phases de modélisation, c’est pourquoi ils doivent faire partie des spécifications du MDA. L’auditeur s’attachera à présenter les principales fonctionnalités de cette méthode en illustrant son propos par des exemples originaux. http://www.omg.org/mda/ Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 4 Table des matières Le sujet............................................................................................................................ 3 Index des illustrations................................................................................................... 6 Liste des abréviations................................................................................................... 7 Avertissement................................................................................................................. 8 Introduction.................................................................................................................... 9 1ère Partie : méta-méta-modèle, méta-modèle, modèle, système, transformation ? IDM, au secours ! !....................................................................................................... 11 1. Généralités à propos de l'IDM...........................................................................................11 2. Les concepts socles de l'IDM..............................................................................................11 2.1. Le système.....................................................................................................................11 2.2. Le langage......................................................................................................................12 2.3. Le modèle......................................................................................................................13 2.4. Le méta-modèle.............................................................................................................14 2.5. Le méta-méta-modèle....................................................................................................14 2.6. La transformation.......................................................................................................... 15 3. Conclusion............................................................................................................................16 2ème Partie : Model Driven Architecture, approche pour les architectes fabricateurs ?............................................................................................................... 17 1. Introduction.........................................................................................................................17 2. Le schéma général de MDA................................................................................................18 3. Point de vue de l'utilisateur – Computation Independent Model (CIM).......................19 3.1. Objectif..........................................................................................................................19 3.2. Illustration : le « Portillon »...........................................................................................20 4. Point de vue de l'analyste - Platform Independent Model (PIM)...................................20 4.1. Objectif et standard socle (UML)..................................................................................20 4.2. Organisation et standards complémentaires (OCL, AS)............................................... 21 4.2.1 Principe pour la réalisation.....................................................................................21 4.2.2 Les vues de l'architecture couvertes........................................................................21 4.2.3 Les modèles pertinents............................................................................................21 4.3. Illustration : le « Portillon » (suite)................................................................................22 4.3.1 Les composants.......................................................................................................22 4.3.2 Un diagramme de séquence....................................................................................23 4.3.3 Un composant.........................................................................................................24 4.3.4 Rendre plus productif les modèles UML : OCL et AS...........................................24 5. La plate-forme d'exécution – Platform Description Model (PDM)................................26 5.1. Choix de la plate-forme.................................................................................................26 5.2. Modélisation de la plate-forme......................................................................................27 5.3. On se passe du méta-modèle du modèle de la plate-forme........................................... 27 6. La transformation...............................................................................................................28 6.1. Généralités.....................................................................................................................28 6.2. Le passage du PIM au PSM...........................................................................................29 Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 5 6.2.1 Description globale.................................................................................................29 6.2.2 Modélisation des règles de transformation : le mapping........................................30 6.2.3 Construction d'un modèle intermédiaire : le PIM marqué......................................32 6.2.4 Exécution de la transformation...............................................................................32 7. Point de vue du concepteur – Platform Specific Model (PSM).......................................32 8. À propos des standards utilisés par MDA........................................................................ 33 8.1. Les autres standards de MDA........................................................................................33 8.1.1 CWM (Commun Warehouse Metamodel)..............................................................33 8.1.2 XMI (XML Metadata Interchange).........................................................................33 8.1.3 Les profils UML..................................................................................................... 34 8.2. En guise de conclusion .................................................................................................35 3ème Partie : les outils pour MDA.............................................................................. 37 1. Généralités........................................................................................................................... 37 2. Une grille d'analyse des outils............................................................................................37 2.1. Pour la modélisation......................................................................................................37 2.2. Pour les transformations................................................................................................38 2.3. Pour la génération du code............................................................................................ 38 2.4. Pour le référentiel socle.................................................................................................39 3. Synthèse................................................................................................................................39 Conclusion.................................................................................................................... 40 1. MDA = nouveau paradigme actif et/ou utopie ?.............................................................. 40 1.1. Une réponse institutionnelle : les technologies clés pour 2010.....................................40 1.2. Une réponse méthodologique : MDA............................................................................40 1.3. Une réponse organisationnelle : une mutation.............................................................. 41 2. Café-Philo (ou philosophie de comptoir ?)........................................................................42 Bibliographie................................................................................................................ 43 Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 6 Index des illustrations Illustration 1 - La pile de modélisation de l'OMG (inspiration [BEZIVIN 2003])....................... 12 Illustration 2 - Le cycle en Y de MDA (inspiration [BEZIVIN 2003])..........................................18 Illustration 3 - CIM du "Portillon"................................................................................................20 Illustration 4 - PIM du "Portillon" - Les Composants.................................................................. 22 Illustration 5 - PIM du "Portillon" – Diagramme de séquence : Création de Planning..............23 Illustration 6 - PIM du "Portillon" - Diagramme de classes : Messagerie ..................................24 Illustration 7 - Le cycle en Y de MDA, adapté (inspiration [BEZIVIN 2003])............................. 27 Illustration 8 : Opérations de transformation sur les modèles MDA [BEZIVIN-BLANC 2002]..28 Illustration 9 - Le cycle en Y de MDA, adapté et complet (inspiration [BEZIVIN 2003])............29 Illustration 10 - Les classes modélisant un groupe d'apprentis.................................................... 30 Illustration 11 - Le MCD d'un groupe d'apprentis........................................................................30 Illustration 12 - La ronde des standards MDA..............................................................................35 Illustration 13 - Intégration d'outils pour MDA [KADIMA 2005]................................................38 Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 7 Liste des abréviations AS : Action Semantics (Sémantiques de l'Action). ATL : Atlas Transformation Language (Langage de Transformation du projet Atlas). BI : Business Intelligence (Informatique Décisionnelle). CIM : Computation Independent Model ( Modèle Indépendant de l'Informatisation). CORBA : Common Object Request Broker : Architecture and Specifications (Architecture et Spécifications pour la Mise à Disposition et la Requête sur des Objets Partagés). CWM : Commun Warehouse Metamodel (Méta-modèle Commun aux Entrepôts de Données). EDOC : Enterprise Distributed Object Computing (Informatique d'Entreprise à Objets Distribués). GMF : Graphical Modeling Framework (Cadre pour la modélisation Graphique) – Projet Eclipse. IDM : Ingénierie Dirigée par les Modèles. J2EE : Java 2 Enterprise Edition (Édition Entreprise de Java 2). MDA : Model Driven Architecture (Architecture Dirigée par les Modèles). MDE : Model Driven Engineering (voir l'équivalent en français IDM). MOA : Maîtrise d'OuvrAge. MOE : Maîtrise d'OEuvre. MOF : Meta Object Facility (Service Méta-Objet). OCL : Object Constraint Language (Langage de Contraintes sur les Objets). OMG : Object Management Group (groupe de standardisation des technologies objet). PIM : Platform Independent Model (Modèle Indépendant de la Plate-forme). PM : Platform Model (Modèle de la Plate-forme). PDM : Platform Description Model (Modèle de Description de la Plate-forme). PSM : Platform Specific Model (Modèle Spécifique à la Plate-forme). QVT : Query, View, Transformation (Demande, Vue, Transformation) UML : Unified Modeling Language (Langage de Modélisation Unifié). XMI : XML Metadata Interchange (Echange de Méta-données en XML). XML : eXtensible Markup Language (Langage à Balises eXtensible). Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 8 Avertissement De nombreux termes de ce mémoire sont mentionnés en langue anglaise. Bien que, dans la plupart des cas, une traduction en français soit possible, les termes anglais sont tout de même utilisés : • soit pour faire le lien avec les documents sources. Dans ce cas la traduction française apparaît après la première apparition du terme, • soit parce que la traduction (par une expression courte) dénaturerait le concept désigné. Dans ce cas, seule l'expression anglaise est utilisée. Les mots ou expressions en langue anglaise sont écrits en italique. Jacques Barzic janvier 2008 - prob_mda_4.0 Probatoire informatique : Model Driven Architecture (MDA) 9 Introduction On aurait pu penser initialement que la technologie objet constituerait un aboutissement. C'était au contraire un point de départ pour une nouvelle migration technologique [BEVIZIN 2004]. Un des chemins possibles pour cette migration est d'adopter un nouveau paradigme : le tout modèle après le tout objet. Avec cette nouvelle donne, une discipline a vu le jour : le MDE (Model Driven Engineering) ou l'IDM (Ingénierie Dirigée par les Modèles). C'est dans ce contexte, en novembre 2000, uploads/Ingenierie_Lourd/ mda.pdf

  • 11
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager