); Compilation produces a subsequential (single-valued) binary transducer mapping sequences of events to sequences of effectors that actuate features of the CD/radio device. StateMachine:prsseq; (START) nil [ radio ] 1 1 mode [ cd ] 2 2 mode [ radio ] 3 2 next [ nextTrack ] 2 3 mode [ cd ] 2 3 next [ nextStation ] 3 Modelling discrete systems in this manner obtains a clean separation of syntax (acceptable ordering of events) and semantics (effector implementation). The syntactic order of events and their extension into the semantic domain is expressed in a symbolic (semiring) domain where they can be manipulated algebraically while semantics are expressed in a procedural programming language as simple effector functions, free from syntactic concerns. The rational expressions provide concise holistic maps of the protocols that effect system governance. The compiled automata are post-processed to obtain efficient controllers for run-time deployment. See also Finite-state machine Specification and Description Language External links Ginr (ginr whitepaper and user's guide) Ribose (demonstrates using ginr to transduce sequential media) Further reading Models of computation