Expert Systems and Knowledge Based Engineering- EEL 5874

Project Report

Computer Troubleshooting

Team

Madan Bharadwaj

Santhosh Grandai

Instructor

Dr James C Bellows

Spring 2002 04/20/02

University of Central Florida. School of Electrical and Computer Engineering

ABSTRACT

Knowledge-based systems are often viewed as solutions for problems. A knowledge based system consists of the knowledge and expertise of a human to solve a difficult or a complex problems with ease. The knowledge is obtained from the expert on the particular application on which the Knowledge based system is being developed.

Computers have taken root into our lives in such unassuming proportions that today, for someone to use a computer like a car is very common. They know to drive it but they may not know to mend a puncture. Such pitfalls are manifold greater when dealing with computers. Hence there is a need to develop an expert system that will guide a common user in troubleshooting the problems in his computer. However we intend to develop the system not just for the common user but also for higher level usage by computer personnel of varying skills levels.

We found ourselves the perfect situation in the UCF Student Health Center, where every staff, from the doctors to the cashiers use networked computers as a part of their daily chore. It was a perfect scenario for implementing our system, since most users are healthcare workers and have little or no knowledge of computers but depend on them critically for day-to-day office related tasks. The network and the computers are managed by a ‘Computer Services Department’ staffed with two fulltime highly skilled personnel backed by 4 part time graduate assistants. We believe we can add a great value to the Health center by implementing the expert system based on the knowledge of the experts available in-house and hence leveraging it for a more fuller and profitable use.

TABLE OF CONTENTS

Project Description

Feasibility Analysis

Requirements Specifications For The Project

System Design And Modified Structure Chart

System Implementation:

Verification And Validation Record

Summary And Conclusions

Appendix A: External Expert Interview Record

Appendix B: Knowledge Base

Appendix C: Presentation

Appendix D: User Manual

A Note Of Thanks…

PROJECT DESCRIPTION

Our Knowledge base will reflect the cumulative problem solving knowledge of the Computer Services department. Since the knowledge was cumulative and the domain extensive, we had to make provisions for the knowledge base to be updated easily, so that the system will ‘grow’ with the Expert and can effectively, one day, represent the knowledge of the expert.

Reflecting this fact the most significant feature about this knowledge base would be ‘shell’ which we have custom built for the requirements of the Student Health Center. We have made updating the knowledge base a simple procedure that does not need any prior knowledge about the shell. We have eliminated the need for a new user of a system to have a minimum knowledge about the system.

We chose Visual Basic as a front end to represent our ideas effectively to the novice user and an Access back end to store all the rules and data. The inference engine which traverses the database for answers is integrated into the Visual Basic front end.

We have tailored a user-friendly environment, which is at the same time open to further development.

FEASIBILITY ANALYSIS

Suitability of the Application

  1. Does the problem really exist?
    Continuing from the previous discussion we can safely conclude that the problem persists and the expert system will be a very useful tool for the users in the Student Health Center.
    Hence we assign 1 for the validity to the first question.
    Weight = 0.2
  2. Is KB technique suited?
    Human Problem solving knowledge will be reflected in our knowledge based system. Most of the knowledge is redundant and is gained by experience. There are lot of small details that are encompassed in the process of maintenance, which can be effectively illustrated using KB approach. We assign 1 for the validity to the first question.
    We assign .85 for its validity.
    The ‘CTIS’ will require algorithmic support with some subtle use of heuristics to efficiently address the problem on hand. Algorithms will guide the decision tree and some probability and numeral heuristics will streamline the decision making. The human heuristic component will be introduced into the system through rules. We assign .8 for its validity.
    The change in knowledge is not expected frequently. Most of the information is gained over long periods of time and some are very environment specific, hence we can say to a considerable extent that knowledge does not change often. But we are developing a system that will accept new knowledge and new rules for future growth of the system. We can assign .7 for this factor.
    The expertise is in fact very well understoodand is also fairly representable in the Intelligent System domain, since most of them can be represented as ‘If and Then’ rules. We assign a weight of .75 for this factor.
    The input data cannot be assumed correct on all occasions, since users may read a particular problem in a incorrect manner leading to the CTIS giving a incorrect solution. We assign a weight of .6 in this case.
    Can the problem be solved better through other means? The only other means would be live support, which may not be available 24/7. We assign a weight of .8 in this case.
    Does this problem pass the telephone test? Yes, it would pass the telephone test. The information can be conveyed over the phone. We assign .9 to this factor.
    Taking up all the weights together and coming up with a one single weight for the suitability of the KB system to this problem we get a consolidated number of .771 which translates into a weight of .308 for this factor.
  3. Is KB approach justified?
    Considering the domain coverage and the suitability of the system to the problem, I would suggest that the KB approach would the ideal path to travel. Add to this the instant availability of the hardware, the software & expert availability, it makes an excellent project to pursue. We assign .75 for this issue.
  4. Is there management support?
    Mr. Leon Stanley, who jointly heads the Computer Services department in UCF was very excited and appreciative of the idea when we first proposed it to him. He is very enthusiastic about the prospects and has agreed to support us with any test hardware and software we may need. He is also our expert for our system, which only certifies his involvement in the project. We have answered this question beyond any doubt. We assign the number 1 to this parameter which translates into a weight of .1.
  5. Is there expert support?
    Mr. Leon Stanley as we mentioned earlier is very co-operative and in fact has a direct stake in making the project work since it would make his job much easier. We assign a validity 1 to this parameter and a weight of .05.
  6. Is the expert competent?
    Our expert has plenty of experience in handling Computer Networks and has been working at UCF for the past 4-5 years. He has set up most of the networks and equipment in the Health Center and has a solid background in this area. We assign a validity of 1 which translates into a weight of .05.
  7. Is the expert articulate?
    Yes, Mr. Stanley is very clear with his ideas and comes out his way to help us understand the technical problems and their solutions. We assign a validity of 1, which translates into a weight of .05.

8. Is the expert in close proximity?

Mr. Stanley as mentioned above works at the Student Health Center, though he has a tight schedule, he ahs agreed to allot time for us too. We assign a validity of 1 which translates into a weight of .05.

Assessment

The following table summarizes the assessment in terms of weights.

Weight / Assigned No. / Weight * Assigned No
Does the problem exist? / 0.2 / 1 / 0.2
Is KB technique suited? / 0.4 / 0.771 / 0.308
Is KB technique justified? / 0.1 / 0.75 / 0.075
Is there management support? / 0.1 / 1 / 0.1
Is there expert support? / 0.05 / 1 / 0.05
Is the expert competent? / 0.05 / 1 / 0.05
Is the expert articulate? / 0.05 / 1 / 0.05
Is the expert in close proximity? / 0.05 / 1 / 0.05
SUM / 1 / 0.883

From the table our overall rating works out to be 0.883, which we feel qualifies our need to use Knowledge based system for addressing this problem.

Requirements Specifications for the project

Problem Overview

Since computers are playing a critical role in managing the UCF Student Health Center where the majority of the users are Health workers with minimal knowledge of computers the presence of an expert system to troubleshoot simple and complex day-to-day problems can go a long way in oiling the process. The CTIS will also be an able assistant to partially skillful and new employees of the Computer Services department who may not know and cannot be trained to very minute detail.

User Profile

Most of the users would be doctors, nurses, pharmacists and Health care workers. But a significant number of others like the Business office staff, the accounting staff, the cashiers, appointments staff and others would also be active participants in the system.

Project Goals

The CTIS intends to replicate the knowledge of the experts Mr.Leon Stanley and his colleague Mr. Jim Kotlaba, who have been a part of the Computer Services department for a long time. We intend to extract their knowledge and also provide a way for future growth of the system.

Knowledge Based System Functions

System Outputs

The most common outputs would be solutions statements for the problem addressed. In many cases there may be multiple outputs arranged in the order of their likeliness. Sometimes it may also bring up some documents (docs, HTML etc.,), which may have a more detailed account of the problem solution. The measure of certainty may not be the most important thing but it will influence the choice of the user. In many cases the confidence may be critical but in many others they may also not matter, hence critical areas may be flagged for expert approval before proceeding further.

System Inputs

The input data is most of the time complete but may not always be consistent, since users are not experts in computers and their problems. They may identify a Printer Driver problem as a cartridge problem and so forth, so the input data may not be totally consistent.

The data is mostly non-numerical. The problem is represented in proper English sentences and the solutions are also given the same way. The solutions for lower level users of the system will be straight forward but with higher levels of usage the solutions may be more implicit and may assume the user to have some background in solving the problem.

Auxiliary features

The system will be user friendly and will be in a format that they encounter on a daily basis on the internet and otherwise.

Implementation Priority

Redundant knowledge areas and usability for lower level users will be addressed first. As we proceed we will address higher level usage for higher level users.

Constraints

Hardware Constraints

Sometimes the problem could be with the computer itself and hence the user may not be able to reach the CTIS. Under such cases the inability to reach CTIS is a constraint posed by the situation, hence the assumption is that the user has a minimum hardware capability to reach the CTIS.

Speed of Execution

The execution will depend on the server’s capability to handle the database, since the Health Center is pretty well equipped one can expect it to be fast enough for the user to be unaware of the processing time.

Maintainability

There is a database maintenance part, which can weigh on the institution, but from our interaction with the Computer Services personnel, they seem to think the task would put a minimal stress on them.

Reliability

The system may not be 100% reliable since it uses heuristic to get to the answers, but the user can place his trust on the system for consistent answers, which in the longer run would make it a reliable system.

Security

The users cannot not change the system data, the privilege will be held by the administrators of the system. The Health Center already ahs a Security policy in place, which makes the situation far less volatile.

System Design and Modified Structure Chart

Preliminary Design

Computer Troubleshooting Intelligent System (CTIS) is being developed for the Computer Services department of the Student Health Center. The system will aid novice and expert computer users to troubleshoot problems that they experience on their computer.

Knowledge Representation Paradigm

With respect to our project we were faced with the choice of two basic Knowledge representation paradigms, Rules and Structures. We chose rules to be our major representation paradigm for two reasons. One: It is simple to express and Two: The Rule base and knowledge base can be updated by anybody with no knowledge of the internal structure of CTIS in the future.

Though in function, from an expert system point of view, they are rules, but from the point of view of an administrator or an experienced user, it is a structured knowledge base with all possible problems and solutions arranged in a well-defined structure to facilitate easy and fast access.

The ‘rules’ are contained in a database, which is structured into levels. Generally, the if portion of a rule checks for condition, if it is satisfied then the fact represented in the then portion will be generated. The way we have described our system, one ‘rule’ fired in a particular level in the database will fire one or more ‘rules’ in the lower levels of the database (mostly). We have mentioned the ‘mostly’ clause in brackets because most of the times the higher level ‘rules’ fire lower level ‘rules’ but on some occasions they may also fire ‘rules’ of the same level or of the higher level.

Reasoning Method Selection

Primarily we will be using Forward reasoning for the project. But we foresee situations where forward reasoning may not yield the required results and we may need to backward reason for ideal solutions.

In the most general case, the user will traverse the database from higher levels to lower levels in a structured ladder like manner. He will chose from a set of facts from the higher level fact base which will lead him to the next level, where he will be presented with more options derived from the present level of the fact base. This will most likely take him to his desired optimum solution, provided it is present in the database.

However the very nature of our user base necessitates that we take into account their ignorance of computer jargon and technicalities, which will disable them from making any choice at all. In this case we will need to backward reason to arrive at an answer. It is only in this part that we foresee most of our heuristic usage. Due to time constraints we could not complete this module. We leave this part for future development.

Architecture

There are two types of rule-based architectures that are in use, Inference Nets and Pattern Matching systems. The conclusions that our system will come upon are not general and are mostly pretty specific. Our system relies on a rule base to direct the system towards the solution from the previously derived facts. We don’t find any evidence to say that we are using a Pattern matching architecture. We would think that the architecture we are using is an Inference Network for the aforementioned reasons.

Selection of Human Resources

The only Human resource we actually selected was our expert, since we had come together as a team even before finalizing the project. Our approach to the project can be dubbed ‘Democratic Team Approach’ (as recognized by Software Engineering) where both the team members decide in consensus and proceed in a cohesive and constructive manner. The fact that we knew each other previously is helping immensely in co-coordinating group activities.

Tool Selection

Our choice of tools was actually influenced more by the existing setup in the Student Health center. They are right now in the development phase of a system to store and process Work Orders using Access and Visual Basic. Access will be the back end database to our system and Visual Basic will be the front end. The project as we discussed with our expert will have an Administrator front end and a user front end. We do not know if we can complete both within the semester. So we have prioritized the Administrator end ahead of the user end. The reason why we chose to do that is because the administrator front end is crucial if the database has to be updated with more facts and rules in the future. Otherwise the system will be stuck with the rules and facts that we write during this semester and will stem the growth of the database.