Finite State Machine
From Hydrover
[ Introduction ]
A Finite-state machine is an abstract machine that can be in exactly one of a finite number of states at any given time. The FSM can change from one state to another in response to some external inputs; the change from one state to another is called a transition. An FSM is defined by a list of its states, its initial state, and the conditions for each transition.
[ Event-driven FSM ]
An Event-driven FSM is a kind of FSM where transistions from one state to another are triggered by events ( see The Queue of Events )