INTRODUCTION
Nowadays, it seems like almost every one own a car and in fact, we can say that each house have at least one car. But the more is approximately three cars per house. This figure shows that car is very important to people’s life as it completed the cycle of living. Without a car, it is almost impossible to move from one place to another especially for those who are always mobilise in their jobs. Car simplified our life and it makes time to be more valuable as we can save much time using car. But as the car is getting more available easily, it is not deny that some of us own a car just for the feeling of luxurious and not for their needs. This kind of people just doesn’t know what to do with their money as it grows greatly.
Having a car can be an exciting moment to every one and they live easily through out their daily life, mobilising on the car. But at the same time, each of those who own a car definitely don’t want to have a problem on their cars as the troubleshooting of the car can be a nightmare to them especially, women. Some of those who own a car don’t know how to deal with their cars whenever it’s having a problem. All they know is start the engine, drag the clutch, press the paddle and break when they need to. And even worse situation is that they don’t even know how to fill the fuel tank, and that is not good. They won’t know what to do when something happens to their cars. All they can do at least is, call the mechanic for help.
So, this expert system is hoped to help those who are in need of guides to deal with their car’s problems. Although it might not give a complete guides and help as a human expert namely mechanics do, but at least the expert system can give a temporary assistance to those who are in need of an instance help, maybe because the limitation of time and distance.
PROBLEM STATEMENT
In dealing with car’s problem and troubleshooting, mechanics are those who can help to solve them. But sometimes we don’t have enough time to see the mechanics and maybe the distance is quite far, and we are in hurry. Therefore we need instance help and solution. So it is believed that the use of expert system can be benefits in this situation by giving a temporary and instance guides to car’s owner.
LITERATURE REVIEW
Any successful decision-making is strongly dependent upon various capabilities that include the effective acquisition, storage, distribution, and sophisticated use of the knowledge of the human experts in the field. In the context of computer-aided systems for monitoring and information processing, these capabilities would be achieved through developing an expert system (Nazar, 2001).
Yang and Okrent (1991) had also said that the most successful application of Artificial Intelligence (AI) in decision making so far is the development of Decision Support System (DSS), particularly expert system, which is a computer program that act as a ‘consultant’ or ‘advisor’ to decision makers (Wash, 1999). Expert systems are cheaper compared to human experts in the long-term scenario. However, expert systems are relatively costly to develop but easy and cheap to operate. In addition, expert systems allow automation of many tasks that could not be effectively handled by human experts.
An expert system attempts to emulate how a human expert solves a problem, mostly by the manipulation of symbols instead of numbers. Whereas conventional algorithmic programming replaced most of the sophisticated, analytical work of engineers, expert systems are especially suitable for the no-less important tasks of the ill-structured and less deterministic parts of planning and design (Basri, 1999).
Expert System has been applied in many ways and various fields which are mean to make human’s life simple and even easier. The application of expert systems technology in the domain of environmental management is particularly appropriate in order to preserve and disseminate efficiently valuable and scarce expertise at reasonable costs. The Landfill Restoration Plan Advisor (LRPA) is an expert system designed for use in the planning of sanitary landfill restoration (Basri, 1998).
Other than that, expert system has also been used in the short term load forecasting. Specifically, it examines whether the analogical thinking that goes into the intuitive forecasting of the electric utility load can be reduced to formal steps of logic and be programmed. Such intuitive analysis is routinely used in conjunction with conventional autoregressive-moving average (ARMA) load forecast to make unit commitment decisions in the electric utility industry. It is expected, then, that an expert system approach to short term load forecasting will benefit from the expert knowledge of the operator, and the inference to be generated from the database of the historical electrical load, weather parameters and other pertinent information. Once an expert system is developed, it will be simple to add new information to the knowledge base, and new rules developed. In this respect, the expert system will be inherently updateable, as opposed to conventional algorithms which are static in the sense that, governing relationships, once determined, stay fixed (Rahman et. al., 1998).
In medical domain, expert system seems to be really helpful which can assist both doctors and patients, and has been applied in several cases. The efficacy of expert system towards healthcare is demonstrated by discussing an on-going in-house Tele-Healthcare project TIDE—Tele-Healthcare Information and Diagnostic Environment. TIDE aims to ensure a continuum of healthcare throughout the life-time of the individual. Technical realisation of TIDE involves a confluence of information technologies—AI (expert systems, case-based and commonsense reasoning), medical informatics, multimedia, Internet and database technologies (Abidi, 1998)
Another example of expert system application is the HITERM. HITERM is actually an international research project under the European ESPRIT technology programme on high-performance computing and networking (HPCN) for decision support applications. The project integrates high-performance computing on parallel machines and workstation clusters with a decision support approach based on a hybrid expert systems approach. Application examples are drawn from the domain of technological risk assessment and management, and particular chemical emergencies in fixed installations or transportation accidents (Fedra & Winkelbauer, 2002).
National Institute of Agricultural Extension Management (MANAGE) has developed an expert system to diagnose pests and diseases for rice crop and suggest preventive/curative measures. The rice crop doctor illustrates the use of expert-systems broadly in the area of agriculture and more specifically in the area of rice production through development of a prototype, taking into consideration a few major pests and diseases and some deficiency problems limiting rice yield. The following diseases and pests have been included in the system for identification and suggesting preventive and curative measures. The diseases included are rice blast, brown spots, sheath blight, rice tungro virus, false smut fungi, bacterial leaf blight, sheath rot and zinc deficiency disease.
Figure 1: Architecture of ITS (Jim Prentzas et. al, 2001)
According to Markham H.C (2001), expert system are beneficial as a teaching tools because it has equipped with the unique features which allow users to ask question on how, why and what format. When it used in the class environment, surely it will gave many benefit to student as it prepare the answer without referring to the teacher. Beside that, expert system is able to a give reasons towards the given answer. This features is really great as it can make students more understand and confident with the answer. One of the expert system was developed for the use of education purpose is a hybrid expert system lab that has been developed to assist teacher in learning new technologies such as Internet. They had build web based Intelligent Tutoring System (ITS) for teaching new technologies to high school teacher (Jim Prentzas, et. al., 2001).
RESEARCH OBJECTIVE
To develop an expert system on car maintenance and troubleshooting that is capable of assisting car’s owner in dealing with their cars problem and troubleshooting them whenever time is limit and the human expert, also known as mechanics is not available at that very time.
SIGNIFICANCE OF THE PROJECT
The development of the system surely have some significances to humans especially those who own a car and to the system developer as well. Among others, the system will:
help the car’s owner in making decision on action they should take in their attempt to troubleshoot the car’s problem.
safe much time, cost and energy for the user especially to those who are in hurry as they don’t have to wait for the mechanics to repair the damages.
to get the peoples even more closer the world of computerisation and technology.
Besides that, the system will also give the developer an opportunity to get involve directly into the development of expert system, and at the same time help to build the programming skill, as well as problem solving capabilities.
RESEARCH METHODOLOGY
The development of the Expert System on Car Maintenance and Troubleshooting is based on the methodology that has been adopted from several existing methodologies for different applications especially in the field of computer science, software engineering, knowledge engineering and multimedia, since this expert system will be an integration of these technologies.
Figure 2: System’s Development Methodology
Research and Review
Before coming out with the idea of developing this Expert System on Car Maintenance and Troubleshooting which is an implementation of expert system, some research has been done regarding the previous and current technology of expert system itself. The research would go into reviewing the literature of underlying concepts behind the development of several application of expert system. This phase is quite important as we got to know on how well expert system performs in their ability of assisting and replacing the human expert as well as the user. The result of researches and reviews that have been conducted help much in giving the idea and insight to the developer on the existing application of expert system, to be implemented in this system.
Conceptualisation
After reviewing on the outcomes of the research, the fundamental and basic concept of expert system was then identified in order to guide the brainstorming for determination of problem’s domain. Once the problem domain is determined, it was used and set to be the title of the system development. Besides that, through the researches and reviews done, all the underlying concept of the expert system development was recognised which include the critical elements involve in the development, the technologies needed, compatible software and hardware as well as the issues of human’s social life and system’s reliability.
Problem Assessment
Based on the concept of expert system acquired in the conceptualisation phase, the problem domain for the development of the system was then determined. In this phase, the appropriateness of the problem was taken into consideration as to make sure that it is suitable to be solved by expert system. Studies were conducted to determine the feasibility and justification of the problem which include defining the overall goals of the project. Other than that, during this assessment phase, all the sources needed for the development was identified as well as the principal requirements. It’s structured according to the following tasks:
Task 1: Determine motivation of organization
Task 2: Identify candidate problems
Task 3: Performs feasibility study
Task 4: Perform cost/ benefit analysis
Task 5: Select the best project
Task 6: Write the project proposal
Knowledge Acquisition and Analysis
Expert system is all about applying human expertise into computer verse, which is based greatly to the integration of human knowledge with the system. Thus knowledge acquisition is the heart of expert system. After the problem domain was determined in the previous phase, the knowledge and information based of the problem was then acquired. Therefore the knowledge sources have also to be ascertained which could be the experts in the domain itself. But in the development of this Expert System on Car Maintenance and Troubleshooting, most of the information and knowledge gathered was acquired from the internet, the sites that contain quite lots of information on car or automotive maintenance and troubleshooting by various expert namely mechanics. At the early stage, the information gathered was general and the key concept of car troubleshooting was uncovered. Later, information was gained from system testing to explore more detailed information.
Design and Implementation
The analysis of the knowledge acquired in the knowledge acquisition phase had lead to the design of the system which includes the overall structure of the system’s knowledge, the programming part as well as the interfaces which is equally important. It was designed after the insight gained from the previous phase on the best approach for representing the expert’s knowledge and problem-solving strategies in the expert system. Besides that, the method that has been used to process the system’s knowledge was also defined in this phase, where forward-chaining rule-based expert system was selected as the inference engine. This decision was made after taking into consideration of the organisation or architecture of the knowledge and the problem-solving strategies determined earlier. After all of the elements have been designed, the development phase was started for both programming and the construction of the user interfaces. In this project, programming language PROLOG has been used to program the system and constructing the interface.
Designing phase was also considered as the phase of prototype development. In this project case, the final product itself is actually a prototype. That means in the design phase, the partial prototype was built which represented the initial part of the full prototype expert system. The partial prototype was built for the purpose of providing a deeper insight and better understanding of the problem and system’s requirements. In fact, system’s design is inherently an iterative process where findings from system testing are used to refine the system’s knowledge and structure.
Testing
The integration of every part of the expert system was then tested to ensure that the prototype works properly, according to the requirements and basic concept of so called expert system. The testing was done by a verified person especially the target user in the first place as to get a verified result. When errors identified, then correction was made in any of the phases where necessary before probably moving into the design and implementation phase. Besides the programming structure, the interface of the system was also taken into account within the testing phase. This is to make sure that the system can be easily used and understand by the user.
Documentation
At the end of the development of the Expert System for Car Maintenance and Troubleshooting, a documented report was produced which consist the whole process of the system development, as well as the elements involved. As to ensure that the system is working as it is programmed and to make a quick recovery from any errors that may evolve, it is wise to make documentation, so that it is easier to make any adjustment or correction on the system, or maybe as a reference for future development. The documentation contains all the project’s information and the documents are following the requirements of both user and developer. Among others, the documentation contains of explanations on how to operate the system as well as the programming source code, perhaps for future references.
Management
Through times, the prototype will be maintained and followed up to make sure that it is working properly and the most important is that the system will always be reliable, considering the current situation of the system’s domain. The knowledge base may have to be updated from time to time, depends on the changes that may happen especially from the side of the knowledge sources, to meet the current’s need. It might not be useful anymore in the future as it doesn’t suit the needs for that time. Major system requirement changes may also occur that would require a reformulation of system’s specifications. Therefore, it is important that an effective maintenance program be established for an expert system.
SYSTEM’S ANALYSIS AND DESIGN
The process of developing the expert system is not really an easy job to do as it requires so many efforts in the skills of problem solving, instead of using the energy and time. Expert system is a computer program which simulates the human problem solving and reasoning, and so it must be integrated properly with the right knowledge as human beings have. Knowledge acquisition is believed to be the critical and most difficult task in the development of expert system, but the implementation and integration process is seen as an equally important and tough job to be done. That is why, designing is very important as to make sure that the steps taken in the development process is right and always meet the requirements.
The development of this Expert System for Car Maintenance and Troubleshooting was based of the current most popular choice of knowledge engineers for building an expert system that is rule-based expert system. The popularity of this kind of system’s development has grown up due to the large numbers of successful rule-based system built and also the abundance of rule-based expert system software that is available easily. Besides, rule-based expert system is a representation of the human beings natural reasoning and problem-solving paradigm. It models the human’s production system using the following modules:
Figure 3: Rule-based expert system model
Knowledge base - models a human’s long term memory as a set of rules.
Working memory - models a human’s short term memory and contains problem facts both entered and inferred by the firing of the rules.
Inference engine - models human reasoning by combining problem facts contained in the working memory with rules contains in the knowledge base to infer new information.
Based on these concepts of reasoning which emulate the human’s problem solving strategies, the expert system is structured accordingly to the fundamentals of it. As used in the paradigm of problem-solving by this Expert System for Car Maintenance and Troubleshooting, the expert system has four basic elements which are adapted from the model of rule-based system. Once the user log in to the expert system, they will be asked question and answer them according to the current problem. These new information will be entered to the working memory where then the system will matches this information with the knowledge contained in the knowledge base to infer new facts. Eventually the system reaches the conclusion that is also entered into the working memory before displayed to the user through the interface.
Knowledge Base
Working Memory
Inference Engine
Interface
Figure 4: Expert system’s problem solving
Inference Technique
Knowledge processing in expert system is based on the insight gained from the way how humans reason, how they work with information on a given problem together with their general knowledge of the problem domain. Expert systems model the human reasoning process using a technique called inference.
In developing the Expert System for Car Maintenance and Troubleshooting, the developer used the forward-chaining inference technique. From the several inference techniques exist, forward-chaining was selected to be used in the development of this expert system. This is because in car maintenance and troubleshooting problems, there are quite many possibilities we may face, with many different parts of car with different kind of damage which need different solution and troubleshooting. Therefore forward-chaining is believed to be suitable for the inference process of this system.
Figure 5: Forward chaining inference process
User Interface
The Expert System for Car Maintenance and Troubleshooting was developed using Programming Logic language or commonly known as Prolog. There are several types of Prolog language and in the development of this expert system, the developer used LPA Prolog. Prolog is the most compatible and reliable language to deal with rule-based system as it can run the inference engine by reading the composed rules as they are entered and matches them with any information given. Despite that, the problem with Prolog is that we can’t construct a good user interface with it especially graphic user interface. There are several Prolog language which can come out with quite good interface but LPA Prolog doesn’t have it.
In the development of this Expert System, the developer would rather use just the plain text as the interface considering that this is just a prototype of a small system. The developer was focusing more on the problem solving and inference process, as well as the programming part. Although that, all the fundamental elements of expert system was taken in to first consideration within the development process which include the explanation facilities, which is one of the important features of a rule-based expert system.
Starting the system
In order to begin the system, users just have to type the word ‘start’ in the console windows of Prolog language software. But it has to be reminded here that the word ‘start’ needs to be ended with the full stop (.). Once user has key in the word, the system will bring them to the introduction of the system before beginning the consultation.
Introduction
In the introduction, users will be displayed with brief information of the system which includes the uses of the expert system to help them. In this section as well, users are asked to enter their choice from the numbers given which are either 1 (start the system) or 2 (exit the system).
Questions and Answers
As the user has entered the number of their choice whether to begin the consultation or to exit the system, they will be prompted to the next section. If they enter number one, the system will start the consultation section with asking the questions from the composed rules stored in the knowledge base to the user.
For every question, users just have to type in the answer whether ‘yes’ or ‘no’ and end it up with a full stop (.), which is important to be remembered. If the user doesn’t put the full stop, the system won’t be able to process the answer and come out with errors. After all the questions have been answered, the system will give the conclusion which in this case, the expert system will give the recommendation of the most appropriate solution for the particular problem of the car that it can give.
Where else, if the user type in the word ‘cancel’ which is one of the choices given besides the questions, the system will asked the user whether he or she wants to get back the main menu. If the answer is no, the system will exit the system.
Explaining WHY
Other than answering ‘yes’, ‘no’ or ‘cancel’, users can also ask the system on why they were asked the question. This can be done by typing the word ‘why’ followed by a full stop and the system will give the appropriate reason for that question asked. The system will come out with the rules related to that particular question which is actually the conditions contain in the rules.
Explaining HOW
After the system has given the solution or conclusion for the problem according to the question and answer session, it will ask the user whether he or she wants to know how the system comes to the conclusion.
If the user answer ‘yes’, the system will come out with the structure of the rules where it gains the conclusion for that particular problem. After that, the system will ask whether the user wants to back to the main menu and if the user answers it ‘no’, the system make a confirmation whether the user really wants to exit the system by asking a question.
SCOPE AND LIMITATION
Scope
The scope of the expert system is the problems or damages that may occur on a car and give the most suitable solution to fix the malfunctions. We commonly know that the car has many parts on its body and even in the body itself. Therefore, the system will only deal with problems that are normally found in the engine part of the car as the system is just a prototype, which means the functions will be expanded through time.
Limitations
The Expert System for Car Maintenance and Troubleshooting prototype was developed using Prolog version 4.0 programming language. Problem with this version is that it cannot be run correctly on Windows XP or any other latest version of operating system because it will not be compatible, with possibility of errors.
CONCLUSION
It is not denied that the role of expert system in almost every part of human’s life is getting bigger. This is all because of the performance that the expert system has shown of what it can do to help the human beings. People’s life seems to be easier in many ways with the presents of expert system. Academically, the expert system can help the human by replacing the human expert function whenever the expert can’t be accessed or by assisting the human expert in situations where it has to cover many things. In this case the expert system may be useful to execute the routine works and let the human expert to do the rest especially the more difficult jobs.
This Expert System for Car Maintenance and Troubleshooting is believed to be the right and excellent idea as another application of expert system and how we can utilised the enormous function of it. In fact, there are many other domains which are suitable to be introduced with the implementation of expert system and see how we can get into the maximum achievement with it. Although there are also some criticisms and issues evolve regarding the development of expert system which relating to the issues of reliability and human’s social life, efforts has been discussed to overcome those problems.
The prototype of this system was developed in a limited time and resources and thus it is not that compatible and useful enough to be implemented in the real world yet. There must be so many other works to be taken in refining the errors and rules before it can really be used in the real situation. When this is done, the Expert System for Car Maintenance and troubleshooting is ready to be used to assist all the car owners out there in situation where they are having problem with their cars and they can do it by themselves. Time and distance is no more a constraints to them.
References
Fedra, K. and Winkelbauer, L., “A hybrid expert system, GIS and simulation modeling for environmental and technological risk management”, Environmental Software & Services GmbH, 2002.
F. M. Sairan and Z. Ujang, “Wastewater treatment plant design advisor using WASDA”, Water and Environment Management Series, 2004.
H. Basri, “An Expert System for Planning Landfill Restoration”, Water Science and Technology, Vol. 37, No. 8, pp 211–217, 1998.
Jim Prentzas, et. al., “AWeb-Based ITS Controlled by a Hybrid Expert System”, Proceedings of IEEE International Conference on Advance Learning Techniques (ICALT'01), 2001.
Markham H.C, “An internet-based expert system for teaching introductory data structures”, Proceedings of the seventh annual consortium for computing in small colleges central plains conference on The journal of computing in small colleges, pages 155 – 165, 2001.
Nazar M. Zaki and Mohd Daud, “Development of a Computer-Aided System for Environmental Compliance Auditing”, Journal of Theoretic, 2001.
Rahman & Bathnagar, “An Expert System Based Algorithm For Short Term Load Forecast”,
IEEE Transactions on Power Systems, Vol. 3, No. 2, May 1988.
Syed Sibte Raza Abidi, “TIDE: An Intelligent Home-Based Healthcare Information & Diagnostic Environment”, Health Informatics Research Group, School of Computer Sciences, Universiti Sains Malaysia, 1998.