Académique Documents
Professionnel Documents
Culture Documents
d’états-transitions
Aziza EL OUAAZIZI
Faculté Polydisciplinaire de Taza
Département des Mathématiques, Physique et Informatique
Licence Informatique
1
Introduction
Les diagrammes d’états-transitions présentent les
séquences possibles d'états et d'actions qu'une instance
de classe (objet) peut traiter au cours de son cycle de vie
en réaction à des événements discrets.
Rassemble et organise les états et les transitions d'un objet
donné.
2
Etat
L'état d'un objet est défini à la fois par les valeurs de ses attributs
et par les valeurs de ses associations avec d'autres objets.
l'état d'un objet a une durée finie, quantifiable à l'échelle du
système.
se représente graphiquement dans un diagramme
Etat A
d'états-transitions par un rectangle aux coins arrondis.
3
État initial et final
4
Evénement
Un événement est un fait significatif qui se produit et qui
peut par conséquent déclencher un changement d’état. Il
est lié à la réception d’un message par un objet.
Exemple: l'arrivée d'une commande, l’arrivée d’une demande de
réservation …
5
Événement de type signal
Un classeur destiné explicitement à véhiculer une communication
asynchrone à sens unique entre deux objets.
Permet de modéliser certains types de communications matérielles
(interruptions matérielles, entrées/sorties)
Nom de
Paramètres du « signal » l’événement signal
signal Souris
+posx: Entier
+posy: Entier
6
Événement d'appel (call)
Généré par l’appel d'une opération déclarée au niveau du
diagramme de classes.
Démarrer()
Inactif Actif
Arrêter()
7
Événement de changement (change)
Généré par la satisfaction (i.e. passage de faux à vrai) d'une
expression booléenne sur des valeurs d'attributs.
8
Événement temporel (when ou after)
after ( <durée> )
9
Transition
Définit la réponse d'un objet à l'occurrence d'un événement donné
PressionInterrupteur
Eteinte allumée
PressionInterrupteur
Transition
Etats d’une lampe
10
La garde
Il s'agit d'une expression logique sur les attributs de l'objet, associé
au diagramme d'états-transitions, ainsi que sur les paramètres de
l'événement déclencheur.
La condition de garde est évaluée uniquement lorsque l'événement
déclencheur se produit.
Si l'expression est fausse à ce moment-là, la transition ne se déclenche
pas.
Si l’expression est vraie, la transition se déclenche et ses effets se
produisent.
Retour [bon état] Retour [mauvais état]
Empruntée
Disponible En réparation
Etats d’une voiture de location
11
Effet d'une transition
Lorsqu'une transition se déclenche (on parle également
de tir d'une transition), son effet s'exécute.
Il s'agit généralement d'une action qui peut être:
une opération primitive comme une instruction d’affectation;
envoi d'un signal ;
appel d'une opération ;
création ou destruction d’objet.
12
Transition interne
Une transition interne ne modifie pas l’état courant, mais suit
globalement les règles d’une transition simple entre deux états.
13
Evénements internes
Entry: permet de spécifier une action qui s'accomplit quand on
entre dans l'état.
Do: une activité do commence dès que l'action entry est terminée.
Lorsque cette activité est terminée, une transition d'achèvement
peut être déclenchée, après l'exécution de l'action exit bien entendu.
Si une transition se déclenche pendant que l'activité do est en
cours, cette dernière est interrompue et l'action de l’événement
exit de l'état s'exécute.
14
Représentation de transition interne
15
Transition réflexive
16
Point de jonction
un pseudo-état qui permet de partager des segments de transition. Il
donne une notation plus compacte et plus lisible des chemins
alternatifs.
Peut avoir plusieurs segments de transition entrante et plusieurs segments
de transition sortante.
Ne peut pas avoir d'activité interne ni des transitions sortantes dotées de
déclencheurs d'événements
[b<0] Etat 3
Etat 1 e1[a>0]
[b=0]
Etat 4
Etat 2 e2[a>0]
[b>0] Etat 5
N.B: Lorsqu'un chemin passant par un point de jonction est emprunté, toutes
les gardes le long de ce chemin doivent être vrai dès le franchissement du
premier segment.
17
Point de décision
Un point de décision possède une entrée et au moins deux sorties.
Contrairement à un point de jonction, les gardes situées après le point
de décision sont évaluées au moment où il est atteint.
Choix basé sur les résultats obtenus en franchissant le segment avant
le point de choix.
[else]
Afficher problème
Formulaire en ligne:
Quand l’utilisateur valide son formulaire en appuyant sur le bouton Ok,
une vérification de la cohérence des données fournies est réalisée par ValiderEntrée().
Si les informations paraissent correctes, on lui demande de confirmer,
sinon on affiche les erreurs détectées et il doit remplir de nouveau le formulaire.
18
États composites
Un état qui englobe d’autres états appelés sous-états.
Si le diagramme d’état transition devient trop complexe, on peut
utiliser des états imbriqués pour le simplifier.
Nombre d’imbrication n’est pas limité (ne pas abusé sinon problème de
lisibilité).
Créer client
19
Transition entre états composites
Une transition ayant pour cible la frontière d'un état composite est
équivalente à une transition ayant pour cible l'état initial de l'état
composite.
Une transition ayant pour source la frontière d'un état composite est
équivalente à une transition qui s'applique à tout sous-état de l'état
composite source. la transition est franchissable depuis tout état
imbriqué, quelle que soit sa profondeur.
Une transition ayant pour source la frontière d'un état composite et qui
ne porte pas de déclencheur explicite (i.e. s'il s'agit d'une transition
d'achèvement), est franchissable quand l'état final de l'état composite
est atteint.
20
Exemple d’états composites
Etat2
Etat1 Etat21
Exit/QuitterE1 Entry/EntrerE21
Entry/EntrerE2
21
Points de connexion
Des points d'entrée et de sortie portant un nom, et situés sur la frontière
d'un état composite. Ils sont respectivement représentés par un cercle vide
et un cercle barré d'une croix.
Des points utilisés sur la frontière de l'état composite lorsqu'il existe
plusieurs transitions traversant la frontière de l'état composite et visant
directement, ou ayant pour source, un sous-état de l'état composite.
Distributeur boisson
[crédit>=prix]
Test opérateur
Préparer
boisson
Crée
Ouverte
positionnement
agrandissement
Fermée Normale Plein-écran
réduction
dimensionnement H
Réduite
minimisation maximisation
After(2min)
H* lavage
Arrêt d’urgence
attente After(4min) After(2min)
Arrêt d’urgence
Arrêt d’urgence
24
Concurrence
Les diagrammes d'états-transitions permettent de décrire
efficacement les mécanismes concurrents grâce à l'utilisation d'états
orthogonaux.
Un état orthogonal est un état composite comportant plus d'une
région, chaque région représentant un flot d'exécution.
Graphiquement, dans un état orthogonal, les différentes régions
sont séparées par un trait horizontal en pointillé allant du bord
gauche au bord droit de l'état composite.
Chaque région peut posséder un état initial et final.
Une transition qui atteint la bordure d'un état composite orthogonal est
équivalente à une transition qui atteint les états initiaux de toutes ses
régions concurrentes.
Toutes les régions concurrentes d'un état composite orthogonal doivent
atteindre leur état final pour que l'état composite soit considéré comme
terminé.
25
Etat orthogonal
Cet exemple montre un état orthogonal au sein d’un distributeur de type machine
à café. Quand une boisson est sélectionnée et que le montant est validé par rapport
au crédit, deux séquences d’actions sont déclenchées en parallèle: la préparation de
la boisson et le rendu de la monnaie.
Rendre monnaie
entry/monnaie= credit - boisson.prix()
do/monnayeur.rendre(monnaie)
26
Transition concurrentes
Il est possible de représenter le comportement orthogonal au moyen de transitions
concurrentes. Ces transitions sont représentées par une barre verticale épaisse et
courte, éventuellement associée à un nom. Un ou plusieurs arcs peuvent avoir pour
origine ou destination la transition. La sémantique associée est celle d’un fork / join.
Rendre monnaie
entry/monnaie= credit - boisson.prix()
do/monnayeur.rendre(monnaie)
27
Conclusion
28
Exercice 1: Machine à café
29
Exercice 2: Etats d’un individu
Représenter à l’aide d’un diagramme états-transitions les états que peut
prendre un individu du point de vue de l’état marocaine: vivant, décédé, mineur,
majeur, célibataire, marié, veuf et divorcé. Supposer que seul un individu majeur
peut se marier. Utiliser les états composites pour cumuler les états: un individu
peut être simultanément vivant, majeur et divorcé par exemple.
30