Software Automata?

The Shorter Oxford Dictionary gives four meanings for the root word Automaton

  1. Something having the power of spontaneous motion
  2. A piece of mechanism with concealed motive power; esp. a living being viewed as a machine
  3. A living being whose actions are purely involuntary or mechanical; a person behaving without active intelligence
  4. Computing. A machine whose responses to all possible inputs are specified in advance
There is a long history of clockwork automata used for decorative purposes, of which the contemporary cuckoo clock is a pale vestige.  But here I am only interested in the fourth meaning.  In contemporary usage an automaton is a machine that has state, and the trajectory from state to state is governed by some form of input.  Various classes of machines are distinguished by the cardinality of the state space, whether finite or infinite; by the space from which inputs are drawn, and by whether the transition from state to state is deterministic or non-deterministic (despite the limitation implied by definition-4 of the Shorter Oxford).

In a previous career I was interested in implementing state machines in hardware.  One started with some kind of abstract specification, and figured out how to implement the machine with a bunch of and and or gates. For the last 30 years I have been almost exclusively interested in implementing the abstract specification in software rather than hardware - hence Software Automata.  Except for the most trivial specifications the implementation of state machines is too hard to attempt without tool support.  Hence Software Tools are the key to producing Software Automata.

And what is the connection between "Automaton" and "Automata"?  Well the word is from the Greek, and is one of those rare words in the English language that form the plural in an irregular fashion. One of the more recent foreign words imported into English that really stumps the journalists is the word "taliban".  What is the plural of taliban?  There isn't one, taliban is the plural, the singular is talib - meaning an islamic scholar.