Finite State Machine (Finite Automata)