Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1
Content
§ Introduction
§ States
§ Transitions
§ Types d’events
§ Types de states
2
Introduction
§ Chaque objet prend un nombre fini d'états différents au cours
de sa vie
3
Exemple : Lecture Hall
class LectureHall {
private boolean free;
4
Exemple : Digital Clock
5
Etat (State)
§ States = noeuds de la machine d’états
§ entry / Activity(...)
§ Exécuté lorsque l'objet entre dans l'état
§ exit / Activity(...)
§ Exécuté lorsque l'objet sort de l'état
§ do / Activity(...)
§ Exécuté tant que l'objet reste dans cet état
6
Transition
§ Passer d'un état à un autre
7
Transition – Syntaxe
§ Événement (trigger)
§ Peut déclencher une transition d'état
§ Guard (Condition)
§ Expression booléenne
§ Si l'événement se produit, Guard est vérifié
§ Si Guard est vrai
§ Toutes les activités dans l'état actuel sont terminées
§ Toute activité de sortie(exit) est exécutée
§ La transition a lieu
§ Si Guard est faux
§ Aucune transition d'état n'a lieu, l'événement est rejeté
§ Activité (effet)
§ Séquence d'actions exécutées pendant la transition d'état
8
Transition – Types (1/2)
Transition interne Transition externe
9
Transition – Types (2/2)
§ Quand ont lieu les transitions suivantes ?
Si e1 se produit, A1 est annulé et l'objet
passe à S2
Si e1 se produit et que g1 est évalué à vrai,
A1 est annulé et l'objet passe à S2
10
Transition – Séquence d’exécution
d’activités
§ Supposons que S1 soit actif… quelle est la valeur de x après que
e se soit produit ?
11
Exemple : Registration Status d’un Exam
12
Event – Types (1/2)
§ Evénément de signal
Réception d’un signal
§ E.g., rightmousedown, sendSMS(message)
§ Evénément d’appel
§ Evénément de temps
Transition d'état basée sur le temps
§ Relatif : basé sur le temps de survenance de l'événement
§ E.g., after(5 seconds)
§ Absolu
§ E.g., when(time==16:00), when(date==20150101)
13
Event – Types (2/2)
§ Tout autre evénément (all)
§ Evénément d'achèvement
§ Evénément de changement
14
Change Event vs. Guard
Vérifiée de façon
permanente
Vérifiée quand un
événement se produit
15
Initial State
§ “Start” d’un state machine diagram
§ Pseudostate
§ Transitoire, c'est-à-dire que le système ne peut pas rester dans cet état
§ Plutôt une structure de contrôle qu'un état réel
16
État final et nœud de terminaison
Etat Final
§ État réel
Noeud de terminaison
§ Pseudo-état
17
Nœud de décision
§ Pseudo état
equivalent?
equivalent?
18
Exemple : Nœud de décision
19
Nœud de parallélisation et de
synchronisation
Parallelisation node
§ Pseudo-état
§ 1 arête entrante
Synchronisation node
§ Pseudo-état
§ 1 arête sortante
20
Etat Composite
§ Synonymes : état complexe, état imbriqué
Etat Composite
Sous-état
21
Entrée dans un état Composite(1/2)
§ Transition vers la frontière Event Etat Activités
Exécutées
§ Le nœud initial de l'état
composite est activé ‘’Beginning“ S3
e2 S1/S1.1 a0-a2-a3-a4
22
Entrée dans un état Composite(2/2)
§ Transition à sous-état Event State Activités
Exécutées
§ Sous-état est activé
‘‘Beginning“ S3
e1 S1/S1.2 a0-a1-a3-a7
23
23
Sortie d‘un état Composite (1/3)
§ Transition d'un sous-état Event Etat Activités
Exécutées
‘‘Beginning“ S1/S1.1 a3-a4
e3 S2 a6-a5-a2-a1
24
Sortie d‘un état Composite(2/3)
§ Transition d‘un état composite Event State Activités
Exécutées
Quel que soit le sous-état „Beginning“ S1/S1.1 a3-a4
actif de S1, dès que e5 se
produit, le système passe e5 S2 a6-a5-a3-a1
à S2
25
Sortie d‘un état Composite(3/3)
§ Transition d‘achèvement Event State Activités
d‘un état composite Exécutées
‘‘Beginning“ S1/S1.1 a3-a4
e4 S1/S1.2 a6-a7
e4 S2 a8-a5-a1
26
Etat Orthogonal
§ L'état composite est divisé en deux ou plusieurs régions séparées
par une ligne pointillée
§ Sortie : l'état final doit être atteint dans toutes les régions pour
déclencher l'événement d'achèvement
Utilisation du nœud de
parallélisation et de
synchronisation pour
entrer dans différents
sous-états
27
Submachine State (SMS)
§ Pour réutiliser des parties de diagrammes de machine d'état
dans d'autres diagrammes de machine d'état
§ Notation : state:submachineState
§ Dès que l'état de la sous-machine est activé, le comportement
de la sous-machine est exécuté
§ Correspond à l'appel d'un sous-programme dans les langages de
programmation
Symbole de raffinement
(optionel)
28
Etat d’Historique
§ Se souvient quel sous-état d'un état composite était le dernier actif
29
Exemple : Etat d’Historique (1/4)
Event Etat
‘‘Beginning“ S5
e1 S4/S1/S1.1
e2 S1.2
e10 S5
e9 (H→) S1/S1.1
30
Exemple : Etat d’Historique (2/4)
Event Etat
‘‘Beginning“ S5
e1 S4/S1/S1.1
e2 S1.2
e10 S5
e8 (H*→) S1.2
31
Exemple : Etat d’Historique (3/4)
Event Etat
‘‘Beginning“ S5
e9 (H→) S1/S1.1
32
Exemple : Etat d’Historique (4/4)
Event Etat
‘‘Beginning“ S5
e8 (H*→) S3/S3.1
33
Points d‘entrée et sorties
§ Mécanisme d'encapsulation
§ Un état composite doit être entré ou sorti via un état autre que les
états initial et final
§ La transition externe ne doit pas (/n’a pas besoin de) connaître la
structure de l'état composite
External view
34
Exemple : Points d‘entrée et sorties
35
Notation Elements (1/2)
Name Notation Description
Description d'un « intervalle de
temps » spécifique dans lequel se
trouve un objet au cours de son
State
« cycle de vie ». Dans un état, les
activités peuvent être exécutées
par l'objet.
Transition d'état e d'un état source
Transition
S à un état cible T
Terminaison du diagramme de la
Terminate node
machine à états d'un objet
36
Notation Elements (2/2)
Name Syntax Beschreibung
Nœud à partir duquel plusieurs
Decision node transitions alternatives peuvent
provenir
37