Buffer automata: a UI architecture prioritising HCI concerns for interactive devices

We introduce an architectural software formalism, buffer automata, for the specification, implementation and analysis of a particular class of discrete interactive systems and devices. The approach defines a layer between the physical user interface and the application (if any) and provides a clear framework for highlighting a number of interaction design issues, in particular around modes and undo.