JPH0644231B2 - プロダクション・システムのインタラプト処理方式 - Google Patents
プロダクション・システムのインタラプト処理方式Info
- Publication number
- JPH0644231B2 JPH0644231B2 JP63254130A JP25413088A JPH0644231B2 JP H0644231 B2 JPH0644231 B2 JP H0644231B2 JP 63254130 A JP63254130 A JP 63254130A JP 25413088 A JP25413088 A JP 25413088A JP H0644231 B2 JPH0644231 B2 JP H0644231B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- inference
- rule
- data
- interrupt processing
- 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.)
- Expired - Lifetime
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はプロダクション・システムのインタラプト処理
方式に関する。
方式に関する。
プロダクション・システムは第7図に示すように,ワー
キング・メモリ,プロダクション・メモリ及び推論エン
ジンから構成される。ワーキング・メモリには推論用の
データであるワーキング・メモリ要素が格納され,プロ
ダクション・メモリにはIF−THEN形式のプロダク
ション・ルールが格納されている。ワーキング・メモリ
要素の例とプロダクション・ルールの例を第8図に示
す。
キング・メモリ,プロダクション・メモリ及び推論エン
ジンから構成される。ワーキング・メモリには推論用の
データであるワーキング・メモリ要素が格納され,プロ
ダクション・メモリにはIF−THEN形式のプロダク
ション・ルールが格納されている。ワーキング・メモリ
要素の例とプロダクション・ルールの例を第8図に示
す。
推論エンジンはワーキング・メモリ内の要素とプロダク
ション・ルールの条件部とを照合し,条件部が満足され
ているルールを探しだす。これらの発火可能なルールは
複数存在しえるので,競合解消を行って(例えば特開昭
61−109148参照),最適なルールが選択され
る。そして,そのルールの実行部が実行される。この推
論エンジンのフローチャートを第9図に示す。
ション・ルールの条件部とを照合し,条件部が満足され
ているルールを探しだす。これらの発火可能なルールは
複数存在しえるので,競合解消を行って(例えば特開昭
61−109148参照),最適なルールが選択され
る。そして,そのルールの実行部が実行される。この推
論エンジンのフローチャートを第9図に示す。
発火したルールの実行部はワーキング・メモリの内容を
変更するため,新たなルールが発火可能となる。このよ
うにしてルールの連鎖が生じ,推論が進められる。推論
エンジンは最終的な結論が得られるまで第9図に示す照
合−競合解消−実行のサイクルを繰り返す。
変更するため,新たなルールが発火可能となる。このよ
うにしてルールの連鎖が生じ,推論が進められる。推論
エンジンは最終的な結論が得られるまで第9図に示す照
合−競合解消−実行のサイクルを繰り返す。
推論期間中には,プロダクション・システム外部からの
データはルールの実行部に外部データ入力用の実行文を
記述することによってのみ可能である。この結果,推論
のルール連鎖の中で外部データが入力できるのは,外部
データを入力するルールが発火した時点に限られる。
データはルールの実行部に外部データ入力用の実行文を
記述することによってのみ可能である。この結果,推論
のルール連鎖の中で外部データが入力できるのは,外部
データを入力するルールが発火した時点に限られる。
上述したように,従来の推論エンジンは外部からのデー
タあるいは信号は,それらを入力するためのルールが発
火しなければ受け付けられない。この結果,外部からの
データや信号が発生した時点で,インタラプト的にその
データに対する処理を行ったり,あるいは現在の推論を
変更したりすることは不可能である。推論は長時間に及
ぶことがあり,この間外部データによるインタラプト処
理は受け付けられない。これは実時間処理システムへプ
ロダクション・システムを応用する場合に大きな問題と
なる。また,外部の実時間データの変化によって,現在
の推論過程を修正することも困難である。
タあるいは信号は,それらを入力するためのルールが発
火しなければ受け付けられない。この結果,外部からの
データや信号が発生した時点で,インタラプト的にその
データに対する処理を行ったり,あるいは現在の推論を
変更したりすることは不可能である。推論は長時間に及
ぶことがあり,この間外部データによるインタラプト処
理は受け付けられない。これは実時間処理システムへプ
ロダクション・システムを応用する場合に大きな問題と
なる。また,外部の実時間データの変化によって,現在
の推論過程を修正することも困難である。
なお,特開昭63−47839には,ルールを階層化
し,解が得られない場合,すなわち内部要因によって,
他のルールセットを起動する技術が開示されているが,
外部要因によって割込処理が発生するものではない。
し,解が得られない場合,すなわち内部要因によって,
他のルールセットを起動する技術が開示されているが,
外部要因によって割込処理が発生するものではない。
本発明は推論エンジン部にインタラプト検出機能を持た
せ,非同期的な外部データや信号によって推論を中断し
たり,推論過程を修正する機能を付加することを目的と
する。
せ,非同期的な外部データや信号によって推論を中断し
たり,推論過程を修正する機能を付加することを目的と
する。
外部からのインタラプトを検出するため,第1図に示す
ようにインタラプト検出部を推論エンジンの実行部の後
に付け加える。インタラプト検出部のフローチャートを
第2図に示す。
ようにインタラプト検出部を推論エンジンの実行部の後
に付け加える。インタラプト検出部のフローチャートを
第2図に示す。
推論エンジンは照合−競合解消−実行の各サイクルの最
後にインタラプトの検出を行う。インタラプト許可フラ
ッグがTRUEであればシステムが持つ可能な外部入力
手段からのインタラプトの発生をテストし,もしインタ
ラプトが発生していれば,前もって規定されているイン
タラプト通知用のワーキング・メモリ要素を生成する。
そのワーキング・メモリ要素には,インタラプトを発生
している外部入力手段の名称等のインタラプト要因を示
す情報を書き込む。このとき,次回の推論サイクルで再
度同じインタラプトが検出されないようにインタラプト
許可フラッグがFALSEに設定される。
後にインタラプトの検出を行う。インタラプト許可フラ
ッグがTRUEであればシステムが持つ可能な外部入力
手段からのインタラプトの発生をテストし,もしインタ
ラプトが発生していれば,前もって規定されているイン
タラプト通知用のワーキング・メモリ要素を生成する。
そのワーキング・メモリ要素には,インタラプトを発生
している外部入力手段の名称等のインタラプト要因を示
す情報を書き込む。このとき,次回の推論サイクルで再
度同じインタラプトが検出されないようにインタラプト
許可フラッグがFALSEに設定される。
次の推論サイクルではインタラプトに対応するワーキン
グ・メモリ要素が最新の要素となるため,このインタラ
プト要素を条件部に持つインタラプト処理ルールが競合
解消によって選択され実行される。このインタラプト処
理ルールが発火すると現在の推論は中断され,インタラ
プト処理の推論が開始される。インタラプト処理が終了
すると次のインタラプトを受け付けるために,インタラ
プト許可フラッグがTRUEに設定される。そして,イ
ンタラプトによって中断された推論が再開される。この
とき,再開された推論過程が参照するワーキング・メモ
リ要素をインタラプト処理ルール内で変更することによ
り,再開後の推論過程を修正することができる。
グ・メモリ要素が最新の要素となるため,このインタラ
プト要素を条件部に持つインタラプト処理ルールが競合
解消によって選択され実行される。このインタラプト処
理ルールが発火すると現在の推論は中断され,インタラ
プト処理の推論が開始される。インタラプト処理が終了
すると次のインタラプトを受け付けるために,インタラ
プト許可フラッグがTRUEに設定される。そして,イ
ンタラプトによって中断された推論が再開される。この
とき,再開された推論過程が参照するワーキング・メモ
リ要素をインタラプト処理ルール内で変更することによ
り,再開後の推論過程を修正することができる。
本発明の具体的な実施例として,外部端末からデータが
来た時点で即座にメッセージをその端末に表示するプロ
ダクション・システムの例を示す。このシステムは第4
図に示すように,comm1という通信ポートを介して
端末Aと接続されている。プロダクション・システム内
の推論エンジンはcomm1通信ポートをアクセスする
ことによって端末からのデータの有無やデータの入出力
を行うことができる。この例でのインタラプト検出部の
詳細なフローチャートを第5図に示す。
来た時点で即座にメッセージをその端末に表示するプロ
ダクション・システムの例を示す。このシステムは第4
図に示すように,comm1という通信ポートを介して
端末Aと接続されている。プロダクション・システム内
の推論エンジンはcomm1通信ポートをアクセスする
ことによって端末からのデータの有無やデータの入出力
を行うことができる。この例でのインタラプト検出部の
詳細なフローチャートを第5図に示す。
インタラプト検出部では,まず,現在の推論過程がイン
タラプト処理中でないことを,インタラプト許可フラッ
グによって調べる。インタラプト処理中でなければ,c
omm1ポートにデータが来ているか調べる。この例で
は,comm1ポートへのデータ入力がインタラプト信
号に対応する。comm1ポートにデータが来ていれば
インタラプトが発生したものとし,それに対応するイン
タラプト通知用のワーキング・メモリ要素(INTER
RUPT ^TYPE COMM1)を生成する。この
ワーキング・メモリ要素例では,INTERRUPTは
インタラプトの通知用の要素であることを示すクラス
名,^TYPEはインタラプトの要因を示す属性名,そ
してCOMM1はインタラプトを発生している通知ポー
ト名を示す^TYPEの属性値である。最後にインタラ
プト処理に入ったことを示すため,インタラプト許可フ
ラッグをFALSEにする。
タラプト処理中でないことを,インタラプト許可フラッ
グによって調べる。インタラプト処理中でなければ,c
omm1ポートにデータが来ているか調べる。この例で
は,comm1ポートへのデータ入力がインタラプト信
号に対応する。comm1ポートにデータが来ていれば
インタラプトが発生したものとし,それに対応するイン
タラプト通知用のワーキング・メモリ要素(INTER
RUPT ^TYPE COMM1)を生成する。この
ワーキング・メモリ要素例では,INTERRUPTは
インタラプトの通知用の要素であることを示すクラス
名,^TYPEはインタラプトの要因を示す属性名,そ
してCOMM1はインタラプトを発生している通知ポー
ト名を示す^TYPEの属性値である。最後にインタラ
プト処理に入ったことを示すため,インタラプト許可フ
ラッグをFALSEにする。
インタラプト用ワーキング・メモリ要素が生成される
と,それに対応したインタラプト処理ルールが次の推論
サイクルで起動される。本実施例におけるインタラプト
処理ルールを第6図に示す。このルールはインタラプト
用ワーキング・メモリ要素(INTERRUPT∧ty
pe COMM1)が生成されると即座に発火し,CO
MM1ポートからデータを読み込み,“INTERRU
PT ACCEPTED”というメッセージをCOMM
1ポートに出力する。端末には,文字を入力した瞬間,
上記メッセージが表示される。インタラプト処理ルール
はインタラプト処理の終了を示すためインタラプト用ワ
ーキング・メモリ要素を消去し,インタラプト許可フラ
ッグをTRUEにする。
と,それに対応したインタラプト処理ルールが次の推論
サイクルで起動される。本実施例におけるインタラプト
処理ルールを第6図に示す。このルールはインタラプト
用ワーキング・メモリ要素(INTERRUPT∧ty
pe COMM1)が生成されると即座に発火し,CO
MM1ポートからデータを読み込み,“INTERRU
PT ACCEPTED”というメッセージをCOMM
1ポートに出力する。端末には,文字を入力した瞬間,
上記メッセージが表示される。インタラプト処理ルール
はインタラプト処理の終了を示すためインタラプト用ワ
ーキング・メモリ要素を消去し,インタラプト許可フラ
ッグをTRUEにする。
本実施例のインタラプト処理ルールでは,インタラプト
の発生によって単にメッセージを表示するだけである
が,インタラプトを発生した外部入力手段からデータを
読み込むとともに,そのデータの内容を示すワーキング
・メモリ要素を生成するようにすれば,そのワーキング
・メモリ要素に照合するルールが次に発火するので,デ
ータの内容に応じた割り込み処理が行えることは勿論で
ある。また,本実施例では,一つのインタラプト源だけ
を取り扱っているが,複数のインタラプト源に対しても
インタラプト検出部においてそれぞれのインタラプトの
有無を調べることにより容易に対処できる。
の発生によって単にメッセージを表示するだけである
が,インタラプトを発生した外部入力手段からデータを
読み込むとともに,そのデータの内容を示すワーキング
・メモリ要素を生成するようにすれば,そのワーキング
・メモリ要素に照合するルールが次に発火するので,デ
ータの内容に応じた割り込み処理が行えることは勿論で
ある。また,本実施例では,一つのインタラプト源だけ
を取り扱っているが,複数のインタラプト源に対しても
インタラプト検出部においてそれぞれのインタラプトの
有無を調べることにより容易に対処できる。
以上に述べたように,プロダクション・システムの推論
エンジンにインタラプト検出部を付加し,インタラプト
に対応したワーキング・メモリ要素を生成してインタラ
プト処理ルールを発火させるという本発明によって,推
論実行中に外部からのインタラプトによって別の推論処
理を開始したり,現在の推論過程を修正したりすること
が可能になる。また,インタラプト処理自体も通常のル
ールで記述できるという利点があり,インタラプト処理
の変更や修正が容易になる。
エンジンにインタラプト検出部を付加し,インタラプト
に対応したワーキング・メモリ要素を生成してインタラ
プト処理ルールを発火させるという本発明によって,推
論実行中に外部からのインタラプトによって別の推論処
理を開始したり,現在の推論過程を修正したりすること
が可能になる。また,インタラプト処理自体も通常のル
ールで記述できるという利点があり,インタラプト処理
の変更や修正が容易になる。
第1図は本発明のインタラプト検出部を付加された推論
エンジンのフローチャート,第2図はインタラプト検出
部の詳細なフローチャート,第3図はインタラプト処理
ルールの一例,第4図は端末からのインタラプトを処理
する実施例の構成図,第5図は実施例におけるインタラ
プト検出部のフローチャート,第6図は実施例のインタ
ラプト処理ルール,第7図はプロダクション・システム
の構成図,第8図はプロダクション・ルールの例,第9
図は従来の推論エンジンの動作を示すフローチャートで
ある。 1……プロダクション・システム 2……推論エンジン 3……ワーキング・メモリ 4……プロダクション・メモリ 5……通信ポート 6……端末
エンジンのフローチャート,第2図はインタラプト検出
部の詳細なフローチャート,第3図はインタラプト処理
ルールの一例,第4図は端末からのインタラプトを処理
する実施例の構成図,第5図は実施例におけるインタラ
プト検出部のフローチャート,第6図は実施例のインタ
ラプト処理ルール,第7図はプロダクション・システム
の構成図,第8図はプロダクション・ルールの例,第9
図は従来の推論エンジンの動作を示すフローチャートで
ある。 1……プロダクション・システム 2……推論エンジン 3……ワーキング・メモリ 4……プロダクション・メモリ 5……通信ポート 6……端末
Claims (1)
- 【請求項1】推論用のデータを格納するワーキング・メ
モリと,そのデータに作用するプロダクション・ルール
を格納するプロダクション・メモリと,前記ワーキング
・メモリ内のデータと前記プロダクション・メモリ内の
ルールを比較して発火可能なルールを実行する推論エン
ジンから構成されるプロダクション・システムにおい
て, 前記推論エンジン内部に外部からのインタラプト検出機
構を持ち,前記ルールの連鎖による推論期間中に外部か
らのインタラプトを検出し,その時点でのルールの実行
の直後に,そのインタラプトの要因を示すワーキング・
メモリ要素を生成することによって,インタラプト処理
用のルールを起動するプロダクション・システムのイン
タラプト処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63254130A JPH0644231B2 (ja) | 1988-10-07 | 1988-10-07 | プロダクション・システムのインタラプト処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63254130A JPH0644231B2 (ja) | 1988-10-07 | 1988-10-07 | プロダクション・システムのインタラプト処理方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02100722A JPH02100722A (ja) | 1990-04-12 |
| JPH0644231B2 true JPH0644231B2 (ja) | 1994-06-08 |
Family
ID=17260639
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63254130A Expired - Lifetime JPH0644231B2 (ja) | 1988-10-07 | 1988-10-07 | プロダクション・システムのインタラプト処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0644231B2 (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01224842A (ja) * | 1988-03-04 | 1989-09-07 | Nippon Telegr & Teleph Corp <Ntt> | 知識ベースシステムの推論制御方式 |
-
1988
- 1988-10-07 JP JP63254130A patent/JPH0644231B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02100722A (ja) | 1990-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8042099B2 (en) | Facilitating availability of object data types at runtime | |
| JPS6010643B2 (ja) | シ−ケンスコントロ−ラ | |
| US5838898A (en) | Microprogram controlled data processing system having a runaway monitor function | |
| JPH1063541A (ja) | コンピュータシステムのプログラム暴走監視装置 | |
| JPH02100722A (ja) | プロダクション・システムのインタラプト処理方式 | |
| JPS58197557A (ja) | メツセ−ジ管理方式 | |
| JPS62175834A (ja) | 中央処理装置の暴走検出回路 | |
| JP2870202B2 (ja) | プロセッサ間相互監視方法及びその装置 | |
| US5007056A (en) | Processing circuit having an error detecting and correcting circuit therein | |
| JPS58197555A (ja) | 情報処理装置 | |
| JPH0250226A (ja) | マイクロコンピュータ | |
| JPH04291646A (ja) | 書き込み監視装置 | |
| JPS5922147A (ja) | 再試行処理のチエツク方式 | |
| JP2979918B2 (ja) | 割り込み検出回路 | |
| SU1322281A1 (ru) | Микропрограммное устройство управлени | |
| JPH0120778B2 (ja) | ||
| JPH04257029A (ja) | エディタ | |
| JPS6247757A (ja) | 時分割スイツチメモリの書込み誤り検出方式 | |
| JPH0962512A (ja) | 低級言語から高級言語への記述言語変換機能を有するプログラム変換装置及び方法 | |
| JPS62254236A (ja) | 例外事象検出装置 | |
| JPS63245170A (ja) | フアクシミリ装置 | |
| JPH03136147A (ja) | ソフトウェア監視方式 | |
| JPS61221937A (ja) | 例外事象検出方式 | |
| JPS6029128B2 (ja) | マイクロプログラム制御装置 | |
| JPH04123236A (ja) | アラーム処理装置 |