You are on page 1of 7

1.

Introduction :
Les socits de lindustrie de dveloppement du logiciel doivent rduire leurs cots de dveloppement ainsi que leurs cots de maintenance mais les systmes dvelopps deviennent de plus en plus complexes. Pour faire face la complexit de dveloppement de logiciel, on voit beaucoup de progrs du changement dans notre faon de dvelopper un logiciel. On change de langage assembly langage procdural et puis langage orient objet. On utilise des patrons de conception, des middlewares, lapproche base composant. Et tout rcemment, une nouvelle mthode de dveloppement du logiciel qui sappelle MDA (Model- Driven Architecture) apparat comme une solution pour faire face la complexit de logiciel.
2.

Quest-ce que MDA?

MDA est une approche de dveloppement du logiciel, propose par lOMG (Object Management Group) depuis 2001, qui se base sur les modles. Lobjectif majeur de MDA est llaboration de modles prennes, indpendant des dtails techniques des plates-formes dexcution (J2EE, .Net, PHP ou autre), afin de permettre la gnration automatique de la totalit du code des applications et dobtenir un gain significatif de productivit. Le principe de base du MDA est l'laboration de diffrents modles, en partant d'un modle mtier indpendant de l'informatisation (Computation Independent Model, CIM), la transformation de celui-ci en modle indpendant de la plateforme (Platform Independent Model, PIM) et enfin la transformation de ce dernier en modle spcifique la plate-forme cible (Platform Specific Model, PSM) pour l'implmentation concrte du systme. Les PSMs peuvent utiliser des langages spcifiques un domaine ou des langages gnralistes comme Java,. Les techniques employes dans le cadre de l'approche MDA sont donc principalement des techniques de modlisation et des techniques de transformation de modles.

3. Mise en oeuvre du MDA :


La dmarche MDA supporte toutes les tapes de dveloppement et standardise les passages de lune lautre. Elle peut se dcouper en quatre points les points 2 et 4 peuvent tre rpts un nombre indtermin de fois : la ralisation dun modle indpendant de toute plate-forme appel PIM pour Platform Independent Model . lenrichissement de ce modle par tapes successives.

le choix dune plate-forme de mise en oeuvre et la gnration du modle spcifique correspondant appel PSM pour Platform Specific Model . le raffinement de celui-ci jusqu obtention dune implantation excutable.

4. Larchitecture MDA :

Sur la Figure en dessus, larchitecture du MDA se dcoupe en quatre couches : Dans la premire couche, se trouvent les standard UML (Unified Modeling Language), MOF (Meta-Object Facility) et CWM (Common Warehouse Metamodel), Dans la couche suivante, se trouve aussi un standard XMI qui permet le dialogue entre les middlewares (Java, CORBA,.NET et web services). La troisime couche contient les services qui permettent de grer les vnements, la scurit, les rpertoires et les transactions. Enfin, la dernire couche propose des Framework adaptables diffrents types dapplications savoir finances, tlcommunication, transports, espace, mdecine, commerce lectronique et de fabrication,) Le principe cl de MDA consiste en lutilisation de modles aux diffrentes phases du cycle de dveloppement dune application. Plus prcisment, MDA prconise llaboration de: Modles dexigences (CIM Computation Independent Model), Modles danalyse et de conception (PIM Platform independent model). Modles de code (PSM Platform Specific Model).

5. Modles de MDA :
Le MDA est compos de plusieurs modles, descriptions abstraites dune entit du monde rel utilisant un formalisme donn qui vont servir dans un premier temps modliser lapplication, puis par transformations successives gnrer du code. Aujourdhui, la frontire entre les diffrents modles nest pas encore bien explicite, ni formalise. Nanmoins, il est possible de donner une description de chacun deux : 5.1 Modle dexigence CIM (Computation Independent Model) : Selon OMG, le CIM est indpendant de tout systme informatique. Cest le modle mtier ou le modle du domaine dapplication. Le CIM permet la vision du systme dans lenvironnement o il oprera, mais sans rentrer dans le dtail de la structure du systme, ni de son implmentation. Il aide reprsenter ce que le systme devra exactement faire. Il est utile, non seulement comme aide pour comprendre un problme, mais galement comme source de vocabulaire partag avec d'autres modles. Lindpendance technique de ce modle lui permet de garder tout son intrt au cours du temps et il est modifi uniquement si les connaissances ou les besoins mtier changent. Le savoir faire est recentr sur la spcification CIM au lieu de la technologie dimplmentation. Avec UML, un modle dexigences peut se rsumer un diagramme de cas dutilisation .Ces derniers contiennent en effet les fonctionnalits fournies par lapplication (cas dutilisation) ainsi que les diffrentes entits qui interagissent avec elle (acteurs) sans apporter dinformation sur le fonctionnement de lapplication 5.2 Modles danalyse et de conception abstraite PIM (Platform Independent Model) : Selon OMG, le PIM est indpendant de toute plate-forme technique (EJB, CORBA, .NET,) et ne contient pas dinformations sur les technologies qui seront utilises pour dployer lapplication. Cest un modle informatique qui reprsente une vue partielle dun CIM. Le PIM reprsente la logique mtier spcifique au systme ou le modle de conception. Il reprsente le fonctionnement des entits et des services. Il doit tre prenne et durer au cours du temps. Il dcrit le systme, mais ne montre pas les dtails de son utilisation sur la plate-forme. A ce niveau, le formalisme utilis pour exprimer un PIM est un diagramme de classes en UML qui peut-tre coupl avec un langage de contrainte comme OCL (Object Constraint Language). Il existe plusieurs niveaux de PIM. Le PIM peut contenir des informations sur la persistance, les transactions, la scurit, Ces concepts permettent de transformer plus prcisment le modle PIM vers le modle PSM.

UML est prconis par lapproche MDA comme tant le langage utiliser pour raliser des modles danalyse et de conception indpendants des plates-formes dimplmentation. Cest pourquoi dans le vocabulaire MDA ces modles sont appels des PIM (Platform Independent Model) et aujourdhui, le langage UML sest impos comme la rfrence pour raliser tous les modles danalyse et de conception. Prcisons que MDA ne fait que prconiser lutilisation dUML et quil nexclut pas que dautres langages puissent tre utiliss. De plus, MDA ne donne aucune indication quant au nombre de modles laborer ni quant la mthode utiliser pour laborer ces PIM .Quels que soient le ou les langages utiliss, le rle des modles danalyse et de conception est dtre prennes et de faire le lien entre le modle dexigences et le code de lapplication. Ces modles doivent par ailleurs tre productifs puisquils constituent le socle de tout le processus de gnration de code dfini par MDA. La productivit des PIM signifie quils doivent tre suffisamment prcis et contenir suffisamment dinformation pour quune gnration automatique de code soit envisageable.

Exemple de Le modle PIM 5.3 Modles de code Spcifique Model) : ou de conception concrte PSM (Platform

Selon OMG, le PSM est dpendant de la plate-forme technique spcifie par larchitecte. Une fois les modles danalyse et de conception raliss, le travail de gnration de code peut commencer. Cette phase, la plus dlicate du MDA, doit elle aussi utiliser des modles. Le PSM sert essentiellement de base la gnration de code excutable vers la ou les plates-formes techniques. Le PSM dcrit comment le systme utilisera cette ou ces plates-formes. Il existe plusieurs niveaux de PSM. Le premier, issu de la transformation dun PIM, se reprsente par un schma UML spcifique une plateforme. Les autres PSM sont obtenus par transformations successives jusqu lobtention du code dans un langage spcifique (Java, C++, C#, etc.) Un PSM dimplmentation contiendra par exemple des informations comme le code du

programme, les types pour limplmentation, les programmes lis, les descripteurs de dploiement.

Exemple de Le modle PSM


5.4 PDM (Plateform Description Model) :

Cette notion nest pas encore bien dfinie par lOMG, pour linstant il sagit plus dune piste de recherche. Un PDM contient des informations pour la transformation de modles vers une plate-forme en particulier et il est spcifique de celle -ci. Cest un modle de transformation qui va permettre le passage du PIM vers le PSM.

6. La transformation des modles du MDA :


Le MDA identifie plusieurs transformations pendant le cycle de dveloppement. Il est possible de faire quatre types de transformations diffrentes :
PIM 2 PSM 4 3 1

6.1 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. Cependant, ces transformations ne sont pas toujours automatisables. Le fait de passer dun PIM un autre PIM est appel raffinement . Ce processus consiste introduire des dtails supplmentaires dans le modle. Il est aussi utilis pour le passage de PSM PSM. 6.2 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 6.3 De PSM vers PSM : 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 (raffinement) seffectue lors de phases de dploiement, doptimisation ou de reconfiguration. 6.4 De PSM vers PIM : Cette transformation est utilise pour revenir un modle indpendant de plateforme (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.

7. Les avantages de la MDA :


Il ya plusieurs avantage utiliser lapproche MDA , aves les plus importants tant : Une architecture base sur le MDA est toujours prt faire face d'hier, d'aujourd'hui et de demain. Le MDA il sera plus facile d'intgrer des applications et des installations travers les limites du middleware. les installations du domaine dfini dans le MDA par les forces de l'OMG tche de domaine sera assurer l'interoprabilit beaucoup plus large en tant toujours disponible sur un domaine de plate-forme prfre , et sur de multiple s plateforme chaque fois quil ya besoin La prennisation du logique mtier de lentreprise grce llaboration de modles, afin de permettre aux entreprises de capitaliser sur leur mtier sans avoir se soucier de la technique. La productivit: permet aux dveloppeurs, architectes, aux administrateurs de systmes dutiliser un langage et des concepts communs facilitant la communication et lintgration travers les quipes La prise en compte des plates-formes dexcution grce lintgration de celles-ci dans les transformations de modles Portabilit Augmente la rutilisation Rduit les cots et la complexit du dveloppement et la gestion de systme La plus grande facilit d'intgration des applications et des systmes autour d'une architecture partage.