Što je programiranje temeljeno na automatima?

Automatsko programiranje je paradigma računalnog programiranja koja dijelove programa tretira kao konačne automate. Svaki automat može odjednom napraviti jedan "korak", a izvršenje programa je podijeljeno na pojedinačne korake. Koraci međusobno komuniciraju promjenom vrijednosti varijable koja predstavlja "stanje", a protok upravljačkog programa određuje vrijednost te varijable.

Promjenjiva "stanje" može biti jednostavan tip podataka enum, ali se mogu koristiti i složenije strukture podataka. Uobičajena tehnika je stvaranje tablice prijelaza stanja, dvodimenzionalnog polja koje sadrži redove koji predstavljaju svako moguće stanje, i stupce koji predstavljaju ulazni parametar. Vrijednost tablice u kojoj se redak i stupac susreću je sljedeće stanje na koje bi stroj trebao prijeći ako su ispunjena oba uvjeta.

Uređaj konačnih stanja, ulaz, paradigma, programski izrazi