Computation by Abstract Devices.