Vai al contenuto

Riferimento States

Gli States sono definiti all'interno dell'elemento <States> e rappresentano le fasi del ciclo di vita dell'automa.


Elemento State

<State
  Id="Waiting"
  IdMetric="checkStatus"
  IdAction="sendNotification"
  Starred="true"
  style='{"x":120,"y":-340}'/>

Attributi

Attributo Obbligatorio Descrizione
Id Identificatore univoco dello stato all'interno dell'automa. Referenziato dalle transizioni e dalle dichiarazioni di stato iniziale/finale.
IdMetric No ID della funzione <Metric> da osservare mentre l'automa si trova in questo stato.
IdAction No ID della funzione <Action> da eseguire quando l'automa entra in questo stato.
Starred No Se true, contrassegna lo stato come starred. Usato come marcatore visivo nel XAL Designer.
style No Oggetto JSON che memorizza la posizione del nodo sul canvas (x, y). Gestito automaticamente dal designer — non modificare manualmente.

Uno stato può avere sia IdMetric che IdAction definiti simultaneamente.


Stato iniziale

Esattamente uno stato deve essere dichiarato come stato iniziale:

<InitialState IdState="Init"/>

L'attributo IdState deve corrispondere all'Id di uno stato esistente nell'automa.


Stati finali

Gli stati terminali sono dichiarati nell'elemento <FinalStates>:

<FinalStates>
  <FinalState IdState="Completed"/>
  <FinalState IdState="Failed"/>
  <FinalState IdState="Exception"/>
</FinalStates>

Un automa smette di elaborare quando raggiunge uno qualsiasi dei suoi stati finali. Gli stati finali tipicamente non hanno transizioni uscenti.


Codifica dei colori degli stati nel designer

Colore Tipo di stato
Bordo verde Stato iniziale
Bordo e riempimento rosso/bordeaux Stato finale
Testo blu, riempimento grigio Stato intermedio

Stati starred

L'attributo Starred viene impostato tramite l'interruttore ★ nel pannello di configurazione dello stato del XAL Designer. Il suo comportamento a runtime dipende dalla piattaforma.

Info

L'uso esatto di Starred a runtime è tracciato come una domanda aperta. Vedere qa.md — Q1.