Ingénierie Dirigée par les Modèles IDM



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

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

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

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

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

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

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

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

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

IFT2255 : Génie logiciel

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

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

Génie logiciel (Un aperçu)

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

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

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

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

Analyse,, Conception des Systèmes Informatiques

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Université de Bangui. Modélisons en UML

Méthodologies de développement de logiciels de gestion

Cours en ligne Développement Java pour le web

SECTION 5 BANQUE DE PROJETS

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

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

Synergies entre Artisan Studio et outils PLM

Patrons de Conception (Design Patterns)

Visual Paradigm Contraintes inter-associations

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

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

Conception, architecture et urbanisation des systèmes d information

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

Chapitre I : le langage UML et le processus unifié

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

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

Information utiles. webpage : Google+ : digiusto/

Retour d expériences avec UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Description de la formation

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

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

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

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

Mercredi 15 Janvier 2014

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

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

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

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Les nouvelles architectures des SI : Etat de l Art

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

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

Objectif du cours. Outline. Complexité des systèmes modernes. La modélisation et UML dans les activités du Génie Logiciel...

Projet Active Object

analyse et pérennise votre patrimoine informationnel

Le génie logiciel. maintenance de logiciels.

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

RTDS G3. Emmanuel Gaudin

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

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

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

Enquête sur le besoin d accompagnement des enseignants

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Sujet de thèse CIFRE RESULIS / LGI2P

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


CQP Développeur Nouvelles Technologies (DNT)

Catalogue des formations Edition 2015

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

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

CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai Le BPM

Évaluation et implémentation des langages

Introduction au Génie Logiciel

ANALYSE D UN SYSTEME D INFORMATION ET EXTENSION DE

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

Modélisation des processus métiers et standardisation

Cours Gestion de projet

UML (Diagramme de classes) Unified Modeling Language

DotNet. Plan. Les outils de développement

Introduction à la modélisation

Max Pauron 10 années d expérience

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

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

OCL - Object Constraint Language

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

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)

Proposition de sujet de thèse CIFRE EUROCOPTER / LGI2P

Meta Object Facility. Plan

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

RÉSUMÉ DESCRIPTIF DE LA CERTIFICATION (FICHE RÉPERTOIRE)

Identification du module

Modelio by Modeliosoft

Introduction aux intergiciels

Etude et analyse des standards pour les solutions techniques dédiées au PLM

Catalogue de Pattern pour le CSCW

Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels

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

Projet de développement

RESUME DESCRIPTIF DE LA CERTIFICATION (FICHE OPERATIONNELLE METIERS)

THÈSE. Contribution à un processus de réication d'abstractions de communication

Transcription:

Ingénierie Dirigée par les Modèles Pierre Laforcade Master EIAH 2007

Présentation personnelle Statut Enseignements Lieu : IUT de Laval Matières : modélisation objet en UML, programmation objet, JavaEE/EJB,... Recherches Maître de conférences Laboratoire d'informatique LIUM Projet REDiM Thématiques de recherche Visual Instructional Design Languages (VIDL) & Domain-Specific Modeling (DSM) Scénarisation pédagogique &... 2

Sources du cours Cours 6 - et EIAH - de la 3ème école thématique sur les EIAH (juillet 2005), Nodenot, Lepallec, Marino Cours, Eric Cariou Rapport de synthèse, AS CNRS MDA Cours, Jean Bézivin Cours, Xavier Blanc Documents du TECFA Divers sites Web 3

Plan Introduction MDA Ingénierie Dirigée par les Modèles () Définitions Vers le DSM Bilan 4

Tendances en Génie Logiciel (1) Complexité croissante des logiciels Séparation des préoccupations (des métiers) Multiplicité des besoins (front office / back office) Multiplicité des plate-formes (JavaSE, JavaEE, Web Services, JavaME, PHP+SQL, ) Evolution des technologies sans fin Faut-il continuer à baser les développements sur le code des applications? 5

Tendances en Génie Logiciel (2) Conséquences pratiques de cette évolution permanente? Pour profiter des nouvelles technologies et de leurs avantages Nécessité d'adapter les applications à ces technologies Question : quel est le coût de cette adaptation? Généralement très élevé Nécessité de réécrire presque entièrement l'application Car mélange de code métier et de code technique Aucune capitalisation de la logique et des règles métiers 6

Tendances en Génie Logiciel (3) Partant de tous ces constats Nécessité de découpler clairement la logique métier de la mise en oeuvre technologique C'est un des principes fondamentaux de l'ingénierie des modèles Séparation des préoccupations (separation of concerns) Besoin de modéliser/spécifier La partie métier à un niveau abstrait La plate-forme de mise en oeuvre De projeter ce niveau abstrait sur une plate-forme 7

Plan Introduction Ingénierie Dirigée par les Modèles () 8

Évolution des technologies/paradigmes 9

MDA Approche Model-Driven Architecture (MDA) de l'omg (Object Management Group) Origine de l'ingénierie des modèles Date de fin 2000 Le MDA est né à partir des constatations liées à l'évolution continue des technologies But du MDA Abstraire les parties métiers de leur mise en oeuvre Basé sur des technologies et standards de l'omg UML, MOF, OCL, CWM... 10

Normes OMG de modélisation MOF : Meta-Object Facilities Langage de définition de méta-modèles UML : Unified Modelling Language Langage de modélisation CWM : Common Warehouse Metamodel Modélisation ressources, données, gestion d'une entreprise OCL : Object Constraint Language Langage de contraintes sur modèles XMI : XML Metadata Interchange Standard pour échanges de modèles et méta-modèles 11

MDA Le MDA définit 3 niveaux de modèles CIM : Computer Independent Model Recense les besoins des utilisateurs, le vocabulaire employé est celui du praticien PIM : Platform Independent Model Modèle du domaine (domain/business model) indépendant de toute implémentation informatique Modèle spécifiant une application indépendamment de la technologie de mise en oeuvre Uniquement spécification de la partie métier d'une application PSM : Platform Specific Model Modèle spécifiant une application après projection sur une plateforme technologique donnée 12

MDA Relations entre les différents niveaux Transcription informatique CIM Requirements Analysis Conception Métier Fonctionnel Technique Implementation 13

Transformations PIM>PSM 14

MDA Cycle de développement d'un logiciel selon le MDA Cycle en Y (ou en «épi») Plus complexe en pratique PDM PSM 15

MDA 16

Perspective globale CIM/PIM/PSM 17

MDA Outils de mise en oeuvre du MDA Standards de l'omg Spécification des modèles aux différents niveaux Langage de modélisation UML Profils UML : profil EJB, profil Corba, etc. Langage de contraintes OCL Spécification des méta-modèles Sur la base du MOF (Meta Object Facilities) 18

MDA 19

MDA et Limites du MDA Technologies OMG principalement Ingénierie des modèles MDE : Model Driven Engineering : Ingénierie Dirigée par les Modèles Approche plus globale et générale que le MDA Appliquer les mêmes principes à tout espace technologique et les généraliser UML, XML, les grammaires de langages,... Le MDA est un processus de type MDE 20

Principes de l' Capitalisation Approche objets/composants MDE Capitalisation, réutilisation d'éléments logiciels/code Capitalisation, réutilisation de logique métier Abstraction Des technologies de mise en oeuvre Permet d'adapter une logique métier à un contexte Permet d'évoluer bien plus facilement vers de nouvelles technologies 21

Principes de l' (2) Modélisation La modélisation n'est pas une discipline récente en génie logiciel Les processus de développement logiciel non plus RUP, Merise... C'est l'usage de ces modèles qui change Le but du MDE est De passer d'une vision contemplative des modèles A une vision productive A but de documentation, spécification, communication Pour générer le code final du logiciel pour une technologie de mise en oeuvre donnée 22

Principes de l' (3) Séparation des préoccupations 2 principales préoccupations Mais autres préoccupations possibles Métier Plate-forme de mise en oeuvre Exemple : ajouter de la sécurité sur un modèle de mise en oeuvre... Projection, fusion de modèles (composition, tissage) Conception orientée Aspect 23

Principes de l' (4) Pour passer à une vision productive, il faut Que les modèles soient bien définis Notion de méta-modèle Pour que l'on puisse les manipuler et les interpréter via des outils Avec traitement de méta-modèles différents simultanément Référentiels de modèles et de méta-modèles Outils, langages de transformations ou de projection Pour transformation/passage entre 2 espaces technologiques différents OMG est en train de normaliser un langage d'expression des transformations (QVT) 24

Définitions Concepts principaux de l' Modèles Méta-modèles Transformations Espace technologique Architecture en 4 couches 25

Modèles Un modèle est une description, une spécification partielle d'un système But d'un modèle Abstraction de ce qui est intéressant pour un contexte et dans un but donné Vue subjective et simplifiée d'un système Faciliter la compréhension d'un système Simuler le fonctionnement d'un système Exemples Modèle économique, Modèle démographique... 26

Modèles (2) Différence entre spécification et description Spécification d'un système à construire Description d'un système existant Relation entre un système et un modèle ReprésentationDe (notée μ) 27

Modèles (3) Un modèle représente un système modélisé De manière générale, pas que dans un contexte de génie logiciel ou d'informatique Un modèle peut aussi avoir le rôle de système modélisé dans une autre relation de représentation Modèle XML de la carte de la France administrative qui est un modèle de la France «réelle» 28

Modèles (4) Un modèle est écrit dans un langage qui peut être Non ou peu formalisé, la langue naturelle Formel et bien défini, non ambigu Le français, un dessin... Syntaxe, grammaire, sémantique On parle de méta-modèle pour ce type de langage de modèle Pour les modèles définis dans un langage bien précis Relation de conformité Un modèle est conforme à son méta-modèle Relation EstConformeA (notée c ) 29

Méta-modèle Un modèle est conforme à son méta-modèle On ne parle pas de relation d'instanciation Un modèle n'est pas une instance d'un méta-modèle Instanciation est un concept venant de l'approche objet Approche objet qui ne se retrouve pas dans tous les domaines Un méta-modèle n'est pas non plus un modèle de modèle 30

Méta-modèles (2) Cette relation de conformité est essentielle Base de l' pour développer les outils capables de manipuler des modèles Un méta-modèle est une entité de première classe Mais pas nouvelle Un texte écrit est conforme à une orthographe et une grammaire Un programme Java est conforme à la syntaxe et la grammaire du langage Java Un fichier XML est conforme à sa DTD Une carte doit être conforme à une légende Un modèle UML est conforme au méta-modèle UML 31

Méta-modèles et langages Lien entre méta-modèle et langage Un méta-modèle est un modèle qui définit le langage pour définir un modèle Langage Méta-modèle Système abstrait Définition explicite et concrète d'un langage Un méta-modèle modélise donc un langage Un méta-modèle n'est donc pas un langage 32

Méta-modèles et langages (2) En linguistique Un langage est défini par l'ensemble des phrases valides écrites dans ce langage Une grammaire est un modèle de langage Une grammaire est un méta-modèle Relation entre langage et modèle Un modèle est un élément valide de ce langage Une phrase valide du langage en linguistique Relation d'appartenance AppartientA, notée Є 33

Relations générales Exemple de la carte Une carte modélise un pays selon un point de vue Le méta-modèle de la carte est sa légende La légende définit un ensemble de cartes valides Une carte conforme à une légende appartient à cet ensemble 34

Relations générales Exemple avec un langage de programmation Un programme Java modélise (simule) un système Un programme Java est conforme à la grammaire du langage Java La grammaire de Java modélise le langage Java Exemple avec UML Un diagramme UML modélise un système Un diagramme UML est conforme au méta-modèle UML Le méta-modèle UML définit l'ensemble des modèles UML valides Un modèle UML appartient à cet ensemble 35

Transformations Une transformation est une opération qui Prend un modèle source en entrée Fournit un modèle cible en sortie Transformation endogène Dans le même espace technologique Les modèles source et cible sont conformes au même méta-modèle Transformation d'un modèle UML en un autre modèle UML Transformation exogène Entre 2 espaces technologique différents Les modèles source et cible sont conformes à des méta-modèles différents Transformation d'un modèle UML en programme Java Transformation d'un fichier XML en schéma de BDD 36

Transformations : illustration 37

Transformation selon l'omg 38

Espaces technologiques Un espace technologique correspond à : Un contexte de travail Un ensemble de concepts Un ensemble de méthodes Un ensemble d'outils Un savoir et un savoir-faire partagés Un ET est en général associé à une certaine communauté possédant une expertise commune, des pratiques communes et éventuellement des problématiques de recherche partagées 39

Espaces technologiques [Mireille Blay-Fornarino] 40

Architecture en 4 couches 41

Architecture en 4 couches de l'omg 42

Architecture en 4 couches de l'omg 43

Hiérarchie en 4 niveaux Existe en dehors de la vision OMG pour les autres espaces technologiques 44

Comparaison des espaces technologiques 45

Outils de l' Outils pour La définition de méta-modèles La définition de transformations et leur exécution La génération de code La génération d'environnement graphique de modélisation La vérification de conformité de modèles La spécification de contraintes etc. 46

Outils open source http://planetmde.org/ 47

suite... 48

Outils commerciaux 49

Outils Peu d outils MOF compliant pour expérimenter la création de nouveaux metamodèles Développement de profils UML est consommateur de temps et d argent mais surtout les constructeurs de profils sont encore très chers et propriétaires (exemple : Objecteering, Rationale Rose) Pas de portabilité des profils UML entre outils UML! Peu de formalismes pour exprimer les MDA transformations OMG QVT Différents mondes : OMG : MDA / UML / MOF / SPEM / CWM / UML Profile Microsoft : DSL / Software Factory Eclipse : Ecore / EMOF / nombreux plug-ins 50

DSL et DSM 51

DSL et DSM Domain Specific Modeling (DSM) way of designing and developing systems, most often IT systems such as computer software. It involves the systematic use of a graphical Domain Specific Language (DSL) to represent the various facets of a system. DSM languages tend to support higherlevel abstractions than General-Purpose Modeling languages, meaning that they require less effort and fewer low-level details to specify a given system. 52

DSL et DSM Vision Microsoft 53

DSL et DSM Vision GMF (Eclipse) 54

Bilan Le MDE est une nouvelle approche pour concevoir des applications En s'abstrayant des technologies de mise en oeuvre En plaçant les modèles et surtout les méta-modèles au centre du processus de développement dans un but productif Pour pouvoir s'y adapter plus facilement sans en être dépendant Les modèles sont depuis longtemps utilisés mais ne couvraient pas l'ensemble du cycle de vie du logiciel Les méta-modèles existent aussi depuis longtemps (grammaires, DTD XML,...) Nouvelle vision autour de notions déjà connues Les grands éditeurs de logiciel suivent ce mouvement IBM, Microsoft... 55

Liens web PlanetMDE Projets Eclipse http://www.omg.org/mda/ Wikipédia http://www.omg.org/ MDA http://www.eclipse.org/projects/ OMG http://planetmde.org/ http://fr.wikipedia.org/wiki/ingénierie_dirigée_par_les_modèles AS MDA http://idm.imag.fr/as/ 56

Ouvrages 57

This is the end!! pierre.laforcade@lium.univ-lemans.fr 58