Is there any Design Pattern to implement Hierarchical State Machines in Labview?
You could simply place a state machine subVI inside an outer state machine's states. Swapping outer states could be done using straight up procedural programming, or using asynchronous user events, as see in the "Fault Trigger" event given here: http://www.eventhelix.com/RealtimeMantra/HierarchicalStateMachine.htm