JPH02216533A - ルールベース実行装置及び方法 - Google Patents
ルールベース実行装置及び方法Info
- Publication number
- JPH02216533A JPH02216533A JP3620989A JP3620989A JPH02216533A JP H02216533 A JPH02216533 A JP H02216533A JP 3620989 A JP3620989 A JP 3620989A JP 3620989 A JP3620989 A JP 3620989A JP H02216533 A JPH02216533 A JP H02216533A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- data
- memory
- execution
- outside world
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、AI(人口知り等の知識工学ツールに用い
られるルールベース実行装置及び方法に関し、特にルー
ルベースの実行サイクルと非同期的に発生する外界から
のデータを容易にワーキングメモリに反映できるように
したルールベース実行装置及び方法に関するものである
。
られるルールベース実行装置及び方法に関し、特にルー
ルベースの実行サイクルと非同期的に発生する外界から
のデータを容易にワーキングメモリに反映できるように
したルールベース実行装置及び方法に関するものである
。
第4図は従来のルールベース実行装置を示すブロック図
であり、図において、(1)は複数のルールベース(1
0)(第5図参照)が格納されたルールメモリである。
であり、図において、(1)は複数のルールベース(1
0)(第5図参照)が格納されたルールメモリである。
ルールメモリ(1)内の各ルールベース〈10)は、そ
れぞれのルールベース(10)を特定するルール名(1
1)と、データ要素の論理式で表わされた条件部(12
)と、データ要素の変更指令等で表わされた行動部(1
3)とから構成されている。
れぞれのルールベース(10)を特定するルール名(1
1)と、データ要素の論理式で表わされた条件部(12
)と、データ要素の変更指令等で表わされた行動部(1
3)とから構成されている。
(2)は変更可能な複数のデータ要素が格納されたワー
キングメモリ、(3)はルールメモリ(1)内の各ルー
ルベース(10)の条件部(12)とワーキングメモリ
(2)内の各データ要素とを検索且つ照合する照合部、
(4)は照合部(3)により実行(発火)可能と判定さ
れたルールベース(10)の集合を格納する競合集合メ
モリ、(5)は種々の選択基準に基づいて競合集合メモ
リ(4)の中から実行すべきルールベース(10)を選
択する競合解消部、(6)は競合解消部(5)により選
択されたルールベース(10)の行動部(13)を実行
するルール実行部である。
キングメモリ、(3)はルールメモリ(1)内の各ルー
ルベース(10)の条件部(12)とワーキングメモリ
(2)内の各データ要素とを検索且つ照合する照合部、
(4)は照合部(3)により実行(発火)可能と判定さ
れたルールベース(10)の集合を格納する競合集合メ
モリ、(5)は種々の選択基準に基づいて競合集合メモ
リ(4)の中から実行すべきルールベース(10)を選
択する競合解消部、(6)は競合解消部(5)により選
択されたルールベース(10)の行動部(13)を実行
するルール実行部である。
(7)はルール実行部(6)に接続された外界であり、
行動部(13)に基づく行動指令Cが入力されると共に
、行動指令Cに応じたデータD等を発生するようになっ
ている。
行動部(13)に基づく行動指令Cが入力されると共に
、行動指令Cに応じたデータD等を発生するようになっ
ている。
次に、第4図及び第5図を参照しながら、従来のルール
ベース実行装置の動作について説明する。
ベース実行装置の動作について説明する。
尚、ルールメモリ(1)及びワーキングメモリ(2)に
は、それぞれ、複数のルールベース(10)及び変更可
能な複数のデータ要素が書込まれ、又、競合解消部(5
)には種々の選択基準が予め設定されているものとする
。
は、それぞれ、複数のルールベース(10)及び変更可
能な複数のデータ要素が書込まれ、又、競合解消部(5
)には種々の選択基準が予め設定されているものとする
。
まず、照合部(3)は、ルールメモリ(1)内に保持さ
れている各ルールベース(10)の条件部(12)と、
ワーキングメモリ(2)内の現在の状態を示すデータ要
素とを検索照合し、条件部(12)を満足して実行可能
なルールベース(10)を求め、このルールベース(1
0)の集合を競合集合メモリ(4)内に書込む。
れている各ルールベース(10)の条件部(12)と、
ワーキングメモリ(2)内の現在の状態を示すデータ要
素とを検索照合し、条件部(12)を満足して実行可能
なルールベース(10)を求め、このルールベース(1
0)の集合を競合集合メモリ(4)内に書込む。
続いて、競合解消部(5)は、実行可能なルールベース
(10)の中から種々の選択基準(例えば、優先順位)
に応じて、実行すべき1つ又は複数のルールベース(1
0)を選択する。
(10)の中から種々の選択基準(例えば、優先順位)
に応じて、実行すべき1つ又は複数のルールベース(1
0)を選択する。
最後に、ルール実行部(6)は、選択されたルールベー
ス(10)のルール名(11)からその行動部(13)
を読取り、行動指令Cをワーキングメモリ(2)及びデ
ータメモリ(9)に出力して行動部(13)を実際に実
行する。
ス(10)のルール名(11)からその行動部(13)
を読取り、行動指令Cをワーキングメモリ(2)及びデ
ータメモリ(9)に出力して行動部(13)を実際に実
行する。
例えば、第5図のように、行動部(13)がワーキング
メモリ(2)に対するデータ要素の生成、変更及び削除
、並びに、外界(7)に対する作用を指定した部分から
構成されていた場合、ルール実行部(6)は、行動指令
Cによりワーキングメモリ(2)内のデータ要素の更新
及び外界(7)への働きかけを行なう、又、この時点で
、ルール実行部(6)は、行動指令Cに応じて外界(7
)から生成されるデータDの入力を行なう。
メモリ(2)に対するデータ要素の生成、変更及び削除
、並びに、外界(7)に対する作用を指定した部分から
構成されていた場合、ルール実行部(6)は、行動指令
Cによりワーキングメモリ(2)内のデータ要素の更新
及び外界(7)への働きかけを行なう、又、この時点で
、ルール実行部(6)は、行動指令Cに応じて外界(7
)から生成されるデータDの入力を行なう。
以上のデータ要素及び条件部(12)の検索照合。
競合解消部(5)によるルールベース(10)の選択、
及び、行動部(13)の実行からなる一連の動作は。
及び、行動部(13)の実行からなる一連の動作は。
サイクリックに繰り返されるので、ルールベース(10
)の実行サイクルと呼ばれている。又、ルール実行部(
6)における外界(7)からのデータ入力は、実行サイ
クルと同期して行なわれ、ワーキングメモリ(2)に反
映されることになる。
)の実行サイクルと呼ばれている。又、ルール実行部(
6)における外界(7)からのデータ入力は、実行サイ
クルと同期して行なわれ、ワーキングメモリ(2)に反
映されることになる。
[発明が解決しようとする課M]
従来のルールベース実行装置は以上のように、ルールベ
ース(10)の実行サイクルに同期して、外界(7)か
らのデータ入力やワーキングメモリ(2)内のデータ要
素の更新等を行なっているので、実行サイクルと非同期
的に発生する時系列データ等の入力を簡単に行なうこと
ができず、又、1回の実行サイクル中に、外界(7)の
状況に応じて発生するワーキングメモリ(2)に対する
データ要素の動的な更新を行なうことができないという
問題点があった。
ース(10)の実行サイクルに同期して、外界(7)か
らのデータ入力やワーキングメモリ(2)内のデータ要
素の更新等を行なっているので、実行サイクルと非同期
的に発生する時系列データ等の入力を簡単に行なうこと
ができず、又、1回の実行サイクル中に、外界(7)の
状況に応じて発生するワーキングメモリ(2)に対する
データ要素の動的な更新を行なうことができないという
問題点があった。
この発明は上記のような問題点を解決するためになされ
たもので、非同期的に発生するデータの入力を簡単に行
なうことができると共に、1回の実行サイクル中に発生
するデータ要素に対する動的な更新が可能なルールベー
ス実行装置及び方法を得ることを目的とする。
たもので、非同期的に発生するデータの入力を簡単に行
なうことができると共に、1回の実行サイクル中に発生
するデータ要素に対する動的な更新が可能なルールベー
ス実行装置及び方法を得ることを目的とする。
[課題を解決するための手段]
この発明に係るルールベース実行装置は、ルール実行部
と外界との間に、外界からのデータを時系列的に格納す
るためのデータメモリを挿入したものである。
と外界との間に、外界からのデータを時系列的に格納す
るためのデータメモリを挿入したものである。
又、この発明に係るルールベース実行方法は、ルール実
行部と外界との間に挿入されたデータメモリにデータが
有るか否かを判定するステップと、データメモリが空に
なるまでデータを1つずつ取出すステップと、データを
ワーキングメモリに反映させるステップとを含むもので
ある。
行部と外界との間に挿入されたデータメモリにデータが
有るか否かを判定するステップと、データメモリが空に
なるまでデータを1つずつ取出すステップと、データを
ワーキングメモリに反映させるステップとを含むもので
ある。
[作用]
この発明においては、ルールベースの実行サイクルと非
同期的に入力されるデータをデータメモリに一時的に格
納しておき、ルールベースの行動部の実行タイミングで
、データメモリから1つずつ順次にデータを取出し、そ
の内容をワーキングメモリに反映させる。
同期的に入力されるデータをデータメモリに一時的に格
納しておき、ルールベースの行動部の実行タイミングで
、データメモリから1つずつ順次にデータを取出し、そ
の内容をワーキングメモリに反映させる。
[実施例]
以下、この発明の一実施例を図について説明する。第1
図はこの発明によるルールベース実行装置の一実施例を
示すブロック図であり、(6^)はルール実行部(6)
に対応しており、(1)〜(5)及び(7)は前述と同
様のものである。
図はこの発明によるルールベース実行装置の一実施例を
示すブロック図であり、(6^)はルール実行部(6)
に対応しており、(1)〜(5)及び(7)は前述と同
様のものである。
(9)はルール実行部(6^)と外界(7)との間に挿
入されたデータメモリであり、第2図のように外界(7
)からのデータDを順次に格納し、FIFOの要領で取
出されるよう樟なっている。
入されたデータメモリであり、第2図のように外界(7
)からのデータDを順次に格納し、FIFOの要領で取
出されるよう樟なっている。
第3図はこの発明により能力が拡張されたルール実行部
(6^)の動作シーケンスを示すフローチャート図であ
る。
(6^)の動作シーケンスを示すフローチャート図であ
る。
次に、第1図〜第3図を参照しながら、この発明の一実
施例の動作及びルールベース実行方法について説明する
。
施例の動作及びルールベース実行方法について説明する
。
まず、前述と同様に、競合解消部(5)で選択されたル
ールベース(10)のルール名(11)が入力されると
(ステップS1)、ルール実行部(6^)は、ルール名
(11)に基づいて、該当するルールベース(10)の
行動部(13)を読取り(ステップS2)、行動部(1
3)を実行する(ステップS3)。
ールベース(10)のルール名(11)が入力されると
(ステップS1)、ルール実行部(6^)は、ルール名
(11)に基づいて、該当するルールベース(10)の
行動部(13)を読取り(ステップS2)、行動部(1
3)を実行する(ステップS3)。
この実行サイクル中に外界(7)から非同期的に入力さ
れるデータDは、データメモリ(9)に全て格納される
。
れるデータDは、データメモリ(9)に全て格納される
。
続いて、データメモリ(9)のチエツク及び実行を行な
うために、まずデータメモリ(9)をロックしくステッ
プS4)、データDの有無をチエツクする(ステップS
5)、もし、データDが存在すれば、データメモリ(9
)からFIFOの要領で時系列順に1つずつデータDを
取出しくステップS6)、データDをワーキングメモリ
(2)に反映させる(ステップS))、即ち、第2図の
ようなデータ要素の更新等を含むデータDの行動情報を
、行動指令Eにより実行する。
うために、まずデータメモリ(9)をロックしくステッ
プS4)、データDの有無をチエツクする(ステップS
5)、もし、データDが存在すれば、データメモリ(9
)からFIFOの要領で時系列順に1つずつデータDを
取出しくステップS6)、データDをワーキングメモリ
(2)に反映させる(ステップS))、即ち、第2図の
ようなデータ要素の更新等を含むデータDの行動情報を
、行動指令Eにより実行する。
ステップS7の実行後はステップS5に戻り、以下、ス
テップS5〜S7はデータメモリ〈9)が空になるまで
繰り返される。そして、データメモリ(9)内のデータ
Dが全て無くなったことを判定した時点で、データメモ
リ(9)のロック状態を解除しくステップS8)、デー
タメモリ(9)をデータ受は入れモードにして終了する
。
テップS5〜S7はデータメモリ〈9)が空になるまで
繰り返される。そして、データメモリ(9)内のデータ
Dが全て無くなったことを判定した時点で、データメモ
リ(9)のロック状態を解除しくステップS8)、デー
タメモリ(9)をデータ受は入れモードにして終了する
。
このように、実行サイクルと非同期的に発生するデータ
Dをデータメモリ(9)に格納したおき、データDに含
まれるワーキングメモリ(2)の更新情報等の行動情報
を、ルールベース(10)の実行タイミングで実際に取
出して実行することができる。
Dをデータメモリ(9)に格納したおき、データDに含
まれるワーキングメモリ(2)の更新情報等の行動情報
を、ルールベース(10)の実行タイミングで実際に取
出して実行することができる。
従って、データDとして時系列データを扱ったとしても
ルールベース実行装置のシステム構築は容易となる。
ルールベース実行装置のシステム構築は容易となる。
又、ルール実行部(6^)において外部関数などの呼出
しにより外界(7)に対する作用をおよぼしたときに、
その結果に応じてワーキングメモリ(2)内のデータ要
素を動的に更新したい場合、その更新要求をデータDと
してデータメモリ(9)に登録しておけば、ステップS
5〜Sフにより確実に実行されることになる。この機能
により、ルールメモリ(1)に対するルールベース(1
0)の記述能力が高められ、ルールベース(10)の格
納数を削減することができる。
しにより外界(7)に対する作用をおよぼしたときに、
その結果に応じてワーキングメモリ(2)内のデータ要
素を動的に更新したい場合、その更新要求をデータDと
してデータメモリ(9)に登録しておけば、ステップS
5〜Sフにより確実に実行されることになる。この機能
により、ルールメモリ(1)に対するルールベース(1
0)の記述能力が高められ、ルールベース(10)の格
納数を削減することができる。
尚、上記実施例では、データメモリ(9)を1つのみ挿
入した場合を示したが、複数のデータメモリ(9)を並
列に挿入してもよい、この場合、ステップS4〜Sフに
おいて1つのデータメモリ(9)がロッり中であっても
、外界(7)から発生するデータDを全て格納すること
ができるので、データDを取り逃がすことがなく、更に
正確な実行が可能となる。
入した場合を示したが、複数のデータメモリ(9)を並
列に挿入してもよい、この場合、ステップS4〜Sフに
おいて1つのデータメモリ(9)がロッり中であっても
、外界(7)から発生するデータDを全て格納すること
ができるので、データDを取り逃がすことがなく、更に
正確な実行が可能となる。
[発明の効果]
以上のようにこの発明によれば、ルール実行部と外界と
の間に、外界からのデータを時系列的に格納するための
データメモリを挿入し、ルールベースの実行サイクルと
非同期的に入力されるデータをデータメモリに一時的に
格納し、ルールベースの行動部の実行タイミングでデー
タメモリから1つずつ順次にデータを取出してワーキン
グメモリに反映させるようにしたので、非同期的なデー
タの入力を簡単に行なうことができると共に、1回の実
行サイクル中に外界の状況に応じて発生するデータ要素
の動的な更新を行なうことができるルールベース実行装
置及び方法が得られる効果がある。
の間に、外界からのデータを時系列的に格納するための
データメモリを挿入し、ルールベースの実行サイクルと
非同期的に入力されるデータをデータメモリに一時的に
格納し、ルールベースの行動部の実行タイミングでデー
タメモリから1つずつ順次にデータを取出してワーキン
グメモリに反映させるようにしたので、非同期的なデー
タの入力を簡単に行なうことができると共に、1回の実
行サイクル中に外界の状況に応じて発生するデータ要素
の動的な更新を行なうことができるルールベース実行装
置及び方法が得られる効果がある。
第11!Iはこの発明によるルールベース実行装置の一
実施例を示すブロック図、第2図は第1図内のデータメ
モリの構成を示す説明図、第3図はこの発明によるルー
ルベース実行方法を説明するためのフローチャート図、
第4図は従来のルールベース実行装置を示すブロック図
、第5図は第4図内のルールメモリの構成を示す説明図
である。 (1)・・・ルールメモリ (2)・・・ワーキングメモリ (6^)・トルール実行部 (7)・・・外界(9)
・・・データメモリ (10)・・・ルールベース(
12)・・・条件部 (13)・・・行動部C
,E・・・行動指令 D・・・データS1・・・ル
ールベースを選択するステップS3・・・行動部を実行
するステップ S5・・・データの有無を判定するステップS6・・・
データを取出すステップ S7・・・ワーキングメモリに反映させるステップ尚、
図中、同一符号は同−又は相当部分を示す。
実施例を示すブロック図、第2図は第1図内のデータメ
モリの構成を示す説明図、第3図はこの発明によるルー
ルベース実行方法を説明するためのフローチャート図、
第4図は従来のルールベース実行装置を示すブロック図
、第5図は第4図内のルールメモリの構成を示す説明図
である。 (1)・・・ルールメモリ (2)・・・ワーキングメモリ (6^)・トルール実行部 (7)・・・外界(9)
・・・データメモリ (10)・・・ルールベース(
12)・・・条件部 (13)・・・行動部C
,E・・・行動指令 D・・・データS1・・・ル
ールベースを選択するステップS3・・・行動部を実行
するステップ S5・・・データの有無を判定するステップS6・・・
データを取出すステップ S7・・・ワーキングメモリに反映させるステップ尚、
図中、同一符号は同−又は相当部分を示す。
Claims (2)
- (1)条件部及び行動部を含む複数のルールベースが格
納されたルールメモリと、変更可能な複数のデータ要素
が格納されたワーキングメモリと、前記条件部及び前記
データ要素に基づいて選択されたルールベースの行動部
を実行するルール実行部と、このルール実行部に接続さ
れた外界とを備え、前記ルール実行部が、前記行動部に
応じて前記データ要素の更新並びに前記外界に対する働
きかけを行なうと共に前記外界からのデータを読取るル
ールベース実行装置において、前記ルール実行部と前記
外界との間に、前記外界からのデータを時系列的に格納
するためのデータメモリを挿入したことを特徴とするル
ールベース実行装置。 - (2)ルールメモリに格納された複数のルールベースの
中から実行すべきルールベースを選択するステップと、 実行すべき前記ルールベースの行動部を実行す、るステ
ップと、 ルール実行部と外界との間に挿入されたデータメモリに
データが有るか否かを判定するステップと、 前記データメモリが空になるまで前記データを1つずつ
取出すステップと、 前記データをワーキングメモリに反映させるステップと
、 を含むルールベース実行方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3620989A JPH02216533A (ja) | 1989-02-17 | 1989-02-17 | ルールベース実行装置及び方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3620989A JPH02216533A (ja) | 1989-02-17 | 1989-02-17 | ルールベース実行装置及び方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02216533A true JPH02216533A (ja) | 1990-08-29 |
Family
ID=12463361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3620989A Pending JPH02216533A (ja) | 1989-02-17 | 1989-02-17 | ルールベース実行装置及び方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02216533A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7328422B2 (en) | 2004-11-19 | 2008-02-05 | Fujitsu Limited | Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit |
-
1989
- 1989-02-17 JP JP3620989A patent/JPH02216533A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7328422B2 (en) | 2004-11-19 | 2008-02-05 | Fujitsu Limited | Design support apparatus, design support program and design support method for supporting design of semiconductor integrated circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5175696A (en) | Rule structure in a procedure for synthesis of logic circuits | |
| JPH01147627A (ja) | 質問応答装置 | |
| US5353433A (en) | Method and apparatus for organizing and analyzing timing information | |
| CN85109064A (zh) | 翻译机性能的扩大方式 | |
| US7433858B2 (en) | Rule selection engine | |
| JPH02216533A (ja) | ルールベース実行装置及び方法 | |
| US4989162A (en) | Method of using an accuracy valve in a conflict resolution of a forward inference | |
| Basile et al. | Identification of timed input/output relationships for industrial automation systems using timed interpreted petri nets | |
| US5855010A (en) | Data processing apparatus | |
| JPH027180A (ja) | 命令一斉発火方式 | |
| JPS6367581A (ja) | 部分テスト項目作成方法 | |
| JPS59189471A (ja) | 配線経路探索システム | |
| JP2630258B2 (ja) | 遅延最適化方法および論理合成装置 | |
| JP3008483B2 (ja) | リンク処理装置 | |
| JPH0337720A (ja) | 辞書システムにおけるデータ連鎖方式 | |
| JPH08286713A (ja) | 言語変換装置 | |
| Smith | Synthesis heuristics for large asynchronous sequential circuits | |
| JPS63288332A (ja) | プロダクシヨンシステム | |
| Morzy | A Dynamic Overwrite Protocol for Multiversion | |
| JPH05151292A (ja) | 経路探索処理方法 | |
| JPH0635703A (ja) | 仮説推論処理方法 | |
| JPS62272323A (ja) | マクロテキストの取得方式 | |
| Morzy | A Dynamic Overwrite Protocol for Multiversion Concurrency Control Algorithms | |
| JPH0644388A (ja) | データフローモデルの実行システム | |
| JPH0488476A (ja) | データ集計方式 |