stateDiagram

state ORDER_MENU {

        state "$initial_state" as ORDER_MENU.(InitialState)

        state BEVERAGE {

                state "$initial_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 {

                state "$initial_state" as FOOD.(InitialState)

                SANDWICH

                SANDWICH : SANDWICH

                SANDWICH : enter / #123; log("sandwich entered")#59; #125;

                SANDWICH : exit / #123; log("sandwich exited")#59; #125;

        }

}

state "$initial_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