Abstract:
A planning method by computer support is based on a planning program using data concerning an object to be planned and data necessary for planning. The planning method comprises the steps of reading out of a memory various kinds of data concerning the object to be planned; preparing a plan by using the data in accordance with the planning program; delivering results of the prepared plan; inputting definition data for an explaining statement concerning the planning results and data concerning an output form of the explaining statement; processing the planning results on the basis of the definition data for the explaining statement and the data concerning the output form to prepare an explaining statement concerning the planning results; and delivering the prepared explaining statement.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a planning support for preparing a plan in various kinds of business planning by utilizing a computer and more particularly, to a planning support method and system suitable for handling sophisticated problems in which various substitutive plans can be conceived. 
     In recent years, various methods have been proposed for dealing with planning problems by using a computer. The planning problem is a problem of combination in which various substitutive plans are conceivable and therefore materials are needed for deciding the quality (allowance or rejection) of planning results. 
     As discussed in Information Processing Society of Japan, No. 35 Nation-wide Conference Lecture Preliminary Papers, pp. 1647-1648, when a conventional planning support method (thereinafter referred to as a first prior art) is applied to preparation of a schedule of production line in planning business section of a factory, the results of the prepared schedule, ultimately evaluated in terms of average lead time or utilization efficiency of machine, are delivered for display to an operator concurrently with a diagram. 
     On the other hand, a conventional expert system constructing tool (hereinafter referred to as a second prior art) has the function of explaining to the user the process of deduction, thereby permitting the user to know grounds and reasons for conclusion provided by the system. The explaining function realized in the conventional expert system constructing tool is to indicate a chain of applied rules. 
     The conventional planning method by or based on computer support fails to extract and deliver desired information from a series of completed plans and to provide explaining information for evaluating the quality (allowance or rejection) of plans. Accordingly, the conventional method faces difficulties in deciding whether the completed plan is appropriate and in obtaining decision materials necessary for proper modification of the plan. 
     Since the planning problem is not a problem of preparing plan results through a mere syllogism, the second prior art which merely indicates a chain of rules has difficulties in grasping the quality of the planning results and the behavior of the system in course of planning. 
     The first prior art merely displays ultimate evaluation values of the planning results and fails to take into consideration showing grounds for conclusion that present allotments are selected from various conceivable substitutive plans, facing difficulties in accurately deciding the quality (allowance or rejection) of the planning results. 
     SUMMARY OF THE INVENTION 
     The present invention contemplates elimination of the above problems and has for its object to provide a planning support method and a system realizing the same which can display desiredly information concerning a planning procedure and planning results, i.e., information indicative of grounds for the planning results in planning various kinds of plans to facilitate evaluation such as corroboration of the quality and propriety of the planning results, thus making it possible to deal with changing of plans with flexibility and accuracy. 
     To accomplish the above object, there are provided a first memory for storing data standing for an object to be planned and data of an intermediate planning procedure and planning results, and a second memory for storing a definition of an explaining statement. A plan is prepared on the basis of data in the first memory, and data in course of planning and data of planning results are stored in the first memory. An explaining statement concerning planning is prepared on the basis of the contents of the first and second memories and displayed. 
     Stored in the second memory is a statement defining an output form comprised of a fixed part and a variable part (variable) of an explaining statement concerning a planning procedure and planning results. The processing of preparing and displaying the explaining statement is carried out in course of the planning or after completion of the planning, the fixed part of the explaining statement stored in the second memory is displayed as it is, and the value of a variable in the variable part is determined on the basis of the data in the first memory and displayed. 
     Through the above processings, the planning support method can be realized which can display desired information concerning a planning procedure and planning results, i.e., information indicative of grounds for the planning results in planning various kinds of plans to facilitate evaluation such as corroboration of the quality and propriety of the planning results, thus making it possible to deal with changing of plans with flexibility and accuracy. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram showing how functional blocks are related to a table in a planning support system according to a first embodiment of the invention; 
     FIG. 2 is a block diagram showing how functional blocks are related to a table in a planning support system according to a second embodiment of the invention; 
     FIG. 3 is a diagram showing a data structure of planning process data; 
     FIGS. 4 to 6 are tables showing examples of actual planning process data; 
     FIG. 7 is a block diagram showing how functional blocks are related to a table in an edit processing unit 202; 
     FIG. 8 is a table showing an example of a variable&#39;s name dictionary; 
     FIG. 9 shows an example of a variable name correspondence table defining explaining object data representing names of input data of plan explanation and defining names of source programs describing (a) calculation logic; 
     FIG. 10 is a table showing an example of an explaining logic; 
     FIG. 11 shows an example of the calculation logic source program; 
     FIG. 12 is a block diagram showing how functional blocks are related to a table in a pre-compile unit 704; 
     FIG. 13 shows the contents of a variable relation storage unit 1205; 
     FIG. 14 is a flow chart showing the operation of an explaining logic analysis registration unit 1201; 
     FIG. 15 is a table showing an example of an explaining condition storage unit 1206; 
     FIG. 16 is a table showing an example of an explanation storage unit 1207; 
     FIG. 17 shows an example of an explaining logic source program; 
     FIG. 18 is an operation flow chart for a plan explainer unit 203; 
     FIG. 19 shows an example of display of planning results and an explaining statement; 
     FIG. 20 is a block diagram showing how block diagrams are related to a table in a planning support system according to a third embodiment of the invention; 
     FIG. 21 is a diagram showing how functional blocks are related to a table in a plan modifier unit 204; 
     FIG. 22 is an operation flow chart for a plan explainer unit 2003; 
     FIG. 23 is a block diagram showing how functional blocks are related to a table in a planning support system according to a fourth embodiment of the invention; 
     FIG. 24 is a block diagram showing how functional blocks are related to a table in an edit processing unit 2301; 
     FIG. 25 shows an example of a process logic; 
     FIG. 26 is a block diagram showing how functional blocks are related to a table in a process logic pre-compile unit 2403; 
     FIG. 27 is a block diagram showing how functional blocks are related to a table in a planning support system according to a fifth embodiment of the invention; 
     FIG. 28 is a block diagram showing how functional blocks are related to a table in a planning support system according to a sixth embodiment of the invention; 
     FIG. 29 is a table showing an example of description of an explaining logic; 
     FIG. 30 is a table showing the contents of an explaining condition storage unit 3002; 
     FIG. 31 is a diagram showing an example of display of trace information data; 
     FIG. 32 is a diagram for explaining spare data; 
     FIG. 33 is a block diagram showing how functional blocks are related to a table in a computer utilizing system 3301 according to a seventh embodiment of the invention; 
     FIG. 34 is a block diagram showing how functional blocks are related to a table in a knowledge base system 3401 according to an eighth embodiment of the invention; 
     FIG. 35 is a block diagram showing how functional blocks are related to a table in a relational database system 3501 according to a ninth embodiment of the invention; 
     FIG. 36 is a table showing an example of an explaining statement definition storage unit 104; 
     FIG. 37 is an operation flow chart for a plan explainer unit 102; 
     FIG. 38 shows an example of display of planning results and an explaining statement; 
     FIG. 39 is an operation flow chart for a dictionary edit unit 701; and 
     FIGS. 40 to 42 are operation flow charts for explaining logic edit unit 702, calculation logic edition unit 703 and plan modifier unit 204, respectively. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The invention will now be described by way of example with reference to the accompanying drawings. 
     A first embodiment of the invention will first be described. 
     FIG. 1 shows how functional blocks are related to a table in a planning support system according to the first embodiment of the invention. The blocks and the table will be detailed as necessary with reference to relevant figures. 
     The planning support system, designated by reference numeral 100, includes a planning unit 101, a plan explainer unit 102, a planning data storage unit 103, an explaining statement definition storage unit 104, a calculation logic program storage unit 105, and a terminal 106. In response to a request from the terminal 106, a plan (FIG. 6) is prepared in accordance with the contents (FIGS. 4 and 5) of the planning data storage unit 103 under the direction of a planning program, a definition of an explaining statement explanatory of a planning procedure and results is inputted and an explaining statement concerning the planning procedure and results is prepared and displayed in accordance with the inputted contents. 
     The terminal 106 operates to start the planning support system 100, respond to a request from the end user to start the individual functions within the planning support system 100, and modify data in the explaining statement definition storage unit 104 and calculation logic program storage unit 105. Then, a processing (compile/link) is carried out which changes a modified calculation logic source program into a program format executable by a computer. 
     The terminal 106 may incorporate a memory for temporary storage of a prepared explaining statement. 
     The present embodiment will now be described by referring to an example of a process planning problem of determining which apparatus (machine) a production lot of products is allotted to and when the allotment is done, by taking into consideration the due-date, the possibility of the earliest outset and the like factor for a product manufactured through a plurality of work processes. 
     When started by the terminal 106, the planning unit 101 prepares a plan on the basis of object data from the planning data storage unit 103 and stores prepared planning data and intermediate data in the course of planning into the planning data storage unit 103. Stored into the planning data storage unit 103 are planning object data and data of planning results having data structures as shown in FIG. 3, for example, as well as data in course of planning. FIGS. 4 to 6 show an example of actual planning process data. In particular, FIG. 4 shows an example of production lot planning information, FIG. 5 an example of manufacture apparatus planning information, and FIG. 6 an example of data of planning results prepared by the planning unit 101. 
     Before describing the plan explainer 102, the explaining statement definition storage unit 104 and plan logic program storage unit 105 will be described. 
     Stored in the explaining statement definition storage unit 104 is data for defining an explaining statement explanatory of a plan procedure and results. The explaining statement includes a fixed part and a variable part. The fixed part is described using a desired character string and the variable part defines either a name of a variable corresponding to an output form or format or a name of a function describing a calculation formula. Thus, the explaining statement definition storage unit 104 has an output form defining formats of the fixed and variable parts of the explaining statement and an output variable definition defining the variable&#39;s name corresponding to the variable part or the function name of the function describing the calculation formula. An example of the explaining statement definition storage unit 104 is shown in FIG. 36. FIG. 36 indicates that the format of the variable part is &#34;% identifier&#34; in compliance with C language. It is also noted that in the present embodiment the function name begins with &#34;f --  &#34;. 
     Stored in the calculation logic program storage unit 105 are a calculation logic source program corresponding to a function name defined in an output variable definition in the explaining statement definition storage unit 104 and an executable program corresponding to the calculation logic source program. 
     The operation of the plan explainer unit 102 will be described with reference to an operation flow chart of FIG. 37. It is to be noted that a desired plan is prepared in advance by planning unit 101 and has been stored in the planning data storage unit 103. 
     When started by the terminal 106, the plan explainer unit 102 first displays planning results on the terminal 106 in accordance with data of planning results sent from the planning data storage unit 103 (box 3701). Subsequently, explaining object information (lot number in the present embodiment) is inputted from the terminal 106 and the data is stored (box 3702). If explaining end information is inputted, the processing ends (box 3703). Thereafter, the output form and output variable definition in the explaining statement definition storage unit 104 are read line by line (box 3704). In the absence of any line to be read in box 3703, the procedure returns to the processing of box 3702 (box 3705). In accordance with the output form read in box 3704, the fixed part is displayed as it is. When a format of the variable part beginning with &#34;%&#34; is defined, data corresponding to a variable name stored in the output variable definition is displayed in accordance with the format on the basis of the contents of the planning data storage unit 103 and the procedure returns to the processing of box 3704 (box 3706). When a function name beginning with &#34;f --  &#34; is defined in the output variable definition, a program for the function name stored in the calculation logic program storage unit 105 is started and the calculation results are displayed. 
     FIG. 38 shows an example of display of the planning results and explaining statement. In particular, FIG. 38 shows the state wherein a manufacturing process planning table 381 for various products (a1, a2, a3 . . . b1, b2, b3 . . . c1, c2 . . . d1, d2 . . . ) which stands for a prepared plan and an explaining statement 382 of the plan are delivered simultaneously to the screen; otherwise each of the planning table 381 and explaining statement 382 may be delivered independently. Indicated in the planning table 381 is the allotment period (time) by which individual products are allotted or distributed to individual apparatus (A1, A2, B1, B2, C1, C2, D1 . . . ) used on production line. Even skilled experts would face difficulties in evaluating whether this plan is suitable for a specified product, for example, a1 or in determining rapidly how the plan should be modified, by merely looking up the planning table 381. The computer responds to a request of the user to adjust planning information concerning production process for a desired object, for example, the product a1 in FIG. 38 so as to display the resulting information in the output form easy for the user to understand, as indicated in the plan explaining statement 382. The user consults the explaining statement 382 to decide whether the plan is appropriate, and acquires information for modifying the plan table 381. 
     According to the present embodiment, grounds for conclusion can be indicated by the explaining statement and advantageously, the quality of the results can be determined accurately. 
     Further, in the present embodiment, the definition of the explaining statement used to display various kinds of information occurring in course of planning can be described/changed easily in terms of the table form and therefore, to advantage, the behavior of the system in course of planning can be understood easily without preparing dedicated programs. 
     Since in the present embodiment the user can select, as desired, the explaining object by manipulating the terminal, only an explaining statement of a desired planning object can be displayed and labor and time for retrieval of unnecessary information can be excluded. 
     The present embodiment is applied to the system handling the planning problem but the invention may be applicable to systems handling other problems, thereby attaining the advantage that the system behavior can be grasped with ease in various types of system. 
     A planning support system according to a second embodiment of the invention will now be described by mainly referring to FIG. 2 showing how functional blocks are related to a table. 
     The planning support system of this embodiment, designated by reference numeral 200, includes a planning unit 101, an edit processing unit 202, a plan explainer unit 203, a plan modifier unit 204, an explaining logic program storage unit 205, a planning process data storage unit 103, a terminal 207, a plan input unit 208 and a plan storage unit 209. The planning unit 101 and the planning data storage unit 103 are the same as those of the first embodiment. In the planning support system 200, when a request is received from the terminal 207, a plan is prepared on the basis of the contents of planning data storage unit 103 which is inputted from the plan input unit 208, an explaining logic which describes a logic explanatory of a planning procedure and results in terms of process technical terminology or Japanese language is inputted and converted into a program capable of being processed by a computer, the program is stored in the explaining logic program storage unit 205, an explaining statement concerning the planning procedure and results is displayed by terminal 207 on the basis of the contents of the storage unit 205, and the planning results are modified as necessary and stored in the plan storage unit 209. 
     The terminal 207 is operable to start the planning support system 200, start individual functions of the planning support system 200 in response to a request from the end user and edit data such as explaining logic and planning logic. 
     The plan information input unit 208 receives planning object data and stores it into the planning data storage unit 103. 
     FIG. 7 shows how functional blocks are related to a table in the edit processing unit 202. As illustrated, the edit processing unit 202 includes a dictionary edit unit 701, an explaining logic edit unit 702, a calculation logic edit unit 703, a pre-compile unit 704, a variable name correspondence table storage unit 705, an explaining logic storage unit 706 and a calculation logic source program storage unit 707. The edit processing unit 202 responds to a request of the end user through the terminal 207 to start the editors 701 to 703. The respective edit processing units 701 to 703 will now be described. 
     Prior to describing the dictionary editor 701, it should be understood that the variable name correspondence table is a conversion table adapted to convert unfamiliar variable&#39;s names such as technical terminology used by persons in charge of planning in the planning procedure or Japanese language into English codes which can be handled easily by the computer. FIG. 8 shows an example of the variable&#39;s dictionary used for data of planning object and data of planning results having, for example, data structures shown in FIG. 3. FIG. 9 shows an example of the variable name correspondence table which defines explaining object data standing for input information used upon explanation of planning results and defines the name of a source program describing calculation logics such as variables utilized in explaining logics. 
     The operation of the dictionary editor 701 will be described with reference to an operation flow chart shown in FIG. 39. 
     The dictionary editor 701 is started by an edit request inputted from the terminal 207 to first cause, through the terminal 207, the end user to select an edit form from tree form or table form (box 3901). If the tree form is designated in box 3901, the contents of the variable name correspondence table stored in the variable name correspondence table storage unit 705 is displayed on the terminal 207 in the data structure form (tree form) shown in FIG. 3 and the end user edits the displayed contents (box 3902). If the table form is designated in box 3901, the contents of the variable name correspondence table stored in the variable name correspondence table storage unit 705 is displayed on the terminal 207 in the table form and the end user edits the displayed contents (box 3903). Subsequently, the pre-compile unit 704 is started and the procedure ends (box 3904). 
     The operation of the explaining logic editor 702 will be described with reference to an operation flow chart of FIG. 40. 
     The explaining logic editor 702 responds to an edit request inputted from the terminal 207 to receive/change, through the terminal 207, an explaining logic stored in the explaining logic storage unit 706 (box 4001). Subsequently, a sentence structure of the changed explaining logic is checked (box 4001). It is decided whether an error is found in sentence structure checking in box 4002 (box 4003). If an error is determined in box 4003, the contents indicative of the error is displayed on the terminal 207 and the procedure returns to the processing of box 4001 (box 4004). If no error is determined in box 4003, the pre-compile unit 704 is started and the procedure ends (box 4005). The explaining logic referred to herein is data which defines an explaining statement explanatory of a planning procedure and results and defines the condition and the like factor for delivery of the explaining statement, by using unfamiliar variable names such as technical terminology used by persons in charge of planning or Japanese language. FIG. 10 shows an example of the explaining logic explanatory of a planning procedure and results in, for example, process planning service. In the explaining logic of FIG. 10, 1001 designates an explain block statement indicative of the beginning of the explaining logic, 1002 a &#34;for&#34; statement defining affixes of variables, 1003 a definition part defining explanation definition variables, 1004 a logic part defining explaining statement selection conditions, 1005 to 1007 an expression part defining the output forms of explaining statements, the expression part being capable of providing a plurality of definitions and ending in an end expression statement, and 1008 an end block statement indicative of the end of the explaining logic. 
     FIG. 19 shows output display states of the plan and the explaining statement. The expression (explanation 1 of job) 1006 in the explaining statement definition of FIG. 10 corresponds to an explaining statement 192 on the upper display diagram in FIG. 19. The expression (explanation 2 of job) 1007 in the explaining statement definition of FIG. 10 where definition statement is omitted corresponds to an explaining statement 194 on the lower display diagram in FIG. 19. 
     The operation of the calculation logic edit unit 703 will be described with reference to an operation flow chart of FIG. 41. 
     The calculation logic editor 703 responds to an edit request inputted from the terminal 207 to receive/change, through the terminal 207, a program stored in the calculation logic source program storage unit 707 (box 4101). Subsequently, the calculation logic editor 703 checks whether a calculation logic source program name inputted to the variable name correspondence table storage unit 705 is registered (box 4102). When the inputted calculation logic source program name is determined to be unregistered in box 4102, the contents &#34;The inputted calculation logic source program name is unregistered and the calculation logic source program name should be registered in the variable name correspondence table storage unit 705&#34; is displayed on the terminal 207 (box 4103). FIG. 11 shows an example of the source program stored in the calculation logic source program 707. The calculation logic source program exemplified in FIG. 11 is a program which returns by using as an argument a lot number of a certain product and time for the product to be processed by an apparatus of a certain number. 
     The pre-compile unit 704 converts the explaining logic in the explaining logic storage unit 706 and the source program in the calculation logic source program storage unit 707 into a program executable by the computer, and stores the program in the explaining logic program storage unit 205. 
     FIG. 12 shows how functional blocks are related to a table in the pre-compiler 704. As illustrated, the pre-compiler 704 includes an explaining logic analysis register unit 1201, a variable relation register unit 1202, a source code generator unit 1203, a compile link unit 1204, a variable relation storage unit, an explaining condition storage unit 1206, an explaining statement storage unit 1207 and an explaining logic source program storage unit 1208. The variable relation storage unit 1205 includes an affix registration table 1301, a variable registration table 1302 and an explaining statement name registration table 1303 and is operable to store affixes of variables contained in the explaining logic (explaining variables) and a correspondence table describing Japanese variable&#39;s names or English variable&#39;s name corresponding to definition variable&#39;s names. 
     When the contents of the explaining logic storage unit 706 or variable&#39;s name dictionary storage unit 705 is renewed, the pre-compiler 704 is operated to activate the explaining logic analysis register unit 1201, variable relation register unit 1202, source code generator unit 1203 and compile link unit 1204 sequentially. 
     The operation of the explaining logic analysis register unit 1201 will be described with reference to an operation flow chart of FIG. 14. 
     The explaining logic in the explaining logic storage unit 706 is first inputted, wording analysis and sentence structure analysis of the explaining logic are carried out, affixes such as x, y and z described in the &#34;for&#34; statement and Japanese variable&#39;s names corresponding to the affixes are registered in the affix registration table 1301, and English variable&#39;s names corresponding to the Japanese variable&#39;s names of the affixes are obtained from the variable&#39;s name dictionary 705 and stored in the affix registration table 1301 (box 1401). Similarly, explanation definition variables beginning with $ on the left side and Japanese variable&#39;s names on the right side in the definition part are registered in the variable registration table 1302. English variable&#39;s names corresponding to affixes of the Japanese variable names or technical terms on the right side are obtained from the affix registration table 1301 and stored in the variable registration table 1302 (box 1402). Also, the conditions for selection of explaining statements described in the logic part are stored in the explaining condition storage unit 1206 (box 1403). More particularly, a conditional statement described in the &#34;if&#34; clause and an explaining statement Japanese name in the &#34;then&#34; clause which is delivered when &#34;if&#34; clause stands are stored in the explaining condition storage unit 1206. At that time, if Japanese variables unregistered in the variable registration table 1302 exist in the &#34;if&#34; clause, they are registered in the variable registration table 1302. FIG. 15 shows an example of the explaining condition storage unit 1206. Subsequently, analysis of wordings and sentence structures in the expression part is carried out and execution of the following processing follows. Firstly, &#34;i&#34; is set to 1 (box 1404). An explaining statement Japanese name and an explaining statement English name corresponding to the explaining statement Japanese name are registered in the explaining statement name registration table 1303 by using the value of &#34;i&#34; as an explaining statement start line number (box 1405). The following statement is decided (box 1406) and if an output definition of an explaining statement is present, &#34;i&#34; is counted up (box 1407), an output definition of the explaining statement parenthesized by &#34; &#34; is analyzed, an output form and a definition variable name of an explaining variable are sequentially stored in the explaining statement storage unit 1207 (box 1408) and the procedure returns to the output of box 1405. If a definition of an explaining statement name is determined in box 1406, the definition is registered in the explaining statement name registration table 1303 by using the value of &#34;i&#34; as an explaining statement end line number (box 1409) and the procedure returns to the processing of box 1406. If &#34;end express;&#34; statement is determined in box 1406, the procedure ends. An example of the explaining statement storage unit 1206 is shown in FIG. 16. 
     The variable relation registration unit 1202 responds to the contents of the variable name correspondence table storage unit 705 to determine English code names corresponding to Japanese technical terms in the affix registration table 1301 and variable registration table 1302 and store the determined English names in the respective registration tables. 
     The source code generator unit 1203 receives the contents of each of the variable relation storage unit 1205, explaining condition storage unit 1206 and explaining statement storage unit 1207 and uses the English code names in the variable relation storage unit 1205 to prepare a source program complying with a language specification in the compile link unit 1204 and store the program in the explaining logic source program storage unit 1208. An example of the source program stored in the explaining logic source program storage unit 1208 is shown in FIG. 17. Especially, FIG. 17 shows an example of a source program converted into C language. 
     The compile link unit 1204 receives source programs from the explaining logic source program storage unit 1208 and calculation logic source program storage unit 707, converts the source programs into programs directly executable by the computer and stores the converted programs into the explaining logic program storage unit 205. 
     The operation of the plan explainer unit 203 will now be described with reference to an operation flow chart of FIG. 18. 
     When started through the terminal 207, the plan explainer unit 203 first responds to data of planning results from the planning object data 206 to display planning results on the terminal 207 (box 1801). Subsequently, the plan explainer unit 203 receives explaining object information from the terminal 207 and stores the information in the explaining object information storage unit (box 1802) disposed in the plan explainer unit 203. If at that time explaining end information is inputted, the procedure ends (box 1803). Subsequently, a program in the explaining logic program storage unit 205 is executed to display, on the terminal 207, a planning procedure corresponding to the explaining object information stored in the object information storage unit and a statement explanatory of the planning results, and the procedure returns to the processing of box 1802 (box 1804). 
     In the present embodiment, the explaining object information classifies the type of object into &#34;job&#34; and &#34;apparatus (machine)&#34;, and when the object type is &#34;job&#34;, the object log number and object process number of the job are stored in the object information storage unit but when the object type is &#34;apparatus&#34;, the object apparatus number is stored in the object information storage unit. 
     FIGS. 19 and 32 show examples of display of the planning results and explaining statement. In particular, FIG. 19 shows at 191 an explanation of planning procedure and results of a job and at 194 an explanation of designated state of apparatus, and FIG. 32 shows an explanation of spare time data for an allotted job. 
     The operation of the plan modifier unit 204 will be described with reference to an operation flow chart of FIG. 42. 
     When started, the plan modifier 204 inquires, through the terminal 207, the end user whether planning data should be modified (box 4201). If plan data modification is designated in box 4201, planning data in the planning data storage unit 103 is displayed on the terminal 207 and the end user modifies the data (box 4202). If plan data modification is not designated in box 4201, the program proceeds to a processing of box 4203. Then, in box 4203, the plan modifier inquires, through the terminal 207, the end user whether the planning data should be stored (box 4203). If plan data registration is designated in box 4203, the planning data in the planning data storage unit 103 is stored as eventual plan data into the plan storage unit 209 and the procedure ends (box 4202). If plan data registration is not designated in box 4203, the procedure ends. 
     According to the present embodiment, grounds for conclusion can be indicated by the explaining statement and advantageously, the quality of the results can be determined accurately. Further, the prepared plan result can be modified as necessary and plans and appropriate plans can be prepared easily to advantage. 
     In the present embodiment, since the explaining logic for display of various kinds of information in course of planning can be described easily in Japanese language, the behavior of the system in course of planning can be understood easily to advantage without assistance of knowledge of computer. 
     In the present embodiment, since the explaining logic described in Japanese is converted into a computer program and executed, execution efficiency can advantageously be high. 
     In the present embodiment, the explaining object can be selected desiredly and therefore only an explaining statement of a desired plan object can be displayed and labor and time for retrieval of unnecessary information can be excluded. 
     When the source code generator unit 1203 prepares an explaining logic program by adding control statements repeatedly, a resulting program can be such that explaining statements can be prepared for all of object data and delivered to the memory unit. In this case, it is sufficient that the plan explainer 203 performs only a processing in which the contents of the aforementioned memory unit is read and displayed. This ensures that explaining information for a planning procedure concerning all of object data can be acquired easily to advantage. 
     In the present embodiment, the condition for selection of explaining statement is described in the explaining logic data but the explaining logic data may be described with only the output definition of the explaining statement. In this case, all of defined explaining statements are always displayed, thereby facilitating definition of explaining logic. 
     In the present embodiment, the explaining logic is defined in the form of a predetermined sentence structure but the explaining logic may be inputted in table form directly into the variable relation storage unit 1205, explaining condition storage unit 1206 and explaining statement storage unit 1207 and edited thereby, thus permitting omission of edit processing of the explaining logic. 
     The present embodiment is applied to the system handling the planning problem but the invention may be applicable to systems handling other problems, thereby attaining the advantage that the system behavior can be grasped with ease in various types of system. 
     A planning support system according to the third embodiment of the invention will now be described by mainly referring to FIG. 20 showing how functional blocks are related to a table. 
     In the third embodiment of the present invention, the explaining logic is not previously compiled to a calculation program which can be executed by the computer, but directly interpreted and executed in response to the output request for the explaining statement from the terminal 207. 
     The planning support system 2000 of this embodiment includes a planning unit 101, an edit processing unit 2001, an explaining logic analysis unit 2002, a plan explainer unit 2003, a plan modifier unit 204, a variable name correspondence table storage unit 705, an explaining logic storage unit 706, a calculation logic source program storage unit 707, a variable relation storage unit 1205, an explaining condition storage unit 1206, an explaining statement storage unit 1207, a planning data storage unit 103, a terminal 207, a plan input unit 208 and a plan storage unit 209. The planning unit 101 and plan object data storage unit 103 are the same as those of the first embodiment, and the plan modifier 204, variable name correspondence table storage unit 705, explaining logic storage unit 706, calculation logic source program storage unit 707, variable relation storage unit 1205, explaining condition storage unit 1206, explaining statement storage unit 1207, terminal 207, plan input unit 208 and plan storage unit 209 are the same as those of the second embodiment. 
     Responsive to an edit request inputted from the terminal 207, the edit processor 2001 edits, through the terminal 207, the contents of the variable&#39;s name dictionary storage unit 705 and explaining logic storage unit 706 or the contents stored in the calculation logic source program storage unit 707. 
     The explaining logic analyzer 2002 includes an explaining logic analysis registration unit 1201 and a variable relation registration unit 1202 and when the contents of the explaining logic storage unit 706 or variable name correspondence table storage unit 705 is renewed, it is operated to activate the explaining logic analysis register 1201 and variable relation register 1202 sequentially. The explaining logic analysis register 1201 and variable relation register 1202 operate as described in connection with the second embodiment and results of their execution are stored in variable relation storage unit 1205, explaining condition storage unit 1206 and explaining statement storage unit 1207. 
     The operation of the plan explainer 2003 will be described with reference to an operation flow chart of FIG. 22. 
     When the plan explainer 2003 is started through the terminal 207, the planning result display unit 101 first displays results of planning on the terminal 207 on the basis of planning result data in the plan object data 206 (box 2201). Subsequently, the plan explainer 2003 receives explaining object information from the terminal 207 and stores it in the explaining object information storage unit (box 220). If explanation end information is inputted, the procedure ends (box 2203). Subsequently, a conditional statement in the explaining condition storage unit 1206 is decided on the basis of the contents of the explaining object information storage unit to determine an output explaining statement Japanese name corresponding to a valid conditional statement (box 2204). Thereafter, an explaining statement start line number and an explaining statement end line number, both corresponding to the aforementioned output explaining statement Japanese name are derived from the explaining statement registration table 1303 in the variable relation storage unit 1205 (box 2205). An explaining statement is prepared on the basis of output form and output variable lying between the previously obtained explaining statement start and end line numbers in the explaining statement storage unit 1207 and displayed on the terminal 207; and then the procedure returns to box 2202 (box 2206). At that time, the value of output variable is determined in accordance with the value of English variable&#39;s name obtained from the variable registration table 1302 or by the calculation logic source program. 
     According to the present embodiment, grounds for conclusion can be indicated by the explaining statement and advantageously, the quality of the results of the planning can be determined accurately. Further, the prepared plan can be modified as necessary and plans and appropriate plans can be prepared easily to advantage. 
     In the second embodiment, the explaining logic is pre-compiled to be converted into a program executable directly by the computer and by which the explaining statement is prepared and displayed but according to the present embodiment, the explaining logic is analyzed directly and executed so that the explaining statement can be displayed similarly without executing the pre-compile processing in the second embodiment. The present embodiment is therefore suited to an application where the contents of explanation is frequently changed as in the case of initial phase of system development. 
     A planning support system according to a fourth embodiment of the invention will now be described by mainly referring to FIG. 23 showing how functional blocks are related to a table. 
     In the fourth embodiment of the present invention, the calculation equations (business logic) are also used as the calculation equations for the explanating statement. 
     The planning support system of this embodiment, designated by reference numeral 2300, includes an edit processing unit 2301, a planning unit 2302, a plan explainer unit 203, a plan modifier unit 204, an explaining logic program storage unit 205, a process logic program storage unit 2303, a planning process data storage unit 103, a terminal 207, a plan input unit 208, and a plan storage unit 209. The planning process data storage unit 103 is the same as that of the first embodiment, and the plan explainer 203, plan modifier 204, explaining logic program storage unit 205, terminal 207, plan input unit 208 and plan storage unit 209 are the same as those of the second embodiment. 
     FIG. 24 shows how functional blocks are related to a table in the edit processor 2301. The edit processor 2301 corresponds to the edit processor 202 in the second embodiment and it substitutes a process logic edit unit 2401 and a plan logic source program storage unit 2403 for the calculation logic editor 703 and calculation logic source program 707 and additionally includes a process logic pre-compile unit 2402 and the process logic storage unit 2404. 
     Responsive to an edit request inputted from the terminal 207, the process logic editor 2401 receives and changes a process logic stored in a business logic storage unit 2403 under the direction of the terminal 207. The editor 2401 also operates to analyze a sentence structure of the changed explaining logic, check the sentence structure and in the presence of an error, display the contents of the error on the terminal 207. The process logic referred to herein is data which defines logics (process logics) used for planning, by using unfamiliar variable names such as technical terminology used by persons in charge of planning or Japanese language. FIG. 25 shows an example of the process logic for calculating process times by which individual lots are processed with individual apparatus in, for example, process planning business. 
     The process logic pre-compiler 2402 converts the process logic in the process logic storage unit 2402 into a program executable by the computer and stores the program into a process logic execution program storage unit 2303. 
     FIG. 26 shows how functional blocks are related to a table in the process logic pre-compile unit 2403. As illustrated, the pre-compiler 2403 includes a variable relation register unit 2601, a calculation sequence generation unit 2602, a source code generator unit 2603, a compile link unit 2604, a process logic variable relation storage unit 2605, a calculation sequence storage unit 2606 and a process logic procedural program storage unit 2607. The process logic variable relation storage unit 2607 has the same data structure as that of the second embodiment and stores a correspondence table of Japanese technical term and English code name corresponding to variable&#39;s names included in the process logic. 
     When the contents of the process logic storage unit 2043 or variable name correspondence table storage unit 705 is renewed, the process logic pre-compiler 2402 is operated to activate the process logic variable relation register 2601, calculation sequence generation unit 2602, process logic source code generator 2603 and process logic compile link unit 2604 sequentially. 
     The process logic variable relation register 2601 stores affixes such as x, y and z described in the &#34;for&#34; statement of the process logic and Japanese technical terms corresponding to the affixes in the affix registration table, obtains English code names corresponding to the Japanese technical terms of the affixes from the variable name correspondence table 705 and stores the English code names in the affix registration table. Variables cut out by wording analysis are registered in the variable registration table. English code names corresponding to affixes of Japanese technical terms are derived from the affix registration table and stored in the variable registration table 1402. 
     The calculation sequence controller 2602 responds to a statement in the logic part of the process logic and the contents of the process logic variable relation storage unit 2605 to prepare the calculation sequence and store it in the calculation sequence storage unit 2506. 
     The process logic source code generator 2603 receives the contents of the process logic variable relation register 2605 and calculation sequence storage unit 2606 and uses the English code name in the process logic variable relation register 2605 to prepare a procedural program complying with a language specification of the process logic compile link unit 2604 and store the procedural program in the process logic procedural program storage unit 2403. In the example of the process logic shown in FIG. 25, a procedural program of FIG. 11, for example, is generated. 
     The process logic compile link unit 2604 receives the procedural program from the process logic procedural program storage unit 2607, converts the procedural program into a program executable directly by the computer and stores it in the process logic program 2303. 
     The planning unit 2302 utilizes the program in the process logic execution program storage unit 2303 to prepare a plan and stores the results in the planning data storage unit 103. 
     The pre-compile unit 2403 essentially resembles the first embodiment but the compile link unit performs a different processing wherein the procedural programs of the explaining logic source program storage unit 1208 and process logic procedural program storage unit 2302 are received and converted into programs executable directly by the computer, the converted programs being stored in the explaining logic program 205. 
     According to the present embodiment, the logic used for planning can be described in technical terminology familiar with persons in charge of planning or Japanese language and therefore the user having a full understanding of Japanese language can easily deal with changing the planning logics to advantage. Further, by utilizing the process logic used for above planning for calculation logic description in the explaining logic, the explaining logic can easily be prepared without assistance of knowledge of computers to advantage. 
     A planning support system according to a fifth embodiment of the invention will now be described by mainly referring to FIG. 27 showing how functional blocks are related to a table. 
     In the fifth embodiment of the present invention, a trace information in the planning process and the explanating information are outputted. 
     The planning support system of this embodiment, designated by reference numeral 2700, includes an edit processing unit 202, a planning unit 2701, a explaining statement generator unit 2702, a plan display modifier unit 2703, an explaining logic program storage unit 205, a trace information storage unit 2704, an explaining information storage unit 2705, a planning process data storage unit 103, a terminal 207, a plan input unit 208 and a plan storage unit 209. The planning data storage unit 103 is the same as that of the first embodiment, and the edit processor 202, explaining logic program storage unit 205, terminal 207, plan input unit 208 and plan storage unit 209 are the same as those of the second embodiment. 
     When started through the terminal 207, the planning unit 2701 prepares a plan on the basis of object data in the planning data storage unit 103 and stores prepared plan data in the planning data storage unit 103. Each time the planning step is executed, execution information is stored in the trace information storage unit 2704. For example, in the planning step, a certain job is distributed or allotted to a certain apparatus. Each time the planning step is executed, the execution information (for example, allotted job and designated apparatus) is sent to the explaining statement generator 2702. 
     When receiving execution information from the planning unit 2701, the explaining statement generator 2702 executes a program stored in the explaining logic program storage unit 205 and stores the results in the explaining information storage unit 2705. 
     When started through the terminal 207, the plan display modifier 2703 responds to a request of the end user to display the contents of the trace information storage unit 2704 and explaining information storage unit 2705. FIG. 31 shows an example of display of the trace information. 
     The modifier 2703 also performs a processing for modifying the planning data in the planning data storage unit 103 and/or storing as eventual data the planning data in the planning data storage unit 103 into the plan storage unit 209. 
     According to the present embodiment, the planning step can advantageously be grasped accurately and in detail. 
     A planning support system according to a sixth embodiment of the invention will now be described by mainly referring to FIG. 28 showing how functional blocks are related to a table. 
     The planning support system of this embodiment, designated by reference numeral 2800, includes a planning unit 2801, an edit processing unit 2001, an explaining logic analysis unit 2002, a plan display modifier unit 2802, a variable name correspondence table storage unit 705, an explaining logic storage unit 706, a calculation logic source program storage unit 707, a variable relation storage unit 1205, an explaining condition storage unit 3002, an explaining statement storage unit 1207, a planning object data storage unit 103, a trace information storage unit 2803, a terminal 207, a plan input unit 208 and a plan storage unit 209. The planning object data storage unit 103 is the same as that of the first embodiment, and the edit processor 2001, explaining logic analyzer 2002, variable name correspondence table storage unit 705, explaining logic storage unit 706, variable relation storage unit 1205, explaining statement storage unit 1207, terminal 207, plan input unit 208 and plan storage unit 209 are the same as those of the third embodiment. 
     When started through the terminal 207, the planning unit 2801 prepares a plan on the basis of process data in the planning data storage unit 103 and stores the prepared plan data in the planning data storage unit 103. Each time that the planning step is executed, execution information is stored in the trace information storage unit 2803. 
     In the present embodiment, an explaining statement name to be displayed when the explaining statement selection condition stands and a program name to be started when the explaining statement selection condition stands may be described in the description in the logic part of the explaining logic. FIG. 29 shows an example of description of the aforementioned explaining logic. In FIG. 29, an English name parenthesized by () after call is a program name started when the explaining statement selection condition stands. In the present embodiment, the started program name is defined by a Japanese language name, and an English program name corresponding to the Japanese program name is registered in advance in the variable name correspondence table storage unit 705. In the present embodiment, a restriction violating state is described in the explaining selection condition and a violation cancellation program is designated as a program to be started. The explanation selection condition is stored in the explaining condition storage unit 3002 in a format as shown in FIG. 30. 
     The plan display modifier 2802 responds to a request of the end user through the terminal 207 to prepare and display an explaining statement and modify display and planning of the trace information. For preparation and display of the explaining statement, an operation similar to that performed by the plan explainer unit 2003 of the second embodiment is carried out. Display of the trace information is effected on the basis of the information in the trace information storage unit 2704 to display trace information data as shown in FIG. 31, as in the case of the fifth embodiment. The plan can be modified through an operation similar to that performed by the plan modifier 204 of the third embodiment. If there is a violation of the restriction in the result of the plan, the explaining statement indicated by the explaining logic is outputted and then a violation cancelling program is executed upon receiving instruction from the end user so as to modify the result of planning. 
     According to the present embodiment, since an initial plan can be prepared and the results can be modified, a desired plan satisfying the restriction can advantageously be prepared with ease. Further, even when an urgent job is added, a rapid response thereto can be made to advantage. 
     While in the present embodiment the violation cancellation processing is executed in response to the designation by the end user after completion of the planning processing, the contents of the explaining condition storage unit 3002 may be decided during planning so that the violation cancellation program may be started at the time that the condition is satisfied. 
     According to the present embodiment, even when the constrained condition violation occurs during planning, the violation cancellation processing can be executed automatically and advantageously the plan results meeting the constrained condition can be obtained. 
     A seventh embodiment of the invention will now be described. 
     The seventh embodiment is directed to an application of the present invention to a general computer processing system and will be described with reference to FIG. 33 showing how functional blocks are related to a table. 
     The computer processing system of this embodiment, designated by reference numeral 3301, includes a processing execution unit 3302, an object/processing data storage unit 3303, an edit processing unit 202, an explaining processing unit 3304, an explaining logic program storage unit 205 and a terminal 207, and the edit processing unit 202, explaining logic program storage unit 205 and terminal 207 are the same as those of the first embodiment. 
     The processing executor 3302 executes a processing on the basis of object data in the object/processing data storage unit 3302 and stores data of the process procedure and the processing results into the object/processing data storage unit 3302. 
     The description processor 3304 responds to explaining object information inputted through the terminal 207 and the contents of the object/processing data storage unit 3303 to execute a program in the explaining logic program storage unit 205 so as to display an explaining statement. 
     According to the present embodiment, the behavior of systems including in general the computer processing system can advantageously be grasped in detail and accurately. 
     An eighth embodiment of the invention will now be described. 
     The eighth embodiment is directed to an application of the present invention to a knowledge base system having the deduction function and comprised of a knowledge base and a working memory and will be described with reference to FIG. 34 showing how functional blocks are related to a table. 
     The knowledge base system of this embodiment, designated by reference numeral 3401, includes a deduction mechanism 3402, a knowledge engineering base 3403, a working memory 3404, an edit processing unit 202, an explaining processing unit 3405, an explaining logic program storage unit 205 and a terminal 207, and the edit processor 202, explaining logic program storage unit 205 and terminal 207 are the same as those of the first embodiment. 
     The deduction mechanism 3402 executes deduction on the basis of the contents of the knowledge base 3403 and working memory 3404 and stores data of the deduction procedure and the deduction results in the working memory 3404. 
     The explaining processor 3405 responds to explaining object information inputted through the terminal 207 and information in the working memory 3404 to execute a program in the explaining logic program storage unit 205 and display an explaining statement. 
     According to the present embodiment, in addition to mere trace information represented by knowledge information executed by the deduction mechanism, persuasible information in the form of an explaining statement can be obtained, thus attaining an advantage that the behavior of the knowledge base system can be grasped in detail and accurately. Further, even if knowledge described in procedural language is stored in the knowledge base, the deduction procedure can advantageously be explained. 
     A ninth embodiment of the invention will now be described. 
     The ninth embodiment is directed to an application of the present invention to a relational data base system and will be described with reference to FIG. 35 showing how functional blocks are related to a table. 
     The relational data base system of this statement, designated by reference numeral 3501, includes a data base managing unit 3502, a relational data base storage unit 3503, an edit processing unit 202, an explaining processing unit 3504, an explaining logic program storage unit 205 and a terminal 207, and the edit processor 202, explaining logic program storage unit 205 and terminal 207 are the same as those of the first embodiment. 
     The data base manager 3502 executes management of input/output and the like of a relational data base in the data base storage unit 3503. 
     Stored in the relational data base storage unit 3503 is relational data as shown in FIG. 9. 
     The explanation processor 3504 responds to explaining object information inputted through the terminal 207 and the contents of the relational data base storage unit 3503 to execute a program in the explaining logic program storage unit 205 so as to display an explaining statement. 
     According to the present embodiment, the structure of complicated relational data base can be understood easily, thereby facilitating maintenance to advantage. 
     According to the present invention, grounds for conclusion can be indicated to problems in which various substitutive plans can be conceived when preparing a plan in various kinds of planning business by utilizing a computer, so that the quality of the results can be determined accurately. Further, the prepared plan can be modified as necessary and therefore plans and appropriate plans can be prepared easily. 
     Moreover, according to the invention, since the explaining logic for expressing various kinds of information in course of planning can be described in Japanese language with ease, the behavior of the system in course of planning can easily be understood without assistance of knowledge of computers.