Initial Prototype

Michael Wales -
EEL 5874 - Expert Systems and Knowledge Engineering

Version History:
Prototype V1.0March 5, 2002Initial Prototype

Table of Contents

Installation Instructions:

This application will depend on the TCP/IP protocol being installed on the user's system. This can typically be checked on most systems by typing:


This command should work on Windows and Linux systems. If the command generates any error messages, the TCP/IP protocol is probably not installed.

This system will also depend on the JVM to be installed on the user's system. The system is tested and verified to run on the latest Java Virtual Machine (JVM) available, version 1.3. After the JVM is installed, the application's can be installed on the system for execution.

  1. Download and install the Java 2 V1.3 SDK. This can be found at Sun's Java Homepage or use the version on the CD. There are detailed installation instructions for the installation at Sun's Java homepage.
  2. Test the JVM by opening an MS-DOS command prompt and entering the following:


    Your output should look like the following:
  3. Install JESS. Jess can be downloaded from the JESS Homepage or can download the version I used here. It is recommended to download the newest version directly from the website, but I have included a copy of what I used for convenience.
  4. Test the JESS installation by going to the Jess/Jess60 directory, and typing the following in an MS-DOS command prompt:

    java -classpath jess.jar jess.Main

    The following is what the output should look like:

    Type (exit) to exit JESS.
  5. Extract the Computer Advice application files into the Jess/Jess60/ directory of JESS.
  6. Compile the Computer Advice Java application. To do this, open an MS-DOS Command Prompt. Navigate to the /Jess/Jess60 directory where the Computer Advice files were extracted. Compile by typing the following in an MS-DOS prompt:


    The computer should process for a while, and then the javac compiler will bring you back to the prompt. Installation is now complete.

Running the Application:

If the installation procedure from above is completed, the initial prototype should be ready to go. Open two MS-DOS command prompt windows, and navigate them both to the jess/jess60 path where the application files were installed. Then follow the step-by-step directions below:

  1. Start the Computer Advice Java front-end application first. Type in the following at one of the prompts:

    java ComputerAdvice

    The application will then start and wait for a connection from JESS.
  2. Next, start the JESS application and run the script file. In the second MS-DOS command prompt window, type in the following:

    java -classpath jess.jar jess.Main
    (batch computer.clp)

    You'll know if everything worked OK if you get something similar to this in the first MS-DOS prompt window.

Documentation of the Prototype:

Knowledge Diagram of Initial Prototype

Discussion of the Initial Prototype:

A top-level description of how the system works is as follows. There is a network interface between JESS and ComputerAdvice applications. JESS controls ComputerAdvice through a protocol that I defined. JESS asks the users what kind of needs they have out of a computer, and it decides from that, what are the key pieces of hardware. The prototype only supports 3 different computer uses, and 2 hardware components (CPU and video card). JESS assigns the importance of hardware with 3 levels: std, med, max.

After JESS has figured out what hardware components are key to your system, it eliminates and hardware need redundancies. You need a good CPU for both gaming and video editing, so it makes sure there is only one fact pertaining to that information. JESS then asks you for your system budget.

JESS now starts to purchase hardware. It first buys all the standard components (through the interface to ComputerAdvice), that are low-end things, but that you have to have in order to operate. Then JESS starts a purchasing loop. The loop goes (1)max, (2)med, and then (3)max. At each point in the loop, it tries to purchase either med/max hardware. This causes JESS to upgrade max hardware more than the med hardware. After each loop, it determines if it has any money left. If there is more money left, it loops again.

When the money runs out, and JESS can't spend anything more, JESS tells the ComputerAdvice application to print out all the information on what it purchased. ComputerAdvice then receives a signal from JESS that it is finished, and ComputerAdvice knows to shut down the socket connection and exit.

The prototype was developed in parallel with the preliminary design, so there are no significant differences between what the prototype does and what the documentation says to do.