Fuzzy Concurrent Object Oriented Expert System for Fault Diagnosis in 8085 Microprocessor Based System Board

—With the acceptance of artificial intelligence paradigm, a number of successful artificial intelligence systems were created. Fault diagnosis in microprocessor based boards needs lot of empirical knowledge and expertise and is a true artificial intelligence problem. Research on fault diagnosis in microprocessor based system boards using new fuzzy-object oriented approach is presented in this paper. There are many uncertain situations observed during fault diagnosis. These uncertain situations were handled using fuzzy mathematics properties. Fuzzy inference mechanism is demonstrated using one case study. Some typical faults in 8085 microprocessor board and diagnostic procedures used is presented in this paper.


INTRODUCTION
The goal of Artificial Intelligence (AI) is to design and generate computer programs which exhibit some features of human intelligence.Artificial intelligence is defined as the ability to acquire, understand and apply knowledge.AI has number of important sub areas like expert systems, natural language processing, computer vision, theorem proving, game playing, robotics etc.The most successful area of artificial intelligence is expert systems.Expert systems are used for complex problem solving and are having number of successful applications in industries.One of the important unattempted application is fault diagnosis in electronic circuits.Fault diagnosis methodology operates on observed erroneous behavior and hardware structure of the unit under test.The erroneous behavior consists of responses of different components on the output lines on specific input values.Present research work relates to artificial intelligence systems and more particularly to fault diagnostic expert system using fuzzy object oriented approach.The basic components of expert systems are knowledge base, inference engine and user interface.The paper discusses the implementation of knowledge base, inference mechanism and user interface and also explores an innovative strategy developed for fault diagnosis.

II. LITERATURE REVIEW
Yan Qu et al. [11] discussed fuzzy diagnostic expert system for electric control engine.Commix fuzzy reasoning method is used in inference engine.Proposed expert system includes knowledge base, reasoning machine, explain system, management system and human machine interface modules.An intelligent fault diagnosis framework based on fuzzy integrals is built by M. Karakose et al. [12].The method consists of two frameworks.The first framework is used to identify the relation between features and a specified fault and the second framework integrates different diagnostic algorithms to improve the accuracy rate.Approach is experimented on 0.37 KW induction motor, where broken rotor bar and stator faults were evaluated to validate the model.Liang Xiao-lin, et al. [13] introduced fuzzy set theory into electronic fault tree analysis and scientifically analyzed the various kinds of fuzzy information confronted by the failure of the electronic equipment.The authors stated that the method can analyze and process random uncertainty and fuzzy uncertainty failure simultaneously and can efficiently solve the problem of electronic equipment fault diagnosis.
Zhang Chao Jie, et al. [14] has suggested an ant colony algorithm for test point selection of analog circuits based on fuzzy theory.Authors discussed use of this algorithm for fault diagnosis in time delay circuit boards used in marine engine.
Zhiyong Wang, et al. [15] presents a rough set based fuzzy logic technique which diagnoses multiple faults in a transformer by applying rough fuzzy set theory to the International Electro technical Commission (IEC) codes.By using fuzzy method, the fuzzy membership functions of every fault diagnosis decision rules are displayed and finally the fault type of the transformer is diagnosed.
Jiang-Liang Chen, et al. [16] built a fuzzy expert system for fault diagnosis in electric distribution system.Based on the symptoms description derived from customers and historical trouble tickets information the system determines the membership grade.The membership grade indicates the degree to which specific component might be faulty on prioritized basis.To demonstrate the effectiveness of the approach, the system is applied to practical data which includes 3067 trouble tickets.
Qu Yan [11] developed a fuzzy expert system framework using object oriented technique.Knowledge base is developed by organizing rules and facts in to different object groups respectively.Facts objects uses object oriented concepts like inheritance, encapsulation & polymorphism.The rule objects contain several specific components to process fuzzy www.ijarai.thesai.orginformation .Fuzzy set approach is only used in rule base for organizing the rule base.The traditional backward chaining inference engine is implemented by authors.
From the literature survey it is observed that, many strategies developed uses rule based approach for fault diagnosis.Fuzzy object oriented approach is unattempted for fault diagnosis in processor based system boards.There are many drawbacks of rule based approach as per literature survey.The problems associated with rule based approaches may be solved using object oriented paradigm.In object oriented design classes form hierarchical structures and hence may encapsulate the items easily.Since objects can communicate with each other by message passing, the search in large databases may become easy.At the run time the member functions associated with the classes can store the arguments.This may reduce the need for a working memory.Concurrency in testing digital components can be achieved using multithreading.All these issues are discussed following subsections.

III. ARCHITECTURE OF FUZZY OBJECT ORIENTED SYSTEM
The architecture of the new approach is shown in Figure1.It consists of fuzzy object oriented knowledge base, fuzzy inference mechanism using message passing, user interface and working memory to store facts.As shown in Figure 1, the main controller module controls entire system.Fault diagnostic knowledge is stored in knowledge base.Fuzzy properties are incorporated in knowledge representation, inference mechanism in order to complete fault diagnosis process more naturally.The fuzzy object diagnostic model is formed by interconnection of objects in the object space.The object space is the part of the working memory where objects are fired at run time.Every object is associated with fuzzy membership values.The knowledge base consists of procedural knowledge and declarative knowledge.Procedural knowledge is implemented using fault diagnostic procedures for different faults in 8085 microprocessor board.Procedural knowledge is acquired from domain experts and by actual working on board and is represented using fuzzy-object-rules.Declarative knowledge consists of knowledge about component connectivity on 8085 microprocessor board and is represented using frame structures.Inference mechanism is implemented using new message passing algorithm with forward chaining.In knowledge base and inference mechanism inexactness is handled by using fuzzy membership values.These values are assigned by domain experts and used as heuristic functions for guiding search process.For interaction with maintenance technician graphical user interface is developed.The responses of components for different test cases are stored temporary in working memory.The detailed implementation of knowledge base and inference mechanism is explained in next subsection.

A. Fuzzy Knowledge Base
The procedural knowledge is categorized as fault isolation knowledge and check knowledge.Similarly, procedural knowledge is represented for all the components available on the board.The declarative knowledge is used to describe the interconnections of components and is implemented using frame structures as discussed in the previous chapter.This knowledge is used in inference process as well as to train the maintenance technician by providing guidance on component connectivity on board.Concurrency is handled using multithreading class.

B. Fuzzy Inference Mechanism
Inference mechanism module works under main controller.The basic goal of this module is, to search optimistically in knowledge base for deciding diagnostic strategy for specified fault.For search in knowledge base it uses message passing mechanism modified with fuzzy quantifiers.To handle uncertainty in fault diagnosis and to implement expert judgments fuzzy quantification values are used.The fuzzy inference mechanism computes the degree of confidence in the conclusion that specified component is faulty.This confidence value lies in the range 0.1 to 0.9.The system adjust the most promising faulty component by providing confidence value close to 0.9.Every diagnosed faulty component is associated with confidence value.The fuzzy inference forward chaining algorithm computes the confidence value by taking minimum of all fuzzy quantifiers associated with methods connected by AND operator ( intersection property) under one component class and multiplying it with fuzzy quantifier value of respective component class.
As the inference mechanism works using message passing it tries to get all possible faulty components for the specified fault from the object tree.To limit the list of suspected faulty components a threshold is used.Threshold value is decided by the maintenance technician as per the complexity of the fault and obtains most promising faulty components.

IV. STRATEGY FOR FAULT DIAGNOSIS
Figure 3 illustrates the fault diagnostic strategy using sequence diagram.Fault diagnosis is carried out in two phases.In the first phase the maintenance technician selects the fault query from the list.After the fault is identified an object instance is created and controller invokes CFault_diagnose_fuzzyq constructor class.It initializes all flags and invokes the primary check methods.The methods pass arguments to the maintenance technician and get values in Boolean form and return the suspected faulty component to the constructor with fuzzy quantifications and thus isolate the fault area.Constructor updates the member variable associated with it.
In the second phase, diagnose method invokes identified component subclass having fuzzyq value close to 0.9.The specified component concrete class calls diagnostic methods and carry out tests by passing arguments to the maintenance technician.He responds by providing status of IC pins.In many cases in the present system, an apparent problem in one part of the circuit is actually caused by a fault in the related part of the circuit.As a result, when trying to diagnose the cause of set of symptoms for one component, the system search for related symptoms and faults with other components by message passing.Thus systems give all possible faulty components having common symptoms with fuzzy confidence values.Here to get most promising faulty component value fuzzy confidence value is used.The component having more confidence value i.e. closer to 0.9 is considered as most promising faulty component.The output of the second phase is a list of most likely faulty components derived by the system.As per the threshold value selected by technician the faulty components are displayed in diagnosed fault list with fuzzy confidence values.The technician can get remaining less probable faulty components by selecting lower threshold value.
Concurrency in fault diagnosis is implemented using multithreading approach.The 8085 microprocessor board is taken as a unit under test for fault diagnosis.About 65 different faults were identified and diagnosed using this new fuzzy object oriented fault diagnostic system.One fault and the diagnostic strategy applied by new approach is discussed in next subsections.
Experiment 1 : Fault Query: No data get written form C100 H onwards.
On selection of this fault query from the menu, system generates an object instance.After pressing start diagnosis button from the menu the controller calls the fault diagnose class.For initialization and primary checks constructor is used.The constructor calls diagnose method form the generated object instance.Since there is possibility that, IC 8085 is faulty or may be IC_6116_U4 faulty.The diagnose method passes arguments Does pin 20 U1 high? and Does clock present between pin 1_2of_U4?to the controller both are uncertain for this particular fault.Which is to be tested first is decided by controller based on fuzzyq value.In the present approach the controller based on fuzzy quantification value passes diagnose method to check clock between pin 1 & 2 of 8085 processor as a first check.The technician responds "yes" to first arguments and also "yes" to second argument.

VII. CONCLUSION
The fuzzy concurrent object oriented system diagnoses faults correctly.The use of fuzzy quantification in reasoning has provided inferencing in natural way.As compared with previous approach by incorporating fuzzy logic in knowledge base and in inference engine 60% faults were diagnosed using one method and 33.33% faults were diagnosed using two methods as compared with non fuzzy approach.From the results obtained it is concluded that, Fuzzy concurrent object oriented approach is superior than object oriented and rule based approach.The use of fuzzy set theory in reasoning has improved diagnostic efficiency by 30% using one method as against concurrent object oriented approach.By selecting threshold the most promising faults are only displayed to technicians and hence system diagnoses the faults more accurately and confidently than non fuzzy approach.The results are validated by industrial experts and are found correct.

Fig. 1 .
Fig. 1.Architecture of Fuzzy Object Oriented System Fault isolation knowledge is used to isolate the fault area.Classes and methods are used to represent this type of knowledge.Fault isolation knowledge is implemented using Fault isolate method which is invoked by CFault_diagnose_fuzzyq classs constructor at run time.The fuzzyq represents fuzzy quantification value for specified constructor.The fault isolate method returns suspected faulty component with fuzzy quantification values.The procedural knowledge is implemented using diagnose method under different component classes.The Ccomponent class is used for writing diagnostic procedures for specific component on board.Each component class is associated with fuzzy membership value.compare( ) method is implemented to compares the fuzzy confidence value of the faulty components with threshold value.The membership value 0.9 means most confident while membership value 0.1 means less confident."Is_Ok" and "Number_methods" flags are implemented to count the diagnosed faulty components on board and number of methods invoked.The typical class diagram for procedural knowledge representation is shown in Figure 2. CFault_diagnose_fuzzyq class contains Ccomp_ fuzzyq object as a data member (composition /relation).Ccomp_fuzzy is a base class for all specific components like Ccomp_8085_fuzzyq, Ccomp_8255_fuzzyq etc.The concrete classes overrides the diagnose method from different component classes.

Fig. 3 .
Fig. 3. Fault Diagnosis Strategy V. FAULT DIAGNOSIS IN 8085 MICROPROCESSOR BASED SYSTEM BOARD

Fig. 4 .
Fig. 4. Diagnosing Memory related fault VI.RESULTS OBTAINED DURING FAULT DIAGNOSIS IN 8085MICROPROCESSOR BASED SYSTEM After interacting with laboratory technicians and different industrial persons 60 commonly occurring faults for 8085 Microprocessor board are considered.Table1.shows the list of 10 typical faults and their diagnosis with confidence values obtained using fuzzy inference mechanism with number of methods required.Here threshold selected by the technician is 0.6, hence faults with confidence value more than 0.6 are displayed.
The diagnose methods returns U6_74ls138 and U1_8085 to fault diagnose class as suspected faulty components with fuzzy quantification value.8085_U4componentas faulty component to fault diagnoses class with confidence value.The strategy is illustrated using class diagram in Figure 4.Here P www.ijarai.thesai.orgindicatestestpass and F indicates test failed.Similarly all 60 faults were diagnosed and the results are shown in Table1.

TABLE I .
RESULTS OBTAINED DURING FAULT DIAGNOSIS IN 8085 MICROPROCESSOR BOARD.