0% ont trouvé ce document utile (0 vote)
61 vues27 pages

Chapitre 2. Part 1

Le document présente les langages de modélisation, en distinguant la syntaxe concrète et abstraite, ainsi que des exemples tels que UML et BPMN. Il aborde également les langages de méta-modélisation, leur rôle dans la création de langages spécifiques au domaine (DSML) et fournit des exemples de DSML comme SysML et VHDL. Enfin, il souligne l'importance des DSML pour l'adaptation au contexte, l'automatisation et la communication entre parties prenantes.

Transféré par

Maryem Khammar
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)
61 vues27 pages

Chapitre 2. Part 1

Le document présente les langages de modélisation, en distinguant la syntaxe concrète et abstraite, ainsi que des exemples tels que UML et BPMN. Il aborde également les langages de méta-modélisation, leur rôle dans la création de langages spécifiques au domaine (DSML) et fournit des exemples de DSML comme SysML et VHDL. Enfin, il souligne l'importance des DSML pour l'adaptation au contexte, l'automatisation et la communication entre parties prenantes.

Transféré par

Maryem Khammar
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

Université de Monastir

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


Département Informatique

Chapitre 2.
Langages de modélisation
Cours IDM‐ MP1 GL

Année Universitaire: 2024‐2025


Qu'est‐ce qu'un langage de modélisation?
 Dans le cadre des langages de modélisation, comme dans les langages de
programmation, on distingue souvent deux concepts importants : la syntaxe
concrète et la syntaxe abstraite. Ces deux types de syntaxe sont essentiels pour
comprendre comment un langage de modélisation est défini et utilisé.
Langage de
modélisation Syntaxe concrète
Syntaxe abstraite
Elle déclare les concepts et les relations qui Elle définit comment ces concepts et relations
existent dans un modèle sans détailler sont écrits ou illustrés dans des fichiers ou des
comment ceux‐ci sont représentés diagrammes => Notations
=> Méta‐modèle Elle est souvent plus proche de la manière
dont les utilisateurs interagissent avec les
outils de modélisation.

MME SAMEH HBAIEB‐ COURS IDM 2


Exemples pratiques de langages de
modélisation
 Langage UML :
Syntaxe abstraite : Définit des concepts comme les classes, objets, relations
d'héritage, associations et compositions, mais sans se soucier de la manière
dont elles sont présentées.
Syntaxe concrète : Spécifie que les classes sont représentées par des
rectangles, les associations par des lignes, les héritages par des flèches avec un
triangle, etc.

MME SAMEH HBAIEB‐ COURS IDM 3


Exemples pratiques de langages de
modélisation
 Langage BPMN (Business Process Model and Notation) :
Syntaxe abstraite : Décrit les processus, les événements, les activités, et les
décisions d'une manière logique et conceptuelle.
Syntaxe concrète : Spécifie que les événements sont des cercles, les activités
sont des rectangles, et les flux de contrôle sont des flèches entre les éléments,
etc.

MME SAMEH HBAIEB‐ COURS IDM 4


Langage de méta‐modélisation
 Un langage de méta‐modélisation est un langage utilisé pour définir la
structure, les règles et les relations d'un modèle à un niveau abstrait, autrement
dit, un langage qui sert à décrire la structure des modèles (aussi appelés modèles
de modèles).
Un méta‐modèle est un modèle qui décrit un autre modèle. Il permet de décrire
la syntaxe et les concepts d'un langage de modélisation.

MME SAMEH HBAIEB‐ COURS IDM 5


Langage de méta‐modélisation
 Un langage de méta‐modélisation permet de créer des langages de
modélisation spécifiques (appelés Domain‐Specific Languages (DSL)), qui sont
adaptés à un domaine particulier (comme la modélisation des processus métiers,
des systèmes embarqués, etc.).
 Le méta‐modèle joue un rôle clé dans MDE, où l’on génère des modèles à partir
d’autres modèles via des règles bien définies.

MME SAMEH HBAIEB‐ COURS IDM 6


Langages de méta‐modélisation
populaires
 Meta‐Object Facility (MOF) : MOF est un standard de l'Object Management
Group (OMG) pour la définition de méta‐modèles. Il est largement utilisé pour
définir des méta‐modèles dans des systèmes de modélisation tels que UML.

 Ecore (dans Eclipse Modeling Framework ‐ EMF) : Ecore est utilisé pour créer
des méta‐modèles et générer des modèles EMF à partir de ceux‐ci. Les modèles
générés peuvent ensuite être utilisés pour produire des instances (des modèles
spécifiques).

MME SAMEH HBAIEB‐ COURS IDM 7


Langages de méta‐modélisation
populaires
 XMI (XML Metadata Interchange) : XMI est un standard XML pour l’échange de
métadonnées et est souvent utilisé pour échanger des modèles de métamodèles
entre différents outils.
Ce n’est pas un langage de méta‐modélisation en soi, mais il est utilisé pour
sérialiser et échanger des modèles basés sur des métamodèles comme MOF.
XMI permet l’interopérabilité entre différents outils et frameworks basés sur des
métamodèles communs (par exemple, UML ou EMF).

MME SAMEH HBAIEB‐ COURS IDM 8


Exemple 1: Spécification MOF de l'OMG
Il est possible de définir un méta‐modèle par instanciation des éléments du
langage de méta‐modélisation (i.e., décrit dans le métamétamodèle)

MME SAMEH HBAIEB‐ COURS IDM 9


Exemple 2: Ecore de EMF
 EMF (Eclipse Modeling Framework) est un plugin eclipse:
 contient un méta‐méta‐modèle (Ecore), noyau réflexif simple (s’appuie sur EMOF)
 construction de méta‐modèles : édition graphique ou édition arborescente ou édition via
code java annoté
 génération d’une API Java permettant la manipulation d’instances de ce méta‐modèle
 génération d’un éditeur arborescent
 intègre un framework de vérifications de contraintes (soit OCL, soit Java)
 production de code sous forme de plugins Eclipse
 et bien d’autres plugins associes (OCL, GMF, Acceleo, . . . )

MME SAMEH HBAIEB‐ COURS IDM 10


Exemple 2: Ecore de EMF

MME SAMEH HBAIEB‐ COURS IDM 11


Langage de modélisation UML
 UML (Unified Modeling Language) est un langage de modélisation graphique
standardisé utilisé pour spécifier, visualiser, construire et documenter les
artefacts d'un système logiciel. Il est largement utilisé dans le développement de
logiciels et la conception de systèmes pour représenter des aspects structurels,
comportementaux et interactifs du système à différents niveaux d'abstraction.
 UML est indépendant de la technologie, du langage de programmation, et du
domaine d'application. Son but principal est d'aider les équipes de
développement à mieux comprendre les systèmes complexes et à faciliter la
communication entre les différents intervenants (développeurs, analystes,
architectes, etc.).

MME SAMEH HBAIEB‐ COURS IDM 12


Les différentes vues d'un système dans
UML dans le cadre de MDE
 Les modèles UML peuvent être utilisés pour représenter des vues
différentes du système, qui correspondent à des perspectives spécifiques sur
le système global.
 Ces vues sont essentielles dans l'ingénierie dirigée par les modèles (MDE)
car elles aident à abstraire et à modulariser les différents aspects d'un
système.

MME SAMEH HBAIEB‐ COURS IDM 13


Les différentes vues d'un système dans
UML dans le cadre de MDE
 La vue logique
Décrit les aspects statiques et dynamiques d’un système en termes de classes et
d’objets
 Principaux éléments :
 Les objets
 Les classes
 Les collaborations
 Les interactions
 Les paquetages

MME SAMEH HBAIEB‐ COURS IDM 14


Les différentes vues d'un système dans
UML dans le cadre de MDE
 La vue de réalisation
Organisation des modules dans l’environnement de développement, allocation des
classes dans les modules, et des modules dans les sous‐systèmes ;
Principaux éléments
 Les modules
 Les sous‐ programmes
 Les tâches (unités de programme, comme en ADA)
 Les paquetages (en tant que sous‐système)

MME SAMEH HBAIEB‐ COURS IDM 15


Les différentes vues d'un système dans
UML dans le cadre de MDE
 La vue des processus
Décomposition en flots d’exécution et leur synchronisation + allocation des objets et
des classes au sein des différents flots ;
Très important dans les environnements multi‐tâches
Principaux éléments
 Les tâches
 Les threads
 Les processus
 Les interactions

MME SAMEH HBAIEB‐ COURS IDM 16


Les différentes vues d'un système dans
UML dans le cadre de MDE
 La vue de déploiement
Les ressources matérielles et l’implantation du logiciel dans ces ressources : besoins
en puissance de calcul, contraintes géographiques, tolérance aux fautes et aux pannes,
temps de réponse, etc.
Les éléments
 Les nœuds
 Les modules
 Les programmes principaux

MME SAMEH HBAIEB‐ COURS IDM 17


Les différentes vues d'un système dans
UML dans le cadre de MDE
 La vue des cas d’utilisation
La base des quatre autres vues
Principaux éléments
 Les acteurs
 Les cas d’utilisation
 Les classes
 Les objets
 Les collaborations

MME SAMEH HBAIEB‐ COURS IDM 18


Outils UML
 Exemples d'outils UML :
 Enterprise Architect
 Lucidchart
 Visual Paradigm
 StarUML
 ArgoUML

MME SAMEH HBAIEB‐ COURS IDM 19


Domain‐Specific Modeling Languages
(DSML)
 Les langages de modélisation spécifiques au domaine (ou Domain‐Specific
Modeling Languages, DSML) sont des langages spécialement conçus pour
représenter, analyser et concevoir des modèles dans des domaines d'application
spécifiques.
 Contrairement aux langages de programmation généraux qui sont utilisés pour
une large variété de tâches, les DSML sont créés pour capturer la complexité des
problèmes dans des domaines particuliers de manière plus intuitive et plus
précise.
Les DSML peuvent être de différents types, tels que des langages graphiques
(utilisant des diagrammes) ou textuels (basés sur du texte).

MME SAMEH HBAIEB‐ COURS IDM 20


Exemples de DSML
 SysML (Systems Modeling Language)
Domaine : Ingénierie des systèmes.
Description : SysML est une extension de UML spécifiquement adaptée pour la
modélisation des systèmes complexes qui incluent à la fois des composants
logiciels, matériels et humains. Il permet de modéliser des exigences, des
structures, des comportements, des flux d'information et des interactions entre
systèmes.
Utilisation : SysML est utilisé dans des domaines comme l'aviation, l'automobile,
la robotique, et l'aérospatiale pour la modélisation de systèmes intégrés.

MME SAMEH HBAIEB‐ COURS IDM 21


Exemples de DSML
DSL pour la modélisation des processus métiers (BPMN)
Domaine : Gestion des processus métiers.
Description : BPMN (Business Process Model and Notation) est un langage
graphique utilisé pour modéliser les processus métiers. Il permet de créer des
diagrammes représentant les différentes étapes d’un processus ainsi que les rôles
et les flux d'informations entre eux.
Utilisation : Principalement utilisé dans la gestion des processus d'affaires,
l'automatisation et l'optimisation des workflows dans des entreprises.

MME SAMEH HBAIEB‐ COURS IDM 22


Exemples de DSML
DSL pour la conception de circuits électroniques (VHDL, Verilog)
Domaine : Conception de circuits électroniques et systèmes embarqués.
Description : VHDL et Verilog sont des langages de modélisation utilisés pour
décrire le comportement de circuits numériques et pour la simulation de systèmes
matériels. Ces langages permettent de spécifier le comportement des circuits à un
niveau très détaillé.
Utilisation : Utilisés dans le domaine de la conception électronique pour des
applications comme les FPGA (Field‐Programmable Gate Arrays) ou les ASIC
(Application‐Specific Integrated Circuits).

MME SAMEH HBAIEB‐ COURS IDM 23


Exemples de DSML
DSL pour la modélisation de données (ERD ‐ Entity Relationship Diagram)
Domaine : Modélisation des bases de données.
Description : Les diagrammes de relation entité (ERD) sont utilisés pour modéliser
les structures de données dans une base de données. Ils montrent comment les
entités (comme des tables ou des objets) sont reliées entre elles.
Utilisation : Ce langage est utilisé principalement pour concevoir des bases de
données relationnelles avant leur implémentation.

MME SAMEH HBAIEB‐ COURS IDM 24


Exemples de DSML
 DSL pour la simulation (Petri Nets)
Domaine : Simulation et analyse de systèmes.
Description : Les réseaux de Petri sont un formalisme graphique utilisé pour
modéliser des systèmes dynamiques, où les événements se produisent en fonction
des conditions et des actions. Ils sont souvent utilisés pour modéliser des
processus parallèles et asynchrones.
Utilisation : Utilisé pour la simulation de systèmes de production, de réseaux de
communication, ou dans des études de performance de systèmes.

MME SAMEH HBAIEB‐ COURS IDM 25


Pourquoi a‐t‐on besoin de définir des
DSMLs?
 Besoin 1. Adaptation au contexte du domaine
Chaque domaine possède ses propres concepts et propriétés => il devient
essentiel de pouvoir clairement les représenter et les distinguer.
 Besoin 2. Facilitation de l’automatisation
La génération de code à partir de modèles nécessite généralement de compléter/
raffiner les modèles par des informations d’ordre techniques
 Besoin 3. Meilleure communication entre les parties prenantes
Les DSMLs permettent une représentation visuelle ou textuelle qui est
directement compréhensible par les experts du domaine, y compris ceux qui ne
sont pas nécessairement des informaticiens.

MME SAMEH HBAIEB‐ COURS IDM 26


UML vs DSML
 Portée : UML est généraliste, tandis qu'un DSML est spécifique à un domaine
particulier.
 Application : UML peut être utilisé dans de nombreux domaines différents,
mais un DSML est conçu pour résoudre des problèmes spécifiques à un seul
domaine.
 Abstraction : Les DSMLs offrent des abstractions adaptées aux concepts du
domaine qu'ils représentent, tandis que UML fournit une modélisation plus
générale et abstraite applicable à plusieurs types de systèmes.

MME SAMEH HBAIEB‐ COURS IDM 27

Vous aimerez peut-être aussi