Automata-based programming
en.wikipedia.org