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
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)