Definition
A graphical user interface (GUI) is a hierarchical, graphical front-end to a software that accepts as input user-generated and system generated events from a fixed set of events, and produces deterministic graphical output.
- A GUI contains graphical objects (standard widgets and ad hoc widgets) and each object has a fixed amount of properties
- these properties have a discrete values at any time during the GUI manipulation
- the set of these properties constitues the state of the GUI
There may be also GUIs with:
- synchronization/timing constraints (e.g. movie players)
- non-deterministic GUIs (the state of the GUI is not predictable)