Jump to content

Event-driven finite-state machine

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 69.250.71.196 (talk) at 20:40, 22 July 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A finite state machine (FSM) is event-driven if any incoming input has to be consumed immediately, i.e. the FSM has to perform a transition or input action otherwise the input disappears.

In contrast to the virtual finite state machine (VFSM) technology, the application of event driven FSM in complex systems leads to the state explosion problem, as each truly required state path must be repeated for all possible input values. Event driven FSM can be implemented with a state transition table as is often done for parser applications.

A significant reduction in complexity can be achieved by utilizing hierarchy a la hierarchical state machines (HSMs). The use of hierarchy eliminates the "state explosion" problem by allowing a single transition from multiple related states, through state nesting. A more rigorous definition of hierarchical state machines that includes an example can be found at http://www.quantum-leaps.com/resources/glossary.htm.