An automaton is a self-operating machine or device that can be designed to follow a predetermined sequence of operations.

Based on the type of input the automaton receives and the output it produces it may be classified, examples include:

  • Finite Automata: An automaton which can exist in a finite number of states and be used to recognize patterns contained in input data.
  • Pushdown Automata: An automaton which accesses a stack to store and retrieve data.
  • Turing Machine

Sometimes automata may be described with state-diagrams.