2 TSI - 29/2009. Ingénierie Dirigée par les Modèles. 1. Introduction

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

Download "2 TSI - 29/2009. Ingénierie Dirigée par les Modèles. 1. Introduction"

Transcription

1 Etat de l art sur le développement logiciel basé sur les transformations de modèles Samba Diaw* Redouane Lbath* Bernard Coulette* * Université de Toulouse Laboratoire IRIT-UTM, Université de Toulouse 2-Le Mirail 5, allées A. Machado TOULOUSE CEDEX 9 {diaw, lbath, coulette}@univ-tlse2.fr RÉSUMÉ. L Ingénierie Dirigée par les Modèles (IDM) est une discipline récente du génie logiciel qui met les modèles au premier plan au sein du processus du développement logiciel. Elle a apporté plusieurs améliorations significatives dans le développement des systèmes logiciels complexes en fournissant des moyens permettant de passer d un niveau d abstraction à un autre ou d un espace technologique à un autre. Cependant, la gestion des modèles peut s avérer lourde et coûteuse. Pour pouvoir mieux répondre aux attentes des utilisateurs, il est nécessaire de fournir des outils flexibles et fiables pour la gestion automatique des modèles ainsi que des langages dédiés pour leurs transformations. Dans cet article, nous proposons un tour d horizon sur les travaux récents de l IDM en mettant l accent sur la transformation de modèles qui constitue le thème central de cette discipline. MOTS-CLÉS : Ingénierie dirigée par les modèles (IDM), Architecture dirigée par les modèles (MDA), Transformation de modèle ABSTRACT. MDE (Model-Driven Engineering) is a recent software engineering discipline that focuses on models within the software development process. It has allowed several significant improvements in the development of complex software systems by providing the means that enable to switch from one abstraction level to another or from one modelling space to another. However, models management may be tedious and costly. Thus, it is necessary to provide some flexible and reliable tools for automatic management of models and some specific languages for their transformations in order to live up to users expectations. In this paper, we present the state of the art of recent works in the MDE domain by focusing on models transformation which constitutes the central topic of this discipline. KEYWORDS: Model-Driven Engineering (MDE), Model-Driven Architecture (MDA), model transformation

2 2 TSI - 29/2009. Ingénierie Dirigée par les Modèles 1. Introduction L Ingénierie Dirigée par les Modèles (IDM) est une discipline récente du génie logiciel qui promeut les modèles en entités de première classe dans le développement logiciel (Bézivin, 2004). Elle fait l objet d un grand intérêt aussi bien de la part des équipes de recherche académiques (Action IDM-website) que des laboratoires industriels (Compuware-website, 2008), (Softeam, 2008), (AndroMDA, 2008), (OAW, 2008), (Xactium-website), etc. Persuadés que le modèle est devenu le paradigme majeur par lequel l industrie du logiciel pourra lever le verrou de l automatisation du développement, des organismes tels que l OMG (Object Management Group) et les chercheurs en génie logiciel, cherchent à enrichir les modèles qui sont utilisés dans la conception d applications ou à en définir de nouveaux, à faciliter la création de nouveaux espaces technologiques plus adaptés aux besoins des utilisateurs, et à faciliter les différentes étapes de modélisation nécessaires à l élaboration d un produit fini. Ainsi, pour obtenir un produit fini qui réponde aux attentes des utilisateurs, il est nécessaire de pouvoir transformer des modèles d un niveau d abstraction à un autre ou d un espace technologique à un autre. L'IDM est donc une forme d'ingénierie générative par laquelle tout ou partie d'une application informatique est générée à partir de modèles. Dans cette nouvelle perspective, les modèles occupent une place de premier plan parmi les artéfacts de développement des systèmes et doivent en contrepartie être suffisamment précis et riches afin de pouvoir être interprétés ou transformés par des machines. Le processus de développement des systèmes peut alors être vu comme une séquence de transformations de modèles partiellement ordonnée, chaque transformation prenant un ou des modèles en entrée et produisant un ou des modèles en sortie, jusqu'à l obtention d'artéfacts exécutables. Cette transformation des modèles n est bien sûr pas une tâche aisée. Il est donc nécessaire de disposer d outils flexibles pour la gestion des modèles et de langages dédiés pour leurs transformations et leur manipulation tout au long de leur cycle de vie. Pour donner aux modèles cette dimension opérationnelle, il est essentiel de spécifier leur sémantique et donc aussi de décrire de manière précise les langages utilisés pour les représenter. On parle alors de métamodélisation. L'intérêt pour l'idm a été fortement amplifié, en novembre 2000, lorsque l'omg a rendu publique son initiative MDA (Model-Driven Architecture) (Soley et al., 2000) qui vise la définition d'un cadre normatif pour l'idm. Le travail présenté dans cet article est le fruit d une étude bibliographique sur l IDM. Dans cette présentation, nous avons choisi de mettre l accent sur la transformation de modèles et de ne pas aborder certains aspects néanmoins importants tels que la validation/test (Mottu et al., 2008), la vérification ou la traçabilité (Amar et al, 2008). Ce choix est motivé par le fait que nous avons cherché

3 Développement logiciel à base de modèles 3 à focaliser notre attention sur le thème central du développement IDM qu est la transformation de modèles, et qu à lui seul ce thème suffit à justifier un article de synthèse. D autres travaux de notre équipe IRIT-MACAO (Anwar et al, 2007), (Combemale, 2008), (Ober et al, 2008), (Tran et al., 2007b), (Amar et al, 2008), portent sur d autres aspects de l IDM. Nous précisons que cet article ne s adresse pas en priorité à des spécialistes de l IDM mais à des jeunes chercheurs, des enseignants, des industriels, souhaitant avoir une vue d ensemble sur l IDM en général et sur la notion de transformation en particulier. Ce domaine étant particulièrement vaste et évolutif, nous avons bien conscience d en donner une vision limitée à un instant donné et de ne pas prendre forcément en considération les tout derniers résultats de recherche. Cet article est organisé comme suit. Dans la section 2, nous définissons les notions clés de l IDM et présentons les travaux ayant contribué à sa genèse (MIC, Software Factories). Dans la section 3, nous présentons les bases de l IDM (principalement les standards de l OMG et l approche MDA). La section 4 est dédiée à la transformation de modèles avec un panorama d outils et de langages dédiés. Nous concluons par la section 5 qui reprend les points marquants de l article et ouvre des perspectives de recherche en IDM. 2. Genèse de l IDM L ingénierie logicielle fournit sans cesse de nouvelles technologies facilitant la mise en œuvre des systèmes informatiques (Blanc, 2005). Quelle que soit l approche utilisée (fonctionnel, objet, composants, Middleware ou services, etc.), le but est toujours le même : l accroissement de la qualité des systèmes informatiques tout en facilitant leur mise en œuvre sur une plate-forme d exécution donnée. L inconvénient majeur de ces plates-formes réside dans leur complexité croissante et leur rapide évolutivité. Face à cette situation, les chercheurs et les industriels se sont mis d accord sur le fait que la solution à ce problème devait se traduire par une montée en puissance des modèles, et une séparation plus nette entre le métier et la technologie. Cette décision a permis de faire passer les modèles de leur stade contemplatif qui se réduisait à la représentation et à la documentation des systèmes informatiques, à un stade plus productif qui envisage l utilisation des modèles au cœur du cycle de développement de ces systèmes. Avec cette approche, le code final exécutable n est plus considéré comme l élément central dans le processus de développement mais comme un élément naturellement important qui résulte d une transformation de modèles. Dans (Bézivin, 2004) cette transformation de modèles est définie comme la génération d un ou de plusieurs modèles cibles à partir d un ou de plusieurs modèles sources. Dans l IDM, un modèle peut être défini simplement comme une représentation ou une abstraction d un ou d une partie d un système. Par analogie avec le monde de

4 4 TSI - 29/2009. Ingénierie Dirigée par les Modèles la programmation, un programme exécutable représente le système alors que le code source de ce programme représente le modèle. De cette première définition découle une nouvelle relation appelée represents (Bézivin, 2004) reliant le modèle et le système modélisé. En poursuivant l analogie avec le monde de la programmation, un programme est écrit ou est exprimé dans un langage de programmation, un modèle est écrit ou est exprimé dans un langage de modélisation. Dans le contexte de l IDM, la définition d un langage de modélisation a pris la forme d un modèle, appelé métamodèle (Combemale, 2008) : On dit aussi que le métamodèle représente ou modélise le langage. Il résulte de cette deuxième définition une nouvelle relation appelée conforms-to qui lie le modèle et son métamodèle. A titre d exemple, le métamodèle d UML offre des concepts permettant de décrire les différents modèles (diagramme de classes, diagramme de cas d utilisation, ) d un système. Toujours par analogie avec le monde de la programmation, on dira qu un langage de programmation respecte la grammaire BNF. Il résulte de cette définition une troisième relation, également appelée conforms-to, qui lie le métamodèle à son méta-métamodèle. Le méta-métamodèle est un langage d expression de métamodèles (par exemple le méta-métamodèle de MOF (OMG-MOF, 2006)). La Figure 1 ci-après résume ces notions de base dans l IDM. Metametamodel conforms-to Metamodel models Language conforms-to is expressed Model represents System Figure 1. Notions de base en ingénierie des modèles La métamodélisation : l activité qui consiste à représenter les langages de modélisation par le biais des modèles, a permis l émergence de plusieurs DSMLs (Domain Specific Modeling Languages, littéralement langages de modélisation spécifiques à un domaine). A l image des langages de programmation, un DSML est défini par : sa syntaxe abstraite qui décrit les constructions du langage et leurs relations ; sa syntaxe concrète qui décrit le formalisme permettant à l utilisateur de manipuler les constructions du langage ; sa sémantique qui décrit le sens des constructions du langage.

5 Développement logiciel à base de modèles 5 Plusieurs DSML on été standardisés par l OMG : CWM (Common Warehouse Metamodel) (OMG-CMW, 2003), le standard pour les techniques liées aux entrepôts de données, le profil UML pour CORBA (Common Object Request Broker Architecture) (OMG-CORBA, 2002) qui est un moyen standardisé pour exprimer la sémantique du langage de définition d interface CORBA (CORBA IDL) en utilisant la notation UML. CORBA est une architecture logicielle, pour le développement de composants et d Object Request Broker ou ORB. Ces composants, qui sont assemblés afin de construire des applications complètes, peuvent être écrits dans des langages de programmation distincts, être exécutés dans des processus séparés, voire être déployés sur des machines distinctes. IDL (Interface Definition Language) est un langage standardisé et destiné à la définition d une interface de composants logiciels qui permet de faire communiquer des modules implémentés dans des langages différents (Wikipedia-website). Pour mieux comprendre la philosophie de l IDM, nous présentons dans cette section quelques approches à base de modèles qui ont fortement contribué à l émergence de l IDM : le Model-Integrated Computing (MIC) (MIC-website) (Sztipanovits et al, 1995) et les usines logicielles de Microsoft (Software factories) (Greenfield, 2004) Model-Integrated Computing (MIC) Les travaux autour du Model-Integrated Computing (MIC) (MIC-website) (Sztipanovits et al., 1995), proposent, dès le milieu des années 90, une vision du génie logiciel dans laquelle les artéfacts de base sont des modèles spécifiques au domaine d'application considéré. Initialement, le MIC est conçu pour le développement des systèmes embarqués complexes mais aujourd hui il est utilisé aussi dans une large gamme de systèmes logiciels. Le MIC met particulièrement l accent sur la représentation formelle, la composition, l analyse, et la manipulation des modèles durant le processus de conception. Il place les modèles au centre du cycle de vie des systèmes incluant la spécification, la conception, le développement, la vérification, l intégration, et la maintenance. Le MIC facilite le développement logiciel basé sur les modèles en fournissant une technologie pour la spécification et l utilisation des DSMLs (Domain-specific modeling languages), des outils de méta-programmation, des techniques de vérification et de transformations de modèles. Le MIC repose en fait sur une architecture à trois niveaux : Le niveau Meta qui fournit des langages de métamodélisation, des métamodèles, des environnements de métamodélisation et des méta-générateurs pour créer des outils spécifiques à un domaine qui seront utilisés dans le niveau MIPS (Model- Integrated Program Synthesis).

6 6 TSI - 29/2009. Ingénierie Dirigée par les Modèles Le niveau Modèle (MIPS) qui est constitué de langages de modélisation spécifiques à un domaine, et de chaînes d outils pour la construction, l analyse de modèles et la synthèse d applications. Le niveau Application qui représente les applications logicielles adaptables. Dans ce niveau les programmes exécutables sont spécifiés en terme de composition de plates-formes (CORBA, etc.) Les usines logicielles (Software Factories) Les usines logicielles (Software Factories) (Greenfield, 2004) sont la vision par Microsoft de l ingénierie des modèles. Le terme d usine logicielle fait référence à une industrialisation du développement logiciel et s explique par une analogie entre le processus de développement proposé et une chaîne de montage que l on peut caractériser par les quatre points suivants : Si l on considère comme exemple l industrie automobile, une chaîne de montage ne fabrique généralement qu un seul type de voiture avec différentes combinaisons d options. Les ouvriers sont spécialisés. Il n est pas rare de trouver un ouvrier ayant des compétences sur plusieurs postes de la chaîne de montage mais il est très rare qu un ouvrier ait toutes les compétences depuis l assemblage à la peinture des véhicules. Les outils utilisés sont très spécialisés et fortement automatisés. Les outils utilisés dans une chaîne de montage sont conçus uniquement pour cette chaîne de montage, ce qui permet d atteindre des degrés d automatisation importants. Toutes les pièces assemblées ne sont pas toutes fabriquées sur place. Une chaîne de montage automobile ne fait généralement qu un assemblage de pièces normalisées ou préfabriquées à un autre endroit. L idée des usines logicielles est d adapter ces caractéristiques au développement de logiciels. Les deux premiers points correspondent à la spécialisation des éditeurs de logiciels et des développeurs à l intérieur des équipes de développement. Le troisième correspond à l utilisation d outils de génie logiciel spécifiques au domaine d application, c est-à-dire de langages, d assistants et de transformateurs spécifiques. Le dernier point correspond à la réutilisation de composants logiciels sur étagères. La plate-forme IDM Microsoft DSL Tools est conçue autour de ces idées. Elle a pour vocation de créer des éditeurs graphiques et des générateurs de code personnalisés pour Visual Studio.Net 2005 (Microsoft, 2005), permettant de manipuler des modèles exprimés dans un langage proche des experts métiers, et d en déduire le code source.

7 Développement logiciel à base de modèles Synthèse Les approches classiques à base de modèles ont permis l émergence de l IDM dans la mesure où elles font ressortir les idées clés de l IDM. Le Model-Integrated Computing a fait émerger la notion de générateur d éditeurs de modèles pour un domaine. Les usines logicielles de Microsoft ont mis en exergue la notion de chaîne de transformation d artéfacts. Aujourd hui le terme d usine logicielle est très utilisé dans le domaine de l IDM comme en témoigne le projet éponyme au sein du pôle SYSTEM@TIC (SYSTEM@TIC-website). 3. Les bases de l IDM L'IDM a pour principal objectif de relever un certain nombre de défis du génie logiciel (qualité, productivité, sûreté, séparation des préoccupations, coût, etc.) en suivant une approche à base de modèles dite générative. En focalisant le raisonnement sur les modèles, l IDM permet de travailler à un niveau d abstraction supérieur et de vérifier sur une maquette numérique (ensemble de modèles qui traitent divers aspects d un système) un ensemble de propriétés que l on devait vérifier auparavant sur le système final. L'un des apports supplémentaires du travail sur maquette numérique en lieu et place du traditionnel code logiciel est par ailleurs de fournir un référentiel central permettant à plusieurs acteurs de s'intéresser aux différents aspects du système (sécurité, performance, consommation, etc.). Avec cette approche, l IDM est en passe de lever le verrou qui consistait à ne pouvoir tester un système que tardivement dans le cycle de vie. Dans la suite de cette section, nous présentons tout d abord les principaux standards de l OMG préconisés pour l IDM. Par la suite, nous décrivons l approche MDA de l OMG qui, par sa proposition historique d architecture à quatre niveaux d abstraction, constitue une base indéniable de l IDM même si cette architecture n est pas l unique manière d aborder le développement dirigé par les modèles (Favre et al., 2006) Standards de l OMG L OMG est un consortium regroupant des industriels, des fournisseurs d outils et des académiques dont l objectif principal est d établir des standards pour résoudre les problèmes d interopérabilité entre les systèmes d information. Ces standards sur lesquels repose l IDM sont centrés sur les notions de métamodèles et de métamétamodèles. Dans cette section, nous présentons essentiellement les standards de l OMG utilisés pour les techniques générales de métamodélisation : MOF (Meta-Object Facility), le standard pour établir de nouveaux langages de modélisation ; UML

8 8 TSI - 29/2009. Ingénierie Dirigée par les Modèles (Unified Modeling Language), le standard de modélisation des systèmes ; OCL (Object Constraint Language), le standard pour exprimer la sémantique statique des modèles et des métamodèles ; XMI (XML Metadata Interchange) qui permet de représenter les modèles sous forme de documents XML pour des besoins d interopérabilité ; et enfin DI (Diagram Interchange) qui permet la représentation au format XML des parties graphiques d un modèle Meta-Object Facility (MOF) MOF (OMG-MOF 2.0, 2006) se situe au sommet dans l architecture à quatre niveaux de l OMG (voir figure 2 ci-après). MOF est un méta-formalisme c'est-à-dire un formalisme pour établir des langages de modélisation permettant eux-mêmes d exprimer des modèles. Dans sa version 2.0 le métamodèle MOF est constitué de deux parties : EMOF (Essential MOF), pour l élaboration des métamodèles sans association, et CMOF (Complete MOF) pour les métamodèles avec associations. Il faut souligner que MOF s auto-décrit pour pouvoir limiter l architecture pyramidale de l OMG à quatre niveaux (Figure ci-dessous). Dans cette architecture, le monde réel est représenté à la base de la pyramide (niveau M0). Les modèles représentant cette réalité constituent le niveau M1. Les métamodèles permettant la définition de ces modèles (UML, SPEM, etc.) constituent le niveau M2. Enfin, le métamétamodèle (MOF), unique et métacirculaire, est représenté au sommet de la pyramide (niveau M3). Figure 2. Pyramide de modélisation de l OMG (Bézivin, 2003) Unified Modeling Language (UML) UML est le standard de facto en matière de modélisation des systèmes logiciels, notamment dans les domaines d application tels que l aéronautique, le spatial ou

9 Développement logiciel à base de modèles 9 l automobile. Dans sa deuxième version (OMG-UML 2.2, 2009), le métamodèle UML est composé de deux paquetages : UML 2.2 Superstructure qui devient le standard en matière de modélisation orientée objet, et UML 2.2 Infrastructure qui décrit le noyau d UML commun avec le MOF. UML Infrastructure a été conçu de façon modulaire pour pouvoir être réutilisé par MOF et UML Superstructure. Il est important de noter qu il est sans niveau fixe ; il peut appartenir au niveau M3 s il est intégré dans MOF ou au niveau M2 s il est intégré dans UML Superstructure. UML 2.2 Infrastructure est constitué des paquetages Core ::Abstraction (permettant la réutilisation des paquetages lors de la création de métamodèles), Core ::Basic (permettant l élaboration des diagrammes de classes sans associations), Core ::Constucts (permettant l élaboration des diagrammes de classes avec associations), Core ::Primitive Types (contenant des types primitifs prédéfinis (entier, booléen, chaînes de caractères, etc.) et qui sont utilisés lors de la définition de la syntaxe abstraite des métamodèles), et enfin Core ::Profiles (permettant l élaboration des profils UML) Object Constraint Language (OCL) Le but du langage OCL (OMG-OCL, 2005) est de permettre l ajout de contraintes pour exprimer la sémantique statique des modèles et métamodèles. Un métamodèle n'a pas toujours l'expressivité suffisante pour décrire toutes les relations entre les méta-éléments qu'il contient. Dans le contexte des normes de l'omg, OCL est utilisé pour décrire des contraintes non capturées dans le métamodèle, sous forme d'invariants. L'ajout de ces contraintes est fondamental pour obtenir des métamodèles clairement définis et donc outillables. En outre, OCL définit des pré et postconditions sur les opérations pour que le système modélisé reste dans un état cohérent quand on exécute ces opérations. Les constructions d'ocl ne permettent pas de créer, de détruire ou modifier les objets d'un modèle : la vérification des contraintes se fait sans effet de bord. En plus de la définition de contraintes, OCL peut être utilisé pour spécifier de manière déclarative le comportement de propriétés dérivées et d'opérations, sans toutefois pouvoir exprimer impérativement des modifications de modèles. OCL fournit donc une bonne solution pour exprimer des contraintes sur les modèles mais pas pour décrire le comportement ou la sémantique des modèles. Cette limitation d OCL a amené l OMG à définir le Standard AS (Action Semantics) qui permet de modifier l état d un modèle. Cependant, il n y a pas à ce jour de syntaxe concrète standardisée pour AS (Blanc, 2005). Depuis la deuxième version d UML, le standard AS est intégré dans UML Superstructure. Cette limitation d OCL ne remet pas en cause ses vertus, d autant plus qu il peut être appliqué sur tout type de modèle (MOF, Ecore, UML ) et est utilisé dans plusieurs langages ou normes de transformation (QVT, ATL, Kermeta ).

10 10 TSI - 29/2009. Ingénierie Dirigée par les Modèles XML Metadata Interchange (XMI) Les modèles étant des entités abstraites au niveau conceptuel, l OMG a décidé de standardiser XMI (Blanc, 2005), (OMG-XMI, 2007) qui offre une représentation concrète des modèles sous forme de documents XML. Cette représentation concrète des modèles se fait par des mécanismes appelés sérialisation et génération. La génération consiste à transformer un métamodèle en un DTD (Document Type Definition) alors que la sérialisation permet de représenter les modèles sous forme de document XML (voir figure 3 ci-dessous). Modèle Métamodèle XMI: génération Structuration XML (DTD) Est conforme Est conforme Modèle Modèle XMI: sérialisation Document XML Figure 3. XMI et la structuration de balises XML (BLANC, 2005) Diagram Interchange (DI) Dans la sérialisation des modèles en documents XML, nous pouvons remarquer que la partie graphique des modèles n est pas représentée. Cela est dû au fait que XMI ne permet de représenter sous forme de documents XML que les informations dont la structure est définie dans un métamodèle (voir figure 3 ci-dessus). Pour faire face à cette difficulté, l OMG a décidé de définir un standard spécifique sous le nom de DI (Diagram Interchange) (OMG-DI, 2005). L idée de ce standard est de définir un nouveau métamodèle DI lié à UML et représentant sous forme de métaclasses les idiomes graphiques nécessaires et suffisants à la représentation des parties graphiques des modèles UML. En plus de cela, DI définit une transformation de modèles permettant de générer automatiquement des documents SVG (W3C-SVG, 2003) à partir des documents XML, ceci dans le but de rendre visibles les parties graphiques des modèles UML dans n importe quel outil supportant le format SVG.

11 Développement logiciel à base de modèles L approche MDA (Model-Driven Architecture) MDA (Model-Driven Architecture) (Soley et al., 2000) (OMG-MDA, 2001) est une initiative de l'omg rendue publique en C est à la fois la proposition d une architecture et d une démarche de développement. L'idée de base de MDA est de séparer les spécifications fonctionnelles d'un système des détails de son implémentation sur une plate-forme donnée. Pour cela, MDA définit une architecture de spécification structurée en plusieurs types de modèles : modèles indépendants de l informatisation appelés CIM (Computational Independent Model), modèles indépendants des plates-formes appelés PIM (Platform Independent Model), et modèles spécifiques à une plate-forme appelés PSM (Platform Specific Model), générés à partir des PIM en se basant sur les PDM (Platform Description Model). Un CIM modélise les exigences d un système, son but étant d aider à la compréhension du problème mais aussi de fixer un vocabulaire commun pour un domaine. Dans UML, le diagramme des cas d utilisation est un bon candidat pour représenter un CIM. Le PIM, connu aussi sous le nom de modèle d analyse et de conception, est un modèle abstrait indépendant de toute plate-forme d exécution. Le PIM a pour but de décrire le savoir-faire ou la connaissance métier d une organisation. Ayant isolé le savoir-faire métier dans des PIMs, on a besoin soit de transformer ces modèles en d autres PIMs pour des besoins d interopérabilité, soit de produire des modèles PSM ciblant une plate-forme d exécution spécifique en se basant sur les PDMs pour améliorer la portabilité et augmenter la productivité. Le PDM modélise la plate-forme sur laquelle le système va être exécuté (ex. modèles de composants à différents niveaux d abstraction : PHP, EJB, etc.). Plus précisément, il définit les différentes fonctionnalités de la plate-forme et précise comment les utiliser. L'initiative MDA de l'omg a donné lieu à une standardisation des approches pour la modélisation sous la forme d une structure en 4 niveaux de modélisation (dit encore Pile de modélisation (Figure 2) présentée dans la section précédente dédiée à MOF. La proposition initiale était d'utiliser le langage UML et ses différentes vues comme unique langage de modélisation. Cependant, il a fallu rapidement ajouter la possibilité d'étendre le langage UML, par exemple en créant des profils, afin d'exprimer de nouveaux concepts relatifs à des domaines d application spécifiques. Ces extensions devenant de plus en plus importantes, la communauté MDA a élargi son point de vue en considérant les langages de modélisation spécifiques à un domaine (DSML). La figure 4 ci-après donne une vue générale d un processus MDA appelé couramment cycle de développement en Y en faisant apparaître les différents niveaux d abstraction associés aux modèles.

12 12 TSI - 29/2009. Ingénierie Dirigée par les Modèles Figure 4. Principes du Processus MDA Aujourd hui beaucoup d outils adhèrent à la mouvance MDA. Parmi les plus récents nous pouvons citer : AndroMDA (AndroMDA, 2008) qui est une plate-forme de génération de code extensible qui transforme les modèles UML en composants déployables sur une plate-forme donnée (J2EE, Spring,.NET, etc.). OAW (OAW, 2008), l acronyme de OpenArchitectureWare. C est une plate-forme modulaire de génération développée en Java, qui supporte les modèles EMF, UML2, XML ou des modèles exprimés en JavaBeans, etc. 4. Transformations de modèles La définition de transformations a pour objectif de rendre les modèles opérationnels dans une approche IDM, ce qui augmente considérablement la productivité des applications. La transformation de modèles est une opération très importante dans toute approche orientée modèle. En effet, les transformations assurent les opérations de passage d un ou plusieurs modèles d un niveau d abstraction donné vers un ou plusieurs autres modèles du même niveau (transformation horizontale) ou d un niveau différent (transformation verticale). On peut citer comme exemple de transformation verticale, la transformation PIM vers PSM dans l approche MDA. Le modèle transformé est appelé modèle source et le modèle résultant de la transformation est appelé modèle cible. Cette section introduit le standard QVT, les principes de la transformation de modèles, et les outils IDM utilisés dans la transformation de modèles.

13 Développement logiciel à base de modèles La norme QVT (Query, Views, Transformation) Les transformations de modèles étant au cœur de l IDM, un standard dénommé QVT (Query, Views, Transformation) (OMG-QVT 2.0, 2008) a été établi pour modéliser ces transformations. Ce standard définit le métamodèle permettant l élaboration des modèles de transformation. L appel à proposition de l OMG d avril 2002 pour la norme QVT (OMG-QVT, 2002) visait à atteindre les objectifs suivants : normaliser un moyen d exprimer des correspondances (transformations) entre langages définis avec MOF ; exprimer des requêtes (Query) pour filtrer et sélectionner des éléments d un modèle (notamment sélectionner les éléments source d une transformation) ; proposer un mécanisme pour créer des vues (Views) qui sont des modèles déduits d un autre pour en révéler des aspects spécifiques ; formaliser une manière de décrire des transformations (Transformations). La spécification finale de MOF QVT (OMG-QVT, 2005) fut adoptée par l OMG en novembre Les grandes lignes retenues dans cette spécification étaient les suivantes : La syntaxe abstraite d un métamodèle QVT sera décrite en MOF et sa syntaxe concrète sera textuelle ou graphique ; Le langage de requête devra s appuyer sur le langage OCL ; La gestion des liens de traçabilité devra être automatique ; MOF QVT devra permettre plusieurs scenarii d exécution (transformations unidirectionnelles, multi-directionnelles, incrémentales, etc.). La dernière version du standard QVT (OMG-QVT 2.0, 2008) (Jouault et al., 2006) présente un caractère hybride dans le sens qu elle est composée de trois langages de transformation différents (Figure 5 ci-dessous). La partie déclarative de QVT est définie par les langages Relations et Core ayant des niveaux d abstraction différents. Relations est un langage orienté utilisateur permettant de définir des transformations à un niveau d abstraction élevé. Il a une syntaxe textuelle et graphique. Le langage Core forme l infrastructure de base pour la partie déclarative ; c est un langage technique de bas niveau défini par une syntaxe textuelle. Il sert à spécifier la sémantique du langage Relations, sous la forme d une transformation Relations2Core. La vision déclarative passe par une association de patterns, côté source et cible pour exprimer la transformation, en laissant l'outil se débrouiller seul. Manifestement, elle permet une expression plus simple des transformations de type mappings. La composante impérative de QVT est supportée par le langage Operational Mappings. La vision impérative impose une navigation explicite et une création explicite des éléments du modèle cible. Le langage Operational Mappings étend les deux langages déclaratifs de QVT en ajoutant des constructions impératives

14 14 TSI - 29/2009. Ingénierie Dirigée par les Modèles (séquence, sélection, répétition, etc.) ainsi que des constructions OCL à effet de bord. Les langages de style impératif sont mieux adaptés pour des transformations complexes qui comprennent une composante algorithmique importante. Par rapport au style déclaratif, ils ont l avantage de gérer les cas optionnels dans une transformation. Enfin, QVT propose un deuxième mécanisme d extension pour spécifier des transformations, en permettant d invoquer des fonctionnalités de transformations implémentées dans un langage externe (Black Box). Figure 5. Architecture du standard QVT (OMG-QVT 2.0, 2008) Dans la littérature, beaucoup d outils implémentent le standard QVT. Parmi eux, nous pouvons citer : SmartQVT (Alizon et al., 2008), MediniQVT (Medini QVTwebsite), etc. SmartQVT est une implémentation du langage standardisé QVT-Operational qui permet la transformation de modèles. Cet outil compile des transformations de modèles exprimées en QVT pour produire du code Java exécutables. Cet outil est fourni sous forme de plug-in Eclipse basé sur le framework de métamodélisation EMF. Comme il implémente un langage impératif, il est bien adapté pour décrire des transformations complexes. MediniQVT est une implémentation du langage standardisé QVT-Relations qui permet la transformation de modèles à modèles. Cet outil inclut un éditeur pour spécifier de manière déclarative les transformations et un débogueur graphique. Comme il implémente un langage déclaratif, cet outil n est pas adapté pour des transformations faisant intervenir beaucoup de modèles Principales approches de transformation de modèles Dans (Blanc, 2005) trois approches de transformations de modèles sont identifiées : l approche par programmation, l approche par template et l approche par modélisation.

15 Développement logiciel à base de modèles 15 L approche par programmation consiste à utiliser les langages de programmation en général, et plus particulièrement les langages orientés objet. Dans cette approche, la transformation est décrite sous forme d un programme à l image de n importe quelle application informatique. Cette approche reste très utilisée car elle réutilise l expérience accumulée et l outillage des langages existants. L approche par template consiste à définir des canevas pour les modèles cibles souhaités. Ces canevas sont des modèles cibles paramétrés ou modèles templates. L exécution d une transformation consiste à prendre un modèle template et à remplacer ses paramètres par les valeurs d un modèle source. Cette approche par template est implémentée par exemple dans Softeam MDA Modeler. L approche par modélisation consiste, quant-à-elle, à appliquer les concepts de l ingénierie des modèles aux transformations des modèles elles-mêmes. L objectif est de modéliser les transformations de modèles et de rendre les modèles de transformation pérennes et productifs, en exprimant leur indépendance vis-à-vis des plates-formes d exécution. Le standard MOF 2.0 QVT de l OMG a été élaboré dans ce cadre et a pour but de définir un métamodèle permettant l élaboration des modèles de transformation de modèles. A titre d exemple, cette approche a été choisie par le groupe ATLAS pour le langage de transformation de modèles ATL qui est détaillé dans la section 4.9. Dans l approche par modélisation, la transformation se fait par l intermédiaire de règles de transformations qui décrivent la correspondance entre les entités du modèle source et celles du modèle cible. En réalité, la transformation se situe au niveau des métamodèles source et cible qui décrivent la structure des modèles cible et source. La figure 6 ci-dessous détaille le schéma de base d une transformation dans une approche IDM. Le moteur de transformation de modèles prend en entrée un ou plusieurs modèles sources et crée en sortie un ou plusieurs modèles cibles. Une transformation des entités du modèle source met en jeu deux étapes. utilise utilise Méta-modèle source (ex. UML) Fonction de transformation Méta-modèle cible (ex. BD) conforme à lit lit conforme à Modèle source (ex. modèle UML) lit Moteur de transformation écrit Modèle cible (ex. modèle BD) Figure 6. Schéma de base d une transformation (TOPCASED-WP5, 2008)

16 16 TSI - 29/2009. Ingénierie Dirigée par les Modèles La première étape permet d identifier les correspondances entre les concepts des modèles source et cible au niveau de leurs métamodèles, ce qui induit l existence d une fonction de transformation applicable à tous les modèles conformes au métamodèle source. La seconde étape consiste à appliquer la transformation du modèle source afin de générer automatiquement le modèle cible par un programme appelé moteur de transformation ou d exécution. En résumé, nous pouvons dire que ces différentes approches ont pour finalité commune la transformation de modèles ; ce qui les différencie, c est la façon dont les règles de transformations sont implémentées. L approche par programmation est sans doute la plus facile à utiliser, car elle ne nécessite que peu d apprentissage pour ceux qui maîtrisent les langages de programmation orientés objet. Mais cette approche a des limites au niveau de la lecture des modèles stockés sous forme de fichiers XMI. En effet, même en utilisant un analyseur XML standard, il n est pas simple de lire un fichier XMI, d autant plus que selon l outil utilisé, le XMI généré peut différer dans sa forme pour un même contenu. L approche par template implémentée dans MDA Modeler n est pas difficile à mettre en œuvre pourvu qu on dispose d un langage de définition de template. L approche par modélisation, même si elle est la plus complexe à mettre en œuvre, reste la plus prometteuse, car elle offre une solution favorisant la pérennité des transformations et facilite donc leur réutilisation Types de transformation Une transformation de modèles met en correspondance des éléments des modèles cible et source. Dans (TOPCASED_WP5, 2008), on distingue les types de transformation suivants : une transformation simple (1 vers 1) qui associe à tout élément du modèle source au plus un élément du modèle cible. Un exemple typique de cette transformation est la transformation d une classe UML munie de ses attributs en une table d une base de données relationnelle. une transformation multiple (M vers N) prend en entrée un ensemble d éléments du modèle source et produit un ensemble d éléments du modèle cible. Les transformations de décomposition de modèles (1 vers N) et de fusion de modèles (N vers 1) sont des cas particuliers de transformations multiples. une transformation de mise à jour, encore appelée transformation sur place, consiste à modifier un modèle par ajout, modification ou suppression d une partie de ses éléments. Dans ce type de transformation, les modèles source et cible sont confondus. Une telle transformation agit directement sur le modèle source sans créer de modèle cible. Un exemple typique est la restructuration de modèles (Model Refactoring) qui consiste à réorganiser les éléments du modèle source afin d en améliorer sa structure ou sa lisibilité.

17 Développement logiciel à base de modèles Axes de transformation Selon la classification de (TOPCASED_WP5, 2008) la transformation de modèles est caractérisée par trois axes principaux : l axe processus, l axe métamodèle et l axe paramétrage. L axe processus permet de positionner fonctionnellement les transformations par rapport au processus global d ingénierie. Il est composé de deux sous-axes : le sous-axe vertical qui consiste à faire une transformation de modèles en changeant de niveau d abstraction (par exemple : raffinement d un modèle, passage de PIM vers PSM), et le sous-axe horizontal qui consiste à faire une transformation de modèles en restant au même niveau d abstraction (par exemple : Restructuration de modèle (Model Refactoring), Fusion de modèles). L axe métamodèle permet de caractériser l importance des métamodèles mis en jeu dans une transformation. En programmation classique, un algorithme vérifie la conformité des types des variables mis en jeu dans une opération. Nous pouvons faire le parallélisme avec un algorithme de transformation de modèles qui permet de faire des opérations entre modèles (différence, composition, fusion, etc.). Dans le cas de la transformation, les métaclasses des métamodèles correspondent aux types des variables, d où l influence des métamodèles dans le code d une transformation de modèles. Comme exemple de transformation utilisant l axe métamodèle, on peut citer UMLtoSysML (SysML-website). L axe paramétrage permet de caractériser le degré d automatisation des transformations avec la présence de données pour paramétrer la transformation. Le passage des informations à une transformation de modèles peut être soit interne (par exemple, des valeurs ou des relations fixées dans des règles), soit externe (informations transmises au moment de l exécution de la transformation). Nous parlerons de transformation automatique si tous les paramètres sont mis à la disposition de la transformation avant son exécution et de transformation semiautomatique si certains paramètres ne sont renseignés que lors de l exécution de la transformation Taxonomie des transformations Partant de la nature des métamodèles source et cible, on distingue selon la classification adoptée dans (TOPCASED_WP5, 2008) les transformations dites endogènes et exogènes combinées à des transformations dites verticales et horizontales. Une transformation est dite endogène si les modèles cible et source sont conformes au même métamodèle, exogène dans le cas contraire. Une transformation simple ou multiple peut être exogène ou endogène selon la nature des métamodèles source et cible impliqués dans la transformation. Par contre une transformation sur place implique un même métamodèle donc elle est endogène.

18 18 TSI - 29/2009. Ingénierie Dirigée par les Modèles Une démarche de transformation peut aussi induire un changement de niveau d abstraction. Une transformation est dite verticale si elle met en jeu différents niveaux d abstraction dans la transformation. Le passage de PIM vers PSM ou rétroconception est une transformation exogène et verticale alors que le raffinement est une transformation endogène et verticale. Une transformation est dite horizontale lorsque les modèles source et cible impliqués dans la transformation sont au même niveau d abstraction. La restructuration, la normalisation et l intégration de patrons sont des exemples de transformation endogène et horizontale ; tandis que la migration de plates-formes et la fusion de modèles sont des exemples de transformation exogène et horizontale. Il est important de noter que les modèles source et cible peuvent appartenir à des espaces technologiques différents. Un exemple typique est la transformation d un modèle de classes persistantes en un schéma de base de données relationnelle qui fait intervenir respectivement l espace technologique de la modélisation, en général UML, et celui des bases de données. La figure 7 ci-après résume les combinaisons possibles entre transformations de modèles. Figure 7. Taxonomie des transformations de modèles (Combemale, 2007) 4.6. Propriétés des transformations Les principales propriétés (TOPCASED-WP5, 2008) qui caractérisent les transformations de modèles sont : la réversibilité, la traçabilité, la réutilisabilité, l ordonnancement et la modularité. Réversibilité : une transformation est dite réversible si elle se fait dans les deux sens. Exemple : Model to Text et Text to Model. Traçabilité : la traçabilité permet de garder des informations sur le devenir des éléments des modèles au cours des différentes transformations qu ils subissent. Dans un contexte d ingénierie dirigée par les modèles, il est normal que l information relative à la traçabilité soit considérée comme un modèle. Un modèle

19 Développement logiciel à base de modèles 19 est donc associé à chaque exécution d une transformation tracée. La définition d un métamodèle de traces permet de structurer les traces qui seront générées par la plate-forme de traçabilité et ainsi de mieux les manipuler. Réutilisabilité : la réutilisabilité permet de réutiliser des règles de transformation dans d autres transformations de modèles. Ordonnancement : l ordonnancement consiste à représenter les niveaux d imbrication des règles de transformation. En effet, les règles de transformations peuvent déclencher d autres règles. Modularité : une transformation modulaire permet de mieux modéliser les règles de transformation en faisant un découpage du problème. Un langage de transformation de modèles supportant la modularité facilite la réutilisation des règles de transformation Les outils génériques Dans cette catégorie on retrouve les outils de la famille XML (XLST (W3C- XLST, 1999), Xquery (W3C-Xquery, 2007)) et les outils de transformation de graphes AGG (AGG, 2007), UMLX (Willink, 2003), GreAT (Agrawal et al., 2005), etc. qui sont principalement utilisés dans le monde académique. Les outils de la famille XML ont atteint un certain degré de maturité du fait d une large diffusion dans le monde XML. En revanche, des retours d expérience montrent que le langage XLST est assez mal adapté pour des transformations de modèles complexes. En effet, selon (Muller, 2006) les transformations XLST ne permettent pas de travailler au niveau de la sémantique des modèles manipulés mais seulement à celui d un arbre couvrant le graphe de la syntaxe abstraite d un modèle, ce qui rend ce type de transformation fastidieuse dans le cas des modèles complexes Outils intégrés aux AGL Dans cette catégorie d outils nous retrouvons les outils commerciaux (Objecteering 6/MDA Modeler, IBM Rational Software Modeler) (Blanc, 2005) et certains outils du monde académique parmi lesquels OptimalJ (Compuwarewebsite), FUJABA (Burmester et al, 2004), etc Objecteering MDA Modeler Objecteering MDA Modeler (Blanc, 2005) est un outil puissant commercialisé par Objecteering Software. Il permet aux utilisateurs d élaborer des modèles et d appliquer des opérations de production sur ceux-ci. Les utilisateurs sont généralement des ingénieurs qualité, des architectes, des ingénieurs méthode ou des chefs de projet. Leur objectif est de capitaliser un savoir-faire identifié d une entreprise à travers des composants MDA afin que ces derniers puissent être

20 20 TSI - 29/2009. Ingénierie Dirigée par les Modèles exploités directement par d autres outils tels qu UML Modeler. Dans (Softeam, 2008), un composant MDA est un ensemble fonctionnel autonome apportant des services et des extensions à un modeleur UML pour en étendre ses capacités selon le domaine couvert par ce composant. Un composant MDA est constitué des éléments suivants : un ensemble de profils, des éléments IHM, un modèle Java, un projet de test et un projet First-Steps. MDA Modeler utilise une approche par programmation pour définir des opérations de transformation de modèles. Dans sa dernière version, MDA Modeler est accessible depuis Eclipse ce qui permet de programmer en Java des transformations de modèles par le biais des classes d implémentation associées à chaque élément d UML. L architecture de MDA Modeler ne supporte que des transformations de modèles endogènes (modèle UML vers modèle UML). La création d une transformation de modèles se fait dans MDA Modeler par le biais de la création de profils UML. MDA Modeler offre un support graphique de modélisation des profils, représentant les métaclasses référencées, les stéréotypes utilisés et leurs propriétés. La définition d une transformation de modèles nécessite de référencer toutes les métaclasses UML concernées par la transformation. Ces références contiennent le code de transformation qui sera en langage J ou Java selon le cas. En résumé nous pouvons dire que MDA Modeler offre des mécanismes permettant de définir des opérations sur les modèles et ainsi de les rendre productifs. La figure 8 ci-après résume les principes des outils MDA Modeler et UML Modeler. Knowledgeable people Quality Engineer Software Architect Method Engineer Project Manager Know How MDA Modeler Institutionalization & Capitalization MDA Components Diffusion & application Project Manager Designer Developer UML Modeler Practitioners Figure 8. Principes de MDA Modeler et UML Modeler (Softeam, 2008).

21 Développement logiciel à base de modèles IBM Rational Software Modeler (RSM) RSM (Blanc, 2005) permet à ses utilisateurs de définir des transformations de modèles. L architecture de RSM permet de définir n importe quel métamodèle. Il est donc théoriquement possible de définir des transformations exogènes. Après la création d un projet de transformation de modèles, la définition d une transformation de modèles passe par la spécification de l ensemble des règles qui composent la transformation. Chaque règle porte sur un unique élément d UML par exemple une classe, un paquetage et dispose de sa propre classe d implémentation où seront codées en Java les transformations effectuées sur les modèles. Après avoir défini intégralement la transformation par le biais de règles utilisant des classes d implémentation, RSM peut packager le projet de transformation sous forme de plug-in afin de le rendre utilisable dans n importe quel projet de modélisation. En résumé nous pouvons dire qu à l image de MDA Modeler, RSM propose aussi plusieurs mécanismes de définition de transformation de modèles OptimalJ Optimal J (Compuware-website, 2003) est le fruit d un long travail au sein de la société Compuware qui utilise le langage TPL (Template Pattern Language) comme langage de transformation. L outil OptimalJ représente un exemple typique de l approche dite guidée par la structure qui est une approche de transformation de modèles à modèles. L outil propose l ajout de patrons de transformation au processus métier (PIM). Les approches dites guidées par la structure sont caractérisées par un processus de transformation de modèles composé de deux étapes. La première étape permet de créer la structure hiérarchique du modèle cible (PSM), alors que durant la seconde étape, les attributs et les références sont mis en place afin de compléter le modèle produit. Dans cette approche, l environnement de transformation définit l ordonnancement et la stratégie d application des règles, l utilisateur ne fournissant que les règles de transformation. La version 3 de l outil OptimalJ est un exemple d implémentation du langage Core de QVT FUJABA FUJABA (Burmester et al, 2004), l acronyme de From UML to Java and Back Again, a pour but de fournir un environnement de génération de code Java et de rétro-conception. Il utilise UML comme langage de modélisation visuel. Durant la dernière décennie, l environnement de FUJABA est devenu une base pour beaucoup d activités de recherche notamment dans le domaine des applications distribuées, les systèmes de bases de données ainsi que dans le domaine de la modélisation et de la simulation des systèmes mécaniques et électriques. Ainsi, l environnement de FUJABA est devenu un projet open-source qui intègre les mécanismes de l IDM.

22 22 TSI - 29/2009. Ingénierie Dirigée par les Modèles Synthèse L intérêt de cette catégorie d outils essentiellement proposés par des vendeurs d atelier de génie logiciel est d une part leur maturité et d autre part leur excellente intégration dans l atelier qui les héberge. L inconvénient en est que la majeure partie d entre eux intègre des langages de transformation propriétaires qui s adaptent difficilement à l évolution de l IDM. Ces outils montrent aussi leur limite lorsque les transformations de modèles deviennent complexes et qu il faut les gérer, les faire évoluer et les maintenir sur une longue période. MDA Modeler ne peut faire que des transformations de modèles endogènes. RSM est limité s il s agit de faire une transformation multiple de modèles (M vers N). En outre FUJABA, même s il présente des idées novatrices, a besoin d être renforcé notamment dans le cadre du reverse-engineering qui constitue un thème de recherche prometteur de l IDM. En résumé, nous pouvons dire que les outils intégrés aux AGL ont atteint un bon niveau de maturité (RSM et MDA Modeler) mais présentent certaines limitations Les langages/outils dédiés à la transformation de modèles Dans cette catégorie, on retrouve les outils et langages conçus spécifiquement pour faire de la transformation de modèles et prévus généralement pour être intégrables dans les environnements de développement standard (Eclipse par exemple). Parmi ces outils, nous pouvons citer Mia-Transformation (MiaSoftwarewebsite) de Mia-Software (outil qui exécute des transformations de modèles prenant en charge différents formats d entrée et de sortie (XMI, API, etc.)), et PathMate de PathFinders Solution (PathFinders Solution-website) (outil configurable qui s intègre dans les AGL implémentant UML). Dans le monde académique nous retrouvons AndroMDA (AndroMDA, 2008), BOTL (Bidirectional Object oriented Transformation Language) (Marschall et al., 2003), Coral (Alanen et al., 2004) (outil pour créer, éditer, et transformer des modèles à l exécution), ModTransf (ModTransf-website) (un langage de transformation basé sur les règles d XML), QVTEclipse (QVTEclipse-website) (une implantation préliminaire du standard QVT dans Eclipse), UMT-QVT (UMT-QVTwebsite) (UML Model Transformation Tool) et le plug-in Eclipse ADT qui implémente le langage ATL(ATLAS, 2005) (Bézivin et al., 2005) du groupe ATLAS de l INRIA-LINA. Dans la suite de cette section, nous présentons essentiellement le langage ATL qui est représentatif de cette catégorie des langages dédiés aux transformations, et fait l objet de nombreuses expérimentations dans la communauté IDM. ATL est l acronyme d ATLAS Transformation Language ; c est un langage à vocation déclarative, mais qui est en réalité hybride et permet de faire des transformations de modèles aussi bien endogènes qu exogènes. Les outils de transformation liés à ATL sont intégrés sous forme de plug-in ADT (ATL Development Tool) pour l environnement de développement Eclipse. Un modèle de

23 Développement logiciel à base de modèles 23 transformation ATL se base sur des définitions de métamodèles au format XMI. Sachant qu il existe des dialectes d XMI, ADT est adapté pour interpréter des métamodèles décrits à l aide d EMF (Eclipse) ou MDR (NetBeans). Afin d assurer son indépendance par rapport aux autres outils de modélisation, ADT met à disposition le langage KM3 (Kernel MetaMetaModel) qui est une forme textuelle simplifiée d EMOF permettant de décrire des métamodèles et des modèles. En effet, ADT supporte les modèles décrits dans différentes dialectes d XMI, qui peuvent par exemple être décrits au format KM3 et transformés au format XMI voulu. Une fois les métamodèles décrits en KM3, ils sont injectés dans le métamodéle Ecore. ATL est défini par un modèle MOF pour sa syntaxe abstraite et possède une syntaxe concrète textuelle. Pour accéder aux éléments d un modèle, ATL utilise des requêtes sous forme d expressions OCL. Une requête permet de naviguer entre les éléments d un modèle et d appeler des opérations sur ceux-ci. Une règle déclarative d ATL, appelée Matched Rule, est spécifiée par un nom, un ensemble de patrons sources (InPattern) mappés avec les éléments sources, et un ensemble de patrons cibles (OutPattern) représentant les éléments créés dans le modèle cible. Depuis la version 2006 d ATL, de nouvelles fonctionnalités ont été ajoutées telles que l héritage entre les règles et le multiple pattern matching (plusieurs modèles en entrée). Le style impératif d ATL est supporté par deux constructions différentes. En effet, on peut utiliser soit des règles impératives appelées Called Rule, soit un bloc d instructions impératives (ActionBlock) utilisé avec les deux types de règles. Une Called Rule est appelée explicitement en utilisant son nom et en initialisant ses paramètres. La figure 9 ci-dessous présente la syntaxe abstraite d une règle de transformation ATL. Operation (from OCL) Rule 1 name : string 1 CalledRule MatchedRule 1 1 inpattern 0..1 actionblock 0..1 outpattern InPattern ActionBlock OutPattern Figure 9. Syntaxe abstraite d une règle de transformation ATL (extrait du métamodèle ATL)

24 24 TSI - 29/2009. Ingénierie Dirigée par les Modèles ATL supporte deux modes d exécution différents : le mode standard et le mode par raffinement. Dans le mode standard, les éléments sont créés seulement quand les patterns sources définis dans les règles déclaratives ont été reconnus dans le modèle ; le système instancie alors les éléments du pattern cible. Une fois l étape d instanciation passée, un lien de traçabilité est créé, et associe chaque élément reconnu du modèle source à un élément du modèle cible. Finalement, le système évalue ensuite ces liens de traçabilité afin de déterminer les valeurs des propriétés des éléments instanciés. Dans le mode par raffinement, les éléments dont les patterns sources non pas été matchés par les règles sont automatiquement copiés dans le modèle cible par le moteur d exécution. Ceci réduit considérablement le développement de transformations destinées à modifier une petite partie d un modèle en gardant le reste inchangé Outils de métamodélisation La dernière catégorie des outils de transformation de modèles est celle des outils de méta-modélisation dans lesquels la transformation de modèles revient à l exécution d un méta-programme. Parmi ces outils nous pouvons citer Kermeta (Triskell, 2005) (Jézéquel et al, 2005) (Muller et al, 2005) de l IRISA-INRIA Rennes, MetaEdit+ (Tolvanen et al, 2003) de MetaCase (outil qui permet de définir explicitement un métamodèle et au même niveau de programmer tous les outils nécessaires, allant des éditeurs graphiques aux générateurs de code en passant par des transformateurs de modèles), XMF-Mosaic (Xactium-website) de la société Xactium, EMF/Ecore (Eclipse-EMF-website) de la fondation Eclipse, l outil TOPCASED (TOPCASED_WP5, 2008) (TOPCASED-website) (atelier de développement open source), OpenEmbedded (une plate-forme IDM). Dans la suite de cette section, nous présentons essentiellement Kermeta, XMF-Mosaic, EMF/Ecore et TOPCASED qui sont représentatifs de cette catégorie d outils de métamodélisation, et qui font l objet de nombreuses expérimentations dans la communauté IDM Kermeta Dans l approche par programmation classique, on dit qu un programme est composé d un ensemble de structures de données combinées à des algorithmes. C est sur la base de cette assertion que le langage de métamodélisation Kermeta (Muller et al, 2005) a été élaboré. Une description en Kermeta est assimilable à un programme issu de la fusion d un ensemble de métadonnées (EMOF) et du métamodèle d action AS (Action Semantics) qui est maintenant intégré dans UML Superstructure. Le langage Kermeta est donc une sorte de dénominateur commun des langages qui coexistent actuellement dans le paysage de l IDM. Ces langages sont les langages de métadonnées (EMOF, ECORE, ), de transformation de modèles (QVT, ATL, ), de contraintes et de requêtes (OCL), et d actions (Action Semantics, Xion).

25 Développement logiciel à base de modèles 25 Kermeta est un véritable langage de métamodélisation exécutable. En effet, le métamodèle de Kermeta est composé de deux packages, Core et Behavior correspondant respectivement à EMOF et à une hiérarchie de métaclasses représentant des expressions impératives. Ces expressions seront utilisées pour programmer la sémantique comportementale des métamodèles. En effet, chaque concept d un métamodèle Kermeta peut contenir des opérations, le corps de ces opérations étant composé de ces expressions impératives (package Behavior). On peut ainsi définir la structure aussi bien que la sémantique opérationnelle d un métamodèle, rendant ainsi, exécutables les modèles qui s y conforment. Kermeta est intégré à l IDE Eclipse sous la forme d un plug-in et, grâce aux outils de génération Ecore2Kermeta, on peut traduire un métamodèle Ecore en un squelette de code Kermeta. Ce squelette servira de base pour le codage des méta-opérations. Comme UML 2.2 Infrastructure, il intervient à deux niveaux dans l architecture de métamodélisation de l OMG. D une part il intervient comme un langage de niveau M3 c est-à-dire que tous les métamodèles lui sont conformes, mais également comme une bibliothèque de base pour construire les métamodèles de niveau M XMF-Mosaic XMF-Mosaic (Xactium-website) est un outil destiné à développer des langages de modélisation et à déployer les outils nécessaires au travail avec ces langages incluant éditeurs, analyseurs de code et transformateurs. Dans XMF-Mosaic, les métamodèles sont considérés comme des langages spécifiques à un domaine et sont appelés modèles de domaine. XMF-Mosaic est régi par un langage appelé XOCL (extensible Object Constraint Language) qui est un langage basé sur XML pour représenter les contraintes OCL dans les modèles UML. Parallèlement, le logiciel fournit un ensemble d outils graphiques qui permettent de créer des métamodèles, de construire des modèles correspondants et de décrire des transformations. Pour la transformation de modèles, XMF-Mosaic propose le langage Xmap. A l aide de ce langage, on peut définir un ensemble de règles de transformation ou mappings définis chacun entre un ou plusieurs éléments d un métamodèle source et un élément d arrivée du métamodèle cible. Le logiciel dispose d un outil graphique pour définir le squelette d un mapping qui permet d indiquer les métaclasses de départ, la métaclasse d arrivée et de définir des dépendances entre mappings, lorsque l un d entre eux peut être amené à faire appel à une autre règle de transformation EMF/Ecore EMF (Eclipse-EMF-website), qui signifie Eclipse Modeling Framework, est un environnement de modélisation et de génération de code qui facilite la construction d outils et d applications basées sur des modèles de données structurées. Il est à la base de nombreux outils IDM. Son métamodèle Ecore sert de pivot et permet donc l'interopérabilité entre outils. EMF permet aussi le développement rapide et

26 26 TSI - 29/2009. Ingénierie Dirigée par les Modèles l intégration de nouveaux plug-ins Eclipse. EMF est composé d un ensemble de briques appelées plug-ins. Parmi ces plug-ins nous citons : Le métamodèle Ecore qui est un canevas de classes pour décrire les modèles EMF et manipuler les référentiels de modèles. EMF.Edit est un canevas de classes pour le développement d éditeurs de modèles EMF. Le Modèle de génération GenModel qui permet de personnaliser la génération Java. JavaEmitterTemplate qui est un moteur de template générique. JavaMerge qui est un outil de fusion de code Java. La rencontre de l IDM et du phénomène Eclipse a donné lieu à de nombreux projets tels que : EMP (Eclipse Modeling Project) qui met l accent sur l évolution et la promotion des technologies de développement basées sur les modèles dans la communauté Eclipse, MoDisco qui fournit une plate-forme extensible pour développer des outils IDM, etc. EMP est un package qui regroupe plusieurs projets qui traitent de la modélisation afin d unifier les visions et d améliorer l interopérabilité. Ces projets sont : EMF, GMF (Graphical Modeling Framework) qui permet de développer des générateurs d éditeurs de modèles, UML 2, et GMT (Generative Modeling Tools) TOPCASED Le projet TOPCASED (TOPCASED_WP5, 2008) (TOPCASED-website) a pour but de fournir un atelier basé sur l IDM pour le développement des systèmes logiciels et matériels embarqués. Les autorités de certification pour les domaines d application de TOPCASED (aéronautique, espace, automobile, etc.), imposent des contraintes de qualification fortes pour lesquelles les approches formelles (analyse statique, vérification du modèle, preuve) sont nécessaires. L outillage TOPCASED a pour principal objectif de simplifier la définition de nouveaux DSLs (Domain Specific Languages) ou de langages de modélisation en fournissant des technologies de niveau méta telles que des générateurs d éditeurs syntaxiques (textuels et graphiques), des outils de validation statique et d exécution de modèle, ce qui lui confère les atouts d un véritable outil de méta-programmation Synthèse Les outils de métamodélisation proposent des technologies qui permettent de faire des transformations impératives (cas de Kermeta), qui engendrent la syntaxe concrète d un langage à partir de sa syntaxe abstraite (c est le cas de TOPCASED et de l outil OpenEmbedded), et qui permettent l interopérabilité entre les outils IDM (cas de l environnement de modélisation EMF). Malheureusement, ces outils sont limités s il s agit de transformer beaucoup de modèles ou des modèles de taille importante. C est ainsi que des recherches s engagent sur le passage à l échelle de

27 Développement logiciel à base de modèles 27 l IDM, la notion de méga-modèles et de modèles infinis, et la gestion collaborative de modèles (Sriplakich, 2007). 5. Conclusion Le développement logiciel dirigé par les modèles a pour principal objectif de concevoir des applications en séparant les préoccupations et en plaçant les notions de modèles, métamodèles et transformations de modèles au centre du processus de développement. Nous avons présenté dans cet article un état de l art sur le développement logiciel basé sur les transformations de modèles. Comme nous l avons dit dans l introduction, nous avons plus particulièrement mis l accent sur les concepts, langages et outils associés à la transformation de modèles paradigme central de l IDM. Cette focalisation sur la notion de transformation ne doit pas faire oublier qu une transformation étant in fine un programme exécutable, toutes les problématiques liées au développement du logiciel (test, vérification, traçabilité, ) peuvent s appliquer à elle. De même, les modèles étant représentables par des graphes (généralement enrichis), les résultats de recherche théoriques sur les graphes sont de plus en plus utilisés pour modéliser et prouver des propriétés sur les modèles. Pour des contraintes d espace, cet aspect de l IDM n a pas été traité dans l article. Cette étude a montré la rapide évolution de cette jeune discipline qu est l IDM, car plus de la moitié des ouvrages, thèses et articles référencés est postérieure à l année L IDM reste fortement marquée par les propositions de l OMG (standards, initiative MDA) même si chacun reconnaît aujourd hui que le développement à base de modèles ne peut pas se cantonner à une vision orientée UML. De fait, nous constatons aujourd hui que l IDM à langage unique (UML) perd sa position centrale au profit de l IDM à langage multiple (approche DSL). Cette situation a pour conséquence le développement de nombreux langages spécifiques (par exemple pour l expression des contraintes, les actions, les transformations, la sérialisation, etc.). Il en résulte par contre une délicate problématique d intégration de ces langages qui tendent à disperser les concepts de manipulation de modèles. Il faut donc doter l IDM de moyens pour contrôler la définition et la fusion de ces langages et créer une synergie entre les différents groupes de recherche dans ce domaine. L action IDM (Action IDM-website) et plusieurs conférences (telles que MODELS, EC-MFA, IDM, etc.) ont été ainsi créées pour offrir un cadre d échange à la communauté IDM. Enfin, l un des défis majeurs de l IDM dans les prochaines années est sans aucun doute le passage à l échelle et son industrialisation. Il s agit entre autres de développer des plates-formes supportant des processus de développement IDM collaboratifs et certifiés pour des logiciels éventuellement critiques, tels que les systèmes embarqués. Parmi les axes dans lesquels notre équipe est d ores et déjà impliquée, nous pouvons citer : le passage à l échelle de l IDM avec des modèles

28 28 TSI - 29/2009. Ingénierie Dirigée par les Modèles nombreux et de grande taille (prise en compte des points de vue des utilisateurs), la modélisation et la mise en œuvre automatisée de processus IDM collaboratifs, la traçabilité des processus de développement IDM, la définition et l application de patrons orientés IDM, la génération par transformations de composants exécutables multi-cibles, etc. 6. Bibliographie Action IDM, AGG, The Attributed Graph Grammar system (AGG), Agrawal A., Karsai G., Kalmar Z., Neema S., Shi F., Vizhanyo A., The Design of a Language for Model Transformations, Software and Systems Modeling, vol. 5, n 3, 2006, p Alanen M., Porres I., "Coral: A Metamodel Kernel for Transformation Engines", Proceedings of the Second European Workshop on Model-Driven Architecture (MDA), Canterbury, September 7th-8th 2004, Canterbury, University of kent, p Alizon F., Belaunde M., Dupre G., Nicolas B., Poivre S., Simonin J., «Les modèles dans l'action à France Télécom avec SmartQVT», Génie Logiciel, source : Journées Neptune n 5, 08/04/2008, p AndroMDA (2008), available at: Anwar A., Ebersold S., Coulette B., Nassar M., Kriouile A., «Vers une approche à base de règles pour la composition de modèles : Application au profil VUML», RSTI -L OBJET, numéro spécial IDM, vol. 13, n 4, 2007, p Amar B., Leblanc H., Dhaussy P., Coulette B., «La description d'un modèle de traçabilité pour la mise en œuvre d'une technique de validation formelle de modèles», Génie Logiciel, source : Journées Neptune n 5, 08/04/2008, p ATLAS group, KM3: Kernel MetaMetaModel, Technical Report version 0.3, August 2005, LINA&INRIA. Bendraou R., UML4SMP : Un langage de modélisation de procédé de développement de logiciel exécutable et orienté modèle, Thèse de doctorat, Université de Paris VI, 06 Septembre Bézivin J., Blanc X., «Vers un important changement de paradigme en génie logiciel» Journal Développeur Référence - Juillet 2002, p Bézivin J., Blanc X., «Promesses et Interrogations de l approche MDA», Journal Développeur Référence - Septembre 2002, p Bézivin J., «La transformation de modèles», Ecole d Eté d Informatique CEA EDF INRIA : cours #6, INRIA-ATLAS & Université de Nantes, Bézivin J., «Sur les principes de base de l ingénierie des modèles» RTSI-L OBJET, vol.10, n 4, 2004, p

29 Développement logiciel à base de modèles 29 Bézivin J., Jouault F., «Using ATL for Checking Models», In Proceedings of the International Workshop on Graph and Model Transformation (GraMoT): Session 1: Different views on model transformation, Tallinn, Estonia, 2005, p Blanc X., MDA en action Ingénierie logicielle guidée par les modèles, Paris, Eyrolles, Burmester S., Giese H., Niere J., Tichy M., Wadsack J., Wagner R., Wendehals L., Zundorf A., "Tool Integration at the Meta-Model Level within the FUJABA Tool Suite", International Journal on Software Tools for Technology Transfer (STTT), vol. 6, n 3, 2004, p Combemale B., Cregut X., Roug le S., Migeon F., Pantel M., Maurel C., «Sémantique dans la méta-modélisation», Actes des Secondes Journées sur l Ingénierie Dirigée par les Modèles (IDM 06), Lille, Juin 2006, Lille, Université de Lille, p Combemale B., Cregut X., Pantel M., Transformations de modèles : Principes, Standards et Exemples, Rapport de recherche, 05 Novembre 2007, IRIT&CNRS. Combemale B.., Approche de métamodélisation pour la simulation et la vérification de modèle -- Application à l'ingénierie des procédés, Thèse de doctorat, IRIT&ENSEEIHT, 11 Juillet Compuware-website, OptimalJ - Model-driven development for Java, Electronic Source: Compuware, Eclipse-EMF, Favre J., Estublier J., Blay-Fornarino M., L'ingénierie Dirigée par les Modèles. Au delà du MDA, Cachan, Hermes-Lavoisier, Greenfield J., Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools, LNCS, n 3286, 2004, p James D., "GME: the generic modeling environment", In Proceedings of the 18th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages 94/102 and Applications (OOPSLA '03), Anaheim, California, USA, October 2003, New York, ACM Press, p Jézéquel J., Fleurey F., Drey Z., Muller P., Pantel M., Maurel C., «Kermeta : Un langage de méta-modélisation exécutable compatible avec EMOF/ECORE, et son environnement de développement sous Eclipse», Actes des Premières Journées sur l Ingénierie Dirigée par les Modèles IDM 05, session Démos&Posters, Paris, 30 Juin- 01 Juillet 2005, Paris, Université Pierre & Marie Curie, p Jouault J., Kurtev I., «On the Architectural Alignment of ATL and QVT», In Proceedings of the 2006 ACM symposium on Applied computing, session Model transformation, Dijon, 2006, New York, ACM Press, p Marschall F., Braun P., Model Transformations for the MDA with BOTL, In Proceedings of the Workshop on Model-Driven Architecture: Foundations and Applications, Enschede, the Netherlands, June 26 th -27 th 2003, Enschede, University of Twente, p Medini QVT, available at:

30 30 TSI - 29/2009. Ingénierie Dirigée par les Modèles Meylan S, Tatibouet B., Etude et comparaison d outils de transformation de modèles. Rapport de recherche, Janvier 2006, LIFC Université de FRANCHE-COMTE. MiaSoftware-website, Mia Transformation: e-source: MIC-website, MIC: Microsoft, Visual Studio.Net, available at: DSL Tools available at: MODELS, Electronic source: ModTransf, Electronic Source: Mottu J. M., Baudry B., Le Traon Y., «Test de Transformation de Modèles : Expression d'oracles», Actes des 4 èmes Journées sur l'ingénierie Dirigée par les Modèles IDM '08, Mulhouse, 5-6 juin 2008, Mulhouse, Université de Haute Alsace, p Muller P. A., Fleurey F., Jézéquel J. M., «Weaving Executability into Object-Oriented Meta- Languages», MODELS/UML 2005, LNCS 3713, Montego Bay, Jamaica, October 2005, Berlin/ Heidelberg, Springer, p Muller Pierre Alain, De la modélisation objet des logiciels à la métamodélisation des langages informatiques, HDR, Université de Rennes 1, 20 Novembre Nano O., Blay M., «Une approche MDA pour l intégration de services dans les plates-formes à composants», Journées du groupe de travail OCM 2003, Vannes, Février 2003, p OAW (2008), available at: Obeo, L approche MDA pour accélérer les développements JEE : mythe ou réalité, Rapport Technique, 23 novembre 2006, Société Obeo. Ober I., Coulette B., Lakhrissi Y., In Proceedings of ACM/IEEE International Conference Model-Driven Engineering Languages and Systems (MODELS 2008), Toulouse, October , Berlin/Heidelberg, Springer, p OMG, CWM, OMG, UML profile for CORBA, OMG, DI 2.0, OMG, MDA, OMG, MOF2.0, OMG Object Constraint Language (OCL), OMG Available Specification, Version 2.0, source: OMG, QVT 2.0 RFP, Avril OMG, QVT Final Adopted spec., November 2005 OMG, QVT 2.0 Transformation Spec., Avril OMG, UML 2.2, OMG, XMI, Décembre 2007.

31 Développement logiciel à base de modèles 31 PathfinderSolutions, source: Perez-Medina J., Marsal-Layat S., Favre J-M., «Transformation et vérification de cohérence entre modèles du génie logiciel et modèles de l interface homme-machine», Actes du Congrès INFORSID'07, Perros-Guirec, France, May 2007, IRISA/BADINS& ENSSAT, p QVTEclipse, Electronic Source: Softeam, support de formation Objecteering 6/MDA Modeler version 2.0, Janvier Soley et al., MDA (Model-Driven Architecture), White Paper, Draft 3.2, November 27-th, 2000, OMG Staff Strategy Group Sottet J., Calvary G., Favre J. M., «Ingénierie de l interaction homme-machine dirigée par les modèles.», Actes des Premières Journées sur l Ingénierie Dirigée par les Modèles IDM 05, Paris, 30 Juin- 01 Juillet 2005, Paris, l'université Pierre & Marie Curie, p Sriplakich P., ModelBus : un environnement réparti et ouvert pour l ingénierie des modèles, Thèse de doctorat, Université de Paris VI, 05 Septembre SYSTEM@TIC PARIS REGION, SysML-website, Sztipanovits J., Karsai G., Biegl C., Bapty T., Ldeczi K., Misra A., "MULTIGRAPH: architecture for model-integrated computing", In proceedings of the First IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'95), pp , Southern Florida,USA, November , Washington DC, IEEE Press, p Tolvanen J.-P., Rossi M., "MetaEdit+: defining and using domain-specific modeling languages and code generators", In Proceedings of the conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '03), Anaheim, California, October , New York, ACM Press, p TOPCASED-WP5, Guide méthodologique pour les transformations de modèles. Rapport de recherche, version 0.1, 18 Novembre 2008, IRIT/MACAO. TOPCASED-website, Tran H.N., Coulette B., Dong Thi B. T., Broadening the Use of Process Patterns for Modeling Processes, In Proceeding of the International Conference on Software Engineering and Knowledge Engineering (SEKE 07), Boston, July , Skokie, Illinois, USA, Knowledge Systems Institute, p Tran H.N., Coulette B., Dong Thi B. T., Modelling Process Patterns and their Application, In Proceeding of International Conference on Software Engineering Advances (ICSEA 07), Cap Estérel, France, August , Washington, DC, IEEE Press, p Triskell, Kermeta, IRISA, Rennes, UMT-QVT, UMT, Electronic Source: Wikipédia, available at:

32 32 TSI - 29/2009. Ingénierie Dirigée par les Modèles Willink E.D., UMLX: A graphical transformation language for MDA, In Proceedings of the Workshop on Model-Driven Architecture: Foundations and Applications, Enschede, The Netherlands, June 26 th -27 th 2003, Enschede, University of Twente, p W3C, XLST, Novembre W3C, Janvier W3C Xquery, Janvier Xactium-website, XMF-Mosaic, Electronic Source: 7. Biographie Samba Diaw termine un doctorat en informatique en cotutelle entre l Université de Ziguinchor au Sénégal et l Université de Toulouse II - Le Mirail. Membre de l équipe MACAO de l IRIT, et Enseignant-Chercheur à l Université de Ziguinchor, ses travaux portent sur la modélisation et la mise en œuvre des processus de développement logiciel à base de modèles. Il s intéresse plus particulièrement à la modélisation des procédés logiciels IDM et à leur mise en œuvre assistée afin de guider les développeurs dans l élaboration et la génération des modèles. Redouane Lbath est Maître de Conférences en informatique à l université de Toulouse 1 Capitole et membre permanent de l équipe MACAO de l IRIT. Ses premiers travaux de recherche ont porté sur l Intelligence Artificielle appliquée aux domaines techniques. Depuis 2003, ses travaux se focalisent sur l application des techniques IA à la modélisation et mise en œuvre du processus de développement logiciel et à l Ingénierie Dirigée par les Modèles. Bernard Coulette est Professeur en Informatique depuis 2000 à l Université de Toulouse II - Le Mirail et membre de l Equipe MACAO de l IRIT. Ses travaux portent d une part sur l analyse/conception par points de vue (profil VUML) et la composition de modèles, d autre part sur la modélisation et la mise en œuvre des processus de développement IDM. Son activité de recherche et d encadrement de thèses se déroule en particulier dans le contexte de collaborations internationales (Vietnam, Maroc).

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

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 [email protected]

Plus en détail

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

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: [email protected]

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: [email protected] itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

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

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

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

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

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

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

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

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

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

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

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur [email protected]. 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 [email protected] Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

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

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

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

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

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

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

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

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

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

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

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: [email protected] 1. Introduction

Plus en détail

RTDS G3. Emmanuel Gaudin [email protected]

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin [email protected] 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

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

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

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

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Christian Soutou UML 2 pour les bases de données Avec 20 exercices corrigés Groupe Eyrolles, 2007, ISBN : 978-2-212-12091-2 Chapitre 4 Outils du marché : de la théorie à la pratique Non mais t as déjà

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

UML est-il soluble dans les méthodes agiles?

UML est-il soluble dans les méthodes agiles? Pascal ROQUES Valtech Training UML est-il soluble dans les méthodes agiles? octobre 07 Résumé On entend beaucoup parler actuellement de deux approches ayant l'air fondamentalement opposées : l'approche

Plus en détail

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée

Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée Colloque : Systèmes Complexes d Information et Gestion des Risques pour l Aide à la Décision Le pilotage des collaborations et l interopérabilité des systèmes d information Vers une démarche intégrée BELKADI

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

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

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE

Plus en détail

Rendez-vous la liberté avec Rational Quality Manager

Rendez-vous la liberté avec Rational Quality Manager IBM Software Group RAT02 Rendez-vous la liberté avec Rational Quality Manager Bernard Dupré IBM Rational IT Specialist 2008 IBM Corporation Envisager une plateforme qui change la production de logiciels

Plus en détail

Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

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

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P EUROCOPTER SAS Groupe EADS Marignane Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P Titre Domaine

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Vérifier la qualité de vos applications logicielle de manière continue

Vérifier la qualité de vos applications logicielle de manière continue IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions

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

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Le Guide Pratique des Processus Métiers

Le Guide Pratique des Processus Métiers Guides Pratiques Objecteering Le Guide Pratique des Processus Métiers Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam 21 avenue Victor Hugo 75016

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Objecteering. La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle. www.objecteering.com

Objecteering. La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle. www.objecteering.com Objecteering La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle Pour les Systèmes d information : SOA, UML2, BPMN, EA, MDA Pour les Systèmes techniques : UML2, SysML, MDA www.objecteering.com

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 [email protected] Ensemble d activités conduisant à la production d un logiciel Sur un échantillon de

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

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

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX METHODES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

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

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Olivier Glassey Jean-Loup Chappelet Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML Working paper de l'idheap 14/2002 UER: Management public / Systèmes d'information

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

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

Une architecture pour les transformations de modèles et la restructuration de modèles uml

Une architecture pour les transformations de modèles et la restructuration de modèles uml N d ordre : 3088 THÈSE présentée devant l Université de Rennes 1 pour obtenir le grade de Docteur de l Université de Rennes 1 Mention Informatique par Damien Pollet Équipe d accueil : Triskell Irisa École

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Synergies entre Artisan Studio et outils PLM

Synergies entre Artisan Studio et outils PLM SysML France 13 Novembre 2012 William Boyer-Vidal Regional Sales Manager Southern Europe Synergies entre Artisan Studio et outils PLM 2012 2012 Atego. Atego. 1 Challenges & Tendances Complexité des produits

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

analyse et pérennise votre patrimoine informationnel

analyse et pérennise votre patrimoine informationnel analyse et pérennise votre patrimoine informationnel Décoder le passé Donner une signification «métier» aux gérées par vos applications, retrouver les liens qui les unissent, connaître en détail leur utilisation

Plus en détail

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational IBM Software Group Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational Fernard Bonaguidi [email protected]

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

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

Plus en détail

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES

INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES INTRODUCTION AUX TECHNOLOGIES D INGENIERIE DES DONNEES DIRIGEE PAR LES MODELES Les contenus de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information

Plus en détail

Master Data Management en Open Source C est le Bon Moment

Master Data Management en Open Source C est le Bon Moment Master Data Management en Open Source C est le Bon Moment White Paper Sommaire Introduction... 2 Les Pré Requis du Marché Open Source... 2 La Liberté... 3 Prédire les Effets de l Open Source sur le MDM...

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

WHITE PAPER Une revue de solution par Talend & Infosense

WHITE PAPER Une revue de solution par Talend & Infosense WHITE PAPER Une revue de solution par Talend & Infosense Master Data Management pour les données de référence dans le domaine de la santé Table des matières CAS D ETUDE : COLLABORATION SOCIALE ET ADMINISTRATION

Plus en détail

Rational Unified Process

Rational Unified Process Rational Unified Process For Christiane DAVOINE-GUHUR Société GICAB - Vannes [email protected] Table des Matières 1 INTRODUCTION... 1 2 LES COMPOSANTS ET LES GRANDS PRINCIPES DU PROCESSUS...

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire

Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for Data Integration La Plate-Forme d Intégration pour le MDM Évolutionnaire BENEFICES Des projets réussis dans les délais et les budgets La bonne donnée disponible au

Plus en détail

Intégration d un ERP guidée par les modèles

Intégration d un ERP guidée par les modèles Intégration d un ERP guidée par les modèles (Model Driven ERP Implementation) Projet ISNet 89 Octobre 2005 Contributeurs : Gil Gaillard & Philippe Dugerdil (HEG) o Partie théorique & implantation Adonix

Plus en détail

Modelio by Modeliosoft

Modelio by Modeliosoft Modelio by Modeliosoft Solutions d entreprise basées sur l atelier leader de modélisation open source Modelio (modelio.org) L atelier de modélisation open source de référence Une solution sur étagère,

Plus en détail

Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision

Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision INSTITUT D ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATIONS DE RENNES Architecture Reconfigurable Hétérogène à Gestion Hiérarchique Distribuée pour la Reconfiguration et la Prise de Décision dans les systèmes de

Plus en détail

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM [email protected].

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM alain.darmon@fr.ibm. WEB15 IBM Software for Business Process Management un offre complète et modulaire Alain DARMON consultant avant-vente BPM [email protected] Claude Perrin ECM Client Technical Professional Manager

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

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec [email protected] Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire BENEFICES POUR LES DSI Réussir les projets de gouvernance dans les délais et les budgets Démarrer de manière tactique tout en

Plus en détail

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013 CATALOGUE FORMATION Product Lifecycle Management Juin 2013 s de formation ENOVIA V6 ENOVIA V6 Plateforme Collaborative 5 ENOVIA V6 Installation et Administration 9 ENOVIA V6 Implémentation et Développement

Plus en détail

Chapitre 2 - Architecture logicielle et construction d applications client-serveur

Chapitre 2 - Architecture logicielle et construction d applications client-serveur Chapitre 2 - Architecture logicielle et construction d applications client-serveur «Toute technologie suffisamment avancée est indiscernable de la magie» (Arthur Clarke) Résumé La méthodologie MEDEVER

Plus en détail

Eclipse Process Framework et Telelogic Harmony/ITSW

Eclipse Process Framework et Telelogic Harmony/ITSW Eclipse Process Framework et Telelogic Harmony/ITSW Boris Baldassari 1 Résumé Une introduction à Eclipse Process Framework (EPF) et au processus OpenUP, et comment tirer profit de ces initiatives dans

Plus en détail

Cours Gestion de projet

Cours Gestion de projet Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1 Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

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

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

Sujet de thèse CIFRE RESULIS / LGI2P

Sujet de thèse CIFRE RESULIS / LGI2P Ecole des Mines d Alès Laboratoire de Génie Informatique et d Ingénierie de Production LGI2P Nîmes Sujet de thèse CIFRE RESULIS / LGI2P Titre Domaine De l ingénierie des besoins à l ingénierie des exigences

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Une méthode d apprentissage pour la composition de services web

Une méthode d apprentissage pour la composition de services web Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia [email protected],

Plus en détail

Maîtrisez la modernisation de votre patrimoine applicatif

Maîtrisez la modernisation de votre patrimoine applicatif IBM Software Group Maîtrisez la modernisation de votre patrimoine applicatif Bienvenue! Sylvie Dubois Mardi 19 octobre 2004 Agenda 9 h 30 10 h 00 11 h 15 11 h 45 11 h 55 12 h 25 13 h 00 La modernisation

Plus en détail

Intégration de produits mécatroniques au sein d un système PLM

Intégration de produits mécatroniques au sein d un système PLM Intégration de produits mécatroniques au sein d un système PLM HOUSSEM ABID 1, MADY GUILLEMOT 1, DIDIER NOTERMAN 1, PHILIPPE PERNELLE 2 1 Laboratoire DISP, INSA Lyon 69100, France {houssem.abid,mady.guillmot,didier.noterman}@insa-lyon.fr

Plus en détail

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail