Академический Документы
Профессиональный Документы
Культура Документы
UML
Diagrammes tats-transitions
Delphine Longuet
delphine.longuet@lri.fr
Diagramme tats-transitions
Objectif : Dcrire le comportement dynamique d'une entit (logiciel, composant, objet...) Comportement dcrit par tats + transitions entre les tats ! tat : abstraction d'un moment de la vie d'une entit pendant lequel elle satisfait un ensemble de conditions ! Transition : changement d'tat
transition teinte tat PressionInterrupteur PressionInterrupteur Allume
D. Longuet - UML
Diagramme tats-transitions
Objectif : Dcrire le comportement dynamique d'une entit (logiciel, composant, objet...) Comportement dcrit par tats + transitions entre les tats ! tat : abstraction d'un moment de la vie d'une entit pendant lequel elle satisfait un ensemble de conditions ! Transition : changement d'tat Intrt : ! Vue synthtique de la dynamique de l'entit ! Regroupe un ensemble de scnarios
D. Longuet - UML
Scnario principal
Carte invalide
D. Longuet - UML
teindre
autorisation [refuse]
choisirMontant / demanderAutorisation
CodeValid
D. Longuet - UML
tat
Types d'tats ! tat initial Initialisation du systme, excution du constructeur de l'objet ! tat final Fin de vie du systme, destruction de l'objet ! tats intermdiaires : tapes de la vie du systme, de l'objet
tat Entry [cond. ent.] / act. ent. Do / activit event1 [cond1] / action1 event2 [cond2] / action2 ... Exit [cond. sort.] / act. sort.
D. Longuet - UML 6
tat
Caractristiques d'un tat : ! Conditions vrifies ! Actions ralises ! vnements attendus
rglerTemprature(T) FourAllum ... Entry / mettre thermostat T Do / allumer voyant when(thermostat < T) / chauffer timeout ...
D. Longuet - UML 7
tat
Caractristiques d'un tat : ! Conditions vrifies ! Actions ralises ! vnements attendus
rglerTemprature(T) FourAllum ... activit pendant la dure de l'tat Entry / mettre thermostat T Do / allumer voyant when(thermostat < T) / chauffer timeout ...
D. Longuet - UML 8
tat
Caractristiques d'un tat : ! Conditions vrifies ! Actions ralises ! vnements attendus
rglerTemprature(T) FourAllum ... Entry / mettre thermostat T Do / allumer voyant when(thermostat < T) / chauffer timeout / thermostat zro ... vnement avec changement d'tat
9
D. Longuet - UML
vnement
vnement : Fait instantan venant de l'extrieur du systme et survenant un instant donn Types d'vnements : ! Signal : rception d'un message asynchrone ! Appel d'une opration (synchrone) : lie aux cas d'utilisation, opration du diagramme de classes... ! Satisfaction d'une condition boolenne : when(cond), value continuellement jusqu' ce qu'elle soit vraie ! Temps - Date relative : when(date = date) - Date absolue : after(dure)
D. Longuet - UML 10
Action
Action : Raction du systme un vnement Caractristiques : atomique, instantane, non interruptible Exemples d'actions (syntaxe laisse libre) : ! affectation ! envoi d'un signal ! appel d'une opration ! cration ou destruction d'un objet
D. Longuet - UML
11
tat1
tat2
D. Longuet - UML
12
D. Longuet - UML
13
Entry [cond. ent.] / act. ent. Do / activit event1 [cond1] / action1 event2 [cond2] / action2 ... Exit [cond. sort.] / act. sort.
14
action2
action2
Entry [cond. ent.] / act. ent. Do / activit Exit [cond. sort.] / act. sort.
D. Longuet - UML
18
teindre
autorisation [refuse]
choisirMontant / demanderAutorisation
CodeValid
D. Longuet - UML
19
tats composites
tat composite : tat regroupant un ensemble d'tats Objectifs : ! Hirarchiser les tats ! Structurer les comportements complexes ! Factoriser les actions
raccrocher Occup Raccroch raccrocher raccrocher raccrocher D. Longuet - UML Composition Tonalit
Conversation 20
tats composites
tat composite : tat regroupant un ensemble d'tats Objectifs : ! Hirarchiser les tats ! Structurer les comportements complexes ! Factoriser les actions
Dcroch Occup Raccroch Composition Tonalit raccrocher Conversation D. Longuet - UML 21
tats composites
tat composite : tat regroupant un ensemble d'tats Objectifs : ! Hirarchiser les tats ! Structurer les comportements complexes ! Factoriser les actions
transition vers l'tat composite
Raccroch Composition Tonalit raccrocher Dcroch Occup
Conversation 22
tats composites
tat orthogonal : tat composite dans lequel plusieurs tats sont actifs simultanment (concurrence/paralllisme) tat actif global = un tat actif par rgion
rgions
Prparation Entry / placer gobelet Do / servir boisson Prparation et rendu monnaie Ajout sucre Entry / ajouter sucre
D. Longuet - UML
23
tats composites
tat orthogonal : tat composite dans lequel plusieurs tats sont actifs simultanment (concurrence/paralllisme) tat actif global = un tat actif par rgion
transition complexe
Prparation Entry / placer gobelet Do / servir boisson Prparation et rendu monnaie Ajout sucre Entry / ajouter sucre
D. Longuet - UML
Reprsentation quivalente
24
D. Longuet - UML
25
Spcification du conteneur : ! ensemble de couples (cl,valeur) avec cls uniques ! capacit fixe ! taille = nombre de couples prsents ! ajouter(c,v) : ajoute si cl absente, crase si cl prsente ajout au-del de la capacit interdit ! retirer(c) : retire le couple de cl c s'il existe
D. Longuet - UML
ajouter(c,v) [not present(c) and taille = capacit - 1] ajouter(c,v) [not present(c)] / Exception
Plein
ajouter(c,v) [present(c)]
26
Rsum rapide
D. Longuet - UML
27
D. Longuet - UML
28