CENTRE RÉGIONAL ASSOCIÉ DE NANTES MÉMOIRE. présenté en vue d'obtenir. l'examen PROBATOIRE. en INFORMATIQUE. par. Jacques BARZIC.

Dimension: px
Commencer à balayer dès la page:

Download "CENTRE RÉGIONAL ASSOCIÉ DE NANTES MÉMOIRE. présenté en vue d'obtenir. l'examen PROBATOIRE. en INFORMATIQUE. par. Jacques BARZIC."

Transcription

1 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.

2 «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]

3 Probatoire informatique : Model Driven Architecture (MDA) 3 Sujet proposé par Claude Belleil claude.belleil@univ-nantes.fr Université de Nantes Le sujet 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.

4 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 ère Partie : méta-méta-modèle, méta-modèle, modèle, système, transformation? IDM, au secours!! Généralités à propos de l'idm Les concepts socles de l'idm Le système Le langage Le modèle Le méta-modèle Le méta-méta-modèle La transformation Conclusion ème Partie : Model Driven Architecture, approche pour les architectes fabricateurs? Introduction Le schéma général de MDA Point de vue de l'utilisateur Computation Independent Model (CIM) Objectif Illustration : le «Portillon» Point de vue de l'analyste - Platform Independent Model (PIM) Objectif et standard socle (UML) Organisation et standards complémentaires (OCL, AS) Principe pour la réalisation Les vues de l'architecture couvertes Les modèles pertinents Illustration : le «Portillon» (suite) Les composants Un diagramme de séquence Un composant Rendre plus productif les modèles UML : OCL et AS La plate-forme d'exécution Platform Description Model (PDM) Choix de la plate-forme Modélisation de la plate-forme On se passe du méta-modèle du modèle de la plate-forme La transformation Généralités Le passage du PIM au PSM...29

5 Probatoire informatique : Model Driven Architecture (MDA) Description globale Modélisation des règles de transformation : le mapping Construction d'un modèle intermédiaire : le PIM marqué Exécution de la transformation Point de vue du concepteur Platform Specific Model (PSM) À propos des standards utilisés par MDA Les autres standards de MDA CWM (Commun Warehouse Metamodel) XMI (XML Metadata Interchange) Les profils UML En guise de conclusion ème Partie : les outils pour MDA Généralités Une grille d'analyse des outils Pour la modélisation Pour les transformations Pour la génération du code Pour le référentiel socle Synthèse...39 Conclusion MDA = nouveau paradigme actif et/ou utopie? Une réponse institutionnelle : les technologies clés pour Une réponse méthodologique : MDA Une réponse organisationnelle : une mutation Café-Philo (ou philosophie de comptoir?)...42 Bibliographie... 43

6 Probatoire informatique : Model Driven Architecture (MDA) 6 Index des illustrations Illustration 1 - La pile de modélisation de l'omg (inspiration [BEZIVIN 2003]) Illustration 2 - Le cycle en Y de MDA (inspiration [BEZIVIN 2003]) Illustration 3 - CIM du "Portillon"...20 Illustration 4 - PIM du "Portillon" - Les Composants 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]) 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 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

7 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).

8 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.

9 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, que l'omg (Object Management Group) a rendu publique son initiative nommée MDA (Model Driven Architecture). À ce stade, et en caricaturant, un informaticien quelque peu obscurantiste, pourrait dire : «voilà qu'ils nous ont encore ajouté un étage à la fusée. Je sortais à peine de l'intégration culturelle et méthodologique de l'uml (Unified Modeling Language) et il va falloir encore partir sur autre chose. Ah! Ces chercheurs n'ont que cela à faire!!» Nous allons, ici, tenter de recadrer un certain nombre de concepts qui, parfois, se télescopent, se mélangent ou semblent se concurrencer. Face à cet imbroglio, la réaction de notre informaticien anonyme (ci-dessus) s'explique car, contraint par la vie quotidienne, il n'a pas toujours l'occasion de prendre le recul nécessaire. Le propos de cette étude sera donc de participer à la lutte contre une certaine forme d obscurantisme. MDA se veut une approche méthodologique qui permet une optimisation des investissements liés aux développements d'applications informatiques [OMG-MDA 2006]. MDA reprend la philosophie générale de l'idm, la décline pour l'adaptation de modèles «métiers» à la plate-forme d'implémentation. MDA utilise des standards reconnus, ouverts (car ceux de l'omg) et éprouvés (car largement utilisés dans l'industrie du logiciel - cf. UML). Ces caractéristiques font-elles de MDA une démarche «réelle et sérieuse»?

10 Probatoire informatique : Model Driven Architecture (MDA) 10 La première partie de ce mémoire reprendra quelques concepts fondamentaux de l'ingénierie Dirigée par les Modèles. En effet, MDA est considérée comme une déclinaison de l'idm [BEVIZIN 2004] ou comme une simple collection de standards [FAVRE et al. 2006]. Il apparaît utile de généraliser, ici, des concepts qui sont utilisés par MDA. Une seconde partie traitera de la manière dont MDA décline ces concepts, pour en faire une approche qui permet de modéliser un système en se détachant de la plate-forme d'implémentation. Cela, le plus loin possible dans le cycle de développement. En toute logique, sera aussi abordé dans cette partie le processus de transformation de modèle, pierre angulaire de MDA. Enfin, la troisième partie participera à rassurer notre informaticien obscurantiste en faisant un zoom sur les outils de mise en oeuvre de l'approche MDA.

11 Probatoire informatique : Model Driven Architecture (MDA) 11 1 ère Partie : méta-méta-modèle, méta-modèle, modèle, système, transformation? IDM, au secours!! 1. Généralités à propos de l'idm Dans un contexte d'accroissement exponentiel de la complexité des systèmes informatiques, la modélisation de ces systèmes est devenue un enjeu majeur de la réussite des projets : bonne prise en compte du besoin fonctionnel, réduction des délais et des coûts par la réutilisation des conceptions et des liens avec le code et, enfin, souplesse nécessaire pour l'adaptation des applications aux différentes technologies actuelles ou futures. L'Ingénierie Dirigée par les Modèles (IDM), ou son équivalent en anglais Model Driven Engineering (MDE), est une approche du développement d'applications informatiques qui vise à mécaniser le processus que les ingénieurs expérimentés suivent à la main [WIKIPEDIA-FR 2006]. Pour cela, il s'agit de faire passer les modèles du statut contemplatif (utilisé pour la documentation, l'aide à la compréhension) au statut productif (automatisation de la génération de code à partir du modèle) [FAVRE et al. 2006]. L'IDM doit être vue comme une intégration, un prolongement, un renforcement d'approches déjà connues. Ce n'est pas une révolution mais une évolution qui puise dans l'existant [FAVRE et al. 2006]. En cela, notre informaticien obscurantiste de l'introduction doit déjà être rassuré sur l'impact «culturo-méthodologique» de ce genre d'approche : s'il a intégré les standards actuels de modélisation (UML en tête), il sait déjà presque tout! Le sujet de ce probatoire n'étant pas l'idm, nous nous contenterons, ici, de définir quelques-uns de ses concepts fondamentaux qui seront, dans la suite du document, repris et adaptés à la spécificité de MDA. 2. Les concepts socles de l'idm Sauf indication contraire, la référence pour cette section est [FAVRE et al. 2006] Le système Le système, au sens de l'idm, est ce que l'on désire modéliser. Il est le réel. Une typologie des systèmes est proposée : système physique (chien, maison, vélo,...), système digital (fichier, diagramme, logiciel,...), système abstrait (compte bancaire, cercle, cours,..).

12 Probatoire informatique : Model Driven Architecture (MDA) 12 Un système peut aussi être dynamique (changer dans le temps) ou statique (immuable, du moins dans une échelle de temps relativement grande). Le système se situe au niveau M0 de la pile classique à quatre niveaux de l'omg, représentée cidessous. Illustration 1 - La pile de modélisation de l'omg (inspiration [BEZIVIN 2003]) Les quatre niveaux de la pyramide représentent les niveaux taxinomiques d'une pile de modélisation. Les sections suivantes définiront leur rôle et les relations entre eux. Pour illustrer les concepts abordés dans cette partie, nous allons prendre comme exemple le système que constitue le présent mémoire de probatoire. On constate, au passage, qu'il est à ce stade difficile de le classer conformément à la typologie cidessus : à la fois physique (il pèse son poids!), digital (c'est un fichier manipulé par un traitement de texte), abstrait (il contient une vision du sujet abordé). Tout cela est une question de point de vue Le langage Du point de vue de l'idm, le langage est l'ensemble des systèmes de la même famille. Pour faire une analogie avec les langues, on peut dire que le langage français est l'ensemble des phrases rédigées dans cette langue. Exprimé d'une autre manière, le langage est le domaine du monde réel (M0) auquel appartient le système que l'on se propose d'étudier. Bien entendu, il appartient aux acteurs d'un projet, de s'entendre dès le départ sur la surface de ce domaine. Dans le cas de notre exemple, on considérera le langage comme l'ensemble des mémoires (de probatoire ou non) qui ont été, qui sont et qui seront rédigés par des auditeurs du CNAM.

13 Probatoire informatique : Model Driven Architecture (MDA) Le modèle Ici, plusieurs définitions se côtoient. Nous retiendrons celle qui semble couvrir le mieux notre propos (elle est prêtée à Bézivin et Gérbé par [FAVRE et al. 2006]). Un modèle est une simplification d'un système, construit avec une intention de comprendre le système en adoptant un point de vue défini. Le modèle répondra à des questions à propos du système. Dans son cours, [BEZIVIN 2003] précise cette définition : un modèle n'est qu'une représentation partielle (un aspect) du système (le réel), un système peut donc avoir plusieurs modèles. Le modèle se situe au niveau M1 de la pile OMG (voir Illustration 1). Pour illustrer ce qu'est un modèle, il est souvent fait référence à une carte géographique comme modèle d'un territoire terrestre. Cette illustration répond bien à la définition car : il y a représentation simplifiée du réel, on peut créer de nombreuses cartes pour répondre à d'aussi nombreuses questions : comment trouver son chemin? Quelles sont les rivières et leur parcours?... Si l'on désire modéliser ce mémoire de probatoire, on peut le faire de la manière suivante : Auteur : Statut de l'auteur : auditeur au CNAM de Nantes Type : Mémoire de probatoire CNAM Nombre de pages : 40 Titre : MDA (Model Driven Architecture) Table des matière : Introduction...1 1ère Partie : méta-méta-modèle, méta-modèle, modèle, système, transformation? IDM, au secours!! Généralités à propos de l'idm Les concepts socles de l'idm Le système Le langage Le modèle On obtient bien là une représentation simplifiée du mémoire qui répond à certaines questions à son propos : nous nous plaçons là du point de vue de la description du contenu (système abstrait), comme peut le faire une bibliothèque (une librairie) pour diriger le lecteur (l'acheteur) potentiel. La relation qui lie le modèle et le système est ReprésentationDe.

14 Probatoire informatique : Model Driven Architecture (MDA) Le méta-modèle L'originalité de l'idm est de faire appel à ce concept, au lieu de faire systématiquement appel à de nouveaux modèles : on généralise, en quelque sorte. La définition d'un méta-modèle est courte mais chargée de sens : il s'agit d'un modèle qui définit le langage. Le méta-modèle se situe au niveau M2 de la pile OMG (voir Illustration 1). Si l'on reprend l'exemple des cartes géographiques : le langage pourrait être l'ensemble des cartes routières (on pourrait réduire le domaine en citant un éditeur), la légende de ces cartes serait un modèle de ce langage : une ReprésentationDe, la légende est donc un méta-modèle d'une carte donnée : celle des routes de France, par exemple. Dans le cas du mémoire de probatoire : le langage : tous les mémoires d'auditeurs du CNAM référencés dans la «mémoirethèque», la trame d'une fiche de la «mémoirethèque» est un modèle pour le langage : ReprésentationDe, cette trame est donc un méta-modèle pour le présent mémoire de probatoire. La relation qui lie le modèle et le méta-modèle est ConformeÀ Le méta-méta-modèle Pour définir le méta-méta-modèle, il suffit de reprendre le raisonnement précédent en montant d'un niveau : en considérant l'ensemble des modèles comme un langage : l'ensemble des cartes d'un pays (pas que les routières), en considérant l'organisation d'une légende (méta-modèle en soi) comme un modèle de ce langage : ReprésentationDe, l'organisation d'une légende devient un méta-modèle du modèle : donc un méta-métamodèle d'une carte donnée (de celle des routes de France, mais aussi de celle des départements français).

15 Probatoire informatique : Model Driven Architecture (MDA) 15 Le méta-méta-modèle se situe au niveau M3 de la pile OMG (voir Illustration 1). La pile de l'omg s'arrête au niveau M3. En effet, il faut, à un moment donné, stopper la «métaescalade». Les standards de représentation graphique (dans le monde des modèles objet)permettent de constater que le diagramme dont le niveau serait M4, est le même que celui du M3. En cela, on peut dire que le méta-méta-modèle se représente lui-même [BLANC 2005]. Quel peut être alors le méta-méta-modèle du présent mémoire? La manière d'organiser une fiche de bibliothèque. Par exemple : une fiche de bibliothèque devra comprendre, dans l'ordre suivant : une section d'identification de l'auteur, une section d'identification de l'ouvrage, une section d'identification du contenu de l'ouvrage. Pour l'anecdote (mais pas si anecdotique que cela, si on creuse), on voit dans cet exemple, se profiler une discussion pour les soirées d'hiver : le titre de l'ouvrage est-il dans la section «identification de l'ouvrage» ou dans celle «identification du contenu de l'ouvrage»? 2.6. La transformation Cette notion, centrale pour l'idm (et aussi pour MDA), implique un état de départ et un état d'arrivée. Il s'agit, ici, de transformer un modèle existant (chargé de ses méta et méta-méta modèles) en un modèle n'ayant pas la même pile de modélisation (autres méta et méta-méta modèles). Dans [FAVRE et al. 2006], les auteurs parlent d'espaces techniques différents. Lors de cette opération, les méta-modèles prennent toute leur importance. Les règles de passage d'un modèle à un autre modèle seront spécifiées au niveau des méta-modèles. Ainsi, toutes les transformations de modèles pourront être réalisées par l'activation de ces règles, théoriquement sans nouvelle spécification. La définition des méta-règles sera d'autant plus naturelle si les métamodèles dépendent du même méta-méta-modèle. Pour la représentation des territoires, cela consisterait, par exemple, à transformer les cartes en représentation 3D (type photos aériennes), autre représentation d'une même réalité et répondant à des règles (pile de modélisation) différentes.

16 Probatoire informatique : Model Driven Architecture (MDA) 16 On peut imaginer, pour la fiche de «mémoirethèque» du mémoire de probatoire, de la transformer en une séquence sonore pour les personnes mal-entendantes ou en Braille pour les personnes non-voyantes. En sortie de la transformation, on obtient un autre modèle du même système (de la même réalité). 3. Conclusion L'enjeu est de taille : si l'on parvient à rationaliser (puis à automatiser) cette transformation d'un espace technique vers un autre, on ouvre une porte vers la réutilisation des résultats de la conception, vers une adaptation possible à des environnements différents, vers une prise en compte de l'évolution future des technologies. La puissance de la méta-modélisation est un gage de réussite de cette approche : en effet, on s'aperçoit que, plus on monte dans la pile de modélisation, plus les points communs entre les espaces techniques sont nombreux. Ce qui aboutit à une base commune sur laquelle s'ancrera la transformation. Dans tous les cas, si les méta-méta-modèles et les méta-modèles d'espaces techniques différents sont formalisés et diffusés ou, mieux encore, se standardisent, la transformation des modèles pourra se faire automatiquement. C'est à cette standardisation que l'approche MDA participe dans son domaine d'action.

17 Probatoire informatique : Model Driven Architecture (MDA) 17 2 ème Partie : Model Driven Architecture, approche pour les architectes fabricateurs 1? 1. Introduction Le titre de cette partie, un brin provocateur, résume quelques questions centrales à propos de cette démarche. Comment monter d'un cran dans l'abstraction? L'automatisation totale des activités de codage est-elle une préoccupation d'alchimiste ou une réalité possible? Les enjeux sont pourtant importants [BLANC 2005] : pérennisation des savoir-faire, amélioration de la productivité, prise en compte des plates-formes d'exécution. Comme nous l'avons déjà vu, MDA est une démarche, de type IDM, pour la conception de systèmes informatiques. L'activité opérationnelle principale (unique?) des informaticiens la pratiquant doit tendre à être la modélisation. Pour répondre aux enjeux, MDA se concentre sur un objectif dichotomique : modéliser le plus possible en s'abstrayant de la plate-forme d'exécution et modéliser l'adaptation à la plate-forme. Dans cette partie, nous allons voir quelle méthode et quels outils standardisés MDA met en oeuvre pour atteindre son objectif. 1 FABRICATEUR, TRICE : n. (lat. fabricator, -oris, construteur). Personne qui fabrique des produits sans valeur, invente des choses mensongères ; fabricant (langue soutenue et péjor.) : Fabricateurs de mots inutiles. Fabricateurs de fausses nouvelles, de rêves. [LAROUSSE 1995].

18 Probatoire informatique : Model Driven Architecture (MDA) Le schéma général de MDA Illustration 2 - Le cycle en Y de MDA (inspiration [BEZIVIN 2003]). La démarche MDA est une orchestration de différents modèles issus de 4 points de vue principaux. On devrait, plus exactement, dire 3 +1 points de vue. Le guide MDA de l'omg en décrit explicitement trois [OMG-MDA 2003] : Computation Indépendant Viewpoint, Platform Indépendent Viewpoint, Platform Specific Viewpoint. Ceux sont les points de vue que prennent les modèles sur le système à développer. On peut en ajouter un autre, dont le guide OMG [OMG-MDA 2003] cite le modèle résultant, qui a son importance : la vue qu'a l'équipe-projet de la plate-forme d'implémentation. C'est un point de vue que prend le système à développer sur un versant de son environnement. Chaque point de vue sera source de modèle(s), éléments fondamentaux de la démarche (les ovales de l'illustration 2). La rencontre des deux branches supérieures du Y est un moment délicat : deux modèles doivent «fusionner» pour en produire un nouveau. MDA préconise aussi de modéliser cette transformation. À ce stade, on comprend mieux le caractère «dirigée par les modèles» de la démarche. Dans un processus idéal allant du haut vers le bas («top-down»), on part de modèles, on traite des modèles successifs, pour obtenir, in fine, la réalité recherchée : le code.

19 Probatoire informatique : Model Driven Architecture (MDA) 19 Mais à ce propos : le code n'est-il pas lui-même un modèle? Ne représente-t-il pas la réalité des impulsions électriques qui font fonctionner les ordinateurs? Ou, d'une autre manière, la réponse aux besoins de la maîtrise d'ouvrage (la raison de notre projet)? Admettons, ici, que le code est notre réalité, notre système. Ses passages à travers une machine virtuelle et/ou un système d'exploitation (et leurs compilateurs) sont aujourd'hui suffisamment transparents pour nous permettre ce raccourci. Bienvenue à ModelLand!! 3. Point de vue de l'utilisateur Computation Independent Model (CIM) 3.1. Objectif Littéralement «Modèle Indépendant de l'informatisation», ce modèle est chargé de représenter les exigences de la maîtrise d'ouvrage. Comme son nom l'indique, ce modèle devra représenter ces exigences sans aucune référence à la réalisation de l'application ou aux traitements [BLANC 2005]. Il est parfois aussi nommé «Modèle du Domaine» ou «Modèle Métier» [OMG-MDA 2003]. L'expression classique des exigences client, se fait à travers un cahier des charges. La plupart du temps écrit en langage courant, il est inexploitable dans un objectif de rationalisation et d'automatisation du cycle de développement. La première étape est donc de traduire le cahier des charges en un autre modèle, outil de communication entre les utilisateurs et les informaticiens analystes. Ce premier modèle doit être un outil de traçabilité, contractuel, par rapport au résultat (l'application) attendu [OMG-MDA 2003]. L'OMG ne préconise pas de formalisme particulier à ce stade (même si des travaux sont en cours pour y adapter UML) [BLANC 2005]. L'utilisation du diagramme des cas d'utilisation UML est adaptée à ce modèle. Issu du même méta-modèle (UML) que les modèles suivants dans le cycle (PIM et PSM), le lien existera entre les exigences client et le code produit à la fin du cycle en Y.

20 Probatoire informatique : Model Driven Architecture (MDA) Illustration : le «Portillon» Pour illustrer cette partie, nous allons suivre un portail très simplifié qui pourrait être celui d'un Centre de Formation d'apprentis. Voici le diagramme des cas d'utilisation qui constitue son CIM (Illustration 3). Illustration 3 - CIM du "Portillon" 4. Point de vue de l'analyste - Platform Independent Model (PIM) 4.1. Objectif et standard socle (UML) Après la récupération et la représentation des exigences client par le CIM, il faut maintenant passer à la représentation informatique des ces exigences : une nouvelle étape vers une application. Le point de vue de l'analyste doit se considérer avec l'objectif suivant : traduire l'expression des experts «métiers» pour qu'elle soit non seulement compréhensible, mais aussi exploitable par les experts informatiques chargés de la production de l'application. Ici, le méta-modèle UML s'impose : il fait partie des standards de l'omg, il est aujourd'hui largement adopté par les équipes-projets et par les outils existants, il est indépendant des langages (plates-formes) de programmation, il propose plusieurs diagrammes répondant à des préoccupations complémentaires [BLANC 2005].

21 Probatoire informatique : Model Driven Architecture (MDA) Organisation et standards complémentaires (OCL, AS) Principe pour la réalisation Dans l'absolu, la transformation du CIM vers le PIM peut être modélisée et, ainsi, tracée. Comme, pour le moment, MDA ne préconise aucun méta-modèle standard pour réaliser le CIM, le passage CIM/PIM se fera «à la main». Le choix d'utiliser UML (diagramme des cas d'utilisation) pour le CIM est fait dans deux optiques : appliquer le langage UML dès le départ pour avoir une cohérence entre les deux étapes et se préparer pour le moment où UML sera suffisamment défini pour permettre une mécanisation de ce passage. Malgré sa connotation informatique, le PIM doit rester (comme son nom l'indique) indépendant de la plate-forme d'exécution. On va donc, ici, se concentrer sur la représentation de l'architecture modulaire de l'application, des connections entres les modules, du contenu des modules, des tâches réalisées par les modules Les vues de l'architecture couvertes Il est aujourd'hui admis de considérer trois niveaux d'abstraction dans la construction de l'architecture d'un système d'information : le niveau métier, le niveau fonctionnel et le niveau technique [KADIMA 2005]. Le niveau technique de l'architecture correspond à la plate-forme d'exécution, il est couvert par le PSM (voir 7). Si l'on considère que le PIM doit être réalisé du point de vue de l'entreprise (on pourrait dire «macro-métier»), du point de vue informatique et, éventuellement, du point de vue d'une architecture distribuée [OMG-MDA 2003], on déduit qu'il couvre : le niveau métier de l'architecture : il s'agit là de modéliser les invariants du métier, par définition non liés à l'organisation de l'entreprise spécifique, le niveau fonctionnel de l'architecture : on intègre ici l'organisation de l'entreprise étudiée ainsi que l'organisation de son système d'information. On réalise un profil du métier pour l'entreprise [KADIMA 2005] Les modèles pertinents Plusieurs modèles distincts vont collaborer pour constituer le PIM : le diagramme de composants 2 (organisé en paquetages) pour l'architecture, les diagrammes de classes pour les aspects statiques, les diagrammes de séquence ou d'activité pour les aspects dynamiques. 2 Meilleure prise en compte par UML 2.0.

22 Probatoire informatique : Model Driven Architecture (MDA) 22 À cela viendra s'adjoindre une modélisation des contraintes et de l'algorithmie qui ne pourraient être exprimées dans les diagrammes UML. Là aussi, des standards existent : OCL (Object Constraint Language) pour les contraintes et AS (Action Semantics) pour l'algorithmie. Ces deux standards sont des langages à expression et sont aussi des méta-modèles, conformes au métaméta-modèle MOF (Meta Object Facility) comme UML [BLANC 2005]. OCL et AS sont deux standards clés utilisés par MDA, dans le but de rendre productifs des modèles. OCL et AS sont indépendants de la plate-forme. Les modèles correspondant peuvent (voire doivent) être intégrés au PIM Illustration : le «Portillon» (suite) Un modèle PIM qui se tient comportera différents diagrammes UML. Ils seront constitués et raffinés au cours de différentes itérations. On se retrouve à appliquer un cycle de développement itératif et incrémental. L'objet de ce mémoire n'étant de décrire ni les cycles de développement ni le langage UML, nous allons continuer notre illustration avec des diagrammes simplifiés et hypothétiques Les composants Illustration 4 - PIM du "Portillon" - Les Composants

23 Probatoire informatique : Model Driven Architecture (MDA) 23 L'Illustration 4 montre les quatre composants qui pourraient constituer notre «Portillon». Ce diagramme offre l'intérêt de bien montrer la répartition des fonctionnalités et des opérations qui seront réalisées par chacun. Les interfaces sont les points de connexion entre les composants. Cette vison est aussi une vision architecturale : on pourra, dans la suite du cycle MDA, décider de la distribution (ou s'adapter à une distribution existante) du système informatique. Dans le même esprit, une adaptation aux technologies pourra se faire : serveur de messagerie existant, annuaire à créer, planning en Web Service, par exemple Un diagramme de séquence Illustration 5 - PIM du "Portillon" Diagramme de séquence : Création de Planning L'Illustration 5 présente un diagramme de séquence nominal d'un des scénarios possibles pour la création d'un planning de groupe. Ce diagramme modélise le fonctionnement dynamique d'un composant (Planning, ici). La méthode incrémentale permettra de préciser la totalité des scénarios possibles (nominaux, alternatifs et d'erreur) au fur et à mesure des itérations.

24 Probatoire informatique : Model Driven Architecture (MDA) Un composant L'intérieur des composants pourra être représenté par un diagramme de classes. L'Illustration 6 en donne un exemple possible pour notre composant Messagerie. Illustration 6 - PIM du "Portillon" - Diagramme de classes : Messagerie Rendre plus productif les modèles UML : OCL et AS Rappelons que ces deux langages sont partie intégrante du méta-modèle UML. Ils sont donc complètement spécifiés dans celui-ci et conformes au méta-méta-modèle MOF. Ces caractéristiques leur confèrent bien une nature de standards transversaux à la démarche MDA. OCL (Object Constraint Language) En appliquant OCL à un modèle source (un PIM, par exemple), on rend celui-ci plus précis et plus complet. Cette richesse augmentée (du modèle source) rend possible l'obtention d'un modèle cible (PSM dans la démarche MDA) d'autant plus riche (ayant donc une productivité augmentée) [KADIMA 2005].

25 Probatoire informatique : Model Driven Architecture (MDA) 25 Sans entrer dans une description de ce langage (hors du cadre de ce mémoire), voici quelques éléments caractéristiques. Son application aux modèles UML permet de définir des contraintes sur l'état des objets modélisés comme sur les données échangées lors de l'évocation des méthodes [BLANC 2005]. OCL ne produit pas d'effet de bord : son rôle n'est pas de modifier une valeur mais de contraindre à ce que les valeurs soient dans un cadre précis [BLANC 2005]. Les contraintes exprimées par OCL doivent se solder par un résultat booleen. Sa situation au niveau du méta-modèle UML lui permet d'être utilisé dans la définition des méta-modèles (pour les préciser) ou pour assurer du lien entre méta-modèles [KADIMA 2005]. En plus de sa spécification au niveau du méta-modèle, OCL dispose d'une syntaxe textuelle standard pour s'exprimer. Ceci facilite son utilisation par des outils différents (ce qui respecte l'objectif de pérennité des modèles). Un exemple simple d'utilisation, sur notre composant Messagerie. Ligne 1 : contexte Message Ligne 2 : inv: emetteur exist Ligne 3 : inv: destinataire exist La ligne 1 définit l'élément cible de la contrainte : ici, la classe Message. Les lignes 2 et 3 définissent la contrainte : ici, deux «invariants» (la contrainte doit être vraie pour toutes les instances de la classe). L'émetteur et le destinataire d'un message doivent être spécifiés. Lors de contraintes sur les opérations, OCL peut aussi spécifier des pré-conditions et/ou des postconditions. Exemple : ajout d'un contact dans le carnet d'adresse. Ligne 1 : contexte CarnetAdresse::ajouterContact():Contact Ligne 2 : pre: contact not exist La pré-condition vérifie que le contact que l'on veut ajouter n'existe pas déjà dans le carnet d'adresse. AS (Action Sementics) Ce langage va permettre de pallier la limitation de OCL (qui ne peut pas agir sur l'état du modèle) : il va décrire le comportement dynamique du modèle.

26 Probatoire informatique : Model Driven Architecture (MDA) 26 AS est le socle des modèles dynamiques de UML (activité, séquence, machine d'états). Cela offre une cohérence, porteuse de productivité, entre tous ces modèles [BLANC 2005]. AS peut aussi être utilisé en tant que tel pour enrichir les modèles. Il est complètement spécifié dans le méta-modèle UML mais il ne dispose pas d'une syntaxe textuelle standard. Cette dernière caractéristique est un frein à son utilisation dans les outils de modélisation : chaque éditeur doit spécifier sa propre syntaxe, avec le corollaire de l'incompatibilité entre les différents outils (donc du manque de portabilité des modèles). On peut considérer AS comme une abstraction des langages de programmation indépendante d'un langage donné [KADIMA 2005]. Cela lui donne une puissance potentielle pour être le métamodèle (et pour les modélisations associées) de la génération du code interne aux opérations. Même si la génération complète de code à partir d'un modèle PIM paraît actuellement peu réaliste (car complexe à mettre en oeuvre), le chemin est ouvert. Actuellement, AS est donc plus utilisé au niveau des méta-modèles pour spécifier les comportements des éléments des modèles associés. Il va, grâce à cela, être un des outils disponibles pour gérer l'opération de transformation [KADIMA 2005]. 5. La plate-forme d'exécution Platform Description Model (PDM) Après avoir parcouru la branche située à gauche du cycle en Y de MDA (voir l'illustration 2) et avant de procéder à la transformation qui nous mènera vers le modèle spécifique à la plate-forme d'exécution, il nous faut définir cette plate-forme. C'est la branche située à droite du Y. On en dégage deux étapes : 1. le choix de la plate-forme et l'obtention de son modèle du point de vue de l'utilisateur (que nous sommes, dans le cadre d'un projet), 2. la modélisation du filtre qui va permettre de rendre possible la transformation Choix de la plate-forme Une plate-forme est une entité technique qui fournit un ensemble cohérent de fonctionnalités et sur laquelle vont s'exécuter les applications. L'intérêt est que l'utilisation d'une plate-forme ne nécessite pas de connaître comment les fonctionnalités sont réalisées : l'accès se fait par les interfaces qu'elle présente [BLANC 2005]. Comme plate-forme, on peut citer J2EE,.Net, CORBA. Il faut avoir à l'esprit la toute relativité de cette liste : on peut aussi considérer que les systèmes d'exploitation sont des plates-formes (Windows, Unix,...). L'indépendance par rapport à la plate-forme et donc aussi très relative (exemple : une application

27 Probatoire informatique : Model Driven Architecture (MDA) 27 J2EE, donc son modèle spécifique, peut être considérée comme indépendante de la plate-forme car pouvant s'exécuter indifféremment sur plusieurs systèmes d'exploitation). Une discussion sur ce sujet dépasse le cadre de ce mémoire. L'architecte du projet doit choisir une plate-forme ou faire avec l'existante. Disposant du modèle indépendant de l'application projet, c'est avant la transformation que l'architecte doit savoir qu'elle est la plate-forme cible (ou les plates-formes cibles en cas de système hétérogène). C'est cela qui va conditionner l'organisation de la transformation de modèle Modélisation de la plate-forme Dans l'absolu, la plate-forme, du point de vue du projet, est modélisable : description de ses fonctionnalités, de son architecture, des modes d'accès à ses fonctionnalités, des interactions entre les différents éléments la constituant,... On obtient ainsi un PM (Platform Model) qu'il est possible de mettre en relation avec le PIM de notre projet pour transformer ce dernier. Cette transformation passe par une mise en relation des deux méta-modèles (voir définition de la transformation, partie 1 2.6). Et là, un manque évident apparaît : si le méta-modèle ayant servi à l'élaboration du PIM est connu (UML, OCL,...), l'obtention du méta-modèle du PM est loin d'être acquise. Cela sousentendrait que les éditeurs de plates-formes se mettent d'accord sur un méta-modèle commun On se passe du méta-modèle du modèle de la plate-forme Pour résoudre ce problème, en attendant une standardisation des méta-modèles de plates-formes, on va adapter le cycle en Y de base. Illustration 7 - Le cycle en Y de MDA, adapté (inspiration [BEZIVIN 2003]).

28 Probatoire informatique : Model Driven Architecture (MDA) 28 Cette adaptation part d'un constat : les informations relatives à une plate-forme donnée sont contenues dans le méta-modèle du PSM. Les règles de transformation seront définies à partir de ce méta-modèle, en lieu et place de celui du modèle de la plate-forme. La limitation de cette technique est que la généralisation sera plus restreinte, car faite pour une plate-forme donnée [BLANC 2005] : il faudra un méta-modèle par plate-forme. Le méta-modèle du PSM est aussi appelé Platform Description Model (PDM) [KADIMA 2005]. À ce stade, nous disposons d'une représentation indépendante de la plate-forme de notre application (le PIM), d'une représentation de la plate-forme cible (le PDM) et de leur métamodèles respectifs. Nous allons maintenant pouvoir organiser et procéder à la transformation vers la représentation spécifique à la plate-forme de notre d'application. 6. La transformation 6.1. Généralités MDA étant basée sur la manipulation de modèles, le passage de l'un à l'autre (et vice versa) est une activité centrale de la méthode. L'Illustration 8 présente les différentes opérations de transformation de modèles que l'on peut trouver dans MDA. Illustration 8 : Opérations de transformation sur les modèles MDA [BEZIVIN-BLANC 2002]. Le passage d'un modèle type UML à du code écrit en langage évolué (Java, C++,...) [5] 3, que l'on considère ici comme un modèle, est déjà bien implémenté dans les outils de modélisation (génération de squelette d'application). Les transformations réflexives de modèles (PIM/PIM [1], PSM/PSM [3], Code/Code [6]) seront effectuées soit lors d'ajouts d'éléments pour représenter des niveaux différents d'abstraction, soit pour optimiser un modèle lorsqu'une transformation non réflexive est incomplète ou pas assez précise (raffinage). Il est important de noter que ces transformations réflexives ne sont pas toujours automatisables [BEZIVIN-BLANC 2002]. 3 Sont notés sous cette forme les rappels aux numéros de l'illustration 8.

29 Probatoire informatique : Model Driven Architecture (MDA) 29 Les transformations [4] et [7], font partie de l'activité de rétro-ingénierie. Cette dernière fait partie de la philosophie de MDA et mériterait une étude à elle seule. La transformation centrale de MDA (et aussi la plus délicate) est le passage du PIM vers le PSM [2]. Il est temps maintenant de s'y arrêter plus longuement Le passage du PIM au PSM Nous avons vu comment adapter le cycle en Y pour obtenir un modèle de la plate-forme d'implémentation (voir 5.3). Voici une illustration plus complète de ce cycle. Dans cette section, nous allons décrire les nouveaux apports. Illustration 9 - Le cycle en Y de MDA, adapté et complet (inspiration [BEZIVIN 2003]) Description globale À ce stade du cycle de développement, nous disposons : du PIM et de son méta-modèle (UML), du méta-modèle du PSM (profil UML 4 ) ou PDM. Les étapes suivantes vont se dérouler : modélisation des règles de transformation (le mapping), construction d'un modèle intermédiaire (le PIM marqué), exécution de la transformation. 4 Sous-ensemble de UML comprenant des stéréotypes, des tagged-values et des contraintes. Ici le profil sera celui de la plate-forme d'implémentation (voir compléments 8 de cette partie).

30 Probatoire informatique : Model Driven Architecture (MDA) Modélisation des règles de transformation : le mapping Cette étape consiste à définir les règles de transformation d'un modèle à l'autre. Comme nous l'avons vu, cette définition se fait au niveau des méta-modèles. Un exemple Le passage d'un diagramme de classes UML vers un MCD Merise 5. Illustration 10 - Les classes modélisant un groupe d'apprentis. Passons sur la sémantique «métier» des éléments, pour illustrer l'idée des règles de transformation (on pourrait parler de méta-règles) liant les méta-éléments UML et Merise : une classe UML devient une entité Merise, un attribut de classe devient une propriété d'entité, une association devient une association. L'application de ces trois règles pourrait donner le MCD suivant : Illustration 11 - Le MCD d'un groupe d'apprentis. Commentaires Notre exemple didactique et volontairement simplifié appelle des remarques et des questions, caractéristiques de la problématique du mapping. Par exemple : 1. Les trois règles donnent une correspondance entre types d'éléments. Ceci permettra d'automatiser l'opération. 5 Je travaille actuellement dans un Centre de Formation d'apprentis : ceci explique l'inspiration de l'exemple!

31 Probatoire informatique : Model Driven Architecture (MDA) A contrario, on trouve des attributs de classe qui deviennent de simples propriétés d'entité, et d'autres qui deviennent (participent à être) l'identifiant d'entité. On doit alors préciser la règle : «un attribut de classe devient une propriété d'entité ou peut participer à être l'identifiant d'entité». Il ne faudra alors pas éluder les questions : qui, au moment de l'exécution de la transformation, décidera de la partie de l'alternative à mettre en oeuvre? Comment cette décision sera formalisée? Généralisation Actuellement, trois approches permettent la spécification de règles de correspondance [BLANC 2005]. 1. Par programmation : on utilise un langage de programmation connu (Java, C++,..) et on conçoit la transformation comme n'importe quelle application informatique. C'est puissant, efficace, habituel : c'est, sans doute, encore la méthode la plus utilisée car très outillée. Le revers est, là encore, la dépendance au langage de programmation. 2. Par template (patron) : on élabore un canevas du modèle cible souhaité et, lors de la transformation, on remplace les valeurs du canevas par celles du cas d'espèce traité. La puissance de la méthode dépend de la précision des canevas et, donc, du langage utilisé pour les définir. Il faut aussi faire attention : un canevas peut devenir un carcan. 3. Par modélisation : sans doute la méthode la plus prometteuse [KADIMA 2005]. Elle ouvre la voie vers une méta-modélisation des transformations avec les avantages que cela comporte : pérennité, productivité, indépendance par rapport aux outils et aussi harmonie avec le paradigme MDA. La potentialité de l'approche par la modélisation est renforcée par deux faits principaux. 1. Dans le cycle en Y de MDA (voir Illustration 9), le modèle source (le PIM) et le modèle cible (le PSM) sont issus du même méta-modèle (UML ou profil UML) : cela facilite la métamodélisation des règles de correspondance. 2. Pour aller dans ce sens, l'omg a défini un méta-modèle standard d'expression des règles de transformation : QVT (Query/View/Transformation). Ce standard définit un langage de création de vues sur le modèle, un langage de modélisation de requête et un langage d'écriture des définitions de transformation. QVT est bien un méta-modèle. Il est conforme au métaméta-modèle MOF (le même que UML), ce qui est porteur pour rendre plus aisée la collaboration entre les méta-modèles de ce standard.

32 Probatoire informatique : Model Driven Architecture (MDA) Construction d'un modèle intermédiaire : le PIM marqué Maintenant que nous disposons des règles de transformation, dans un modèle nommé mapping, il faut répondre au problème du choix en cas d'alternative inhérente au modèle cible, ici le PSM. Pour ce faire, on va construire un modèle intermédiaire qui va prendre en compte les choix faits par le concepteur [BLANC 2005]. On nomme aussi ce modèle «modèle marqué» (Marking Model [OMG-MDA 2003]). Le principe est de poser des marques sur le modèle indépendant (le PIM) qui prennent en compte à la fois les règles du modèle mapping et les choix faits par le concepteur. Un profil UML comme méta-modèle est adapté. Dans notre exemple précédent, il suffirait de marquer les attributs concernés par le stéréotype <primarykey> pour que la transformation soit complète Exécution de la transformation Toutes les informations sont alors réunies pour exécuter la transformation proprement dite. Selon le degré de précision et d'aboutissement des différents modèles construits lors des étapes précédentes (CIM, PIM, mapping) et de leur méta-modélisation (UML et profils, méta-mapping), la transformation va avoir un degré d'aboutissement différent. Elle sera plus ou moins automatisable (donc outillable) et demandera plus ou moins d'interventions «manuelles» ensuite. 7. Point de vue du concepteur Platform Specific Model (PSM) Un PSM est une vue du système regardé du point de vue de la plate-forme d'exécution : il couvre le niveau technique de l'architecture 6. Il combine les spécifications contenues dans le PIM avec les caractéristiques qui spécifient comment ce système peut fonctionner sur la plate-forme cible [OMG-MDA 2003]. Dans la philosophie MDA, il s'agit d'une modélisation conforme au méta-modèle UML. Elle est obtenue suite à tout une série de créations et de manipulations de modèles. In fine, il ne reste plus qu'à générer le code dans le langage qui correspond à la plate-forme choisie, de la même manière et avec les mêmes outils que dans une démarche classique. L'idée de MDA est d'obtenir un PSM le plus complet et le plus précis possible, afin d'obtenir aussi le code le plus complet et le plus précis : le Graal étant d'obtenir le code fini de l'application. Bien que nous sommes maintenant dans le domaine de la dépendance par rapport à la plateforme, nous allons pouvoir illustrer l'ouverture de MDA en nous appuyant sur l'indépendance du 6 Voir de cette partie.

33 Probatoire informatique : Model Driven Architecture (MDA) 33 PIM. Ce dernier étant conçu dans une logique de composants, qu'est-ce qui empêche [OMG- MDA 2003] : de générer notre application (du moins son PSM) pour plusieurs plates-formes différentes, de découper le PIM global en plusieurs morceaux (composants), de générer autant de PSM, spécifiques à la même ou à des plates-formes différentes, pour constituer un système réparti, de faire des transformations en chaîne afin que le PIM puisse s'adapter à différents niveaux : on fait le PSM pour une machine virtuelle (Java, par exemple) et le même PIM peut servir à générer le PSM pour un système d'exploitation donné (Windows, Unix,...), de combiner les mappings afin d'en construire de nouveaux? 8. À propos des standards utilisés par MDA 8.1. Les autres standards de MDA CWM (Commun Warehouse Metamodel) CWM, acronyme que l'on peut traduire par Méta-modèle Commun aux Entrepôts de Données, est un méta-modèle inspiré de UML. Il est dédié à la modélisation des entrepôts de données. Promu par l'omg, il est, bien entendu, conforme au méta-méta-modèle MOF. Il fait partie du noyaux de standards de MDA, un même titre que UML et MOF (voir le logo MDA, page 3). Cela veut dire que toute la méthodologie MDA, que nous avons décrite dans ce mémoire pour UML et les applications classiques, peut s'adapter au domaine spécifique de la modélisation des données, de leur transformation et de leur présentation 7. Pour en savoir plus, le lecteur consultera, pour une première approche, [KADIMA 2005] XMI (XML Metadata Interchange) XMI (Echange de Méta-données en XML) se trouve, lui, dans le deuxième anneau des standards utilisés par MDA. XMI est le partenaire de UML. UML se charge de décrire les contenus des modèles alors que XMI se charge de formater ces contenus. On dispose ainsi d'un standard permettant de transporter, sous forme de fichiers XML (standard lui-même très usité), les modèles dont la sémantique est basée sur UML. Ce duo permet une transversalité entre les outils ayant le même 7 Trois grandes activités de l'informatique décisionnelle (BI Business Intelligence)

34 Probatoire informatique : Model Driven Architecture (MDA) 34 rôle, mais aussi entre les outils agissant aux différents stades du cycle de vie des modèles. [KADIMA 2005]. Pour plus de détails, le lecteur se référera à la documentation abondante sur le sujet Les profils UML Utilisés, entre autres, dans le cadre des méta-psm, les profils UML peuvent aussi servir de métamodèles typés UML dans de nombreux autres cas de figure. Le principe est de préciser la sémantique des éléments de UML en leur ajoutant : des stéréotypes : définissent, dans le méta-modèle, des sous-méta-classes. Ils sont applicables à tous les éléments du méta-modèle. Des tagged-values (valeurs marquées) : définissent des nouvelles propriétés. Elles correspondent à un couple nom/valeur. Des contraintes : elles précisent le rôle des éléments de UML. Elles peuvent étendre ou restreindre la sémantique du modèle obtenu. Le langage naturel peut être utilisé, mais OCL est, là aussi, tout indiqué. L'OMG a standardisé neuf profils UML [OMG-UML 2006]. On peut citer ceux qui sont en rapports avec MDA : des profils pour CORBA (standard OMG pour les systèmes distribués), Enterprise Distributed Object Computing (EDOC) qui couvre notamment les spécifications de la plate-forme J2EE,... Les profils trouvent toute leur utilité lorsque les entreprises les utilisent pour organiser leurs propres méta-modèles. Les profils UML deviennent alors un outil pour fixer un cadre, une cohérence, aux modèles produits par les équipes projets d'une même organisation 8. 8 Le terme «organisation» peut prendre ici plusieurs représentations : entreprise de création de logiciels, entreprise en tant que maîtrise d'ouvrage, grand projet,...

35 Probatoire informatique : Model Driven Architecture (MDA) En guise de conclusion En conclusion de cette partie sur la méthodologie MDA nous porterons un regard sur l'illustration ci-dessous. Illustration 12 - La ronde des standards MDA Elle montre les liens étroits qui existent entre les différentes technologies utilisées dans la démarche. Ces liens sont un gage de la pérennité tant recherchée, d'une optimisation du travail par la réutilisation de résultats de développements achevés. Ils sont aussi garants de la possibilité d'adaptation aux différentes technologies actuelles et futures, sans pour cela avoir à tout reconstruire. Ayant toutes la même racine (MOF), ces technologies facilitent les manipulations de transformations. On peut aussi, à ce stade, avancer que MDA permet, par une application ordonnée de standards connus, de monter d'un cran dans l'abstraction : les règles de correspondances d'un modèle par rapport à un autre sont spécifiées au niveau des méta-modèles (M2). Ceci étant, et même si la chevaleresque quête du Graal est porteuse d'élan collectif, il faut faire

36 Probatoire informatique : Model Driven Architecture (MDA) 36 preuve de réalisme. Nous ne sommes pas au bout de la route vers l'obtention automatique d'applications entièrement codées (donc opérationnelles) à partir des modèles. Le travail se situe au niveau des outils logiciels qui se réclament de MDA : la foison d'outils et de projets qui appliquent cette démarche partiellement, prouve que l'on s'en approche.

37 Probatoire informatique : Model Driven Architecture (MDA) 37 3 ème Partie : les outils pour MDA 1. Généralités Une des conditions pour l'intégration de la démarche MDA dans les pratiques, et afin qu'elle ne reste pas un voeu pieux ou un bel exercice de recherche, est la mise au point d'outils qui la rendent productive. Si l'on en croit la profusion de projets ou d'outils utilisables qui se réclament de l'ingénierie des modèles 9, on peut facilement avancer que nous sommes bien en présence d'un mouvement réaliste. La complexité relative de la démarche MDA, sa volonté à rassembler de multiples techniques (modélisation, méta-modélisation, transformation de modèles, génération de code), rendent difficile la mise au point d'outils qui intègrent la totalité de la démarche. En effet, il faut à la fois automatiser de nombreuses tâches (déjà complexes prises indépendamment l'une de l'autre) et respecter plusieurs standards, tout en préservant la souplesse nécessaire de la démarche (et qu'a sans doute voulu lui conférer l'omg). Actuellement, on trouve donc des outils qui n'ont ni la standardisation de MDA, ni sa richesse, ni souvent non plus l'indépendance complète vis-à-vis de l'intergiciel 10. Mais, ces outils ont l'avantage d'être efficaces, utilisables et stables [KADIMA 2005]. 2. Une grille d'analyse des outils Pour pouvoir décrire les outils, qui ne couvrent souvent qu'une partie du cycle MDA (et sont donc complémentaires), [KADIMA 2005] propose une vision intégrée de l'outil complet autour d'un référentiel (Illustration 13, page suivante). Cette approche met en évidence les fonctions attendues de la part des outils et peut servir de grille pour la comparaison fonctionnelle de ceux-ci Pour la modélisation On trouve ici deux fonctions. L'outil de modélisation (d'édition du modèle) proprement dit. De préférence avec une interface graphique, il permet de tracer les diagrammes conformément à un méta-modèle. 9 Voir [PLANETEMDE.ORG 2006] : liste de plus de 70 outils. 10 Ce terme désigne les plates-formes telles que J2EE, CORBA,.Net (autre terme utilisé : middleware).

38 Probatoire informatique : Model Driven Architecture (MDA) 38 La modélisation doit aussi permettre le contrôle de la conformité aux règles : celles du métamodèle et aussi celles qui devront pouvoir être fournies par l'utilisateur. Pour UML on peut citer Objecteering, Poseidon, Visual Paradigm, Anterprise Architect, Rational Software Modeler. Il y a aussi le projet, très attendu, de plugin pour Eclipse nommé GMF (Graphical Modeling Framework). Illustration 13 - Intégration d'outils pour MDA [KADIMA 2005] Pour les transformations Ici aussi, nous trouvons deux fonctions. Il faut pouvoir éditer (modéliser) les règles de transformation. La modélisation de ces transformations doit à la fois prendre en compte les standards utilisés (méta-modèles, langages) et les spécificités fixées par l'utilisateur en fonction du cas d'espèce. Bien entendu, l'outil doit posséder un moteur de transformation qui réalisera effectivement les transformations. À titre d'exemple, on peut citer le très prometteur ATL (Atlas Transformation Language) projet complètement intégré à Eclipse Pour la génération du code Dans une optique de génération automatique du code (credo de MDA), il faut pouvoir

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* La démarche MDA Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)* Référence : Livrable 1.1-5 Date : Mai 2002 * : Les partenaires du projet ACCORD sont CNAM,

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

Plus en détail

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Extensions à la formation. Laurent Pérochon, 28-30 avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan Extensions à la formation Diagramme de timing FinEpreuve SautBarrière CourseAvantBarrière SautMur {>2 et 10 et 2 et 10 et

Plus en détail

MDA (Model Driven Architecture) principes et états de l art.

MDA (Model Driven Architecture) principes et états de l art. CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE D ENSEIGNEMENT DE LYON Examen probatoire du diplôme d ingénieur C.N.A.M. en INFORMATIQUE option ingénierie et intégration informatique : système de conduite

Plus en détail

Etat de l art sur le développement logiciel dirigé par les modèles.

Etat de l art sur le développement logiciel dirigé par les modèles. Etat de l art sur le développement logiciel dirigé par les modèles. Samba Diaw* Rédouane Lbath* Bernard Coulette* * Université de Toulouse Laboratoire IRIT Université de Toulouse 2-Le Mirail 5, allées

Plus en détail

CC30 Certificat de compétence Conception, développement et animation de sites Web

CC30 Certificat de compétence Conception, développement et animation de sites Web CC30 Certificat de compétence Conception, développement et animation de sites Web UE RSX050 Bases de l informatique Séance 2 UERSX050 Bases de l informatique séance 2-30/10/2009 1 Table des matières Séance

Plus en détail

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

Chapitre I : le langage UML et le processus unifié

Chapitre I : le langage UML et le processus unifié I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

L approche Model-Driven Architecture, crédible pour développer un progiciel de

L approche Model-Driven Architecture, crédible pour développer un progiciel de ÉCOLE DOCTORALE SYSTÈMES L approche Model-Driven Architecture, crédible pour développer un progiciel de gestion intégré Mémoire de DEA Systèmes Industriels Tuteur : Paul Gaborit Xavier Moghrabi Année universitaire

Plus en détail

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008

En vue de l obtention du. Discipline : Informatique. Présentée et soutenue par Mohamed HADJ KACEM. Le Jeudi 13 Novembre 2008 THÈSE En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE ET DE L UNIVERSITÉ DE SFAX Délivré par l Université Toulouse III - Paul Sabatier et la Faculté des Sciences Économiques et de Gestion

Plus en détail

Eclipse et ses plugins de modélisation (EMF GEF GMF). Entrée en matière. par. Jacques Barzic. Avertissement

Eclipse et ses plugins de modélisation (EMF GEF GMF). Entrée en matière. par. Jacques Barzic. Avertissement www.289eme.fr Eclipse et ses plugins de modélisation (EMF GEF GMF). Entrée en matière par Avertissement Cette version incomplète du document (eclipse_emf_gef_gmf_alpha1.0.0, voir date édition ci-dessous)

Plus en détail

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

Spécification et transformation de langages de points de vue des systèmes répartis ouverts UNIVERSITE MOHAMMED V AGDAL FACULTE DES SCIENCES Service des affaires estudiantines RABAT N d ordre : 2479 Discipline : Informatique Spécialité : Systèmes répartis et réseaux THÈSE DE DOCTORAT Présentée

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

MEMOIRE. Présenté à L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTÈRE INFORMATIQUE NTSID. Par.

MEMOIRE. Présenté à L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTÈRE INFORMATIQUE NTSID. Par. République Tunisienne Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université de Sfax École Nationale d Ingénieurs de Sfax Cycle de Formation Doctorale dans la Discipline Informatique

Plus en détail

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Le tout fichier Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché

Plus en détail

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

Méthodologies de développement de logiciels de gestion

Méthodologies de développement de logiciels de gestion Méthodologies de développement de logiciels de gestion Chapitre 5 Traits caractéristiques des deux approches de méthodologie Présentation réalisée par P.-A. Sunier Professeur à la HE-Arc de Neuchâtel http://lgl.isnetne.ch

Plus en détail

Université Mohamed Khider Biskra. Faculté des sciences exactes et des sciences de la nature et de la vie. Département d Informatique.

Université Mohamed Khider Biskra. Faculté des sciences exactes et des sciences de la nature et de la vie. Département d Informatique. République Algérienne Démocratique et Populaire Ministère de l Enseignement Supérieur et de la Recherche Scientifique Université Mohamed Khider Biskra Faculté des sciences exactes et des sciences de la

Plus en détail

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC THÈSE PRÉSENTÉE À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE COMME EXIGENCE PARTIELLE À L OBTENTION DU DOCTORAT EN GÉNIE Ph.D. PAR Samir KHERRAF MÉTHODOLOGIE

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Intelligence Economique - Business Intelligence

Intelligence Economique - Business Intelligence Intelligence Economique - Business Intelligence Notion de Business Intelligence Dès qu'il y a une entreprise, il y a implicitement intelligence économique (tout comme il y a du marketing) : quelle produit

Plus en détail

Environnement logiciel basé sur les modèles pour la conception collaborative de produit

Environnement logiciel basé sur les modèles pour la conception collaborative de produit Environnement logiciel basé sur les modèles pour la conception collaborative de produit Mehdi Iraqi-Houssaini Laboratoire LSIS-INSM 2 cours des Arts et Métiers 13100 Aix-en-Provence, France RÉSUMÉ. Le

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Accélérez la transition vers le cloud

Accélérez la transition vers le cloud Livre blanc technique Accélérez la transition vers le cloud Architecture HP Converged Cloud Table des matières Une nouvelle informatique pour l'entreprise... 2 Faites évoluer votre stratégie informatique

Plus en détail

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants. Plan du chapitre Master Informatique et Systèmes Urbanisation des Systèmes d Information Architecture d Entreprise 04 Architecture du SI : identifier et décrire les services, structurer le SI 1 2 3 4 5

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

Plus en détail

Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE. Contexte : «l e-business» Création de valeur 02/02/12

Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE. Contexte : «l e-business» Création de valeur 02/02/12 Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE La notion «d E-Business» recouvre les différentes applications possibles de l'informatique faisant appel aux technologies de l'information et

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Gestion du centre de données et virtualisation

Gestion du centre de données et virtualisation Gestion du centre de données et virtualisation Microsoft Corporation Juin 2010 Les informations contenues dans ce document représentent l'opinion actuelle de Microsoft Corporation sur les points cités

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

LICENCE PROFESSIONNELLE

LICENCE PROFESSIONNELLE LICENCE PROFESSIONNELLE Développement d'applications Intranet/Internet Domaine : Sciences, Technologies, Santé Dénomination nationale : Systèmes informatiques et logiciels Organisation : Institut Universitaire

Plus en détail

Étude et applications de l approche MDA pour des plates-formes de Services Web

Étude et applications de l approche MDA pour des plates-formes de Services Web UNIVERSITÉ DE NANTES ÉCOLE DOCTORALE SCIENCES ET TECHNOLOGIES DE L INFORMATION ET DES MATÉRIAUX Année : 2005 N o B.U. : Thèse de Doctorat de l Université de Nantes Spécialité : INFORMATIQUE Présentée et

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique

THESE. DOCTORAT EN SCIENCES APPLIQUEES Spécialité : Informatique mi Université Mohamed V- Souissi Rabat Ecole Nationale Supérieure d Informatique et d Analyse des Systèmes Numéro d ordre : ---- UFR : Systèmes d Information Métiers, Multimédia et Mobiles (SI3M) -ENSIAS-

Plus en détail

Analyse,, Conception des Systèmes Informatiques

Analyse,, Conception des Systèmes Informatiques Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance

Plus en détail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

THÈSE. présentée. devant l'université de Bordeaux 1. pour obtenir. le grade de : Docteur de l'université de Bordeaux 1 Mention Informatique.

THÈSE. présentée. devant l'université de Bordeaux 1. pour obtenir. le grade de : Docteur de l'université de Bordeaux 1 Mention Informatique. N o d'ordre: 00000 THÈSE présentée devant l'université de Bordeaux 1 pour obtenir le grade de : Docteur de l'université de Bordeaux 1 Mention Informatique par Fabien Latry Équipe d'accueil : Phoenix École

Plus en détail

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer Le Processus RUP Database Administrator Project Leader H. Kadima Performance Engineer Release Engineer Analyst Designer / Developer Tester Table des matières 1. De l artisanat à l industrialisation de

Plus en détail

Génie logiciel (Un aperçu)

Génie logiciel (Un aperçu) (Un aperçu) (sommerville 2010) Laurent Pérochon INRA URH 63122 St Genès Champanelle Laurent.perochon@clermont.inra.fr Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

Plus en détail

Altiris Asset Management Suite 7.1 from Symantec

Altiris Asset Management Suite 7.1 from Symantec Assurer la conformité et maximiser l'investissement informatique Présentation Dans un contexte économique où les changements sont inévitables, il est indispensable de gérer les ressources informatiques

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Suite dossier d appel

Suite dossier d appel Suite dossier d appel Table des matières 1. INTRODUCTION... 3 2. TRAITEMENT D'UN APPEL... 4 2.1. TRAITEMENT EN DIRECT... 4 2.2. TRAITEMENT DIFFERE... 4 2.3. MECANISME DU TRAITEMENT D'UN APPEL AU NIVEAU

Plus en détail

THÈSE. Présentée à. L Université Paris VIII. Pour obtenir le grade de DOCTEUR DE L UNIVERSITE DE PARIS VIII. Spécialité INFORMATIQUE

THÈSE. Présentée à. L Université Paris VIII. Pour obtenir le grade de DOCTEUR DE L UNIVERSITE DE PARIS VIII. Spécialité INFORMATIQUE THÈSE Présentée à L Université Paris VIII Pour obtenir le grade de DOCTEUR DE L UNIVERSITE DE PARIS VIII Spécialité INFORMATIQUE Préparée au Laboratoire d Informatique Avancée de Saint-Denis (LIASD) Dans

Plus en détail

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Méthodes d évolution de modèle produit dans les systèmes du type PLM Résumé de thèse étendu Méthodes d évolution de modèle produit dans les systèmes du type PLM Seyed Hamedreza IZADPANAH Table des matières 1. Introduction...2 2. Approche «Ingénierie Dirigée par les Modèles»

Plus en détail

Le Framework.Net. Introduction. Pourquoi.Net?

Le Framework.Net. Introduction. Pourquoi.Net? Introduction. Pourquoi.Net? Le Framework.Net Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web.

Plus en détail

Marquage CE des enrobés bitumineux à chaud QUESTIONS - REPONSES SUR LE MARQUAGE CE DES ENROBES BITUMINEUX A CHAUD

Marquage CE des enrobés bitumineux à chaud QUESTIONS - REPONSES SUR LE MARQUAGE CE DES ENROBES BITUMINEUX A CHAUD Marquage CE des enrobés bitumineux à chaud QUESTIONS - REPONSES SUR LE MARQUAGE CE DES ENROBES BITUMINEUX A CHAUD (Version 11 juillet 2008) 1- Quels enrobés doivent être marqués? Tous les enrobés bitumineux

Plus en détail

Elaboration de processus de développements logiciels spécifiques et orientés modèles : application aux systèmes à évenements discrets

Elaboration de processus de développements logiciels spécifiques et orientés modèles : application aux systèmes à évenements discrets Elaboration de processus de développements logiciels spécifiques et orientés modèles : application aux systèmes à évenements discrets Thomas Collonvillé To cite this version: Thomas Collonvillé. Elaboration

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Safety Coach. Un projet pour l'accompagnement des jeunes dans les entreprises

Safety Coach. Un projet pour l'accompagnement des jeunes dans les entreprises Safety Coach Un projet pour l'accompagnement des jeunes dans les entreprises Contenu 1 Doyens et benjamins 3 2 Objectifs 3 3 Le déroulement 4 4 Le Fonds de l'expérience professionnelle 4 5 Contact 5 Safety

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Les modules SI5 et PPE2

Les modules SI5 et PPE2 Les modules SI5 et PPE2 Description de la ressource Propriétés Intitulé long Formation concernée Matière Présentation Les modules SI5 et PPE2 BTS SIO SI5 PPE2 Description Ce document présente une approche

Plus en détail

Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés.

Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés. Siemens Grâce aux documents intelligents, un leader mondial de la haute technologie augmente l efficacité et la précision de ses employés. Produit phare de l'étude de cas : Microsoft Office Édition Professionnelle

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de

Plus en détail

Analyse de performance, monitoring

Analyse de performance, monitoring Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl

Plus en détail

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

Plus en détail

ANNEXES. Evaluation de la formation à Polytech Lille Département GIS. Enseignements les plus utiles. Enseignements à renforcer

ANNEXES. Evaluation de la formation à Polytech Lille Département GIS. Enseignements les plus utiles. Enseignements à renforcer ANNEXES Evaluation de la formation à Polytech Lille Département GIS Enseignements les plus utiles Enseignements à renforcer Enseignements à intégrer Commentaires Généraux Accompagnement Professionnel Enseignements

Plus en détail

COMMISSION DES NORMES COMPTABLES. Avis CNC 138/5 Logiciels

COMMISSION DES NORMES COMPTABLES. Avis CNC 138/5 Logiciels COMMISSION DES NORMES COMPTABLES Avis CNC 138/5 Logiciels Introduction La Commission a consacré une étude approfondie au traitement comptable de la création ou de l acquisition d un logiciel par une entreprise,

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes Christiane.Davoine@CA-GICAB.fr Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

WHITE PAPER Datacenter : enjeux et tendances autour des architectures réseaux

WHITE PAPER Datacenter : enjeux et tendances autour des architectures réseaux WHITE PAPER Datacenter : enjeux et tendances autour des architectures réseaux Sponsorisé par: Juniper Networks, IBM Stéphane Krawczyk novembre 2011 Karim Bahloul INTRODUCTION IDC France, 13 Rue Paul Valéry,

Plus en détail

Refonte front-office / back-office - Architecture & Conception -

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

3 Les premiers résultats des plans d'actions

3 Les premiers résultats des plans d'actions 3 Les premiers résultats des plans d'actions Les résultats que nous avons obtenus en ce qui concerne les plans d'action, résultent de l'analyse de 48 entreprises seulement. Revenons sur notre échantillon.

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

Plus en détail

Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise

Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise Suite IBM Tivoli IT Service Management : comment gérer le système d information comme une véritable entreprise Europe Lettre d'annonce du 27 juin 2006 ZP06-0279 En bref Introduction Description Accessibilité

Plus en détail

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition) Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les

Plus en détail

Symantec Backup Exec.cloud

Symantec Backup Exec.cloud Protection automatique, continue et sécurisée qui sauvegarde les données vers le cloud ou via une approche hybride combinant la sauvegarde sur site et dans le cloud. Fiche technique : Symantec.cloud Seulement

Plus en détail

Formation : Modélisation avec UML 2.0 et Mise en pratique

Formation : Modélisation avec UML 2.0 et Mise en pratique Formation : Modélisation avec et Mise en pratique Durée : sur 4 Jours soit 28 heures ou sur 5 Jours soit 35 heures Présentation Stage UML (Unified Modeling Language) est la notation standard qui s'est

Plus en détail

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Livre blanc Mesure des performances sous Windows Embedded Standard 7 Livre blanc Mesure des performances sous Windows Embedded Standard 7 Table des matières Résumé... 1 Introduction... 1 Utilisation de la boîte à outils Windows Performance Analysis... 2 Fonctionnement...

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

Visual Paradigm Contraintes inter-associations

Visual Paradigm Contraintes inter-associations Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor

Plus en détail

Cours en ligne Développement Java pour le web

Cours en ligne Développement Java pour le web Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information

Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Jacques Simonin* Philippe Picouet* Jean-Marc Jézéquel** * Telecom Bretagne/Institut

Plus en détail

Rapidolect Les Productions de la Columelle (1998-2006) Page 1

Rapidolect Les Productions de la Columelle (1998-2006) Page 1 Page 1 Page 2 Logiciel Rapidolect RATIONNEL DU JEU Un bon lecteur possède dans sa tête des images précises des mots écrits qu'il connaît. Lorsqu'il parcourt un texte, ses yeux se déplacent par saccades

Plus en détail

FIN DE CHANTIER DEFINITION DE LA RECEPTION

FIN DE CHANTIER DEFINITION DE LA RECEPTION FIN DE CHANTIER Article 1792-6 du Code civil DEFINITION DE LA RECEPTION «La réception est l'acte par lequel le maître de l'ouvrage déclare accepter l'ouvrage avec ou sans réserves. Elle intervient à la

Plus en détail

Object Management Group

Object Management Group Object Management Group p. 1/12 Object Management Group Organisme et Principales normes Pascal André MIAGE Université de Nantes 2 rue de la Houssinière - B.P. 92208 44322 Nantes Cedex 03 pascal.andre@univ-nantes.fr

Plus en détail

Démarche dirigée par les modèles pour la conception d entrepôts de données multidimensionnelles. F.Atigui, F.Ravat, O.Teste, G.

Démarche dirigée par les modèles pour la conception d entrepôts de données multidimensionnelles. F.Atigui, F.Ravat, O.Teste, G. Démarche dirigée par les modèles pour la conception d entrepôts de données multidimensionnelles F.Atigui, F.Ravat, O.Teste, G.Zurfluh IRIT (SIG/ED) Université Paul Sabatier 118 route de Narbonne 31062

Plus en détail

Concepteur Développeur Informatique

Concepteur Développeur Informatique Référentiel de Certification UNION EUROPEENNE Fonds Social Européen DSP REAC RC RF CDC Concepteur Développeur Informatique Libellé réduit: CDI Code titre: TP-01281 Type de document: Guide RC Version: 1

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ---------------------------------------------------------------------------------------------------- ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,

Plus en détail

LANDPARK ACTIVE DIRECTORY OPEN/LDAP

LANDPARK ACTIVE DIRECTORY OPEN/LDAP LANDPARK ACTIVE DIRECTORY OPEN/LDAP Solutions complètes d'inventaire, de gestion de parc et de helpdesk ITIL Avril 2014 LANDPARK ACTIVE DIRECTORY /OPENLDAP INDISPENSABLE POUR INTÉGRER AUTOMATIQUEMENT TOUS

Plus en détail

INFORMATIQUE ET SYSTEMES D INFORMATION

INFORMATIQUE ET SYSTEMES D INFORMATION INFORMATIQUE ET SYSTEMES D INFORMATION VOS CONTACTS : Sandrine LIEBART Christine JOLLY Conseillère Formation Génie Technique et Ecologique, Systèmes d'information Géographique sandrine.liebart@cnfpt.fr

Plus en détail

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools. 1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS yphise@yphise.com - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013 UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

Fiche technique: Archivage Symantec Enterprise Vault Stocker, gérer et rechercher les informations stratégiques de l'entreprise

Fiche technique: Archivage Symantec Enterprise Vault Stocker, gérer et rechercher les informations stratégiques de l'entreprise Stocker, gérer et rechercher les informations stratégiques de l'entreprise L'archivage est devenu un élément crucial des systèmes de messagerie et de collaboration dans les entreprises du monde entier.

Plus en détail