Accueil
 Sommaire
 1  Objectifs de ce cours de modélisation orientée objet
 2  Généralités sur la modélisation orienté objet et sur UML
 3  Analyse, vues cas d'utilisation et processus
 4  Analyse et conception, aspects statiques de la vue logique
 5  Analyse et conception, aspects dynamiques de la vue logique
 5.1  Rappel: diagrammes communs à l'analyse et à la conception
 5.2  Modélisation des aspects dynamiques
 5.3  Diagramme de séquence
 QCM
 5.4  Diagramme de communications
 slidetitletoc
 5.5  Diagramme de machine à états
 5.5.1  Modéliser l'état des objets d'une classe
 5.5.2  Types d'états, événement et transition
 5.5.3  Événement, condition et action d'une transition
 5.5.4  Transition implicite
 5.5.5  Exemple de diagramme de machine à états de la classe \textsf Scrutin
 5.5.6  Actions liées à un état
 5.5.7  Éléments de méthodologie
 5.5.8  État composite~*
 QCM
 6  Conception, aspects langage et technique
 7  Conception, vues développement et physique
 8  Conclusion
 9  Bibliographie

 Contacts

W3C validator

Département INF  
 Conception et programmation orientées objet


5.5.6 Actions liées à un état
  • Actions exécutées à l’entrée et à la sortie d’un état
  • Action exécutée pendant toute la durée de présence dans l’état
  • Action interne déclenchée par un événement

Figures/operations_etats_transitions

    précédent     suivant 


Lors de l’entrée dans un état, l’action labellisée entry est exécutée. Par analogie, l’action labellisée exit est exécutée lors de la sortie de l’état. Ces deux premières actions sont, comme les actions des transitions, des actions immédiates et atomiques : elles sont de courtes durées et ne peuvent pas être interrompues. L’action labellisée do est exécutée pendant toute la durée de l’état, entre les deux actions précédentes. Cette action labellisée do est interruptible par un événement.

Certains événements sont dits internes (à un état). Ils provoquent l’exécution d’actions mais sans changement d’état. Dans ce cas, l’action labellisée exit n’est pas exécutée.

Comme montré aussi dans la diapositive, UML autorise les transitions dites « réflexives », faisant sortir d’un état avant d’y retourner. Elles provoquent la séquence d’actions suivante : après l’interruption de l’action labellisée do, exécution de l’action labellisée exit lors de la sortie de l’état, exécution de l’action spécifiée sur la transition réflexive, exécution de l’action labellisée entry lors de l’entrée dans l’état de départ, puis reprise de l’action labellisée do.

Enfin, pour être exhaustif, un état peut ne pas possèder d’action labellisée do ou l’algorithme de l’action labellisée do peut se terminer sans intervention d’un événement. Dans ces cas, une transition dite « implicite » fait sortir de l’état courant sans événement particulier.

Les curieux qui se posent des questions sur la conception de systèmes informatiques avec des actions atomiques, comme préconisé implicitement dans le paragraphe précédent, et ce notamment dans les systèmes dits concurrents, soit multi-activité (en anglais, multi-threaded) soit répartis, peuvent étudier les fiches programmes des modules CSC4508 « Conception et programmation des systèmes centralisés » et CSC4509 « Algorithmique et communications des applications réparties » de la VAP « Architecte de Services en Réseau ».

Cf. le glossaire pour la définition du terme « action ».

D. Conan, C. Taconet, C. Bac, Télécom SudParis, CSC 4002, Octobre 2015