Diagnostic expert system

Abstract: A diagnostic expert system is set up with a first diagnostic subsystem (11,13) which is based on a maintenance technician's knowledge and a second diagnostic subsystem (12,14) which is based on a design engineer's knowledge. If a fault cannot be located under the first diagnostic subsystem (11,13), the second diagnostic subsystem (12,14), which operates by using of the result obtained from the first diagnostic subsystem (11,13) is started so as to determine the location of the fault.

Description: DIAGNOSTIC EXPERT SYSTEM BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a diagnostic expert system for diagnosing a data processing apparatus itself or a data processing apparatus to control some object, for example, a switching network in an exchange. 2. Description of the Related Art The following explanation will be given taking a switching network as an example for easy understanding, however, the present invention is not limited to the same. High reliability and efficient operation of a communication network become important issues when providing high level communication services such as a commercial integrated service digital network (ISDN). In particular, rapid fault location and repair is essential because the damage can be great if network service is interrupted, and a powerful fault diagnostics expert system for repair support is required. The present invention proposes a new diagnostic expert system. When a fault occurs among a variety of units comprising the exchange, generally a fault message is output to, for example, a maintenance console. Then, a diagnostic program corresponding to the fault message is executed. Using the result of the executed program, an area causing the fault is determined based on a diagnosis dictionary. Next, a test is carried out for every function to locate a questionable object, e.g., a questionable package, which must then be replaced by a new one. Such diagnosis must be completed correctly and rapidly. In the prior art, as will be explained hereinafter in detail, a maintenance technician watches fault messages displayed on a console. Then he retrieves, according to the displayed contents, a manual book or the diagnostic dictionary, so that he can replace packages located in the area where the questionable object is determined to exist, with new packages. Various known electronic parts, such as integrated circuits (IC's), are mounted on each package. With a new package, a corresponding diagnostic command is input to make a diagnosis. The diagnosis is carried out repeatedly, and if the result is successful, the faulty package or packages can be replaced by a new one or new ones. Finally the maintenance technicians introduce the new packages into the apparatus, to be diagnosed by the use of a so-called in-service command. However, in actuality, the contents of the manual book and the diagnostic dictionary become complicated along with an increase of the size of the switching network system. Thus, it is not easy for the maintenance technicians to locate a fault based on the complicated diagnostic results. This makes it impossible to achieve rapid detection of the questionable package. A diagnostic expert system has been proposed in which knowledge based on a maintenance technician's experience is expressed in an "IF-THEN" guided program through which knowledge relating to fault conditions is retrieved by the use of a reasoning engine. A questionable object is then located by using the retrieved knowledge. As a first prior art, Japanese Unexamined Patent Publication No. 61(1986)-55777 proposes diagnosis achieved by utilizing a diagnostic rule. As a second prior art, Japanese Unexamined Patent Publication No. 62(1987)-175060 proposes diagnosis by utilizing a diagnostic knowledge data base which corresponds to a first knowledge data base according to the present invention, in which a maintenance technician's knowledge is contained. In the prior art diagnostic expert system, there is a first problem in that it is impossible to make diagnosis regarding a fault which has never been experienced by a maintenance technician. And a second problem is that it takes very long time for a maintenance technician to locate a fault if the fault occurs outside the area which he can cover. From IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 7, no. 5, September 1985, an expert system for diagnostic problem solving is known. This system performs reasoning on the basis of shallow knowledge by looking for a symptom that it can recognise using its problem dictionary, and if this approach does not lead to the desired result, the system takes a second, functional database to issue a hypothesis on a possibly faulty object. From Proceedings of the 4th Conference On Artificial Intelligence, March 14-18, 1988, pages 18-25, IEEE, New York, US, an approach is known which utilises causal knowledge in assisting the heuristic classification method solved routine faults. SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a diagnostic expert system which can rapidly and correctly locate a possibly faulty object, even regarding a fault which has never been experienced by a maintenance technician. According to the invention the above object is solved as defined in claim 1. The diagnostic expert system according to the present invention combines two kinds of diagnosis, that is, a maintenance technician diagnosis, and a design engineer diagnosis. BRIEF DESCRIPTION OF THE DRAWINGS The above object and features of the present invention will be more apparent from the following description of the preferred embodiments with reference to the accompanying drawings, wherein: Fig. 1 illustrates a typical exchange system, as an example, for explaining an application of the present invention; Fig. 2 illustrates part of a data processing apparatus for explaining an example of a fault; Fig. 3 illustrates a schematic block diagram showing the principle of the present invention; Fig. 4 illustrates a schematic block diagram of a system according to an embodiment of the present invention; Figs. 5A and 5B are flow charts of general procedures according to an embodiment; Figs. 6A and 6B are schematic diagrams for explaining the operation according to an embodiment of the present invention; Fig. 7 illustrates explanatory contents of first and second knowledge data bases; Figs. 8A, 8B and 8C illustrate block diagrams for explaining a pointer; Fig. 9 illustrates an example of a duplex system; Fig. 10 depicts an example of a portion of system knowledge; Fig. 11 illustrates a first example showing an arrangement of the diagnostic expert system according to the present invention; Fig. 12 illustrates a second example showing an arrangement of the diagnostic expert system according to the present invention; Fig. 13 shows an example of an application system according to the present invention; and Fig. 14 schematically depicts an example of a system for managing the knowledge data base. DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing the embodiments of the present invention, the related art and the disadvantages therein will be described with reference to the related figures. In, for example, an exchange, a duplex system is adopted in order to increase reliability. If a fault occurs in an active part of the duplex system, an interrupt by fault is issued to start corresponding processing for the fault. By this, a faulty unit is determined and the operation is switched to a stand-by part of the duplex system. After reconstruction of the duplex system, the operation is continued. If a fault occurs also in the part now the active one, the duplex system goes out of service. Therefore, it is important to locate the faulty unit rapidly and quickly repair it. Figure 1 illustrates a typical exchange system, as an example, for explaining an application of the present invention. The diagnostic expert system of the present invention is applied to a data processing apparatus having a control unit, a memory unit and input/output unit or units to be diagnosed. In Fig. 1, speech path switches 1 are controlled by the data processing apparatus via a speech path bus 2. Each switch 1 is provided with subscriber's telephone sets. The data processing apparatus is specifically constructed by a processor 3, as the control unit, a memory 4, as the memory unit, and input/output units (I/O's) 7-1, 7-2, ... 7-m which are connected to the processor 3 by way of a channel control unit 5 and a common bus 6. The I/O's 7 are, for example, a magnetic drum storage device, a magnetic tape storage device, a printing device, a console, and so on. The structure of the system is classified with a speech path system, including the speech path switches 1, and a central processor system, including the processor 3. Of these, the central processor system forms a duplex system. The speech path system is controlled by the central processor system in accordance with a call processing program. In the central processor system, a fault processing program and a diagnostic program are stored, as a maintenance program. The switching network is supervised by the fault processing program to issue a fault message when some fault occurs. The diagnostic program is provided in the processor 3, the memory 4, the channel control unit 5, and so on, to specify, in each unit, a questionable package causing the fault, through the diagnosis. According to general fault processing, an interrupt by a fault is generated to replace the fault unit with a stand-by unit, while a fault message including fault status is displayed on a console or printed out by a printing device. The maintenance technician inputs a diagnostic command to the processor conforming to the diagnostic message now issued. A diagnostic program is then started which is allotted to the fault unit specified by the parameter of the thus input diagnostic command. The resultant diagnosis and the resultant decision are displayed or printed out on the printing device. Based on the results, the maintenance technician retrieves a manual book or a diagnostic dictionary, as mentioned previously. In the prior art diagnostic expert system, each fault and corresponding cause together with a questionable fault area are accumulated in a diagnostic knowledge data base in reference to fault circumstances experienced by the maintenance technicians. When a fault occurs, a questionable object is found based on the fault circumstances. This produces the aforesaid first problem. This will be clarified below. Figure 2 illustrates part of a data processing apparatus for explaining an example of a fault. The fault occurs, in the example, outside the area which can be covered by the maintenance technicians. In Fig. 2, the common bus 6 has three kinds of signal lines A, B and C. The channel control unit 5 and the input/output units 7-1 and 7-2 are connected via these signal lines A, B, and C. As seen in the figure, the I/O unit 7-1 is connected with the signal lines A, B, and C, and the I/O unit 7-2 is connected with the signal lines A and B. Here, assuming that a fault occurs at a portion marked with "X" on the signal line C during a communication between the unit 5 and the unit 7-1, a normal communication therebetween can no longer be maintained. In this case, under the diagnostic expert system based on the maintenance technician's knowledge, it is impossible to distinguish whether the fault occurs on the common bus or in the I/O unit 7-1. This produces the aforesaid second problem. According to the present invention, the fault diagnosis is achieved by further employing a design engineer's knowledge regarding the structure and the function of the apparatus to be diagnosed. This will be clarified with reference to the following drawings. Figure 3 illustrates a schematic block diagram showing the principle of the present invention. Basically, the diagnostic expert system is comprised by two diagnostic means. That is, a first diagnostic means for determining a questionable object based on both said fault message and said diagnostic data and diagnosing the questionable object; and a second diagnostic means for hypothesizing the questionable object based on said structure data regarding said data processing apparatus, whereby a related fault object is specified by said first diagnostic means and also by, if the object cannot be specified by the first means, said second diagnostic means. Specifically, the present invention comprises a first knowledge data base 11 containing therein diagnostic rules and test methods created by maintenance technicians, which diagnostic rules define causes of each fault in connection directly with the respective fault messages; a second knowledge data base 12, created by design engineers, containing therein data relating to the structure and function of the data processing apparatus; a first reasoning subsystem 13 for reasoning a questionable object liable to cause the fault with reference to said first knowledge data base 11; and a second reasoning subsystem 14 for reasoning the questionable object with reference to the second knowledge data base 12; wherein the questionable object is reasoned by use of the first reasoning subsystem 13 according to said fault message, and if no questionable object is found by the reasoning, a circumstance analysis is carried out by use of the second reasoning subsystem 14 with reference to the result produced by the first reasoning subsystem 13, according to the analysis, and a hypothesis regarding the questionable object is generated and verified to find the target faulty object. For this purpose, the second reasoning subsystem 14 is set up with a circumstance analyzer 15, a hypothesizer 16, and a hypothesis verifier 17. The second reasoning subsystem 14 utilizes the results produced in the first reasoning subsystem 13. The results are stored in a buffer memory 19 via a reasoning interface 18. To be specific, in the first reasoning subsystem 13, the questionable object is retrieved by use of the first knowledge data base 11 which stores therein the diagnostic rules and the related test method created by utilizing a knowledge of the maintenance technicians. Each of the diagnostic rules (diagnostic data) is defined by a fault message in correspondence with a related questionable object. Further, each of the structure data defines a relationship between the units comprising the data processing apparatus in accordance with the design information for constructing the data processing apparatus. If a questionable object is not successfully specified, the second reasoning subsystem 14 is activated, wherein a fault circumstance is analyzed by the use of the second knowledge base 12-having stored therein the knowledge regarding the structure and function given by the design engineer. According to the analysis a hypothesis of the questionable object is generated in the hypothesizer 16. Whether the hypothesis is correct or not is verified by the hypothesis verifier 17. If the result of the verification supports the hypothesis, the questionable object is determined to be the target fault. The design information consists of data including each combination of both a relationship and connection between the units comprising the data processing apparatus. Figure 4 illustrates a schematic block diagram of a system according to an embodiment of the present invention. In Fig. 4, reference numeral 21 represents an exchange system, 21A a speech path network, 21B a call processing program, 21C a maintenance program, 21D a diagnostic program contained in the maintenance program 21C, 22 a diagnostic control unit for controlling an overall diagnostic expert system, 23 a man-machine (MM) interface unit, 24 a reasoning part, 25 a first knowledge data base created from the knowledge of a maintenance technician, 26 a second knowledge data base created from the knowledge of a design engineer, 27 a data base, 28 a knowledge data base management unit, 31 an expert shell reasoning unit, 32 a reasoning control unit, 33 a reasoning unit based on the knowledge of a design engineer, 34 a reasoning explanation unit, 35 an expert shell knowledge data base development environment, 36 a knowledge data base retrieving unit, and 37 a knowledge data base editing unit. The first knowledge data base 25 stores therein data, such as diagnostic rules, test methods, package replacing procedures and the like. The second knowledge data base 26 stores therein data, such as design models, functions of each unit of the data processing apparatus, diagnosis characteristics of each said unit and the like, which are created from the knowledge of a design engineer. The data base 27 stores therein data, such as the fault messages, command parameters and the like. The first reasoning subsystem, shown by 13 in Fig. 3, is comprised of, in Fig. 4, the reasoning part 24 which contains therein the expert shell reasoning unit 31, the reasoning control unit 32 and the reasoning explanation unit 34 which explains the process of the reasoning to the maintenance technician. The second reasoning subsystem, shown by 14 in Fig. 3, is comprised of, in Fig. 4, the reasoning control unit 32, the reasoning unit based on the design knowledge 33 and the aforementioned reasoning explanation unit 34. The diagnostic rules, stored in the first knowledge data base 25, define each questionable object in correspondence with the variety of the fault messages. For example, the diagnostic rule is defined such that, IF: fault message No. = 18, THEN: questionable object may be processor 3 or channel control unit 5. Where, the fault message No. = 18 indicates that there is no response from the channel control unit 5. The aforesaid test method is defined such that, IF: questionable unit is the channel control unit 5, THEN: execute a diagnostic program. Other examples of the aforesaid diagnostic rule will supplementally be given in the following table. FAULT MESSAGE QUESTIONABLE UNIT No response from the channel control unit 5 processor 3 or channel control unit 5 Parity check error of the memory 4 processor 3 or memory 4 input/output error channel control unit 5 or input/output unit 7 The design model stored in the second knowledge data base 26 provides information regarding structure, especially structural connections between the processor 3, the channel control unit 5, the memory 4 and so on in terms of pointers. The term pointer means an address link, as will be explained with reference to Figs. 8A, 8B and 8C. The function stored in the second knowledge data base 26 expresses the function of each unit. That is, the function of, for example, the processor 3, is expressed as follows: (1) Reading, from the memory 4, a control instruction for the input/output unit 7; (2) Selecting one of a plurality of channel control units 7-1, 7-2 ... 7-m; (3) Issuing a start signal, and so on. As for the function of the channel control unit 7, the functions will be expressed as, (1) Receiving the start signal; (2) Execution of a start sequence; (3) Returning a response message, and so on. The first and second knowledge data bases 25 and 26 are managed by the knowledge data base management unit 28, so that the knowledge of the maintenance technicians and the knowledge of the design engineers are controlled to be edited, accumulated and retrieved. The diagnosis according to the present invention is mainly applied to the data processing apparatus including the processor 3, the memory 4, the channel control unit 5 and the input/output units 7. The data processing apparatus controls, for example, the exchange system 21 of Fig. 4. The speech path network 21A is controlled to set up a speech path or release the speech path under control of the call processing program 21B. Further, the maintenance program 21C contains the fault processing program and the diagnostic program 21D and so on. The exchange system 21 is supervised by the fault processing program. If a fault, such as a parity check error is detected, the fault message is issued. Upon recognition of the thus issued fault message by the maintenance technician, the related command is generated or a self diagnostic program 21D is automatically started. Incidentally, in a case where a fault such as a no dial tone occurs and the subscriber in question notifies the maintenance technician of that fact, the maintenance technician can input a related command by himself. Furthermore, the MM interface unit 23 is comprised of a display device or keyboard to which the command input and the input indicating a symptom conforming to the fault message are input. On the other hand, the MM interface displays repair commands to the maintenance technician according to the result and diagnosis. The repair command is displayed in a multiwindow mode, for example. Figures 5A and 5B are flow charts of a general procedure according to an embodiment of the present invention. In general, the first diagnostic means (13) includes a first part and a second part, the first part receives a fault message to translate the same into a corresponding fault number and retrieve a diagnostic rule using the translated fault number, the second part identifies the questionable object based on the thus retrieved diagnostic rule and starts executing a test program corresponding to the questionable object to make a self diagnosis. The second diagnostic means (14) includes a third, fourth, and fifth parts, the third part identifies a unit corresponding to the fault message as a questionable object based on the result given by the first diagnostic means, the fourth part performs a backtrace of the processing procedure step by step with respect to the thus identified questionable object, and the fifth part specifies the questionable object according to the result of the preceeding self diagnosis achieved in the first diagnostic means (13). According to the flow charts of Figs. 5A and 5B, the reasoning part (shown by 24 in Fig.4) watches the input fault message (step "a"); retrieves the corresponding diagnostic rule using the fault message number (No.) (step "b"); identifies a questionable unit based on the thus retrieved diagnostic rule (step "c"); retrieves a test method for the questionable unit (step "d"); displays the retrieved questionable unit and the related test method and then inputs the result of the diagnostic program (DP) execution by a user (maintenance technician) (step "e"). According to the result of the DP execution, the reasoning part judges whether the target questionable package is correctly determined (step "f"). In other words, when a fault message responding to an occurrence of a fault is generated, an automatic fault message input or an input via the MM interface unit 23 by the maintenance technician is started. By this, the first reasoning subsystem 13 (comprising the expert shell reasoning unit 31, the reasoning control unit 32 and the reasoning explanation unit 34) retrieves the first knowledge data base 25 using the fault message number (No.), retrieves the diagnostic rule corresponding to the fault message number (No.), and identifies the questionable object according to the diagnostic rule. Here, assuming that the questionable units are, for example, both the processor 3 and the channel control unit 7, the questionable units and also the corresponding test method are displayed on the MM interface unit 23, such as, for example, "EXECUTE DIAGNOSTIC PROGRAM FOR BOTH PROCESSOR AND CHANNEL CONTROL UNIT" If the questionable package is specified through the execution of the self diagnostic program, the step "f" in Fig. 5A progresses through the route to "YES", and therefore, the processing by the reasoning part 24 comes to an end. Contrary to this, if the questionable package is not determined in step "f", the second reasoning subsystem 14 is activated , which subsystem performs a reasoning using the second knowledge data base 26 created by the design engineer. That is, first, the content of the fault message and also the result of the diagnostic program (DP) execution are collected to perform a circumstance analysis (step "g"). Then, an operation matched with the content of the fault message is extracted from the function data base (step "h"). Next, a backtrace of the thus extracted operation is achieved by one step to set a hypothesis in which the backtraced operation (step) is questionable (step "i"). Thereafter, it is checked whether the diagnosis for the questionable operation has been finished (step "k"). If the result of step "k" is NO, a unit among the units which have not yet been diagnosed by the diagnostic program is displayed as a questionable unit on the MM interface unit 13 (step "l"). To the contrary, if the result of step "k" is YES, the backtrace advances by one further step and the thus backtraced operation (step) is set as a new hypothesis in which the step is questionable. In other words, according to the input by the maintenance technician or the resultant diagnosis by the first reasoning subsystem (13), the reasoning control unit 32 controls shifting the processing from the first reasoning subsystem (13) to the second reasoning subsystem (14). By this, the reasoning part based on the design engineer's knowledge is started, whereby the detection of the questionable object is carried out while retrieving the second knowledge data base 26. In this case, according to the result of the circumstance analysis, the design model, the function of the unit and so on, stored in the second data base 26, are retrieved and a hypothesis is made regarding the questionable unit. It is then verified whether the hypothesis is correct or not, at which point the diagnostic program is executed for the questionable unit or units which have not yet been subjected to the diagnostic program, so that a target questionable unit is found. Figures 6A and 6B are schematic diagrams for explaining the operation according to an embodiment of the present invention. And Figure 7 illustrates explanatory contents of first and second knowledge data bases. Particularly, Fig. 7 illustrates contents related to dealing with a fault in which no response is returned from the channel control unit (CHC). In general, the first and second diagnostic means identify the questionable object based on a diagnostic rule and, if the thus identified questionable object is constructed in the form of a duplex system having an active part and a stand-by part, a diagnosis is made by starting a self diagnostic program executed by the stand-by part thereof, while, if the questionable object is not formed as a duplex system but a single system, a test is achieved under control of said diagnostic control means and if no fault is found in the questionable object, a reasoning is achieved by using the corresponding processing procedure for this questionable object with reference to the structure data so as to finally specify the target fault unit with reference to the result of the test. Referring to Figs. 6A and 6B, the data processing apparatus is comprised of the processor (CPU) 3, the memory (MEM) 4, the channel control units (CHC) 5-1, 5-2 and so on. In response to a start signal from the CPU 3 (see (a)), if a response message is not returned from the CHC (5-1 or 5-2) (see (b)), the reasoning process is generated in such a manner that, first, a diagnostic rule is retrieved; a corresponding test method is retrieved; and an execution of a diagnostic program is displayed, as the repair command. In the first knowledge data base 25 (Fig. 7 and Fig. 4), the following are accessed, as depicted in Fig. 7. (A) Diagnostic rule If there is no response message from the CHC (5-1 or 5-2), a test is executed for the CPU 3 and the CHC (5-1 or 5-2). (B) Test method (1) If the object is constructed as a duplex system, a diagnostic program should be executed by using a stand-by unit. (2) If the object is constructed as a single system, the test should be executed by using a corresponding test unit. According to the above knowledge, the diagnostic rule instructs to execute a test for the CPU 3 and the CHC (5-1 or 5-2). In this case, the CPU 3 is constructed in the form of a duplex system, as illustrated in Fig. 9 explained later. The CHC's (5-1, 5-2) are also constructed in the form of a duplex system. The memory 4 is also constructed in the form of a duplex system. Therefore, it is decided to execute a diagnostic program for the questionable CPU 3 and CHC 5-1 or 5-2 by using the stand-by CPU 3. As a result of the diagnosis, if the related fault is located, the target questionable package is replaced by a new one. The replacement procedure is displayed on the MM interface unit (shown by 23 Fig. 4). After replacement of the faulty package, the diagnostic processing for the fault ends. In a case where the fault cannot be located through the above mentioned fault location by the use of the first knowledge data base 25, a diagnostic processing follows, based on the design engineer's knowledge, and which is carried out by the reasoning control unit (shown by 32 in Fig. 4). Here, the reasoning is carried out using the second knowledge data base 26 (Fig. 7 and Fig. 4). As for the channel control unit 5-1 or 5-2, the following knowledge is presented therefrom. (A) Design model The model indicates a structure connected between, for example, a bus 35, a data buffer 46, a decoder 47 and a controller 48 expressed in terms of the previously mentioned pointer, i.e., an address link. (B) Function of unit The function is indicated by the following: (1) Receiving the start signal from the processor (CPU) 3; (2) Executing the start sequence for the channel control unit (5-1 or 5-2); (3) Returning the response message to the CPU 3; and so on. According to the above knowledge, the circumstance analysis is started first, as shown by step "g" in Fig. 5B. During the analysis, based on both the content of the fault message and the result of the diagnostic program (DP) execution, it is concluded that the fault cannot be detected by the DP execution. Here, a questionable unit (package) is assumed. This is done by extracting the operation, from the function of unit (B), which matches the content of the fault message. In the example, since it is detected that no response message is returned from the CHC (5-1, 5-2), the following operations are extracted. (1) Fetching an I/O (7) control instruction; (2) Selecting one of the CHC's (5-1, 5-2 ...); (3) Transmitting the start signal from the CPU 3; (4) Executing the start sequence; and (5) Returning the response message from the CHC (5-1 or 5-2). In general, in the second means (14) the questionable unit is identified and data of a processing procedure corresponding to the thus extracted questionable unit is selected, and the processing procedure is executed from last to first in a reverse direction to search for the faulty unit. Specifically, in the first means (13), the questionable unit performs a diagnosis by using a self diagnostic program, and if the fault unit is not specified, the second means (14) reasons the faulty unit based on a relationship between the units comprising the data processing apparatus, and a processing procedure for the questionable unit is executed from last to first in a reverse direction. Referring to Figs. 6A and 6B, since no response message is returned (refer to (5) in Fig. 6A with the symbol "X", No Good), a hypothesis is set such that the operation 4), i.e., the execution of the start sequence, has not been completed. However, it is judged that the operation (4) has been completed normally based on the result of the diagnostic program (DP) execution, so that it is concluded that the related CHC is normal (refer to (4) with the symbol "O", Good, in Fig. 6A). In conclusion, the thus set hypothesis is cancelled. Next, a backtrace of the operation by one step is carried out, i.e., (4) → (3). Here, the hypothesis is set such that the operation (3), i.e., the transmission of the start signal, has not been completed. However, since the diagnostic result with respect to the CPU 3 is normal (refer to (3) with the symbol "O" in Fig. 6A), the thus set hypothesis is also cancelled. The next backtrace then follow, i.e., (3) → (2). Here, the hypothesis is set such that the operation (2), i.e., selection of the CHC's, has not been completed. However, since the diagnostic result with respect to the CPU 3 is normal (refer to (2) with the symbol "O" in Fig. 6A), the thus set hypothesis is also cancelled, Next a backtrace follows from (2) to (1). The operation (1) fetches the control instruction for the I/O (7). Here, the hypothesis is set such that the operation (1) is not completed. As for the operation (1), the diagnostic program has not yet been executed under circumstance where the memory 4 is assumed as the questionable unit. Therefore, the repair command indicates to diagnose the memory 4 using the corresponding diagnostic program. Thus, when the diagnosis is made, based on the reasoning generated by the use of the maintenance technician's knowledge, for the symptom indicating no response from the CHC, the corresponding diagnostic program (DP) is executed for the CPU 3 and the CHC (5-1, 5-2) which are assumed as the questionable units. However, the result of the DP execution suggests no unit to be questionable. Thereby, it is recognized that the memory 4 needs to be diagnosed according to the reasoning generated by the use of the design engineer's knowledge. This makes it possible to locate a fault which has not be located using the maintenance technician's knowledge, i.e., the first knowledge data base 25. It should be understood that the above mentioned case is taken as an example, and therefore, other faults can be located in accordance with the corresponding fault message. If the fault is not located by the use of the maintenance technician's knowledge, the design engineer's knowledge is introduced to locate the same. Further, in the above-mentioned example, the backtrace, i.e., (5) → (4) → (3) → (2) → (1) is used for changing the hypothesis. However, a forward trace, i.e., (1) → (2) → (3) → (4) → (5), can also be used for changing the hypothesis. In the latter measure, the corresponding verifications for each hypothesis are, of course, required. The latter measure is useful if the fault is general rather than specific. Referring again to Fig. 2, the abnormality takes place between the input/output (I/O) unit 7-1 and the channel control unit (CHC) 5, while keeping normality between the CHC 5 and the I/O 7-2. In this case, the abnormality cannot be detected through the reasoning generated by the usual maintenance technician's knowledge. According to the present invention, the reasoning with the aid of the design engineer's knowledge is generated taking the structure into account, that is , the I/O 7-1 is connected with the signals lines A, B and C, while the I/O 7-2 is not connected with the signal line C, but the lines A and B only. This generates a reasoning that the signal line C should be diagnosed. Therefore, the fault on the signal line C, marked with the symbol "X", can be detected. It should be noted that the present invention can be applied not only to an exchange system, but also to other computer aided systems. Figures 8A, 8B and 8C illustrate block diagrams for explaining a pointer. As mentioned previously, the structure data, used in the second diagnostic means (14), contains information about the connections between the units. The structure data can be expressed in terms of the aforesaid pointers, i.e., the address link numbers. The address link AL is shown in these figures. The aforesaid function (refer to (a), (b) and (1) through (5) in Fig. 6A and refer to (B) in Fig. 7) are stored in files (refer to the blocks "FUNCTION" in Figs. 8A and 8B). Figure 9 illustrates an example of a duplex system. In general, the data processing apparatus is constructed in the form of a duplex system having an active part and a stand-by part, and a self diagnostic program is executed for the questionable object is the stand-by part side thereof. Further, when a fault is found in the active part of the questionable unit, the faulty part is replaced by the stand-by part thereof. In Fig. 9, members classified with #0 are active parts and members with #1 are stand-by parts. The characters used in the figure are abbreviations representing the following: CPU: processor MEM: memory POW: power supply INT: interface AL: arithmetic and logic unit MC: MEM controller MB: memory bank BC: bus controller Figure 10 depicts an example of a part of a system knowledge. In Fig. 10, "PART-OF" denotes names of parts, "ALK" an address link (refer to Figs. 8A, 8B and 8C) distinguished by respective numbers, "PARTS" names of packages, "FAULT PROBABILITY" a ratio of probability to produce the fault in the past, i.e., most questionable, "FUNCTION" is identical to that mentioned previously in, for example, Figs. 8A and 8B. Figure 11 illustrates a first example showing an arrangement of the diagnostic expert system according to the present invention. In general, the data processing apparatus is connected by way of the bus 6 to the diagnosis expert system comprised of the first and second diagnostic means (13, 14) so as to receive the fault message from the data processing apparatus and start the related diagnosis. The diagnostic expert system (DES) 51 is directly connected to the common bus 6. Figure 12 illustrates a second example showing an arrangement of the diagnostic expert system according to the present invention. In general, the diagnostic expert system (DES) 51 comprised of the first and second means (13, 14) is realized as a work station connected externally from the data processing apparatus which provides the fault message to the work station. The term "work station" is used in Fig. 4. If the common bus 6 shown in Fig. 4 is not used, the system (DES) 51 is located, as the independent work station, externally from the data processing apparatus. The connection between the data processing apparatus and the system (DES) 51 is realized by the communication therebetween performed by the maintenance technician. The maintenance technician watches the fault message from the data processing apparatus, which is displayed on a display device (DISP) via the common bus 6. When the fault message is given the maintenance technician inputs the related symptom information to the MM interface unit 23 (Fig. 4). Figure 13 shows an example of an application system according to the present invention. The characters used in the figure are abbreviations representing the following: CMOC: centralized maintenance and operation center DLI: Digital link interface equipment SSP: system supervisory processor ALDE: Alarm display equipment ES: Expert system SCWS: system control workstation TWS: test workstation CPR: call processor CCIS: common channel interface signaling Efficient diagnosis is achieved by establishing the expert system in the CMOC and cooperating with the SCWS and the TWS. If a fault occurs in a switching system and the maintenance technicians in its exchange cannot repair the fault with the SCWS and the TWS, they request diagnosis from the maintenance technicians in the CMOC through the SCWS or the TWS. The expert system collects the information needed for the diagnosis from the CMOC system, infers the faulty parts, and transmits the result of the diagnosis to the SCWS or the TWS. The engineer managing the expert system and its knowledge base will be stationed in the CMOC. Figure 14 schematically depicts an example of a system for managing the knowledge data base. The system of Fig. 14 corresponds to the block 28 shown in Fig. 4. User-friendly functions are necessary to enable the maintenance technicians to add or change the knowledge by themselves. The following function will meet this requirement. That is, the knowledge which a user describes or edits is represented in a natural language based external representation. The external representation is translated automatically into the internal representation prepared for reasoning. This enables the user to add or edit the knowledge with the external representation only. A user can also register the words and synonyms necessary for describing the knowledge, so that the knowledge representation is flexible. An example of the external representation will be given below. IF (R3) : (AUTONOMOUS-MESSAGE) IS (11) $AND$ (SELF MEM) OF (SBY-CPU) IS (OUS) THEN D (SBY-CPU POWER-DOWN) . The above exemplifies one pair of IF-THEN sentences. R3 denotes a rule 3 used for an identification. SELF MEM denotes a self memory. OUS denotes an out of service condition. SBY denotes a stand-by condition. The characters in parentheses are stored in the term dictionary. The underlined portions are keywords for building the sentence. The user can freely select the term in parentheses. The character $ is also used as a keyword. In the above example, the fault message belongs to number "11". Further, simultaneously (AND), the self memory cooperating with the stand-by CPU is now out of service. The stand-by CPU is then assumed to be powered down. As explained above in detail, the diagnostic expert system can serve as very high grade maintenance which can locate a fault which cannot be located even by maintenance technicians.

Claims: A diagnostic expert system for diagnosing a data processing apparatus having a control unit (5), memory unit (4), an input/output unit (7), according to a fault message issued from the apparatus due to a fault occurring therein, comprising: a diagnostic control means (22) for controlling the expert system; a diagnostic knowledge base (11, 12) for storing therein both diagnostic rules and structure data reflecting the connection relationship between said units comprising said data processing apparatus a first inference engine (13) for determining a possibly faulty object based on both said fault message and said diagnostic rules and diagnosing the possibly faulty object by subjecting it to execution of a self diagnostic program ; and a second inference engine (14) in which a possibly faulty object is selected and a processing procedure corresponding to the possibly faulty object is executed the hypothesis is formed and verified that the last processing step of the processing procedure has not completed if that hypothesis has to be discarded new hypotheses are formed by stepping in reverse direction through the processing steps of the processing procedure and assuming for each processing step in turn that it has not completed. whereby a possibly faulty object is specified by said first inference engine (13) or, if the object cannot be specified by the first inference engine (13), by said second inference engine (14). A diagnostic expert system as set forth in claim 1, wherein said data processing apparatus is connected by way of a bus to a diagnosis apparatus comprised of said first and second inference engines (13;14) so as to receive said fault message from the data processing apparatus and start the related diagnosis. A diagnostic expert system as set forth in claim 1, wherein a diagnosis apparatus comprised of said first and second inference engines is realized as a work station connected externally from said data processing apparatus which provides said fault message to the work station. A diagnostic expert system as set forth in claim 1, wherein said data processing apparatus is constructed in the form of a duplex data processing apparatus having an active part and a stand-by part and a self diagnostic program is executed for the possibly faulty object in the stand-by part side thereof. A diagnostic expert system as set forth in claim 4, wherein when the fault is found in the active part of the possibly faulty object, the faulty part is replaced by a stand-by part therefor. A diagnostic expert system as set forth in claim 5, wherein said first inference engine (13) includes a first part and a second part, the first part receives fault message issued to translate the same into a corresponding fault number and retrieves a diagnostic rule with the use of the translated fault number, and the second part identifies the possibly faulty object based on the thus retrieved diagnostic rule and starts executing a test program corresponding to the possibly faulty object to carry out a self diagnosis, said second inference engine (14) includes third, fourth, and fifth parts, the third part (15) identifies a unit corresponding to said fault message as a possibly faulty object based on the result given by said first inference engine (13), the fourth part (16) performs a backtrace of the processing procedure step by step with respect to the thus identified possibly faulty object, and the fifth part (17) specifies the possibly faulty object according to the result of the preceding self diagnosis achieved in said first inference engine. A diagnostic expert system as set forth in claim 1, wherein said first and second inference engines (11,13;12,14) identify the possibly faulty object based on a diagnostic rule , and if the thus identified possibly faulty object is constructed in the form of a duplex system having an active part and a stand-by part, a diagnosis is made by starting a self diagnostic program executed by the stand-by part thereof, if the possibly faulty object is not formed as a duplex system but single, a test is achieved under control of said diagnostic control means, and if no fault is found in the questionable object, a reasoning is achieved by using the corresponding processing procedure for this possibly faulty object with reference to said structure data so as to finally specify the faulty object with reference to the result of said test. A diagnostic expert system as set forth in claim 1, wherein each of said diagnostic rules is defined by each said fault message in correspondence with a related possibly faulty object, and said structure data consists of data including each combination of both a connection relationship between said units comprising said data processing procedure apparatus and a processing procedure between said units for every processing. A diagnostic expert system as set forth in claim 1, wherein said possibly faulty object is determined by said first inference engine (13) based on both said fault message and said diagnostic rule and the thus determined possibly faulty object is subjected to execution of a self diagnostic program to carry out a diagnosis. A diagnostic expert system as set forth in claim 1, wherein in said second inference engine (14), said possibly faulty object is identified and data of a processing procedure corresponding to the thus identified possibly faulty object is selected, and the processing procedure is executed from last to first processing step in a reverse direction to search for the possibly faulty object. A diagnostic expert system as set forth in claim 1, wherein said first inference engine (13) includes a first means operative to receive fault message issued to translate the same into a corresponding fault number and retrieve a diagnostic rule using the translated fault number, and a second means operative to identify the possibly faulty object based on the thus retrieved diagnostic rule and to start executing a test program corresponding to the possibly faulty object so as to carry out a self diagnosis, said second inference engine (14) includes a third, fourth, and a fifth means, the third means (15) is operative to identify a unit corresponding to said fault message as a possibly faulty object based on the result given by said first inference engine, the fourth means (16) is operative to perform a backtrace of the processing procedure step by step with respect to the thus identified possibly faulty object, and the fifth means (17) is operative to specify the possibly faulty object according to the result of the preceding self diagnosis achieved in said first inference engine (13). A diagnostic expert system as set forth in claim 1, wherein said first and second inference engines (13,14) identify the possibly faulty object based on said diagnostic rule and, if the thus extracted possibly faulty object is constructed in the form of a duplex system having a main part and a stand-by part, a diagnosis is made by starting a self diagnostic program executed by the stand-by part thereof, if the possibly faulty object is not formed as a duplex system but a single system, a test is carried out under control of a diagnostic control means (22) for controlling the expert system and co-operating with said first and second inference engines (13,14), and if no fault is found in the possibly faulty object, a determination is achieved by using the corresponding processing procedure for this possibly faulty object with reference to said structure data so as to finally specify the faulty object with reference to the result of said first inference engine (13).

Inventors: ARAMAKI TAKAHIRO, FUKAZAWA MITSUNORI, KIM MOO WAN, WAKAMOTO MASAAKI, ARAMAKI, TAKAHIRO, FUKAZAWA, MITSUNORI, KIM, MOO WAN, WAKAMOTO, MASAAKI
Applicants: FUJITSU LTD, FUJITSU LIMITED
Application year: 1989
Main classification: G06F11
IPC codes: G06F11, G06F9, G06N5