Renseigner les événements et/ou conditions de garde associés aux transitions

Double-cliquer sur la transition, la fenêtre suivante apparaît :

Syntaxe

Chaque événement ou condition de garde doit être encadrée par le tiret de la touche 8 du clavier : _ (sauf si l'événement ou la condition de garde est associée à une variable numérique comme un compteur c)

L'événement sur front montant (instant où la variable passe de 0 à 1) s'écrit : re(...)

L'événement sur front descendant (instant où la variable passe de 1 à 0) s'écrit : fe(...)

Le complément s'écrit : /...

L'événement temporel « temporisation » est donné en seconde et s'écrit : after(...s)

La fonction logique « ET » s'écrit : .

La fonction logique « OU » s'écrit : +

L'utilisation de la valeur d'un état donné : [in CABINE-EN-ATTENTE] où CABINE-EN-ATTENTE est le nom d'un état. Rappel : les noms des états ne doivent pas comporter d'espace. Mettre un tiret du 6 si besoin.

Le test sur une variable numérique s'écrit : c0<3 ou c0=4

Exemples :

Norme SysML

Automgen

marche

s'écrit

re(_marche_)

/marche

s'écrit

fe(_marche_)

[marche]

s'écrit

_marche_

[/marche]

s'écrit

/_marche_

marche[/défaut OU bourrage]

s'écrit

re(_marche_).(/_défaut_+_bourrage_)

[in CABINE-EN-ATTENTE]

s'écrit

[in CABINE-EN-ATTENTE]

/[in CABINE-EN-ATTENTE]

s'écrit

/[in CABINE-EN-ATTENTE]

in CABINE-EN-ATTENTE

s'écrit

re([in CABINE-EN-ATTENTE])

/(in CABINE-EN-ATTENTE)

s'écrit

fe([in CABINE-EN-ATTENTE])

marche[in CABINE-EN-ATTENTE]

s'écrit

re(_marche_).[in CABINE-EN-ATTENTE]

marche[c0=3]

s'écrit

re(_marche_).(c0=3)

after(2s)[c0>3]

s'écrit

after(2s).(c0>3)

Rappel : les noms des états ne doivent pas comporter d'espace. Mettre un tiret du 6 si besoin. Exemple : CABINE-EN-ATTENTE

Attention, même si la norme l'interdit, le logiciel Automgen autorise de « regrouper » 2 transitions d'un même état source vers un même état cible afin de rendre plus de lisibilité au diagramme d'état.

Il suffira d'utiliser une équation logique avec OU entre les 2 événements (voir les 2 exemples ci-dessous qui sont équivalents).