JPH04127328A - Execution control method for system consisting of plural modules - Google Patents

Execution control method for system consisting of plural modules

Info

Publication number
JPH04127328A
JPH04127328A JP24930990A JP24930990A JPH04127328A JP H04127328 A JPH04127328 A JP H04127328A JP 24930990 A JP24930990 A JP 24930990A JP 24930990 A JP24930990 A JP 24930990A JP H04127328 A JPH04127328 A JP H04127328A
Authority
JP
Japan
Prior art keywords
module
execution
modules
executed
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP24930990A
Other languages
Japanese (ja)
Inventor
Setsu Ogata
尾方 説
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP24930990A priority Critical patent/JPH04127328A/en
Publication of JPH04127328A publication Critical patent/JPH04127328A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To avoid the fixation of a flow of a processing by structuring each module so as to operate completely independently, and deciding the module to be executed in the next time and controlling dynamically the execution by a production system. CONSTITUTION:In an execution control module, a program of a sequential type is not described, a variable item which becomes a turning point for executing each module is described in a frame, a dispatch rule set (inference module) for defining a rule in which an execution condition of each module and a call of the module to be executed are described on the left side and the right side, respectively is described, and by actuating it, the module (processing) to be executed in the next time and its module is executed dynamically by a production system. Therefore, structure of each module becomes such structure as each module operates completely independently, and becomes such structure as a result of processing of the other module is not expected, and a variable in the other module is not referred to nor updated directly. In such a way, the whole system can be controlled dynamically.

Description

【発明の詳細な説明】 [産業上の利用分野J この発明は推論処理モジュール、計算処理モジュール、
入出力処理モジュールなどの複数のモジュールからなり
、これらモジュールを連鎖的に実行させて作業を行うシ
ステム、例えばエキスパートシステムの実行制御方法に
関する。
[Detailed Description of the Invention] [Industrial Application Field J] This invention relates to an inference processing module, a calculation processing module,
The present invention relates to an execution control method for a system, such as an expert system, which is composed of a plurality of modules such as an input/output processing module, and performs work by executing these modules in a chain.

「従来の技術」 最近、専門家の知識を電子計算機に取込み、あたかも専
門家のごとく電子計算機に推論を実行させるエキスパー
トシステムの開発がめざましい。
``Prior Art'' Recently, there has been a remarkable development of expert systems that incorporate the knowledge of experts into electronic computers and allow the computers to perform inferences as if they were experts.

エキスパートシステムでは、通常、事実知識を表現する
(記憶する)フレームと、そのフレームとの照合により
条件判断を行い、ある行動を行うルールとが用いられる
。また、エキスパートシステムは、複数のルールにより
部分的な問題解決を行う推論モジュール(ルールセット
)の組合せにより、問題を解決する。また、計算処理や
入出力処理を行う多くのモジュールも必要であり、さら
4これらのモジュールを組合せて一つの仕事を行だため
に種々の複数モジュールの実行を制御するル御モジュー
ルとから一つのシステムが構成され2第6図に従来のエ
キスパートシステムのモジュール構成を示す。
Expert systems usually use a frame that expresses (memorizes) factual knowledge and a rule that makes a conditional judgment based on comparison with the frame and performs a certain action. Furthermore, an expert system solves a problem by combining inference modules (rule sets) that partially solve the problem using a plurality of rules. In addition, many modules that perform calculation processing and input/output processing are also required, and a control module that controls the execution of various modules in order to combine these modules to perform a single job. FIG. 6 shows the module configuration of a conventional expert system.

従来のエキスパートシステムでは、推論、計算入出力な
どのモジュールの実行を制御する実行制御モジュールは
、その実力内容が逐次処理型で、つまりプログラムで記
述されており、予め決定された流れにより各モジュール
を実行させている。
In conventional expert systems, the execution control module that controls the execution of modules such as inference and calculation input/output is a sequential processing type, that is, it is written as a program, and each module is executed according to a predetermined flow. I am running it.

エキスパートシステムを利用するときには、まず診断す
る対象の状況や設計条件など何らかの情報を与える必要
があり、まず最初に、情報入力を促すメツセージや入力
項目を選択させるメニューや関連する情報を一括入力す
る表形式などの入力手段を実現する入力モジュールが実
行される。必要な情報が入力されると、予め決められた
順序で推論や計算、詳細情報の入力などのモジュールが
実行されて結論が出される。入力情報の修正や追加は、
修正項目の選択などの入力により該当モジュールまで、
あるいはシステムの開始点まで処理の流れを戻し、一連
の流れを再び繰り返すことになる。しかし、このように
、モジュール処理の流れを予め定めることには、下記の
ように、いくつかの問題点がある。
When using an expert system, it is first necessary to provide some information such as the situation of the target to be diagnosed and the design conditions.First of all, it is necessary to provide a message prompting for information input, a menu for selecting input items, and a table for bulk input of related information. An input module implementing an input means such as a format is executed. Once the necessary information is input, modules such as inference, calculation, and input of detailed information are executed in a predetermined order to reach a conclusion. To correct or add input information,
By inputting the selection of correction items, etc., to the corresponding module,
Alternatively, the flow of processing is returned to the starting point of the system and the series of steps is repeated again. However, predetermining the flow of module processing in this way has several problems as described below.

(a)  処理の流れを固定化することが困難な作業が
ある 専門家が思考錯誤して多くのモジュールを判然としない
手順で作業してる思考形態を、計!機上にモデル化、プ
ログラミングすることが困難な場合がある。しかし、も
ともとエキスパートシステムは、専門家の知識を宣言的
に定義し、プロダクションシステムを用いて判断順序を
意識しないでシステムを構築できるものであるが、これ
は、1つの推論モジュール(ルールセット)内のルール
間、あるいはそのルールセット内から呼び出されるルー
ルセット間に限られており、他の推論モジュールや入出
力、計算モジュールの間では、プロダクションシステム
を利用してなく、実行を制御する何らかのm能を与える
必要がある。
(a) The way experts who have tasks for which it is difficult to establish a fixed processing flow is working on many modules using unclear procedures due to thinking errors, can be summarized! May be difficult to model and program on-board. However, originally, an expert system was able to define expert knowledge declaratively and use a production system to build a system without being aware of the order of decisions; or between rulesets that are called from within that ruleset, and between other inference modules, input/output, and calculation modules, there is no production system involved, and there is some kind of function that controls execution. need to be given.

(b)  入力順序が固定化されてしまう逐次処理型の
プログラミングにより入力モジュールの呼びだしを行う
場合には、そのプログラムにより入力順序が固定化され
てしまう。
(b) When an input module is called by sequential processing programming in which the input order is fixed, the input order is fixed by the program.

エキスパートシステムを利用するときには、診断する対
象の状況や設計条件など何らかの情報を与えなければな
らない、しかし、必要となる全ての入力情報が最初に与
えられるものではなく、推論途中にその情報の必要性が
判明する項目や、未入力であっても「未知である」とい
う情報により推論を行ない、何らかの結論を出さなけれ
ばならない場合がある6例えば、お宮様の話を聞きなが
ら問診を行う場合などでは、人それぞれに重要項目の考
え方や思考過程の違いがあり、お宮様により情報の得ら
れる順序が異なってくる。また、その時々の情報によっ
て判断1計算する処理も異なってくる。
When using an expert system, it is necessary to provide some information such as the situation of the target to be diagnosed and the design conditions.However, all the necessary input information is not provided at the beginning, and the need for that information is determined during the inference process. There are cases where it is necessary to make inferences and come to some kind of conclusion based on information that is ``unknown'' even if it is not entered.6 For example, when conducting an interview while listening to the story of the shrine maiden. , each person has a different way of thinking about important items and their thought process, and the order in which information is obtained differs depending on the shrine. Furthermore, the processing for calculating the judgment 1 differs depending on the information available at the time.

例えば、AV製品の販売を行う場合では、「予算Ooぐ
らいでセットを組んで欲しいJや、[××ll能を持っ
たΔΔが欲しい、」などと、最初に得られる情報もお宮
様によって異なってくる。また、得られた情報のみでお
宮様の要求を分析し、商品の選定・セールスを行なわな
ければならない。
For example, when selling AV products, the initial information obtained will vary depending on the prince, such as, ``I want a J that I want to build a set with a budget of Oo, or I want a ΔΔ that has [xxll ability.''It's coming. In addition, they must analyze the requests of the shrine lord using only the information obtained, and select and sell products.

このような場合には、rまず、欲しい商品種別を聞いて
、予算を入れて、要求されているI!能を順序通りに入
力しなければならないjといったような入力順序や計算
順序が固定化されて一義的な流れでしか対応できないシ
ステムでは利用性に大きな問題がある。
In such a case, first ask about the type of product you want, enter your budget, and check the requested I! Systems that have a fixed input order or calculation order, such as functions that must be entered in the correct order, and can only handle a unique flow, have a major problem in usability.

(C)  モジュールの追加/変更が容易でないプログ
ラミングによりモジュールの実行を制御している場合に
は、モジュールの追加/変更に伴い実行制御モジュール
内のプログラムの変更が必要となり、モジュール実行の
順序性の検討などに多くの時間を必要とする。さらに、
モジュールの構造が悪いと、あるモジュールが追加/変
更されたことで他の処理が影響を受け、全く同し処理内
容であるにもかかわらず、そのモジュールの構造(プロ
グラム)の変更を行う必要が生しることがある。
(C) If module execution is controlled by programming that makes it difficult to add/change modules, it is necessary to change the program in the execution control module as modules are added/changed, and the order of module execution may be affected. It requires a lot of time for consideration. moreover,
If the module structure is bad, adding or changing one module will affect other processes, and the structure (program) of that module may need to be changed even though the processing content is exactly the same. Sometimes it happens.

この発明の目的は、上記の問題点を解決するために、例
えばユキスバートシステムに通用して専門家が複数の作
業を試行錯誤して処理している過程を容易に実現でき、
また入力する項目順序性をシステムの利用者の判断にま
かせられ、既知の情報のみを用いて判断、計算モジュー
ルを処理し結論が出せ、更に新たな情報項目を自由に選
択して入力/変更も行え、その情報により実行、あるい
は、再実行すべきモジュールを動的に判断できる、複数
のモジュールが連鎖的に実行して作業を行うシステムの
制御方法を提供することにある。
The purpose of this invention is to solve the above-mentioned problems by easily realizing a process in which experts perform multiple tasks through trial and error, for example, by using the Yukisvert system.
In addition, the order of input items is left to the system user's discretion, and the system user can make decisions using only known information, process the calculation module, and reach a conclusion, and can also freely select and input/change new information items. An object of the present invention is to provide a control method for a system in which a plurality of modules execute work in a chain manner, and which module can be dynamically determined to be executed or re-executed based on the information.

「課題を解決するための手段」 上記目的を達成するために、この発明によれば、rこん
な情報が分かったらこの作業を行う。この情報の値が変
わったらこの処理を行う。」といった知識を用いて、各
モジュール(処理)の実行契機となる変数項目をフレー
ムに記述し、各モジュールの実行条件を左辺に、実行す
べきモジュールの呼出しを右辺に記述したルールをディ
スバッチルールセット(推論モジュール)内に定義し、
そのディスパッチルールセットをプロダクションシステ
ムで起動して、上記フレームに定義された変数項目の値
の変化を検出し、上記ルールの実行条件が満たすかどう
かの判断を行って、処理すべきモジュールを選択してそ
のモジュールを実行させ、システム全体を動的に制御さ
せることを最も主要な特徴とする。
"Means for Solving the Problem" In order to achieve the above object, according to the present invention, r this work is performed when the following information is known. Perform this process when the value of this information changes. ”, the variable items that trigger the execution of each module (process) are written in the frame, the execution conditions of each module are written on the left side, and the calls of the modules to be executed are written on the right side. defined within the set (inference module),
The dispatch ruleset is activated on the production system, detects changes in the values of the variable items defined in the above frame, determines whether the execution conditions of the above rule are satisfied, and selects the module to be processed. The main feature of this system is that it allows the module to be executed and the entire system to be controlled dynamically.

従来では、モジュールの実行を制御する部分を逐次プロ
グラミングにより記述しており、専門家による作業の過
程を忠実に実現しにくく、状況に応して変化する入力項
目に対する柔軟な実行性が乏しく、また、モジュールの
追加/変化により実行制御に対し綿密な検討が必要とな
るが、この発明により、これらの事を解決できる。
Conventionally, the parts that control the execution of modules are written using sequential programming, which makes it difficult to faithfully implement the work process by experts, lacks flexibility in handling input items that change depending on the situation, and , addition/change of modules requires careful consideration of execution control, but this invention can solve these problems.

「実施例」 この発明をエキスバートノステムに通用した実施例につ
き説明する。第1図にこの実施例のモジュール構成を示
す、この実施例においては実行制御モジュールには逐次
型のプログラムは記述されておらず、各モジュールを実
行させる契機となる変数項目をフレームに記述し、各モ
ジュールの実行条件を左辺に、実行すべきモジュールの
呼出しを右辺に記述したルールが定義されたディスバ。
``Example'' This invention will be described with reference to an example that has been applied to an expert system. Figure 1 shows the module configuration of this embodiment. In this embodiment, a sequential program is not written in the execution control module, but variable items that trigger the execution of each module are written in the frame. A disburser that defines rules in which the execution conditions for each module are written on the left side and the module calls to be executed are written on the right side.

チルールセント(推論モジュール)を記述し、これを起
動してプロダクションシステムで動的に次に行うべきモ
ジュール(処理)を判断してそのモジュールを実行させ
る。
Write a chiller sent (inference module), start it, dynamically determine the next module (processing) to be performed in the production system, and execute that module.

このため各モジュールの構造は、各モジュールが完全に
独立して動作する構造とし、他のモジュールの処理結果
を期待したり、他のモジュール内の変数を直接参照、更
新することをしない構造とする。
For this reason, the structure of each module should be such that each module operates completely independently, and does not expect the processing results of other modules or directly reference or update variables in other modules. .

第2図では、分割されたモジュールとその間の情報のや
り取りを示している。回申、BBに関する入力処理を行
うモジュールlNPt1T1は、RE[1[IESTI
DATA4などの変数を参照しており、DATAl、D
ATA2などの変数を更新する。同様に、SSに関する
処理を行うモジュール?1ODULE1においては、D
ATA7などの変数を参照し、DATA4などの変数を
更新すると共に、このモジュール内から呼出されるサブ
関数5UBFUIICIが参照する変数DATA1.D
ATA2などや、更新される変数DATA5. DAT
A6などもモジュールMODtlLE1が参照/更新す
る変数として扱う。複数のモジュールで参照/更新され
る変数は、共通データ域としてフレームなどで管理し、
あるモジュール内に限定して1くことはしない。
FIG. 2 shows divided modules and the exchange of information between them. The module lNPt1T1 that performs input processing regarding the circular and BB is the RE[1[IESTI
It references variables such as DATA4, and DATA1, D
Update variables such as ATA2. Similarly, a module that performs processing related to SS? In 1ODULE1, D
It refers to variables such as ATA7 and updates variables such as DATA4, and also updates variables DATA1 . D
ATA2, etc., and the updated variable DATA5. DAT
A6 and the like are also treated as variables that are referenced/updated by the module MODtlLE1. Variables that are referenced/updated by multiple modules are managed as a common data area using frames, etc.
It is not limited to one module.

モジュールMODULEIの変数[IATAl、DAT
A2などのモジュールで参照する変数は、その値が変化
すれば当モジュールの(再)実行が必要となるものであ
るため、実行契機となる情報(変数項目)としであるフ
レームc以下、トリガフレームと呼ぶが、特別なフレー
ムではなく、実行契機となる情報以外の変数の存在も許
される。)内に定義(記述)する、第3図は、トリガフ
レームの一例を示し、各変数項目(スロット名称)ごと
にそのスロント(直が記述されている。また、更新され
る変数は、共通データとしてフレームなどで管理される
Variables of module MODULEI [IATAl, DAT
Variables referenced by modules such as A2 require (re)execution of this module if their values change, so the information (variable item) that triggers execution is the trigger frame below frame c. However, it is not a special frame, and the existence of variables other than information that triggers execution is also allowed. Figure 3 shows an example of a trigger frame, and the front (direction) is described for each variable item (slot name). Also, the variables to be updated are defined (described) in the common data. It is managed as a frame, etc.

このようにして、全ての推論、計算2人出力モジュール
の間で各々に影響を与えないように独立化させ、実行契
機となる情報(変数項目)を抽Hしてトリガフレームに
定義しておく。
In this way, all the inference and calculation two-person output modules are made independent so as not to affect each other, and the information (variable items) that becomes the trigger for execution is extracted and defined in the trigger frame. .

次に、実行制御モジュールでは、その実行内系を全てプ
ロダクションルールにより宣言的に記述する。これらの
ルールは、左辺に該当モジュールの実行を行う場合の条
件を、右辺には、そのモジュールの呼出しを記述する。
Next, in the execution control module, the entire internal execution system is declaratively described using production rules. In these rules, the conditions for executing the corresponding module are written on the left side, and the invocation of that module is written on the right side.

また、これらの全てのルールは、1つのルールセット(
以下、このルールセントをディスパッチルールセットと
呼ぶ。
Also, all these rules are contained in one ruleset (
Hereinafter, this rule set will be referred to as a dispatch rule set.

内に定義する。しかし、実行制御モジュールを補数のル
ールセットに分割する場合がよくあるが、その場合は、
階層構造として1つのルールセy トから子ルールセン
ト、孫ルールセットのように呼出される構成にする。第
4図には、ディスパッチルールセットの例を示しである
。モジュールMOD[ILElでは変数DATAI、D
ATA2.[1ATA7などが参照されるため、これら
の変数が変化した場合にモジュール?l0DULE1の
起動をするようにルールが記述されている。つまりルー
ルの左辺に実行条件として、変数DATAL、DATA
2.DATA7の変化を記述し、右辺に実行すべきモジ
ュールMODULEIが記述される。
Define within. However, it is often the case that the execution control module is divided into complementary rulesets;
It has a hierarchical structure in which one rule set is called as child rule sets and grandchild rule sets. FIG. 4 shows an example of a dispatch rule set. Module MOD [ILEl has variables DATAI, D
ATA2. [1ATA7 etc. are referenced, so if these variables change, the module? A rule is written to activate l0DULE1. In other words, the variables DATAL and DATA are added as execution conditions on the left side of the rule.
2. The change in DATA7 is described, and the module MODULEI to be executed is written on the right side.

また、入力モジュールINPIITIは、変数REQ[
1ESTIDATA4. DATA6などを参照してい
るが、変数DATA4DATA6などの変化によっては
起動されず、変数REQUESTlの変化ムこよっての
み起動されることが定義されている。また、1つのモジ
ュールに対して複数のルールが定義されることもあり、
その場合には、OR条件としていずれかのルールの条件
が満たされれば、そのモジュールの処理が行われる。
In addition, the input module INPIITI has a variable REQ[
1ESTIDATA4. Although it refers to DATA6, etc., it is defined that it is not activated by a change in variables DATA4, DATA6, etc., but only by a change in variable REQUESTl. Also, multiple rules may be defined for one module.
In that case, if the conditions of any rule are satisfied as the OR condition, the processing of that module is performed.

このように、全ての推論、計算、入出カモジュールに対
して、実行条件を記述したルールが、少なくとも1つ以
上定義される。
In this way, at least one rule describing execution conditions is defined for all inference, calculation, and input/output modules.

ここで、入出カモジュールの扱いは、他の推論計算モジ
ュールよりも実行優先順位を低く設定しておくことが考
えられる。そうすることにより、推論、計算などの処理
が優先して実行が行われ、一連の流れが終了してから次
の作業選択や情報の入力待ちの状態になり、推論や計算
の途中で予期しない入力待ちになることはない。
Here, the input/output module may be treated with a lower execution priority than other inference calculation modules. By doing so, processes such as inference and calculation are executed with priority, and after a series of flows are completed, the next task selection or information input is waiting, and unexpected problems occur during inference or calculation. There is no waiting for input.

このようにして、分割されたモジュールは、ディスパッ
チルールセットを起動するだけで、実行順序をプロダク
ションシステムが判断し、次々に実行される。プロダク
ションシステムは、事実知識を記録するフレームと、そ
のフレームと照合されて条件の真偽あるいは真偽未定が
決定されるバタン照合節を左辺に、その左辺の全てのバ
タン照合節が真となった時に実行される実行部を右辺に
持つルールとを用いて、実行順序を判定するものであり
、エキスパートシステムにおいて、推論モジュールの実
行順序の判定に用いられていた。この実施例では、実行
制御モジュールにディスパ。
In this way, the divided modules are executed one after another, with the production system determining the execution order by simply activating the dispatch ruleset. The production system consists of a frame that records factual knowledge and a slam matching clause on the left side that is compared with that frame to determine whether the condition is true or false or true/false, and all the slam matching clauses on the left side are true. This method determines the execution order using a rule that has an execution part on the right side that is executed at the same time, and was used in expert systems to determine the execution order of inference modules. In this embodiment, the execution control module includes a disper.

チルールセ、トを記述し、かつトリガフレームを設けて
、プロダクションシステムによりモジュールの実行順序
を判定させて、その判定されたモジュールを実行制御モ
ジュールにより実行させる。
By writing a chiller set and providing a trigger frame, the production system determines the execution order of the modules, and the determined module is executed by the execution control module.

第5図は、システム全体から見た実行フローの一例を示
す。ディスパッチルールセットを起動するとまずモジュ
ールの実行条件を満たすルール(実行すべきモジュール
)が存在するかどうかの判断をトリガフレームを参照し
ながら、つまり実行条件の変数が更新されたか否かをト
リガフレームを参照して、プロダクションシステムの照
合によって行われる(S、)、起動直後では情報(変数
)の変化に対するモジュール処理の必要性もなく、優先
度の最も低く設定されている入力モジュールが選択され
、人力を促すメツセージが表示され(S、)、入力項目
を選択するメニューなどにより利用者により行いたい作
業が選ばれる(S5) 。
FIG. 5 shows an example of an execution flow seen from the entire system. When you start a dispatch ruleset, it first determines whether there is a rule (module to be executed) that satisfies the module's execution condition by referring to the trigger frame. This is done by reference to the production system (S,). Immediately after startup, there is no need for module processing in response to changes in information (variables); the input module with the lowest priority is selected, and manual processing is performed. A message prompting the user to perform is displayed (S,), and the user selects the desired task from a menu for selecting input items (S5).

この選択されたことにより入力項目の情報(変数)の値
が変化し、再びモジュールの実行条件の判定が行なわれ
ることで(S、)、対応するモジュールが実行条件を満
足し、実行対象となる(St)。
Due to this selection, the value of the information (variable) of the input item changes, and the execution condition of the module is judged again (S,), so that the corresponding module satisfies the execution condition and becomes the execution target. (St).

そこで、実行制御モジュールによりそのルールの実行部
の実行によりその実行対象となったモジュール、例えば
入力モジュールが起動しく実行され)、ある情報が入力
される(S、)。そのモジュールの実行が終了すると、
再びモジュールの実行条件の照合が行われ(S、)、前
記入力モジュールにより、入力された情報(変数)によ
り実行をしなければならないモジュールが自動的に検出
される。
Then, the execution control module executes the execution unit of the rule to properly execute the module to be executed, for example, the input module), and certain information is input (S,). When that module finishes running,
The module execution conditions are checked again (S,), and the input module automatically detects the module that must be executed based on the input information (variables).

複数のモジュールが検出された場合はその中から、プロ
ダクションシステムの競合解決機能により、次に実行す
べきモジュールがただ一つ選択され処理される(S2)
。その選択されたモジュールが実行させられ、そのモジ
ュールの処理によりi化した情報(変数)は、再度モジ
ュールの実行条件の照合が行われたとき自動検出され、
その情報(変数)の変化により影響を受けるモジュール
(実行すべきモジュール)が、自動的に判断される。
If multiple modules are detected, the production system's conflict resolution function selects and processes only one module to be executed next (S2).
. The selected module is executed, and the information (variables) converted into i by the processing of the module is automatically detected when the execution conditions of the module are checked again.
Modules (modules to be executed) affected by changes in the information (variables) are automatically determined.

このように、プロダクションシステムの「実行条件の照
合/競合解決/モジュールの実行」のサイクルが、一連
の処理により情報(変数)の変化で影響を受けるモジュ
ールが存在しなくなるまで自動的に繰返され、あるまと
まった作業が行われることになる。情報(変数)の変化
で影響を受けるモジュールが存在しなくなると、起動直
後と同様に、入力待ちの状態にもどる(S、、S5 )
In this way, the production system's cycle of "execution condition matching/conflict resolution/module execution" is automatically repeated through a series of processes until there are no modules affected by changes in information (variables). A large amount of work will be done. When the module affected by the change in information (variables) no longer exists, it returns to the input waiting state as it did immediately after startup (S,, S5).
.

ここで、「システムの終了」が選択されるとディスパッ
チルールセットから抜け、システムの作業が終了する。
Here, when "terminating the system" is selected, the system exits from the dispatch ruleset and the system operation is completed.

また、次の作業が選択されると、それに関連する一連の
モジュールが順次実行される。
Additionally, when the next task is selected, a series of modules related to it are executed sequentially.

上述ではこの発明をエキスバートンステムに適用したが
、他の複数のモジュールを連鎖的に実行することにより
作業を行うシステムにこの発明を適用でき、その場合、
そのノステムにもともとプロダクションシステムが用い
られている場合、そのプロダクションシステムを用いて
次に実行すべきモジュールの判定を行わせればよいが、
プロダクションシステムを用いないシステムでは、プロ
ダクションシステムを導入して行えばよい。
Although the present invention is applied to an Exverter system in the above, the present invention can also be applied to a system that performs work by executing multiple other modules in a chain, and in that case,
If the Nostem originally uses a production system, you can use that production system to determine the next module to be executed.
For systems that do not use a production system, it is sufficient to install the production system.

「発明の効果」 以上述べたようにこの発明では各モジュールを完全に独
立に動作する構造とし、各モジュールの実行契機となる
変数唄口をフレームに記述し、モジュールの実行条件と
実行すべきモジュールの呼出しとをルールに記述し、こ
れらによりプロダクションシステムで次に実行すべきモ
ジュールを判断して動的に実行を制御し、処理の流れが
固定化されないため、次の効果を有する。
"Effects of the Invention" As described above, in this invention, each module has a structure that operates completely independently, and the variable opening that triggers the execution of each module is written in the frame, and the execution conditions of the module and the module to be executed are , and calls are written in rules, and based on these rules, the production system determines the next module to be executed and dynamically controls execution, and the flow of processing is not fixed, so it has the following effects.

a、従来に比べて、モジュールの作成時に、他のモジュ
ールの詳細な振るまいを意識して処理方法を設計する必
要がない。
a. Compared to the past, when creating a module, there is no need to design a processing method with consideration to the detailed behavior of other modules.

b、従来のように、各モジュール開の1順序性などを意
識した実行制御を行う必要がなく、一つのルールセット
の起動だけでシステム全体が制御できる。
b. Unlike conventional methods, there is no need to perform execution control that takes into account the order of opening of each module, and the entire system can be controlled simply by activating one ruleset.

C6従来に比べて、入出力のタイミング(いつ、どんな
情報を入力、出力するればよいか)を利用者が自由に選
択できるシステムを容易に構築できる。
C6 Compared to the conventional system, it is easier to construct a system in which the user can freely select input/output timing (when and what information should be input and output).

d、上記Cの結果、従来のように、人出力のタイミング
をプログラムにより実現することを検討する必要がない
d. As a result of the above C, there is no need to consider realizing the timing of human output by a program as in the past.

e、思考錯誤して、手順が判然としない作業でも、処理
させることができ、入力順が固定化されていない場合で
も処理することができる。
e. It is possible to process tasks even when the procedure is not clear due to confusion, and even when the input order is not fixed.

f、モジュールの追加/変更にもトリガフレーム内の変
数の追加/変更、ディスパッチルールセット内のルール
の追加/変更で容易に対応できる。
f. Addition/modification of modules can be easily handled by adding/modifying variables in the trigger frame and adding/modifying rules in the dispatch rule set.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はこの発明を適用したエキスバートンステムのモ
ジュール構成を示すブロンク図、第2図はモジュールと
情報の授受との関係例を示す図、第3図はトリガフレー
ムの例を示す図、第4回はディスパッチルールセットと
トリガフレームと、共通データ域と、モジュールとの関
係例を示す図、第5図はモジュールの実行制御の流れを
示す図、第6図は従来のエキスパートシステムのモジュ
ール構成を示すブロック図である。 特許出願人  日本電信電話株式会社
FIG. 1 is a block diagram showing the module configuration of an Exverton stem to which the present invention is applied, FIG. 2 is a diagram showing an example of the relationship between modules and information exchange, FIG. 3 is a diagram showing an example of a trigger frame, and FIG. Part 4 is a diagram showing an example of the relationship between dispatch rule sets, trigger frames, common data areas, and modules, Figure 5 is a diagram showing the flow of module execution control, and Figure 6 is the module configuration of a conventional expert system. FIG. Patent applicant Nippon Telegraph and Telephone Corporation

Claims (1)

【特許請求の範囲】[Claims] (1)推論処理モジュール、計算処理モジュール、入出
力処理モジュールなどの複数のモジュールからなり、こ
れらモジュールを連鎖的に実行して作業を行うシステム
において、上記各モジュールを実行させる契機となる変
数項目をフレームに記述し、 上記各モジュールの実行条件を左辺に、実行すべきモジ
ュールの呼出しを右辺に記述したルールをディスパッチ
ルールセット内に定義し、 そのディスパッチルールセット及び上記フレームを用い
てプロダクションシステムにより、上記複数のモジュー
ルの実行中に生成/変更されるデータの変化を自動的に
検出して、処理すべきモジュールを選択してそのモジュ
ールを実行させて、上記モジュールの実行を一元的に管
理し、動的に実行を制御することを特徴とする複数のモ
ジュールからなるシステムの実行制御方法。
(1) In a system that consists of multiple modules such as an inference processing module, a calculation processing module, and an input/output processing module, and performs work by executing these modules in a chain, the variable items that trigger the execution of each of the above modules are A rule is written in a frame, and the execution conditions of each of the above modules are written on the left side, and the call of the module to be executed is written on the right side. A rule is defined in the dispatch ruleset, and the production system uses the dispatch ruleset and the above frame to Automatically detect changes in data generated/changed during the execution of the plurality of modules, select a module to be processed and execute that module, and centrally manage the execution of the modules; An execution control method for a system consisting of multiple modules, characterized by dynamic execution control.
JP24930990A 1990-09-19 1990-09-19 Execution control method for system consisting of plural modules Pending JPH04127328A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24930990A JPH04127328A (en) 1990-09-19 1990-09-19 Execution control method for system consisting of plural modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24930990A JPH04127328A (en) 1990-09-19 1990-09-19 Execution control method for system consisting of plural modules

Publications (1)

Publication Number Publication Date
JPH04127328A true JPH04127328A (en) 1992-04-28

Family

ID=17191074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24930990A Pending JPH04127328A (en) 1990-09-19 1990-09-19 Execution control method for system consisting of plural modules

Country Status (1)

Country Link
JP (1) JPH04127328A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228309A (en) * 2004-01-23 2005-08-25 Microsoft Corp Deterministic rule-based dispatch of object to code

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228309A (en) * 2004-01-23 2005-08-25 Microsoft Corp Deterministic rule-based dispatch of object to code

Similar Documents

Publication Publication Date Title
CN109359732B (en) Chip and data processing method based on chip
JP2019071120A5 (en)
US6253112B1 (en) Method of and apparatus for constructing a complex control system and the complex control system created thereby
KR20180034356A (en) Game system and method of implementing artificial intelligence of game character by user setting
JPH04127328A (en) Execution control method for system consisting of plural modules
EP1628256A1 (en) A computer implemented method and system for running a plurality of business processes
KR101846254B1 (en) Game system and method of implementing artificial intelligence of game character by user setting
JPH0337201B2 (en)
JP2791919B2 (en) Programmable controller
US9785948B1 (en) On-line task advisor
CN115922693A (en) Connection planning method of chain type modular self-reconfigurable robot and robot
JPS6227822A (en) Backtrack control system
CN117742839A (en) Data calling method, device, equipment and storage medium
JP2023183835A (en) Execution control program, execution control method, and information processing device
JPH04192036A (en) Inference system
JPH0483497A (en) Macro-command forming and executing system
JPH03280160A (en) Arithmetic operation scheduling supporting device
JPH0414109A (en) Brand control sequence controller
JPH0511991A (en) Program structure
JPH0667887A (en) Information processor
JPS63247824A (en) Expanding method for number of defining blocks of data entry screen
JPH03147149A (en) Update control system for data file
JPH0439728A (en) Program processing method
JP2004139384A (en) Sequence control device and its method
JPH01232431A (en) Parameter control system