Event-driven finite-state machine

Ginr is an industrial-strength compiler producing multitape finite state automata from rational patterns, functions and relations expressed in semiring algebraic terms.

The example below shows a binary rational function equivalent to the above example, with an additional transition (nil, radio) to set the system into its initial state.

Here the input symbols nil, mode, next denote events that drive a transducer with output effectors cd, nextTrack, radio, nextStation.

Modelling discrete systems in this manner obtains a clean separation of syntax (acceptable ordering of events) and semantics (effector implementation).

The rational expressions provide concise holistic maps of the protocols that effect system governance.