Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le...

59
Conseil, Services et Solutions pour l’Industrie 1. EADS Matra Datavision - Confidentiel - 22 juin 2022 Le Modèle Dynamique

Transcript of Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le...

Page 1: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

1. EADS Matra Datavision - Confidentiel - 11 avril 2023

Le Modèle Dynamique

Page 2: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

2. EADS Matra Datavision - Confidentiel - 11 avril 2023

Le Modèle Dynamique : Plan du chapitre Définition

Message, événement Vue globale sur les interactions du système

cas d’utilisation, scénario diagramme de séquence diagramme de collaboration

Diagramme d'états Synthèse du modèle dynamique et du modèle objet Diagramme d ’activités

Page 3: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

3. EADS Matra Datavision - Confidentiel - 11 avril 2023

Le Modèle Dynamique : Définition Décrit l'évolution au cours du temps du logiciel

Description de la vie de chaque objet dans le temps• Changement d'états des objets

– Modification des valeurs des attributs qui caractérise l'objet– Modification des liens entre objets

Montre le flux de contrôle dans le temps Séquences d'opérations à exécuter en réponse à des

événements extérieurs Interactions dans le temps entre objets

Envois de messages et réponses aux événements Appels d'opérations

Page 4: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

4. EADS Matra Datavision - Confidentiel - 11 avril 2023

Le Modèle Dynamique : Les diagrammes Le modèle dynamique repose sur un ensemble de

diagrammes Diagrammes de séquence ou Diagramme de collaboration pour

chaque scénario• Modéliser la collaboration de plusieurs objets dans un cas

d ’utilisation (mais pas la définition de son comportement) Un diagramme d'états pour certaines classes

• Modéliser le comportement d ’un objet

• Les diagrammes d'états sont reliés par des événements "partagés" Diagrammes d ’activités pour la description des traitements ou

les synoptiques de tâches (workflow)

Page 5: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

5. EADS Matra Datavision - Confidentiel - 11 avril 2023

Scénario : Définition Une séquence de messages qui correspond à une

utilisation du système Les scénarios sont créés pour des cas d ’utilisation

du système Les scénarios montrent comment est utilisé le

système ce qu'il va faire en réaction à ces messages

Eviter les alternatives (séquences conditionnelles) dans un scénario si besoin d'une alternative : faire plutôt deux scénarios

Page 6: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

6. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemples de scénarios

Appel téléphonique Scénario : le numéro appelé est occupé

• L'appelant décroche le téléphone• L'appelant commence à composer le numéro• L'appelant termine de composer le numéro• La tonalité "occupée" commence à sonner• L'appelant raccroche le téléphone

Scénario : le numéro appelé n'est pas occupé• L'appelant décroche le téléphone• L'appelant commence à taper le numéro• L'appelant termine de taper le numéro• Le téléphone commence à sonner• L'appelé décroche• La conversation se déroule• L'appelé raccroche le téléphone

Page 7: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

7. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de séquence Représentation graphique du scénario montrant

le séquencement des messages (opération, signal) entre objets dans le scénario

Modéliser la collaboration de plusieurs objets dans un cas d ’utilisation (mais pas la définition de son comportement)

Met en évidence les messages concurrents du scénario L ’envoie d ’un message est atomique

insécable la durée de l ’envoie est considérée nulle comparée à la

granularité de l ’interaction Un objet est représenté par sa ligne de vie

une ligne de vie peut être la vue abstraite d ’un ensemble d ’objets

Page 8: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

8. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de séquence: représentation

temps

décrocher

débuter tonalité

composer chiffre(n)

débuter tonalité sonnerie sonner

arrêter tonalité

...composer chiffre(n)

décrocher

arrêter tonalité sonnerie arrêter sonnerie

appelant:Personne :Ligne appelé:Personne

composer chiffre(n)

connecterconnecterraccrocher

déconnecterdéconnecter

raccrocher

ligne de vie

Un système téléphonique

L ’envoie d ’un messageest toujours horizontal

Page 9: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

9. EADS Matra Datavision - Confidentiel - 11 avril 2023

obj1:C1

obj2:C2

obj4:C4

obj3:C3obj5:C5

Période d ’activité.Permet de définir quel objet "à la main"

créer

mes3(w)mesA(z)

[x>0] mes1(x)

[x<=0] mes2

mes4

branchement

récursion

création

destruction

Met en évidence les processus parallèles

Page 10: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

10. EADS Matra Datavision - Confidentiel - 11 avril 2023

a: décrocher

b: débuter tonalité

c: composer chiffre(n)

e: débuter tonalité sonnerie

sonner

arrêter tonalité

...d: composer chiffre(n)

décrocherarrêter tonalité sonnerie arrêter sonnerie

appelant:Personne :Ligne appelé:Personne

composer chiffre(n)

connecterconnecterraccrocher

déconnecterdéconnecter

raccrocher

{b - a < 1 sec.}signifie{b.receiveTime - a.sendTime < 1 sec.}

{c - b < 10 sec.}

L ’appel est « routé » àtravers le réseau.{e - d < 5 sec.}

Définir les contraintes temporelles d'exécution

Page 11: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

11. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de séquence :options de présentation Numérotation des messages

Utilisé surtout quand il y a des activités concurrentes Message asynchrone

Invocation d ’une procédure

obj1:C1 obj2:C2

obj1 garde son activité après l ’envoie du message

obj1:C1 obj2:C2

l ’activité passe de C1 à C2 jusqu ’àla terminaison de l ’activité de C2

mes

mes

Page 12: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

12. EADS Matra Datavision - Confidentiel - 11 avril 2023

Message avec délai de propagation quelque chose peut se produire (un message dans le sens opposé)

Itération

appelant:Personne :Ligne

débuter tonalité sonnerie

composer chiffre(n)

router flèche oblique descendante

obj1:C1 obj2:C2

mes

[x<10]

conditiond ’itération

Page 13: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

13. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exercice UML MD0

Page 14: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

14. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration

Représenter du point de vue structurel et dynamique les objets impliqués dans la mise en oeuvre “d’un but”

Modèle expliquant la coopération entre les objets utilisés pour la réalisation d’une opération ou d’un cas d’utilisation

Contient Collaboration

• Contexte structurel des participants:

– objets, classes, liens, associations, attributs Interaction

• Séquence de messages échangés entre les objets

– Numérotés

– Informations de contrôle du diagramme de séquence sont applicables

Page 15: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

15. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration:numérotation simple

:Passager

:Bouton étage :Contrôleur ascenseur

:Porte:Ascenseur

1: appuyer() 2: mémoriserrequête()

3: allumer()

4: déplacer()

5: étage atteint() 6: immobiliser()

7: éteindre()

8: ouvrir()9: fermer()

objet

message

lien

Collaboration en réponse à l ’appuie sur le boutonde réquisition d ’un ascenseur

séquencement

pilote

réquisition

pilote

rôle

pilote

Page 16: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

16. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration:numérotation décimale

:Passager

b/réquisition:Bouton étage ctrl/pilote:Contrôleur ascenseur

:Porte:Ascenseur

1: appuyer()1.1: mémoriser requête()

1.1.1: allumer()

1.1.2: déplacer()

1.1.2.1:étage atteint()

1.1.3: immobiliser()

1.1.4: éteindre()

1.1.5: ouvrir()1.1.6:fermer()

variante de notation du rôle

séquencement

Page 17: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

17. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration:objet multiple, valeur retournée

Ensemble d ’objets du coté 0..* d ’une association Montrer qu ’un message concerne tous les objets de

l ’ensemble

Instituteur Elève*:Instituteur :Elève

1: punir()

:Client :Serveur

1: unServeur := trouver(specs)

serveurs

:Serveur

2: traiter(requête)

unServeur

valeur retournée

Page 18: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

18. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration: objet actif Objet possédant son propre flot de contrôle

Peut initier des activités de contrôle

• Exemple: un processus ou une tâche Un objet passif encapsule des données mais ne peut initier un flot de contrôle

tâcheCourante:PassageTâche

:ProgrammeurUsine

:GestionnaireTâches

travail

1: débuter(travail) A2,B2 / 2: achevé(travail)

{local} travail :GestionnaireUsine

:Robot :Four

1 / B1: débuter(travail) 1 / A1: débuter(travail)B2: achevé A2: achevé

objet actif

le message « achevé » est envoyé lorsque les envois A2 et B2 ont été satisfaits

Collaboration lors du processus de travail dans une usine

Page 19: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

19. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration:flot de messages

Envoi d ’un message d ’un objet à l ’autre Implémentation

appel de procédure, signal entre threads actifs, l ’occurence d ’un événement

Notation du type de flot appel de procédure ou imbrication :

flot plat indiquant le séquencement - normalement asynchrone - :

flot asynchrone; pour montrer explicitement l ’asynchronisme entre deux objets dans une séquence synchrone :

Page 20: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

20. EADS Matra Datavision - Confidentiel - 11 avril 2023

4: afficher(x, y)message simple

1.2.1: afficher(x, y,z)message imbriqué

3: pression := calculer(température)

message simple avec valeur retournée

[âge >= 18ans] 2.1: voter()

synchronisation avec d ’autres flots4.A,B.6 / C.1: allumer()

message conditionnel

1*: laver()itération simple

1*[i:=1..n]: laver()

itération avec clause d ’itération

A2,A1 /1 *||[i:=1..n]: éteindre()envoi parallèle - diffusion -

Page 21: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

21. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme de collaboration vsDiagramme de séquence

Séquence Emphase sur le séquencement : ordre évident des messages Simplicité

• Mais si ajout de conditions/alternatives/boucles perd sa lisibilité Collaboration

Emphase sur la structure : indique comment les objets sont liés Lequel ?

dépend du goût du développeur A propos des comportements conditionnels

Intégrer les conditions dans le même diagramme ?

ou Un diagramme séparé pour chaque conditions (chaque scénarios) ? Les diagrammes de séquence sont optimums quand le comportement est

simple

Page 22: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

22. EADS Matra Datavision - Confidentiel - 11 avril 2023

Synthèse des messages Consolide l'ensemble des messages entre objets

Ne montre pas le séquencement Intègre tous les scénarios Synthèse des dépendances dynamiques entre objets.

décrochercomposer chiffre(n)raccrocher

sonnerarrêter sonnerieconnecterdéconnecter

décrocherraccrocher

débuter tonalitéarrêter tonalitédébuter tonalité sonneriearrêter tonalité sonnerieconnecterdébuter sonnerie occupée

appelant:Personne :Ligne

appelé:Personne

Page 23: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

23. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'Etats Un diagramme d'états est associé à une classe

Il est valable pour tous les objets de cette classe• toutes les instances se comporteront de la même façon

Il contient tous les scénarios possibles dans lesquels la classe est considérée

Un scénario correspond à un chemin dans un diagramme d'état

Page 24: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

24. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemple simple de diagramme d'états

menu inactif menu visible

bouton droit enfoncé

bouton droit levé

déplacement curseur

Diagramme d'états d'un Menu Fantôme (popup)

Page 25: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

25. EADS Matra Datavision - Confidentiel - 11 avril 2023

Evénement : Définition

Représente un moyen pour transmettre de l'information Se produit à un instant donné N'a pas de durée (par rapport à la durée de l'état)

Peut être :• Le déclenchement d'une action du système• Un signal externe: l'envoi d'un message par un objet• Une condition sur un ou plusieurs attributs

Page 26: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

26. EADS Matra Datavision - Confidentiel - 11 avril 2023

Evénement : Exemples Actions sur le système

"Sauvegarder", "Copier", "Coller" ... Signal externe

"time-out", "bouton appuyé", "bouton levé"... Condition

"Seuil dépassé", "valeur illégale"...

veille

sommeilalarme

désactiverheure atteinte

time-out

Diagramme d'états d'un réveil-matin

Page 27: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

27. EADS Matra Datavision - Confidentiel - 11 avril 2023

Etat d'un objet Contexte pendant lequel l'objet est susceptible de traiter des

événements reçus Un état est caractérisé par des valeurs d'attributs et/ou de liens Un objet répond ou non à un événement en fonction de son état

s'ouvrant

ouvertefermée

se fermant

bouton ouvertureporte ouverte

bouton fermetureporte fermée

bouton ouverture

Diagramme d'états d'une porte automatique

Etat initial

Etat

Page 28: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

28. EADS Matra Datavision - Confidentiel - 11 avril 2023

Transition entre états Transition

Un événement est instantané, un état a une durée L'objet passe d'un état à un autre en réponse à un

événementDiagramme d'états d'un Menu Fantôme (popup)

menu inactif menu visible

bouton droit enfoncé

bouton droit levé

déplacement curseur

Evénement

Transitionquitter

Etat final

Page 29: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

29. EADS Matra Datavision - Confidentiel - 11 avril 2023

Transition conditionnelle Transition accompagnée d'une condition

s'effectue si condition vraie

Axe Nord/Sud ouvert Nord/Sud gauche ouvert

Feux N/S : Rouge

Flèches gauche N/S : Vert

Feux E/O : Rouge

Flèches gauche E/O : Rouge

Feux N/S : Vert

Flèches gauche N/S : Rouge

Feux E/O : Rouge

Flèches gauche E/O : Rouge

Est/Ouest gauche ouvert

Feux N/S : Rouge

Flèches gauche N/S : Rouge

Feux E/O : Rouge

Flèches gauche E/O : Vert

Axe Est/Ouest ouvert

Feux N/S : Rouge

Flèches gauche N/S : Rouge

Feux E/O : Vert

Flèches gauche E/O : Rouge

time-out time-out

time-out [N/S occupé]

time-out [E/O occupé]

time-out [N/S libre]

time-out [E/O libre]

Diagramme d'états d'un système de feux de carrefour avec détection d'occupation

Nord

Sud

Ouest Est

Page 30: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

30. EADS Matra Datavision - Confidentiel - 11 avril 2023

Action Traitement instantané et non interruptible

sa durée n'est pas significative Associée à un événement et exécutée lors de la transition

(formalisme de Mealy issu de SA/RT) Associée à un état et exécutée en entrant ou en sortant

afficherMenu est l'action qui s'exécute pendant cette transition

menu inactifmenu visible

entry/ positionnerDébut

bouton droit enfoncé / afficherMenu

bouton droit levé / effacerMenudéplacement curseur / positionnerItem

positionnerDebut est l'action qui s'exécute en entrant dans cet état

Page 31: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

31. EADS Matra Datavision - Confidentiel - 11 avril 2023

Activité

Traitement de durée finie ou non Interruptible par un événement Exécutée durant un état

(formalisme de Moore issu de OOA de Shlaer/Mellor)

compositiondu numéro

Connexion en cours

do/ trouverConnexion

sonnerie

do/ faireSonnerconnecté

numéro valide

connexion faite

l'appelé décroche

Diagramme d'états d'une ligne téléphonique (partiel)

faireSonner est l'activité qui s'exécute pendant cet état

Page 32: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

32. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'états : notations

Réservation

do/ trouverHoraire

entry / débuterTrans

exit / finirTrans

Proposition

do/ imprimerContrat

Agence

réserverOption

Autre syntaxe possible :

- proposer(horaire, trajet)[prix accepté] ^réserverOption : Transporteur / emettreOption

classe externeconcernée par l'état de l'objet

Transporteur

envoyerHoraire

événement généré par l'activité

proposer( horaire, trajet) [prix accepté] / emettreOption

événement généré pendant la transition

Evénement avec paramètres, condition et action

Evénement avec paramètres, condition, événement généré et action

Action en fin et endébut d'état.

Vue partielle d ’une borne interactive de réservation

Page 33: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

33. EADS Matra Datavision - Confidentiel - 11 avril 2023

Variables d'états Attributs manipulés dans un diagramme d'états

Leurs valeurs déterminent chaque état du diagramme Paramètres du diagramme d'états

Les opérations (actions et activités) du diagramme d'états

ont pour variables et arguments : Les variables d'états Les arguments des événements

Axe Nord/Sud ouvert

Feux N/S : Vert

Flèches gauche N/S : Rouge

Feux E/O : Rouge

Flèches gauche E/O : Rouge

Description des états du système de feux de carrefour avec 4 variables d'état.

Page 34: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

34. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exercice UML/MD1

Page 35: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

35. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'états structuré : objectifs

Structurer les diagrammes d'états dans un système complexe Eviter l'explosion combinatoire des transitions

Assemblage d'états Décomposition en sous-diagrammes

Généralisation d'états regroupement des états au comportement commun,

dans un super-état Possibilité d'y associer une généralisation

d'événements.

Page 36: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

36. EADS Matra Datavision - Confidentiel - 11 avril 2023

Assemblage d'états Assemblage d'états ou diagrammes imbriqués

Structurer le diagramme en sous-diagrammes avec un minimum de communication entre eux

A partir d'un diagramme de haut niveau, chaque état peut être redétaillé par un sous-diagramme

Un sous-diagramme est nommé possède obligatoirement un état initial et un état final son événement de sortie est le seul visible à niveau

supérieur.

Page 37: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

37. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemple d'un assemblage d'états

inactifcomposition

Numéro connexiondécrocher numéro composé

tonalité

do/jouer tonalité

do/ EnregisterNuméro

composerchiffre(n)

composition Numéro

composerchiffre(n)

[numéro valide] ^numéro composé

Evénement généré

Diagramme d'états de niveau supérieur

Sous-Diagramme pour l'état composition Numéro

nom du sous-diagramme

entrée du sous-diagramme

Page 38: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

38. EADS Matra Datavision - Confidentiel - 11 avril 2023

Généralisation d'états

Généralisation d'états en un super-état Généralisation d'états aux caractéristiques

communes L'état de l'objet peut être l'un des sous-états du

super-état Les sous-états héritent des transitions du super-état Un super-état peut avoir un état initial et/ou un état

final

Page 39: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

39. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemple d'une généralisation d'états

point-mort

Diagramme d'états d'une boîte de transmission automatique

arrière

première seconde troisième

stop

avantplus

moins

passer point-mort

passer marche-avant

passerpoint-mort

passer marche-arrière

Super-état "avant"

Transitions généralisées à tous les états dérivés

plus

moins

Transition généralisée

Bilan des transitions généralisées

• passer marche-avant depuis l'état "point mort" fait transiter dans le super-état "avant", sous-état "première".• stop fait transiter tous les sous-états de l'état "avant" dans le sous-état "première".• passer point-mort fait transiter tous les sous-états de l'état "avant" dans l'état "point-mort"

Page 40: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

40. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'états et agrégat

L'état d'un objet agrégat est l'union des états de ses composants Les composants concurrents changent d'état indépendamment les uns des

autres Diagramme d'états et agrégat de classes

Un diagramme d'état pour un objet agrégat est l'ensemble des diagrammes d'états de ses composants

Un état de l'objet assemblé est un assemblage d'états de ses "parties". Les états composants ne sont plus concurrents lorsqu'une transition

s'exprime par une condition dépendante d'un autre composant

Voiture

AccélérationAllumageTransmission

Agrégat

Relation d'agrégat du modèle objet

Composant

Page 41: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

41. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemple d'un diagramme d'états assemblés

Un état de Voiture est composée

d'un état de Accélération + d'un état de Transmission + d'un état d'allumage

Off

OnDémarrage

tourner clé[transmission aupoint mort]

lâcher clé

tourner clé pour arrêter

Allumage

point-mort arrière

première seconde troisième

stop

avantplus

moins

passer point-mort

passer marche-avant

passerpoint-mort

passer marche-arrière

plus

moins

Transmission

Off

On

appuyée

levée

Accélération

Page 42: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

42. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'état etgénéralisation de classe

Un diagramme d'états est hérité Héritage des états, des transitions, de la réponse aux

événements Diagramme d'états supplémentaire d'une classe

dérivée Utilisent des attributs différents de la super-classe

Surcharge du diagramme d'états Permet d'exprimer une spécialisation par restriction

Page 43: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

43. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d'états et concurrence intra-objet Concurrence à l'intérieur d'un état d'un objet Divisions des attributs et des liens en sous-ensembles

• Chaque sous-ensemble a un comportement dynamique propre• Un sous-diagramme d'états par sous-ensemble

L'état de l'objet est composé d'un état de chaque sous-diagramme

Un même événement peut provoquer des transitions

dans plusieurs sous-diagrammes

Page 44: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

44. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exemple d'un diagramme de concurrence intra-objet Affichage de l'heure, de la température et de la température cible

par un thermostat• Un état du thermostat est composé des états

– 1) "affichage heure" ou "affichage température"– 2) "affichage température cible"

• Les états 1 et 2 sont concurrents

concurrencedémarrer

do/ Afficher Heure do/ Afficher Température2 seconde

2 seconde

Affichage Température cible

do/ Afficher Température cible

édition( température) / changerTempératureCible

Sous-diagramme d'états Interface utilisateur d'un thermostat

En fonctionnement

Page 45: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

45. EADS Matra Datavision - Confidentiel - 11 avril 2023

Synchronisation d'activités intra-objet concurrentes

Plusieurs événements sont pris en compte

à partir d'un même état L'ordre d'arrivée de ces événements est quelconque

(simultané ou séquentiel) Le changement d'état n'a lieu que lorsque tous les événements

sont pris en compte L'objet doit avoir des activités simultanées Sous-diagramme d'états pour

un Distributeur de monnaie

Accordé

Emission

do/ émettre carte

do/ émettre argent

prêt

do/ fermerPanneau

carte prise

argent pris

^fin

finir Transaction

synchronisation:la carte et l'argent doivent être pris pour activer fermerPanneau

Les 2 activités sont concurrentes (donc indépendantes)

Page 46: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

46. EADS Matra Datavision - Confidentiel - 11 avril 2023

Synthèse du modèle dynamiqueet du modèle objet

Diagramme d'états = comportement des instances Actions et activités = opérations Transitions peuvent correspondre à des opérations

Nom de l'événement = nom de l'opération Arguments de l'événement = signature

Un diagramme d'états par classe Variables d'états = attributs ou liens

Page 47: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

47. EADS Matra Datavision - Confidentiel - 11 avril 2023

Synthèse entre modèle objetet modèle dynamique : Exemplemenu inactif

menu visible

entry / positionnerDébut

bouton droit enfoncé / afficher

bouton droit levé / effacer

déplacement curseur / positionnerItem

positionItem : integeractif : boolean

affichereffacerpositionnerDebutpositionnerItem( dc : DeplacementCurseur)

MenuVariables d'état

Opérations du diagramme d'états

Page 48: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

48. EADS Matra Datavision - Confidentiel - 11 avril 2023

Exercice UML/MD2

Page 49: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

49. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: diagramme d ’états, traitement

Représenter l ’état de l ’exécution d ’un mécanisme déroulement d ’étapes regroupées séquentiellement dans des

branches parallèles de flot de contrôle Diagramme d ’états particulier

la majorité des états représentent un traitement la majorité des transitions sont tirées à la terminaison du traitement

de l ’état source Traitement

action• traitement atomique; typiquement l ’invocation d ’une opération

activité• traitement qui a une durée• constitué d ’un ensemble de traitements auxquels on peut associer un

sous-diagramme d ’activités

Page 50: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

50. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités:transitions, modèle Transitions

tirées par les événements suivants:• terminaison du traitement de l ’état précédent, ou• disposition d ’un objet dans un certain état, ou• l ’occurence d ’un signal, ou• la satisfaction d ’une condition

Un modèle d ’activités peut décrire principalement

• un cas d ’utilisation,• une opération

mais aussi• un acteur,• un noeud,• un paquetage• une classe• un composant

Page 51: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

51. EADS Matra Datavision - Confidentiel - 11 avril 2023

chercher boisson

mettre cafédans filtre

ajouter eaudans réservoir prendre tasse

prendre canettesoda

boireverser café

allumer cafetière

mettre filtredans machine

Personne::préparer boisson

[café trouvé]

[café non trouvé] [soda non trouvé]

[soda trouvé]

au moins une transition de sortie sur la complétude de l ’activité

- pas de transition interne- pas de transition de sortie étiquetée par un événement

décision: plusieurs transitions possibles dépendantes de conditions

synchronisation : fusion branche parallèle

synchronisation: ouverture branche parallèle

filtrer café

Page 52: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

52. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: classes Couloir d ’activité

Distribution des activités sur des classes• montrer les différentes responsabilités au sein d ’un traitement ou

d ’une organisation Dans le business modeling, correspond à des départements différents

demander service

payer

prendre commande

remplir commande

livrer commande

percevoir commande

RéserveService ventesClient

équivalent à la ligne de vie dans le diagramme de séquence

Page 53: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

53. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: relation traitement et objet

Les activités s ’opèrent sur des objets ou par des objets objets responsables d ’un traitement objets dont les valeurs sont utilisées ou déterminées par le traitement

Catégories d ’objets responsable d ’un traitement

• possède un couloir correspondant à sa ligne de vie• chaque couloir représente un objet distinct

flot• objet en entrée ou sortie d ’un traitement

en état• fréquemment, le même objet est manipulé par plusieurs activités

– apparaît plusieurs fois: chaque apparition dénotant un point différent de sa vie

Page 54: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

54. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: exemple relation traitement et objet

demander service

payer

prendre commande

remplir commande

livrer commande

percevoir commande

RéserveService ventesClient

:Commande[passée]

:Commande[enregistrée]

:Commande[remplie]

:Commande[livrée]

objet flot

objet en sortie

objet en entrée

état de l ’objet (notation aussi utilisable dans diagramme de collaboration)

Page 55: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

55. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: icônes de contrôle Spécifier des informations sur les transitions

Pas nécessaire mais peu aider

allumer cafetière

verser café

allumée :Cafetière

lumière éteintesignalreçu

signalenvoyé

envoyeurdu signal

récepteurdu signal

filtrer café

Page 56: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

56. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: événement différé

Evénement différé pour utilisation ultérieure normalement un événement non capté est

perdu Revient à avoir une transition interne qui capte

l ’événement le met dans une file d ’attente jusqu’à ce

qu ’il soit captable ou détruit Une liste d’événement à différer par état Si une transition dépend de cet événement

est tirée immédiatement s’il est encore dans la file d ’attente

Si plusieurs transitions sont possibles, le premier événement arrivé est prioritaire

allumer cafetière

verser café

allumée

lumière éteinte

filtrer cafélumière éteinte/ defer

prendre tasselumière éteinte/ defer

Page 57: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

57. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: utilisation Utile pour

le workflow les traitements parallèles

Interprétation dépend de la perspective Conception

• c ’est une tâche qui doit être faite (par un humain ou un ordinateur) Analyse/Implémentation

• c ’est une méthode de classe Permet de choisir l ’ordre des choses

spécifier les règles de séquencement Business modeling

encourage le parallélisme Concurrence

spécifie graphiquement le thread courant et quand la synchronisation à lieu

Page 58: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

58. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités: points forts et points faibles

Force Supporte et encourage le parallélisme

• bon outil pour le workflow et multithreading

Faiblesse Ne fait pas le lien direct entre activités et objets

• Indique ce qu ’il se passe mais ne dit pas qui le fait– le couloir de vie est là pour empêcher ça

Quand Analyser un cas d ’utilisation

• comprendre les actions qui doivent être prises Etude du workflow entre cas d ’utilisation

• lorsque les cas d ’usage interagissent ensemble Gérer du multithreading

Page 59: Conseil, Services et Solutions pour lIndustrie 1. EADS Matra Datavision - Confidentiel - 28.04.14 Le Modèle Dynamique.

Conseil, Services et Solutions pour l’Industrie

59. EADS Matra Datavision - Confidentiel - 11 avril 2023

Diagramme d ’activités:points forts et points faibles

Ne pas utiliser pour Modéliser la collaboration entre les objets

• utiliser un diagramme d ’interaction (séquence ou collaboration) Modéliser comment un objet se comporte au cours de sa vie

• utiliser un diagramme d ’états