Etat de l art sur le développement logiciel dirigé par les modèles.
|
|
|
- Eugénie Dufour
- il y a 10 ans
- Total affichages :
Transcription
1 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 A. Machado TOULOUSE Cédex 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 de modélisation à 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), Architectures dirigées par les modèles, Transformations de modèles 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 into another or from one modelling space into 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), models transformations
2 2 TSI -X/2008. L 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). L'intérêt pour l'idm était apparu en novembre 2000, lorsque l'omg (Object Management Group) avait rendu publique son initiative MDA (OMG-MDA, 2001) qui visait à la définition d'un cadre normatif pour l'idm. Elle fait l objet depuis d un intérêt croissant aussi bien de la part des équipes de recherche académiques (cf. par exemple (ATLAS, 2005), (TOPCASED, 2008), (Triskell, 2005)), 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 et les chercheurs en génie logiciel cherchent à enrichir les métamodèles qui sont utilisés dans la conception d applications ou à en définir de nouveaux, à faciliter la création de nouveaux espaces de modélisation plus adaptés aux besoins des utilisateurs et à automatiser les différentes étapes de modélisation nécessaires à l élaboration d un produit fini. Ainsi, pour obtenir un produit logiciel 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 engendré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, mais 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 puissants et 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 leurs points de variations sémantiques 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. Le travail présenté dans cet article est le fruit d une étude bibliographique sur l IDM, menée dans le cadre d une thèse en cours portant sur le développement logiciel dirigé par les modèles, appelé encore développement IDM. Dans cette présentation, pour des raisons de place, nous avons choisi de mettre l accent sur le
3 Développement logiciel orienté modèles 3 thème central du développement IDM qu est la transformation de modèles et de ne pas aborder certains aspects néanmoins importants tels que la validation et le test (Mottu et al. 2008), la vérification ou la traçabilité (Amar et al, 2008). De nombreux travaux portent sur ces autres aspects de l IDM, parmi lesquels on peut citer certains travaux de notre équipe IRIT-MACAO (Amar et al, 2008), (Anwar et al, 2007), (Combemale, 2008), (Nassar, 2005), (Ober et al, 2008), (Tran et al. 2007b). Cet article est organisé comme suit. Dans la section 2, nous présentons d abord les travaux ayant contribué à la genèse de l IDM. Dans la section 3, nous décrivons des standards de l OMG qui sont des métamodèles de référence pour l IDM. Dans la section 4, la plus importante en taille, nous présentons la problématique et les objectifs de l IDM, les transformations de modèles avec leur panorama d outils et de langages dédiés, et les outils de métamodélisation. Nous concluons par la section 5 qui décrit aussi les axes de recherche sur lesquels nous travaillons actuellement. 2. Genèse de l IDM Au sens large du terme, l'ingénierie Dirigée par les Modèles (IDM), utilisée encore sous le terme anglais de MDE (Model Driven Engineering), est la discipline qui place les modèles au centre des processus d ingénierie logicielle. 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. Pour mieux comprendre la philosophie et l apport de l IDM, nous présentons dans cette section les principales approches de développement logiciel basées sur les modèles qui ont fortement contribué à l émergence de l IDM : le MIC (Model- Integrated Computing) (MIC-website) (Sztipanovits et al, 1995), Model Driven Architecture (MDA) (OMG-MDA, 2001) et les usines logicielles de Microsoft (Software factories) (Greenfield et al, 2003) (Muller, 2006) Model-Integrated Computing (MIC) Les travaux autour du Model-Integrated Computing (MIC) (MIC-website) (Sztipanovits et al, 1995), ont proposé, 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
4 4 TSI -X/2008. L ingénierie dirigée par les modèles maintenance. Le MIC facilite le développement logiciel basé sur les modèles en fournissant une technologie pour la spécification et l utilisation de DSMLs (Domain-Specific Modeling Languages), des outils de métaprogrammation, des techniques de vérification et de transformations de modèles. Le MIC repose en fait sur une architecture à trois niveaux : Le niveau Meta fournit des langages de métamodélisation, des métamodèles, des environnements de métamodélisation et des métagénérateurs pour créer des outils spécifiques à un domaine, qui seront utilisés dans le niveau MIPS (Model-Integrated Program Synthesis). Le niveau (MIPS) est constitué de langages de modélisation spécifiques à un domaine, et de chaînes d outils pour la construction et l analyse de modèles, la synthèse d applications. Le niveau Application 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.) Model Driven Architecture (MDA) Le MDA (Model-Driven Architecture) (OMG-MDA, 2001) est une initiative de l'omg rendue publique en C est une proposition à la fois d une architecture et d une démarche de développement. L'idée de base du MDA est la séparation des spécifications fonctionnelles d'un système des détails de son implémentation sur une plate-forme donnée. Pour cela, le MDA classe les modèles en modèles indépendants des plates-formes appelés PIM (Platform-Independent Models) et en modèles spécifiques appelés PSM (Platform-Specific Models). L'approche MDA permet de déployer un même modèle de type PIM sur plusieurs plates-formes (modèles PSM) grâce à des projections standardisées. Elle permet aux applications d'interopérer en reliant leurs modèles et favorise l adaptabilité aux évolutions des plates-formes et des techniques. La mise en œuvre du MDA est entièrement basée sur les modèles et leurs transformations. L'initiative MDA a donné lieu à une standardisation des approches pour la modélisation sous la forme d une structure en 4 niveaux de modélisation (appelée communément Pile de modélisation) présentée dans la section 3 ci-après. 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 en Anglais). La figure 1 donne une vue générale d un processus
5 Développement logiciel orienté modèles 5 MDA en faisant apparaître les différents niveaux d abstraction associés aux modèles, depuis les modèles de besoins jusqu au code qui s exécute. Figure 1. Principe du Processus MDA Aujourd hui plusieurs outils respectent cette approche 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 des modèles UML en composants qui peuvent êtres déployés sur une plate-forme donnée (JEE, Spring,.NET, etc.) - OAW (OAW, 2008), l acronyme de OpenArchitectureWare, qui est une plateforme modulaire de génération développée en Java. Il supporte les modèles EMF, UML2, XML ou des modèles exprimés en JavaBeans, etc Les usines logicielles (Software Factories) Les usines logicielles (Software Factories) (Greenfield et al, 2003) 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 logiciel et une chaîne de montage que l on peut caractériser par les quatre points suivants, en prenant par exemple l industrie automobile :
6 6 TSI -X/2008. L ingénierie dirigée par les modèles - Une chaîne de montage ne fabrique généralement qu un seul type de voitures avec différentes combinaisons d options. - Les ouvriers sont relativement 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 dans une chaîne de montage sont très spécialisés et fortement automatisés. Ils 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 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 ailleurs. 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 point 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. L environnement de développement Visual Studio.Net 2005 (Microsoft, 2005) a été conçu autour de ces idées et propose un environnement générique extensible pouvant initialement être configuré pour un ensemble de domaines d applications prédéfinis Synthèse Les approches à base de modèles mentionnées ci-dessus ont permis l émergence de l IDM dans la mesure en mettant l accent un certain nombre d idées clef. En précurseur, 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 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). Le MDA a mis en évidence l intérêt de séparer les spécifications fonctionnelles d une application de son implémentation sur une plate-forme donnée. Suite à l initiative de l OMG, il sert de cadre normatif pour l IDM. 3. L IDM et les standards de l OMG L OMG est un consortium regroupant des industriels et des chercheurs dont l objectif principal est d établir des standards pour résoudre, entre autres, les problèmes d interopérabilité entre les systèmes d information. Ces standards sont
7 Développement logiciel orienté modèles 7 centrés sur la notion de métamodèles qui décrivent la structure des modèles et sur celle de méta-métamodèles. Nous donnons les définitions de modèles, métamodèles et méta-métamodèles dans les paragraphes suivants. Ces trois notions sont schématisées par la figure 2 ci-après. Metametamodel conforms to Metamodel conforms to Model represents System Figure 2. Notions de base en ingénierie des modèles Un modèle peut être défini comme une abstraction d un système réel qu il représente. Le mot abstraction fait référence ici à un ensemble restreint d informations traduisant une partie de la réalité du système, celle qui sera nécessaire à l exploitation du modèle. Un métamodèle est un modèle de modèles. C est aussi un langage utilisé pour décrire des modèles, dans la mesure où il englobe un ensemble de concepts nécessaires à la description d une famille de modèles donnée. A titre d exemple, UML est un métamodèle qui offre des concepts permettant de décrire les différents modèles (Diagramme de classe, Diagramme de cas d utilisation, ) d un système. Un méta-métamodèle quant à lui, permet de décrire un modèle de métamodèles ; autrement dit c est un langage de description de métamodèles (par exemple le métamétamodèle MOF (OMG-MOF, 2006). Après avoir défini les notions de modèle, métamodèle et méta-métamodèle, nous présentons dans cette section certains standards de l OMG relatifs à l IDM : MOF (Meta-Object Facility), le standard pour établir de nouveaux langages de modélisation ; QVT (Query, Views, Transformation), le standard pour modéliser les transformations de modèles ; UML (Unified Modeling Language), le standard pour la modélisation orientée-objet ; XMI (XML Metadata Interchange) qui permet de
8 8 TSI -X/2008. L ingénierie dirigée par les modèles représenter les modèles sous forme de documents XML pour des besoins d interopérabilité ; CWM (Common Warehouse Metamodel), le standard pour les techniques liées au entrepôts de données, et enfin DI (Diagram Interchange) qui permet la représentation au format XML des parties graphiques d un modèle. Tous ces métamodèles ont comme objectif commun la pérennité des modèles dans un contexte de développement IDM MOF Le MOF (OMG-MOF 2.0, 2006) se situe au sommet dans l architecture à quatre niveaux de l OMG (voir figure 3 ci-dessous). C est un méta-formalisme, donc 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éta-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 l élaboration des métamodèles avec associations. Il faut souligner que MOF s auto-décrit pour pouvoir limiter l architecture de l OMG à quatre niveaux Figure 3. Pyramide de modélisation de l OMG (Bézivin, 2003) 3.2. QVT 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. Par exemple, la transformation d un
9 Développement logiciel orienté modèles 9 diagramme de classes UML en un schéma de base de données relationnelle est élaborée sous la forme d un modèle de transformation conforme au métamodèle QVT. Nous verrons en détail cette notion de transformation de modèles dans la section 4.2. L appel à proposition de l OMG d avril 2002 pour la norme QVT (OMG-QVT, 2002) visait à atteindre les objectifs suivants : normaliser l expression 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 (y compris 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 uni-directionnelles, multi-directionnelles, incrémentales, etc.). La dernière version du standard QVT (OMG-QVT 2.0, 2008) présente un caractère hybride, en proposant trois langages de transformation (Figure 4). 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. 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 composante impérative de QVT est supportée par Operational Mappings. Ce langage étend les deux langages déclaratifs de QVT en ajoutant des constructions impératives (séquence, sélection, répétition, etc.) ainsi que des constructions OCL à effet de bord. 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).
10 10 TSI -X/2008. L ingénierie dirigée par les modèles Figure 4. Architecture du standard QVT (OMG-QVT 2.0, 2008) 3.3. 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 l automobile. Dans sa deuxième version, le métamodèle UML est composé de deux paquetages : UML Superstructure (OMG-UML, 2008a) qui devient le standard en matière de modélisation orientée objet, et UML Infrastructure (OMG-UML, 2008b) qui décrit le noyau d UML commun au MOF. UML 2.0 Infrastructure (OMG-UML, 2005b) a été conçu de façon modulaire pour pouvoir être réutilisé par MOF 2.0 (OMG-MOF 2.0, 2006) et UML 2.0 Superstructure (OMG-UML, 2005a). 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 2.0 Superstructure. UML 2.0 Infrastructure est constitué de plusieurs 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.) qui sont utilisés lors de la définition de la syntaxe abstraite des métamodèles, et enfin Core ::Profiles, permettant l élaboration de profils UML 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
11 Développement logiciel orienté modèles 11 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 5 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 5. XMI et la structuration de balises XML (BLANC, 2005) 3.5. CWM CWM (Common Warehouse Metamodel) (OMG-CMW, 2003) est le standard de l OMG pour les techniques liées aux entrepôts de données. Il couvre le cycle de vie complet de modélisation, de construction et de gestion des entrepôts de données. CWM définit un métamodèle qui représente les métadonnées aussi bien au niveau métier qu au niveau technique. CWM définit actuellement les métamodèles des principaux types d entrepôts de données (Relationnel, Objet, XML,...) et propose des règles de transformation entre ceux-ci. Les métamodèles de données permettent de modéliser des ressources comme les bases de données relationnelles et les bases de données orientées objets Diagram Interchange 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 5 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 de toutes les parties graphiques des modèles UML. En plus de cela, DI définit une
12 12 TSI -X/2008. L ingénierie dirigée par les modèles 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. 4. L Ingénierie dirigée par les modèles L Ingénierie Dirigée par les Modèles (IDM) est une discipline qui a pour vocation l automatisation et la sûreté du développement des systèmes logiciels complexes notamment les systèmes embarqués en fournissant des outils et des langages permettant la transformation de modèles d un niveau d abstraction à un autre ou d un espace technologique à un autre. Dans cette section, nous présentons la problématique et les objectifs de l IDM, la notion de transformation de modèles avec les outils et langages dédiés, et enfin les outils de méta-modélisation permettant de concevoir des DSMLs (Domain Specific Modeling Languages) Problématique et objectifs L'IDM a pour principal objectif de relever un certain nombre de défis du génie logiciel (qualité, productivité, 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 pour l'étude des différentes problématiques d un système permettant à différents acteurs de s'intéresser aux différents aspects du système (sécurité, performance, consommation...). Avec cette approche, l IDM est en passe de lever le verrou consistant à ne pouvoir tester un système que tardivement dans le cycle de vie. Une des raisons majeures de l apparition des architectures dirigées par les modèles repose sur la volonté de décrire précisément les besoins des clients par des CIM (Computational Independent Models) et le savoir-faire ou la connaissance métier d une organisation dans des modèles abstraits indépendants des plates-formes (PIM - Platform Independent Models). Ayant isolé le savoir-faire métier dans des PIM, on a besoin soit de transformer ces modèles en d autres PIM (besoin d interopérabilité), soit de produire ou de créer des modèles PSM (Platform Specific Models) ciblant une plate-forme d exécution spécifique (pour améliorer la portabilité et augmenter la productivité).
13 Développement logiciel orienté modèles Transformation de modèles La définition la plus générale et qui fait l unanimité au sein de la communauté IDM (Bézivin, 2004) consiste à dire qu une transformation de modèles est la génération d un ou de plusieurs modèles cibles à partir d un ou de plusieurs modèles sources. Dans l approche par modélisation, cette 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 entre les métamodèles source et cible qui décrivent la structure des modèles cible et source. 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. 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 à toutes les instances du 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. La figure 6 illustre ces deux étapes d une transformation de modèles 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 de modèles (TOPCASED-WP5, 2008) Principales approches de transformation de modèles Dans (Blanc, 2005) trois approches de transformations de modèles sont retenues: l approche par programmation, l approche par template et l approche par modélisation.
14 14 TSI -X/2008. L ingénierie dirigée par les modèles 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 informatique à 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 des modèles cibles souhaités. Ces canevas sont des modèles cibles paramétrés ou des modèles template. 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 à travers son langage de transformation de modèles ATL que nous verrons dans la section Types de transformation Une transformation de modèles met en correspondance des éléments des modèles cibles et sources. 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 situation est la transformation d une classe UML munie de ses opérations et de ses attributs en une classe homonyme en Java ; 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 d une telle transformation 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é.
15 Développement logiciel orienté modèles Axes de transformation Selon la classification de (TOPCASED_WP5, 2008), la transformation de modèles peut se faire selon trois axes de transformation : 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 ou Model Refactoring) ; l axe métamodèle permet de caractériser l importance des métamodèles mis en jeu dans une transformation. Par analogie avec la 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. Exemple de transformation utilisant l axe métamodéle: UML to SysML (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 transmis à la transformation (par exemple, le modèle source). Les informations transmises à la transformation sont appelées paramètres 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 semi-automatique si certains paramètres ne sont renseignés qu à l exécution de la transformation Taxonomie des transformations Partant de la nature des métamodèles source et cible, on distingue encore 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 issus du même métamodèle, et 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. 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
16 16 TSI -X/2008. L ingénierie dirigée par les modèles 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 des patrons sont des exemples de transformation endogène et horizontale ; tandis que la migration des 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 cidessous résume les combinaisons possibles entre transformations de modèles. Figure 7. Taxonomie des transformations de modèles (Combemale, 2007) Propriétés des transformations Les principales propriétés 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 peut se faire 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 représentable par un modèle. Une instance de ce modèle est donc associée à chaque exécution d une transformation tracée. La définition d un
17 Développement logiciel orienté modèles 17 métamodèle de traces nous 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. L identification de patrons de transformation est un moyen pour mettre en œuvre cette réutilisabilité ; 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 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 transformations de graphes 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. Comme souligné dans (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 de 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 ces modèles. 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 et de l institutionnaliser à travers des composants MDA afin que ces derniers puissent être 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
18 18 TSI -X/2008. L ingénierie dirigée par les modèles é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 peut être ouvert depuis Eclipse ce qui permet de programmer en Java des transformations de modèles par le biais des classes d implémentations associées à chaque élément d UML. Cependant, 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 profil. MDA Modeler offre un support graphique de modélisation des profils, représentant les métaclasses référencées, ainsi que les stéréotypes utilisés et leurs propriétés et associations. La définition d une transformation de modèles nécessite de référencer les métaclasses UML concernées par la transformation. Ces références contiendront le code de transformation qui sera en langage J s il s agit d un composant MDA J ou en Java s il s agit d un composant MDA Java. En résumé nous pouvons dire que MDA Modeler offre plusieurs mécanismes permettant de définir des opérations sur les modèles et ainsi de les rendre productifs. La figure 8 ci-dessous illustre 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).
19 Développement logiciel orienté 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 é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 la définition de la transformation par le biais des règles utilisant des classes d implémentation, RSM pourra 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 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 transformations de modèles à modèles. L outil propose l ajout de patrons de transformations 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 FUJABA FUJABA (Burmester et al, 2004), 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 plusieurs activités de recherche notamment dans le domaine des applications distribuées, ses 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.
20 20 TSI -X/2008. L ingénierie dirigée par les modèles Synthèse 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 ils présentent certaines limitations notamment pour MDA Modeler qui ne peut faire que des transformations de modèles endogènes. RSM, même s il permet de faire des transformations de modèles exogènes, est limité s il s agit de faire une transformation multiple de modèles (M vers N). 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 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 pour être plus ou moins intégrables dans les environnements de développement standard. Parmi ces outils nous pouvons citer Mia-Transformation de Mia-Software, et le plug-in ADT qui implémente le langage ATL 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 Mia-Transformation Mia-Transformation (MiaSoftware-website) est un outil qui exécute des transformations de modèles prenant en charge différents formats d entrées et de sortie (XMI, API, etc.). Les transformations sont exprimées comme des règles d inférence semi-déclaratives qui peuvent être enrichies en utilisant des scripts Java pour des services additionnels tels que la manipulation de chaînes ATL ATL (ATLAS, 2005), acronyme de ATLAS Transformation Language, est un langage à vocation déclarative, mais en réalité hybride, qui 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 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.
21 Développement logiciel orienté modèles 21 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 de règles de transformation en ATL Figure 9. Syntaxe abstraite d une règle de transformation ATL (extrait du métamodèle ATL) 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ées 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
22 22 TSI -X/2008. L ingénierie dirigée par les modèles 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étaprogramme. Parmi ces outils, nous pouvons citer Kermeta (Triskell, 2005) de l IRISA-INRIA Rennes, MetaEdit+ (Tolvanen et al, 2003) de MetaCase, XMF-Mosaic (Xactium-website) de la société Xactium, EMF/Ecore (Eclipse-EMF-website) de la fondation Eclipse, et l outil TOPCASED (TOPCASED_WP5, 2008) (TOPCASED-website) 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 metamodèlisation KERMETA (Triskell, 2005) (Jézéquel 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 2.0 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 action (Action Semantics, Xion). Cette composition fait de KERMETA un véritable langage de métamodélisation exécutable. Comme UML 2.0 Infrastructure, KERMETA 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 des métamodèles de niveau M MetaEdit + MetaEdit+ (Tolvanen et al, 2003), (Muller, 2006) 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 transformations de modèles.
23 Développement logiciel orienté modèles XMF-Mosaic XMF-Mosaic (Xactium-website) est un outil destiné à développer des langages de modélisation et à déployer tous 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 domaines. 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. Ce langage peut être utilisé tout au long de la construction d un projet, pour décrire les différents éléments développés comme pour les manipuler en mode console dans un programme. 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 dans le 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éta-classe 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 une plate-forme de modélisation et de génération de code qui facilite la construction d outils et d autres applications basées sur des modèles structurés. Il permet le développement rapide et 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 pouvons citer : 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 qui 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.
24 24 TSI -X/2008. L ingénierie dirigée par les modèles TOPCASED Le projet open source TOPCASED (TOPCASED_WP5, 2008) (TOPCASEDwebsite) 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étaprogrammation. 5. Conclusion Nous avons présenté dans cet article un état de l art sur le développement logiciel dirigé par les modèles. Comme nous l avons dit dans l introduction, nous avons plus particulièrement mis l accent dans cette étude sur les concepts, langages et outils associés à la transformation de modèles paradigme central de l IDM. 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. Les transformations nécessitent des langages dédiés (ATL, QVT, ), des outils de métamodélisation flexibles (Kermeta, EMF/Ecore, TOPCASED, ) qui pourront assister les concepteurs de systèmes logiciels complexes. Beaucoup de thèmes de recherche émergent au sein de la sphère IDM ; il devient donc essentiel de créer une synergie entre les différents groupes de recherche dans ce domaine. L action transversale IDM (action-idm-website) a ainsi été lancée pour servir de cadre de réflexion et d échange entre les communautés issues de domaines technologiques différents. Travaux en cours et perspectives Si des efforts importants ont été faits dans le domaine de l IDM, cette discipline est néanmoins jeune et de nombreux axes de recherche restent à explorer. Nous sommes plus particulièrement impliqués dans les axes détaillés ci-dessous : définition de DSL sous forme de profils UML : pour supporter la modélisation par point de vue, nous avons défini un profil UML (Nassar, 2005) qui introduit la notion de classe multivue et propose une démarche de conception décentralisée passant par l élaboration de modèles-vue. Nous travaillons actuellement sur la composition (fusion) de modèles-vues en considérant cette composition comme une
25 Développement logiciel orienté modèles 25 transformation exogène horizontale de UML vers VUML. Cette composition porte sur la fusion des diagrammes de classes (Anwar et al, 2007) et des machines multivue (Ober et al, 2008) ; modélisation et mise en œuvre assistée du processus de développement IDM : à ce jour les langages de description de processus tels que SPEM (cf. travaux de (Bendraou, 2007) et (Combemale, 2008)) ne prennent pas en compte spécifiquement les notions de transformation ; il est nécessaire de caractériser les transformations comme des activités particulières, dont les produits en entrée et en sortie doivent être des modèles conformes à un même métamodèle (transformation endogène) ou à plusieurs métamodèles (transformation exogène) ; exécutabilité des modèles de processus : l intérêt de l IDM est l automatisation des transformations de modèles. Pour cela, il faut pouvoir rendre exécutables les modèles de processus qui représentent les transformations, et donc leur associer une sémantique opérationnelle. Les travaux décrits dans (Bendraou, 2007) et (Combemale, 2008) sont une première étape vers cet objectif ; passage à l échelle : pour être vraiment utilisable dans l industrie du logiciel, l IDM doit pouvoir traiter des modèles de toute taille et de toute complexité, dans des environnements de développement par nature collaboratifs. Cette contrainte est loin d être satisfaite à ce jour. C est pour cette raison que des recherches s engagent sur le passage à l échelle de l IDM, la notion de méga-modèles et de modèles infinis, la gestion collaborative de modèles, etc. Pour notre part, nous travaillons à la définition d un métamodèle supportant la description et la mise en œuvre de procédés IDM collaboratifs ; traçabilité des processus de développement IDM : si la traçabilité du processus de développement fait l objet depuis longtemps de recherches au niveau des exigences, il est intéressant d appliquer ces approches à la traçabilité des transformations, pour conserver notamment des traces d exécution à des fins de documentation, ou pour rejouer des transformations Nous exploitons ces traces d exécution pour rejouer une transformation afin de re-générer un modèle cible suite à l évolution de propriétés associées à un modèle source (Amar et al, 2008) ; réutilisabilité : pour mettre en œuvre la réutilisation de transformations considérées comme des modèles de procédés l un des moyens est de définir des patrons de procédé et d être capable d appliquer automatiquement ces patrons pour définir ou modifier une transformation. Nous avons élaboré un métamodèle supportant la représentation de patrons de procédés (Tran et al, 2007a) et travaillons actuellement à l élaboration d un environnement support ; reverse-engineering, refactoring (re-usinage) sur les modèles : l une des caractéristiques importantes des transformations est leur potentielle réversibilité. Combinée à l utilisation de patrons, cette réversibilité permet de faire du refactoring sur les modèles (Tran et al. 2007b), qu ils soient des modèles de produit ou de procédé. Nous travaillons actuellement à la définition d une base de patrons de procédés pour automatiser la mise en œuvre sous forme de transformations de ces opérateurs de refactoring.
26 26 TSI -X/2008. L ingénierie dirigée par les modèles 6. Bibliographie Action IDM, 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. Revue RSTI série L OBJET, numéro spécial Ingénierie Dirigées par les Modèles. Vol 13, n 4/2007. Amar B., Leblanc H., Dhaussy P., Coulette B. Modèle de traçabilité pour la mise en œuvre d une technique de validation formelle. Revue Génie Logiciel, numéro spécial Journées Neptune, NEPTUNE 2008, Paris 8-9 Avril ATLAS, KM3: Kernel MetaMetaModel, Technical Report, LINA&INRIA, NANTES, aug 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- page 7-11 Juillet 2002, Bézivin J., Blanc X. Promesses et Interrogations de l approche MDA. Journal Développeur Référence- Septembre 2002, Bézivin J. La transformation de modèles. INRIA-ATLAS & Université de Nantes, Ecole d Eté d Informatique CEA EDF INRIA 2003, cours #6. Bézivin J. Sur les principes de base de l ingénierie des modèles. RTSI-L Objet, 10(4) : Page , Blanc Xavier, MDA en action Ingénierie logicielle guidée par les modèles, Paris, Eyrolles, Breton E. Contribution à la représentation de processus par des techniques de métamodèlisation, Thèse de doctorat, Université de Nantes, Juin Burmester S., Giese H., Niere J., Tichy M., Wadsack J., Wagner R., Wendehals L. and 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 (3), page , Combemale B, Cregut X, Roug le S., Migeon F., Pantel M., Maurel C. Expériences pour décrire la sémantique en ingénierie des modèles. IDM 06, Lille Secondes Journées sur l Ingénierie Dirigée par les Modèles, Lille, 07 Juin 2006, Paris, Hermès, p Combemale B.., Cregut X, Pantel M., Transformations de modèles : Principes, Standards et Exemples. Rapport de recherche (IRIT, CNRS), 05 Novembre 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,
27 Développement logiciel orienté modèles 27 Eclipse-EMF, GME-website, GME: Greenfield J., Short K. Assembling Applications with Patterns, Models, Frameworks and Tools. In OOPSLA 03, Anaheim, California, USA, October 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), pp , Anaheim, CA, USA, October 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. In IDM 05, Paris Premières Journées sur l Ingénierie Dirigée par les Modèles, Posters & Démos, Paris, 30 Juin- 01 Juillet, Jouault J., Kurtev I. On the Architectural Alignment of ATL and QVT, Rapport de recherche préliminaire, ATLAS Group, INRIA&LINA Université de Nantes, Novembre 2005 Meylan S, Tatibouet B., Etude et comparaison d outils de transformation de modèles. Rapport de recherche, Janvier 2006, LIFC Université de FRANCHE-COMTE, p MiaSoftware-website, Mia Transformation: e-source: MIC-website, MIC: Microsoft, Visual Studio.Net, Available at: Mottu J.M., BAUDRY B., LE TRAON Y. Test de Transformation de Modèles : Expression d'oracles. IDM '08 : 4èmes Journées sur l'ingénierie Dirigée par les Modèles, 5-6 juin, Mulhouse, France, 2008 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 Nassar M. Analyse/conception par objets et points de vue : le profil VUML. Thèse INPT, Toulouse, 28 septembre Obeo, L approche MDA pour accélérer les développements JEE : mythe ou réalité Rapport, Société Obeo, 23 novembre 2006 Ober I., Coulette B., Lakhrissi Y. Behavioral modelling and composition of object slices using event observation. In Proceedings of ACM/IEEE international conference MODELS 08, Toulouse, October 1-3, OMG, CWM, OMG, DI 2.0, OMG, MDA, OMG, MOF2.0, OMG, QVT 2.0 RFP, Avril 2002
28 28 TSI -X/2008. L ingénierie dirigée par les modèles OMG, QVT Final Adopted Spec., November 2005 OMG, QVT 2.0 Transformation Spec., Avril 2008 OMG, UML 2.0 Superstructure, a OMG, UML 2.0 Infrastructure, b OMG, UML 2.2 Superstructure, a OMG, UML 2.2 Infrastructure, b OMG, XMI, Décembre 2007 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. In Congrès INFORSID'07 (Perros-Guirec, France, May 2007). Pages ,2007 Softeam, support de formation Objecteering 6/MDA Modeler version 2.0, Janvier Softeam, Garantir en permanence la cohérence Modèle code ; MDE vs RTE, White Paper Sottet J., Calvary G., Favre J-M. Ingénierie de l interaction homme-machine dirigée par les modèles. IDM 05, Paris Premières Journées sur l Ingénierie Dirigée par les Modèles, Paris, 30 Juin- 01 Juillet, 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., et 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 6-10, Tolvanen J.-P., Rossi M. MetaEdit+: defining and using domain-specific modeling languages and code generators. In Proceedings of the OOPSLA '03: 18th annual ACM SIGPLAN conference on Object-Oriented Programming, Systems, Languages, and Applications, pp , Anaheim, California, October TOPCASED-WP5, staff, Guide méthodologique pour les transformations de modèles. Rapport de recherche n 8, Novembre 2008, IRIT/MACAO TOPCASED-WP5, staff, 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 SEKE 2007, July 9-11, Boston, 2007.
29 Développement logiciel orienté modèles 29 Tran H.N., Coulette B., Dong Thi B. T., Modelling Process Patterns and their Application. ICSEA 2007, Cap Estérel France, August 25-31, IEEE Computer Society Press Triskell, Kermeta, IRISA, Rennes, Vachet C., Laurillau Y., Carron B. Situation de mobilité et approche dirigée par les modèles. UbiMob 06, Paris, France, Septembre 2006 Vanwormhoudt G. Vérification de modèles avec EMF et OCL, Rapport de recherche, Ecole d Ingénieurs TELECOM, Lille 1. W3C, XLST, Novembre 1999 W3C, Janvier 2003 W3C Xquery, Janvier 2007 Xactium-website, XMF-Mosaic, Electronic Source:
30 ANNEXE POUR LE SERVICE FABRICATION A FOURNIR PAR LES AUTEURS AVEC UN EXEMPLAIRE PAPIER DE LEUR ARTICLE ET LE COPYRIGHT SIGNE PAR COURRIER LE FICHIER PDF CORRESPONDANT SERA ENVOYE PAR 1. ARTICLE POUR LA REVUE: TSI L ingénierie dirigée par les modèles 2. AUTEURS : Samba Diaw Rédouane Lbath Bernard Coulette 3. TITRE DE L ARTICLE : Etat de l art sur le développement logiciel dirigé par les modèles 4. TITRE ABRÉGÉ POUR LE HAUT DE PAGE MOINS DE 40 SIGNES : Développement logiciel orienté modèles 5. DATE DE CETTE VERSION : 12 janvier COORDONNÉES DES AUTEURS : adresse postale : Laboratoire IRIT Université Toulouse 2- Le Mirail 5, allées Antonio Machado Toulouse Cédex 9 téléphone : télécopie : {diaw, lbath, coulette}@univ-tlse2.fr 7. LOGICIEL UTILISE POUR LA PRÉPARATION DE CET ARTICLE : Microsoft Office 2002 SP3 8. FORMULAIRE DE COPYRIGHT A RETOURNER SIGNÉ PAR LES AUTEURS À TÉLÉCHARGER SUR : LAVOISIER Sylvie Viriot SERVICE EDITORIAL HERMES Responsable Revues 14 rue de Provign Tel : Cachan cedex [email protected]
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,
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]
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: [email protected] itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l
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
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
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
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
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
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
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
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
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 Le 23 novembre 2012 Goulwen Le Fur [email protected] Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter
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,
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
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
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,
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,
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
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
RTDS G3. Emmanuel Gaudin [email protected]
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,
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
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
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
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
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
Information utiles. [email protected]. 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/
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à
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
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
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
É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
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
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
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»
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é
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
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
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,
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
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
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
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
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
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
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
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
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...
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
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
Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France
Conférence IDC Gouvernance IT - Paris 6 Avril 2011 Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France 2011 IBM Corporation Quels sont les ingrédients
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
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
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
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-
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
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
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
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
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab notre compétence d'éditeur à votre service créée en juin 2010, Scilab enterprises propose services et support autour
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
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
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]
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
Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon
L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal
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
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)
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
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 [email protected] Claude Perrin ECM Client Technical Professional Manager
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
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
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é
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION
Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
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
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.................................
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
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
Introduction du test dans la modélisation par aspects
Introduction du test dans la modélisation par aspects Jacques Klein 1 Benoit Baudry 1 Olivier Barais 1 Andrew Jackson 2 1 IRISA/INRIA Rennes Université de Rennes 1 Campus Universitaire de Beaulieu F-35042
É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
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
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
Refonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
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
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
Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui
Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture
Stage Ingénieur en développement logiciel/modélisation 3D
Ingénieur en développement logiciel/modélisation 3D Schlumberger recrute un(e) stagiaire ingénieur en modélisation 3D pour la plate-forme Petrel. Vous serez intégré(e) au sein d une équipe innovante, Petrel
Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle
Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle Softeam 2004 Philippe Desfray (voir A propos de l auteur) Présentation Réussir le développement d
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été
Dafoe Présentation de la plate-forme UIMA
Laboratoire d Informatique de l université Paris-Nord (UMR CNRS 7030) Institut Galilée - Université Paris-Nord 99, avenue Jean-Baptiste Clément 93430 Villetaneuse, France 11 juillet 2007 Plates-formes
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],
Retour d expériences avec UML
Retour d expériences avec UML UML pour les systèmes biologiques Marie-Hélène Moirez-Charron, UMR AGIR, équipe MAGE INRA Toulouse mailto:[email protected] PLAN Contexte de travail UML,
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
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
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
Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information
Conception fonctionnelle de services d entreprise fondée sur l alignement entre cœur de métier et système d information Jacques Simonin* Philippe Picouet* Jean-Marc Jézéquel** * Telecom Bretagne/Institut
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
1. Plan. 1. Plan...1 2. Information essentielles...2
Frédéric Fondement Curriculum Vitæ détaillé 1. Plan 1. Plan...1 2. Information essentielles...2 2.1. Résumé...2 2.2. Informations essentielles...2 2.3. Titres universitaires...4 2.4. Parcours professionnel...6
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
