Initial Prototype
Michael Wales - NeedMoreHP@yahoo.com
EEL 5874 - Expert Systems and Knowledge Engineering
Version History:
Document | Date | Description |
Prototype V1.0 | March 5, 2002 | Initial 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:
ping 127.0.0.1
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.
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:
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.