stateDiagram state ORDER_MENU { %% Initial state name as "." so that it fits in black circle shape. %% See https://github.com/StateSmith/StateSmith/issues/404 state "." as ORDER_MENU.(InitialState) state BEVERAGE { %% Initial state name as "." so that it fits in black circle shape. %% See https://github.com/StateSmith/StateSmith/issues/404 state "." as BEVERAGE.(InitialState) WATER WATER : WATER WATER : enter / #123; log("water entered")#59; #125; WATER : exit / #123; log("water exited")#59; #125; } state FOOD { %% Initial state name as "." so that it fits in black circle shape. %% See https://github.com/StateSmith/StateSmith/issues/404 state "." as FOOD.(InitialState) SANDWICH SANDWICH : SANDWICH SANDWICH : enter / #123; log("sandwich entered")#59; #125; SANDWICH : exit / #123; log("sandwich exited")#59; #125; } } %% Initial state name as "." so that it fits in black circle shape. %% See https://github.com/StateSmith/StateSmith/issues/404 state "." as ROOT.(InitialState) ORDER_MENU.(InitialState) --> BEVERAGE BEVERAGE --> FOOD : EV1 / #123; log("tran action 1")#59; #125; BEVERAGE.(InitialState) --> WATER FOOD.(InitialState) --> SANDWICH : / #123; log("tran action 2")#59; #125; ROOT.(InitialState) --> ORDER_MENU