![Page 1: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/1.jpg)
Introduction à UMLIntroduction à UMLShebli Anvar – DSM/DAPNIA – CEA Saclay
François Terrier, Sébastien Gérard DRT/LIST – CEA/Saclay
F-91191 Gif sur Yvette Cedex [email protected] ; [email protected] ;
![Page 2: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/2.jpg)
2
DéfinitionsDéfinitions
UML = Unified Modeling Languagen Langage unifié pour la modélisation objetn Langage de modélisation des applications construites à l’aide
d’objets, indépendant de la méthode utilisée
Différence Langage – Méthoden Langage de modélisation = notations, grammaire, sémantiquen Méthode : comment utiliser le langage de modélisation
(recueil des besoins, analyse, conception, mise en œuvre, validation…)
Objet = représentation du problème basée sur des entités (concrètes ou abstraites) du monde réel
![Page 3: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/3.jpg)
3
La complexité des logicielsLa complexité des logiciels
Le logiciel est complexe par nature à gérer cette complexité
Les systèmes peuvent être décomposés selon n ce qu’ils font (approche fonctionnelle)n ce qu’ils sont (approche objet)
L’approche objet gère plus efficacement la complexité
![Page 4: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/4.jpg)
4
Historique des langages OOHistorique des langages OO
Langages de programmation orientés objetsn Simula (1967)n Smalltalk (1970)n C plus Classes (1980)n C++ (1985)n Eiffel (1988)n Java (1995)
SGBD orientés objetsn Utilisation des objets avec un langage OO
Genèse des méthodes d’analysen Implémentationn Conception (solution informatique)n Analyse (comprendre et modéliser le problème)n …
![Page 5: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/5.jpg)
5
Les méthodes d’analyseLes méthodes d’analyse
Méthodes orientées comportement n on s’intéresse à la dynamique du système
ex : réseaux de Pétri
Méthodes fonctionnelles : n s’inspirent de l’architecture des ordinateursn on s’intéresse aux fonctions du système
ex : SADT
Méthodes orientées données : n on ne s’intéresse pas aux traitements
ex : MERISE
Méthodes orientées objets : n on ne sépare pas les données et les traitements
ex : Booch, OMT
![Page 6: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/6.jpg)
6
L’unificationL’unification
des méthodesn La guerre des méthodes ne fait plus avancer la
technologie des objetsn Recherche d’un langage commun uniquew Utilisable par toutes les méthodesw Adapté à toutes les phases du développementw Compatible avec toutes les techniques de réalisation
sur plusieurs domaines d’applicationsn Logiciels à Ingénierie des logicielsn Logiciels et matériels à Ingénierie des systèmesn Personnes à Ingénierie des affaires
![Page 7: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/7.jpg)
7
IntérêtIntérêt d’un standard ded’un standard de modélisation modélisation universeluniversel
Passer de l’artisanat à la production industriellen Modélisation haut niveaun Développement basé sur composantsn Intégration de procédés de modélisations complémentairesn Notation unifiée pour toutes les méthodologies OO
UML 0.9UML 0.9
19961996
etc.etc.ROOMROOMCatalysisCatalysis
OMGOMG
UML 1.1UML 1.1
Nov. 1997Nov. 1997
UML 1.3UML 1.3
UML 1.4UML 1.4
UML 2.0UML 2.0
JuinJuin 19991999
FinFin 20020011
……> 150 fin 1990
OMT OMT ((RumbaughRumbaugh et al.)et al.)
BoochBooch
Unified MethodUnified Method0.80.8
19951995RationalRationaletc.
HOOD
ROOM
Classe-Relation
Fusion
OOSE
Booch
OMT
OOSEOOSE(Jacobson et al.)(Jacobson et al.)
![Page 8: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/8.jpg)
8
UUnified nified MModeling odeling LLanguage anguage
Langage = syntaxe + sémantiquen Syntaxew Règles selon lesquelles les éléments du langage (ex. les
mots) sont assemblés en des expressions (ex. phrases, clauses).
n Sémantiquew Règles permettant d’attribuer une signification aux
expressions syntactiques
è UML Notation Guide
è UML Semantics
è UML Notation Guide
è UML Semantics
![Page 9: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/9.jpg)
9
OMG UML 1.4 Specification: OMG UML 1.4 Specification: http://www.http://www.omgomg.org.org
UML Summary
UML Semantics
UML Notation Guide
UML Standard Profiles
UML CORBAFacility Interface Definition
UML XML Metadata Interchange DTD
Object Constraint Language
![Page 10: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/10.jpg)
10
AutresAutres documentsdocuments
CORBA 2.4.2 (inclut Real-Time CORBA specifications)Meta-Object Facility (MOF)Base commune CORBA, UML, etc.UML v. 1.4n OMG UML Tutorials:
http://www.celigent.com/omg/umlrtf/tutorials.htmn OMG UML Resources: http://www.omg.org/uml/n Pierre-Alain Muller, Essaim Mulhouse : www.uml.crespim.uha.fr
Profile for Action semanticshttp://www.kc.com/as_site/home.htmlProfile for Scheduling, Performance and TimeUML Profile for CORBA
![Page 11: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/11.jpg)
11
ObjectifsObjectifs
Représenter des systèmes entiers
Choisir la granularité de la description
Établir un couplage explicite entre concepts et artefacts exécutables
Programmation sans programmer :créer un langage de modélisation utilisable à la fois par les humains et les machines
![Page 12: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/12.jpg)
12
Caractéristiques du langage de Caractéristiques du langage de modélisation UMLmodélisation UML
Générique et Expressif
Syntaxe et sémantique définis
Flexible (configurable, extensible)n Définition du Métamodèlen Norme non figéen On peut adapter le langage à des domaines
particuliers sans ajouter de nouveaux types de diagrammes
n Introduction d’une nouvelle notion en la définissantcomme particularisme d’une notion existante
![Page 13: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/13.jpg)
13
PortéePortée
Formalisme unique pour tout type d’application n gestion, scientifique, temps réel, industrielle,
multimédia…
Reste au niveau d’un langagen ne propose pas un processus de développementn ni ordonnancement des tâches, n ni répartition des responsabilités, n ni règles de mise en œuvre
(Certains ouvrages et AGL basés sur UML ajoutent cet aspect fondamental en méthodologie)
![Page 14: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/14.jpg)
14
DémarcheDémarche
Ensemble de point de vues complémentaires
Développement par raffinages successifs
![Page 15: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/15.jpg)
Des modèles complémentairesDes modèles complémentaires
Des règles de cohérence pour une modélisation non ambiguë
Des vues complémentaires pour un modèle complet
L’analyse formelle du modèle devient possible
![Page 16: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/16.jpg)
state 1
state 2state 3Train Circuit
Control Technoobj 1 obj 1 obj 1
state 1
state 2state 3Train Circuit
Control Technoobj 1 obj 1 obj 1
Des modèles de plus en plus détaillésDes modèles de plus en plus détaillésAnalysis
UML ClassDiagrams
UML StatechartDiagrams
UML Use CaseDiagrams
Object
Design
UML ActivityDiagrams
UML InteractionDiagrams
state 1
state 2state 3Train Circuit
Control Technoobj 1 obj 1 obj 1
Func 1
Func 2
Real-time
Design
state 1
state 2state 3
![Page 17: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/17.jpg)
17
En résuméEn résumé
UML est un langage de modélisation objet
UML est une notation, pas une méthode
UML convient pour toutes les méthodes objet
UML est dans le domaine public
UML est la notation standard pour documenterles modèles objets
UML est la notation standard pour documenterles modèles objets
![Page 18: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/18.jpg)
18
Caractéristiques fondamentales des objetsCaractéristiques fondamentales des objets
Objetn Étatn Comportementn Identité
Communication entre objets
![Page 19: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/19.jpg)
19
L’étatL’état
L’état regroupe les valeurs instantanées de tous les attributs d’un objet
L’état évolue au cours du temps
L’état d’un objet à un instant donné est la conséquence de ses comportements passés
L’état conditionne son comportement futur
![Page 20: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/20.jpg)
20
Le comportementLe comportement
Décrit les actions et les réactions d’un objetn du point de vue externe (opérations)n Du point de vue interne (méthodes)
L’état et le comportement sont liésn Le comportement dépend de l’étatn L’état est modifié par le comportement
![Page 21: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/21.jpg)
21
L’identitéL’identité
Tout objet possède une identité qui lui est propre et qui le caractérise
L’identité permet de distinguer tout objetde façon non ambiguë, indépendamment de l’état
L’identité d’un objet est immuable tout au long de sa vie
![Page 22: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/22.jpg)
22
Communication entre objetsCommunication entre objets
Application = société d'objets collaborant
Les objets travaillent en synergieafin de réaliser les fonctions de l’application
Le comportement global d’une application repose sur la communication entre les objets qui la composent
![Page 23: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/23.jpg)
23
Les classesLes classes
La classe est une description abstraite d’un ensemble d’objets « de même type »
La classe peut être vue comme la factorisation des descriptions communes à un ensemble d’objets
La classe est également un espace denommage (Namespace)
![Page 24: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/24.jpg)
24
Les 9 diagrammesLes 9 diagrammes
Diagramme de composants Diagramme de composants Diagramme de déploiementDiagramme de déploiement
Réalisation et déploiement
Diagramme de séquence Diagramme de séquence Diagramme de collaborationDiagramme de collaboration
Interactions entre objets
Diagramme étatsDiagramme états--transitiontransitionDiagramme d’activitésDiagramme d’activités
Dynamique des objets
Diagramme de classesDiagramme de classesDiagramme objetDiagramme objet
Structure statique
Diagramme des cas Diagramme des cas d’utilisationd’utilisation
Besoins des utilisateurs
![Page 25: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/25.jpg)
25
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modéliser la structure de l’application
Modéliser le comportement des objets
Modéliser les traitements
Modéliser l’instanciation de l’application
![Page 26: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/26.jpg)
26
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modéliser la structure de l’application
Modéliser le comportement des objets
Modéliser les traitements
Modéliser l’instanciation de l’application
![Page 27: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/27.jpg)
27
Use case diagramUse case diagram
Speed Regulator
use case= main function
regulate speed
start regulating
stop regulating
actor
RegulatorOn/Off
Motor
SpeedSensor
environment
system
system border
relation
RegulatorDisplay
« include »
display status
« include »
« include »
![Page 28: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/28.jpg)
28
Points de vues de modélisationPoints de vues de modélisation
Spécifier le systèmeModéliser des objets communicantsn Instances, liens, messagesn Mécanismes de communication n Diagrammes de collaborationn Diagrammes de séquence
Modélisation la structure de l’applicationModéliser le comportement de l’objetModéliser les traitementsModéliser l’instanciation de l’application
![Page 29: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/29.jpg)
29
Instances, liens, messagesInstances, liens, messages
On identifie et nomme les objets (instances) qui interviennent dans le systèmeD’abord, les objets « physiques » puis les objets plus abstraitsOn spécifie les liens entre objets, puis les messagestransitant par ces liens
Instance diagram
regulator regLaw
Collaboration diagram
speedSensordisplay
getSpeed()update()
calculate()deltaTorque := calculate()
![Page 30: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/30.jpg)
30
MécanismeMécanisme de communicationde communication
Communication: uniquement par messagesn Message = une action + un événementw En général point à pointw Possibilité d’un ensemble de cibles
Deux types d’envoi de messagen Appel d’opération (CallAction + CallEvent)w Synchrone/asynchrone, paramètres input et output
n Signal (SendAction + SignalEvent)w Asynchrone, paramètres input seulement
![Page 31: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/31.jpg)
31
regLaw
Sequence diagramSequence diagram
Time ä
calculate()
deltaTorquesp
update(info)response
instance
life linegetSpeed()
speedSensor
asynchronous message
synchronous message
[launch=true] create() [launch=false] delete()
regLaw
deleting message
active instance
regulator display
regulator
create message
guard on messageregulator
regLaw
timing spec
< 2s
![Page 32: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/32.jpg)
32
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modélisation la structure de l’applicationn Diagrammes de classesn Paquetages
Modéliser le comportement de l’objet
Modéliser les traitements
Modéliser l’instanciation de l’application
![Page 33: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/33.jpg)
33
Class diagramClass diagram
classe
regLaw
0..*RegulatingLaw
<< active >>Regulator
rôle
arité /cardinalité
association
SpeedSensor
sps 0..*généralisation(spécialisation)
compartiment des attributs
compartiment des opérations
Regulator_S
tgSpeed: integer
maintainSpeed()
composition
navigabilité
active objectsclasse active
![Page 34: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/34.jpg)
34
Indication de type d’instanceIndication de type d’instance
Instance / role diagram
reg:Regulatorrl/regLaw:RegulatingLaw
/sps:SpeedSensor
regLaw
0..*RegulatingLaw Regulator
SpeedSensor
sps 0..*
Collaboration diagram
regLaw
![Page 35: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/35.jpg)
35
InterfacesInterfaces
regLaw
0..*RegulatingLaw Regulator
SpeedSensor
sps 0..*Regulator_S
tgSpeed: integermaintainSpeed()
<< interface >>SpeedDispl
displSpeed()
RegDisplay
displSpeed()displStatus()
RegulatorDispl
0..1display
displStatus()
Interfaceinterface
implantation des interfaces display0..1
![Page 36: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/36.jpg)
36
Core
Graphics
MainLawImpl
PackagesPackages
regLaw
0..*RegulatingLaw Regulator
SpeedSensor
sps 0..*Regulator_S
tgSpeed: integermaintainSpeed()
RegDisplay
displSpeed()displStatus()
display0..1
RegulatorDispl
SpeedDispl
package
dépendance
![Page 37: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/37.jpg)
37
Core
Graphics
MainLawImpl
PackagesPackages
![Page 38: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/38.jpg)
38
Core
Graphics
MainLawImpl
PackagesPackages
<<subsystem>>
<<model>>
![Page 39: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/39.jpg)
39
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modélisation la structure de l’application
Modéliser le comportement de l’objetn Machines d’état
Modéliser les traitements
Modéliser l’instanciation de l’application
![Page 40: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/40.jpg)
40
ONONONON
AutomateAutomate
Une machine dont le comportement en outputrésulte den Les inputs courantsn Les inputs passés
Caractérisée par un état interne représentantson passé
OFFOFF
ONONONONONON
![Page 41: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/41.jpg)
41
off
on
StatechartStatechart DiagramDiagram
Lamp OnLamp OnLamp On
Lamp OffLamp OffLamp Off
off
on
![Page 42: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/42.jpg)
42
Outputs et ActionsOutputs et Actions
Le changement d’état peut générer des outputs
on
off
Lamp Onprint(”on”)Lamp OnLamp Onprint(”on”)print(”on”)
Lamp Off
Lamp Lamp OffOff
off
on
Moore automaton
on
off
Lamp On
Lamp Lamp OnOn
Lamp Off
Lamp Lamp OffOff
off
on/print(”on”)print(”on”)
Mealy automaton
![Page 43: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/43.jpg)
43
Machine d’étatsMachine d’états étendueétendue
Addition de variables (“extended state”)
off
on
Lamp OnLamp OnLamp On
Lamp OffLamp OffLamp Off
off
on/ctr := ctr + 1
ctr : Integerctrctr : Integer: Integer
![Page 44: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/44.jpg)
44
toptop
Basic UML Basic UML StatechartStatechart DiagramDiagram
ReadyReadyReady
stop
/ctr := 0stop
EtatEtatEtat
RéceptionévénementRéceptionRéceptionévénementévénement
ActionActionAction
Pseudo-étatInitial
PseudoPseudo--étatétatInitialInitial
TransitionTransitionTransition
Etat FinalEtatEtat FinalFinalDoneDoneDone
Etatenglobant (top)
EtatEtatenglobantenglobant (top)(top)
^bip
EmissionévénementEmissionEmission
événementévénement
![Page 45: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/45.jpg)
45
ComportementComportement “Event“Event--Driven”Driven”
Evénement = un type d’occurrence observable:n Interactions:w Appel d’opération synchrone (call event)w Réception de signal asynchrone (signal event)
n Evénements temporels (time event)w Expiration d’un délai (after(x))w Survenance d’une date (when(x))
n Changement de valeur d’une entité (change event)
Une instance d’événement survient à un instantdonné et n’a en lui-même aucune durée
![Page 46: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/46.jpg)
46
AA quelle entitéquelle entité lele comportement estcomportement est--ilil attaché?attaché?
En principe, tout ce qui manifeste uncomportement “event-driven”
En pratique, une machine d’état est attachée àune classe, afin de contraindre:n le comportement interne de ses instancesn les interactions entre objets
L’intérêt principal de la machine d’état en UMLapparaît dans le cas des objets actifs
![Page 47: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/47.jpg)
47
Modèle général du comportementModèle général du comportement d’und’un objet actifobjet actif
Modèle serveur simple
Traitementde requête
TraitementTraitementdede requêterequête
Initialisationde l’objet
InitialisationInitialisationdede l’objetl’objet
Destructionde l’objet
DestructionDestructiondede l’objetl’objet
Attente derequête
AttenteAttenteAttente dedederequêterequêterequête
![Page 48: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/48.jpg)
48
Traitementde requête
TraitementTraitementdede requêterequête
Initialisationde l’objet
InitialisationInitialisationdede l’objetl’objet
Destructionde l’objet
DestructionDestructiondede l’objetl’objet
AttenteAttente dederequêterequête
Mapping machine d’états ⇔ simple serveur
on
off
Lamp OnLamp OnLamp On
Lamp Off
Lamp Lamp OffOff
off
on/print(”on”)
stop
Modèle général du comportementModèle général du comportement d’und’un objet actifobjet actif
![Page 49: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/49.jpg)
49
HandleRequest
HandleHandleRequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
HandleRequest
HandleHandleRequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
ObjetsObjets etet fils d’exécutionfils d’exécution
Objet passif : activation dépend d’un fil externe
Objet actif : possède son propre fil d’exécution
![Page 50: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/50.jpg)
50
DynamiqueDynamique d’und’un objet passifobjet passif
L’encapsulation ne protège pas des conflits de concurrence !
⇒ Synchronisation explicite nécessaire
HandleRequest
HandleHandleRequestRequest
InitializeObject
InitializeInitializeObjectObject
TerminateObject
TerminateTerminateObjectObject
Wait forRequest
Wait forWait forRequestRequest
![Page 51: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/51.jpg)
51
anActiveObjectanActiveObject
##currentEventcurrentEvent : Event: Event
+ start ( )+ start ( )+ poll ( )+ poll ( )+ stop ( )+ stop ( )
Objets actifsObjets actifs et machines d’étatset machines d’états
L’objet encapsule son propre fil d’exécution(n’exporte que des opération de requêtes)
start ready
created
ready
start/^master.ready()
poll/^master.ack()
stop/
poll/defer
start/^master.ready()
ready
created
![Page 52: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/52.jpg)
52
DynamiqueDynamique d’und’un objet actifobjet actif
Modèle “exécution jusqu’à complétion”:n traitement sérialisé des événements n élimination des accès concurrents internesn minimisation du “context-switching”
activeObject
![Page 53: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/53.jpg)
53
Off
OnOff [speed>30] /startRegulating();
++speed;
StatechartStatechart diagramdiagramEvent:• CallEvent• SignalEvent• ChangeEvent• TimeEvent
root state
List of actions
guard
Regulator
group transition
OnOff
On
non-developed composite state
![Page 54: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/54.jpg)
54
Off
On
OnOff [speed>30] /startRegulating();
++speed;
EtatEtat compositecomposite
Regulator
Running
Suspended
/maintainSpeed()
suspend resume
On
composite statesimple state
OnOff
![Page 55: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/55.jpg)
55
RegulatorRegulator
regulating monitoring
Off
OnOff [speed>30]/ startRegulating(); ++speed;
Onpseudo-state => Choice
compound transition
concurrent stateconcurrent states(è regions)
OnOff
[error]
OK
damaged
scanreset
[¬ error]
Etats concurrentsEtats concurrents
![Page 56: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/56.jpg)
56
Transitions d’étatsTransitions d’états concurrentsconcurrents
Fork pseudo-state
Join pseudo-state
S10S10
S11S11
S1S1
S0S0 S2S2
![Page 57: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/57.jpg)
57
Regulator
OnOff [speed>30] / startRegulating(); ++speed;Off
OnOff
On
Suspended
suspend resume
/maintainSpeed()
Runningentry/actions1_1
do/actions2_1
exit/actions3_1
ActionsActions Ordre des actions :
entry/actions1
do/actions2
exit/actions3
2- transition…3- entry(récursion depuis « top »)
4- do…
OffOnOff startRegulating(); ++speed;
entry/actions1
entry/actions1_1
do/actions2do/actions2_1
On
Running
OnOff
Ø Récursion des actions « do » dans les états imbriqués⇒ possibilité de // …
G Etat indéfini entre le 1er exit et le dernier entry
![Page 58: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/58.jpg)
58
/maintainSpeed()
Regulator
OnOff [speed>30] / startRegulating(); ++speed;Off
OnOff
On
Suspended
suspend resume
/maintainSpeed()
Runningentry/actions1_1
exit/actions3_1
entry/actions1
exit/actions3
RunningRunning
do/actions2do/actions2_1
ActionsActions Ordre des actions :
ØRécursion des actions « do » dans les états imbriqués⇒ possibilité de // …
G Etat indéfini entre le 1er exit et le dernier entry
2- transition…3- entry(récursion depuis « top »)
4- do…
ØFin d’action « do » génère:completion event
⇒ completion transitions
entry/actions1_1
do/actions2_1
Running
/maintainSpeed()
exit/actions3_1
1- exit (récursion depuis down)
Running
/maintainSpeed()
do/actions2_1
![Page 59: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/59.jpg)
59
ActionsActions Ordre des actions :
ØRécursion des actions « do » dans les états imbriqués⇒ possibilité de // …
G Etat indéfini entre le 1er exit et le dernier entry
1- exit (récursion depuis down)
2- transition…3- entry(récursion depuis « top »)
4- do…
ØFin d’action « do » génère:completion event
⇒ completion transitions
Regulator
OnOff [speed>30] / startRegulating(); ++speed;Off
OnOff
Suspended
suspend resume
/maintainSpeed()
Runningentry/actions1_1
exit/actions3_1
entry/actions1
exit/actions3
do/actions2do/actions2_1
On
exit/actions3
exit/actions3_1
OnOff
On
Running
do/actions2_1do/actions2
ØTout événement interrompt les actions « do » en cours
OnOff
Off
![Page 60: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/60.jpg)
60
VariabilitéVariabilité des Machines d’états UMLdes Machines d’états UML
Choix de la (des) politique de livraison desévénementn Le plus répandu = FIFO
Une tâche par défaut est définie (celle qui litimplante la politique de livraison desévénements)n Mais il est possible d’en avoir plusieurs, par exemple:
une tâche par région concurrente
Héritage de machine d’état: non défini
…
![Page 61: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/61.jpg)
61
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modélisation la structure de l’application
Modéliser le comportement de l’objet
Modéliser les traitementsn Diagramme d’activité
Modéliser l’instanciation de l’application
![Page 62: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/62.jpg)
62
Activity diagramsActivity diagrams
Pour spécifier les flux de contrôle, de données ou d’objets
Graphe constitué d’étapes (états d’action)(ressemblances avec statechart)n Une étape se termine à étape suivanten Supporte la concurrence
Insiste sur l’ordre des étapes
Sous-activités = décomposition fonctionnelle
![Page 63: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/63.jpg)
63
ElémentsEléments de basede base
spSensor.getSpeed()
CalculateDeltaTorque
CalculateDelta Speed
RegLaw.calcDeltaTorque()
CalculateDeltaTorque
État d’action simple
SpeedSensor
+getSpeed()
État d’action composite
![Page 64: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/64.jpg)
64
Graphe d’activitéGraphe d’activité etet spécificationspécification dede méthodeméthode
Regulator
+start()-maintain() << realize >>
Regulator.maintain()
spSensor.getSpeed()
CalculateDeltaTorque
eng.setCommand()
![Page 65: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/65.jpg)
65
ConcurrenceConcurrence
Fork
Join
eng.setCommand()
displ.dispCommand()
spSensor.getSpeed()
[curSp > 30]
CalculateDeltaTorquedispl.dispSpeed()
![Page 66: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/66.jpg)
66
FluxFlux d’objetd’objet:: représentereprésente lala disponibilitédisponibilité d’und’un objetobjet
eng.setCommand()
displ.dispCommand()
spSensor.getSpeed()
[curSp > 30]
CalculateDeltaTorque
displ.dispSpeed()
data
![Page 67: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/67.jpg)
67
Points de vues de modélisationPoints de vues de modélisation
Spécifier le système
Modéliser des objets communicants
Modélisation la structure de l’application
Modéliser le comportement de l’objet
Modéliser les traitements
Modéliser l’instanciation de l’application
![Page 68: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/68.jpg)
68
Diagrammes d’implantationDiagrammes d’implantation
Diagrammes de composants: organisation etdépendances des composants de l’applicationn code source, binaires, exécutables, procédures,
documents, etc.
Diagrammes de déploiement: configuration de distribution des composants
![Page 69: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/69.jpg)
69
ComponentComponent DiagramDiagram
RegulationSystem
SpAcqSystSpeedAcquisition
RegulatorSyst
SignalCom
rl:RegulatingLaw
![Page 70: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/70.jpg)
70
Composants Composants (classes résidentes)(classes résidentes)
RegulationSystem
RegulatingLaw Regulator
<< reside >> << reside >>
![Page 71: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/71.jpg)
71
Deployment DiagramDeployment Diagram
Intel-Linux
FrontEndProcessor Level2Acquisition
TCP/IP
RegulationSystemSpeedAcquisition
![Page 72: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/72.jpg)
72
Modèle en 4 couchesModèle en 4 couches
Meta Meta Model (M3)
Model (M1)
Objects (M0)
Meta Model (M2)
MOF
UML Autresstandards
. . .
a106
Car
instanceOf
instanceOf
Metaclass
instanceOf
Class
instanceOf
![Page 73: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/73.jpg)
73
Extensions Métier d’UMLExtensions Métier d’UML
Meta Meta Model (M3)
Model (M1)
Objects (M0)
ActionLanguageReal Time
. . .
Meta Model (M2)
MOF
UML …
. . .
ACCORD/UML
Standard profile (M2)
End-user specific Profile (M2)MORDICUS
![Page 74: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/74.jpg)
74
Exemples deExemples de MétaclassesMétaclasses
ModelElement
Namespace
Class
StructuralFeature
Attribute
name:Name
multiplicity:Multiplicity * 1
type
Feature
owner0..1
{ordered}
feature
*
Classifier
Personne
age:integer
![Page 75: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/75.jpg)
75
Mécanismes d’extensionMécanismes d’extension UMLUML
Stereotypen Méta-classe spécialisée (ex: « real-time »)n Ajout de nouveaux stéréotypes à extension
Tagged valuen méta-attribut (ex: {abstract})n Ajout d’un nouveau méta-attribut à extension
Constraintn Règle de formation d’expression (ex: {ordered})n Nouvelles contraintes sur le méta-modèle à extension
![Page 76: Introduction à UML - · PDF fileex : MERISE Méthodes orientées objets : n on ne sépare pas les données et les traitements ex : Booch, OMT. 6 L’unification des méthodes n La](https://reader034.vdocuments.pub/reader034/viewer/2022052607/5a759f247f8b9a93088c83a4/html5/thumbnails/76.jpg)
76
Notion deNotion de profilprofil UMLUML(Cf. (Cf. http://www.http://www.objecteeringobjecteering.com/us/.com/us/smotsmot__umluml_white._white.htmhtm))
Standardisation d’un méta-modèle étendu d’UMLAdapté à un domaine métier ou middlewareUn profil UML peut contenirn Les éléments sélectionnés dans la méta-modèle de
référencen Des extensions utilisant les différent mécanismes
d’extensionn Descriptions sémantiques des extensionsn Notations supplémentairesn Règles de validation, présentation, transformation