Hierarchical state machines are born as solutions to the flaws with standard finite-state machines. The biggest issue is complexity of the representation. With classical finite-state machines, it is difficult to express the following examples:
The flat nature of finite-state machines does not allow these concepts to be expressed. The four following criteria can be identified from such examples [Harel87]:
The first three properties can be captured using a hierarchical model. The last property is about concurrency instead, and can be considered separate. |