Les transitions
Une transition représentée par une flèche, constitue un changement d'état allant d'un état source à un état cible.
Un état est actif lorsqu'une transition y mène et devient inactif lorsqu'une transition le quitte.
Condition ou événement associée à une transition
Un événement ou une condition de garde provoquant la transition est écrit à côté de la flèche de transition.
La condition ou l’événement doit être vraie (niveau logique 1) à l'instant où l'événement survient pour que la transition soit franchie.
Un événement est parfaitement daté dans le temps, il correspond par exemple à un passage d'une variable de 0 à 1 à un instant précis (front montant).
Exemple d'événement : appui sur un bouton-poussoir, capteur fin de course,...
Une condition de garde n'est pas datée.
Exemple de condition de garde : vitesse du véhicule non nulle, température > 20°C,...
La condition de garde est notée entre crochets [ ]
Événement temporisé : un événement de ce type fait intervenir le temps. Il nécessite l'utilisation des mots réservés when (date) pour spécifier un temps absolu, ou after (durée) pour spécifier une durée à partir de l'instant d'activation de l'état précédent.
Remarque :
Un événement n'est jamais mémorisé et est donc perdu s'il ne mène à aucune évolution du diagramme d'état.
Complément : Événement
Il est possible d'utiliser des variables internes (compteurs ou horloge) pour spécifier un événement :
when(N=3) | L'événement apparaît lorsque la variable interne N devient égale à 3. Il permet par exemple d'utiliser un compteur. |
---|---|
after (T) | L'événement apparaît après une durée T passé dans l'état d'amont. Il permet de réaliser une temporisation. |
at(D) | L'événement apparaît à la date D dans un référentiel de temps dont l'origine correspond généralement au démarrage du fonctionnement du système. |
Si une transition n'a pas d'événement spécifié, l'événement implicite est la fin des d'activités (ces activités doivent donc avoir une fin) liées au do de l'état source.
Remarque :
Si une transition n'a pas d'événement spécifié, l'événement implicite est la fin des d'activités (ces activités doivent donc avoir une fin) liées au do de l'état source.