Constable: helping users to examine and modify constraints

Main

Description

Status

Research

Publications

Demo

People

Funding

Links

Demo

Constable is a Constraint Editing Tool that helps users modify or add knowledge to an intelligent computer system. In this set of screenshots, we show Constable being used to critique a plan created in Softools. This is done with a number of customizable checks on the plan called constraints. Examples of constraints are that an asset used in a movement should be either a CRRC or a Mk-V, or that the lunar illumination should be less than 0.5.

Constable demo video

The screen below is the Plan View, which displays a number of different fields for the plan and is the starting view in Constable. It displays information about the plan's fields and constraints. For example, the field labeled "Lunar illumination" has "0.737" as its value. The red border around the field and its value indicates that a constraint on this field was not satisfied.

The information that was used in checking a constraint can always be inspected in Constable, using a menu attached to each line in the Plan View to display the Sources Window. The screenshot below shows the information used to compute and check the lunar illumination field shown in the plan view above. The first panel shows that constraints from two general groups were used. The second panel, labeled 'Live Data Sources', shows that some of the information came from querying external sources such as web sites. The third panel, labeled 'Information used', summarizes the data that was used in order to compute and check the field. In this case, the illumination is for the place called 'CRRC-RELEASE-AND-RECOVERY' and its latitude, longitude and start-time (a Softools field) were used. The fourth panel, labeled 'Assumptions' shows some of the constraints that were used to check the field.

You can change the way any constraint works using the Constraint Editor. Suppose we want to increase the maximum allowed value of the Lunar Illumination field to 0.8. The Constraint Editor is started by clicking on the line "[maximum allowed value] = [0.3]" in the Sources Window. The first section at the top displays the current definition of the constraint. The first part of the definition begins with "In order to" and is followed by a small description of what the constraint does. Here, it is followed by "estimate a maximum allowed value of the Illumination for a place in a plan." The second part of the definition is found below. This shows how the constraint does its task; in this case, it always returns the number 0.3. When the user selects the value 0.3 in the upper window, a set of alternatives is generated in the lower window as shown below. The user can also type a number into the "new text" field to change the value to 0.8.

Once the edit is complete, it is automatically applied in the Plan View. In this case, the Lunar Illumination field will change from red to green.

The Constraint Editor can be used to check a field value in a very flexible way, perhaps depending on the results of other values. In the screenshot below, the editor has been used to say that the maximum value of the lunar illumination depends on the wind speed, perhaps because of the spray that will be caused. If wind speed is high, the maximum value can be 0.8, otherwise it should be 0.3. This definition can be created by repeatedly replacing parts of the text describing the method with the alternatives that are generated, in a manner similar to following links in a web browser.

For more details, see a paper describing the components of Constable, including the editor.

Constable also supports viewing alternative plans in a graphical layout to help exploring alternatives, using the VEIL system. The plans are layed out and shaded according to a user-chosen subset of the constraints used in the Plan View. In the example shown below, around a hundred alternative plans are shown, in which the starting time of the plan and the equipment used are varied. The position shows the choices and the color shows how well the plan satisfies some of the constraints used in the Plan View. The display shows that the plan's quality degrades gradually as the start time moves from the current time, but is independent of the equipment.

The user can alter the layout by choosing different constraints from the Plan View, and can alter the relative weighting of different constraints used to rate the alternative plans. The weighting can either be changed directly or through an inductive technique applied to pair-wise preferences given by the user.

For more details, see the paper on VEIL.

<< Back to IKCAP