2. Introduction
§ Diagramme dynamique / comportemental
§ Raisonnement en termes:
ü des différents états dans lesquels le système peut
être;
ü Comment le système transite entre ces
différents états.
§ Un diagramme d’état correspond à une classe
d’objets
§ C’est un graphe composé de:
ü un ensemble de nœuds (états du système);
ü un ensemble d’arcs (transitions entre les états).
2
4. Notions de base :
État(1)
§ Situation de la vie d’un objet qui dure un
certain temps fini : vérifier des condition,
exécuter des actions, attendre un événement.
§ États particuliers:
ü Un état initial
ü Un ou plusieurs états finaux: le cycle de vie
de l’objet est terminé
Etat
État
ini'al
État
final
4
5. Notions de base :
État(2)
§ Un état peut être:
ü Simple
ü Composite: un état qui contient des sous-état,
parfois même une sous-machine à état
§ On définit des sous-états et des super-états
5
6. Notions de base :
État(2)
§ État avec activités internes:
ü Entry /action: action exécutée à l'entrée de l'état;
ü Exit /action: action exécutée à la sortie de l'état ;
ü Do /action: action récurrente exécutée dans l'état;
ü On event /action: action exécutée à chaque fois que
l'événement cité survient
§ Exemple:
Composer numéro
entry/ afficher tonalité ligne libre
event composer numéro/ afficher tonalité numéro
do/ mémoriser numéro composé
exit/ appeler numéro
6
7. Notions de base:
Transition
§ Lien entre deux états
§ Peut être décorée par:
ü Le ou les événements qui déclenchent la transition
ü La garde (expression booléenne) à vérifier pour
franchir la transition
ü Action (envoi de signal, appel de méthode) à
exécuter avec le franchissement de la transition
§ Exemple:
A
e[ g ] / a
introduire pièce( p )[ pièce p valide ] / incrémenter crédit ( p )
B
communiquer
7
8. Activité: Intervention
§ Une intervention est répertoriée.
§ On peut à tout moment la modifier.
§ Mais une fois validée, on ne peut rien faire
sauf la supprimer.
8
9. Activité : Réveil
§ On peut mettre l’alarme « ON » ou « OFF ».
§ Quand l’heure courante devient égale à
l’heure d’alarme, le réveil sonne sans
s’arrêter.
§ On peut interrompre la sonnerie.
§ En général, le réveil est opérationnel (en
service) mais il arrive où il tombe en panne et
qu’on peut le réparer.
§ S’il est irréparable, c’est sa fin.
10
10. Activité : Thread
Dessiner un diagramme d'E/T décrivant au comportement d'un thread.
§ Le thread est :
ü
ü
ü
ü
ü
Non démarré : au début
En cours : quand il a toutes ses ressources + le processeur
En attente : quand il lui manque une ressource
Prêt : quand il a toutes ses ressources mais pas le processeur
Terminé : quand il a terminé son exécution
§ On supposera que les évènements reçus par le thread sont :
ü Début : démarrage du thread. Avant sa réception, le thread est non démarré
ü Ressource attendue : l'appel d'une réservation de ressource quand elle n'est pas
disponible
ü Ressource OK : libération d'une ressource par un autre thread et sa réservation
effective par le thread qui l'attendait
ü Processeur OK : libération du processeur et son utilisation effective par le
thread
ü Fin : correspond soit à l'exécutioin de la dernière instruction du programme,
soit à l'envoi d'un événement pour tuer définitivement le thread. A la réception
de « fin », le thread est terminé.
On supposera qu'un thread n'envoie pas d'évènement. Il ne fait que les recevoir.
12