CSCI222-LAB1
A Rule Based Windows98 Problem Solver

Introduction

    I decided to do a windows problem solver for the rule based system. This system deal with general windows problems. It attempts to guide the user through steps so that in the end the system would enable the user to solve the problem. I tried to design the system such that even a novice user would be able to use this system to solve a problem in windows. However, this system does not deal with any of the networking problems or some of the more complex problems. Further more this problem solver can only help a person using windows98.
    For this system I used my self as the expert. I attempted to transfer the knowledge I gained trouble shooting windows throughout out the years to this rule based system.

Background and Reference

    Windows trouble shooting background info

    When trouble shooting problems that come up in windows, the types of problems can be divided in to several sub-catogaries.
 

Implementation

    I use the CLIPS forward chaining to implement this solver. For each step of the problem solving I add a fact according to the users response. Then according to the data that the user entered, a fact is asserted and according to that  a rule is fired. This is the basic approach I took towards implementing this rule based system.
    The system starts by displaying the main problem categories. Once the user chooses a category the user is asked to follow instructions and then is asked question on how well the system reacted. Then according to the answers the user is asked some more questions and given more instructions. Finally if the system cannot fix the problem it tells the user either the device is burned contact device manufacturer, the problem cannot be fixed re-install windows or is asked to contact windows tech support.
 
 

Code

To run this code, from CLIPS command line type

CLIPS> (load file_path\file_name)

CLIPS> (reset)

CLIPS> (run)

It only runs once so you will need to reset and run if you want to do it more than once.

Sample Run

Possible Errors
If this solver was given any  problem outside its knowledge base It would not be able to sovle the problem or would possibley give the wrong answer. Since I put most of the knowledge I have in to this solver I was not able to figure out an error sittuation.
 

Limitations and Future Improvements

    Limitations

    Unlike many of the systems I have seen this system doesn't give a wrong answer. Instead it is how well the system can help the user without having the user replace a device or re-install windows. However since windows has many errors that come up pretty frequently it is difficult to put all the errors in this system. Therefore the limitations of the system are as follows:
 

    Future Improvements