Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Chapitre 1. Introduction À lIDM

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 28

Université de Monastir

Institut Supérieur d’Informatique et de Mathématiques


Département Informatique

Cours
Ingénierie Dirigée par les Modèles (IDM)
Master Professionnel en Génie Logiciel

Enseignante: Mme Sameh HBAIEB


samehhbaieb11@gmail.com

Année Universitaire: 2023-2024


Objectifs du cours
 Maîtriser l’impact des nouvelles technologies.
Comprendre les différents concepts de l’ingénierie dirigée par les modèles
ainsi que les concepts de modélisation via des standards (e.g. MOF, UML et les
profils UML).
 Connaître les différents standards de l’OMG sur lesquels se base l’architecture
MDA et les liens entre eux.
 Comprendre l’architecture de méta modélisation de l’OMG et automatiser les
relations inter/intra niveaux.
 Comprendre et utiliser un langage de contraintes sur des diagrammes de
classe (e.g. OCL).
Comprendre et maîtriser la transformation de modèles.
Cours IDM– Mme Sameh HBAIEB 1
Plan du cours
Chapitre 1. Introduction
Spécification et matérialisation de l’abstrait
Objectifs de l’ingénierie des modèles

Chapitre 2. Modèles et méta-modèles


Les langages dédiés: conception et mise en œuvre
Syntaxe concrète vs syntaxe abstraite

Chapitre 3. Transformation de modèles


Concepts théoriques
Transformation modèle vers modèle
Transformation modèle vers text (code)

Cours IDM– Mme Sameh HBAIEB 2


Bibliographie
 L’ingénierie dirigée par les modèles, au-delà du MDA. Jean-Marie Favre, Jacky
Estublier, Mireille Blay-Fornarino. Hermes Science publications – Lavoisier
Ingénierie dirigée par les modèles : des concepts à la pratique. Benoît
Combemale, Didier Vojtisek et Jean-Marc Jézéquel
Cours IDM. Eric Cariou Univ Pau France (ex prof visiteur a isimm )

Cours IDM– Mme Sameh HBAIEB 3


Université de Monastir
Institut Supérieur d’Informatique et de Mathématiques
Département Informatique

Chapitre 1.
Introduction:
Présentation générale de l’IDM

Cours IDM- MP1 GL

Année Universitaire: 2023-2024


Génie Logiciel: définitions
 Le terme français de génie logiciel a été introduit par l’arrêté ministériel du 30
décembre 1983 relatif à l’enrichissement du vocabulaire de l’informatique
(Journal officiel du 19 février 1984) et désigne:
L’ensemble des activités de conception et de mise en Œuvre des produits et des
procédures tendant à rationaliser la production du logiciel et son suivi
 Jaulent (1992) propose une définition plus pratique du terme génie logiciel:
Procédures, méthodes, langages, ateliers imposés ou préconisés par les normes
adaptées à l’environnement d’utilisation afin de favoriser la production et la
maintenance de composants logiciels de qualité

Cours IDM– Mme Sameh HBAIEB 6


Constat sur le développement logiciel
Un univers en constante évolution :
 Multiplication des plates-formes technologiques (JEE, .Net, Android, Web 2.0,.
..)
 Abandon rapide des logiciels (60% de l’activité informatique consiste en la
maintenance et l’évolution)
 Des systèmes de plus en plus complexes (réseau, sécurité, . . . )
 Des exigences supérieures :
 Cout et temps de production
 Qualité de production

Cours IDM– Mme Sameh HBAIEB 7


Constat sur le développement logiciel
 Evolution technologique :
Idée afin de limiter le nombre de technologies: Normaliser un standard qui
sera utilisé par tous
Pour les systèmes distribués, plusieurs standard:
C et sockets TCP/UDP
C et RPC
C++ et CORBA
Java et RMI
Java et EJB
C# et Web Services
 A suivre ...

Cours IDM– Mme Sameh HBAIEB 8


Constat sur le développement logiciel
 Evolution technologique :
De plus, « guerre » de la standardisation entre les différents organismes:
Sun/Oracle : Java
Plate-forme d'exécution universelle
Avec middleware intégré (RMI)
OMG : CORBA
middleware universel
Microsoft et d'autres : Web Services
Interopérabilité universelle entre composants
middleware = HTTP/XML
Cours IDM– Mme Sameh HBAIEB 9
Constat sur le développement logiciel
 Evolution technologique :
Conclusion sur l'évolution des technologies
Nouveaux paradigmes, nouvelles techniques
Pour développement toujours plus rapide, plus efficace
Rend difficile la standardisation (obsolescence rapide d'une technologie)
Principes de cette évolution
 Évolution sans fin
 La meilleure technologie est ... celle à venir

Cours IDM– Mme Sameh HBAIEB 10


Motivations
 Quelles conséquences en pratique de cette évolution permanente ?
 Si on veut profiter des nouvelles technologies et de leurs avantages :
Nécessite d'adapter une application à ces technologies
 Question : quel est le coût de cette adaptation ?
Généralement très élevé
Doit réécrire presque entièrement l'application
Car mélange du code métier et du code technique
Aucune capitalisation de la logique et des règles métiers

Cours IDM– Mme Sameh HBAIEB 11


Motivations
 Exemple: Application de calculs scientifiques distribués sur un réseau de
machines
Passage de C/RPC à Java/EJB Paradigme Objet/Composant
Impossibilité de reprendre le code existant Appel d’un composant EJB
Paradigme procédural à objet/composant

Paradigme Procédural
Appel d’une procédure
Cours IDM– Mme Sameh HBAIEB 12
Motivations
 Solution:
 Séparation entre la logique métier et la technologie d’implémentation
 Nécessité de découpler clairement la logique métier et de la mise en
œuvre technologique
 L’intérêt est de favoriser l’évolutivité, la réduction du coût et
l’interopérabilité
 Modéliser l’application indépendamment de la plateforme

Cours IDM– Mme Sameh HBAIEB 13


Motivations
 Solution:
 Passer du modèle contemplatif…
 Utilisation informelle (documentation)
OMA : Object Management
 Définition manuelle de projections (idl -> java) Architecture
 Au modèle productif
 Production automatisée de code
MDA : Model Driven
 Définition de projections standardisées
Architecture
 Objectif:
 S’abstraire de l’implémentation
Se focaliser sur le modèle
Cours IDM– Mme Sameh HBAIEB 14
Ingénierie Dirigée par les Modèles (IDM):
Principe
 Selon (Bézivin, 2006), l’IDM est défini comme un paradigme qui se base
sur:
 des modèles situés à des niveaux d'abstraction différents définies par
des méta modèles et,
 des transformations entre modèles jusqu'à la génération du code.

Cours IDM– Mme Sameh HBAIEB 15


Ingénierie Dirigée par les Modèles (IDM):
Principe
 L'Ingénierie IDM est une approche de développement qui met à la
disposition de l'utilisateur des outils, des concepts et des langages afin de
simplifier et de mieux maîtriser le processus de développement de
systèmes.
 L’IDM permet aussi d'augmenter la productivité, la qualité, la
réutilisabilité et l'évolution de ces systèmes .
 Les modèles sont considérés comme des éléments de base de l’IDM.

Cours IDM– Mme Sameh HBAIEB 16


Que propose l’IDM ?
 Modéliser les applications à un haut niveau d'abstraction
 Place le modèle au cœur du processus de conception
 Transformation de modèles pour passer d'un niveau à l'autre
 Génère le code de l'application à partir des modèles
 Possibilité de contrôler, simuler et tester à différents niveaux

Cours IDM– Mme Sameh HBAIEB 17


Concepts de base de l’IDM
Le modèle
 Qu’est ce qu’un modèle ?
 Un modèle est un ensemble de faits caractérisant un aspect d'un système dans
un objectif donné.
 Un modèle représente donc un système selon un certain point de vue, à un
niveau d'abstraction facilitant par exemple la conception et la validation de cet
aspect particulier du système

Cours IDM– Mme Sameh HBAIEB 18


Concepts de base de l’IDM
Le modèle
 Un modèle doit capturer les informations nécessaires et suffisantes pour
permettre de répondre aux questions que l'on se pose sur un aspect du système
qu'il représente, exactement de la même façon que le système lui-même aurait
répondu.
 Exemples de modèles:
 Réseaux de Petri (Rdp)
 Diagrammes UML
 Modèle BPMN
 Modèle Entité/Association

Cours IDM– Mme Sameh HBAIEB 19


Concepts de base de l’IDM
Le modèle
 En GL, on souhaite en général décomposer un
système complexe en autant de modèles que
nécessaire pour aborder efficacement toutes les
préoccupations pertinentes

 Ces modèles peuvent être exprimés avec un langage de modélisation


généraliste comme UML, ou avec des langages de modélisation spécifiques à des
domaines (DSML en anglais pour Domain Specific Modeling Language) lorsque
cela semble plus approprié.
 Chacun de ces modèles peut être vu comme l'abstraction d'un aspect de la
réalité pour gérer une préoccupation particulière.

Cours IDM– Mme Sameh HBAIEB 20


Concepts de base de l’IDM
Le méta-modèle
 Qu’est-ce qu’un méta-modèle ?
 Un méta-modèle est un modèle qui permet de définir le langage utilisé pour exprimer le
modèle.
 Grammaire décrivant un langage de modélisation
 Il représente les entités d’un langage, leurs relations ainsi que leurs contraintes

 Autrement dit, le méta-modèle est une spécification de la syntaxe d’un


langage.
 Pourquoi des méta-modèles ?
Pour éditer et valider les modèles: Assurer la correction syntaxique des modèles
Pour transformer des modèles: Règles de transformation entre méta-modèles

Cours IDM– Mme Sameh HBAIEB 21


Concepts de base de l’IDM
Le méta-modèle
Exemple Méta-modèle du diagramme de classes UML

 Définit la syntaxe abstraite (relations entre éléments du modèle), mais pas la syntaxe
concrète (représentation textuelle, graphique, ...)

Cours IDM– Mme Sameh HBAIEB 22


Concepts de base de l’IDM
Le méta-méta-modèle
 Le méta-méta-modèle est un langage de définition de méta-modèles
 C’est est un modèle qui décrit les éléments de modélisation nécessaires à la
définition des langages de méta modélisation pour pouvoir interpréter un méta-
modèle.
 Les méta-méta-modèles sont unique et méta circulaire c’est-à-dire la capacité
de se définir eux-mêmes, ils sont alors auto descriptifs.

Cours IDM– Mme Sameh HBAIEB 23


Concepts de base de l’IDM

Cours IDM– Mme Sameh HBAIEB 24


Approche OMG de l’IDM
 L'OMG: Object Management Group
(http://www.omg.org) définit une architecture
de modèles à quatre niveaux de modélisation :
Niveau 0 : système réel, système modélisé
Niveau 1 : modèle du système réel défini dans
un certain langage
Niveau 2 : méta-modèle définissant ce langage
Niveau 3 : méta-méta-modèle définissant le
méta-modèle

Cours IDM– Mme Sameh HBAIEB 26


Le MOF (Meta Object Facilities)
 Qu’est-ce que le MOF ?
Langage standard de méta-méta-modélisation défini par l’OMG
Utilisé pour définir la syntaxe abstraite des méta-modèles UML
Définit les éléments des méta-modèles et leurs relations
Langage méta-circulaire
Le MOF est défini en lui-même
Correspond au niveau M3 de l’approche OMG
Pourquoi le MOF ?
Standardisation des langages de méta-modélisation
Outils génériques pour la transformation de modèles

Cours IDM– Mme Sameh HBAIEB 27


Hiérarchie de Modélisation à 4 niveaux:
Exemple 1

Cours IDM– Mme Sameh HBAIEB 28


Hiérarchie de Modélisation à 4 niveaux:
Exemple 2

Cours IDM– Mme Sameh HBAIEB 29

Vous aimerez peut-être aussi