Conception Orient´ee Objet
G´enie logiciel
Les diagrammes ´etat-transition
I. MOUAKHER-ABDELMOULA
2012-2013
Plan
1
Introduction
2 Concepts de base
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
3 Points de d´ecision
Points de jonction
Points de choix
4 ´Etats composites
Pr´esentation
´Etats concurrents
Historique
5 D´emarche d’´elaboration
D´emarche
Exemple
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
Le diagramme ´etat-transition :
Fait partie des mod`eles dynamiques
D´ecrit l’enchaˆınement de tous les ´etats d’un objet
Propre `a une classe donn´ee.
Il d´ecrit :
Les ´etats des objets de cette classe
Les ´ev´enements auxquels ils r´eagissent
Les transitions qu’ils effectuent
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(3/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Concepts de base
Le diagramme ´etat-transition manipule plusieurs concepts :
´Etat
Transition
´Ev´enement
Garde
Action
Activit´e
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(4/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Etat
Un ´etat est une abstraction des valeurs ou des liens d’un objet.
Par exemple, l’´etat d’une banque est solvable si ses actifs exc`edent
ses dettes.
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(5/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Etat
Pour chaque objet, il y a trois types d’´etats :
´Etat initial : C’est l’´etat dans lequel se trouve l’objet lorsqu’il est
cr´e´e. Chaque objet a un et un seul ´etat initial
´Etat interm´ediaire : Ce sont les diff´erents ´etats par lesquels le
systeme peut passer depuis sa cr´eation jusqu’a sa destruction. Un
objet peut avoir plusieurs ´etats interm´ediaires.
´Etat final : C’est l’´etat qui met fin `a la vie de l’objet. Un objet peut
ne pas avoir d’´etat final (objet ´eternel), un seul ou plusieurs ´etats
finaux
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(6/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Etat - Repr´esentation
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(7/39)
State1State2état initialétat finalétats intermidiairesIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Transition
Les ´etats sont reli´es par des connexions unidirectionnelles appel´ees
transitions
Une transition est le passage instantan´e d’un ´etat `a un autre. On dit
Advertisement
que la transition est franchie lors du passage de l’´etat source `a l’´etat
cible.
Notation
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(8/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Ev´enements
Un ´ev´enement est une occurrence ou un fait qui a lieu `a un moment
donn´e.
Par exemple
L’utilisateur appuie sur le bouton de gauche
Le vol 123 part de Chicago
´Electricit´e allum´ee
La temp´erature passe en dessous de z´ero
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(9/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Ev´enements
Diff´erents types d’´ev´enements
´Ev´enements d’appel d’op´eration
´Ev´enements de signal
´Ev´enements de changement
´Ev´enements temporels
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(10/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Ev´enements de signal
´Ev´enement qui consiste `a ´emettre ou recevoir un signal
Un signal est un message entre objets, alors que l’´ev´enement de
signal en est une occurrence dans le temps.
Exemple : D´epart de vol, Boutant Souris enfonc´e, chaine saisie,
R´ecepteur d´ecroch´e, chiffre compos´e...
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(11/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Ev´enements de changement
Un ´ev´enement de changement est caus´e par la satisfaction d !une
expression bool´eenne.
La notation UML de ce type d’´ev´enement est le mot-cl´e when.
Par exemple : when (charge de la batterie < limit´e inf´erieure)
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(12/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
´Ev´enements temporels
Un ´ev´enement temporel est caus´e par l’occurrence d’un temps
absolu ou par l’´ecoulement d’une dur´ee.
Utilise le mot-cl´e when when(date = 01/01/2006) ou after after(10
secondes)
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(13/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(14/39)
prolongationEmpruntédéclaration perteDisponibleaffectationNouveauretour livrePerdudéclaration pertedemande empruntEn réparationenvoie réparationretour réparationréparation impossibledéclaration retraitRetirérefus réparationIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Garde
Une garde (ou une condition de franchissement) est une expression
bool´eenne qui doit ˆetre vraie pour qu’une transition soit franchie.
Notation : Apr`es un ´ev´enement, une condition est entre crochets.
Exemple :
Advertisement
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(15/39)
Disponibleretour[bon état]retour[mauvais état]EmpruntéEn réparationIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Action et Activit´e - Pr´esentation
Un objet qui re¸coit un ´ev´enement d´eclenche une ou plusieurs
op´erations
On distingue deux types d’op´erations :
Action : n’a pas de dur´ee et elle est associ´ee a un ´etat ou a une
transition
Activit´e : prend du temps d’ex´ecution et elle est associ´ee `a un ´etat
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(16/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Actions dans un ´etat
Elle peut intervenir soit
En entr´ee de l’´etat (pr´efixe : ”entry/”)
En sortie de l’´etat (pr´efixe : ”exit/”)
En r´eponse `a un ´ev´enement (pr´efixe :” on non evt/”)
Repr´esentation
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(17/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Actions dans un ´etat
Un ´ev´enement internet n’entraˆıne pas l’ex´ecution des actions de
sortie et d’entr´ee, contrairement au d´eclenchement d’une transition
r´eflexive.
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(18/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Activit´e dans un ´etat
Op´eration d’une certaine dur´ee, qui est ex´ecut´ee tant que l’objet se
trouve dans l’´etat
Une activit´e peut ˆetre interrompue par un ´ev`enement
Repr´esent´ee dans l’´etat pr´ec´ed´ee par la notation ”do/”
Lorsqu’une activit´e se termine, les transitions automatiques (sans
´ev´enement), mais ´eventuellement prot´eg´ees par des gardes, sont
d´eclench´ees
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(19/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Effet dans une Transition
Un effet est un comportement optionnel r´ealis´e par l’objet lorsque la
transition est d´eclench´ee
En UML 2, un effet peut ˆetre
une simple action
une s´equence d’actions
Une action ´el´ementaire peut repr´esenter la mise `a jour d’un attribut,
un appel d’op´eration, la cr´eation ou la destruction d’un autre objet,
ainsi que l’envoi d’un signal `a un autre objet.
Notation
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(20/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
´Etat
Transition
´Ev´enement
Garde
Action et Activit´e
Exemple
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(21/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Points de jonction
Points de choix
Points de d´ecision
Permettent de repr´esenter des partages de transitions ou des
alternatives pour le franchissement d’une transition
On utilise deux m´ecanismes :
Points de jonction (petit cercle plein) : pour partager des segments
Advertisement
de transition
Points de choix (losange) : pour choisir une ou une autre transition
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(22/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Points de jonction
Points de choix
Points de jonction
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(23/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Points de jonction
Points de choix
Point de d´ecision - Points de choix
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(24/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites (ou imbriqu´es) - Objectifs
Un ´etat composite (appel´ee aussi Super ´etat) est d´ecompos´e en
deux ou plusieurs sous ´etats
Objectifs :
Hierarchiser les etats
Structurer les comportements complexes
Factoriser les actions
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(25/39)
InactifraccrocherraccrocherdécrocherConnexionConversationconnectéracrocherterminéracrocherEmission TonalitéChiffreNumérotationChiffreIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Notation
Un ´etat composite est repr´esent´e comme un ´etat simple, sauf que les
sous ´etats sont contenus dans le compartiment inf´erieur
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(26/39)
InactifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Notation abr´eg´ee
L’utilisation d’´etats composites permet de d´evelopper une
sp´ecification par raffinements.
Une notation abr´eg´ee permet d’indiquer qu’un ´etat est composite et
que sa d´efinition est donn´ee sur un autre diagramme.
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(27/39)
InactifActifdécrocherraccrocherConnexionConversationconnectéterminéEmission TonalitéChiffreNumérotationChiffreActifIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Transitions
Les transitions ayant pour cible la frontiere d’un ´etat composite ≡ a
une transition ayant pour cible l’´etat initial de l’´etat composite.
Une transition ayant pour source la fronti`ere d’un ´etat composite ≡
a une transition qui s’applique a tout sous-´etat de l’´etat composite
source.
une transition ayant pour source la fronti`ere d’un ´etat composite et
elle ne porte pas de d´eclencheur explicite, elle est franchissable
quand l’´etat final de l’´etat composite est atteint.
Les transitions peuvent ´egalement toucher des ´etats de diff´erents
niveaux d’imbrication en traversant les fronti`eres des ´etats
composites
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(28/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - ´Etats concurrents
´Etat composite pour repr´esenter l’ex´ecution de plusieurs automates
s’ex´ecutant ind´ependamment
On utilise un s´eparateur en pointill´es
L’objet peut ˆetre simultan´ement dans plusieurs ´etats concurrents
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(29/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Exemple avec ´etats concurrents
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(30/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
Advertisement
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Historique
On repr´esente le pseudo ´etat historique par un H cercl´e
Une transition ayant pour cible l’´etat historique est ´equivalente `a
une transition ayant pour cible le dernier ´etat visit´e dans la r´egion
contenant le H
H∗ (historique profond) est un ´etat valable pour tous les niveaux
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(31/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
Pr´esentation
´Etats concurrents
Historique
´Etats composites - Exemple avec ´etat historique
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(32/39)
LustrageLavageHLavageRinçageHafter(2mn)after(4mn)arrêt d'urgencerepriseAttenteafter(2mn)Séchageafter(2mn)Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
D´emarche d’´elaboration
Ne pas chercher `a modeliser trop de classes
Comment identifier les ´etats ?
Recherche intuitive
´Etude des attributs et des associations de la classe
Chercher le comportement d’un objet par les diagrammes
d’interactions (sequence et communication) sur chaque s´enario
Comment construire le diagramme ?
Repr´esenter d’abord la s´equence d’´etats d´ecrivant le comportement
nominal d’un objet
Ajouter les transitions correspondant aux comportement alternatifs
Int´egrer les comportements d’erreurs
Ajouter les actions et activites
Structurer en sous ´etats si le diagramme est trop complexe
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(33/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
D´emarche d’´elaboration-Conseils
L’automate doit ˆetre d´eterministe
Si plusieurs transitions partant d’un ´etat ont le mˆeme ´ev´enement,
alors il doit y avoir des gardes qui garantissent le d´eterminisme
Tous les ´etats doivent ˆetre accessibles depuis l’´etat initial
S’il y a des ´etats terminaux alors, pour chaque ´etat non terminal, il
doit exister un chemin de cet ´etat vers un ´etat terminal (...en
g´en´eral)
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(34/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
Exemple : Diagramme d’´etats d’une classe Mission (1/5)
(extrait de UML par la pratique, Pascal Roques, Eyrolles)
Description du comportement nominal
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(35/39)
En attentecreate(nom,nature)Validéevalider(DateDepartPrevue)départEn coursTerminéearrivéeIntroduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
Exemple : Diagramme d’´etats d’une classe Mission (2/5)
Ajouter les transitions correspondant aux comportement alternatifs
La possibilit´e de modifier et d’annuler une mission jusqu’avant une
heure du d´epart pr´evu
Au bout de 48h, une mission termin´e´e est archiv´ee et supprim´e de la
m´emoire vive du syst`eme.
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(36/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
Exemple : Diagramme d’´etats d’une classe Mission (3/5)
Ajouter les actions et les activit´es
Activit´e : D´efinir une mission(´etat ”En attente”)
Actions : cr´eation d’une FeuilleDeRoute ou d’un SuiviMission,
notifier le r´epartiteur, lib´ererResources et l’archivage
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(37/39)
Introduction
Concepts de base
Points de d´ecision
´Etats composites
D´emarche d’´elaboration
D´emarche
Exemple
Exemple : Diagramme d’´etats d’une classe Mission (4/5)
L’activit´e d´efinirMission recouvre un traitement complexe consistant `a
enchainer
affectation de commande
affectation de resources comprend en parall`ele la recherche d’un
v´ehicule libre de tonnage suffisant et la recherche d’un chaffeur
qualifi´e
I. MOUAKHER-ABDELMOULA
Conception Orient´ee Objet
(38/39)