A finite-state machine (FSM) or finite-state automaton (FSA), or simply a state machine, is a mathematical model of computation used to design both computer programs and sequential logic circuits.
It is conceived as an abstract machine that can be in one of a finite number of states. The machine is in only one state at a time; the state it is in at any given time is called the current state. It can change from one state to another when initiated by a triggering event or condition; this is called a transition.
A particular FSM is defined by a list of its states, its initial state, and the triggering condition for each transition.
Source: Wikipedia (license)