Skip to content

Myths about state machines

Four common misconceptions about finite state machines

1. FSM state diagrams are too complex for real applications.

fsm_system

Not true: the correct way to implement a complex control system is by designing finite state machines which are simple enough to be well understood, with perhaps 10 to 20 states. These are each designed to fulfil a basic function, and groups of them are then supervised by other FSM, to build up a hierarchy of several levels.

2. FSMs are event driven, and this increases the number of states required.

In a sense that can be true, but the idea that an event is consumed when it reaches the FSM must be abandoned. Instead, make inputs which govern state transitions available to the FSM. For more information, refer to VFSM.

3. The transition diagram can not express all the details of the application.

fsm_design

Not true: using the VFSM method it is possible to specify the complete description of the application behavior. ‘Complete’ means that the specification does not require any coding.

4. Imprecise interpretations of the definition of the state machine.

The state machine as defined in automata theory is the only convincing model which has proved its usefulness in industrial hardware and software control system. For instance constructions like state charts are interesting experiments, but not practicable in complex projects. (What is a finite state machine?)

StateWORKS demonstrates the true power of finite state machines for implementing complex behavioral requirements. You ought to use the FSM - it is a very powerful tool when correctly applied.