Abstract machine

An abstract machine is a hypothetical device in computer science that performs actions, possibly based on input provided. They are typically not bounded by the confines of reality. An example of an abstract machine is a Turing machine.

Turing machine
A traditional Turing machine comes in two parts: A reader head and a tape. On the tape are symbols that can be read and written to by the reader head. The reader head has a "state" and a set of rules. It reads the cell under it and, dependent on its current state and the value of the cell and what those two values correspond to in the rule table, it:
 * Sets the cell under it to a certain symbol
 * Goes to a certain state
 * Moves either left or right along the tape