Models

MAUI thinks of user interfaces as finite state machines (FSMs).

An FSM is made up of a finite set of states and events. In MAUI, there are also a finite number of superstates and signs

States

A state describes a particular situation that a user interface might be in. At any one time the interface is in one and only one of these states.

Events

An event can move the interface from one state to another state. Events describes a particular thing that could happen to the interface. This could be an external event, such as a button press or light conditions changing, or an internal event, such as a timer has reached a given limit. The move from one state to another caused by an event is called a transition

An event may have more than one transition for a given state. Such events are called non-deterministic, as are the models which contain them.

An event may not have any effect for a given state. Its transition may just return the interface to the same state. An event which always does this is called an identity event (written as [Id] or [Nothing]).

An event may not have a transition for a given state. The event is called guarded for that state.

Signs

A sign is something that is visible to the user of the interface, such as indicator lights or elements of LCD displays. In MAUI an interface model has a collection of signs, and for each state each sign may be on or off.

Superstates

Superstates are collections of states. Transitions for an event may be defined for a superstate, in which case all its member states have that transition.

Signs may also be on or off for superstates. If a sign is on for superstate, then it is on for all its member states.