ABSTRACT

If we take two books that have in their title “Automata Theory,” but one book is written for hardware designers and the other one for software people, we get the impression that there are two different Automata theories. The hardware book is about digital system design. The software book is about mathematical description of computations, especially programming languages. Both use the concept of finite automaton, also named finite state machine (or the short form state machine we use in the book), as the basis of their methods and theorems but the terminology and the emphases are completely different:

In hardware design a state machine is a vehicle for a design method.