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.