E.D. de Génie Logiciel

Conception avec U.M.L.

IV - Analyse: Point de vue dynamique (Diagrammes d'états)

 

EXERCICE I:

On considère une montre digitale simplifiée, munie au départ de 2 boutons:

         
Bouton
Mode
  17:35:22   Bouton
Avance
       


Le bouton Mode commande le type d'affichage, comprenant les situations de mise à jour; le bouton Avance permet d'effectuer les mises à jour.

  1. Le mode usuel est le mode Affichage (de l'heure courante).
  2. Quand on appuie une fois sur le bouton Mode, la montre passe en mode modification de l'heure. Chaque pression sur le bouton Avance incrémente ensuite l'heure d'une unité;
  3. quand on appuie une nouvelle fois sur le bouton Mode, la montre passe en mode modification des minutes. Chaque pression sur le bouton Avance incrémente alors les minutes d'une unité;
  4. quand on appuie une nouvelle fois sur le bouton Mode, la montre revient au mode Affichage.

QUESTIONS:

  1. Réaliser un Diagramme d'états correspondant aux spécifications ci-dessus, sans oublier les actions accompagnant certaines des transitions.
  2. On enrichit maintenant les spécifications initiales de la manière suivante:
    Quand on appuie sur le bouton Avance plus de 2 secondes, les heures ou les minutes (selon le cas) s'incrémentent rapidement jusqu'à ce qu'on relâche la pression sur le bouton.
    Modifier le diagramme d'états précédent en conséquence, en introduisant les nouveaux événements (notamment temporels) et états nécessaires.
  3. On revient aux spécifications initiales (Q. 1), mais la montre reçoit 2 boutons supplémentaires:

    Donner les Diagrammes d'états décrivant chacun des trois comportements de la montre (gestion de: l'affichage / mises à jour (étendues à l'heure d'alarme); l'alarme; l'éclairage).

  4. Comment modéliser l'existence simultanée de 3 diagrammes d'états pour un même objet? On envisagera 2 solutions:

 

 

 

EXERCICE 2: Diagramme d'états hiérarchique complexe

Soit le fragment de diagramme d'états suivant, décrivant le comportement dynamique d'un certain objet:

 
_ _______ _
| E3 / act3 |
|   V
E1 / act1
...
------------->

E2 / act2
... <-------------

Super-état A
entry / A_ent

E4 / A_interne

exit / A_sor

  • ---->
état B
entry / B_ent

exit / B_sor

E5
------>

E6
<------

état C
entry / C_ent

exit / C_sor

 

En désigne un événement, et actn (ou L_xxx) une action (ou effet) accompagnant une transition.

 

QUESTIONS :

1) Compléter le tableau ci-après pour expliquer le comportement de l'objet en réaction à la suite d'événements E1, E5, E4, ..., E2. On suppose que l'on part de l'état, à gauche du diagramme, symbolisé par ... ; à partir de la ligne 2, l'état de départ est l'état d'arrivée de la ligne précédente.

2) Que devient ce tableau si la transition propre commandée par l'événement E3 conduit vers le pseudo-état History à l'intérieur du super-état A ?