The hierarchy provides abstraction by allowing decomposition of behaviors into smaller, simpler parts. Behaviors that may act independently of each other can be considered concurrent, and are grouped together into concurrent state machines. Those state machines that impose some interdependence on each other are considered to be sequential, and are placed in sequential state machines. In sequential machines, there exists an active state machine representing the state of the machine during the current iteration. The active machine may change over time due to transition functions .
Transitions are boolean conditions that permit or deny entrance to the connecting state machine.
As mentioned above, each state machine has an activity function associated with it which encompasses a specific behavior. Inputs provide a means for supplying external parameters to a state machine and are analogous to function parameters, whereas local variables provide static storage within the state machine. Buttons and dials are explained below. Communication in HCSM occurs through the use of buttons and dials and is a one-way correspondence from the world outside the state machine to the state machine itself. Dials provide more leeway in their use.