ingénierie dirigée par les modèles idm

Post on 20-Jun-2022

8 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Ingénierie Dirigée par les Modèles

Master EIAH – 2007Pierre Laforcade

IDMIDM

12/11/07 IDM 2

Présentation personnelle

● Statut– Maître de conférences

● Enseignements– Lieu : IUT de Laval– Matières : modélisation objet en UML, programmation objet,

JavaEE/EJB,...● Recherches

– Laboratoire d'informatique LIUM– Projet REDiM

● Thématiques de recherche– Visual Instructional Design Languages (VIDL) & Domain-Specific

Modeling (DSM)– Scénarisation pédagogique & IDM– ...

12/11/07 IDM 3

Sources du cours

● Cours 6 - IDM et EIAH - de la 3ème école thématique sur les EIAH (juillet 2005), Nodenot, Lepallec, Marino

● Cours IDM, Eric Cariou● Rapport de synthèse, AS CNRS MDA● Cours IDM, Jean Bézivin● Cours IDM, Xavier Blanc● Documents du TECFA● Divers sites Web

12/11/07 IDM 4

✗ Introduction

✗ MDA

✗ Ingénierie Dirigée par les Modèles (IDM)

✗ Définitions

✗ Vers le DSM

✗ Bilan

Plan

12/11/07 IDM 5

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 ?

12/11/07 IDM 6

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

12/11/07 IDM 7

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

12/11/07 IDM 8

✗ Introduction

✗ Ingénierie Dirigée par les Modèles (IDM)

Plan

12/11/07 IDM 9

Évolution des technologies/paradigmes

12/11/07 IDM 10

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

12/11/07 IDM 11

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

12/11/07 IDM 12

MDA

● Le MDA définit 3 niveaux de modèles– CIM : Computer Independent Model

● Modèle du domaine (domain/business model) indépendant de toute implémentation informatique

● Recense les besoins des utilisateurs, le vocabulaire employé est celui du praticien

– PIM : Platform Independent Model● 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 plate-

forme technologique donnée

12/11/07 IDM 13

MDA

● Relations entre les différents niveaux

CIM

Transcription informatique

Métier Fonctionnel Technique

Requirements Analysis Conception Implementation

12/11/07 IDM 14

Transformations PIM>PSM

12/11/07 IDM 15

MDA

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

PSM

PDM

12/11/07 IDM 16

MDA

12/11/07 IDM 17

Perspective globale CIM/PIM/PSM

12/11/07 IDM 18

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)

12/11/07 IDM 19

MDA

12/11/07 IDM 20

MDA et IDM

● Limites du MDA– Technologies OMG principalement

● Ingénierie des modèles● MDE : Model Driven Engineering● IDM : 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

12/11/07 IDM 21

Principes de l'IDM

● Capitalisation– Approche objets/composants

● Capitalisation, réutilisation d'éléments logiciels/code

– MDE● 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

12/11/07 IDM 22

Principes de l'IDM (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 but de documentation, spécification, communication

● A une vision productive– Pour générer le code final du logiciel pour une technologie de

mise en oeuvre donnée

12/11/07 IDM 23

Principes de l'IDM (3)

● Séparation des préoccupations– 2 principales préoccupations

● Métier● Plate-forme de mise en oeuvre

– Mais autres préoccupations possibles● 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

12/11/07 IDM 24

Principes de l'IDM (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– Pour transformation/passage entre 2 espaces technologiques

différents● Référentiels de modèles et de méta-modèles● Outils, langages de transformations ou de projection

– OMG est en train de normaliser un langage d'expression des transformations (QVT)

12/11/07 IDM 25

Définitions

● Concepts principaux de l'IDM– Modèles– Méta-modèles– Transformations– Espace technologique– Architecture en 4 couches

12/11/07 IDM 26

Modèles

● Un modèle est une description, une spécification partielle d'un système– Abstraction de ce qui est intéressant pour un contexte et

dans un but donné– Vue subjective et simplifiée d'un système

● But d'un modèle– Faciliter la compréhension d'un système– Simuler le fonctionnement d'un système

● Exemples– Modèle économique,– Modèle démographique ...

12/11/07 IDM 27

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

12/11/07 IDM 28

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 »

12/11/07 IDM 29

Modèles (4)

● Un modèle est écrit dans un langage qui peut être– Non ou peu formalisé, la langue naturelle

● Le français, un dessin ...

– Formel et bien défini, non ambigu● 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 )

12/11/07 IDM 30

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

12/11/07 IDM 31

Méta-modèles (2)

● Cette relation de conformité est essentielle– Base de l'IDM 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

12/11/07 IDM 32

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

● Système abstrait

– Méta-modèle● 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

12/11/07 IDM 33

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 Є

12/11/07 IDM 34

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

12/11/07 IDM 35

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

12/11/07 IDM 36

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

12/11/07 IDM 37

Transformations : illustration

12/11/07 IDM 38

Transformation selon l'OMG

12/11/07 IDM 39

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

12/11/07 IDM 40

Espaces technologiques

[Mireille Blay-Fornarino]

12/11/07 IDM 41

Architecture en 4 couches

12/11/07 IDM 42

Architecture en 4 couches de l'OMG

12/11/07 IDM 43

Architecture en 4 couches de l'OMG

12/11/07 IDM 44

Hiérarchie en 4 niveaux

● Existe en dehors de la vision OMG pour les autres espaces technologiques

12/11/07 IDM 45

Comparaison des espaces technologiques

12/11/07 IDM 46

Outils de l'IDM

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

12/11/07 IDM 47

Outils IDM open source

http://planetmde.org/

12/11/07 IDM 48

suite...

12/11/07 IDM 49

Outils commerciaux

12/11/07 IDM 50

Outils IDM

● 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

12/11/07 IDM 51

DSL et DSM

12/11/07 IDM 52

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 higher-level abstractions than General-Purpose Modeling languages, meaning that they require less effort and fewer low-level details to specify a given system.

12/11/07 IDM 53

DSL et DSM

● Vision Microsoft

12/11/07 IDM 54

DSL et DSM

● Vision GMF (Eclipse)

12/11/07 IDM 55

Bilan IDM

● Le MDE est une nouvelle approche pour concevoir des applications– En s'abstrayant des technologies de mise en oeuvre

● Pour pouvoir s'y adapter plus facilement sans en être dépendant

– En plaçant les modèles et surtout les méta-modèles au centre du processus de développement dans un but productif

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

12/11/07 IDM 56

Liens web IDM– PlanetMDE

● http://planetmde.org/

– Projets Eclipse● http://www.eclipse.org/projects/

– OMG● http://www.omg.org/

– MDA● http://www.omg.org/mda/

– Wikipédia● http://fr.wikipedia.org/wiki/Ingénierie_dirigée_par_les_modèles

– AS MDA● http://idm.imag.fr/as/

12/11/07 IDM 57

Ouvrages IDM

12/11/07 IDM 58

pierre.laforcade@lium.univ-lemans.fr

This is the end!!

top related