The following UML activity and use case diagrams describe the behavior of the MentorWizard system. The steps themselves, however, are not considered here since the MentorWizard system knows nothing about their contents. Each performance support application has its own domain-specific behaviors and may have use cases of its own.
User Interface Action Sequence
The user interface for a MentorWizard task appears in an outer frame. Within this outer frame, steps appear in sequence as appropriate to the current task. Task steps are managed via a step stack, that is, with a LIFO (last-in-first-out) stack of steps waiting to be displayed to the user. The MentorWizard runtime engine performs actions in response to events, including the "ExitStep" event that is generated by an "Exit Step" action.
The MentorWizard runtime engine supports task execution as illustrated in the following UML activity diagram:
Two use cases are presented below. The "Run" use case describes the way steps are handled by the MentorWizard runtime executable program. The "Builder" use case describes the creation of an application, i.e., authoring a set of steps.
Run Use Case
This is a description of the MentorWizard runtime engine as it interprets steps in a task (or application). The process begins when a user opens MentorWizard and identifies an application. MentorWizard will then load the application's first step, perform any "On Open" actions, and display the step to the user. The user then manipulates the step (types data into an edit box, selects one of a set of radio buttons, clicks on a button, clicks on a Selector widget). MentorWizard responds by performing the actions assigned to the widget the user manipulated. Eventually, the "Exit Step" action will be invoked. At this point, MentorWizard will perform any "On Close" actions, pull the next step identifier off of the step stack, retrieve the step, and display then next step to the user. At this point the cycle repeats until the step stack is empty or the "Exit Application" action is invoked. The following diagram illustrates the "Run" use case:
Builder Use Case
The builder use case describes the process a builder uses to build a single MentorWizard step. A domain expert performs this task with the help of a MentorWizard Builder Application. This application is a special tool that is not specified in this document.
The builder first creates a blank step. The builder then adds widgets and specifies their layout rules to produce a user interface for the step. Next the builder defines the actions to be invoked for step events. Finally, the user indicates the step is done and MentorWizard converts it to an XML document and saves it either in a file or in a database. The following diagram illustrates the "Builder" use case: