International Journal of Intelligence Science
Vol.2 No.3(2012), Article ID:21438,8 pages DOI:10.4236/ijis.2012.23009

A Universal Object Oriented Expert System Frame Work for Fault Diagnosis

Dattatraya Vishnu Kodavade1, Shaila Dinakar Apte2

1Computer Science & Engineering, D. K. T. E. Society’s Textile & Engineering Institute, Ichalkaranji, India

2Electronics Engineering, Department of Electronics Engineering, Rajarshi Shahu College of Engineering, Pune, India


Received May 22, 2012; revised June 21, 2012; accepted June 28, 2012

Keywords: Knowledge; Inference; Object; Microcontroller; Heuristics; Inheritance


The paper presents a universal fault diagnostic expert system frame work. The frame work is characterized by two basic features. The first includes a fault diagnostic strategy which utilizes the fault classification and checks knowledge about unit under test. The degree of accuracy to which faults are located is improved by using fault classification knowledge. The second characteristic is object oriented inference mechanism using message passing. Object orientation in inference mechanism improved inference efficiency. The developed framework demonstrates its effectiveness and superiority compared to earlier approaches using case studies.

1. Introduction

Fault diagnosis methodology operates on observed erroneous behavior and hardware structure of the unit under test. A unit under test fails when its observed behavior is different from its expected behavior. The degree of accuracy to which faults are located depends on empirical knowledge of domain expert. The erroneous behavior consists of responses of different components on the output lines on specific input values. Development of a methodology which determines possible sources of causes in minimum time for a specified fault is basic aim of the research. Fault diagnosis is hierarchical process carried out in step by step manner. Next step in fault diagnosis depends on results obtained in previous step. The proposed work uses top down approach (system à board à ICs) for fault diagnosis.

Expert Systems have traditionally been built using large collection of rules based on empirical associations. Interest has grown recently in the use of expert systems that reason from an understanding of causality of the device being diagnosed [1]. The proposed work explores the use of such models in troubleshooting unit under test. As per literature survey the logical and rule based expert systems are not being adequate for complex problem solving tasks with large database. There is consequently a search for alternative symbolic paradigm. The proposed framework uses integration of object-oriented paradigm and rule based expert system. The class and inheritance feature of object oriented paradigm describes entities more naturally hence system becomes more user oriented than system oriented. The development of proposed frame work is an attempt to integrate object oriented and logical programming concepts to provide an extremely flexible and powerful environment for fault diagnosis process.

Integration of objects with rules is motivated for the following notions:

1) The encapsulation of relevant information of a single entity is difficult in rules based systems while classes in object oriented paradigm bind data structures and operations easily;

2) For handling large scale database rules lack software engineering tools like modules, information hiding and reusability while in object oriented paradigm inheritance specifies the common attributes and services in objects and utilizes for classes as per requirements to provide modularity;

3) The state of the system is determined by data in working memory in rule based systems while in object oriented approach state is characterized by object data items;

4) The object orientation paradigm is weak in inference process for handling symbolic and logical computations while rules handles inference process more appropriately.

In keeping with the notion of reasoning from an understanding of causality of the device, a scheme is proposed herewith to develop a system capable of reasoning in a fashion similar to an experienced electronic engineer. In particular, the system is built by capturing skill exhibited by an engineer who can diagnose faults from schematic even though he may never have seen that particular unit before. However, the average person who does not possess the experience has to check all components that may be faulty. It leads to low efficiency in troubleshooting process and is not acceptable for large & complex devices.

Diagnosing a faulty component from an electronic circuit board is challenging and complex problem. Applying artificial intelligence approach to solve this problem is true motivation behind this research. Fault diagnosis requires expertise and knowledge in specific domain. Object oriented feature are incorporated in knowledge representation and inference mechanism for the development of the proposed frame work. The effectiveness of the combined approach is evaluated using three case studies.

2. Literature Review

Many expert systems have been developed for fault diagnosis in different domains. C. Angeli [2] discussed diagnostic expert system for real time application using functional reasoning. To handle online diagnostic constraints, model based approach was proposed for fault diagnosis in real time application.

D. N. Batanov, et al. [3] discussed a fault diagnosis expert system (FDES) developed as a prototype for locating the root causes of a set of abnormalities in the ethylene distillation process. FDES uses unified object oriented methodology and developed using CLIPS.

Ning Yang, et al. [4] built an expert system for vibration fault diagnosis in large steam turbine generator set. Knowledge base is constructed using production rules and inference engine is based on confidence factors, a mathematical model is proposed by authors to calculate Confidence Factor (CF) during reasoning process. Diagnostic system consist of two parts: data acquisition system and fault diagnostic expert system. Data acquisition system is responsible for collecting vibration signals and the diagnostic expert system analyses it.

John W. Coffey, et al. [5] has discussed EI-Tech expert system to provide performance support and training for electronic technicians in troubleshooting RD-379A- (V)/UNH, a redundant, fault tolerant, air traffic control recorder system.

Jinyu Qu, et al. [6] proposed a production rule based expert system for electronic control automatic transmission fault diagnosis. Here every fault and cause of fault (fault reason) has been assigned a unique codes and both are stored in database. Rule base is designed for mapping relationship between fault reasons and fault types using AND/OR trees.

Ioan Borlea, et al. [7] devised an expert system for fault diagnosis in Timisoara Substation. Fault diagnosis method uses reasoning based on rules inferred from operation of substation’s primary equipment and main bus bar and auto transformer protections.

Chen Jingie, et al. [8] presented the traditional airborne electronic equipment fault diagnostic system. It executes the dynamic processing by subsystems, then summaries information and makes the integrated diagnosis by the expert system which is embedded in flash memory. It uses forward extract rule base approach for inference mechanism.

Ting Han, et al. [9] has proposed a universal fault diagnosis expert system based on Bayesian network, it utilizes expert knowledge to diagnose the possible root causes and the corresponding probabilities for maintenance decision making support. Bayesian network is used as an inference engine for raw data analysis. Authors has tested the system on production line of a chipset factory and obtained satisfactory results.

Sebastien Gebus, et al. [10] dicussed how defect related knowledge on an electronic assembly line can be integrated in decision making process at an operational and organizational level. It focuses particularly on the efficient acquisition of shallow knowledge concerned with production. Authors concluded that, the effective decision support system is essential to provide workers with information necessary to identify the causes of problems and takes appropriate action to solve it.

Many neural network models were suggested for fault diagnosis and prediction problems. An adaptive neural network based fault detection and diagnosis using unmeasured states is proposed by C. S. Liu, et al. [11]. Authors built a fault diagnostic architecture for unknown nonlinear systems with unmeasured states. A radial basis function (RBF) and adaptive RBF neural network approaches are used to approximate the model of unknown systems and for on line updates respectively.

Yong Chun Liang, et al. [12] proposed a combinatorial probabilistic neural network (PNN) model for fault diagnosis of power transformers. PNN model is based on Bayesian classification. Four PNN models for fault classification are proposed to classify normal heat fault, partial discharge fault, general over heating faults and severe overheating faults. Authors obtained better accuracy compared to other approaches.

Damian Grzechca, et al. [13] discussed Neuro-Fuzzy approach to time domain electronic circuits fault diagnosis. Proposed method belongs to Simulation Before Test (SBT) technique, a simple step input is give to unit under test and response is analyzed. The information acquired such as a rise time, input output delay, ove shoot are fuzzyfied and fuzzy neural dictionary is created. Feed forward back propagation network classifier algorithm is demonstrated with analog filter circuit.

Yanghong Tan, et al. [14] has proposed a neural network and genetic algorithm based approach for analog fault diagnosis. By understanding the measurable voltage deviation in the deviation space the unified fault vectors for single, double and triple faults are characterized. The classification of faults is done using artificial neural network.

The combination of neural network and rule based expert system is proposed by Rye Senjen, et al. [15]. The reasoning mechanism is implemented using neural networks. The hybrid system is developed for performance monitoring and fault diagnosis in telecommunication networks. Here performance monitoring is carried out using neural network and fault diagnosis is carried out using rule based expert systems.

A fuzzy petri-nets approach for fault diagnosis for electro mechanical equipment is discussed by Qunming Li, et al. [16]. The information flow in fuzzy petri net model (FFDPN) is driven inversely, and the production rules are defined backwards. The author has demonstrated how this proposed model can be used for other domains as well.

Petri Nets are used for multiprocessing and on line system modeling. Antonio Ramfrez-Trevino, et al. [17] proposed an online model-based for fault diagnosis of discrete event systems. Model of the system is built using the interpreted Petri Nets (IPN). Model includes all system states as well as all possible faulty states. IPN modeling methodology follows a modular bottom-up strategy. A diagnostic algorithm is used to diagnose the faulty component.

Chunlai Zhou, et al. [18] devised a fault diagnosis approach for TV transmitters based on Fuzzy Petri Nets. All the knowledge of fault diagnosis is summarized into fuzzy rules, these fuzzy rules then translated into Fuzzy Petri Nets by using an algorithm. A parallel reasoning algorithm is proposed for reasoning in fault diagnosis.

To handle incomplete and linguistic knowledge fuzzy logic is used. As per survey fuzzy logic is applied to may fields for handling inexact situations. Yan Qu, et al. [19] discussed fuzzy diagnostic expert system for electric control engine. Comix 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. [20]. The method consist two frameworks. The first framework used to identify the relations between features and a specified fault and the second framework integrates different diagnostic algorithms to improve accuracy rate. Approach is experimented on 0.37 KW induction motor, where broken rotor bar and stator faults were evaluated to validate the model.

An electronic equipment fault diagnosis in air crafts using fuzzy fault tree is described by Lians Xiao-Lin, et al. [21]. The complexity, ambiguity and uncertainty in fault diagnosis process for equipment fault diagnosis is modeled using fuzzy fault tree. The list of the most suspected faults is given by the system with fuzzy measures.

David B. manner [22] built a TROUBLE III fault diagnostic expert system for space station freedom’s power system. It uses set covering approach for development. In set covering, failure knowledge about the system is stored in a database instead of hand coded within the rules. TROUBLE III’s rules are used to match the detected symptoms to this stored failure knowledge. A list of failure hypothesis is generated and validated with symptoms.

Po-Ching Hsu, et al. [23] proposed a low-cost board level testing method for printed circuit boards in microprocessor based systems. The fault detection is achieved by replacing the CPU with a bus emulator to test faults on wiring interconnects, Test patterns are sent by the bus emulator and results are analyzed for fault detection.

Be Van Ngo, et al. [24] discussed use of JTAG (Joint Action Group) boundary-scan technology for testing complex printed circuit board (PCB). However, there are some problems with the boundary scan architecture such as, many TTL 7400 series components on PCB may not support boundary scan facility hence not get diagnosed.

3. Architecture of the Proposed Universal Object Oriented Expert System Frame Work

The overall architecture of the object oriented expert system frame work is shown in Figure 1. The frame work consists of knowledge base, inference mechanism, user interface, auxiliary 89c51RD2 based test bench. Knowledge base consists of declarative knowledge and procedural knowledge. Inference mechanism uses backward chaining with message passing technique. To get symptoms from maintenance technician about unit under test user interface is provided. The maintenance technician also learns the fault diagnosis strategy by getting explanation about symptom asked. The object attribute values obtained during diagnosis context are stored in working memory.

4. Object Oriented Knowledge Representation

The object oriented knowledge base is lumped by many objects and is a modular, uniform and structured paradigm. It is uploaded easily and hence increases generality of system. By using inheritance property knowledge resuage increases compared to structured approach. The complex data type like heuristics is implemented

Figure 1. Architecture of the object oriented expert system.

as attributes in object oriented knowledge base. For example, under microprocessor super class there are many sub classes like CLASS_8279, CLASS_8253, CLASS_ 6116, CLASS_2764. The super class inherits all common attributes of sub classes. The status of IC pins is obtained by calling respective methods under derived classes. The status of IC pins obtained is stored in working memory.

The connectivity between different components is described using declarative knowledge. Frame structures are used to describe declarative knowledge. The diagnostic functional behavior of the components is described using procedural knowledge. A novel Object-rule structures is used to represent procedural knowledge. The diagnostic knowledge is further classified as fault classification knowledge and checks knowledge. Fault classification knowledge isolates the fault section to minimizes diagnostic checks and improves diagnostic resolution. Fault classification knowledge is written using FAULT_ ISOLATE class. On selection of fault query, object instance is created which calls diagnosed method under fault isolate class. Diagnose methods does the primary checks and returns suspected faulty components and hence isolates fault section. The checks knowledge is applied from respective derived suspected faulty component class for further diagnosis.

Declarative knowledge assists inference mechanism and maintenance technician in fault diagnosis by providing information about component connectivity. The sample pseudo code in Visual Prolog for frame representation of IC 8085 interconnections is shown in Figure 2.

The first slot represents 8085 pin number 1 connectivity with crystal, second slot represents 8085 pin 2 connectivity with crystal. Similarly all pins are represented using frame.

5. Inference Mechanism

Inference mechanism uses message passing backward chaining mechanism to find causes of faults. Using object oriented structure the most recent observation is treated as most promising and get inherited from other objects like human expert does. For the present diagnostic approach only one fault query is selected at a time. On selection of fault query by maintenance technician the system first isolates fault and applies the objects from isolated class, Frame work applies message passing strategy for searching the object tree. As the search starts from component class with greater fuzzy quantification value. The fuzzy quantification values are assigned by domain expert. The diagnose method under the respective component class get called and arguments are passed to the maintenance technician to get responses to different diagnostic tests. As fault diagnosis is complex and probabilistic process, there is likelihood that other probable faulty components also get diagnosed under the same observed symptoms. To identify most promising one, confidence Value (CV) is computed for every conclusion. Every derived component class is associated with confidence value attribute quantified by fuzzy quantifier as

Figure 2. Pseudo code for frame representation.

shown in Table 1. The quantification is done by expert. The CV of conclusion is obtained based on fuzzy mathematics theory. Under one component class there are many methods connect by AND operator. Each method is quantified with fuzzy quantifier value. On successful execution of methods a minimum of all fuzzy quantifier values is computed and is multiplied by confidence value attribute of the component class. The product of these two is the confidence value of the conclusion Since, by incorporating fuzzy quantifiers in reasoning inference is carried out more intelligently and speedy. A threshold is kept to limit the suspected fault component list. Faulty components having confidence values greater than threshold get displayed as most promising faulty components with CVs.

For example, the fault query “No Memory read operation from C100H onwards” is selected by the maintenance technician. For the selected fault query three primary checks are carried out to isolate fault section. Is power present at pin 26 of U1-6116 RAM? Is Pin 20 U1_chip select logic low? And is pin 30_8085 high? Upon confirming the fault section the diagnosis goes further in deep level till the fault cause is located. In the present example first power is checked then status of chip select pin of 6116 ram is checked it is found high continuously then by using testing probe the status of OR gate 74HC32 out put is checked then its inputs pin 4 & 5 are checked after all test are passed system concludes that 74HC32 is faulty. As shown in Figure 3, the red line indicates the search and circles indicates respective methods under memory class. The results of probing are indicated by passed (P) or failed (F). The Inference mechanism works in similar way for any unit under test.

6. User Interface

The maintenance technician interacts with the expert frame work using user interface. The frame work not only diagnoses the causes of the fault but also guide and trains the maintenance technician as an expert troubleshooter. As shown Figure 4 the “Expert’s Response” explains why the symptom is asked? And hence maintenance technician also learns the fault diagnosis procedure.

To test some ICs like decoder 74ls138 off line testing is provided by auxiliary test bench developed using 89c51RD2 microcontroller. Using this test bench the technician can use 32 input/output probes for testing. The test bench is interfaced to Expert frame work using serial port. The 89C51RD2 microcontroller passes “pass” or

Table 1. The fuzzy quantifiers.

Figure 3. Object search tree.

Figure 4. Typical screen shot showing expert’s response.

“fail” message to methods under respective component class.

7. Case Studies

a) Fault Diagnosis in 8085 Microprocessor Boards

The 8085 trainer system is a development platform for novice technicians as well as students. The board consist of RAM, EPROM, 8255, 8279, 8155, 8253, Decoders, latches, buffers, buses, crystal and other miscellaneous components. Five typical faults are considered for diagnosis using this frame work. The results obtained are shown in Table 2. The frame work is tested for 65 commonly occurring faults.

b) Fault Diagnosis in 89c51RD2 Microcontroller Boards

The 89C51 evaluation board is a development system based on 89C51 microcontroller. The board consist of Interrupt logic, time logic three ports built in , built in flash ROM, crystals, FRC connectors, Jumpers, Switches, ADC, DAC cards interface. Five typical faults are considered for diagnosis using this frame work. The results obtained are shown in Table 2. The frame work is tested for 30 similar faults in microcontroller boards.

c) Fault Diagnosis in PICANOL-TDM Textile Weaving Machine.

Today, in textile industry PICANOL TDM fully automated weaving machine is widely used. The machine operates on microcontroller and power electronics circuits. Some typical faults are diagnosed using this frame work. The results obtained are shown in Table 2. Similarly 50 different faults are diagnosed and found correct.

8. Results

Table 2 shows the results obtained for some typical faults in 8085 microprocessor board, 89C51RD2 based training board, and textile weaving machine PICANOL-WTM. The faulty components are displayed with confidence values. Here the threshold selected is 0.5 hence the faulty components having CV greater than 0.5 are only displayed as most prominent faults. The faults diagnosed by using this frame work are validated by industrial experts and found correct.

9. Conclusion

This work is an attempt to diagnose the faults in minimum time. Using object oriented paradigm fault problem domain divides naturally and diagnosis is carried out as expert troubleshooter as predicted. Using inheritance property the inference mechanism efficiency is increased and became more flexible and modular. Fuzzy quantifiers associated with methods and classes provided intelligent reasoning. Fault classification knowledge has improved diagnostic resolution by minimizing number of checks. A universal frame work developed and tested for three case studies and can also be used for fault diagnosis in any complex electronics systems, ARM processor boards, large embedded systems by updating the knowledge base. As discussed in results, object oriented approach takes less time to diagnose the fault compared to

Table 2. Typical faults diagnosed (Threshod = 0.5).

other approaches and fault diagnosis is carried out hierarchically. 75% to 80% faults diagnosed by this universal frame work are found correct.


  1. R. Davis, “Reasoning from First Principles in Electronic Troubleshooting,” International Journal of Man Machine Studies, Vol. 19, No. 5, 1983, pp. 403-423. doi:10.1016/S0020-7373(83)80063-7
  2. C. Angeli, “Diagnostic Expert Systems: From Expert’s Knowledge to Real—Time Systems,” Advanced Knowledg Based Systems (Model, Applications & Search), Vol. 1, 2010, pp. 50-73.
  3. D. N. Batanov and Z. Cheng, “An Object—Oriented Expert System for Fault Diagnosis in Ethylene Distillation Process,” Computer in Industry, Vol. 27, No. 3, 2000, pp. 237-249. doi:10.1016/0166-3615(95)00035-2
  4. N. Yang, S. Cheng, Z. Xu, et al., “An Expert System for Vibration Fault Diagnosis of Large Steam Turbine Generator Set,” Proceedings of 3rd IEEE International Conference on Computer Research & Development, Shanghai, 11-13 March 2011, pp. 217-221.
  5. J. W. Coffey, A. J. Canas, et al., “Knowledge Modeling and the Creation of EI-Tech: A Performance Support and Training System for Electronic Technicians,” International Journal on Expert Systems with Applications, Vol. 25, No. 4, 2003, pp. 483-492.
  6. J. Y. Qu and L. Y. Liang, “A Production Rule Based Expert System for Electronic Control Automatic Transmission Fault Diagnosis,” Proceedings of 2009 IEEE International Conference on Test & Automation, Kobe, 12-17 May 2009, pp. 3724-3729.
  7. I. Borlea and A. Buta, “DIASE—Expert System Fault Diagnosis for Timisoara 22 kv Substation,” Proceedings of Eurocon, Belgrade, 22-24 November 2005, pp. 251- 255.
  8. J. J. Chen and X. X. Chen, “Research on Embedded Airborne Electronic Fault Diagnosis Expert System,” Proceedings of 2nd International Conference on Information Engineering & Computer Science (ICIECS), Wuhan, 25- 26 December 2010, pp. 1-5.
  9. T. Han, B. Li and L. M. Xu, “A Universal Fault Diagnostic Expert System Based on Bayesian Network,” Proceedings of 2008 IEEE International Conference on Computer Science & Software Engineering, Wuhan, 12-14 December 2008, pp. 260-263.
  10. S. Gebus and K. Leiviska, “Knowledge Acquisition for Decision Support Systems on an Electronic Assembly Line,” International Journal on Expert Systems with Applications, Elsevier, Vol. 36, No. 1, 2009, pp. 93-101.
  11. C.-S. Liu, S.-J. Zhang and S.-S. Hu, “Adaptive Neural Network—Based Fault Detection and Diagnosis Using Unmeasured States,” International Journal on IET Control Theory Applications, Vol. 2, No. 12. 2008, pp. 1066- 1076.
  12. Y.-C. Liang, X.-Y. Sun, D.-H. Liu, et al., “Applications of Combinatorial Probabilistic Nural Network in Fault Diagnosis of Power Transformer,” Proceedings of 6th IEEE International Conference on Machine Learning and Cybernetics, Vol. 2, 2007, pp. 1115-1119.
  13. D. Grzechca and J. Rutkowski, “Use of Neuro-Fuzzy System to Time Domain Electronic Circuit Fault Diagnosis,” ICSC Congress on Computational Intelligence Methods and Applications, 2005.
  14. Y. H. Tan, Y. G. He, C. Cui and G. Y. Qiu, “A Novel Method for Analog Fault Diagnosis Based on Neural Networks and Genetic Algorithms,” IEEE Transaction on Instrumentation and Measurement, Vol. 57, No. 11, 2008, pp. 2631-2635.
  15. R. Senjen, M. de Beler, C. Leckie, et al., “Hybrid Expert Systems for Monitoring and Fault Diagnosis,” Proceedings of 9th Conference on Artificial Intelligence for Applications, Orlando, 1-5 March 1993, pp. 235-241.
  16. Q. M. Li, L. Zhu and Z. Xu, “Fuzzy Petri-Nets Based Fault Diagnosis for Mechanical—Electrical Equipment,” Proceedings of 2007 IEEE International Conference on Control and Automation, Guangzhou, 30 May-1 June 2007, pp. 2539-2543.
  17. A. Ramfrez, et al., “Online Fault Diagnosis of Discrete Event Systems. A Petri Net-Based Approach,” IEEE Transaction on Automation Science and Engineering, Vol. 4, No. 1, 2007. pp. 31-39. doi:10.1109/TASE.2006.872120
  18. C. L. Zhou and Z. C. Jiang, “Fault Diagnosis of TV Transmitters Based on Fuzzy Petri Nets,” Proceedings of IMACS Multiconference on Computational Engineering in Systems Applications, October 2006, pp. 2003-2007.
  19. Yan Qu, et al., “A Fuzzy Expert System Framework Using Object Oriented Technique,” Proceeding of 2008 IEEE Pacific—Asia Workshop on Computational Intelligence and Industrial Applications, Wuhan, 19-20 December 2008, Vol. 2, pp. 474-478.
  20. M. Karakose, I. Aydin and E. Akin, “The Intelligent Fault Diagnosis Framework Based on Fuzzy Integral,” SPEEDAM 2010 International Symposium on Power Electronics, Electrical Drives, Automation and Motion, Pisa, 14-16 June 2010, pp. 1634-1639.
  21. X.-L. Liang, Y.-X. Zhao, et al., “Research on Applications of Fuzzy Fault Tree Analysis in the Electronics Equipment Fault Diagnosis,” IEEE System Engineering & Electronics, Singapore City, 26-28 February 2010, pp. 65-67
  22. D. B. Manner, “TROUBLE III: A Fault Diagnostic Expert System for Space Station Freedom’s Power System,” NASA Report.
  23. P.-C. Hsu and S.-J. Wang, “Testing and Diagnosis of Board Interconnects in Microprocessor-Based Systems,” Proceedings of 5th Asian Test Symposium, Hsinchu, 20-22 November 1996, pp. 56-61.
  24. B. Van Ngo, P. Law, et al., “Use of JTAG Boundary— Scan for Testing Electronic Circuit Boards and Systems,” IEEE Autotestcon, Salt Lake Cirty, 8-11 September 2008, pp. 17-22.