Modification automatique d'état

Dans une modification d'état unique d'un état dans un autre, le système exécute d'abord les algorithmes de sortie de l'état actuel, modifie l'état de l'objet en un nouvel état, exécute les algorithmes de passage dans le nouvel état, suivis par leurs algorithmes de surveillance. A ce moment, si un algorithme de surveillance détermine que l'état de l'objet doit encore être modifié automatiquement en un autre état, les algorithmes de surveillances restants définis pour l'état en cours ne sont pas exécutés et le système lance un autre cycle de modification d'état.

Notez qu'un algorithme de passage dans un état peut aussi indiquer au système de modifier automatiquement l'état d'un objet. Dans ce cas, l'algorithme d'entrée et les algorithmes de surveillance pour l'état en cours ne sont pas exécutés.

Un exemple de chaîne d'événements de modification automatique d'état est illustré ci-dessous.

Cette illustration contient trois sections principales : En attente, Refusé et Réessayer plus tard. Dans En attente, il y a Surveiller et Quitter, dans Refusé, il y a Entrer, Surveiller et Surveiller. En attente passe à l'étape Refusé et Refusé renvoie à Réessayer plus tard.

Dans cet exemple, une entité fonctionnelle a l'état En attente. Pendant qu'il a cet état, un algorithme de surveillance détermine la modification automatique de son état en Refusé. Alors :

  • Aucun autre algorithme de surveillance de l'état En attente n'est exécuté.
  • Les algorithmes permettant de quitter l'état En attente sont exécutés.
  • Le système modifie l'état de l'objet en Refusé.
  • Les algorithmes de passage dans l'état Refusé sont exécutés. Aucune autre modification automatique d'état n'est requise.
  • Les algorithmes de surveillance de l'état Refusé sont exécutés. Aucune autre modification automatique d'état n'est requise.