JPH0381828A - 規則ベース・システム管理装置および方法 - Google Patents
規則ベース・システム管理装置および方法Info
- Publication number
- JPH0381828A JPH0381828A JP2205322A JP20532290A JPH0381828A JP H0381828 A JPH0381828 A JP H0381828A JP 2205322 A JP2205322 A JP 2205322A JP 20532290 A JP20532290 A JP 20532290A JP H0381828 A JPH0381828 A JP H0381828A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- rules
- suspect
- execution
- working memory
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
A、産業上の利用分野
本発明は、一般にはコンピュータ・システムに関し、特
に、規則ベースのエキスパート・システムに用いられる
効率管理および拡張用のツールに関する。
に、規則ベースのエキスパート・システムに用いられる
効率管理および拡張用のツールに関する。
B、従来の技術
エキスパート・システムは、汎用コンピュータ上で実行
されるコンピュータ・プログラムであり、ある分野の専
門家の知識を取り入れようとするものである。取り入れ
られた知識は、観測可能なデータを入力することによっ
て、例外的な観測の原因に関する仮説を受は入れること
ができるか、または複雑な判断を行う際にアドバイスを
受けることのできる非専門家によって用いられる。
されるコンピュータ・プログラムであり、ある分野の専
門家の知識を取り入れようとするものである。取り入れ
られた知識は、観測可能なデータを入力することによっ
て、例外的な観測の原因に関する仮説を受は入れること
ができるか、または複雑な判断を行う際にアドバイスを
受けることのできる非専門家によって用いられる。
代表的なエキスパート・システムは、事実や相互関係を
含めたデータおよび規則を取り入れる。エキスパート・
システムによって用いられるデータベースは、知識ベー
スと呼ばれることが多い。
含めたデータおよび規則を取り入れる。エキスパート・
システムによって用いられるデータベースは、知識ベー
スと呼ばれることが多い。
エキスパート・システムは、実行されるときには、大量
のCPU資源を使用する。
のCPU資源を使用する。
エキスパート・システムの技術を、主力のデータ処理環
境に組み込む場合、効率化に相当の労力を注ぐのでなけ
れば、第3世代のプログラミング言語を用いた従来の手
続き型の手法と、効率面で競い合うことはできない。
境に組み込む場合、効率化に相当の労力を注ぐのでなけ
れば、第3世代のプログラミング言語を用いた従来の手
続き型の手法と、効率面で競い合うことはできない。
最も普及しているエキスパート・システムは、プロダク
ション・システムと呼ばれる。ユーザは、左辺(LH5
)と右辺(RH5)とから成る規則を作る。規則のLH
3条件が満たされれば、その規則は発火(fire)さ
れ、RH5が実行される。RH3は、ワーキング・メモ
リの状態を変える。ワーキング・メモリは、エキスパー
ト・システムによって用いられる事実とデータの構成要
素をすべて含む、規則が発火されると、規則のLH3は
、変更されたワーキング・メモリと再照合しなければな
らない。
ション・システムと呼ばれる。ユーザは、左辺(LH5
)と右辺(RH5)とから成る規則を作る。規則のLH
3条件が満たされれば、その規則は発火(fire)さ
れ、RH5が実行される。RH3は、ワーキング・メモ
リの状態を変える。ワーキング・メモリは、エキスパー
ト・システムによって用いられる事実とデータの構成要
素をすべて含む、規則が発火されると、規則のLH3は
、変更されたワーキング・メモリと再照合しなければな
らない。
第1図は、高度なプロダクション・システムlOのブロ
ック図である。プロダクション・システムlOは、一連
の規則12を含み、規則のそれぞれには、左辺14と右
辺16とがある。プロダクション−システムlOには、
プロダクション・システム10にとって“既知−の事実
を含むワーキング・メモリ18も含まれる。規則インタ
ープリタ20(推論エンジンとも呼ばれる)は、規則の
左辺14とワーキング・メモリ18とを照合し。
ック図である。プロダクション・システムlOは、一連
の規則12を含み、規則のそれぞれには、左辺14と右
辺16とがある。プロダクション−システムlOには、
プロダクション・システム10にとって“既知−の事実
を含むワーキング・メモリ18も含まれる。規則インタ
ープリタ20(推論エンジンとも呼ばれる)は、規則の
左辺14とワーキング・メモリ18とを照合し。
右辺16を実行する。
規則インタープリタ20は、無限ループ(認知−動作サ
イクルという)で実行される。認知−動作サイクルを第
2図に示す、規則インタープリタは、最初に、規則のす
べての左辺とワーキング・メモリを照合する(22)、
2つ以上の規則によって照合がとられることがある。規
則は、それ自体の一遍の関連事実に対するものであるが
、事実のいずれか一つを処理するために一度に発火でき
る規則は一つだけである。規則インタープリタ20は、
発火される規則および事実を、競合の解消によって選択
する。競合の解消を行う代表的なアルゴリズムは、発火
を目的に、優先度の最も高い規則と最も新しい事実を選
択する。規則のいずれか一つが選択されると、対応する
右辺が実行される(26)、これにより、ワーキング・
メモリが変更される。このサイクルが繰り返されて、規
則の左辺がすべて、更新されたワーキング・メモリ22
と再び符合することになる。
イクルという)で実行される。認知−動作サイクルを第
2図に示す、規則インタープリタは、最初に、規則のす
べての左辺とワーキング・メモリを照合する(22)、
2つ以上の規則によって照合がとられることがある。規
則は、それ自体の一遍の関連事実に対するものであるが
、事実のいずれか一つを処理するために一度に発火でき
る規則は一つだけである。規則インタープリタ20は、
発火される規則および事実を、競合の解消によって選択
する。競合の解消を行う代表的なアルゴリズムは、発火
を目的に、優先度の最も高い規則と最も新しい事実を選
択する。規則のいずれか一つが選択されると、対応する
右辺が実行される(26)、これにより、ワーキング・
メモリが変更される。このサイクルが繰り返されて、規
則の左辺がすべて、更新されたワーキング・メモリ22
と再び符合することになる。
効率のよい規則プログラムを書く技術は、未だ完成の域
に達していない、効率のよい規則を作り上げるための一
般的な指針は、Thomas CooperとNanc
y WogrinのrOPs5を用いた規則ベース・プ
ログラミング(Rule−Based Program
sing withOPS5)J (1988)と
Lee Brownstan他のrOPs5によるエキ
スパート・システムのプログラミング(Program
ming Expert System 1nOPS5
)J (1985)にみられる、これらの出版物を除
けば、プログラムの効率化に関して、エキスパート・シ
ステムの設計者が利用できる−ような専門的な知識を提
供しているものはない。
に達していない、効率のよい規則を作り上げるための一
般的な指針は、Thomas CooperとNanc
y WogrinのrOPs5を用いた規則ベース・プ
ログラミング(Rule−Based Program
sing withOPS5)J (1988)と
Lee Brownstan他のrOPs5によるエキ
スパート・システムのプログラミング(Program
ming Expert System 1nOPS5
)J (1985)にみられる、これらの出版物を除
けば、プログラムの効率化に関して、エキスパート・シ
ステムの設計者が利用できる−ような専門的な知識を提
供しているものはない。
上に挙げた文献に述べられている指針は、エキスパート
・システムのプログラマが自身の経験に基づいて適用す
る目安である。このような目安は、規則インタープリタ
が対象とする方法の知識に基づいている。現在のプロダ
クション・システムの規則インタープリタは、効率を目
的に最適化されているので、一般には、規則のRH8が
発火されるとき、ワーキング・メモリの変更によって直
に影響を受けるLH5だけが、次の照合サイクルで照合
される。この種の規則インタープリタは、Reteアル
ゴリズムを用いることによって照合に制限を加える。こ
のアルゴリズムでは、照合の結果を格納するために、多
数のデータ構造が生成されるので、ワーキング・メモリ
内の関連する要素が変更されていなければ、再照合の必
要はない、ワーキング・メモリ内の要素が変更されれば
、規IllインタープリタによってReteデータ構造
が調べられ、どの規則のどの部分に影響が及ぶかが判定
され、Re teデータ構造により、そのような規則だ
けで照合がとられる。
・システムのプログラマが自身の経験に基づいて適用す
る目安である。このような目安は、規則インタープリタ
が対象とする方法の知識に基づいている。現在のプロダ
クション・システムの規則インタープリタは、効率を目
的に最適化されているので、一般には、規則のRH8が
発火されるとき、ワーキング・メモリの変更によって直
に影響を受けるLH5だけが、次の照合サイクルで照合
される。この種の規則インタープリタは、Reteアル
ゴリズムを用いることによって照合に制限を加える。こ
のアルゴリズムでは、照合の結果を格納するために、多
数のデータ構造が生成されるので、ワーキング・メモリ
内の関連する要素が変更されていなければ、再照合の必
要はない、ワーキング・メモリ内の要素が変更されれば
、規IllインタープリタによってReteデータ構造
が調べられ、どの規則のどの部分に影響が及ぶかが判定
され、Re teデータ構造により、そのような規則だ
けで照合がとられる。
Reteアルゴリズムは、その性質上、規I11の左辺
のわずかな部分によって、規則プログラムの効率がしば
しば非常に低下する。これは、規則と規則との、および
規則とデータとの相互作用による。その原因は、ワーキ
ング・メモリ内の関連要素が多数、いろいろな組み合わ
せで相互に取捨選択(スクリーニング)されたり比較さ
れたりすることにある。スクリーニングは、要素内テス
トによっズ、比較は、要素間テストによって行われる。
のわずかな部分によって、規則プログラムの効率がしば
しば非常に低下する。これは、規則と規則との、および
規則とデータとの相互作用による。その原因は、ワーキ
ング・メモリ内の関連要素が多数、いろいろな組み合わ
せで相互に取捨選択(スクリーニング)されたり比較さ
れたりすることにある。スクリーニングは、要素内テス
トによっズ、比較は、要素間テストによって行われる。
テスト仕様はパターンと呼ばれる。規則とワーキング・
メモリの構造化方法は、パターン・マツチングにかかる
時間の長短に大きく影響する。
メモリの構造化方法は、パターン・マツチングにかかる
時間の長短に大きく影響する。
エキスパート・システムのプログラマがプログラムの効
率を上げるのに用いる目安は、適用範囲が広く、いつも
簡単に適用できるとは限らない。
率を上げるのに用いる目安は、適用範囲が広く、いつも
簡単に適用できるとは限らない。
このような指針の代表例としては、多数のワーキング・
メモリ要素に符合する条件は避ける、条件のクロス乗積
の大きいものは避ける、符合した条件を頻繁に変更する
のは避ける、個々の条件要素の照合を高速にする、競合
集合の大きさを制限する、などがある、これらの問題の
解決法としては、左辺の条件を並べ替えることで、制限
の大きい条件が最初に現れ、変更頻度の高いワーキング
・メモリ要素と符合する条件が最後にくるようにする方
法が代表的である。現在、規則ベースのエキスパート・
システムの効率を監視し評価するのに適したツールがな
いため、エキスパート・システムのプログラマは、どの
部分で変更が起きるかについて、推測や直観に頼ること
が多くなる。
メモリ要素に符合する条件は避ける、条件のクロス乗積
の大きいものは避ける、符合した条件を頻繁に変更する
のは避ける、個々の条件要素の照合を高速にする、競合
集合の大きさを制限する、などがある、これらの問題の
解決法としては、左辺の条件を並べ替えることで、制限
の大きい条件が最初に現れ、変更頻度の高いワーキング
・メモリ要素と符合する条件が最後にくるようにする方
法が代表的である。現在、規則ベースのエキスパート・
システムの効率を監視し評価するのに適したツールがな
いため、エキスパート・システムのプログラマは、どの
部分で変更が起きるかについて、推測や直観に頼ること
が多くなる。
エキスパート・システムの効率は、データによって大き
く変化する。規則自体を調べるだけで規則プログラムの
効率が評価できるケースはほとんどない、規則が発火さ
れるとき、システムの現在状態、ワーキング・メモリの
データ量、および前の規則の発火履歴に応じて、他の多
くの規則が関係する。パターン・マツチングのときに必
要な処理を予測するのは容易ではない、このように。
く変化する。規則自体を調べるだけで規則プログラムの
効率が評価できるケースはほとんどない、規則が発火さ
れるとき、システムの現在状態、ワーキング・メモリの
データ量、および前の規則の発火履歴に応じて、他の多
くの規則が関係する。パターン・マツチングのときに必
要な処理を予測するのは容易ではない、このように。
エキスパート・システムの分野では、効率的な規IIを
作るための普遍的な規則は存在しない。
作るための普遍的な規則は存在しない。
規則プログラムのメリットは、データ処理の大半をLH
5に任せることにある。LH3はコンパクトで宣言的で
ある。いいかえれば、規則のLH8は、評価の機構を指
定せずにデータの性質を指定する。規則ベースのアプリ
ケーションを書くのは、手続き型言語の手法に比べれば
単純であるが、プログラムが最適化されていないと、効
率がかなり低下することがある。したがって規01ペー
スのプログラムを最適化あるいは調整するときのコスト
は、複雑なアプリケーション用の規則プログラムを書い
て得られる生産性と釣り合いのとれたものでなければな
らない、調整コストを抑える効率的な調整機構が肝要で
ある。
5に任せることにある。LH3はコンパクトで宣言的で
ある。いいかえれば、規則のLH8は、評価の機構を指
定せずにデータの性質を指定する。規則ベースのアプリ
ケーションを書くのは、手続き型言語の手法に比べれば
単純であるが、プログラムが最適化されていないと、効
率がかなり低下することがある。したがって規01ペー
スのプログラムを最適化あるいは調整するときのコスト
は、複雑なアプリケーション用の規則プログラムを書い
て得られる生産性と釣り合いのとれたものでなければな
らない、調整コストを抑える効率的な調整機構が肝要で
ある。
そこで、規則プログラムの実行時に効率が最も低下する
原因となる規則の発見に役立つ、データ収集システムが
望まれる。また、かかるシステムは、アプリケーション
の効率を調べ、非効率の原因を突き止めるユーザを支援
するものが望ましし)。
原因となる規則の発見に役立つ、データ収集システムが
望まれる。また、かかるシステムは、アプリケーション
の効率を調べ、非効率の原因を突き止めるユーザを支援
するものが望ましし)。
C0発明が解決しようとする課題
本発明の目的は、規則ベースのエキスパート・システム
のうち、プログラム実行時の非効率を判定する上で役立
つデータを提供する部分の監視システムを提供すること
にある。
のうち、プログラム実行時の非効率を判定する上で役立
つデータを提供する部分の監視システムを提供すること
にある。
本発明の目的には、アプリケーションの効率化に興味を
持つユーザが理解できるフォーマットで使用可能なデー
タを表現するシステムを提供することも含まれる。
持つユーザが理解できるフォーマットで使用可能なデー
タを表現するシステムを提供することも含まれる。
本発明の目的には、エキスパート・システム・アプリケ
ーションのうち効率の低い部分を自動的に選択し、効率
に関係する変更をアプリケーションに加えるために、選
択された小数の候補をユーザに提案するシステムを提供
することも含まれる。
ーションのうち効率の低い部分を自動的に選択し、効率
に関係する変更をアプリケーションに加えるために、選
択された小数の候補をユーザに提案するシステムを提供
することも含まれる。
08課題を解決するための手段
本発明による監視システムは、エキスパート・システム
・アプリケーションが実行されてい、る間に、該アプリ
ケーションを監視する。監視システムは、エキスパート
・システムの動作効率に関連して選択された効率データ
を記録し、このデータをデータベースに書き込んでおく
、監視システムは、エキスパート・システムの実行テス
トが終了した後、ユーザが修正の対象とする小数の候補
規則を選択し、候補規則にどのような変更が必要かを判
定するためのデータをユーザに表示する。
・アプリケーションが実行されてい、る間に、該アプリ
ケーションを監視する。監視システムは、エキスパート
・システムの動作効率に関連して選択された効率データ
を記録し、このデータをデータベースに書き込んでおく
、監視システムは、エキスパート・システムの実行テス
トが終了した後、ユーザが修正の対象とする小数の候補
規則を選択し、候補規則にどのような変更が必要かを判
定するためのデータをユーザに表示する。
E、実施例
ここで述べる監視システムは、Reteの照合アルゴリ
ズムを用いる規則インタープリタ20との併用に適して
いる0本発明に適したプロダクション・システムとして
は、Digital Equipment(:orp、
の0PS5、International Busin
essMachinesのKnowledge Too
lなどがある。
ズムを用いる規則インタープリタ20との併用に適して
いる0本発明に適したプロダクション・システムとして
は、Digital Equipment(:orp、
の0PS5、International Busin
essMachinesのKnowledge Too
lなどがある。
第3図は、エキスパート・システム・アプリケーション
の効率を調整する手続きを示す、最初にエキスパート・
システム・アプリケーションが実行され(30)、アプ
リケーションの効率が監視される(32)、以下、これ
について詳述する。アプリケーションの効率に興味を持
つユーザは、効率が満足のいくものかどうかを判定する
(34)、満足のいくものであれば、手続きはここで終
了する。そうでなければ、ステップ32で得られた効率
データが分析され(36)、アプリケーション内の規則
が変更される(38)、ステップ38で事実とデータの
編成方法も変更すれば、変更結果を、検査されたアプリ
ケーションで効率の上がる表現に変えることができる。
の効率を調整する手続きを示す、最初にエキスパート・
システム・アプリケーションが実行され(30)、アプ
リケーションの効率が監視される(32)、以下、これ
について詳述する。アプリケーションの効率に興味を持
つユーザは、効率が満足のいくものかどうかを判定する
(34)、満足のいくものであれば、手続きはここで終
了する。そうでなければ、ステップ32で得られた効率
データが分析され(36)、アプリケーション内の規則
が変更される(38)、ステップ38で事実とデータの
編成方法も変更すれば、変更結果を、検査されたアプリ
ケーションで効率の上がる表現に変えることができる。
変更されれば、アプリケーションは再実行され1手続き
が繰り返される。
が繰り返される。
第4図の監視プログラム(モニタ)40は、プロダクシ
ョン・システムlOの実行時に実行され、データベース
に格納するための各種のデータ(42ないし54)を生
成する。データは、後述するように検索され、プロダク
ション・システムlOの非効率を分析するときに用いら
れる。
ョン・システムlOの実行時に実行され、データベース
に格納するための各種のデータ(42ないし54)を生
成する。データは、後述するように検索され、プロダク
ション・システムlOの非効率を分析するときに用いら
れる。
実行中のプログラムの効率を実際に監視する方法は周知
のとおりである。監視対象の情報が決定されれば、この
ような方法に手を加えてモニタ40を形成することは容
易である。効率監視システムにおいては、データの選択
は、一般に、実際に監視を行うコンピュータ・コードを
書くことよりも、重要かつ創造的な仕事と考えられてい
る。
のとおりである。監視対象の情報が決定されれば、この
ような方法に手を加えてモニタ40を形成することは容
易である。効率監視システムにおいては、データの選択
は、一般に、実際に監視を行うコンピュータ・コードを
書くことよりも、重要かつ創造的な仕事と考えられてい
る。
モニタ40が収集する第1のデータ・セット42はパタ
ーン・マツチング時間である。この時間は、規則インタ
ープリタ20が、RH5の発火後に起こる左辺の照合(
22)と競合の解消(24)のステップを実行する時間
と定義するのがよい、パターン・マツチング時間データ
42は、各組IIについて個々に累積する形で保存され
る。したがってエキスパート・システムの実行が終わる
時点では、収集されたデータ・セット42の内容は、規
則の各RH3に関し、RH3が発火されたときにワーキ
ング・メモリに加えられた変更の結果、パターン・マツ
チングと競合の解消にかかった時間の合計である。
ーン・マツチング時間である。この時間は、規則インタ
ープリタ20が、RH5の発火後に起こる左辺の照合(
22)と競合の解消(24)のステップを実行する時間
と定義するのがよい、パターン・マツチング時間データ
42は、各組IIについて個々に累積する形で保存され
る。したがってエキスパート・システムの実行が終わる
時点では、収集されたデータ・セット42の内容は、規
則の各RH3に関し、RH3が発火されたときにワーキ
ング・メモリに加えられた変更の結果、パターン・マツ
チングと競合の解消にかかった時間の合計である。
収集された第2のデータ・セット44の内容は、RH5
の実行によって起こったワーキング・メモリの動作の回
数である。この回数は、ワーキング・メモリ内の要素の
各クラスごとに格納し。
の実行によって起こったワーキング・メモリの動作の回
数である。この回数は、ワーキング・メモリ内の要素の
各クラスごとに格納し。
かつサイクルごとに格納するのが望ましい。ワーキング
・メモリ要素の割り当て、削除、および更新は、個別に
表の形にまとめられる。したがって実行テストが終了し
た時点では、収集されたデータ・セット44の内容は、
前に発火されたRH5によって影響を受けた各クラスの
エントリを、認知−動作サイクルごとに示したものであ
る。各エントリの内容は、そのサイクルで当該クラスの
メンバに対して実行された割°り当て、削除、j5よび
更新の合計回数を表にしたものである。
・メモリ要素の割り当て、削除、および更新は、個別に
表の形にまとめられる。したがって実行テストが終了し
た時点では、収集されたデータ・セット44の内容は、
前に発火されたRH5によって影響を受けた各クラスの
エントリを、認知−動作サイクルごとに示したものであ
る。各エントリの内容は、そのサイクルで当該クラスの
メンバに対して実行された割°り当て、削除、j5よび
更新の合計回数を表にしたものである。
モニタ40によって収集される第3のデータ・セット4
6は、規則のLH3に対する各条件テストの実行が論理
的に必要とされた回数である。RH5が発火された結果
として条件テストが実行されるごとに、当該規則のカウ
ンタが増分される。
6は、規則のLH3に対する各条件テストの実行が論理
的に必要とされた回数である。RH5が発火された結果
として条件テストが実行されるごとに、当該規則のカウ
ンタが増分される。
実行テストの終了時には、各条件テストのカウンタは1
条件テストか実行された回数を示す。
条件テストか実行された回数を示す。
モニタ40は、成功した条件テスト48の回数も収集す
る。各条件テストに第2のカウンタが設けられる、この
カウンタは、ある種の条件テストについては、そのテス
トが成功したときにのみ増分される。
る。各条件テストに第2のカウンタが設けられる、この
カウンタは、ある種の条件テストについては、そのテス
トが成功したときにのみ増分される。
各パターンの記録は個別に維持される。符合回数は、パ
ターンを満足するワーキング・メモリ要素の組み合わせ
の数であり、Reteデータ構造を走査することによっ
て得られる。パターンについて生じた符合の最大数だけ
を保持するのが望ましい、そこで、パターンを満足する
ワーキング・メモリ要素の組み合わせの数は、パターン
が照合されるごとに、Reteデータ構造から得られ、
当該パターンの前の最大値と比較される。保持されるの
は大きい値だけである。
ターンを満足するワーキング・メモリ要素の組み合わせ
の数であり、Reteデータ構造を走査することによっ
て得られる。パターンについて生じた符合の最大数だけ
を保持するのが望ましい、そこで、パターンを満足する
ワーキング・メモリ要素の組み合わせの数は、パターン
が照合されるごとに、Reteデータ構造から得られ、
当該パターンの前の最大値と比較される。保持されるの
は大きい値だけである。
モニタ40によって次に収集されるデータ・セット52
は、規則のRHSの実行時間である。
は、規則のRHSの実行時間である。
これは各規則について累積された値なので、実行終了時
には、規則の右辺の実行に実際にかかった時間は、各規
則に適用できる。
には、規則の右辺の実行に実際にかかった時間は、各規
則に適用できる。
モニタ40によって最後に収集されるデータ・セット5
4は、エキスパート・システムによって実行される認知
−動作サイクルのそれぞれのエントリである。各エント
リの内容は、サイクルの照合時間の合計である。これは
、上述のように競合の解消時間を含むものが望ましい、
競合集合の大きさと、発火されてサイクルをスタートさ
せた規則のIDが各エントリに含まれる。競合集合の大
きさは、発火が認められたすべての規則に関連するワー
キング・メモリ要素の組み合わせの数である。また、当
該サイクルで実行された要素間条件テストと要素内条件
テストの回数も含まれる。この情報は、実際に実行され
たテストを示すものであり、データ・セット46.48
に収集された値は、各パターンについて論理的に必要と
されたテスト回数を示す、実際のテスト回数は比較的少
ない、これは、異なる規則に共通の条件テストは、−度
しか実行されないが、その結果が共有されるためである
。その違いが共有の程度を示す6モニタ40によって収
集されたデータは、データベースに書き込まれる。各デ
ータ・セットのIDは、データベースに格納するのが望
ましい。
4は、エキスパート・システムによって実行される認知
−動作サイクルのそれぞれのエントリである。各エント
リの内容は、サイクルの照合時間の合計である。これは
、上述のように競合の解消時間を含むものが望ましい、
競合集合の大きさと、発火されてサイクルをスタートさ
せた規則のIDが各エントリに含まれる。競合集合の大
きさは、発火が認められたすべての規則に関連するワー
キング・メモリ要素の組み合わせの数である。また、当
該サイクルで実行された要素間条件テストと要素内条件
テストの回数も含まれる。この情報は、実際に実行され
たテストを示すものであり、データ・セット46.48
に収集された値は、各パターンについて論理的に必要と
されたテスト回数を示す、実際のテスト回数は比較的少
ない、これは、異なる規則に共通の条件テストは、−度
しか実行されないが、その結果が共有されるためである
。その違いが共有の程度を示す6モニタ40によって収
集されたデータは、データベースに書き込まれる。各デ
ータ・セットのIDは、データベースに格納するのが望
ましい。
データベース内の格納フォーマットは重要ではない、収
集された情報は、扱いやすさを考えて、第5図とあわせ
て説明するレポートと同じフォーマットのテキスト・フ
ァイルに格納することができる。
集された情報は、扱いやすさを考えて、第5図とあわせ
て説明するレポートと同じフォーマットのテキスト・フ
ァイルに格納することができる。
第5図のアナライザはユーザ・インタフェース62に接
続される。アナライザ60は、汎用コンピュータ・シス
テム上で実行され、第4図とあわせて説明したように、
モニタ40によって作成されたデータベースをアクセス
するプログラムが望ましい、アナライザ60は、データ
ベースからデータを抽出し、これを数種のレポート(6
4ないし74)の形でユーザ・インタフェース62に引
き渡す。
続される。アナライザ60は、汎用コンピュータ・シス
テム上で実行され、第4図とあわせて説明したように、
モニタ40によって作成されたデータベースをアクセス
するプログラムが望ましい、アナライザ60は、データ
ベースからデータを抽出し、これを数種のレポート(6
4ないし74)の形でユーザ・インタフェース62に引
き渡す。
レポート64は、各規則の右辺76に対してエントリを
一つ含む、エントリは、RHSが発火された回数78、
およびRHSに対する規fllの発火後のパターン・マ
ツチングにかかったCPU時間80とRHSを実際に実
行するのにかかったCPU時間82の割合を含む、また
、規則の発火に影響を受けたクラスの全メンバに関する
アクティビティ数84も含まれる。アクティビティ数は
、割り当て、解放、J5よび更新が起こったクラス・メ
ンバの個数について個別に表にされる。回数(78ない
し84)はすべて、監視の全時間にわたって累積される
。
一つ含む、エントリは、RHSが発火された回数78、
およびRHSに対する規fllの発火後のパターン・マ
ツチングにかかったCPU時間80とRHSを実際に実
行するのにかかったCPU時間82の割合を含む、また
、規則の発火に影響を受けたクラスの全メンバに関する
アクティビティ数84も含まれる。アクティビティ数は
、割り当て、解放、J5よび更新が起こったクラス・メ
ンバの個数について個別に表にされる。回数(78ない
し84)はすべて、監視の全時間にわたって累積される
。
レポート66は、照合番号86(認知−動作サイクル番
号)とクラス名88の両方で分類されたクラス・メンバ
・アクティビティを示す、いいかえれば、認知と動作の
各サイクルについて、レポート66には個別のエントリ
があり、このエントリが、サイクルの番号と、少なくと
も一つのメンバに変更のあったクラスの番号を示す、そ
こで、たとえば、−回のRHSの発火によって3種類の
クラスのメンバが変更された場合、レポート66には、
そのサイクルについて3つのエントリが含まれる。各エ
ントリの内容は、当該クラスのサイクルで割り当て(9
0)、解放(92) 、 i5よび更新(94)が起こ
ったワーキング・メモリ要素の数である。
号)とクラス名88の両方で分類されたクラス・メンバ
・アクティビティを示す、いいかえれば、認知と動作の
各サイクルについて、レポート66には個別のエントリ
があり、このエントリが、サイクルの番号と、少なくと
も一つのメンバに変更のあったクラスの番号を示す、そ
こで、たとえば、−回のRHSの発火によって3種類の
クラスのメンバが変更された場合、レポート66には、
そのサイクルについて3つのエントリが含まれる。各エ
ントリの内容は、当該クラスのサイクルで割り当て(9
0)、解放(92) 、 i5よび更新(94)が起こ
ったワーキング・メモリ要素の数である。
レポート68は、複数のエントリを含み、エントリはそ
れぞれ照合すなわちサイクルの番号96、発火されてサ
イクルをスタートさせたRH5O)ID9B、bよび最
も新しい発火の結果として再照合が必要になった規則の
左辺のID100を含む、影響を受けるLH5l 00
は、各エントリに一つ含まれているのが望ましい、その
場合、回のRHSの発火によって5つの規則を再照合し
なければならないときは、レポート68には5つのエン
トリが含まれ、それぞれの照合番号96と発火されたR
HSは同一となる。
れぞれ照合すなわちサイクルの番号96、発火されてサ
イクルをスタートさせたRH5O)ID9B、bよび最
も新しい発火の結果として再照合が必要になった規則の
左辺のID100を含む、影響を受けるLH5l 00
は、各エントリに一つ含まれているのが望ましい、その
場合、回のRHSの発火によって5つの規則を再照合し
なければならないときは、レポート68には5つのエン
トリが含まれ、それぞれの照合番号96と発火されたR
HSは同一となる。
レボ−)70は、各サイクルについて一つのエントリを
含む、各エントリの内容は、サイクルの照合番号102
、照合と競合の解消にかかるCPU時間104、および
競合集合の大きさ106である。また実行された要素間
テスト108と要素内テスト110の回数も含まれる。
含む、各エントリの内容は、サイクルの照合番号102
、照合と競合の解消にかかるCPU時間104、および
競合集合の大きさ106である。また実行された要素間
テスト108と要素内テスト110の回数も含まれる。
さらに、サイクルがスタートする直前に発火されたRH
Sも含まれる(112)。
Sも含まれる(112)。
レポート72は、エキスパート・システムの各規則に対
してlエントリを含み、これは規則のLH5114によ
って識別される。各エントリの内容は、規則の左辺に含
まれたパターンのそれぞれに対応するサブエントリであ
る。第5図には2つのパターン・サブエントリ116.
118を示したが、規則の各LHS114に対するパタ
ーン・サブエントリの正確な個数は、各規則に含まれる
パターン数によって決まる。
してlエントリを含み、これは規則のLH5114によ
って識別される。各エントリの内容は、規則の左辺に含
まれたパターンのそれぞれに対応するサブエントリであ
る。第5図には2つのパターン・サブエントリ116.
118を示したが、規則の各LHS114に対するパタ
ーン・サブエントリの正確な個数は、各規則に含まれる
パターン数によって決まる。
各サブエントリの内容は、規則のLH3の照合に必要な
要素間条件テストの回数120と、成功した該テストの
回数122である。また、必要になった要素内条件テス
トの回数124と成功した該テストの回数126も含ま
れる。各パターンに対応するクラス名128も該当する
サブエントリに含まれる。
要素間条件テストの回数120と、成功した該テストの
回数122である。また、必要になった要素内条件テス
トの回数124と成功した該テストの回数126も含ま
れる。各パターンに対応するクラス名128も該当する
サブエントリに含まれる。
レポート74も、各規則の左辺に対するエントリを一つ
含む、各エントリは、規則のLH3l 30を識別し、
レポート72と同様に、規則内の各パターンに対するサ
ブエントリを含む、第5図では、第1のパターン・サブ
エントリ132と第2のパターン・サブエントリ134
しか示していないが、その個数は上述のように変化する
。各サブエントリの内容は、パターンに対して存在して
いた要素間符合の最大回数138と要素的符合の最大回
数138である。これらは、第4図の収集されたデータ
・セット50で得られる値である。各サブエントリには
、クラスのメンバ数140とクラス名142も含まれる
。
含む、各エントリは、規則のLH3l 30を識別し、
レポート72と同様に、規則内の各パターンに対するサ
ブエントリを含む、第5図では、第1のパターン・サブ
エントリ132と第2のパターン・サブエントリ134
しか示していないが、その個数は上述のように変化する
。各サブエントリの内容は、パターンに対して存在して
いた要素間符合の最大回数138と要素的符合の最大回
数138である。これらは、第4図の収集されたデータ
・セット50で得られる値である。各サブエントリには
、クラスのメンバ数140とクラス名142も含まれる
。
ここから明らかなように、レポート64ないし74は、
モニタ40によって収集されたデータ・セット42ない
し54から直に生成される。たとえばレポート70は、
データ・セット54をリストの形にしただけのものであ
る。規則74は、データ・セット5o’h)ら導かれる
。他のレポートも同様に、データ・セット42ないし5
4から導かれる。
モニタ40によって収集されたデータ・セット42ない
し54から直に生成される。たとえばレポート70は、
データ・セット54をリストの形にしただけのものであ
る。規則74は、データ・セット5o’h)ら導かれる
。他のレポートも同様に、データ・セット42ないし5
4から導かれる。
アナライザ60によって生成される各種のレポート64
ないし74は、第6図に示した原因/結果の連鎖が表す
原理に従って定義され表示される。第6図は、規則12
、ワーキング・メモリ18、および規則インタープリタ
20の相互作用のうち、非効率の原因となる部分の関係
を表す、第5図のレポートに示される収集されたデータ
の選択とレイアウトは、このような関係の性質を強調し
て記述するように行うのが望ましい。
ないし74は、第6図に示した原因/結果の連鎖が表す
原理に従って定義され表示される。第6図は、規則12
、ワーキング・メモリ18、および規則インタープリタ
20の相互作用のうち、非効率の原因となる部分の関係
を表す、第5図のレポートに示される収集されたデータ
の選択とレイアウトは、このような関係の性質を強調し
て記述するように行うのが望ましい。
第6図は、認知と動作の各サイクルで生じるイベントの
相互間係を示す、規則の右辺が発火されると(150)
、クラス・メンバの一部が変更される(152)、クラ
ス・メンバの一部が変更されると(152)、ある規則
の左辺が影響を受ける(154)、Reteアルゴリズ
ムに詳しい当業者には明らかなように、再照合されるの
は、変更されたクラス・メンバ152によって左辺が影
響を受けた規則だけである。
相互間係を示す、規則の右辺が発火されると(150)
、クラス・メンバの一部が変更される(152)、クラ
ス・メンバの一部が変更されると(152)、ある規則
の左辺が影響を受ける(154)、Reteアルゴリズ
ムに詳しい当業者には明らかなように、再照合されるの
は、変更されたクラス・メンバ152によって左辺が影
響を受けた規則だけである。
影響を受けた規則154の再照合により、これらの規則
内の条件テストが再評価される(156)、これにより
、パターンの照合がいくつかとられることがある(15
8)、影響を受けた規III内のパターンが満足される
と、それらの規則および符合したワーキング・メモリ要
素が競合集合に追加されるか、または競合集合から除外
される(160)、エキスパート・システム・プログラ
ムが実行されている間、テスト条件と照合パターンによ
ってこうして形成された競合集合160にCPU時間が
かかる。
内の条件テストが再評価される(156)、これにより
、パターンの照合がいくつかとられることがある(15
8)、影響を受けた規III内のパターンが満足される
と、それらの規則および符合したワーキング・メモリ要
素が競合集合に追加されるか、または競合集合から除外
される(160)、エキスパート・システム・プログラ
ムが実行されている間、テスト条件と照合パターンによ
ってこうして形成された競合集合160にCPU時間が
かかる。
エキスパート・システム・アプリケーションの実行を、
第6図に示した概念に従って分析することは、つまり、
規則の右辺が発火されたときに、次の照合サイクルで規
則インタープリタ20がCPU時間を過度に消費する原
因となった規[1に注意を向けることによって、効率の
向上を図ることである0発火されて、このように時間の
かかる照合をもたらす規則は、被告規則と呼ぶことがで
きる。
第6図に示した概念に従って分析することは、つまり、
規則の右辺が発火されたときに、次の照合サイクルで規
則インタープリタ20がCPU時間を過度に消費する原
因となった規[1に注意を向けることによって、効率の
向上を図ることである0発火されて、このように時間の
かかる照合をもたらす規則は、被告規則と呼ぶことがで
きる。
ボックス154は、被告規則の発火により、ある規則の
LH3を再照合しなければならないことを示す、このよ
うな規則の照合が、実際にかなりのCPU時間を消費す
る。したがって、これらの規則は容疑規則と呼ぶことが
でき、効率情報の分析はこれらに焦点をあてて行う必要
がある。
LH3を再照合しなければならないことを示す、このよ
うな規則の照合が、実際にかなりのCPU時間を消費す
る。したがって、これらの規則は容疑規則と呼ぶことが
でき、効率情報の分析はこれらに焦点をあてて行う必要
がある。
次に第7図はアナライザ60の動作を示す。アナライザ
60の動作がスタートするとき、最初のステップは、被
告規則170を選択することである。必要なら、数個の
被告規則を選択して、同時に追跡できるが、第7図では
、−度に選択される被告規則は一つだけとしている。゛ 被告規則の選択(170)は、レポート64の情報に基
づいて行われる。被告規則は、照合にかかったCPU時
間80が最も長くなった規則とするのがよい。
60の動作がスタートするとき、最初のステップは、被
告規則170を選択することである。必要なら、数個の
被告規則を選択して、同時に追跡できるが、第7図では
、−度に選択される被告規則は一つだけとしている。゛ 被告規則の選択(170)は、レポート64の情報に基
づいて行われる。被告規則は、照合にかかったCPU時
間80が最も長くなった規則とするのがよい。
次のステップは、被告規則の発火によって、どのクラス
が変更されたかを判定することである(172)、アナ
ライザ60は、レポート70から、被告規則が、どの認
知−動作サイクル(ま−たは照合番号)で発火されたか
を判定できる。この照合番号のリストは、レポート66
から、対応する照合番号を持つエントリだけを選択する
のに用いられる。これにより、レポート66のエントリ
からレポートが選択され、このレポートから、被告規則
の発火によって変更されたクラスだけのクラス名88が
得られる。
が変更されたかを判定することである(172)、アナ
ライザ60は、レポート70から、被告規則が、どの認
知−動作サイクル(ま−たは照合番号)で発火されたか
を判定できる。この照合番号のリストは、レポート66
から、対応する照合番号を持つエントリだけを選択する
のに用いられる。これにより、レポート66のエントリ
からレポートが選択され、このレポートから、被告規則
の発火によって変更されたクラスだけのクラス名88が
得られる。
ユーザは、ステップ172の選択結果を調べれば、容疑
規則の選択に移ることができる(174〕、容疑規則は
、被告規則の発火によって左辺が影響を受けた規則であ
る。この情報は、レポート68から、発火されたRH3
の情報98が被告規則に符合するエントリだけを抽出す
ることによって得らえる。容疑規則の名前は、ユーザ向
けの他のレポートのフィルタとして用いられる(176
ないし182)、容疑規則のリストは、各種のレポート
から、容疑規則に対応するエントリだけを選択するため
&コ用いられる。
規則の選択に移ることができる(174〕、容疑規則は
、被告規則の発火によって左辺が影響を受けた規則であ
る。この情報は、レポート68から、発火されたRH3
の情報98が被告規則に符合するエントリだけを抽出す
ることによって得らえる。容疑規則の名前は、ユーザ向
けの他のレポートのフィルタとして用いられる(176
ないし182)、容疑規則のリストは、各種のレポート
から、容疑規則に対応するエントリだけを選択するため
&コ用いられる。
容疑規則が選択されると、数種のレポート176ないし
182がユーザに提示される。ユーザはこれらを基に、
実行の非効率の原因を突き止めることができる。レポー
トの提示順序は任意でよいが、ユーザが希望する順序を
選択するのが望ましい、普通、何か問題がある場合1.
有益な情報を提供するレポートと、そうでないレポート
かある。
182がユーザに提示される。ユーザはこれらを基に、
実行の非効率の原因を突き止めることができる。レポー
トの提示順序は任意でよいが、ユーザが希望する順序を
選択するのが望ましい、普通、何か問題がある場合1.
有益な情報を提供するレポートと、そうでないレポート
かある。
ユーザは、推論サイクルのアクティビティ−レポート1
76を受は取る。このレポートには、容疑規IIを含む
推論サイクルだけが含まれる。これはレポート70から
得られる。ユーザはまた、容疑規則に関するパターン別
のテストと符合のレポート178も受は取る。これはレ
ポート72から得られ、容疑規則のそれぞれのパターン
がすべて提示される。容疑規IQに関するパターン別の
符合レポート180は、レポート74から抽出される。
76を受は取る。このレポートには、容疑規IIを含む
推論サイクルだけが含まれる。これはレポート70から
得られる。ユーザはまた、容疑規則に関するパターン別
のテストと符合のレポート178も受は取る。これはレ
ポート72から得られ、容疑規則のそれぞれのパターン
がすべて提示される。容疑規IQに関するパターン別の
符合レポート180は、レポート74から抽出される。
サイクルごとの競合集合の大きさもレポートされる(1
82)、これはレポート70のエントリから抽出される
。
82)、これはレポート70のエントリから抽出される
。
多くの場合、ユーザは、自身の知識と経験を基に、いま
説明したレポートのすべてを見る必要はないと判断する
。プロセスの始めの方で何らかの例外が明らかになるこ
とがあり、ユーザは、これをチエツクせずに修正するこ
とがある。たとえばステップ174で多くのLH5が影
響を受けることが分かった場合、ユーザは、クラス・メ
ンバを変更するか、または類似の規則をいくつか組み合
わせて一つの規則とし、組み合わせられた規則の右辺で
相違を解消することがある。このとき変更があれば、ユ
ーザはアナライザ60を終了して、エキスパート・シス
テム上で別の実行テストを行うことになる。
説明したレポートのすべてを見る必要はないと判断する
。プロセスの始めの方で何らかの例外が明らかになるこ
とがあり、ユーザは、これをチエツクせずに修正するこ
とがある。たとえばステップ174で多くのLH5が影
響を受けることが分かった場合、ユーザは、クラス・メ
ンバを変更するか、または類似の規則をいくつか組み合
わせて一つの規則とし、組み合わせられた規則の右辺で
相違を解消することがある。このとき変更があれば、ユ
ーザはアナライザ60を終了して、エキスパート・シス
テム上で別の実行テストを行うことになる。
上述のレポートがチエツクされて、エキスパート・シス
テムに加えられる変更の種類は、当業者には明らかであ
り、ここでは詳述しない、以下、各レポートの使用例に
ついて簡単に説明する。
テムに加えられる変更の種類は、当業者には明らかであ
り、ここでは詳述しない、以下、各レポートの使用例に
ついて簡単に説明する。
ステップ17Gで得られる推論サイクル−アクティビテ
ィ・レポートは、競合集合が大きいために生じる問題の
診断、あるいは規則発火の例外を突き止めるのに使用で
きる。このような診断や確認は、基準から大きくずれた
照合サイクルを捜し出すことによって行われる。ステッ
プ178で得られるレポートは、LH5の符合回数と手
続き型の検索とのトレードオフを評価したり、LH5の
中のパターンを並べ替えて余分な要素間テストを減らす
必要のあることを指示したりするのに使用できる。ステ
ップ180のレポートは、クロス乗積の効果の大きさを
診断したり、動的記憶の急増が起こり得ることに注意を
促したりするのに使用できる。
ィ・レポートは、競合集合が大きいために生じる問題の
診断、あるいは規則発火の例外を突き止めるのに使用で
きる。このような診断や確認は、基準から大きくずれた
照合サイクルを捜し出すことによって行われる。ステッ
プ178で得られるレポートは、LH5の符合回数と手
続き型の検索とのトレードオフを評価したり、LH5の
中のパターンを並べ替えて余分な要素間テストを減らす
必要のあることを指示したりするのに使用できる。ステ
ップ180のレポートは、クロス乗積の効果の大きさを
診断したり、動的記憶の急増が起こり得ることに注意を
促したりするのに使用できる。
後ろ向きの111186,188は、ユーザが、必要に
応じて、アナライザ60の手続きを逆にたどって、追加
規則の効率に関するデータを調べることも可能なことを
示す、たとえば、ユーザは、必要であれば、ステップ1
72からステップ170へ戻ることができる。これは、
被告規則を新たに選択することに相当し、その場合、被
告規則は、元の被告規則によって変更されたものと同じ
クラスにも変更を加える原因となった規則である。
応じて、アナライザ60の手続きを逆にたどって、追加
規則の効率に関するデータを調べることも可能なことを
示す、たとえば、ユーザは、必要であれば、ステップ1
72からステップ170へ戻ることができる。これは、
被告規則を新たに選択することに相当し、その場合、被
告規則は、元の被告規則によって変更されたものと同じ
クラスにも変更を加える原因となった規則である。
同様に、ステップ174からステップ172へ戻れば、
変更されたクラスを新たに生成できる。
変更されたクラスを新たに生成できる。
これは、元の一連の容疑規則および元の容疑規則によっ
て実際に変更された規則に変更を加える原因となったク
ラスをすべて選択することに相当する。新しい容疑規則
がここで選択され、これには、このように拡大されたク
ラスの集合によってまた変更が加えられた全容疑規則が
含まれる6次に、ステップ176ないし182で作成さ
れる各レポートで、このように拡大された一連の容疑層
NIJに対応するエントリがすべて選択される。
て実際に変更された規則に変更を加える原因となったク
ラスをすべて選択することに相当する。新しい容疑規則
がここで選択され、これには、このように拡大されたク
ラスの集合によってまた変更が加えられた全容疑規則が
含まれる6次に、ステップ176ないし182で作成さ
れる各レポートで、このように拡大された一連の容疑層
NIJに対応するエントリがすべて選択される。
当業者には明らかなように、上述のシステムは、規則ベ
ースのエキスパート・システムが実行されている間に該
当データを抽出し、システムの効率を高めるために変更
すべき規則やデータを突き止める際に、ユーザのデータ
分析を支援する監視機構を提供するものである。この機
構は、第3図とあわせて説明した効率データの分析(3
6)の効率を大幅に高め、エキスパート・システ・ムの
実行効率を高めるのに必要な時間を大幅に短縮する。
ースのエキスパート・システムが実行されている間に該
当データを抽出し、システムの効率を高めるために変更
すべき規則やデータを突き止める際に、ユーザのデータ
分析を支援する監視機構を提供するものである。この機
構は、第3図とあわせて説明した効率データの分析(3
6)の効率を大幅に高め、エキスパート・システ・ムの
実行効率を高めるのに必要な時間を大幅に短縮する。
本発明は、特に実施例に照らして説明したが、当業者に
は明らかなように、形式と詳細については、本発明の精
神と適用範囲から逸脱することなく様々な変更が可能で
ある。
は明らかなように、形式と詳細については、本発明の精
神と適用範囲から逸脱することなく様々な変更が可能で
ある。
第1図は、プロダクション・システムのブロック図であ
る。 第2図は、認知−動作サイクルを示す流れ図である。 第3図は、エキスパート・システムに適用される調整プ
ロセスを示す流れ図である。 第4図は、エキスパート・システム・プログラムの実行
時にデータが収集される様子を示す、監視システムのブ
ロック図である。 第5図は、収集されたデータがアナライザによって用い
られる様子を示すブロック図である。 第6図は、実行中のエキスパート・システムの各部の原
因と結果の関係を示す図である。 第7図は、第5図のアナライザの動作を示す流れ図であ
る。
る。 第2図は、認知−動作サイクルを示す流れ図である。 第3図は、エキスパート・システムに適用される調整プ
ロセスを示す流れ図である。 第4図は、エキスパート・システム・プログラムの実行
時にデータが収集される様子を示す、監視システムのブ
ロック図である。 第5図は、収集されたデータがアナライザによって用い
られる様子を示すブロック図である。 第6図は、実行中のエキスパート・システムの各部の原
因と結果の関係を示す図である。 第7図は、第5図のアナライザの動作を示す流れ図であ
る。
Claims (11)
- (1)規則と、複数の要素を含むワーキング・メモリと
を有し、各規則が左辺と右辺とを有する規則ベースのア
プリケーションの効率を監視するシステムであって、 規則の右辺の実行に要する照合時間を累積するタイマと
、 上記ワーキング・メモリ内の要素の各クラスに対して実
行されたワーキング・メモリの動作を計数する第1のカ
ウンタと、 条件テストの実行を計数し、これとは別に該条件テスト
の成功を計数する第2のカウンタと、パターンが照合さ
れるごとに該パターンを満足する上記ワーキング・メモ
リ要素の組み合わせを計数する第3のカウンタと、 上記カウンタと上記タイマによって得られた情報をデー
タベースに格納する手段とを含む、規則ベース・アプリ
ケーション管理装置。 - (2)請求項1に記載のシステムであって、規則の右辺
の実行時間を累積する第2のカウンタを含む規則ベース
・アプリケーション管理装置。 - (3)請求項1に記載のシステムであって、上記データ
ベースに格納された上記情報を示すレポートを作成する
ための手段を含む規則ベース・アプリケーション管理装
置。 - (4)請求項1に記載のシステムであって、検査を目的
に容疑規則を選択する手段と、 上記容疑規則に関係するデータベースから抽出された情
報を表示する手段とを含む、規則ベース・アプリケーシ
ョン管理装置。 - (5)請求項4に記載のシステムであって、上記選択手
段が、 右辺が、実行後に、照合サイクルの時間を相対的に長く
する原因となった被告規則を判定する比較器と、 上記容疑規則の右辺が実行されることによつて影響を受
けたワーキング・メモリのクラスを選択する第1のセレ
クタと、 選択されたクラスの変更によって左辺が影響を受けた規
則を選択する第2のセレクタとを含み、かかる選択され
た規則が容疑規則となる、規則ベース・アプリケーショ
ン管理装置。 - (6)規則ベースのエキスパート・システムの非効率の
原因に関する情報を提供する方法であって、 上記エキスパート・システムの動作時に生成された効率
データをアクセスするステップと、一連の容疑規則を選
択するステップと、 上記容疑規則の効率データを表示するステップとを含む
、規則ベース・エキスパート・システム管理方法。 - (7)請求項6に記載の方法であって、上記選択ステッ
プが、 アクセスされた効率データを処理して、右辺の実行によ
って照合サイクルの時間が相対的に長くなった被告規則
を判定するステップと、 上記被告規則の右辺の実行によって影響を受けたワーキ
ング・メモリのクラスを選択するステップと、 選択されたクラスの変更によって左辺が影響を受けた規
則を容疑規則として選択するステップとを含む、規則ベ
ース・エキスパート・システム管理方法。 - (8)規則ベースのアプリケーションの効率を監視する
方法であって、 規則の右辺の実行に要する照合時間を累積するステップ
と、 ワーキング・メモリ内の要素の各クラスに対して実行さ
れた該ワーキング・メモリの動作を計数するステップと
、 規則の右辺における条件テストの実行を計数するステッ
プと、 条件テストの成功を計数するステップと、 パターンが照合されるときに該パターンを満足するワー
キング・メモリ要素を計数するステップと、 上記の累積ステップと計数ステップとから得られた情報
をデータベースに格納するステップとを含む、規則ベー
ス・アプリケーション管理方法。 - (9)請求項8に記載の方法であって、規則の右辺の実
行時間を累積するステップを含む規則ベース・アプリケ
ーション管理方法。 - (10)請求項8に記載の方法であって、 データベースをアクセスするステップと、 一連の容疑規則を選択するステップと、 上記容疑規則の効率データを表示するステップとを含む
、規則ベース・アプリケーション管理方法。 - (11)請求項10に記載の方法であって、上記選択ス
テップが、 アクセスされた効率データを処理して、右辺の実行によ
って照合サイクルの時間が相対的に長くなった被告規則
を判定するステップと、 上記被告規則の右辺の実行によって影響を受けたワーキ
ング・メモリのクラスを選択するステップと、 選択されたクラスの変更によって左辺が影響を受けた規
則を容疑規則として選択するステップとを含む、規則ベ
ース・アプリケーション管理方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/393,526 US5129043A (en) | 1989-08-14 | 1989-08-14 | Performance improvement tool for rule based expert systems |
| US393526 | 1999-09-10 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0381828A true JPH0381828A (ja) | 1991-04-08 |
| JPH0750441B2 JPH0750441B2 (ja) | 1995-05-31 |
Family
ID=23555053
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2205322A Expired - Lifetime JPH0750441B2 (ja) | 1989-08-14 | 1990-08-03 | 規則ベース・システム管理装置および方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5129043A (ja) |
| EP (1) | EP0413485B1 (ja) |
| JP (1) | JPH0750441B2 (ja) |
| BR (1) | BR9003980A (ja) |
| CA (1) | CA2018070C (ja) |
| DE (1) | DE69029983T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2024009471A1 (ja) * | 2022-07-07 | 2024-01-11 |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| SE470031B (sv) * | 1991-06-20 | 1993-10-25 | Icl Systems Ab | System och metod för övervakning och förändring av driften av ett datorsystem |
| EP0525496A3 (en) * | 1991-07-23 | 1993-12-08 | Siemens Ag | Method for measuring the duration of procedures in communication systems |
| JPH0695879A (ja) * | 1992-05-05 | 1994-04-08 | Internatl Business Mach Corp <Ibm> | コンピュータシステム |
| JPH10500787A (ja) * | 1994-03-14 | 1998-01-20 | グリーン・ヒルズ・ソフトウェア・インコーポレーテッド | 高レベル言語プログラムの時間及び試験の最適化 |
| JPH0877010A (ja) * | 1994-09-07 | 1996-03-22 | Hitachi Ltd | データ分析方法および装置 |
| US5752062A (en) * | 1995-10-02 | 1998-05-12 | International Business Machines Corporation | Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system |
| US5949971A (en) * | 1995-10-02 | 1999-09-07 | International Business Machines Corporation | Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system |
| US5691920A (en) * | 1995-10-02 | 1997-11-25 | International Business Machines Corporation | Method and system for performance monitoring of dispatch unit efficiency in a processing system |
| US5751945A (en) * | 1995-10-02 | 1998-05-12 | International Business Machines Corporation | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system |
| US5729726A (en) * | 1995-10-02 | 1998-03-17 | International Business Machines Corporation | Method and system for performance monitoring efficiency of branch unit operation in a processing system |
| US5748855A (en) * | 1995-10-02 | 1998-05-05 | Iinternational Business Machines Corporation | Method and system for performance monitoring of misaligned memory accesses in a processing system |
| US5797019A (en) * | 1995-10-02 | 1998-08-18 | International Business Machines Corporation | Method and system for performance monitoring time lengths of disabled interrupts in a processing system |
| US6546380B1 (en) * | 1997-09-24 | 2003-04-08 | Unisys Corporation | Method and apparatus for detecting an endless loop in a rules-based expert system |
| US20030208499A1 (en) * | 2002-05-03 | 2003-11-06 | David Bigwood | Methods and apparatus for visualizing relationships among triples of resource description framework (RDF) data sets |
| US7058637B2 (en) * | 2001-05-15 | 2006-06-06 | Metatomix, Inc. | Methods and apparatus for enterprise application integration |
| US6925457B2 (en) * | 2001-07-27 | 2005-08-02 | Metatomix, Inc. | Methods and apparatus for querying a relational data store using schema-less queries |
| US7890517B2 (en) * | 2001-05-15 | 2011-02-15 | Metatomix, Inc. | Appliance for enterprise information integration and enterprise resource interoperability platform and methods |
| US6856992B2 (en) * | 2001-05-15 | 2005-02-15 | Metatomix, Inc. | Methods and apparatus for real-time business visibility using persistent schema-less data storage |
| US6856980B2 (en) * | 2001-06-25 | 2005-02-15 | Exigen Group | Hybrid use of rule and constraint engines |
| US20030004912A1 (en) * | 2001-06-29 | 2003-01-02 | Lalit Pant | Architecture for intelligent agents and distributed platform therefor |
| CA2501847A1 (en) * | 2002-10-07 | 2004-04-22 | Metatomix, Inc | Methods and apparatus for identifying related nodes in a directed graph having named arcs |
| EP1690210A2 (en) * | 2003-07-07 | 2006-08-16 | Metatomix, Inc. | Surveillance, monitoring and real-time events platform |
| US7665063B1 (en) | 2004-05-26 | 2010-02-16 | Pegasystems, Inc. | Integration of declarative rule-based processing with procedural programming |
| US8335704B2 (en) * | 2005-01-28 | 2012-12-18 | Pegasystems Inc. | Methods and apparatus for work management and routing |
| US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
| US8250525B2 (en) | 2007-03-02 | 2012-08-21 | Pegasystems Inc. | Proactive performance management for multi-user enterprise software systems |
| US20090249129A1 (en) * | 2007-10-12 | 2009-10-01 | David Femia | Systems and Methods for Managing Multi-Component Systems in an Infrastructure |
| US7958076B2 (en) * | 2007-11-30 | 2011-06-07 | Stratus Technologies Bermuda Ltd. | System and methods for managing rules and detecting reciprocal dependencies |
| US8271416B2 (en) * | 2008-08-12 | 2012-09-18 | Stratus Technologies Bermuda Ltd. | Method for dynamically determining a predetermined previous condition of a rule-based system |
| US10481878B2 (en) | 2008-10-09 | 2019-11-19 | Objectstore, Inc. | User interface apparatus and methods |
| US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
| US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
| CN101938368A (zh) * | 2009-06-30 | 2011-01-05 | 国际商业机器公司 | 刀片服务器系统中的虚拟机管理器和虚拟机处理方法 |
| US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
| US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
| US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
| US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
| US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
| US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
| US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4649515A (en) * | 1984-04-30 | 1987-03-10 | Westinghouse Electric Corp. | Methods and apparatus for system fault diagnosis and control |
| US4658370A (en) * | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
| JPS619729A (ja) * | 1984-06-26 | 1986-01-17 | Toshiba Corp | 推論システム |
| US4752890A (en) * | 1986-07-14 | 1988-06-21 | International Business Machines Corp. | Adaptive mechanisms for execution of sequential decisions |
| US4864511A (en) * | 1987-01-27 | 1989-09-05 | Storage Technology Corporation | Automated cartridge system |
| US4837735A (en) * | 1987-06-09 | 1989-06-06 | Martin Marietta Energy Systems, Inc. | Parallel machine architecture for production rule systems |
| US4984773A (en) * | 1987-10-06 | 1991-01-15 | Rockwell International Corporation | Method of and apparatus for composing a press imposition |
| US4953147A (en) * | 1987-11-04 | 1990-08-28 | The Stnadard Oil Company | Measurement of corrosion with curved ultrasonic transducer, rule-based processing of full echo waveforms |
| US4907973A (en) * | 1988-11-14 | 1990-03-13 | Hon David C | Expert system simulator for modeling realistic internal environments and performance |
-
1989
- 1989-08-14 US US07/393,526 patent/US5129043A/en not_active Expired - Fee Related
-
1990
- 1990-06-01 CA CA002018070A patent/CA2018070C/en not_active Expired - Fee Related
- 1990-08-03 JP JP2205322A patent/JPH0750441B2/ja not_active Expired - Lifetime
- 1990-08-03 EP EP90308595A patent/EP0413485B1/en not_active Expired - Lifetime
- 1990-08-03 DE DE69029983T patent/DE69029983T2/de not_active Expired - Fee Related
- 1990-08-13 BR BR909003980A patent/BR9003980A/pt unknown
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2024009471A1 (ja) * | 2022-07-07 | 2024-01-11 | ||
| WO2024009471A1 (ja) * | 2022-07-07 | 2024-01-11 | 日本電気株式会社 | 論理推論装置、論理推論方法、プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0750441B2 (ja) | 1995-05-31 |
| DE69029983D1 (de) | 1997-04-03 |
| CA2018070A1 (en) | 1991-02-14 |
| EP0413485A3 (en) | 1992-03-25 |
| EP0413485A2 (en) | 1991-02-20 |
| US5129043A (en) | 1992-07-07 |
| EP0413485B1 (en) | 1997-02-26 |
| DE69029983T2 (de) | 1997-08-21 |
| BR9003980A (pt) | 1991-09-03 |
| CA2018070C (en) | 1994-02-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0381828A (ja) | 規則ベース・システム管理装置および方法 | |
| US7496904B2 (en) | Mining dependencies for testing and risk management | |
| US7996853B2 (en) | Method and apparatus for correlation of events in a distributed multi-system computing environment | |
| Hassan et al. | Predicting Change Propagation in Software Systems. | |
| EP1240604B1 (en) | A method and apparatus for improving the performance of a generated code cache search operation through the use of static key values | |
| US5440742A (en) | Two-neighborhood method for computing similarity between two groups of objects | |
| Kapser et al. | Toward a taxonomy of clones in source code: A case study | |
| US5598511A (en) | Method and apparatus for interpreting data and accessing on-line documentation in a computer system | |
| JPH0810440B2 (ja) | アプリケーション イベント収集方法 | |
| Acheli et al. | Discovering and analyzing contextual behavioral patterns from event logs | |
| US20040268302A1 (en) | Framework for determining and exposing binary dependencies | |
| US20010025277A1 (en) | Categorisation of data entities | |
| JP4059970B2 (ja) | 情報源推薦装置 | |
| Chang et al. | Defect prevention in software processes: An action-based approach | |
| US6253194B1 (en) | System and method for performing database queries using a stack machine | |
| Ostrand et al. | A tool for mining defect-tracking systems to predict fault-prone files | |
| US6279127B1 (en) | System for predicting year-2000 instruction failures | |
| US6996516B1 (en) | Apparatus for analyzing software and method of the same | |
| JP5255796B2 (ja) | 運用管理サポートシステム、プログラム | |
| Salampasis et al. | Evaluation of information-seeking performance in hypermedia digital libraries | |
| JP2009134535A (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム | |
| JP3826602B2 (ja) | システム運用管理装置 | |
| JPH0916617A (ja) | データベースチューニング支援方法及び装置 | |
| Wiese et al. | Knowledge management in autonomic database performance tuning | |
| Thiem et al. | An integrated approach to performance monitoring for autonomous tuning |