This paper presents the design and implementation principles of an expert system for diagnostics of computer failures. The task-specific knowledge is represented rather traditionally for the diagnostic system as a network of causes (symptoms) and faults. The structure describing the network includes symptom number, symptom-type (unique/repetitive), successors, ancestors, and test-type (binary/multivalued/dummy). The fault corresponding to the repetitive symptom remains a possible goal after the system had investigated that it was present. Control strategy is forward chaining, the most likely path’s selection being based on Bayes’ rule. The test-types, the corresponding test-lists, and the action-lists determine the user interface--yes/no questions, menus, and recommended actions.
The system is implemented on PROLOG. The resident part of the system, without the knowledge base, needs only about 4 Kbytes of the main memory.
The notion of diagnostics as an iterative process, given in the beginning of the paper, seems to be interesting in the expert systems context and worth further investigation. The DIGS reference remains unresolved and a transcript of a consultation session would have simplified reading, but the example of a diagnostics network, the fragment of the corresponding knowledge base, and the control algorithm presented in the paper give an overall idea of system functioning.