Dppartement Informatique Master ISI Ralis par : M. El Hafed MAJID M. Fouad AALLOUCHE Encadr par : M. My Mouslim 2012 - 2013 1 2 PLAN GENERAL PARTIE 1 : MDA (Model Driven Architecture).
PARTIE 2 : ATL (Atlas Transformation Language).
PARTIE 3 : ETUDE DE CAS .
PARTIE 4 : CONCLUSION . PARTIE 1 : MDA (Model Driven Architecture). SOLUTION PROBLMATIQUE MODLE OU SYSTME PASSAGE DE LOMA AU MDA OBJET OU MODLE ? LES STANDARDS DE L'OMG UTILISES LA TRANSFORMATION DES MODLES DU MDA LES DIFFRENTS MODLES DU MDA MDA Model Driven Architecture LES FORCES DE MDA LES FAIBLESSES DE MDA LES MYTHES AUTOUR DE MDA CONCLUSION Lhistoire des systmes dinformation a connu de nombreuses volutions Les langages de programmation (procduraux et fonctionnels, vnementiels, orients objet, services web...) Les middleware (propritaires, Corba,.) Les mthodes de conception ( Merise, les mthodes orientes objet...). Lors dune migration dune infrastructure vers une nouvelle technologie, la logique mtier de lapplication reste globalement la mme. Il est donc vident de tenter de diffrencier larchitecture technique dpendant de la technologie utilise de celle de la logique mtier. Lintrt est de favoriser l volutivit, la rduction de cot et linteroprabilit. Problmatique Le SI prend de plus en plus de place : Comment le dcrire ? Comment le faire voluer ? Le SI se complexifie : Le volume des donnes et du code augmente Les types dinformations prendre en compte sont varies Les plates-formes dexcution voluent rapidement Problmatique Modl i s er l appl i cat i on i ndpendamment de l a pl at e -f or me
Solution OBJET OU MODLE ? Le tout est objet a connu ses limites : Les applications ne sont pas objets Les patrons ne sont pas des objets Un service nest pas un objet Ltude des besoins nest pas objet Cas dutilisation : tude dune fonction, dun processus PASSAGE DE LOMA AU MDA OMA : Object Management Architecture MDA : Model Driven Architecture Objectif : Sabstraire de limplmentation Se focaliser sur le modle La ralit des industriels : La logique mtier est stable Lvolution des systmes, des plateformes est constante Les migrations cotent chre sans de rel retour sur investissement Les objectifs Construire des modles abstraits de leur mtier et des services associs Les fournisseurs de plate-forme doivent mettre disposition les outils de transformation des modles vers leur plateforme PASSAGE DE LOMA AU MDA Construire des modles de rfrences Utiliser des mta modles adapts pour construire ces modles Exemple : UML : gnie logiciel CWM : gnie des donnes EDOC : modlisation entreprise ... Les objectifs PASSAGE DE LOMA AU MDA Notion de modle Un modle est une image simplifie dun systme Un modle est une reprsentation dun systme Notion de systme Ensemble organis d'lments intellectuels. Un systme est un ensemble dlments en interaction MODLE OU SYSTME Le MDA est un mta-modle de composants. dfinit une reprsentation de larchitecture abstraite et indpendante de la plate-forme technique, tout en lui associant une multitude de services mtiers. Lobjectif du MDA est la cration dune reprsentation UML de la logique mtier et de lui associer des caractristiques MDA . MDA La migration dune application dune infrastructure une autre consiste ainsi demander, du modle MDA de la logique mtier, une gnration du modle spcifique la nouvelle infrastructure cible MDA Le noyau de larchitecture de MDA est bas sur des standards de lOMG tels que UML, MOF, CWM et XMI. Lanneau autour reprsente les technologies middleware. Nous y retrouvons les standards actuels tels que les EIB, CORBA, .net et les Services Web. Lanneau extrieur au cercle reprsente les services. MDA LES DIFFRENTS MODLES DU MDA CIM Le CIM est labrviation anglaise de Computation Independent Model. Les exigences du systme sont modlises dans ce modle qui dcrit la situation dans laquelle le systme sera utilis. Un tel modle est parfois appel Business Model ou Domain Model cest--dire un modle de lentreprise. Il ne montre pas les dtails de la structure du systme. Typiquement ce modle est indpendant de limplmentation du systme. Le CIM correspond la modlisation de lentreprise sans parler encore de systme informatique. PIM Le terme PIM est lacronyme de Platform Independent Model soit le modle indpendant de la plate-forme. Il dcrit le systme mais ne montre pas les dtails de son utilisation sur la plate-forme. Ce modle est concrtement reprsent par un diagramme de classes en UML. LES DIFFRENTS MODLES DU MDA PSM Le PSM, pour Platform Specific Model, est, quant lui, un modle dpendant de la plate-forme technique. Ce type de modle sert essentiellement de base la gnration de code excutable. Il dcrit aussi comment ce systme utilisera la plate-forme choisie. LES DIFFRENTS MODLES DU MDA PDM Ce modle est dsign par lacronyme Plateform Description Model. Il correspond un modle de transformation du PIM vers un PSM dimplmentation. Larchitecte doit choisir une ou plusieurs plate- forme pour limplmentation du systme avec les qualits architecturales dsires. Il reprsente les particularits de chaque plate-forme. LES DIFFRENTS MODLES DU MDA LES DIFFRENTS MODLES DU MDA LA TRANSFORMATION DES MODLES DU MDA De PIM vers PIM Ces transformations sont utilises pour enrichir, filtrer ou spcialiser les informations des modles sans rajouter aucune information lie la plate-forme. Un exemple de transformation PIM vers PIM est de masquer des lments afin de sabstraire des dtails fonctionnels. Un autre exemple est le passage du modle danalyse celui de conception De PIM vers PSM Un fois le PIM suffisamment raffin pour pouvoir tre spcialis vers une plate-forme donne, il peut alors tre transform en PSM. Cette opration consiste ajouter au PIM des informations propres une plate-forme technique. Les principales plates-formes vises sont J2EE, .NET ou CORBA, ...Cest le PDM qui contient les caractristiques de transformation. Il est alors possible de passer dun modle indpendant un modle dpendant. Les rgles de transformation devront tre gnralises et capitalises pour obtenir dans le futur une automatisation importante LA TRANSFORMATION DES MODLES DU MDA Une transformation PIM vers PSM nest pas toujours suffisante pour permettre la gnration de code do la ncessit de passer de PSM PSM en utilisant des formalismes intermdiaires. Par exemple, pour gnrer un code C++, partir dun formalisme en UML, un passage dUML vers SDL (Specification and Description Language) puis de SDL vers C++ pourrait tre utilis.
La transformation PSM PSM seffectue lors de phases de dploiement, doptimisation ou de reconfiguration De PSM vers PSM LA TRANSFORMATION DES MODLES DU MDA Cette transformation est utilise pour revenir un modle indpendant de plate-forme (PIM) partir dun modle spcifique de plate-forme (PSM) ou ventuellement du code. Cest une opration de rtro-ingnierie (reverse engineering) qui est assez complexe raliser et difficilement automatisable. Ces transformations sont nanmoins ncessaires pour permettre lintgration dapplications existantes dans le processus MDA De PSM vers PIM LA TRANSFORMATION DES MODLES DU MDA LA TRANSFORMATION DES MODLES DU MDA MOF : Meta Object Facility Permet dexprimer les formalismes de modlisation (mta modles) s'intressant la reprsentation des mta modles et leur manipulation. M3: le mta-mtamodle ; M2: les mta-modles ; M1: les modles ; M0: le monde rel. Les standards de l' OMG utilises Le niveau M1 (ou modle) est compos de modles dinformation. Il dcrit les informations de M0. Les modles UML, les PIM et les PSM appartiennent ce niveau. Les modles M1 sont des instances de mta-modle de M2. Le niveau M0 (ou instance) correspond au monde rel. Ce sont les informations relles de lutilisateur, instance du modle de M1.
MOF : Meta Object Facility Les standards de l' OMG utilises Le niveau M3 (ou mta-mta-modle) est compos dune unique entit qui sappelle le MOF. Le MOF permet de dcrire la structure des mta-modles, dtendre ou de modifier les mta-modles existants. Le MOF est rflexif, il se dcrit lui-mme. Le niveau M2 (ou mta-modle), il dfinit le langage de modlisation et la grammaire de reprsentation des modles M1. Le mta-modle UML qui est dcrit dans le standard UML, et qui dfinit la structure interne des modles UML, fait partie de ce niveau. Les mta-modles sont des instances du MOF. MOF : Meta Object Facility Les standards de l' OMG utilises MOF : Meta Object Facility Les standards de l' OMG utilises MOF : Meta Object Facility Les standards de l' OMG utilises Exemple : Un diagramme de cas dutilisation dcrit lutilisation dun systme. Il contient des acteurs, un systme et des cas dutilisation. Un acteur a un nom et est reli aux cas dutilisation. Un acteur peut hriter dun autre acteur. Un cas dutilisation a un intitul et peut tendre ou inclure un autre cas dutilisation. Le systme a lui aussi un nom, et il inclut tous les cas dutilisation. Exemple de Mtamodle MOF : Meta Object Facility Les standards de l' OMG utilises MOF : Meta Object Facility Les standards de l' OMG utilises UML est devenu le standard de modlisation des logiciels objets. Il permet la modlisation darchitectures, de structure dobjets, dinteractions entre ces objets, de donnes, de composants, . . . Le MDA prconise lutilisation dUML pour llaboration des modles aprs la sortie de la version 2.0 qui contient des concepts renfoncs pour les composants et s'intgrera plus facilement dans le MDA. Un des aspects intressants d UML est le concept de profils. C'est adapter UML un domaine qui tait souvent mal couvert
Par exemple le profil EJB permet llaboration de PSM pour la plate-forme EJB UML : Unified Modeling Language Les standards de l' OMG utilises CWM : Common Warehouse Metamodel CWM est le standard de lOMG qui traite des entrepts de donnes. Il couvre toutes les tapes ncessaires llaboration, la cration et la transformation des entrepts de donnes. Lapproche prconise par ce standard pour la migration est une approche MDA. Cest-- dire la cration de modles et leurs transformations.
CWM dfinit les mta-modles des principaux types dentrepts de donnes (Relationnel, Objet, XML,. . .) et propose des rgles de transformation entre ceux-ci. Les standards de l' OMG utilises XMI : XML Metadata Interchange XMI est le standard de lOMG qui fait la jonction entre le monde des modles et le monde XML. XMI se base sur le MOF. Il permet la gnration de DTD et de schmas XML partir de mta- modles. Lapplication la plus connue de XMI est celle qui a permis la construction de la DTD UML. Cette dernire permet la reprsentation des modles UML sous forme de documents XML et assure ainsi les changes de modles UML entre les diffrents outils du march. Le standard XMI de srialisation des modles compatibles avec MOF est en cours de stabilisation et son utilisation devient incontournable dans les outils industriels. Les standards de l' OMG utiliss LES AVANTAGES DE MDA Des systmes interoprables favorisant lhtrognit des plate-formes Aucun plate-forme ne peut grer lensemble de linteroprabilit du rseau les diteurs de logiciels peuvent rendre rapidement disponible leurs produits pour diffrentes plates-formes et en dveloppant linteroprabilit avec les systmes existants grce la dmarche de MDA. linteroprabilit dune plate-forme Faciliter les transactions internes ou interentreprises Le choix de la plate-forme technique la mieux adapte Un dveloppement plus rapide et des logiciels de meilleure qualit Les architectes et les concepteurs peuvent se focaliser exclusivement sur le dtail de la logique mtier. Ils travailleront le modle jusqu obtenir exactement ce qui est spcifi dans le cahier des charges. Si un aspect de limplmentation ne fonctionne pas correctement, il est facile de savoir sil sagit dune erreur comportementale sur le modle mtier ou dune faute dans le code. LES AVANTAGES DE MDA LES FAIBLESSES DE MDA la technologie cible change trop rapidement Le MDA est trop compliqu avoir les comptences pour modliser compltement des systmes LES MYTHES AUTOUR DE MDA Lindpendance totale de plate-forme Indpendance des systmes dexploitation et des langages de programmation. La gnration automatique et complte du code partir de modles en rgle gnrale, il est possible de gnrer un code partir dun modle seulement si linformation ncessaire sa gnration est prsente dans le modle. Dans ltat actuel de lingnierie de modles et de MDA, il nest pas possible de gnrer lintgralit du code, puis les modles ne dfinissent pas la smantique et la logique avec un niveau de dtail suffisant.
40 Pour rsoudre ce problme, lOMG propose lutilisation des actions smantiques de UML 2.0 Laction smantique est une proposition qui prsente des aspects positifs, mais elle est encore trs rcente et peu exprimente pour assurer que son utilisation va permettre la gnration de lintgralit du code dans une approche MDA LES MYTHES AUTOUR DE MDA 41 La dmarche MDA, bien quassez rcente, suscite un rel intrt chez bon nombre dindustriels et de dveloppeurs. En effet, cette dmarche est prometteuse et rpond des attentes lgitimes non combles par les technologies objet ou composant. Elle autorise la sparation de la logique mtier de lentreprise de son implmentation physique. Cette nouvelle approche bouleverse compltement notre faon de concevoir une application et ouvre de nouveaux horizons pour le gnie logiciel qui ne sera plus dpendant des volutions technologiques. Conclusion 42 PARTIE 2 : ATL (Atlas Transformation Language). JKHFJHVJFHG PARTIE 3 : ETUDE DE CAS .
Simple non multivalue, Diagramme De Classe , Complexe non multivalue, Complexe multivalue, Relation 0. . 1 , 0. . 1, Relation 1. . 1 , 1. . 1, Relation 0. . 1 , 1. . 1, Relation 1 , n,
Relation n , n, Diagramme De Classe Simple non multi value Complexe non multivalue Complexe multivalue Relation 0..1 , 0..1 Relation 1..1 , 1..1 Relation 0..1 , 1..1 Relation 1 , n Relation n , n Relation dHritage