ABSTRACT

The concept of the finite state machine, although born over 50 years ago, is still not well understood or interpreted in the software domain, despite its wide application in hardware design. Misunderstandings about state machines have produced several stories and half-truths: e.g., the state explosion phenomenon, which discourages the usage of this very useful concept. The concept of the state machine has been several times (unintentionally?) reinvented for software.