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

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

Upload: others

Post on 20-Jun-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingénierie Dirigée par les Modèles IDM

Ingénierie Dirigée par les Modèles

Master EIAH – 2007Pierre Laforcade

IDMIDM

Page 2: Ingénierie Dirigée par les Modèles IDM

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

Page 3: Ingénierie Dirigée par les Modèles 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

Page 4: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 4

✗ Introduction

✗ MDA

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

✗ Définitions

✗ Vers le DSM

✗ Bilan

Plan

Page 5: Ingénierie Dirigée par les Modèles IDM

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 ?

Page 6: Ingénierie Dirigée par les Modèles IDM

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

Page 7: Ingénierie Dirigée par les Modèles IDM

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

Page 8: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 8

✗ Introduction

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

Plan

Page 9: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 9

Évolution des technologies/paradigmes

Page 10: Ingénierie Dirigée par les Modèles IDM

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

Page 11: Ingénierie Dirigée par les Modèles IDM

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

Page 12: Ingénierie Dirigée par les Modèles IDM

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

Page 13: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 13

MDA

● Relations entre les différents niveaux

CIM

Transcription informatique

Métier Fonctionnel Technique

Requirements Analysis Conception Implementation

Page 14: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 14

Transformations PIM>PSM

Page 15: Ingénierie Dirigée par les Modèles IDM

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

Page 16: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 16

MDA

Page 17: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 17

Perspective globale CIM/PIM/PSM

Page 18: Ingénierie Dirigée par les Modèles IDM

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)

Page 19: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 19

MDA

Page 20: Ingénierie Dirigée par les Modèles IDM

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

Page 21: Ingénierie Dirigée par les Modèles IDM

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

Page 22: Ingénierie Dirigée par les Modèles IDM

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

Page 23: Ingénierie Dirigée par les Modèles IDM

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

Page 24: Ingénierie Dirigée par les Modèles IDM

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)

Page 25: Ingénierie Dirigée par les Modèles IDM

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

Page 26: Ingénierie Dirigée par les Modèles IDM

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

Page 27: Ingénierie Dirigée par les Modèles IDM

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

Page 28: Ingénierie Dirigée par les Modèles IDM

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 »

Page 29: Ingénierie Dirigée par les Modèles IDM

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 )

Page 30: Ingénierie Dirigée par les Modèles IDM

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

Page 31: Ingénierie Dirigée par les Modèles IDM

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

Page 32: Ingénierie Dirigée par les Modèles IDM

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

Page 33: Ingénierie Dirigée par les Modèles IDM

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 Є

Page 34: Ingénierie Dirigée par les Modèles IDM

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

Page 35: Ingénierie Dirigée par les Modèles IDM

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

Page 36: Ingénierie Dirigée par les Modèles IDM

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

Page 37: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 37

Transformations : illustration

Page 38: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 38

Transformation selon l'OMG

Page 39: Ingénierie Dirigée par les Modèles IDM

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

Page 40: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 40

Espaces technologiques

[Mireille Blay-Fornarino]

Page 41: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 41

Architecture en 4 couches

Page 42: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 42

Architecture en 4 couches de l'OMG

Page 43: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 43

Architecture en 4 couches de l'OMG

Page 44: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 44

Hiérarchie en 4 niveaux

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

Page 45: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 45

Comparaison des espaces technologiques

Page 46: Ingénierie Dirigée par les Modèles IDM

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.

Page 47: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 47

Outils IDM open source

http://planetmde.org/

Page 48: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 48

suite...

Page 49: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 49

Outils commerciaux

Page 50: Ingénierie Dirigée par les Modèles IDM

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

Page 51: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 51

DSL et DSM

Page 52: Ingénierie Dirigée par les Modèles IDM

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.

Page 53: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 53

DSL et DSM

● Vision Microsoft

Page 54: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 54

DSL et DSM

● Vision GMF (Eclipse)

Page 55: Ingénierie Dirigée par les Modèles IDM

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

Page 56: Ingénierie Dirigée par les Modèles IDM

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/

Page 57: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 57

Ouvrages IDM

Page 58: Ingénierie Dirigée par les Modèles IDM

12/11/07 IDM 58

[email protected]

This is the end!!