JPH04127328A - 複数のモジュールからなるシステムの実行制御方法 - Google Patents

複数のモジュールからなるシステムの実行制御方法

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
English (en)
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.)
NTT Inc
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/ja
Publication of JPH04127328A publication Critical patent/JPH04127328A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野J この発明は推論処理モジュール、計算処理モジュール、
入出力処理モジュールなどの複数のモジュールからなり
、これらモジュールを連鎖的に実行させて作業を行うシ
ステム、例えばエキスパートシステムの実行制御方法に
関する。
「従来の技術」 最近、専門家の知識を電子計算機に取込み、あたかも専
門家のごとく電子計算機に推論を実行させるエキスパー
トシステムの開発がめざましい。
エキスパートシステムでは、通常、事実知識を表現する
(記憶する)フレームと、そのフレームとの照合により
条件判断を行い、ある行動を行うルールとが用いられる
。また、エキスパートシステムは、複数のルールにより
部分的な問題解決を行う推論モジュール(ルールセット
)の組合せにより、問題を解決する。また、計算処理や
入出力処理を行う多くのモジュールも必要であり、さら
4これらのモジュールを組合せて一つの仕事を行だため
に種々の複数モジュールの実行を制御するル御モジュー
ルとから一つのシステムが構成され2第6図に従来のエ
キスパートシステムのモジュール構成を示す。
従来のエキスパートシステムでは、推論、計算入出力な
どのモジュールの実行を制御する実行制御モジュールは
、その実力内容が逐次処理型で、つまりプログラムで記
述されており、予め決定された流れにより各モジュール
を実行させている。
エキスパートシステムを利用するときには、まず診断す
る対象の状況や設計条件など何らかの情報を与える必要
があり、まず最初に、情報入力を促すメツセージや入力
項目を選択させるメニューや関連する情報を一括入力す
る表形式などの入力手段を実現する入力モジュールが実
行される。必要な情報が入力されると、予め決められた
順序で推論や計算、詳細情報の入力などのモジュールが
実行されて結論が出される。入力情報の修正や追加は、
修正項目の選択などの入力により該当モジュールまで、
あるいはシステムの開始点まで処理の流れを戻し、一連
の流れを再び繰り返すことになる。しかし、このように
、モジュール処理の流れを予め定めることには、下記の
ように、いくつかの問題点がある。
(a)  処理の流れを固定化することが困難な作業が
ある 専門家が思考錯誤して多くのモジュールを判然としない
手順で作業してる思考形態を、計!機上にモデル化、プ
ログラミングすることが困難な場合がある。しかし、も
ともとエキスパートシステムは、専門家の知識を宣言的
に定義し、プロダクションシステムを用いて判断順序を
意識しないでシステムを構築できるものであるが、これ
は、1つの推論モジュール(ルールセット)内のルール
間、あるいはそのルールセット内から呼び出されるルー
ルセット間に限られており、他の推論モジュールや入出
力、計算モジュールの間では、プロダクションシステム
を利用してなく、実行を制御する何らかのm能を与える
必要がある。
(b)  入力順序が固定化されてしまう逐次処理型の
プログラミングにより入力モジュールの呼びだしを行う
場合には、そのプログラムにより入力順序が固定化され
てしまう。
エキスパートシステムを利用するときには、診断する対
象の状況や設計条件など何らかの情報を与えなければな
らない、しかし、必要となる全ての入力情報が最初に与
えられるものではなく、推論途中にその情報の必要性が
判明する項目や、未入力であっても「未知である」とい
う情報により推論を行ない、何らかの結論を出さなけれ
ばならない場合がある6例えば、お宮様の話を聞きなが
ら問診を行う場合などでは、人それぞれに重要項目の考
え方や思考過程の違いがあり、お宮様により情報の得ら
れる順序が異なってくる。また、その時々の情報によっ
て判断1計算する処理も異なってくる。
例えば、AV製品の販売を行う場合では、「予算Ooぐ
らいでセットを組んで欲しいJや、[××ll能を持っ
たΔΔが欲しい、」などと、最初に得られる情報もお宮
様によって異なってくる。また、得られた情報のみでお
宮様の要求を分析し、商品の選定・セールスを行なわな
ければならない。
このような場合には、rまず、欲しい商品種別を聞いて
、予算を入れて、要求されているI!能を順序通りに入
力しなければならないjといったような入力順序や計算
順序が固定化されて一義的な流れでしか対応できないシ
ステムでは利用性に大きな問題がある。
(C)  モジュールの追加/変更が容易でないプログ
ラミングによりモジュールの実行を制御している場合に
は、モジュールの追加/変更に伴い実行制御モジュール
内のプログラムの変更が必要となり、モジュール実行の
順序性の検討などに多くの時間を必要とする。さらに、
モジュールの構造が悪いと、あるモジュールが追加/変
更されたことで他の処理が影響を受け、全く同し処理内
容であるにもかかわらず、そのモジュールの構造(プロ
グラム)の変更を行う必要が生しることがある。
この発明の目的は、上記の問題点を解決するために、例
えばユキスバートシステムに通用して専門家が複数の作
業を試行錯誤して処理している過程を容易に実現でき、
また入力する項目順序性をシステムの利用者の判断にま
かせられ、既知の情報のみを用いて判断、計算モジュー
ルを処理し結論が出せ、更に新たな情報項目を自由に選
択して入力/変更も行え、その情報により実行、あるい
は、再実行すべきモジュールを動的に判断できる、複数
のモジュールが連鎖的に実行して作業を行うシステムの
制御方法を提供することにある。
「課題を解決するための手段」 上記目的を達成するために、この発明によれば、rこん
な情報が分かったらこの作業を行う。この情報の値が変
わったらこの処理を行う。」といった知識を用いて、各
モジュール(処理)の実行契機となる変数項目をフレー
ムに記述し、各モジュールの実行条件を左辺に、実行す
べきモジュールの呼出しを右辺に記述したルールをディ
スバッチルールセット(推論モジュール)内に定義し、
そのディスパッチルールセットをプロダクションシステ
ムで起動して、上記フレームに定義された変数項目の値
の変化を検出し、上記ルールの実行条件が満たすかどう
かの判断を行って、処理すべきモジュールを選択してそ
のモジュールを実行させ、システム全体を動的に制御さ
せることを最も主要な特徴とする。
従来では、モジュールの実行を制御する部分を逐次プロ
グラミングにより記述しており、専門家による作業の過
程を忠実に実現しにくく、状況に応して変化する入力項
目に対する柔軟な実行性が乏しく、また、モジュールの
追加/変化により実行制御に対し綿密な検討が必要とな
るが、この発明により、これらの事を解決できる。
「実施例」 この発明をエキスバートノステムに通用した実施例につ
き説明する。第1図にこの実施例のモジュール構成を示
す、この実施例においては実行制御モジュールには逐次
型のプログラムは記述されておらず、各モジュールを実
行させる契機となる変数項目をフレームに記述し、各モ
ジュールの実行条件を左辺に、実行すべきモジュールの
呼出しを右辺に記述したルールが定義されたディスバ。
チルールセント(推論モジュール)を記述し、これを起
動してプロダクションシステムで動的に次に行うべきモ
ジュール(処理)を判断してそのモジュールを実行させ
る。
このため各モジュールの構造は、各モジュールが完全に
独立して動作する構造とし、他のモジュールの処理結果
を期待したり、他のモジュール内の変数を直接参照、更
新することをしない構造とする。
第2図では、分割されたモジュールとその間の情報のや
り取りを示している。回申、BBに関する入力処理を行
うモジュールlNPt1T1は、RE[1[IESTI
DATA4などの変数を参照しており、DATAl、D
ATA2などの変数を更新する。同様に、SSに関する
処理を行うモジュール?1ODULE1においては、D
ATA7などの変数を参照し、DATA4などの変数を
更新すると共に、このモジュール内から呼出されるサブ
関数5UBFUIICIが参照する変数DATA1.D
ATA2などや、更新される変数DATA5. DAT
A6などもモジュールMODtlLE1が参照/更新す
る変数として扱う。複数のモジュールで参照/更新され
る変数は、共通データ域としてフレームなどで管理し、
あるモジュール内に限定して1くことはしない。
モジュールMODULEIの変数[IATAl、DAT
A2などのモジュールで参照する変数は、その値が変化
すれば当モジュールの(再)実行が必要となるものであ
るため、実行契機となる情報(変数項目)としであるフ
レームc以下、トリガフレームと呼ぶが、特別なフレー
ムではなく、実行契機となる情報以外の変数の存在も許
される。)内に定義(記述)する、第3図は、トリガフ
レームの一例を示し、各変数項目(スロット名称)ごと
にそのスロント(直が記述されている。また、更新され
る変数は、共通データとしてフレームなどで管理される
このようにして、全ての推論、計算2人出力モジュール
の間で各々に影響を与えないように独立化させ、実行契
機となる情報(変数項目)を抽Hしてトリガフレームに
定義しておく。
次に、実行制御モジュールでは、その実行内系を全てプ
ロダクションルールにより宣言的に記述する。これらの
ルールは、左辺に該当モジュールの実行を行う場合の条
件を、右辺には、そのモジュールの呼出しを記述する。
また、これらの全てのルールは、1つのルールセット(
以下、このルールセントをディスパッチルールセットと
呼ぶ。
内に定義する。しかし、実行制御モジュールを補数のル
ールセットに分割する場合がよくあるが、その場合は、
階層構造として1つのルールセy トから子ルールセン
ト、孫ルールセットのように呼出される構成にする。第
4図には、ディスパッチルールセットの例を示しである
。モジュールMOD[ILElでは変数DATAI、D
ATA2.[1ATA7などが参照されるため、これら
の変数が変化した場合にモジュール?l0DULE1の
起動をするようにルールが記述されている。つまりルー
ルの左辺に実行条件として、変数DATAL、DATA
2.DATA7の変化を記述し、右辺に実行すべきモジ
ュールMODULEIが記述される。
また、入力モジュールINPIITIは、変数REQ[
1ESTIDATA4. DATA6などを参照してい
るが、変数DATA4DATA6などの変化によっては
起動されず、変数REQUESTlの変化ムこよっての
み起動されることが定義されている。また、1つのモジ
ュールに対して複数のルールが定義されることもあり、
その場合には、OR条件としていずれかのルールの条件
が満たされれば、そのモジュールの処理が行われる。
このように、全ての推論、計算、入出カモジュールに対
して、実行条件を記述したルールが、少なくとも1つ以
上定義される。
ここで、入出カモジュールの扱いは、他の推論計算モジ
ュールよりも実行優先順位を低く設定しておくことが考
えられる。そうすることにより、推論、計算などの処理
が優先して実行が行われ、一連の流れが終了してから次
の作業選択や情報の入力待ちの状態になり、推論や計算
の途中で予期しない入力待ちになることはない。
このようにして、分割されたモジュールは、ディスパッ
チルールセットを起動するだけで、実行順序をプロダク
ションシステムが判断し、次々に実行される。プロダク
ションシステムは、事実知識を記録するフレームと、そ
のフレームと照合されて条件の真偽あるいは真偽未定が
決定されるバタン照合節を左辺に、その左辺の全てのバ
タン照合節が真となった時に実行される実行部を右辺に
持つルールとを用いて、実行順序を判定するものであり
、エキスパートシステムにおいて、推論モジュールの実
行順序の判定に用いられていた。この実施例では、実行
制御モジュールにディスパ。
チルールセ、トを記述し、かつトリガフレームを設けて
、プロダクションシステムによりモジュールの実行順序
を判定させて、その判定されたモジュールを実行制御モ
ジュールにより実行させる。
第5図は、システム全体から見た実行フローの一例を示
す。ディスパッチルールセットを起動するとまずモジュ
ールの実行条件を満たすルール(実行すべきモジュール
)が存在するかどうかの判断をトリガフレームを参照し
ながら、つまり実行条件の変数が更新されたか否かをト
リガフレームを参照して、プロダクションシステムの照
合によって行われる(S、)、起動直後では情報(変数
)の変化に対するモジュール処理の必要性もなく、優先
度の最も低く設定されている入力モジュールが選択され
、人力を促すメツセージが表示され(S、)、入力項目
を選択するメニューなどにより利用者により行いたい作
業が選ばれる(S5) 。
この選択されたことにより入力項目の情報(変数)の値
が変化し、再びモジュールの実行条件の判定が行なわれ
ることで(S、)、対応するモジュールが実行条件を満
足し、実行対象となる(St)。
そこで、実行制御モジュールによりそのルールの実行部
の実行によりその実行対象となったモジュール、例えば
入力モジュールが起動しく実行され)、ある情報が入力
される(S、)。そのモジュールの実行が終了すると、
再びモジュールの実行条件の照合が行われ(S、)、前
記入力モジュールにより、入力された情報(変数)によ
り実行をしなければならないモジュールが自動的に検出
される。
複数のモジュールが検出された場合はその中から、プロ
ダクションシステムの競合解決機能により、次に実行す
べきモジュールがただ一つ選択され処理される(S2)
。その選択されたモジュールが実行させられ、そのモジ
ュールの処理によりi化した情報(変数)は、再度モジ
ュールの実行条件の照合が行われたとき自動検出され、
その情報(変数)の変化により影響を受けるモジュール
(実行すべきモジュール)が、自動的に判断される。
このように、プロダクションシステムの「実行条件の照
合/競合解決/モジュールの実行」のサイクルが、一連
の処理により情報(変数)の変化で影響を受けるモジュ
ールが存在しなくなるまで自動的に繰返され、あるまと
まった作業が行われることになる。情報(変数)の変化
で影響を受けるモジュールが存在しなくなると、起動直
後と同様に、入力待ちの状態にもどる(S、、S5 )
ここで、「システムの終了」が選択されるとディスパッ
チルールセットから抜け、システムの作業が終了する。
また、次の作業が選択されると、それに関連する一連の
モジュールが順次実行される。
上述ではこの発明をエキスバートンステムに適用したが
、他の複数のモジュールを連鎖的に実行することにより
作業を行うシステムにこの発明を適用でき、その場合、
そのノステムにもともとプロダクションシステムが用い
られている場合、そのプロダクションシステムを用いて
次に実行すべきモジュールの判定を行わせればよいが、
プロダクションシステムを用いないシステムでは、プロ
ダクションシステムを導入して行えばよい。
「発明の効果」 以上述べたようにこの発明では各モジュールを完全に独
立に動作する構造とし、各モジュールの実行契機となる
変数唄口をフレームに記述し、モジュールの実行条件と
実行すべきモジュールの呼出しとをルールに記述し、こ
れらによりプロダクションシステムで次に実行すべきモ
ジュールを判断して動的に実行を制御し、処理の流れが
固定化されないため、次の効果を有する。
a、従来に比べて、モジュールの作成時に、他のモジュ
ールの詳細な振るまいを意識して処理方法を設計する必
要がない。
b、従来のように、各モジュール開の1順序性などを意
識した実行制御を行う必要がなく、一つのルールセット
の起動だけでシステム全体が制御できる。
C6従来に比べて、入出力のタイミング(いつ、どんな
情報を入力、出力するればよいか)を利用者が自由に選
択できるシステムを容易に構築できる。
d、上記Cの結果、従来のように、人出力のタイミング
をプログラムにより実現することを検討する必要がない
e、思考錯誤して、手順が判然としない作業でも、処理
させることができ、入力順が固定化されていない場合で
も処理することができる。
f、モジュールの追加/変更にもトリガフレーム内の変
数の追加/変更、ディスパッチルールセット内のルール
の追加/変更で容易に対応できる。
【図面の簡単な説明】
第1図はこの発明を適用したエキスバートンステムのモ
ジュール構成を示すブロンク図、第2図はモジュールと
情報の授受との関係例を示す図、第3図はトリガフレー
ムの例を示す図、第4回はディスパッチルールセットと
トリガフレームと、共通データ域と、モジュールとの関
係例を示す図、第5図はモジュールの実行制御の流れを
示す図、第6図は従来のエキスパートシステムのモジュ
ール構成を示すブロック図である。 特許出願人  日本電信電話株式会社

Claims (1)

    【特許請求の範囲】
  1. (1)推論処理モジュール、計算処理モジュール、入出
    力処理モジュールなどの複数のモジュールからなり、こ
    れらモジュールを連鎖的に実行して作業を行うシステム
    において、上記各モジュールを実行させる契機となる変
    数項目をフレームに記述し、 上記各モジュールの実行条件を左辺に、実行すべきモジ
    ュールの呼出しを右辺に記述したルールをディスパッチ
    ルールセット内に定義し、 そのディスパッチルールセット及び上記フレームを用い
    てプロダクションシステムにより、上記複数のモジュー
    ルの実行中に生成/変更されるデータの変化を自動的に
    検出して、処理すべきモジュールを選択してそのモジュ
    ールを実行させて、上記モジュールの実行を一元的に管
    理し、動的に実行を制御することを特徴とする複数のモ
    ジュールからなるシステムの実行制御方法。
JP24930990A 1990-09-19 1990-09-19 複数のモジュールからなるシステムの実行制御方法 Pending JPH04127328A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24930990A JPH04127328A (ja) 1990-09-19 1990-09-19 複数のモジュールからなるシステムの実行制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24930990A JPH04127328A (ja) 1990-09-19 1990-09-19 複数のモジュールからなるシステムの実行制御方法

Publications (1)

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

Family

ID=17191074

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24930990A Pending JPH04127328A (ja) 1990-09-19 1990-09-19 複数のモジュールからなるシステムの実行制御方法

Country Status (1)

Country Link
JP (1) JPH04127328A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228309A (ja) * 2004-01-23 2005-08-25 Microsoft Corp ルールに基づいて決定的に行う、コードへのオブジェクトのディスパッチ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005228309A (ja) * 2004-01-23 2005-08-25 Microsoft Corp ルールに基づいて決定的に行う、コードへのオブジェクトのディスパッチ

Similar Documents

Publication Publication Date Title
JP2019071120A5 (ja)
TW202014886A (zh) 晶片及基於其的資料處理方法
CN115688893B (zh) 内存调度方法及装置、电子设备和存储介质
US6253112B1 (en) Method of and apparatus for constructing a complex control system and the complex control system created thereby
US5101362A (en) Modular blackboard based expert system
KR20180034356A (ko) 사용자 설정에 의한 게임 캐릭터의 인공 지능을 구현하는 게임 시스템 및 방법
JPH04127328A (ja) 複数のモジュールからなるシステムの実行制御方法
JPS63273101A (ja) プログラマブル・コントロ−ラ
CN113220869B (zh) 银行外围系统的文本处理装置及方法
HK40004489B (en) A chip and a data processing method based on the chip
HK40004489A (en) A chip and a data processing method based on the chip
KR101846254B1 (ko) 사용자 설정에 의한 게임 캐릭터의 인공 지능을 구현하는 게임 시스템 및 방법
Lockemann et al. Flexibility through multiagent systems: Solution or illusion?
JPS6227822A (ja) バツクトラツク制御方式
JP2023183835A (ja) 実行制御プログラム、実行制御方法及び情報処理装置
JPH04192036A (ja) 推論方式
JPH0483497A (ja) マクロコマンド生成実行方式
JP2852402B2 (ja) プログラム開発装置
JPH0414109A (ja) 銘柄管理シーケンス制御装置
JPH0511991A (ja) プログラム構造
JPH0588878A (ja) Lisp命令実行方式
JPS63247824A (ja) デ−タエントリ画面定義数の拡張方法
JPH03147149A (ja) データファイルの更新管理方式
JPH0439728A (ja) プログラム処理方法
JP2004139384A (ja) シーケンス制御装置およびシーケンス制御方法