Patent ID: 7012607

Claim:
In a data processing system including a display device and a processing means running an application program, the application program having a user interface with a plurality of User Interface Output States (UIOSes) and a plurality of operators, each operator for transforming a currently displayed UIOS to a displayed next UIOS, a method comprising the steps of: providing a user interface output system for controlling the generation of a user interface output sequence; providing a specification identifying a plurality of goal UIOSes for the user interface output system to establish and identifying the plurality of operators, each of the operators having at least one precondition to be satisfied before the operator can be performed; providing a compiler for compiling the specification which results in a user interface output controller distinct from the application program, the user interface output controller including a plurality of plans, each of the plans having a series of operators, a start UIOS and one of the goal UIOS es, the series of operators for transforming the start UIOS to at least one intermediate UIOS to the goal UIOS, the operators in the series such that the preconditions of each of the other operators in the series are satisfied after performance of earlier operators in the series; and while the application program is running on the processing means, providing the user interface output controller with an event received from the application program, the event identifying one of the goal UIOSes; determining a currently displayed UIOS; retrieving one of the plurality of plans such that the start UIOS of the retrieved plan is the currently displayed UIOS and the goal UIOS of the retrieved plan is the goal UIOS identified by the event; and performing the series of operators provided by the retrieved plan to display the start UIOS followed by the at least one intermediate UIOS followed by the goal UIOS.