Designer Problem Solver

By

Marcus Smith, James Sangroniz, Jim Lomas

Version 1.0

12/11/1997

 

This page is an attempt to document some important features of our UI development for our design problem solver. This current version does not include serialization or methods to actually build instances of problem domain objects. Problem domain instantiation will be delivered Nov. 28, with serialization following the week after.

 

Overall Design

The design of the UI follows a border layout with a Splitter panel in the center.

 

Users modify parts of the expert system they are building by selecting a node in the tree view on the left hand side of the UI, and then doing a right mouse click to bring up a popup menu with the possible options for that selection.

For instance, to add an element to the "Rough Plan List", highlight the "Rough Plan List" icon with the left mouse button. Pressing the right mouse button now will cause a popup menu showing the list of options. Select "Add Item to List" in the popup menu to add a new plan to the rough plan list.

We have an outstanding bug where a node MUST be highlighted before a right mouse click (all you have to remember is left before right).

 

The right side panel will be activated with different "forms" that provide a mechanism for an expert to enter data. Tree nodes that don’t encapsulate expert knowledge have blank right panels.

 

The overall design of this frame comes from a Java Windowing Toolkit provided by Shafir Inc. (http://www.shafir.com/). This toolkit provides extensions to the AWT, such as the tree classes that we are using. The tree classes were much easier to understand than those provided by JBuilder or Swing.

 

Notes

 

  1. The UI has been fully compiled and tested using JDK1.1.4. Running the UI with JDK1.1.1 will sometimes exhibit problems, especially with forms "magically" appearing on the right hand side of the Designer Frame. If something really does not work, try using JDK1.1.4, as everything released on this site has been tested and works with JDK1.1.4.
  2.  

  3. The original object model had a step called step shell. The idea was that a Java savvy

knowledge expert could write their own class which would implement the step interface and would be able to plug it into any Task.

 

3. Similarly, it would be nice to modify all the other tools developed by CSCI311 students to implement the step interface and provide a user interface Form so that a knowledge expert could insert a structured matcher, or an abductor, etc. into the design expert system.

 

4. Continuing on the above vane, but less ambitious, we need a looping construct in our tasks. We need a While Step.

 

5. We need to turn off drag and drop.

 

6. It would be nice to allow copy and paste of nodes so when plans have similar operations the knowledge expert would only have to enter it once.

 

7. It really would have been nice to have a case user interviewer tool to stuff the data base with user input by asking the users appropriate questions.

 

8. I would like to add a user input Step. A Step within a Task that would ask for input from the case user only if the expert system got to a point where that input was needed. This would add some intelligence to the interview process.

 

9. Serialization

 

10. Failure Handling

 

 

How to Download Entire Tool

 

Just go to the following link to download the designer tool.

 

Designer.zip

 

 

Instructions For Running

 

At the end of this page, there will be a link to a directory where you will see a bunch of Java files. There will also be a .zip file that contains our designer, Shafir and Borland classes. Download them all to your machine. Add to your CLASSPATH the file designer.zip, as the compilation will require access to this file. After successful compilation, type "java DesignESBuilder" at the prompt. You should now see a frame like you see above.

 

 

Problem Domain Code Download

 

To get at the problem domain code, follow this link and download all .java files. You do not need to download these files to run the designer tool. The .class files these .java files produce are already wrapped into the designerUI10 link (located in Designer.zip…if you really want to know).

 

designerUI10ProblemDomain

 

 

 

Problem Domain ADT Help

 

designerUI10ProblemDomainADTDocs/tree.html

 

 

 

Detailed Help!

 

If you are really confused about how to run this tool, or want more information, launch into this section (It really is worth it!).

 

designerUIHelp/TopLevelHelp.html

 

 

 

 

Final Object Model

 

 

 

Contacts

 

Marcus Smith (marcus_a_smith@hp-boise-om8.om.hp.com)

James Sangroniz (james_sangroniz@hp-boise-om8.om.hp.com)

Jim Lomas (james_lomas@hp-boise-om2.om-hp.com)