Il modello teorico prevede la definizione di alcuni stati collegati tra loro e delle condizioni che agiscono da trigger il passaggio di stato.
La macchina a stati finiti è una macchina astratta che può trovarsi esattamente in uno di un numero finito di stati in un dato momento. L’FSM può cambiare da uno stato all’altro in risposta ad alcuni input; Il passaggio da uno stato all’altro è chiamato transizione. Un FSM è definito da un elenco dei suoi stati, del suo stato iniziale e degli input che attivano ogni transizione. Le macchine a stati finiti sono di due tipi: macchine a stati finiti deterministiche e macchine a stati finiti non deterministiche. Per ogni macchina a stati finiti non deterministica, può essere costruita una macchina deterministica equivalente.

L’idea della macchina a stati finiti è molto semplice, ma è poco scalabile. Per numeri di stati grandi il numero di transizioni diventa altrettanto alto e quindi è difficile da usare per sistemi complessi.