A configurable FSM engine generates specific configurations for different state
machines based on configuration data using a common method. A common configuration
structure is used for all state machine implementations. Changes in the state machine
design drive changes in the configuration data instead of in executable software.
Multiple software state machines are thus implemented using a configurable approach.
In addition, state machine processing is performed periodically and state transition
events are handled without the need for an event driven operating system.