Process status supervisory system

Abstract: There is disclosed an apparatus for supervising the status of processing performed in a system to be supervised which comprises: a first processing system having a first knowledge base (8) , a first inference engine (9) for making an inference with reference to the knowledge base and a data processing device (1) for conducting the predetermined data processing in accordance with the inference for the purpose of conducting the predetermined data processing; and a second processing system having a second knowledge base (3) and a second inference engine (5) for making an inference with reference to the second knowledge base for the purpose of aiding the predetermined data processing conducted in the first processing system. The apparatus further comprises instruction device (6, 7) for instructing to determine whether or not the second processing system aids the first processing system for the purpose of aiding the predetermined data processing; and control device (7) for causing the second processing system to execute the data processing device via the first processing system when it has been determined that the second processing system conducts the aid and for causing the first processing system to execute the data processing device when it has been determined that the second processing system does not conduct the aid.

Description: The present invention relates to a system for supervising the status of processing performed in a data processing apparatus which receives information and data-processes the thus-received information. More particularly, the present invention relates to a supervisory system for the data processing apparatus of a knowledge information processing apparatus type using a knowledge base. Recently, attempts of combining an expert system with a conventional information system have been made in order to utilize present software sources and saving labor taken place at the time of manual data input. For example, an attempt of combining an expert system and a CAD system has been made. The knowledge base system must have a knowledge of the operation of the object information-processing system in addition to the knowledge of solving usual problems. However, if a sole knowledge base holds all of knowledge including that of solving usual problems and the operation of the information processing system and the like necessary to solve the subject problem, the knowledge base is excessively enlarged. As a result, the management of the knowledge base becomes difficult and the inference speed of the knowledge base is inevitably lowered. It might therefore be considered feasible to employ a structure arranged in such a manner that the knowledge is divided into sections to correspond to each of the problems so as to constitute each of the thus divided knowledge as an independent expert system. In this case, the knowledge base must have a knowledge of the operation of the object information-processing system and the like, causing its efficiency to be lowered. It might be therefore be considered feasible to employ a structure arranged in such a manner that knowledge about the operations of the object information-processing system or the like are unified so as to be distinguished from knowledge of solving usual problems. It leads to a fact that the knowledge base can be easily managed and its efficiency is improved. However, it is difficult for an expert system to completely solve a complicated design or programming problem such as a design of a CAD or linear programming. An operator must directly intervene in the system for the purpose of directing operating the object system after the execution or interruption of one operation of the expert system. In the case that the interventions as described above has been made, data and the status of the object system have sometimes been changed when the expert system is restarted after the intervention of the operator. Therefore, a problem arises in that the data and the status of the object system held by the expert system and the actual data and the status after the change cannot be consistent with one another. Therefore, the data and the status must be reconstituted between the object system and the expert system. It leads a problem in that an operator cannot easily freely intervene in the system. Document : IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, vol. 6, no. 5, June 1988, NEW YORK, US ; pages 850 - 861, TETSUO KINOSHITA ET AL. 'Knowledge based Design Support System for Computer Communication System' discloses the use of two (DVM-DES AND SDES) or more expert systems with a common user interface, the expert systems functioning interactively, wherein said expert systems must function together in an interactive manner, and wherein, the DVM-DES always appears to exercise direct control over the SDES, and thus, the latter expert system cannot operate under direct user command. The invention provides an apparatus for supervising under user control the status of processing performed in a first processing means, the apparatus comprising: input means for receiving user commands for controlling said first processing means; and second processing means having a knowledge base and an inference means for making an inference with reference to said user commands and said knowledge base, so as to provide control over a process to be conducted in said first processing means; characterised by: determining means responsive to said user commands for determining whether or not said second processing means should provide control over said process; and control means for causing said second processing means to initiate control of said first processing means so as to execute said process in accordance with said inference, or causing said first processing means to operate under direct control of said user commands, depending on the result of said determination. The first processing system may in particular comprise a further knowledge base and further inference system. When one of the inference system (the first processing system) is arranged to be a major inference system and another one is arranged to be a follower inference system (aiding system) for the purpose of processing predetermined data for a CAD or the like and the second processing system is operated to process the predetermined data, it is operated with the first processing system. Thus, the above-described problem in terms of the non-alignment between the two inference systems can be prevented. In certain embodiments of the present invention, the data processing device is a CAD device, the first knowledge base is a CAD operation knowledge base and the second knowledge base is a CAD design aiding knowledge base. According to embodiments of the present invention, input means is provided for inputting a manual input necessary for instructing the determination whether or not the second processing system is operated and processing the predetermined data. The system according to the present invention has a path formed as the second inference engine ↔ the control means ↔ the first inference engine and another path formed as the input means ↔ the control means ↔ the first inference engine. These paths use the same interface. Other objects and advantages besides those discussed above shall be apparent to those skilled in the art from ' the description of a preferred embodiment of the invention which follows. In the description, reference is made to accompanying drawings, which form a part hereof, and which illustrates an example of the invention. Such example, however, is not exhaustive of the various embodiments of the invention, and therefore reference is made to the claims which follow the description for determining the scope of the invention. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram which illustrates the overall structure of an embodiment of the present invention; Fig. 2 is a flow chart for control procedures executed by an expert system and control unit of a system according to an embodiment of the present invention; Fig. 3 is a flow chart which illustrates an interrupt processing performed during execution of the processing shown in Fig. 2; Fig. 4 is a flow chart which illustrates the system processing A shown in Fig. 2; DESCRIPTION OF THE PREFERRED EMBODIMENTS A preferred embodiment will now be described with reference to the drawings. The embodiment is structured in such a manner that the present invention is applied to a CAD (Computer Aided Design) system. The CAD system according to the embodiment is arranged in such a manner that an expert system for aiding a design and an inference system having a CAD operation knowledge base are combined with each other. Furthermore, the structure is arranged in such a manner that the expert system is used with the CAD, the operation is always performed through an inference system having the CAD operation knowledge base. Fig. 1 an overall structural view of the embodiment of the present invention, where the subjects to be supervised is a first processing system and a second processing system. Reference numeral 1 represents a conventional information processing system which is, according to this embodiment, a CAD (a Computer Aided Design) system. Reference numeral 2 represents an expert system for aiding a design. The expert system (to be abbreviated to "an EX system" hereinafter) 2 and the conventional CAD system 1 are organically combined with each other as described later. Reference numeral 3 represents a design aiding knowledge base which stores a knowledge for solving a problem taken place at a certain design stage. Reference numeral 4 represents a design aiding knowledge base group which stores knowledge or solving problems taken place at a variety of design stages. Reference numeral 5 represents an inference engine for inferring based on the knowledge stored in the knowledge base 3. Reference numeral 6 represents an input device for supplying predetermined inputs to the CAD system 1. The above-described predetermined inputs comprise, for example, the starting of the CAD system 1, the starting of the expert system 2, the temporarily terminating of these systems 1 and 2, and the like. Reference numeral 7 represents a control unit for controlling the inputs/outputs and the expert system 2, the control unit 7 having a storage portion, a processing portion and the like for storing control procedures shown in Figs. 2, 3 and 4 and for executing them. Reference numeral 8 represents a CAD operation knowledge bases which store knowledge for operating the CAD system 1. Reference numeral 9 represents an inference engine for making an inference on the basis of the knowledge base 8. Reference numeral 10 represents a storage device for storing the status of the CAD system. Reference numeral 11 represents an output device for displaying the results of the execution or the like. The operation of the thus constituted embodiment will be specifically described with reference to Fig. 2 which is a flow chart for the overall structure of the knowledge base system according to the embodiment, Fig. 3 which is a flow chart which illustrates an interrupt processing performed during execution of the processing shown in Fig. 2, and Fig. 4 which is a flow chart illustrating the system processing A shown in Fig. 2. Fig. 2 illustrates the procedure performed by the control unit 7 for interpreting the input from the input device 6. In the control procedure shown in Fig. 2, the control unit 7 acts to switch the path, where the path is expressed as "PATH I" in Fig. 1. The path structure according to this embodiment comprises a path arranged as: the EX system 2 ↔ the control unit 7 ↔ the inference engine 9 and path expressed by "PATH II" and arranged as: the input device 6 ↔ the control unit 7 ↔ the inference engine 9. That is, whether or not information which is necessary for the inference engine 9 of the CAD system 1 is obtained from the EX system 2 or from the input device 6, is controlled by the interpretation of a command received by the control unit 7. The followings are examples representing the interface between the controller 7 and each of the expert system 2 and the input apparatus 6. The examples are written in the notation of Flavors message mechanism which is well used in LISP language. (send controller : set-optfile "file 1") (send controller : optimize 10) (send controller : get-R 15) (send controller : get-D 15) The first example represents an instruction to the controller 7 that "file 1" should be set as optimizing parameter file. The second example represents an instruction that the optimization should be executed ten times. The third example represents an instruction that a design parameter R 15 is given via the controller 7. The fourth example represents an instruction that a design parameter d 15 is given via the controller 7. As shown in Fig.2, input information from the input device 6 to the whole system according to this embodiment is interpreted by the control unit 7 in step S21. The input information may be a command of starting a CAD design by using the expert system 2, or a command of directly causing the CAD system to act. In step S21, the control unit 7 interprets the supplied information, that is, the command so that it determines whether or not it uses the expert system 2. For example, in the case where a command of operating a certain expert system is supplied from the input device 6, the type of the expert system requested is determined in step S21. In next step S22, the knowledge base 3 which meets the above-described request is selected from the knowledge base group 4. For example, a knowledge base for creating the initial stage of the subject to be designed is selected here. Then, the expert system 2 is executed in step S23. In the thus started expert system, the system processing A shown in step S101 is executed via the control unit 7 so that instructions or data is sent to and from the CAD system 1 via the control unit 7. If it has been determined in step S21 that the input from the input device 6 is not an input for operating the expert system, the flow advances from step S21 to step S100 in which the system processing A is executed. The input which is determined to be NO in step S21 is the command of a type which is difficult to be perfectly solved by only the expert system and causes for an intervention of an operator in the system to become necessary. The system processing A in step S101 with which the EX system 2 supplies command data to the CAD system 1 and the processing A in step S100 with which input an input command from the input device 6 to the CAD system 1 are the same processing which will be described later in detail with reference to Fig. 4. Thus, the main procedure for executing a command issued from the input device 6 to start the expert system and a command directly supplied from the input device 6 to the CAD system 1 has been described. Then, a case where an operator interrupts the execution of the expert system and commands or data is to be sent directly to and from the CAD will be described with reference to Fig. 3. The reason for the interruption of the type described above to become necessary lies in that the above-described path I arranged as the system 2 ↔ the control unit 7 ↔ the inference engine 9 ↔ the CAD 1 has been established during the execution of the expert system. The above-described interruption is conducted by pressing a predetermined key (for example, "a break key 12" shown in Fig. 1) of the input device 6. When the above-described interruption has been made, the control procedure shown in Fig. 3 is executed. Then, the operator's manual input is received in step S31. In next step S2, it is determined that the thus supplied manual input causes a necessity of terminating the expert system which is being executed or it may be continued. If the above-described manual input is of a type which allows the expert system which is being executed to be continued, the flow returns to the expert system execution cycle. If the manual input causes the operation to be terminated, the execution of the expert system is terminated in step S34, and then the flow returns, in step S35, to the start of the control procedure shown in Fig. 2. As described above, the command is supplied to the CAD 1 in accordance with the system processing A in step S100 or step S101 in both cases: the case in which the expert system 2 is executed and the CAD design is performed with using the knowledge stored in the expert system 2; and the case in which an operator directly intervenes and issues an instruction to the CAD system 1. That is, interfaces under the same program are used in the "PATH I" and the "PATH II". The interface in this case may be structured in such a manner that the control unit 7 is described as an object directional object and its message mechanism is used. The system processing A is executed by the inference engine 9 by using the design CAD operation knowledge base 8 and a status storage device 10 of the design CAD system 1 in a manner as described later. Thus, the design with the CAD is executed by using the expert system 2 or in accordance with the direct instruction from the input device 6. If it has been determined, in step S24, that the results of the above-described sequential processing are satisfactory, the design is ended. If it has been determined to be "NO", or if the flow advances to the next design step, a necessity of executing another expert system arises. It can be achieved by, for example, replacing the knowledge base 3 by a knowledge base or the like concerning the rough design. The system processing A (performed in steps S100 and S101) shown in Fig. 2 is performed in accordance with a flow chart shown in Fig. 4. The flow chart for the system processing A will be described, the system processing A being executed by the inference engine 9 under the control performed by the control unit 7. When an instruction supplied from the input device 6 or the expert system 2 via the control unit 7 is executed, it is determined in step S101 whether or not there is a CAD command group to be in advance executed. If it has been determined that the CAD command group of this type exists, the flow advance to step S102 in which a CAD command is made by giving an argument or the like. In step S104, the thus made command is executed. The reason for the fact that the command to be in advance executed is prepared lies in that the usual CAD command or the like is in a predetermined application order and the instruction supplied cannot sometimes thereby be directly conducted depending upon the status of the CAD. After all of the CAD commands to be in advance executed have been executed or if it has been determined that there is no command of this type, the instruction supplied from the control unit 7 is, in step S106, divided into levels which correspond to the CAD command. Then, the divided commands are, in step S107, successively converted into CAD commands so as to be executed in step S109. The processing in the steps S107 to S109 are repeated until it has been determined, in step S111, that all of the divided instruction have been ended. Error processing 112, 113, 114 and 115 are error handling processing in corresponding steps S102, S104, S107 and S109. In the system shown in Fig. 1 (and according to the embodiment), the knowledge of the operation of the design CAD serving the object information-processing system and the status of the same are collectively managed by the inference engine 9. The inference engine 9 is arranged to process both the input from the expert system 2 via the path I and the input from the input device 6 via the path II in the similar manner and by using one interface procedure. In other words, status data about the design CAD 1 is stored in the status storage device 10 and is not stored locally in the expert system 2. Therefore, the expert system 2 is not influenced by change in the status, data or the like of the design CAD 1. As a result, the immediate return to the expert system after the intervention of an operator can be conducted. <Modification to Embodiment> The embodiment may variously be modified. According to the embodiment, the design aiding expert system is arranged to execute its operation by successively taking one knowledge base. However, the present invention may be similarly applied to any of the structures described as the conventional technologies or the other expert systems. Furthermore, according to the embodiment, the description has been made about the design CAD. However, the present invention can be similarly applied to a information processing system such as a data base system, a data analyzing package or the like having an operating external interface (for example, an interface with a higher language such as FORTRAN or C) and internal data of which can be subjected to a reference or can be changed. In addition, if the above-described information processing system includes a storage device for storing its status and the stored status can be subject to a reference by the knowledge base system according to the present invention, the status storage device 10 of the design CAD can be replaced by this. According to the above-described examples, although the information processing system, the expert system and the other system are divided from one another, the fact whether or not the system according to the present invention is realized in a unit can be optionally selected. Although the description has been made about the design aid field, the present invention is not limited to this description. For example, it can be applied to a various fields such as a translation, a document processing, a portfolio fields. As is shown from the above-made description, according to the knowledge information processing system according to the present invention, a necessity of remodeling the object information-processing system (for example, the design CAD system 1) can be eliminated, that is, the available information processing system can be freely switched to be used by an expert system operation and the manual operation. Furthermore, since it holds the status of the object information-processing system and a knowledge base capable of conduct a processing corresponding to the status thus held, an effect can be obtained in that the operation of the object information-processing system can be simplified in both the knowledge description and the manual operation. The present invention is not limited to the above embodiments and various changes and modifications can be made within the scope of the present claims.

Claims: An apparatus for supervising under user control the status of processing performed in a first processing means, the apparatus comprising: input means (6) for receiving user commands for controlling said first processing means; and second processing means having a knowledge base (3) and an inference means (5) for making an inference with reference to said user commands and said knowledge base, so as to provide control over a process to be conducted in said first processing means; characterised by: determining means responsive to said user commands for determining whether or not said second processing means should provide control over said process; and control means (2) for causing said second processing means to initiate control of said first processing means so as to execute said process in accordance with said inference, or causing said first processing means to operate under direct control of said user commands depending on the result of said determination; wherein said first processing means comprises a further knowledge base (8) and a further inference engine means (9) for making inference with reference to said further knowledge base, and wherein said process is implemented in accordance with a inference made by said further inference means. An apparatus according to claim 1 wherein said user commands explicitly determine whether or not said second processing means is to control said process. An apparatus according to claim 1 wherein said control means comprises means for interpreting said user commands. An apparatus according to any of claims 1, 2 or 3 wherein said control means is responsive to a further user command to interrupt said process being performed by said first processing means when under control of said second processing means and wherein said control means further includes means for determining whether said second processing means will continue to provide control over said process, and for causing the second processing means to terminate said control if not. An apparatus according to any of claims 1 to 4, wherein: said second processing means is provided for aiding the process performed in the first processing means; said determining means determines whether said second processing means is to aid control over said first processing means, and if so said control means causes said second processing means to provide control for aiding the process conducted in the first processing means; and wherein when said determining means determines that said second processing means is not to aid control over said first processing means, said control means causes said first processing means to start the process conducted without aid from the second processing means. An apparatus according to any preceding claim wherein said control means provides a common interface to said first processing means: (i) between said input means and said first processing means for direct control of said first processing means; and (ii) between said second processing means and said first processing means for control of said process by said second processing means. An apparatus according to claim 6 wherein said control means further provides (i) means for interpreting said user commands received from the input means to control said second processing means and, (ii) means for interpreting said user commands to control said first processing means directly. An apparatus according to any preceding claim, wherein said first processing means comprises a computer aided design device. An apparatus according to claim 1, wherein said first processing means comprises a computer aided design (CAD) device, wherein the knowledge base of the first processing means is a CAD operation knowledge base and the knowledge base of the second processing means is a CAD design aiding knowledge base.

Inventors: KANEKO KAZUE, KATO EIJI, KUMO KAZUMASA, TAKAGI TSUNEYOSHI, KANEKO, KAZUE, KATO, EIJI, KUMO, KAZUMASA, TAKAGI, TSUNEYOSHI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1990
Main classification: G06F17
IPC codes: G06N5, G06F17