0% ont trouvé ce document utile (0 vote)
63 vues34 pages

Ingénierie Dirigée par les Modèles

Transféré par

midekorfranck
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
63 vues34 pages

Ingénierie Dirigée par les Modèles

Transféré par

midekorfranck
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours IDM

Master SID Ingénierie des modèles


Introduction

IdM Introduction à l’IdM et


Définitions

Evolution des
technologies
défénitions générales
MDA vers MDE

2019 - 2020
Cours IDM
Plan du chapitre
Master SID

Introduction

IdM 1 Introduction
Définitions

Evolution des
technologies
2 Pourquoi l’IDM ? Pourquoi faire ?
MDA vers MDE

3 Modèle, Métamodèle et Transformation

4 Evolution des technologies

5 MDA vers MDE


Cours IDM
Le génie logiciel
Master SID

Introduction
Le cycle de vie du développement du logiciel
IdM • Analyse des besoins, spécification, conception, implantation,
Définitions vérification, maintenance.
Evolution des
technologies
• Comment les ordonner : Cascade ? spiral ? itératif ? en V ?
MDA vers MDE • Commencer par une idée, et arriver à un code.
Cours IDM
Le génie logiciel
Master SID

Introduction

IdM

Définitions

Evolution des Industrie du logiciel


technologies

MDA vers MDE


• Programmer un outils de gestion de magasin.
• Implémenter un système d’exploitation.
• Concevoir une plateforme de simulation.
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction Model Driven Engineering


IdM
• Une discipline qui place le modèle au centre du processus
Définitions
d’ingénierie du logiciel (2000’).
Evolution des
technologies • Le code source est le résultat d’une transformation de modèles.
MDA vers MDE
• Ancêtres : MIC (Model Integrated Computing 90’), MDA (Model
Driven Architecture), Software Factories.

Recommandée par l’OMG (Object Management Group,


1989)
• Un consortium regroupant industriels et chercheurs visant la
standardisation des solutions d’interopérabilité des SI.
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction
Model Driven Engineering
IdM
L’interopérabilité est la capacité que possède un produit ou un système,
Définitions
dont les interfaces sont intégralement connues, à fonctionner avec
Evolution des
technologies d’autres produits ou systèmes existants ou futurs et ce sans restriction
MDA vers MDE d’accès ou de mise en œuvre.

Model Driven Engineering


• Une nouvelle approche pour concevoir des applications.
• Elle place le modèle et les métamodèles au centre du processus de
développement.
• Automatiser le processus de développement.
Cours IDM
Pourquoi l’IDM ? Pourquoi faire ?
Master SID

Introduction

IdM

Définitions
Pourquoi l’IDM ? Pourquoi faire ?
Evolution des
technologies
• Évolution permanente des technologies logicielles.
MDA vers MDE
• Faire communiquer et interagir des éléments distants.
• Normaliser un standard qui sera utilisé par tous.
• Systèmes distribués : Middleware (Intergiciel).
Cours IDM
Pourquoi l’IDM ? Pourquoi faire ?
Master SID

Introduction

IdM

Définitions Pourquoi l’IDM ? Pourquoi faire ?


Evolution des
technologies • Les algorithmes de distribution et de calcul sont indépendants de la
MDA vers MDE technologie et de la mise en oeuvre.
• Nécessité de découpler la logique métier et la mise en oeuvre
technologique.
• Séparation des préoccupations.
Cours IDM
Pourquoi l’IDM ? Pourquoi faire ?
Master SID

Introduction

IdM

Définitions

Evolution des Pourquoi l’IDM ? Pourquoi faire ?


technologies
• Besoin de modéliser et spécifier.
MDA vers MDE
• A un niveau abstrait la partie métier.
• La plateforme de mise en œuvre.
• Projeter ce niveau abstrait à la plateforme.
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction Méta-métamodèle
IdM

Définitions
est conforme à
Evolution des
technologies

MDA vers MDE

Métamodèle

est conforme à

représente
Modèle Système
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction

IdM
Modèle
Définitions
• Une description (existant), ou spécification (à construire) partielle
Evolution des
technologies d’un système.
MDA vers MDE
• Une abstraction d’un système réel qu’il représente (dans un
contexte, et pour un but).
• Ensemble restreint d’informations (nécessaire à l’exploitation du
système).
• Une vue subjective et simplifiée d’un système.
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction

IdM

Définitions
Pourquoi ?
Evolution des
technologies • Faciliter la compréhension d’un système donné.
MDA vers MDE
• Simuler le fonctionnement d’un système.

Exemple
• Modèle économique, modèle physique, modèle biologique.
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction

IdM

Définitions

Evolution des Modèle


technologies
• La description (ou spécification) peut être :
MDA vers MDE
• Non ou peu formelle : Langage naturelle ou dessin ?
• Formelle : Dans un langage bien défini sans ambiguïté : Métamodèle
(syntaxe, grammaire et sémantique).
Cours IDM
L’ingénierie dirigée par les modèles
Master SID
Métamodèle
Introduction
• Éviter la définition : Un modèle de modèle.
IdM
• Le modèle n’est pas une instance du métamodèle.
Définitions

Evolution des • Un descripteur de modèles (Conformité !).


technologies

MDA vers MDE Exemple d’un système : Algérie.


• Modèle : Liste des wilayas
zones incluant listes des communes.
• Métamodèle : Wilaya
Zone et Commune

Paradigme ancien
• Un texte est conforme à l’orthographe de sa langue.
• Une carte est conforme à sa légende.
• Une programme est conforme à son métamodèle (Langage évolué).
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Métamodèle
Introduction

IdM
• La grammaire est le métamodèle pour les phrases du langage.
Définitions • La définition de la chaise dans le dictionnaire est un métamodèle.
Evolution des
technologies
• Une photo de la chaise est un modèle.
MDA vers MDE • La chaise en elle même est un système.

One and Three


Chairs
(Joseph Kosuth, 1965)
Cours IDM
L’ingénierie dirigée par les modèles
Master SID

Introduction
Transformations
IdM
• Opération générale de manipulation de modèles
Définitions

Evolution des
• Prend un ou plusieurs modèles en entrée et fournit un ou plusieurs
technologies
modèles en sortie.
MDA vers MDE
Transformation endogènes
• Dans le même espace technologique.
• Comme transformer un modèle UML en un autre modèle UML.

Transformations exogènes
• Entre deux espaces technologiques différents.
• Comme transformer un modèle XML en un schéma BDD.
Cours IDM
Méta-métamodèle
Master SID

Méta-
Introduction

IdM

Définitions

Evolution des
métamodèle
technologies

MDA vers MDE Méta-modèle

Modèle
Système
Cours IDM
Technologies logicielles
Master SID

Introduction

IdM

Définitions
Évolution permanente
Evolution des • Programmation d’une fonction pour calculer les additions ?
technologies

MDA vers MDE


• Systèmes distribués et plateformes différentes.
• C Sockets TCP/UDP RPC CORBA RMI EJB Web Services

Le calcul distribué
• Concurrent Execution Vs. Independent Failure !
Cours IDM
Évolution des technologies logicielles
Master SID

Introduction

IdM
CORBA
Définitions
• Common Request Broker Architecture (OMG)
Evolution des
technologies • Indépendant des langages de programmation.
MDA vers MDE
• Indépendant des systèmes d’exploitation.
• Pour interopérabilité de toutes applications de toutes technologies.

La suite
• Arrivé de Java RMI (Java Remote Method Invocation)
• Web services . .
Cours IDM
Model Driven Architecture
Master SID

Introduction MDA
IdM • Il est l’origine de l’ingénierie des modèles (2000).
Définitions • Motivation : Évolution constante des technologies.
Evolution des
technologies Pourquoi le MDA
MDA vers MDE • Abstraire les parties métier de la mise en oeuvre.
• Exploiter les standards OMG (UML, MOF, OCL, CWM, QVT)
Deux niveaux de modèles
• Platform Independant Model (PIM) : Spécification de la partie
métier de l’application.
• Platform Specific Model (PSM) : Spécification après projection sur
une plateforme technologique.
Cours IDM
Model Driven Architecture
Master SID

Autres modèles
Introduction
• Computation Independant Model (CIM) : Spécification du système
IdM

Définitions
de point de vue extérieur de l’utilisateur.
Evolution des • Platform Deployment Model (PDM) : Modèle d’une plateforme de
technologies
déploiement.
MDA vers MDE

Projection vers
une technologie Génération de code

Platform Indepedant Platforme Specific


Code
Model (PIM) Model (PSM)
Rétro-Ingénierie Rétro-Ingénierie

Raffinement Raffinement
Cours IDM
Computation Independant Model
Master SID

Introduction
• Décrit les flux et les actions sur le système ;
IdM
• Modèle d’analyse de base du métier ou du domaine d’application ;
Définitions

Evolution des • Indépendant de tout système informatique ;


technologies
• Décrit les concepts de l’activité métier, le savoir faire, les processus,
MDA vers MDE
la terminologie et les règles de gestion (de haut niveau) ;
• Décrit la situation dans laquelle le système est utilisé ;
• Est modifié uniquement si les connaissances ou les besoins métier
changent (très longue durée de vie) ;
• Les exigences modélisées dans le CIM seront prise en compte dans
les constructions des PIM et des PSM.
Cours IDM
Plateform Independant Model
Master SID

Introduction
• Décrit les traitements orientés métier, il est un modèle de
IdM
conception ;
Définitions

Evolution des
• Décrit le système indépendamment de toute plate-forme technique
technologies
et de toute technologie utilisée pour déployer l’application ;
MDA vers MDE
• Représente la logique métier spécifique au système :
Fonctionnement des entités et des services ;
• Est pérenne dans le temps ;
• Consiste en des diagrammes de classes (OCL) ;
• Les différents niveaux de PIM précisent les choix de persistance, de
gestion des transactions et de sécurité.
Cours IDM
Plateform Deployment Model
Master SID

Introduction

IdM

Définitions
• Décrit une architecture technique (Il peut y avoir plusieurs par
Evolution des projet) ;
technologies
• Contient des informations pour la transformation des modèles vers
MDA vers MDE
une plateforme ;
• Est spécifique à une plateforme ;
• Est un modèle de transformation pour permettre le passage du
PIM vers le PSM ;
Cours IDM
Plateform Specific Model
Master SID

Introduction
• Les détails techniques liés à l’implantation pour une plate-forme : Il
IdM en est dépendant ;
Définitions • Sert à la génération du code exécutable pour les plates-formes
Evolution des techniques particulières ;
technologies

MDA vers MDE


• Décrit comment le système utilisera la plate-forme ;
• Le premier niveau, issu de la transformation d’un PIM par
l’adaptation des modèles UML aux spécificités la plate-forme.
• Les autres niveaux PSM sont obtenus par transformations
successives en prenant en compte le langage (Java, CPP, PHP...) et
les choix de conception.
• Le dernier niveau, ou PSM d’implantation, décrit, en autres, le code
du programme, les schémas des tables, les bibliothèques utilisées et
les descripteurs de déploiement.
Cours IDM
Model Driven Architecture
Master SID

Introduction
Logique Technologie /
IdM
métier (PIM) Plateforme
Cycle de développement de logiciel
Définitions (PDM)
en MDA
Evolution des
technologies
• Cycle en Y.
MDA vers MDE
• Raffinement continu : Plus compliqué
PSM
en pratique.. Cycle en épi.
• La mise en oeuvre du MDA :
• Utilisation des standards de l’OMG :
UML, OCL, CWM, MOF, QVT Code de
l’application
Cours IDM
MDE - Microsoft
Master SID

Introduction

IdM
Spécification
CIM

Standards basés MDA


des besoins
Définitions

Evolution des Analyset et Conception


technologies
Standars PIM Standards pour
MDA vers MDE PDM PIM Applications
Mappage
Standardisé pour
Modification pour chaque plate-forme les PSMs

Notation PSM
PSM PSM PSM ... Standards pour
plate-formes

Mappage à l’implémentation Mappage standardisée


pour les codes de
l’implémentation
Implémentation Implémentation Implémentation Implémentation
Cours IDM
Model Driven Engineering
Master SID

Introduction

IdM
Les limites du MDA
Définitions

Evolution des
• OMG uniquement ?
technologies
• Ingénierie Dirigée par les Modèles (IDM) ou Model Driven
MDA vers MDE
Engineering (MDE).
• Appliquer et généraliser les même principes à tout espace
technologique.
• Un espace technologique est l’ensemble des techniques et principes de
modélisation et d’outils associés à un méta-métamodèle.
Cours IDM
Les principes du MDE
Master SID
• Capitalisation
Introduction
• Réutilisation de modèles ou de parties de modèles : Nous parlons de
IdM
logique métier, règles de raffinement, projection..
Définitions
• Abstraction
Evolution des
technologies • Modéliser est abstraire : Permet l’adaptation d’une logique métier à
MDA vers MDE un contexte, et permet d’évoluer vers des technologies nouvelles.
• Modélisation
• La modélisation se doit être productive : Générer le code source pour
une technologie de mise en oeuvre donnée.
• Séparation des préoccupations
• Séparer le métier (La logique) de la plateforme (La mise en oeuvre).
• Autres préoccupations : Sécurité, Interfaces..
• Ces préoccupations sont modélisés puis intégrés par des
transformations de modèles.
Cours IDM
Les principes du MDE
Master SID

Introduction

IdM

Définitions Pour avoir cette version productive


Evolution des
technologies
• Les modèles doivent être bien définis (Conformes aux
MDA vers MDE métamodèles).
• Ces définitions doivent permettre la manipulation par les différents
outils :
• Traitement de deux métamodèles différents.
• Transformations, projection et génération de code.
Cours IDM
Bases de l’MDA
Master SID

Introduction

IdM

Définitions

Evolution des
technologies

MDA vers MDE

Source [N. Rousse, IDM, modelia.org, 2007]


Cours IDM
Les approches MDE
Master SID

Introduction

IdM

Définitions

Evolution des
technologies

MDA vers MDE

Source [N. Rousse, IDM, modelia.org, 2007]


Cours IDM
MDE - IBM
Master SID

Introduction

IdM

Définitions

Evolution des
technologies

MDA vers MDE

Source [N. Rousse, IDM, modelia.org, 2007]


Cours IDM
MDE - Microsoft
Master SID

Introduction

IdM

Définitions

Evolution des
technologies

MDA vers MDE

Source [N. Rousse, IDM, modelia.org, 2007]

Vous aimerez peut-être aussi