stateDiagram
INIT
INIT : INIT
INIT : enter / #123; HSM_INIT_enter()#59; #125;
INIT : exit / #123; HSM_INIT_exit()#59; #125;
WAIT
WAIT : WAIT
WAIT : enter / #123; HSM_WAIT_enter()#59; #125;
WAIT : exit / #123; HSM_WAIT_exit()#59; #125;
state PROC {
PROC_OFF
PROC_OFF : PROC_OFF
PROC_OFF : enter / #123; HSM_PROC_OFF_enter()#59; #125;
PROC_OFF : exit / #123; HSM_PROC_OFF_exit()#59; #125;
state PROC_ON {
state "$HC" as PROC_ON.(HistoryContinue)
PROC_ON_WAIT
PROC_ON_WAIT : PROC_ON_WAIT
PROC_ON_WAIT : enter / #123; HSM_PROC_ON_WAIT_enter()#59; #125;
PROC_ON_WAIT : exit / #123; HSM_PROC_ON_WAIT_exit()#59; #125;
state PROC_ON_EXEC {
state "$HC" as PROC_ON_EXEC.(HistoryContinue)
PROC_ON_EXEC_SINGLE
PROC_ON_EXEC_SINGLE : PROC_ON_EXEC_SINGLE
PROC_ON_EXEC_SINGLE : enter / #123; HSM_PROC_ON_EXEC_SINGLE_enter()#59; #125;
PROC_ON_EXEC_SINGLE : exit / #123; HSM_PROC_ON_EXEC_SINGLE_exit()#59; #125;
PROC_ON_EXEC_MULTI
PROC_ON_EXEC_MULTI : PROC_ON_EXEC_MULTI
PROC_ON_EXEC_MULTI : enter / #123; HSM_PROC_ON_EXEC_MULTI_enter()#59; #125;
PROC_ON_EXEC_MULTI : exit / #123; HSM_PROC_ON_EXEC_MULTI_exit()#59; #125;
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as PROC_ON_EXEC.(InitialState)
state "$H" as PROC_ON_EXEC.(History)
}
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as PROC_ON.(InitialState)
}
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as PROC.(InitialState)
state "$H" as PROC.(History)
}
%% Initial state name as "." so that it fits in black circle shape.
%% See https://github.com/StateSmith/StateSmith/issues/404
state "." as ROOT.(InitialState)
INIT --> WAIT : GOTO_WAIT
WAIT --> PROC : GOTO_PROC
PROC --> WAIT : GOTO_WAIT
PROC_OFF --> PROC_ON : PROC_ON
PROC_ON --> PROC_OFF : PROC_OFF
PROC_ON_WAIT --> PROC_ON_EXEC : PROC_EXEC
PROC_ON_EXEC --> PROC_ON_WAIT : PROC_WAIT
PROC_ON_EXEC_SINGLE --> PROC_ON_EXEC_MULTI : PROC_MULTI
PROC_ON_EXEC_MULTI --> PROC_ON_EXEC_SINGLE : PROC_SINGLE
PROC_ON_EXEC.(InitialState) --> PROC_ON_EXEC.(History)
PROC_ON_EXEC.(History) --> PROC_ON_EXEC_SINGLE
PROC_ON.(InitialState) --> PROC_ON_WAIT
PROC.(InitialState) --> PROC.(History)
PROC.(History) --> PROC_OFF
ROOT.(InitialState) --> INIT