JPH0381828A - Regular base system managing apparatus and method - Google Patents

Regular base system managing apparatus and method

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
execution
working memory
suspect
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
Application number
JP2205322A
Other languages
Japanese (ja)
Other versions
JPH0750441B2 (en
Inventor
Po C Yue
ポオ・シイ・イウ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH0381828A publication Critical patent/JPH0381828A/en
Publication of JPH0750441B2 publication Critical patent/JPH0750441B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition

Abstract

PURPOSE: To present effective data for ineffective discrimination at the program execution by preparing each kind of report by using each kind of data stored in a data base, and selecting defendant rule and a suspicion rule. CONSTITUTION: A monitor program (monitor) 40 is executed at the execution of a production system 10, and each kind of data 42-54 to be stored in a data base are prepared. That is, a pattern matching time (rule 12 right side) 42, operating times 44 of a working memory 18, times 46 of executed condition tests, times 48 of succeeded condition tests, encoding times 50, and executing time (rule 12 right side) 52 or the like are prepared. Then, each kind of report is prepared by an analyzer by using those data sets, dependent rule is prepared first, and then a suspicion rule is selected, and information for supporting the analysis of a rule or data to be changed is prepared. Thus, a user can discriminate the causes of inefficiency at the execution of program, and the executing efficiency of an expert system can be improved, and necessary time can be shortened.

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、一般にはコンピュータ・システムに関し、特
に、規則ベースのエキスパート・システムに用いられる
効率管理および拡張用のツールに関する。
DETAILED DESCRIPTION OF THE INVENTION A. INDUSTRIAL APPLICATION This invention relates generally to computer systems and, more particularly, to tools for efficiency management and expansion used in rule-based expert systems.

B、従来の技術 エキスパート・システムは、汎用コンピュータ上で実行
されるコンピュータ・プログラムであり、ある分野の専
門家の知識を取り入れようとするものである。取り入れ
られた知識は、観測可能なデータを入力することによっ
て、例外的な観測の原因に関する仮説を受は入れること
ができるか、または複雑な判断を行う際にアドバイスを
受けることのできる非専門家によって用いられる。
B. Traditional Technology Expert systems are computer programs running on general purpose computers that attempt to incorporate the knowledge of experts in a field. Incorporated knowledge can be used by non-experts who, by inputting observable data, can accept hypotheses about the causes of exceptional observations, or who can be consulted in making complex judgments. used by

代表的なエキスパート・システムは、事実や相互関係を
含めたデータおよび規則を取り入れる。エキスパート・
システムによって用いられるデータベースは、知識ベー
スと呼ばれることが多い。
A typical expert system incorporates data and rules, including facts and relationships. Expert
The database used by a system is often referred to as a knowledge base.

エキスパート・システムは、実行されるときには、大量
のCPU資源を使用する。
Expert systems use large amounts of CPU resources when executed.

エキスパート・システムの技術を、主力のデータ処理環
境に組み込む場合、効率化に相当の労力を注ぐのでなけ
れば、第3世代のプログラミング言語を用いた従来の手
続き型の手法と、効率面で競い合うことはできない。
When incorporating expert system technology into a mainstream data processing environment, unless significant efforts are made to improve efficiency, it will compete in terms of efficiency with traditional procedural methods using third-generation programming languages. I can't.

最も普及しているエキスパート・システムは、プロダク
ション・システムと呼ばれる。ユーザは、左辺(LH5
)と右辺(RH5)とから成る規則を作る。規則のLH
3条件が満たされれば、その規則は発火(fire)さ
れ、RH5が実行される。RH3は、ワーキング・メモ
リの状態を変える。ワーキング・メモリは、エキスパー
ト・システムによって用いられる事実とデータの構成要
素をすべて含む、規則が発火されると、規則のLH3は
、変更されたワーキング・メモリと再照合しなければな
らない。
The most popular expert systems are called production systems. The user selects the left side (LH5
) and the right-hand side (RH5). LH of rules
If the three conditions are met, the rule fires and RH5 is executed. RH3 changes the state of working memory. The working memory contains all the factual and data components used by the expert system. When a rule is fired, the rule's LH3 must be rechecked with the modified working memory.

第1図は、高度なプロダクション・システムlOのブロ
ック図である。プロダクション・システムlOは、一連
の規則12を含み、規則のそれぞれには、左辺14と右
辺16とがある。プロダクション−システムlOには、
プロダクション・システム10にとって“既知−の事実
を含むワーキング・メモリ18も含まれる。規則インタ
ープリタ20(推論エンジンとも呼ばれる)は、規則の
左辺14とワーキング・メモリ18とを照合し。
FIG. 1 is a block diagram of an advanced production system IO. The production system IO includes a set of rules 12, each of which has a left side 14 and a right side 16. The production system IO includes:
Also included is a working memory 18 containing facts "known to" the production system 10. A rule interpreter 20 (also referred to as an inference engine) matches the left-hand side 14 of the rule to the working memory 18.

右辺16を実行する。Execute right side 16.

規則インタープリタ20は、無限ループ(認知−動作サ
イクルという)で実行される。認知−動作サイクルを第
2図に示す、規則インタープリタは、最初に、規則のす
べての左辺とワーキング・メモリを照合する(22)、
2つ以上の規則によって照合がとられることがある。規
則は、それ自体の一遍の関連事実に対するものであるが
、事実のいずれか一つを処理するために一度に発火でき
る規則は一つだけである。規則インタープリタ20は、
発火される規則および事実を、競合の解消によって選択
する。競合の解消を行う代表的なアルゴリズムは、発火
を目的に、優先度の最も高い規則と最も新しい事実を選
択する。規則のいずれか一つが選択されると、対応する
右辺が実行される(26)、これにより、ワーキング・
メモリが変更される。このサイクルが繰り返されて、規
則の左辺がすべて、更新されたワーキング・メモリ22
と再び符合することになる。
The rule interpreter 20 runs in an infinite loop (referred to as a perception-action cycle). The cognition-action cycle is shown in FIG. 2. The rule interpreter first matches all left-hand sides of the rule to working memory (22);
Matching may be performed by more than one rule. A rule is for its own set of relevant facts, but only one rule can be fired at a time to process any one of the facts. The rule interpreter 20 is
The rules and facts that are fired are selected by conflict resolution. A typical conflict resolution algorithm selects the highest priority rules and the most recent facts for firing purposes. When any one of the rules is selected, the corresponding right-hand side is executed (26), which causes the working
Memory is modified. This cycle is repeated, and all left-hand sides of the rules are stored in the updated working memory 22.
will match again.

効率のよい規則プログラムを書く技術は、未だ完成の域
に達していない、効率のよい規則を作り上げるための一
般的な指針は、Thomas CooperとNanc
y WogrinのrOPs5を用いた規則ベース・プ
ログラミング(Rule−Based Program
sing withOPS5)J  (1988)と 
Lee Brownstan他のrOPs5によるエキ
スパート・システムのプログラミング(Program
ming Expert System 1nOPS5
)J  (1985)にみられる、これらの出版物を除
けば、プログラムの効率化に関して、エキスパート・シ
ステムの設計者が利用できる−ような専門的な知識を提
供しているものはない。
The art of writing efficient rule programs has not yet been perfected; general guidelines for creating efficient rule programs are provided by Thomas Cooper and Nanc.
y Rule-Based Programming using Wogrin's rOPs5
sing with OPS5) J (1988) and
Expert system programming with rOPs5 by Lee Brownstan et al.
ming Expert System 1nOPS5
) J (1985), no other publications provide the kind of specialized knowledge available to expert system designers regarding program efficiency.

上に挙げた文献に述べられている指針は、エキスパート
・システムのプログラマが自身の経験に基づいて適用す
る目安である。このような目安は、規則インタープリタ
が対象とする方法の知識に基づいている。現在のプロダ
クション・システムの規則インタープリタは、効率を目
的に最適化されているので、一般には、規則のRH8が
発火されるとき、ワーキング・メモリの変更によって直
に影響を受けるLH5だけが、次の照合サイクルで照合
される。この種の規則インタープリタは、Reteアル
ゴリズムを用いることによって照合に制限を加える。こ
のアルゴリズムでは、照合の結果を格納するために、多
数のデータ構造が生成されるので、ワーキング・メモリ
内の関連する要素が変更されていなければ、再照合の必
要はない、ワーキング・メモリ内の要素が変更されれば
、規IllインタープリタによってReteデータ構造
が調べられ、どの規則のどの部分に影響が及ぶかが判定
され、Re teデータ構造により、そのような規則だ
けで照合がとられる。
The guidelines set forth in the documents listed above are guidelines that expert system programmers apply based on their own experience. Such a guideline is based on knowledge of the method covered by the rule interpreter. Current production system rule interpreters are optimized for efficiency, so typically when RH8 of a rule fires, only LH5, which is directly affected by the working memory change, will Verified in verification cycle. This type of rule interpreter limits the matching by using the Rete algorithm. This algorithm generates a number of data structures to store the results of the matching, so if the relevant elements in working memory have not changed, there is no need to rematch. When an element changes, the Rete data structure is examined by the rule interpreter to determine which parts of which rules are affected, and the Rete data structure matches only those rules.

Reteアルゴリズムは、その性質上、規I11の左辺
のわずかな部分によって、規則プログラムの効率がしば
しば非常に低下する。これは、規則と規則との、および
規則とデータとの相互作用による。その原因は、ワーキ
ング・メモリ内の関連要素が多数、いろいろな組み合わ
せで相互に取捨選択(スクリーニング)されたり比較さ
れたりすることにある。スクリーニングは、要素内テス
トによっズ、比較は、要素間テストによって行われる。
Due to its nature, the Rete algorithm often makes the rule program very inefficient due to a small portion of the left side of rule I11. This is due to the interaction of rules with rules and with data. The reason for this is that a large number of related elements in working memory are screened and compared with each other in various combinations. Screening is done by within-element tests, and comparison is done by between-element tests.

テスト仕様はパターンと呼ばれる。規則とワーキング・
メモリの構造化方法は、パターン・マツチングにかかる
時間の長短に大きく影響する。
Test specifications are called patterns. Rules and working
The way the memory is structured has a large effect on how long pattern matching takes.

エキスパート・システムのプログラマがプログラムの効
率を上げるのに用いる目安は、適用範囲が広く、いつも
簡単に適用できるとは限らない。
The guidelines that expert system programmers use to improve the efficiency of their programs are broad in scope and not always easy to apply.

このような指針の代表例としては、多数のワーキング・
メモリ要素に符合する条件は避ける、条件のクロス乗積
の大きいものは避ける、符合した条件を頻繁に変更する
のは避ける、個々の条件要素の照合を高速にする、競合
集合の大きさを制限する、などがある、これらの問題の
解決法としては、左辺の条件を並べ替えることで、制限
の大きい条件が最初に現れ、変更頻度の高いワーキング
・メモリ要素と符合する条件が最後にくるようにする方
法が代表的である。現在、規則ベースのエキスパート・
システムの効率を監視し評価するのに適したツールがな
いため、エキスパート・システムのプログラマは、どの
部分で変更が起きるかについて、推測や直観に頼ること
が多くなる。
Typical examples of such guidelines include numerous working
Avoid conditions that match memory elements, avoid conditions with large cross-products, avoid frequent changes to matched conditions, speed up matching of individual condition elements, limit the size of conflict sets The solution to these problems is to rearrange the conditions on the left side so that the conditions with the most restrictions appear first, and the conditions that match the most frequently changed working memory elements come last. A typical method is to Currently, rule-based expert
Without suitable tools to monitor and evaluate system efficiency, expert system programmers often rely on guesswork and intuition as to where changes will occur.

エキスパート・システムの効率は、データによって大き
く変化する。規則自体を調べるだけで規則プログラムの
効率が評価できるケースはほとんどない、規則が発火さ
れるとき、システムの現在状態、ワーキング・メモリの
データ量、および前の規則の発火履歴に応じて、他の多
くの規則が関係する。パターン・マツチングのときに必
要な処理を予測するのは容易ではない、このように。
The efficiency of expert systems varies greatly depending on the data. There are few cases in which the efficiency of a rule program can be assessed simply by examining the rules themselves; when a rule fires, depending on the current state of the system, the amount of data in working memory, and the firing history of previous rules, other Many rules are involved. As such, it is not easy to predict the processing required when pattern matching.

エキスパート・システムの分野では、効率的な規IIを
作るための普遍的な規則は存在しない。
In the field of expert systems, there are no universal rules for creating efficient Rule IIs.

規則プログラムのメリットは、データ処理の大半をLH
5に任せることにある。LH3はコンパクトで宣言的で
ある。いいかえれば、規則のLH8は、評価の機構を指
定せずにデータの性質を指定する。規則ベースのアプリ
ケーションを書くのは、手続き型言語の手法に比べれば
単純であるが、プログラムが最適化されていないと、効
率がかなり低下することがある。したがって規01ペー
スのプログラムを最適化あるいは調整するときのコスト
は、複雑なアプリケーション用の規則プログラムを書い
て得られる生産性と釣り合いのとれたものでなければな
らない、調整コストを抑える効率的な調整機構が肝要で
ある。
The advantage of the rule program is that most of the data processing is done by the LH.
It is to leave it to 5. LH3 is compact and declarative. In other words, rule LH8 specifies the nature of the data without specifying the mechanism of evaluation. Although writing rule-based applications is simpler than procedural language approaches, it can be significantly less efficient if the program is not optimized. Therefore, the cost of optimizing or tuning a regulation 01-paced program must be commensurate with the productivity gained from writing regulation programs for complex applications. Mechanism is essential.

そこで、規則プログラムの実行時に効率が最も低下する
原因となる規則の発見に役立つ、データ収集システムが
望まれる。また、かかるシステムは、アプリケーション
の効率を調べ、非効率の原因を突き止めるユーザを支援
するものが望ましし)。
Therefore, there is a need for a data collection system that is useful for discovering the rules that cause the greatest reduction in efficiency when executing rule programs. It is also desirable that such a system assist the user in examining the efficiency of the application and identifying the causes of inefficiency).

C0発明が解決しようとする課題 本発明の目的は、規則ベースのエキスパート・システム
のうち、プログラム実行時の非効率を判定する上で役立
つデータを提供する部分の監視システムを提供すること
にある。
C0 Problems to be Solved by the Invention It is an object of the present invention to provide a monitoring system for a portion of a rule-based expert system that provides data useful in determining inefficiencies in program execution.

本発明の目的には、アプリケーションの効率化に興味を
持つユーザが理解できるフォーマットで使用可能なデー
タを表現するシステムを提供することも含まれる。
Objects of the present invention also include providing a system that represents usable data in a format that can be understood by users interested in improving the efficiency of their applications.

本発明の目的には、エキスパート・システム・アプリケ
ーションのうち効率の低い部分を自動的に選択し、効率
に関係する変更をアプリケーションに加えるために、選
択された小数の候補をユーザに提案するシステムを提供
することも含まれる。
It is an object of the present invention to provide a system for automatically selecting inefficient parts of an expert system application and suggesting a small number of selected candidates to the user for making efficiency-related changes to the application. It also includes providing.

08課題を解決するための手段 本発明による監視システムは、エキスパート・システム
・アプリケーションが実行されてい、る間に、該アプリ
ケーションを監視する。監視システムは、エキスパート
・システムの動作効率に関連して選択された効率データ
を記録し、このデータをデータベースに書き込んでおく
、監視システムは、エキスパート・システムの実行テス
トが終了した後、ユーザが修正の対象とする小数の候補
規則を選択し、候補規則にどのような変更が必要かを判
定するためのデータをユーザに表示する。
SUMMARY OF THE INVENTION A monitoring system according to the present invention monitors an expert system application while it is being executed. The monitoring system records selected efficiency data related to the operating efficiency of the expert system and writes this data to a database. Select a small number of candidate rules to target and display data to the user to determine what changes are needed to the candidate rules.

E、実施例 ここで述べる監視システムは、Reteの照合アルゴリ
ズムを用いる規則インタープリタ20との併用に適して
いる0本発明に適したプロダクション・システムとして
は、Digital Equipment(:orp、
の0PS5、International Busin
essMachinesのKnowledge Too
lなどがある。
E. EXAMPLE The monitoring system described herein is suitable for use with a rules interpreter 20 that uses Rete's matching algorithm.A production system suitable for the present invention is Digital Equipment (:orp,
0PS5, International Busin
Knowledge Too of essMachines
There are l, etc.

第3図は、エキスパート・システム・アプリケーション
の効率を調整する手続きを示す、最初にエキスパート・
システム・アプリケーションが実行され(30)、アプ
リケーションの効率が監視される(32)、以下、これ
について詳述する。アプリケーションの効率に興味を持
つユーザは、効率が満足のいくものかどうかを判定する
(34)、満足のいくものであれば、手続きはここで終
了する。そうでなければ、ステップ32で得られた効率
データが分析され(36)、アプリケーション内の規則
が変更される(38)、ステップ38で事実とデータの
編成方法も変更すれば、変更結果を、検査されたアプリ
ケーションで効率の上がる表現に変えることができる。
Figure 3 shows the procedure for adjusting the efficiency of an expert system application.
System applications are executed (30) and the efficiency of the applications is monitored (32), as described in more detail below. A user interested in the efficiency of the application determines whether the efficiency is satisfactory (34); if so, the procedure ends here. If not, the efficiency data obtained in step 32 is analyzed (36) and the rules within the application are changed (38), and if the way the facts and data are organized in step 38 is also changed, the results of the changes are It can be changed to a more efficient representation in the tested application.

変更されれば、アプリケーションは再実行され1手続き
が繰り返される。
If changed, the application is re-run and the procedure is repeated.

第4図の監視プログラム(モニタ)40は、プロダクシ
ョン・システムlOの実行時に実行され、データベース
に格納するための各種のデータ(42ないし54)を生
成する。データは、後述するように検索され、プロダク
ション・システムlOの非効率を分析するときに用いら
れる。
A monitoring program (monitor) 40 in FIG. 4 is executed when the production system IO is executed, and generates various data (42 to 54) to be stored in the database. The data is retrieved as described below and used in analyzing inefficiencies in the production system IO.

実行中のプログラムの効率を実際に監視する方法は周知
のとおりである。監視対象の情報が決定されれば、この
ような方法に手を加えてモニタ40を形成することは容
易である。効率監視システムにおいては、データの選択
は、一般に、実際に監視を行うコンピュータ・コードを
書くことよりも、重要かつ創造的な仕事と考えられてい
る。
Methods of actually monitoring the efficiency of a running program are well known. Once the information to be monitored is determined, it is easy to form the monitor 40 by modifying this method. In efficiency monitoring systems, data selection is generally considered a more important and creative task than writing the computer code that actually performs the monitoring.

モニタ40が収集する第1のデータ・セット42はパタ
ーン・マツチング時間である。この時間は、規則インタ
ープリタ20が、RH5の発火後に起こる左辺の照合(
22)と競合の解消(24)のステップを実行する時間
と定義するのがよい、パターン・マツチング時間データ
42は、各組IIについて個々に累積する形で保存され
る。したがってエキスパート・システムの実行が終わる
時点では、収集されたデータ・セット42の内容は、規
則の各RH3に関し、RH3が発火されたときにワーキ
ング・メモリに加えられた変更の結果、パターン・マツ
チングと競合の解消にかかった時間の合計である。
The first data set 42 that monitor 40 collects is pattern matching time. During this time, the rule interpreter 20 uses the left side matching (
Pattern matching time data 42, preferably defined as the time to perform steps 22) and conflict resolution (24), is stored in cumulative form for each set II individually. Thus, at the end of execution of the expert system, the contents of the collected data set 42 will be updated for each RH3 of the rule, as a result of the changes made to working memory when the RH3 was fired. This is the total time taken to resolve conflicts.

収集された第2のデータ・セット44の内容は、RH5
の実行によって起こったワーキング・メモリの動作の回
数である。この回数は、ワーキング・メモリ内の要素の
各クラスごとに格納し。
The contents of the second data set 44 collected are RH5
is the number of working memory operations caused by the execution of . This number is stored for each class of elements in working memory.

かつサイクルごとに格納するのが望ましい。ワーキング
・メモリ要素の割り当て、削除、および更新は、個別に
表の形にまとめられる。したがって実行テストが終了し
た時点では、収集されたデータ・セット44の内容は、
前に発火されたRH5によって影響を受けた各クラスの
エントリを、認知−動作サイクルごとに示したものであ
る。各エントリの内容は、そのサイクルで当該クラスの
メンバに対して実行された割°り当て、削除、j5よび
更新の合計回数を表にしたものである。
And it is desirable to store it every cycle. Allocations, deletions, and updates of working memory elements are tabulated individually. Therefore, at the end of the execution test, the contents of the collected data set 44 are:
The entries for each class affected by the previously fired RH5 are shown for each cognitive-action cycle. The contents of each entry tabulate the total number of assignments, deletions, j5s, and updates performed on members of the class in that cycle.

モニタ40によって収集される第3のデータ・セット4
6は、規則のLH3に対する各条件テストの実行が論理
的に必要とされた回数である。RH5が発火された結果
として条件テストが実行されるごとに、当該規則のカウ
ンタが増分される。
Third data set 4 collected by monitor 40
6 is the number of times each condition test for LH3 of the rule was logically required to be performed. Each time a condition test is executed as a result of RH5 being fired, the counter for that rule is incremented.

実行テストの終了時には、各条件テストのカウンタは1
条件テストか実行された回数を示す。
At the end of the execution test, the counter for each condition test is 1.
Indicates the number of times a conditional test was executed.

モニタ40は、成功した条件テスト48の回数も収集す
る。各条件テストに第2のカウンタが設けられる、この
カウンタは、ある種の条件テストについては、そのテス
トが成功したときにのみ増分される。
Monitor 40 also collects the number of successful condition tests 48. A second counter is provided for each conditional test, this counter is incremented for a certain conditional test only when that test is successful.

各パターンの記録は個別に維持される。符合回数は、パ
ターンを満足するワーキング・メモリ要素の組み合わせ
の数であり、Reteデータ構造を走査することによっ
て得られる。パターンについて生じた符合の最大数だけ
を保持するのが望ましい、そこで、パターンを満足する
ワーキング・メモリ要素の組み合わせの数は、パターン
が照合されるごとに、Reteデータ構造から得られ、
当該パターンの前の最大値と比較される。保持されるの
は大きい値だけである。
A record of each pattern is maintained separately. The number of matches is the number of combinations of working memory elements that satisfy the pattern and is obtained by scanning the Rete data structure. It is desirable to keep only the maximum number of matches that occur for a pattern, so the number of combinations of working memory elements that satisfy the pattern is obtained from the Rete data structure each time the pattern is matched;
It is compared with the previous maximum value of the pattern. Only large values are retained.

モニタ40によって次に収集されるデータ・セット52
は、規則のRHSの実行時間である。
Data set 52 collected next by monitor 40
is the RHS execution time of the rule.

これは各規則について累積された値なので、実行終了時
には、規則の右辺の実行に実際にかかった時間は、各規
則に適用できる。
This is an accumulated value for each rule, so at the end of execution, the time actually taken to execute the right hand side of the rule is applicable to each rule.

モニタ40によって最後に収集されるデータ・セット5
4は、エキスパート・システムによって実行される認知
−動作サイクルのそれぞれのエントリである。各エント
リの内容は、サイクルの照合時間の合計である。これは
、上述のように競合の解消時間を含むものが望ましい、
競合集合の大きさと、発火されてサイクルをスタートさ
せた規則のIDが各エントリに含まれる。競合集合の大
きさは、発火が認められたすべての規則に関連するワー
キング・メモリ要素の組み合わせの数である。また、当
該サイクルで実行された要素間条件テストと要素内条件
テストの回数も含まれる。この情報は、実際に実行され
たテストを示すものであり、データ・セット46.48
に収集された値は、各パターンについて論理的に必要と
されたテスト回数を示す、実際のテスト回数は比較的少
ない、これは、異なる規則に共通の条件テストは、−度
しか実行されないが、その結果が共有されるためである
。その違いが共有の程度を示す6モニタ40によって収
集されたデータは、データベースに書き込まれる。各デ
ータ・セットのIDは、データベースに格納するのが望
ましい。
Data set 5 last collected by monitor 40
4 is each entry of a cognitive-action cycle executed by the expert system. The content of each entry is the total verification time of the cycle. As mentioned above, this should preferably include conflict resolution time.
Each entry includes the size of the contention set and the ID of the rule that fired to start the cycle. The size of the contention set is the number of combinations of working memory elements associated with all rules that are allowed to fire. It also includes the number of inter-element condition tests and intra-element condition tests executed in the cycle. This information is indicative of the actual tests performed and is based on data set 46.48.
The values collected indicate the number of tests that were theoretically required for each pattern; the actual number of tests is relatively small, since condition tests common to different rules are only executed - degrees; This is because the results will be shared. The data collected by the six monitors 40, whose differences indicate the degree of sharing, is written to a database. Preferably, the ID of each data set is stored in a database.

データベース内の格納フォーマットは重要ではない、収
集された情報は、扱いやすさを考えて、第5図とあわせ
て説明するレポートと同じフォーマットのテキスト・フ
ァイルに格納することができる。
The storage format within the database is not critical; the collected information may be stored in a text file in the same format as the report described in conjunction with FIG. 5 for ease of handling.

第5図のアナライザはユーザ・インタフェース62に接
続される。アナライザ60は、汎用コンピュータ・シス
テム上で実行され、第4図とあわせて説明したように、
モニタ40によって作成されたデータベースをアクセス
するプログラムが望ましい、アナライザ60は、データ
ベースからデータを抽出し、これを数種のレポート(6
4ないし74)の形でユーザ・インタフェース62に引
き渡す。
The analyzer of FIG. 5 is connected to a user interface 62. The analyzer of FIG. Analyzer 60 runs on a general purpose computer system and, as described in conjunction with FIG.
Analyzer 60, preferably a program that accesses the database created by monitor 40, extracts data from the database and uses it in several reports (6
4 to 74) to the user interface 62.

レポート64は、各規則の右辺76に対してエントリを
一つ含む、エントリは、RHSが発火された回数78、
およびRHSに対する規fllの発火後のパターン・マ
ツチングにかかったCPU時間80とRHSを実際に実
行するのにかかったCPU時間82の割合を含む、また
、規則の発火に影響を受けたクラスの全メンバに関する
アクティビティ数84も含まれる。アクティビティ数は
、割り当て、解放、J5よび更新が起こったクラス・メ
ンバの個数について個別に表にされる。回数(78ない
し84)はすべて、監視の全時間にわたって累積される
The report 64 includes one entry for the right side 76 of each rule, the entries are the number of times the RHS has been fired 78;
and the percentage of CPU time taken for pattern matching after the firing of rule full for RHS, 80, and the CPU time taken to actually execute RHS, and also for all classes affected by the firing of the rule. The number of activities 84 related to members is also included. Activity counts are tabulated separately for the number of class members for which allocations, deallocations, J5s, and updates have occurred. All counts (78-84) are accumulated over the entire time of monitoring.

レポート66は、照合番号86(認知−動作サイクル番
号)とクラス名88の両方で分類されたクラス・メンバ
・アクティビティを示す、いいかえれば、認知と動作の
各サイクルについて、レポート66には個別のエントリ
があり、このエントリが、サイクルの番号と、少なくと
も一つのメンバに変更のあったクラスの番号を示す、そ
こで、たとえば、−回のRHSの発火によって3種類の
クラスのメンバが変更された場合、レポート66には、
そのサイクルについて3つのエントリが含まれる。各エ
ントリの内容は、当該クラスのサイクルで割り当て(9
0)、解放(92) 、 i5よび更新(94)が起こ
ったワーキング・メモリ要素の数である。
Report 66 shows class member activities categorized by both reference number 86 (cognitive-action cycle number) and class name 88; in other words, for each cognitive-action cycle, report 66 has a separate entry. , and this entry indicates the cycle number and the number of the class in which at least one member has changed. So, for example, if the members of three types of classes have been changed by - times RHS firings, then In report 66,
Three entries are included for that cycle. The contents of each entry are assigned in the cycle of the class (9
0), the number of working memory elements that have been released (92), i5 and updated (94).

レポート68は、複数のエントリを含み、エントリはそ
れぞれ照合すなわちサイクルの番号96、発火されてサ
イクルをスタートさせたRH5O)ID9B、bよび最
も新しい発火の結果として再照合が必要になった規則の
左辺のID100を含む、影響を受けるLH5l 00
は、各エントリに一つ含まれているのが望ましい、その
場合、回のRHSの発火によって5つの規則を再照合し
なければならないときは、レポート68には5つのエン
トリが含まれ、それぞれの照合番号96と発火されたR
HSは同一となる。
The report 68 includes multiple entries, each containing the number 96 of the match or cycle, the RH5O)ID9B,b that fired and started the cycle, and the left side of the rule that required rematching as a result of the most recent firing. Affected LH5l 00, including ID 100 of
is preferably included in each entry. In that case, if five rules have to be retried by firing the RHS twice, the report 68 will contain five entries, each with one Reference number 96 and ignited R
HS will be the same.

レボ−)70は、各サイクルについて一つのエントリを
含む、各エントリの内容は、サイクルの照合番号102
、照合と競合の解消にかかるCPU時間104、および
競合集合の大きさ106である。また実行された要素間
テスト108と要素内テスト110の回数も含まれる。
70 contains one entry for each cycle, the contents of each entry are the cycle reference number 102
, the CPU time 104 required for matching and conflict resolution, and the size 106 of the conflict set. It also includes the number of times inter-element tests 108 and intra-element tests 110 were performed.

さらに、サイクルがスタートする直前に発火されたRH
Sも含まれる(112)。
Furthermore, the RH fired just before the cycle starts
S is also included (112).

レポート72は、エキスパート・システムの各規則に対
してlエントリを含み、これは規則のLH5114によ
って識別される。各エントリの内容は、規則の左辺に含
まれたパターンのそれぞれに対応するサブエントリであ
る。第5図には2つのパターン・サブエントリ116.
118を示したが、規則の各LHS114に対するパタ
ーン・サブエントリの正確な個数は、各規則に含まれる
パターン数によって決まる。
Report 72 contains l entries for each rule in the expert system, which is identified by the rule's LH 5114. The contents of each entry are subentries corresponding to each of the patterns included on the left side of the rule. In FIG. 5 there are two pattern sub-entries 116.
118, the exact number of pattern subentries for each LHS 114 of a rule depends on the number of patterns included in each rule.

各サブエントリの内容は、規則のLH3の照合に必要な
要素間条件テストの回数120と、成功した該テストの
回数122である。また、必要になった要素内条件テス
トの回数124と成功した該テストの回数126も含ま
れる。各パターンに対応するクラス名128も該当する
サブエントリに含まれる。
The contents of each sub-entry are the number of inter-element condition tests required to match LH3 of the rule 120 and the number of successful tests 122. Also included are the number 124 of intra-element condition tests that have become necessary and the number 126 of successful tests. The class name 128 corresponding to each pattern is also included in the corresponding subentry.

レポート74も、各規則の左辺に対するエントリを一つ
含む、各エントリは、規則のLH3l 30を識別し、
レポート72と同様に、規則内の各パターンに対するサ
ブエントリを含む、第5図では、第1のパターン・サブ
エントリ132と第2のパターン・サブエントリ134
しか示していないが、その個数は上述のように変化する
。各サブエントリの内容は、パターンに対して存在して
いた要素間符合の最大回数138と要素的符合の最大回
数138である。これらは、第4図の収集されたデータ
・セット50で得られる値である。各サブエントリには
、クラスのメンバ数140とクラス名142も含まれる
Report 74 also includes one entry for the left side of each rule, each entry identifying the LH3l 30 of the rule;
Similar to report 72, it includes sub-entries for each pattern in the rule; in FIG.
However, the number changes as described above. The contents of each sub-entry are the maximum number of inter-element codes 138 and the maximum number of elemental codes 138 that existed for the pattern. These are the values obtained in the collected data set 50 of FIG. Each subentry also includes the number of class members 140 and the class name 142.

ここから明らかなように、レポート64ないし74は、
モニタ40によって収集されたデータ・セット42ない
し54から直に生成される。たとえばレポート70は、
データ・セット54をリストの形にしただけのものであ
る。規則74は、データ・セット5o’h)ら導かれる
。他のレポートも同様に、データ・セット42ないし5
4から導かれる。
As is clear from this, reports 64 to 74 are
Generated directly from data sets 42-54 collected by monitor 40. For example, report 70 is
It is simply the data set 54 in the form of a list. Rule 74 is derived from data set 5o'h). Similarly, data sets 42 to 5 are used for other reports.
It is derived from 4.

アナライザ60によって生成される各種のレポート64
ないし74は、第6図に示した原因/結果の連鎖が表す
原理に従って定義され表示される。第6図は、規則12
、ワーキング・メモリ18、および規則インタープリタ
20の相互作用のうち、非効率の原因となる部分の関係
を表す、第5図のレポートに示される収集されたデータ
の選択とレイアウトは、このような関係の性質を強調し
て記述するように行うのが望ましい。
Various reports 64 generated by the analyzer 60
74 are defined and displayed according to the principle represented by the cause/effect chain shown in FIG. Figure 6 shows Rule 12
The selection and layout of the collected data shown in the report of FIG. It is desirable to emphasize the nature of the

第6図は、認知と動作の各サイクルで生じるイベントの
相互間係を示す、規則の右辺が発火されると(150)
、クラス・メンバの一部が変更される(152)、クラ
ス・メンバの一部が変更されると(152)、ある規則
の左辺が影響を受ける(154)、Reteアルゴリズ
ムに詳しい当業者には明らかなように、再照合されるの
は、変更されたクラス・メンバ152によって左辺が影
響を受けた規則だけである。
Figure 6 shows the interaction of events that occur in each cycle of cognition and action, when the right side of the rule is fired (150).
, some of the class members are changed (152), and when some of the class members are changed (152), the left-hand side of a rule is affected (154). As can be seen, only those rules whose left side was affected by the changed class member 152 are rechecked.

影響を受けた規則154の再照合により、これらの規則
内の条件テストが再評価される(156)、これにより
、パターンの照合がいくつかとられることがある(15
8)、影響を受けた規III内のパターンが満足される
と、それらの規則および符合したワーキング・メモリ要
素が競合集合に追加されるか、または競合集合から除外
される(160)、エキスパート・システム・プログラ
ムが実行されている間、テスト条件と照合パターンによ
ってこうして形成された競合集合160にCPU時間が
かかる。
Rematching the affected rules 154 causes the condition tests within those rules to be reevaluated (156), which may result in some pattern matches (15).
8), once the patterns in the affected rule III are satisfied, those rules and matching working memory elements are added to or removed from the conflict set (160); The conflict set 160 thus formed by the test conditions and match patterns consumes CPU time while the system program is running.

エキスパート・システム・アプリケーションの実行を、
第6図に示した概念に従って分析することは、つまり、
規則の右辺が発火されたときに、次の照合サイクルで規
則インタープリタ20がCPU時間を過度に消費する原
因となった規[1に注意を向けることによって、効率の
向上を図ることである0発火されて、このように時間の
かかる照合をもたらす規則は、被告規則と呼ぶことがで
きる。
Execution of expert system applications
Analyzing according to the concept shown in Figure 6 means:
When the right-hand side of a rule fires, the rule interpreter 20 attempts to improve efficiency by paying attention to the rule [1] that caused it to consume excessive CPU time in the next match cycle. A rule that results in such a time-consuming match can be called a defendant rule.

ボックス154は、被告規則の発火により、ある規則の
LH3を再照合しなければならないことを示す、このよ
うな規則の照合が、実際にかなりのCPU時間を消費す
る。したがって、これらの規則は容疑規則と呼ぶことが
でき、効率情報の分析はこれらに焦点をあてて行う必要
がある。
Box 154 indicates that due to the firing of the defendant rule, the LH3 of a certain rule must be rechecked; such rule checking actually consumes significant CPU time. Therefore, these rules can be called suspect rules, and it is necessary to focus on them when analyzing efficiency information.

次に第7図はアナライザ60の動作を示す。アナライザ
60の動作がスタートするとき、最初のステップは、被
告規則170を選択することである。必要なら、数個の
被告規則を選択して、同時に追跡できるが、第7図では
、−度に選択される被告規則は一つだけとしている。゛ 被告規則の選択(170)は、レポート64の情報に基
づいて行われる。被告規則は、照合にかかったCPU時
間80が最も長くなった規則とするのがよい。
Next, FIG. 7 shows the operation of the analyzer 60. When operation of analyzer 60 begins, the first step is to select defendant rule 170. If necessary, several defendant rules can be selected and tracked simultaneously, but in FIG. 7, only one defendant rule is selected at a time. The selection of the defendant rule (170) is performed based on the information in the report 64. The defendant rule is preferably the rule that requires the longest CPU time 80 for verification.

次のステップは、被告規則の発火によって、どのクラス
が変更されたかを判定することである(172)、アナ
ライザ60は、レポート70から、被告規則が、どの認
知−動作サイクル(ま−たは照合番号)で発火されたか
を判定できる。この照合番号のリストは、レポート66
から、対応する照合番号を持つエントリだけを選択する
のに用いられる。これにより、レポート66のエントリ
からレポートが選択され、このレポートから、被告規則
の発火によって変更されたクラスだけのクラス名88が
得られる。
The next step is to determine which classes were changed by the firing of the defendant rule (172). Analyzer 60 determines from report 70 which cognitive-behavioral cycles (or matching It can be determined whether a fire has occurred based on the number). This list of verification numbers is available in report 66.
is used to select only those entries with the corresponding reference number. As a result, a report is selected from the entries in the report 66, and from this report, the class names 88 of only the classes changed by the firing of the defendant rule are obtained.

ユーザは、ステップ172の選択結果を調べれば、容疑
規則の選択に移ることができる(174〕、容疑規則は
、被告規則の発火によって左辺が影響を受けた規則であ
る。この情報は、レポート68から、発火されたRH3
の情報98が被告規則に符合するエントリだけを抽出す
ることによって得らえる。容疑規則の名前は、ユーザ向
けの他のレポートのフィルタとして用いられる(176
ないし182)、容疑規則のリストは、各種のレポート
から、容疑規則に対応するエントリだけを選択するため
&コ用いられる。
After examining the selection result in step 172, the user can move on to selecting a suspect rule (174). The suspect rule is a rule whose left side was affected by the firing of the defendant rule. This information is stored in the report 68. RH3 ignited from
The information 98 is obtained by extracting only the entries that match the defendant's rules. The name of the suspect rule is used as a filter for other reports for the user (176
- 182), the list of suspect rules is used to select only those entries corresponding to the suspect rules from the various reports.

容疑規則が選択されると、数種のレポート176ないし
182がユーザに提示される。ユーザはこれらを基に、
実行の非効率の原因を突き止めることができる。レポー
トの提示順序は任意でよいが、ユーザが希望する順序を
選択するのが望ましい、普通、何か問題がある場合1.
有益な情報を提供するレポートと、そうでないレポート
かある。
Once a suspect rule is selected, several reports 176-182 are presented to the user. Based on these, users
Identify the causes of execution inefficiencies. The presentation order of the reports can be arbitrary, but it is preferable that the user selects the order he or she wants.Usually, if there is a problem, 1.
Some reports provide useful information, while others do not.

ユーザは、推論サイクルのアクティビティ−レポート1
76を受は取る。このレポートには、容疑規IIを含む
推論サイクルだけが含まれる。これはレポート70から
得られる。ユーザはまた、容疑規則に関するパターン別
のテストと符合のレポート178も受は取る。これはレ
ポート72から得られ、容疑規則のそれぞれのパターン
がすべて提示される。容疑規IQに関するパターン別の
符合レポート180は、レポート74から抽出される。
The user selects the Inference Cycle Activity - Report 1
Uke takes 76. This report includes only inference cycles that include Suspect II. This is obtained from report 70. The user also receives a pattern-by-pattern test and match report 178 for the suspect rules. This is obtained from report 72, in which each pattern of suspect rules is all presented. A pattern-specific matching report 180 regarding the suspect IQ is extracted from the report 74 .

サイクルごとの競合集合の大きさもレポートされる(1
82)、これはレポート70のエントリから抽出される
The size of the contention set per cycle is also reported (1
82), which is extracted from the entries in report 70.

多くの場合、ユーザは、自身の知識と経験を基に、いま
説明したレポートのすべてを見る必要はないと判断する
。プロセスの始めの方で何らかの例外が明らかになるこ
とがあり、ユーザは、これをチエツクせずに修正するこ
とがある。たとえばステップ174で多くのLH5が影
響を受けることが分かった場合、ユーザは、クラス・メ
ンバを変更するか、または類似の規則をいくつか組み合
わせて一つの規則とし、組み合わせられた規則の右辺で
相違を解消することがある。このとき変更があれば、ユ
ーザはアナライザ60を終了して、エキスパート・シス
テム上で別の実行テストを行うことになる。
In many cases, users will determine, based on their knowledge and experience, that they do not need to see all of the reports just described. Some exceptions may become apparent early in the process, and the user may fix them without checking. For example, if many LH5s are found to be affected in step 174, the user may change the class members or combine several similar rules into a single rule and remove the differences on the right-hand side of the combined rule. may be resolved. If there are any changes at this time, the user will exit analyzer 60 and perform another run test on the expert system.

上述のレポートがチエツクされて、エキスパート・シス
テムに加えられる変更の種類は、当業者には明らかであ
り、ここでは詳述しない、以下、各レポートの使用例に
ついて簡単に説明する。
The types of changes that can be made to the expert system when the above-mentioned reports are checked will be obvious to those skilled in the art and will not be described in detail here, but a brief example of the use of each report will be described below.

ステップ17Gで得られる推論サイクル−アクティビテ
ィ・レポートは、競合集合が大きいために生じる問題の
診断、あるいは規則発火の例外を突き止めるのに使用で
きる。このような診断や確認は、基準から大きくずれた
照合サイクルを捜し出すことによって行われる。ステッ
プ178で得られるレポートは、LH5の符合回数と手
続き型の検索とのトレードオフを評価したり、LH5の
中のパターンを並べ替えて余分な要素間テストを減らす
必要のあることを指示したりするのに使用できる。ステ
ップ180のレポートは、クロス乗積の効果の大きさを
診断したり、動的記憶の急増が起こり得ることに注意を
促したりするのに使用できる。
The inference cycle-activity report obtained in step 17G can be used to diagnose problems caused by large conflict sets or to locate exceptions to rule firing. Such diagnosis and confirmation is performed by searching for verification cycles that deviate significantly from the standard. The report obtained in step 178 can evaluate the trade-off between the number of matches in the LH5 and procedural search, or indicate the need to reorder patterns in the LH5 to reduce redundant cross-element testing. It can be used to The report of step 180 can be used to diagnose the magnitude of cross-product effects and to alert you to possible dynamic memory spikes.

後ろ向きの111186,188は、ユーザが、必要に
応じて、アナライザ60の手続きを逆にたどって、追加
規則の効率に関するデータを調べることも可能なことを
示す、たとえば、ユーザは、必要であれば、ステップ1
72からステップ170へ戻ることができる。これは、
被告規則を新たに選択することに相当し、その場合、被
告規則は、元の被告規則によって変更されたものと同じ
クラスにも変更を加える原因となった規則である。
Retrospective 111186, 188 indicates that the user can also reverse the procedure of the analyzer 60 to examine data regarding the efficiency of additional rules, e.g. , step 1
From 72, a return can be made to step 170. this is,
It amounts to selecting a new Defendant Rule, in which case the Defendant Rule is the rule that also caused the change to be made to the same class that was changed by the original Defendant Rule.

同様に、ステップ174からステップ172へ戻れば、
変更されたクラスを新たに生成できる。
Similarly, if step 174 returns to step 172,
You can create a new modified class.

これは、元の一連の容疑規則および元の容疑規則によっ
て実際に変更された規則に変更を加える原因となったク
ラスをすべて選択することに相当する。新しい容疑規則
がここで選択され、これには、このように拡大されたク
ラスの集合によってまた変更が加えられた全容疑規則が
含まれる6次に、ステップ176ないし182で作成さ
れる各レポートで、このように拡大された一連の容疑層
NIJに対応するエントリがすべて選択される。
This corresponds to selecting all the classes that caused changes to the original set of suspect rules and the rules that were actually changed by the original suspect rules. A new suspect rule is now selected, which includes all suspect rules also modified by this expanded set of classes.6 Next, in each report produced in steps 176-182. , all entries corresponding to the thus expanded series of suspect layers NIJ are selected.

当業者には明らかなように、上述のシステムは、規則ベ
ースのエキスパート・システムが実行されている間に該
当データを抽出し、システムの効率を高めるために変更
すべき規則やデータを突き止める際に、ユーザのデータ
分析を支援する監視機構を提供するものである。この機
構は、第3図とあわせて説明した効率データの分析(3
6)の効率を大幅に高め、エキスパート・システ・ムの
実行効率を高めるのに必要な時間を大幅に短縮する。
As will be apparent to those skilled in the art, the system described above is useful in extracting relevant data while the rule-based expert system is running and determining which rules and data should be changed to increase the efficiency of the system. , provides a monitoring mechanism to assist users in data analysis. This mechanism is based on the efficiency data analysis (3) explained in conjunction with Figure 3.
6) to significantly increase the efficiency of and significantly reduce the time required to increase the execution efficiency of the expert system.

本発明は、特に実施例に照らして説明したが、当業者に
は明らかなように、形式と詳細については、本発明の精
神と適用範囲から逸脱することなく様々な変更が可能で
ある。
Although the invention has been described with particular reference to illustrative embodiments, those skilled in the art will recognize that various changes may be made in form and detail without departing from the spirit and scope of the invention.

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

第1図は、プロダクション・システムのブロック図であ
る。 第2図は、認知−動作サイクルを示す流れ図である。 第3図は、エキスパート・システムに適用される調整プ
ロセスを示す流れ図である。 第4図は、エキスパート・システム・プログラムの実行
時にデータが収集される様子を示す、監視システムのブ
ロック図である。 第5図は、収集されたデータがアナライザによって用い
られる様子を示すブロック図である。 第6図は、実行中のエキスパート・システムの各部の原
因と結果の関係を示す図である。 第7図は、第5図のアナライザの動作を示す流れ図であ
る。
FIG. 1 is a block diagram of the production system. FIG. 2 is a flow diagram illustrating the cognition-action cycle. FIG. 3 is a flow diagram illustrating the adjustment process applied to the expert system. FIG. 4 is a block diagram of a monitoring system illustrating how data is collected during execution of an expert system program. FIG. 5 is a block diagram illustrating how the collected data is used by the analyzer. FIG. 6 is a diagram showing the relationship between cause and effect of each part of the expert system during execution. FIG. 7 is a flow chart showing the operation of the analyzer of FIG.

Claims (11)

【特許請求の範囲】[Claims] (1)規則と、複数の要素を含むワーキング・メモリと
を有し、各規則が左辺と右辺とを有する規則ベースのア
プリケーションの効率を監視するシステムであって、 規則の右辺の実行に要する照合時間を累積するタイマと
、 上記ワーキング・メモリ内の要素の各クラスに対して実
行されたワーキング・メモリの動作を計数する第1のカ
ウンタと、 条件テストの実行を計数し、これとは別に該条件テスト
の成功を計数する第2のカウンタと、パターンが照合さ
れるごとに該パターンを満足する上記ワーキング・メモ
リ要素の組み合わせを計数する第3のカウンタと、 上記カウンタと上記タイマによって得られた情報をデー
タベースに格納する手段とを含む、規則ベース・アプリ
ケーション管理装置。
(1) A system for monitoring the efficiency of a rule-based application having rules and a working memory containing multiple elements, each rule having a left side and a right side, the match required for execution of the right side of the rule. a timer for accumulating time; a first counter for counting working memory operations performed on each class of elements in said working memory; a second counter for counting the success of the conditional test; a third counter for counting the combinations of the working memory elements that satisfy the pattern each time the pattern is matched; and means for storing information in a database.
(2)請求項1に記載のシステムであって、規則の右辺
の実行時間を累積する第2のカウンタを含む規則ベース
・アプリケーション管理装置。
(2) The system according to claim 1, further comprising a second counter that accumulates the execution time of the right side of the rule.
(3)請求項1に記載のシステムであって、上記データ
ベースに格納された上記情報を示すレポートを作成する
ための手段を含む規則ベース・アプリケーション管理装
置。
3. The system of claim 1, including means for generating a report indicating said information stored in said database.
(4)請求項1に記載のシステムであって、検査を目的
に容疑規則を選択する手段と、 上記容疑規則に関係するデータベースから抽出された情
報を表示する手段とを含む、規則ベース・アプリケーシ
ョン管理装置。
(4) The system of claim 1, comprising means for selecting a suspect rule for testing purposes and means for displaying information extracted from a database related to the suspect rule. Management device.
(5)請求項4に記載のシステムであって、上記選択手
段が、 右辺が、実行後に、照合サイクルの時間を相対的に長く
する原因となった被告規則を判定する比較器と、 上記容疑規則の右辺が実行されることによつて影響を受
けたワーキング・メモリのクラスを選択する第1のセレ
クタと、 選択されたクラスの変更によって左辺が影響を受けた規
則を選択する第2のセレクタとを含み、かかる選択され
た規則が容疑規則となる、規則ベース・アプリケーショ
ン管理装置。
(5) The system according to claim 4, wherein the selection means is a comparator whose right side determines the defendant rule that caused the matching cycle time to become relatively long after execution; a first selector that selects the working memory class affected by the execution of the right-hand side of the rule; and a second selector that selects the rule whose left-hand side was affected by the change in the selected class. and wherein the selected rule is a suspect rule.
(6)規則ベースのエキスパート・システムの非効率の
原因に関する情報を提供する方法であって、 上記エキスパート・システムの動作時に生成された効率
データをアクセスするステップと、一連の容疑規則を選
択するステップと、 上記容疑規則の効率データを表示するステップとを含む
、規則ベース・エキスパート・システム管理方法。
(6) A method for providing information regarding the causes of inefficiency in a rule-based expert system, comprising: accessing efficiency data generated during operation of the expert system; and selecting a set of suspect rules. and displaying efficiency data for the suspected rules.
(7)請求項6に記載の方法であって、上記選択ステッ
プが、 アクセスされた効率データを処理して、右辺の実行によ
って照合サイクルの時間が相対的に長くなった被告規則
を判定するステップと、 上記被告規則の右辺の実行によって影響を受けたワーキ
ング・メモリのクラスを選択するステップと、 選択されたクラスの変更によって左辺が影響を受けた規
則を容疑規則として選択するステップとを含む、規則ベ
ース・エキスパート・システム管理方法。
(7) The method of claim 6, wherein the selecting step includes: processing the accessed efficiency data to determine which defendant rules have resulted in a relatively longer matching cycle time due to execution of the right-hand side. and selecting a working memory class affected by the execution of the right-hand side of the defendant rule; and selecting the rule whose left-hand side was affected by the change in the selected class as the suspect rule. Rules-based expert system management method.
(8)規則ベースのアプリケーションの効率を監視する
方法であって、 規則の右辺の実行に要する照合時間を累積するステップ
と、 ワーキング・メモリ内の要素の各クラスに対して実行さ
れた該ワーキング・メモリの動作を計数するステップと
、 規則の右辺における条件テストの実行を計数するステッ
プと、 条件テストの成功を計数するステップと、 パターンが照合されるときに該パターンを満足するワー
キング・メモリ要素を計数するステップと、 上記の累積ステップと計数ステップとから得られた情報
をデータベースに格納するステップとを含む、規則ベー
ス・アプリケーション管理方法。
(8) A method for monitoring the efficiency of a rule-based application, comprising: accumulating the matching time required to execute the right-hand side of a rule; counting memory operations; counting executions of conditional tests on the right-hand side of the rule; counting successes of the conditional tests; and determining working memory elements that satisfy the pattern when the pattern is matched. A method for managing a rules-based application, comprising: counting; and storing information obtained from the accumulation and counting steps in a database.
(9)請求項8に記載の方法であって、規則の右辺の実
行時間を累積するステップを含む規則ベース・アプリケ
ーション管理方法。
(9) A method according to claim 8, comprising the step of accumulating the execution time of the right side of the rule.
(10)請求項8に記載の方法であって、 データベースをアクセスするステップと、 一連の容疑規則を選択するステップと、 上記容疑規則の効率データを表示するステップとを含む
、規則ベース・アプリケーション管理方法。
10. The method of claim 8, comprising: accessing a database; selecting a set of suspect rules; and displaying efficiency data for the suspect rules. Method.
(11)請求項10に記載の方法であって、上記選択ス
テップが、 アクセスされた効率データを処理して、右辺の実行によ
って照合サイクルの時間が相対的に長くなった被告規則
を判定するステップと、 上記被告規則の右辺の実行によって影響を受けたワーキ
ング・メモリのクラスを選択するステップと、 選択されたクラスの変更によって左辺が影響を受けた規
則を容疑規則として選択するステップとを含む、規則ベ
ース・アプリケーション管理方法。
(11) The method of claim 10, wherein the selecting step comprises: processing the accessed efficiency data to determine the defendant rule whose match cycle time has been relatively longer due to execution of the right-hand side. and selecting a working memory class affected by the execution of the right-hand side of the defendant rule; and selecting the rule whose left-hand side was affected by the change in the selected class as the suspect rule. Rules-based application management method.
JP2205322A 1989-08-14 1990-08-03 Rule-based system management apparatus and method Expired - Lifetime JPH0750441B2 (en)

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 1989-08-14

Publications (2)

Publication Number Publication Date
JPH0381828A true JPH0381828A (en) 1991-04-08
JPH0750441B2 JPH0750441B2 (en) 1995-05-31

Family

ID=23555053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2205322A Expired - Lifetime JPH0750441B2 (en) 1989-08-14 1990-08-03 Rule-based system management apparatus and method

Country Status (6)

Country Link
US (1) US5129043A (en)
EP (1) EP0413485B1 (en)
JP (1) JPH0750441B2 (en)
BR (1) BR9003980A (en)
CA (1) CA2018070C (en)
DE (1) DE69029983T2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009471A1 (en) * 2022-07-07 2024-01-11 日本電気株式会社 Logical inference device, logical inference method, and program

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE470031B (en) * 1991-06-20 1993-10-25 Icl Systems Ab System and method for monitoring and changing the operation of a computer system
EP0525496A3 (en) * 1991-07-23 1993-12-08 Siemens Ag Method for measuring the duration of procedures in communication systems
JPH0695879A (en) * 1992-05-05 1994-04-08 Internatl Business Mach Corp <Ibm> Computer system
AU1994695A (en) * 1994-03-14 1995-10-03 Green Hills Software, Inc. Optimizing time and testing of higher level language programs
JPH0877010A (en) * 1994-09-07 1996-03-22 Hitachi Ltd Method and device for data analysis
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
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
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
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
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
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
US7890517B2 (en) * 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US6925457B2 (en) * 2001-07-27 2005-08-02 Metatomix, Inc. Methods and apparatus for querying a relational data store using schema-less queries
US7058637B2 (en) * 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
US6856992B2 (en) * 2001-05-15 2005-02-15 Metatomix, Inc. Methods and apparatus for real-time business visibility using persistent schema-less data storage
US6954749B2 (en) * 2002-10-07 2005-10-11 Metatomix, Inc. Methods and apparatus for identifying related nodes in a directed graph having named arcs
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
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 (en) * 2009-06-30 2011-01-05 国际商业机器公司 Virtual machine manager in blade server system and virtual machine processing method
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)

* Cited by examiner, † Cited by third party
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 (en) * 1984-06-26 1986-01-17 Toshiba Corp Reasoning system
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024009471A1 (en) * 2022-07-07 2024-01-11 日本電気株式会社 Logical inference device, logical inference method, and program

Also Published As

Publication number Publication date
US5129043A (en) 1992-07-07
DE69029983T2 (en) 1997-08-21
DE69029983D1 (en) 1997-04-03
EP0413485B1 (en) 1997-02-26
CA2018070A1 (en) 1991-02-14
CA2018070C (en) 1994-02-15
EP0413485A2 (en) 1991-02-20
BR9003980A (en) 1991-09-03
JPH0750441B2 (en) 1995-05-31
EP0413485A3 (en) 1992-03-25

Similar Documents

Publication Publication Date Title
JPH0381828A (en) Regular base system managing apparatus and method
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
JPH0810440B2 (en) Application event collection method
JPH11338855A (en) Data analyzing device and method and storage medium
TW201421395A (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
JPH05307096A (en) Apparatus for monitoring and controlling operation of equipment and method of monitoring operation of equipment
Bani-Salameh et al. A deep-learning-based bug priority prediction using RNN-LSTM neural networks
US20040268302A1 (en) Framework for determining and exposing binary dependencies
Acheli et al. Discovering and analyzing contextual behavioral patterns from event logs
US20010025277A1 (en) Categorisation of data entities
Ostrand et al. A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files.
US6996516B1 (en) Apparatus for analyzing software and method of the same
JP4059970B2 (en) Information source recommendation device
US6253194B1 (en) System and method for performing database queries using a stack machine
Salampasis et al. Evaluation of information-seeking performance in hypermedia digital libraries
AT&T
JP3826602B2 (en) System operation management device
Wiese et al. Knowledge management in autonomic database performance tuning
Adams Workload models for DBMS performance evaluation
EP0333689B1 (en) Method and device for diagnosing bad performance in a computer system
JPH0756740A (en) Monitoring/diagnostic inference device