DaveKoelle.com

DaveKoelle.com ->  Usability and Experience Design ->  Intelligent User Interfaces ->  Nuclear Power Simulator - User's Manual

Nuclear Power Simulator - User's Manual

IntInt Techniques Used in the Nuclear Power Simulator

Instances of intelligent interface demonstrations are noted by STRONG CAPITAL LETTERS.

These links will bring you to the parts of this User's Manual that discuss the respective technique.

User's Manual

0. Command Line Parameter

You need to pass a command line parameter to nuclear.exe. This parameter represents the time between system failures (it's not measured in anything concrete like seconds; it's more like "cycles"). So, for example, to run it use "nuclear 20".

I. Title Screen

The program starts by presenting the user with the title screen.

II. User Registration

The user is presented with a screen which asks him to select what type of user he is. This creates the USER MODEL which is used by the system in determining the most pertinent data to show the user, and how to show it. First, the user is asked for his stereotype, which can be one of:

These three stereotypes allow the program to display data which is specific to the user (more about this in a bit).

The user is then asked for his experience level. He may choose one of

In a typical intelligent interface system, the user would not be asked what type of a user he is. A user might overrate himself, which could be detrimental to the user (and to the system which the user is controlling!), or he might underrate himself, which would not allow him to exercise his full potential on the system. The program should make the determination between levels of competence, since the program knows what is required of each level of competence. However, for this implementation, it is okay for the computer to ask, since the point here is to show interactive interfacing techniques over a short period of time.

Users at different levels of competency will receive more or less instructional information. For example, a less experienced user will receive more comments on how to get help. A more experienced user might be given more freedom in what he can do.

III. Simluation

The simulation begins at this point. The screen is divided into the following sections:

Creation of System Errors

After a certain amount of time (determined randomly), an error will occur in the system. This error is chosen at random. There is not any external cause for this error; it just happens. In a real nuclear power station, this probably wouldn't happen (in fact, nuclear power stations are extremely safe, more so than most people think). However, what fun would it be if nothing adverse were to happen?

When an error occurs, the affected part of the system will flash on the schematic diagram. There are two degrees of error which flash on the system:

If a part of the system is not in an error state, its color is a subdued tone of black, red, magenta, or blue, depending on what the part is (the actual color of the part on the schematic is not important; parts are colored differently to differentiate between parts of the system).

When there is a problem with a part of the system, that problem could spread to other parts of the system, particularly in the case of radiation. An irradiated primary loop will quickly spread radiation to the boiler, then to the steam line, and so on through the system.

User-Specific Presentation of Data

The data, which is in the form of gauges, in the data box changes in accordance with the values of a part's radiation, temperature, and pressure. Gauges are vertical bars which graphically show the amount of radiation / temperature / pressure in a part. The color of the bar inside the gauge reflects the state of the part: green for okay, amber for warning, red for alert.

The parts which are included in the data display are determined according to the user model. INTELLIGENT DATA PRESENTATION. The three stereotypes and their associated data displays are as follow:

In addition, there are three other "families" of gauges which may be displayed. These options are not particular to any user stereotype. They provide flexibility to the user so he may see whatever data is necessary.

The initial display is determined by the user stereotype. At any time, the user may change which display is shown in the data box by selecting the "Display" button. All six "families" of data are selectable. There is also an option which allows the user to go back to the display of his stereotype (yes, there is some redundancy here, in that the user's stereotype will be listed twice. However, this makes the system easier to use, because the user's stereotype is immediately available for selection).

Suggestions Made by the System

When something goes wrong with the system, the system will make a suggestion. This is an example of INTELLIGENT USE OF KNOWLEDGE: the system knows what problems are more critical than others, and suggests that the user fix the most critical part. Something important to realize for this demonstration: if something goes wrong in the system, other parts of the system eventually become damaged as well. For example, if the reactor becomes too irradiated, the radiation eventually speads to the primary loop, then to the boiler, then to the steam line, and so on. A user faced with many parts of the system in error may become confused as to which part of the system should be fixed. The system's suggestion alleviates this problem by telling the user to repair what is causing the problem. Thus, if the primary pump fails, and the pressure in the primary loop gets dangerously low, the system will tell the user to repair the primary pump. The user may then tweak the primary loop to get the pressure back to normal.

Repairing System Errors

So, assume there is an error in the system. The user will want to fix the error. To do this, he would select the "Repair" button. If the user is less experienced, he is brought directly to the text interface, ready to repair the most critical part of the system. If the user is an experienced or more experienced user, he gets to choose which part of the system he wishes to fix. The parts are listed in order of their criticality, so the user has some way of determining which is the most important part to fix. However, the user is given an additional degree of freedom, considering that the experienced user probably has more knowledge and responsibilty than a less experienced user, and can therefore be allowed this additional freedom. This is another application of the USER MODEL.

Commands and Interaction with the Text Interface

The text interface allows the user to fix the simulated error. The following commands may be used in this text interface:

The commands ASSIGN-CREW and CHECKLIST have abbreviations, AC and CL, respectively. These are used in determining user competence, as descibed below.

Upon entering the text interface, the user is presented with a message which says, "You are about to repair the [part]," where [part] is the part selected. If the user is less experienced, an additional message is displayed, which says "Take it offline first by using the OFFLINE command," and "If you need help, type HELP."

When repairing an error, there are three things which must be done:

Other commands are included to help the user. The Help command displays a list of available commands. It also suggests the next action which the user should take. For example, if the user has just entered the text interface and has asked for help, he will see a list of available commands, and then a suggestion: "Your next step would probably be to take the [part] offline," where [part] is the part to be repaired. Additionally, if the user is less experienced, an additional line will appear: "Use the OFFLINE command." A similar interaction occurs if the user has taken the part offline but has not yet assigned a repair crew to the part, or if the user has done everything necessary (suggestions: "Your next step would probably be to assign a repair crew to the [part]" / "Use the ASSIGN-CREW command" /// "You may now exit repair mode" / "Use the EXIT command").

Unrecognized Commands

Unrecognized commands are noted by the reply, "Command not understood."

Command Replies

Commands invoke replies, of course. Typing OFFLINE will take the part offline. Also, the system will say, "The [part] is now offline." The simulation is realistic in that it takes into account previous actions when determining what to say or do. For example, if the user enters OFFLINE, then enters OFFLINE again, the system will say, "The [part] is already offline."

Tab Completion

The system allows for tab completion of commands: just typing the first few letters followed by [TAB] will call up the entire command. Thus, OF plus [TAB] will bring up the command OFFLINE. If the user types a letter which is not part of any command, for example W, and presses [TAB], the program will make a low-pitched beep, which indicates that the user has made a mistake. If the user enters a letter which is used by more than one command, such as O (which is the first letter in both OFFLINE and ONLINE), the program will make a high-pitched beep, signifying that the user has made a mistake, but the character entered is recognized. (The only reason why ONLINE exists is to demonstrate this ability. The command itself is not recognized by the system).

Automatic Assessing of User Competence

This part of the system also demonstrates automatic upgrading or downgrading of the user's level of competence. This is an example of DYNAMIC USER MODELING. Each time a user enters a command, a counter is updated. A separate counter is updated if the user makes a mistake. The same counter is increased if the user uses the HELP command, which shows an incomplete degree of knowledge about the system. That same counter is reduced if the user uses a command abbreviation, which shows that the user has a good degree of knowledge about the system. Using these two counters, the system will check to see if the user's level of competence should be upgraded, downgraded, or unchanged. If the value of (mistakes made)/(total commands) is 10% or less, the user is upgraded. If it is 50% or more, the user is downgraded. Any value in between does not change the user's level of competence. The system does not actually display anything that says "You have been upgraded" or "You have been downgraded," as not to excite or upset the user. However, for this program, there are five quick beeps which indicate a change in user competence (it's the same five beeps whether the user is upgraded or downgraded, so there is no obvious indication which way the user has changed. However, the user of this demonstration should have a good idea whether or not he has been doing things well!)

Detection of Often Used Commands and Automatic Creation of Macros

The system is capable of recognizing repeated actions made by the user. This demonstrated PLAN RECOGNITION. If the user enters the same sequence of commands many times when repairing parts of the system, the program will say, "You do the following actions often:", followed by a list of frequent actions, followed by, "These commands have been placed in a macro. To use this macro, type MACRO." Then, whenever the user wants to use the same commands in the same order, all he has to do is type MACRO. The program can only handle one macro, but that's okay, since this is only a demonstration. New macros can replace old macros if a new series of commands becomes frequently used.

Tailored Help with Suggestions

The system also makes use of INTELLIGENT HELP. Calling HELP not only presents the user with a list of possible commands; it also intelligently suggests the next course of action to take. It also tailors this output to the user's level of competence, telling the less experienced user how to do something ("Use the OFFLINE command", for example).

Tweaking System Malfunctions

By selecting the Tweak button, the user may tweak (well, in this system, "tweaking" fixes any errors in a part of the system) any part of the system. This function is made available for completeness. It also gives the user of the simulation the ability to fix something which may not need repair; something in the amber range, for example, is not elgible for repair, but the condition of that part could be upgraded.

When the user selects the Tweak button, he is presented with a list of all of the parts of the system, placed in order of criticality (even if there is nothing wrong with a particular part of the system, it still has a higher or lower criticality than other parts). When the user selects the part to tweak, a windoe pops up saying "Tweaking [part]..., Press any key". The part which has just been tweaked is made 100% operational again. The Tweak option contains no intelligent user interfacing techniques.

Shutdown

The Shutdown button doesn't do anything. I was going to use the text interface again, but all of the intelligent interfacing techniques would have already been demonstrated in the Repair section. There's really no reason to complete this function, since the purpose of this program isn't to be totally realistic; it's to show intint techniques. Well, maybe for completeness, I'll do this function, but for IntInt purposes, there's no use in doing this.

Exit

The Exit function is used to leave the simulation. It does not use any intelligent interfacing techniques.