JP5014559B2 - エキスパートシステムのためのカスタムルールシステム及びその方法 - Google Patents
エキスパートシステムのためのカスタムルールシステム及びその方法 Download PDFInfo
- Publication number
- JP5014559B2 JP5014559B2 JP2002527956A JP2002527956A JP5014559B2 JP 5014559 B2 JP5014559 B2 JP 5014559B2 JP 2002527956 A JP2002527956 A JP 2002527956A JP 2002527956 A JP2002527956 A JP 2002527956A JP 5014559 B2 JP5014559 B2 JP 5014559B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- custom
- user
- rules
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Description
【発明の属する技術分野】
本発明は一般にエキスパートシステムのためのカスタムルールシステム及びその方法に関し、特に、機械装置を含む資産を保護し且つ管理するために採用されるエキスパートシステムのためのカスタムルールを作成するカスタムルールシステム及びその方法に関する。
【0002】
【従来の技術】
現在、特に機械装置を含む資産を保護し且つ管理するためのエキスパートシステムをユーザが構成するフレームワークを提供するために、エキスパートシェルが採用されている。
【0003】
通常、本質的には、開発者は、まず、主としてアプリケーションの概略図を結果的にもたらすシステムの図形モデルを作成することによってアプリケーションを構築するためのエキスパートシステムシェルを採用することにより、エキスパートシステムを構成する。その後、アプリケーションに対するルールをコンピュータ言語で書き込むのであるが、それらのルールはエキスパートシステムが何を結論として出すべきであるか及びエキスパートシステムが所定の一組の条件にどのように応答すべきか、すなわち、トレンドから何を結論づけるべきであるか、故障をいかにして判定すべきか、損失を最小限に抑え且つ安全性及び生産性を最大にするためにどのようなアクションをとるべきかなどに関するエキスパートの知識を含む。
【0004】
エキスパートシステムの一例は、本出願の譲受人であるネバダ州ミンデンのBently Nevada CorporationによりMachine Condition ManagerTM 2000の名称で販売されているエキスパートシステムである。このシステムは、特に、新たな属性及びルールセットをシステムに付随させることを可能にする強力な能力を有しており、自動化診断及び機械情報管理のための新たなパラダイムを代表している。本発明と共通の譲受人に譲渡され、参考として本明細書に全体の内容が取り入れられている1996年11月27日出願のBiggsによる名称「Knowledge Manager Relying On A Hierarchical Default Expert System:Apparatus and Method」の米国特許第5,905,989号を参照のこと。
【0005】
それにもかかわらず、エキスパートシステムで書き込まれる必要がある新たなルール又ははカスタムルールはユーザにコンピュータ言語でルールを書き表わすことを要求するため、新たなルールを書き込むことが非常に困難になってしまう。通常、ルールはテキストエディタを利用してテキストの形で書き込まれる。パーザはテキストを複数の記号に変換し、それらの記号はインタプリタ又はコンパイラへ送信され、その結果、ルールが得られる。従って、ユーザは、特定のエキスパートシステムごとにルールが書き込まれるコンピュータ言語を学習しなければならないのに加えて、その特定のエキスパートシステムについて以前のルールが書き込まれた方法をも学習し且つ理解しなければならない。1つのルールを書き込むことが可能になるまでに長い時間が費やされる。コンピュータ言語を学習し、エキスパートシステムを理解したとしても、構文の上で正確でないルールが作成するという事態は至るところで起こりうる。
【0006】
更に、質問を尋ね、その後、その応答からコードを書き込むために、何らかの種類のウィザードインタフェースが採用されても良い。しかし、最終的にルールを獲得するためにテキストをインタプリタ又はコンパイラへ送信されることになる記号に変換するためにテキストをパージングしなければならず、以前のルールが書き込まれた方法をユーザが理解する必要があることは変わらないという点で、この方法にも依然として問題はある。
【0007】
【発明が解決しようとする課題】
従って、ルールベースエキスパートシステムのユーザがコンピュータ言語を学習する必要なく且つ特定のエキスパートシステム作業を理解することなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法が必要とされている。更に、ルールベースエキスパートシステムのユーザがエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法が必要とされている。また、構文の上で正確でなく、従って、実行するのに有効ではないカスタムルールが作成される可能性を排除するシステム及び方法も必要とされている。これまで、ルールを書き込もうとする方法はユーザに希望する何かを作成させ、有効なルールが獲得されるまで、解釈、編集、パージング及びコンパイルの必要があるエラーのリストをユーザに与えるという方法であった。更に、カスタムルールを作成し且つ処理することに費やされる時間を短縮するシステム及び方法が必要とされている。
【0008】
【課題を解決するための手段】
本発明は多くの点で周知の従来の技術から区別される。第1に、本発明は、ルールベースエキスパートシステムのユーザがコンピュータ言語を学習する必要なく、ある特定のエキスパートシステムがどのように動作するかを理解することなく且つエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法を提供する。更に、本発明は、構文の上で正確でなく、従って、実行するのに有効ではないカスタムルールが作成される可能性を排除するシステム及び方法を提供する。また、本発明は、カスタムルールを作成し且つ処理することに費やされる時間を短縮するシステム及び方法を提供する。
【0009】
好ましい一形態においては、本発明は、メモリ又はデータベースに個別に格納される複数のルールステップを含む。メモリ又はデータベースは、ルールウィンドウを表示し且つ格納されているルールステップから構成される配列を図形表示する表示装置及びインタフェースを有する少なくとも1つのコンピュータに動作結合されている。カスタムルールを作成するために利用されるべき個々のルールステップは表示された配列から選択され、ルールウィンドウへドラッグアンドドロップされる。ルールウィンドウ内のルールステップはカスタムルールを作成するために適切に結合され、それらのルールステップへの参照、結合並びにそれらのルール及び結合と関連するデータは、作成されたカスタムルールを実行するときにコンピュータがステップ、結合及びデータに関する知識を獲得するように格納される。
【0010】
従って、本発明の1つの特徴は、カスタムルールをルールステップとして格納し、それらのルールステップを図形表現として表示し、目視によりカスタムルールを形成するためにそれらの図形表現を選択し、互いに結合することができるシステム及び方法を提供するということである。
【0011】
【産業上の適用可能性】
本発明の産業上の適用可能性は以下の本発明の目的を論じることにより明示されるであろう。
【0012】
従って、本発明の第1の目的は、機械装置を含む資産を保護し且つ管理するために採用されるエキスパートシステムに対してカスタムルールを作成する新規で、有用なカスタムルールシステム及びその方法を提供することである。
【0013】
本発明の別の目的は、ルールベースエキスパートシステムのユーザがどのような種類のコンピュータ言語も学習する必要なく且つ特定のエキスパートシステムがどのように動作するかを理解する必要なくユーザ独自の追加ルールを容易に書き込むことを可能にする上述のようなカスタムルールシステム及び方法を提供することである。
【0014】
本発明の更に別の目的は、ルールベースエキスパートシステムのユーザがエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするカスタムルールシステム及び方法を提供することである。
【0015】
本発明の更に別の目的は、構文の上で正確でなく且つ実行するのに有効でもないカスタムルールが作成される可能性を排除するカスタムルールシステム及び方法を提供することである。
【0016】
本発明の更に別の目的は、パージングされなければならないコードを書き込む必要なくカスタムルールを作成し、それにより、パーザを不要にし且つ戻りエラーを修正する必要をなくしたカスタムルールシステム及び方法を提供することである。
【0017】
本発明の更に別の目的は、データベースにおいてフォーマットを処理する準備としてルールをステップとして作成し且つ格納することを可能にし、それにより、高速でルールを実行できるようにするカスタムルールシステム及び方法を提供することである。
【0018】
本発明の更に別の目的は、互いに結合可能である入力及び出力を有することができる実行可能ステップとしてカスタムルールを格納するカスタムルールシステム及び方法を提供することである。
【0019】
本発明の更に別の目的は、ルールステップを互いに独立して実行することを可能にするカスタムルールシステム及び方法を提供することである。
【0020】
本発明の更に別の目的は、使用及び理解するのが容易である非常に単純なカスタムルールインタフェースを含み、それにより、ルールの入力を迅速に且つ容易に実行できるカスタムルールシステム及び方法を提供することである。
【0021】
本発明の更に別の目的は、ユーザが格納されているルールステップに相関する図形ルールステップを選択し、それらをドラッグアンドドロップし、図形ルールステップ出力を図形ルールステップ入力に結合し、各ステップに要求されている構成を実行して、新たなカスタムルールを作成することにより、目視により格納されているルールステップからルールを作成することを可能にする非常に単純なカスタムルールインタフェースを提供するカスタムルールシステム及び方法を提供することである。
【0022】
本発明の更に別の目的は、出力されるべき型が入力について有効な型の1つに整合する場合にのみ、ルールステップ出力からルールステップ入力への結合を可能にすることにより、無効のルール又は構文エラーの作成を防止して、ユーザが実行に有効なようにのみステップを相互結合することを可能にするカスタムルールシステム及び方法を提供することである。
【0023】
本発明の更に別の目的は、ルール作成中に入力の型及びステップ実行順序を検証することにより、ユーザが無効のルールを作成するのを防止するカスタムルールシステム及び方法を提供することである。
【0024】
本発明の更に別の目的は、ユーザが資産の問題に基づいて推奨アクションを引き起こすカスタムルール及び計算を容易に定義することを可能にするカスタムルールシステム及び方法を提供することである。
【0025】
本発明の更に別の目的は、ユーザが目視によりルールステップから実行に有効なようにのみルールを作成し且つルールを相互に結合することを可能にするカスタムルールシステム及び方法を提供することである。
【0026】
本発明の更に別の目的は、無限ループが作成されるのを防止するユーザインタフェース及びルールステップ処理方法を含むカスタムルールシステム及び方法を提供することである。
【0027】
本発明の更に別の目的は、特に、論理、演算、統計、スイッチ、状態及び結果論理を目視により一体に結合し且つ検証することを可能にするカスタムルールシステム及び方法を提供することである。
【0028】
本発明の更に別の目的は、ルール作成者の理解が不要になるように、ルールステップが結合される道筋の中にオペレータの優先権を取り込んだカスタムルールシステム及び方法を提供することである。
【0029】
第1の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、プロセッサと、共に前記プロセッサに動作結合されているメモリ及び表示装置と、前記メモリ内に格納されている複数のルールステップと、前記メモリ内に格納されている前記複数のステップを前記表示装置に1つの配列として図形表現する手段と、前記表示装置で目視によりカスタムルールを作成するために、前記配列から前記図形表現されたルールステップのうちの少なくとも1つを選択する手段とを組み合わせて具備するシステムを提供することである。
【0030】
第2の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、各々がそれに関連する特定の実行可能コードを有する多数のルールステップから構成されているデータベースと、前記データベースに動作結合され、前記ルールステップを1つのアレイとして図形表現し且つグラフィカルウィンドウを提供する表示装置を含むコンピュータと、図形表現のために前記アレイから前記図形表現されているルールステップを選択し且つ配置するために前記アレイとインタフェースする手段と、カスタムルールを作成するために、前記グラフィカルウィンドウ内部で前記図形表現されているルールステップを互いに結合する手段とを組み合わせて具備するシステムを提供することである。
【0031】
第3の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、各々がそれに関連するアセンブルドコードを有し且つデータベース内に格納されている複数の図形表現されたルールステップから成る配列と、前記配列から前記図形表現されたルールステップを個別に選択し、前記選択されたルールがほぼ縦列をなすフォーマットで配列されるように、前記選択されたルールをグラフィカルウィンドウ内に配置する手段と、前記グラフィカルウィンドウ内に配置された前記選択されたルールステップを図形により互いに結合する手段と、前記グラフィカルウィンドウ内に配置され、図形により互いに結合された選択されたルールステップをエキスパートシステムにおける意思決定のために採用されるべきカスタムルールとして格納する手段とを組み合わせて具備するシステムを提供することである。
【0032】
第4の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に格納されている複数のルールステップと、前記データベース内に格納され、各々が少なくとも1つのフィールドを含む少なくとも1つのレコードを有している複数のテーブルと、前記複数のテーブルのうちの少なくとも1つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップのうちの少なくとも1つと関連している複数のステップ参照と、前記複数のテーブルのうちの少なくとも1つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップ参照のうちの少なくとも1つと関連している複数のルール参照とを組み合わせて具備し、同じルール参照と関連している全てのステップ参照は、個々のユーザ作成カスタムルールに含まれるそれぞれ個別のルールステップを定義するカスタムルールシステムを提供することである。
【0033】
第5の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に実行可能コードとして格納されている複数のルールステップと、前記データベース内に格納され、各々が複数のフィールドを含む少なくとも1つのレコードを有している複数のテーブルと、カスタムルールを定義するために前記データベース内に格納されている個々のルールステップを参照するステップ参照を含む複数の前記フィールドとを組み合わせて具備するカスタムルールシステムを提供することである。
【0034】
第6の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、コンピュータに結合されたデータベース内に格納されている複数の個別のルールステップと、前記コンピュータの表示装置に前記ルールステップを図形表現する手段と、前記表示装置のグラフィカルウィンドウで目視によりカスタムルールを形成するために、前記図形表現されたルールステップのうちの複数のルールステップを選択し、それらを互いに結合する手段とを組み合わせて具備するシステムを提供することである。
【0035】
第7の有利な点から見ると、本発明の目的は、表示装置を有するコンピュータでカスタムルールを作成するカスタムルールシステムであって、前記表示装置に表示される複数の図形表現ルールステップから成り、入力又は出力のいずれか、あるいは入力と出力の双方を有する配列と、カスタムルールを目視により作成するために、前記図形表現ルールステップの出力を前記図形表現ルールステップの入力に結合する手段とを組み合わせて具備するシステムを提供することである。
【0036】
第8の有利な点から見ると、本発明の目的は、カスタムルールを作成する方法であって、実行可能コードから構成される複数の個別のルールステップをコンピュータに結合されたデータベース内に格納する過程と、前記ルールステップを前記コンピュータの表示装置にアイコンの図形配列として表現する過程と、前記アイコンの図形配列とインタフェースすることによりカスタムルールを作成する過程とから成る方法を提供することである。
【0037】
第9の有利な点から見ると、本発明の目的は、カスタムルールを作成する方法であって、カスタムルールに対する資産を選択する過程と、各々が少なくとも1つの出力を含む、カスタムルールで使用されるべき複数の入力値ステップを定義する過程と、前記入力値ステップをコンピュータのグラフィカルユーザインタフェースのグラフィカルウィンドウに表現する過程と、各々がそれと関連するアセンブルドルールステップコードを有し且つ前記コンピュータに結合されたデータベース内に格納されている複数の図形表現ルールステップから成る行列を前記グラフィカルユーザインタフェースに表現する過程と、前記図形表現ルールステップから成る行列から少なくとも1つの入力を含む1つの結果ステップを選択し、前記結果ステップを前記グラフィカルウィンドウ内に配置する過程と、前記選択された結果ステップに対する入力が真である場合に作成されるであろう結果を定義する過程と、前記図形表現ルールステップから成る行列から少なくとも1つの入力及び少なくとも1つの出力を有する少なくとも1つの演算ステップを選択し、前記少なくとも1つの演算ステップを前記グラフィカルウィンドウの、前記入力値ステップと前記結果ステップとの間に位置する場所に配置する過程と、前記入力値ステップの各々の前記少なくとも1つの出力を前記演算ステップの前記少なくとも1つの入力に結合する過程と、カスタムルールを作成するために、前記演算ステップの前記少なくとも1つの出力を前記結果ステップの前記少なくとも1つの入力に結合する過程とから成る方法を提供することである。
【0038】
第10の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に格納されている多数のテキスト識別子番号と、前記多数のテキスト識別子番号と関連するテキストから構成されるテーブルを格納する手段と、前記データベースを前記多数のテキスト識別子番号として書き込み且つ格納することができるように、要求に応じて、前記データベース内に格納されている前記多数のテキスト識別子番号の各々について前記テーブルからカスタムルールシステムにテキストを戻す手段とを組み合わせて具備するカスタムルールシステムを提供することである。
【0039】
これらの目的及び利点並びにその他の目的及び利点は、添付の図面と関連させながら以下の詳細な説明を考慮することにより明白になるであろう。
【0040】
【発明の実施の形態】
図面を考慮すると、図面の様々な図を通して同じ図中符号は同じ部分を指示しており、図中符号10は本発明によるカスタムルールシステムを示す。
【0041】
図1を参照すると、カスタムルールシステム10は、その本質において、カスタムルールモジュール40、ディスプレイモジュール50及びカスタムルールセットデータベースモジュール60という3つの主要なモジュールに分割できる。カスタムルールシステム10は第4の主要なモジュールである情報抽出モジュール80を更に含むことができる。これらのモジュールは任意の組み合わせで互いに一体であっても良いし、別個に存在していても良い。更に、これらのモジュールは1つのコンピュータに常駐していても良いし、あるいはネットワークを介して対話する複数の互いに独立したコンピュータに常駐していても良い。
【0042】
一実施例では、カスタムルールシステム10は、プロセッサ20と、メモリ22と、マウス44及びキーボード46を含む入力装置42と、表示装置54を含む出力装置52と、データベース72とから構成される少なくとも1つのコンピュータを含む。システムバス82はプロセッサ20、メモリ22、入力装置42、出力装置52及びデータベース72を互いに動作結合する。
【0043】
プロセッサ20は、特に、計算機能を実行し且つソフトウェアプログラムを実行することが可能である。
【0044】
メモリ22は読み取り専用メモリ(ROM)24と、ランダムアクセスメモリ(RAM)として知られている読み取り/書き込みメモリ(R/WM)26と、格納メモリ28とを含むのが好ましい。ROM24は、通常は、特に、プロセッサ20がオペレーティングシステム30の下で動作しているときにユーザに対して透明であるI/Oを提供する基本入出力システム(BIOS)を格納している不揮発性メモリ(パワーがない状態であっても格納されている情報を保持するメモリ)である。R/WM26は、揮発性メモリ、すなわち、パワーがないときには格納されている情報を保持しないメモリである。格納メモリ28は1つ以上のハードディスク、フロッピー(登録商標)ディスク、コンパクトディスク、カセットテープ、磁気テープなどを含むことができる。
【0045】
オペレーティングシステム30はコンピュータの動作全体を調整するために採用される。オペレーティングシステム30は通常はR/WM26及びハードディスクなどの格納メモリ28に格納されており、シェル32を含むことができる。システム10により実行するために、カスタムルールモジュール40及びディスプレイモジュール50などの1つ以上のアプリケーションプログラム34をロードする(すなわち、記憶装置からメモリへ転送する)ことができる。
【0046】
一方、出力装置52は、特に、R/WM26からのアプリケーションウィンドウ、グラフィカルオブジェクト、アイコン、データ、格納メモリ28からのデータ、並びにデータベース72からのデータをグラフィカルユーザインタフェース48及びディスプレイモジュール50を介して表示装置54に表示するために、オペレーティングシステム30及びアプリケーションプログラム34と協働する。
【0047】
通常、グラフィカルユーザインタフェース48は、表示装置54で1つ以上のアイコン、アプリケーションウィンドウ又はその他のグラフィカルオブジェクトが表示されるデスクトップメタファを含む。表示装置54に表示される関連するグラフィカルオブジェクトの選択及び操作を通してハードウェアコンポーネント及びソフトウェアオブジェクトを制御するために、グラフィカルユーザインタフェース48と関連してマウス又はその他の入力装置が利用される。
【0048】
従って、ユーザはグラフィカルユーザインタフェース48と関連させてマウス44及び/又はキーボード46を使用して、カスタムルールシステム10がオペレーティングシステム30と、カスタムルールモジュール40及びディスプレイモジュール50を含むアプリケーションプログラム34とからの命令に従ってユーザ入力に対して動作することができるように、ユーザ指令及びデータを含む情報を入力する。キーボードは通常は文字を入力するために利用されるが、マウスの機能を実行するために利用されても良い。
【0049】
グラフィカルユーザインタフェース48は上記の動作の結果を表示する。概念上は別個のモジュールとして示されているが、オペレーティングシステムシステム30及びシェル32がグラフィカルユーザインタフェース48を提供し、カスタムルールモジュール40はディスプレイモジュール50を提供しても良い。
【0050】
カスタムルールセットデータベースモジュール60はデータベース72に常駐しており、個別に格納されている複数のユーザ作成カスタムルール62を含む。カスタムルール62は複数のテーブル62から構成されている。テーブル62は少なくとも1つのルールステップテーブルを含み、ルールステップテーブルは、各々がデータベース72内に格納されている複数のルールステップ100のうちの少なくとも1つのルールステップと関連している複数のステップ参照又は識別子(ID)を含む。ルールステップテーブルは、同じルール識別子と関連する全てのステップ識別子が単一のユーザ作成カスタムルールを形成する個々のルールステップ100を定義するように、1つ以上のルール参照又は識別子(ID)を更に含む。各々がデータベース72内に個別に格納されている複数の個々のルールステップ100から構成されている複数のルール識別子により複数のユーザ作成カスタムルールを定義することができる。更に、1つのユーザ作成カスタムルールを形成する個々のルールステップ100の間の結合も1つ以上のテーブル62に格納されている。
【0051】
具体的には、データベース72に格納されているルールステップ100は、オペランド又はプロセス演算のいずれかをロードする2進ルールステップ及び単項ルールステップの双方を含むことができる。従って、ルールステップはパージングされるべきテキストとしてではなく、オペランド及び演算として格納されることが可能である。更に、ルールステップ100は入力と出力を有することができる。
【0052】
オペランドルールステップは測定値、状態、設計値、ハード符号化関数、定数(数値、ブール値又は数え上げ値)、以前に定義されたルールからの結果、ユーザ定義済み計算値及びユーザ定義済み計算値を含むことができる。オペランドルールステップはオペランドデータをロードする。
【0053】
演算ルールステップは数学演算子、比較演算子、ブール演算子及び条件付き論理演算子などの多数の演算子から構成されることが可能である。数学演算子は加算(+)、減算(−)、乗算(*)、除算(/)、最大値発見(Max)、最小値発見(Min)及び絶対値発見(Abs)を含む。比較演算子は演算子に等しい(=)、演算子に等しくない(≠)、演算子未満(<)、演算子以下(<=) 、演算子より大きい(>)及び演算子以上(>=)を含む。ブール演算子はAND演算子、OR演算子及びNOT演算子を含む。条件付き論理演算子はIF−THEN−ELSEステートメント(例えば、IF input_1 THEN input_2 ELSE input_3)を含む。演算ルールステップは先行するルールステップの結果を入力として取り上げ、1つの演算ルールステップの処理は他のルールステップとは無関係である。
【0054】
情報抽出モジュール90はシステムバス82を介してプロセッサ20に動作結合されている。情報抽出モジュール90は、本質的には、機械装置を含む資産96を監視するセンサ94から生成されるデータを収集するデータ収集装置92から情報を抽出する。この情報は、特に、機械装置を含む資産を保護し且つ管理するためのユーザ作成カスタムルールに従って処理される。例えば、抽出された情報をシステムバス82を介してプロセッサ20へ送信することができる。そこで、プロセッサ20はその情報に対して何らかの能動ユーザ作成カスタムルールを実行して、問題の重大度を含む、監視されている資産に関する結論を獲得する。その後、結論と重大度はデータベース72に書き込まれる。次に、それらの結論と重大度は、おそらくは他のシステムからの結論及び他のデータベースからの構成情報と共にメッセージ経路指定システムへ送信され、以下に更に説明するように状況に対して適切に応答するためには誰がどの時間フレームでどの情報を受信すべきかを判定するために処理される。
【0055】
図2は、本発明に従って作成されたカスタムルールの一例を示す。図示されるように、カスタムルールは式「IF A+B>C and D<=E THEN My_Result」を実行する。ルールステップ1から5は、変数(A、B、C、D及びE)に対して定数(10、20、30、40及び50)をそれぞれ有するオペランドルールステップである。ルールステップ6から8は、加算プロセス演算ステップ、「より大きい」プロセス演算ステップ及び「以下」プロセス演算ステップをそれぞれ含む演算ルールステップである。ルールステップ9はブールANDプロセス演算ステップである。最後のステップは、結論又はイベントと、ユーザ事前定義済み重大度(Severity)レベルとを含むのが好ましい結果を生成する結果プロセス演算ステップである。
【0056】
本発明によれば、このカスタムルールを生成する1つの方法の一例は、まず、グラフィカルユーザインタフェース48と関連させてマウス44を利用して、ファイルメニューからメニューオプション「new rule(新たなルール)」を選択する過程と、ステップパレット又はステップ行列102から図形ルールステップ表現(データベース72に格納されているルールステップ100の図形表現)を選択し、それらを別個のルールウィンドウ170へ操作(ドラッグアンドドロップ)する過程と、定数を入力する過程と、未定義結果ステップを構成する過程と、ルールステップ1から11の入力と出力を互いに結合する過程とをこの順序で含む。尚、本発明により定義される表示パレット又は行列では、ユーザは有効ルールステップのみを選択するように制限されていることに注意する。
【0057】
更に具体的には、図2及び図3に拡大して示すステップ行列102を参照して説明すると、ルールステップ1及び2については共に定数ルールステップが採用される。従って、定数ルールステップ表現142が行列102から図2に示すような第1の縦列位置へドラッグアンドドロップされる。ルールステップ3から5も同様に定数ルールステップから構成されているので、定数ルールステップ表現142が行列から図2に示すような第2の縦列位置へドラッグアンドドロップされる。ルールステップ6については加算ルールステップが採用され、そのルールステップ表現104が行列102から図2に示すような第2の縦列位置へドラッグアンドドロップされる。ルールステップ7については「より大きい」ルールステップが採用されるので、そのルールステップ表現120が行列102から図2に示すような第3の縦列位置へドラッグアンドドロップされる。ルールステップ8については「以下」ルールステップが採用され、そのルールステップ表現118が行列から図2に示すような第3の縦列位置へとラングアンドドロップされる。ルールステップ9についてはブールANDルールステップが採用され、そのルールステップ表現124が行列から図2に示すような第4の縦列位置へドラッグアンドドロップされる。ルールステップ11については未定義結果ルールステップが採用され、そのルールステップ表現150が行列から、この特定のカスタムルールに関してルールステップの選択を結論づける第5の縦列位置へドラッグアンドドロップされる。そこで、ユーザは未定義結果ルールステップの結論及び重大度レベルを構成し、例えば、キーボード及びマウスの操作による入力を経て定数(Constant)(A、B、C、D及びE)に値を与える。その後、例えば、1つのルールステップの出力でマウスの1つのボタンをクリックしたまま保持し、次に、別のルールステップの入力までドラッグして、ボタンを離すことにより、ルールステップを互いに結合させる。各ルールステップの個々の出力の全てが図示されるように他のルールステップの個々の入力に結合されるまで、このプロセスを繰り返す。1つのルールステップ出力から1つのルールステップ入力への結合はそれぞれデータベース72に格納される。このプロセスの最終結果が新たなカスタムルールであり、これもデータベース72に格納でき、要求に応じてそれを動作させることができる。従って、本発明によれば、1行分のコードを書き込まずに図形に基づいてカスタムルールを作成することが可能である。実際には、これまでこの例のカスタムルールを作成するために必要とされていた関連コードはルールロジックグラフィカルウィンドウ172に示されている。
【0058】
本発明ではルールをルールステップとして格納するため、ルールを非常に急速に実行することが可能になる。ルールはテキストとしてではなく、実行可能ルールステップとして格納されているので、システムは全てのルールステップ100を事前にロードし、カスタムルールが実行されるときには、直ちにルールステップ処理が開始される。あるいは、システムはルールステップ100をカスタムルールにより定義される順序でロードし、その後にカスタムルールを処理することができる。ルールステップからの出力はメモリに格納される。あるルールステップが先行するルールステップから入力を受け取るたびに、その値はメモリで利用可能であり、迅速に値を検索することができる。
【0059】
好ましい一形態においては、ルールステップは左から右へ処理され、同じ縦列位置にあるステップの入力へのルール結合又は左側にあるステップの入力へのルール結合は許されていない。それにより、他のいずれかのルールステップによりステップ出力が必要になる前に、全てのステップ出力が計算され終わっている状態が確保される。これにより、無限ループが作成される可能性も排除される。更に、本発明では、いずれかの入力といずれかの出力との間で結合を成立させる前に入力と出力の型を比較することが可能であるために、入力と出力の型が一致しない場合又は無効である場合の結合作成を防止することができる。
【0060】
また、本発明ではループ型処理も可能である。多くのルールステップについて、最上方(第1のレベル)の入力をループさせ、最下方(第2のレベル)の入力と比較する。いくつかの種類のルールステップについては複数の第2レベル入力結合が許される。複数の第2レベル入力結合が可能である全てのルールステップは、それらの第2レベル入力がどの順序で処理されるかに関わらず、同じ出力を作成するのが好ましい。その一例が加算(+)ルールステップである。第1の数をその最上方入力に結合し、次に、他の4つの数をその最下方入力に結合することにより、5つの数を加算することができる。次に、ループは最上方の数を下方の入力のうちの1つに加算する。下方の全ての入力側に加算され終わるまで、求められた値を次の下方入力に加算する。その後、全ての数の和をこのステップからの出力として格納する。
【0061】
図4及び図5を参照すると、上記の例を完成することができる。
【0062】
図4は、カスタムルールセットデータベース60がステップごとに1つ以上の入力と、プロセスとを有するようなテキストのストリームを有するのではなく、データベースを一連のロジカルステップとしてどのように分割できるかを示すデータベーススキーマ152を表す。このデータベーススキーマ152は、イベント(Event)テーブル154、ルール(Rule)テーブル156、ルールステップ(Rule_Step)テーブル158及び入力(Input)テーブル160という4つのテーブルから構成されているテーブル64の一例である。これらのテーブルはデータベース60内に格納されており、各々のテーブルは、フィールド68を有する1つ以上のレコードl66を含む。各々のテーブルには複数のレコード66が含まれていることが可能であり、同じテーブルにある複数の同様のレコードは、通常、それぞれ同じ対応するフィールドを含む。
【0063】
例えば、ルールテーブル156のどのレコードも4つのフィールドを含み、数百のカスタムルール62に相関する数百のレコードが存在することが可能である。従って、ルールテーブル156は多数のレコードを含み、それらのレコードがそれぞれ多数のフィールドを含むことができる。
【0064】
どのカスタムルールも1つのイベントを生成する。イベントは結果であり、どのルールも1つ以上のルールステップから構成されている。例えば、ルールステップテーブル158の第4のエントリは、図2に示す定数ステップなどのオペランドステップであっても良いし、あるいは同様に図2に示す加算ステップ、「より大きい」ステップ、「以下」ステップ及びブールANDステップなどの演算ステップであっても良いステップ型である。各ステップは1つ以上の入力を有する。定数ステップの場合、ステップ型はオペランドであり、入力は定数又は収集されたデータ値になるであろう。加算ステップなどの演算ステップの場合には、ステップ型は加算であり、入力は定数又は先のステップで生成された値などの先行ステップになるであろう。
【0065】
図5は、図2に示すカスタムルールについて格納されている実際のテーブルエントリの一例を示す。ルールテーブル156から始まり、ルールテーブルには1つのレコードが格納されている。このレコードは1の値を有するルールIDと、1の値を有するRule_Order,すなわち優先順位とを含む。conf_startフィールド及びconf_Endフィールドはデータベース内で常時全ての構成を維持するために使用され、以下にその概要を説明する。
【0066】
すなわち、ルールテーブル156は、ルールIDが1であるカスタムルールが存在し、これはルールID1がMy_Resultと呼ばれる結果を生成することを示すイベントテーブルに連携することを示している。また、ルールテーブルは、各々が1のルールIDを有する10の異なるルールステップが存在することを示すルールステップテーブル158にも連携している。従って、1のルールIDを有するルールステップテーブルのどのエントリもルール1に属している。ステップ順序はステップIDと同じ順序に従う場合もある。初めの5つのステップ型(Step ID1から5)は全て1であり、この例の場合、その連携はデータを獲得又はロードするための呼び出しである。Step ID6は2のステップ型であり、この例ではこれは加算プロセスである。Step ID7は3のステップ型であり、この例ではこれは「より大きい」プロセスである。Step ID8は4のステップ型であり、この例ではこれは「以下」プロセスである。Step ID9は5のステップ型であり、この例ではこれはブールANDプロセスである。最後に、Step ID11は6のステップ型であり、この例ではこれはカスタムルールの結果又はMy_Resultイベントである。
【0067】
ルールテーブルは、Step IDと呼ばれる欄見出しの下に複数のフィールドを示す入力テーブル160にも連携している。Step ID1から始まり、プロセッサはStep ID1に関わる全ての入力を探索するが、この例では、これはロードされるべきデータを要求する入力により識別される唯一つの入力を含む。従って、ステップ1はAの値を獲得し、それが利用可能であるようにメモリにロードすることである。具体的には、入力テーブルのStep ID1は、オペランドを獲得することに相関される1つのステップ型を有するルールテーブル中のStep ID1に相関している。
【0068】
同様に、Step ID2、3、4及び5もそれぞれ、ロードされるべきデータを要求する唯1つの入力を含む。すなわち、ステップ2、3、4及び5は、B、C、D及びEのそれぞれの値を獲得し、それらをメモリにロードして、利用可能な状態にするステップである。従って、ステップ1から5におけるオペランドは変数(A、B、C、D及びE)により表現され、ステップはそれらの変数に対する実数値又はデータを獲得している。この場合、A、B、C、D及びEの変数のデータはテーブルに浮動(Float)と呼ばれる見出しの下に格納されるであろう定数である。
【0069】
あるいは、入力テーブルのSegment ID(SID)がどのデータをロードすべきか及びそのデータをA、B、C、D及びEの変数の各々についてどこからロードすべきかを調整するためにプロセッサにより使用される表現を提供しても良い。
【0070】
Step ID6は順序又は入力数1と、順序又は入力数2という2つの入力を有する。これらの入力は、「FromStepOutput」及び「FromStepID」と呼ばれるそれぞれの欄見出しの下に示されているように、Step ID1のステップ出力1及びStep ID2のステップ出力1から得られる。この例では、それぞれの出力はRule Step1及びRule Step2から得られる。従って、Step ID6の最上方又は左の入力はRule Step1の出力から得られ、最下方又は右側の入力はRule Step2の出力から得られる。同様に、Step ID7はRule Step6及び3の出力からの入力を有し、Step ID8はRule Step4及び5の出力からの入力を有し、Step ID9はRule Step7及び8の出力からの入力を有する。Rule Step9の出力はRule Step11の入力であり、My_Resultと呼ばれる結果を生成する。これは、ステップがいかにして互いに結合されるか及びそれらの相互結合がいかにして格納されるかを示している。
【0071】
ルールテーブル156に戻ると、Rule_Order又は優先順位の見出しの下にあるフィールドにより、ユーザは1つのルールの出力を別のルールへの入力として使用することができる。例えば、1つのルールにより判定された排出ステムの高温イベントを同一の論理を更に複数回にわたり再度実行する必要なく、他の1つ以上のルールで使用することができる。従って、これにより、システム10はカスタムルールを1度処理し、その値を維持し、後にその値を更に複数回にわたり再利用することが可能である。
【0072】
しかし、ステム温度が高いことを判定するルールは、その他のルールが処理される前に処理されなければならない。従って、優先順位が存在している必要がある。その結果、依存性を有するルール、すなわち、将来のルールにおいて使用されることになる出力を有するルールを第1に処理しなければならない。例えば、第1の結果が生成され、第2のルールで使用され、その後、第2の結果が生成されて第3のルールで使用された場合、依存性の連鎖が存在するため、それらのルールに対して優先順位を課すことになる。例えば、最初に実行されなければならない全てのルールは1を獲得し、次に実行されるルールは2を獲得し、以下同様になる。これは、誤った情報が使用されないようにルールが実行される順序を定義する。
【0073】
次に図6、更には図1を参照して説明すると、カスタムルールシステム10は、例えば、工業プラントの資産96を監視する多数のセンサ94に動作結合させることができる。信号調整、処理及び通信システム200はそれら多数のセンサ94と、計器202と、情報抽出モジュール90を含む第1段階プロセッサ及びメモリシステム204とに動作結合されている。
【0074】
信号調整、処理及び通信システム200はデータ収集装置92に対して採用することができ、オンライン連続装置を含む並列装置、オンライン走査装置又は多重化装置を含む有線走査/逐次装置、ポータブルデータコレクタを含むオフライン診断監視装置、油分析などの状態監視装置、並びにプロセスコントローラ及びプロセスコントローラを含む装置などから構成されることが可能である。
【0075】
第1段階プロセッサ及びメモリシステム204はプロセッサ20、メモリ22、入力装置42、出力装置54、カスタムルールセットデータベース60及びルールステップ100を含むデータベース72から構成され、図1に示すように、システムバス82を介して情報抽出モジュール90に結合されることが可能である。更に、第1段階プロセッサ及びメモリシステム204はシステムプロセッサ206、エキスパートシステムシェル208、推論エンジン210、ルールセットデータベース212及びデータベース72に動作結合されている。尚、データベース72は第1段階プロセッサ及びメモリシステム204に結合されること及び/又は第1段階プロセッサ及びメモリシステム204と一体に形成されることが可能である。
【0076】
信号調整、処理及び通信システム200はセンサからの生データを受信し、このデータを調整、処理し、第1段階プロセッサ及びメモリシステム204へ通信するために使用される。第1段階プロセッサ及びメモリシステム204は通信されたデータを処理し、格納する。この情報は、要求に応じて、情報抽出モジュール90へ通信される。第1段階プロセッサ及びメモリシステム204とシステムプロセッサ206は、入力装置42及び推論エンジン210からの入力に加えて、情報抽出モジュール90により抽出された情報をカスタムルールセットデータベース60及びルールセットデータベース212からの起動されたルールに従って使用して、センサ94、計器202、並びに機械及びプロセスを含む資産96の状態に関する結論を獲得する。
【0077】
センサ、計器、機械及びプロセスの状態に関する結論、並びにそれらと関連する問題の重大度は(他のシステムからの結論及び他のデータベースからの構成情報と共に)、その状況に適切に応答するために誰がどの情報をどの時間フレームで受信すべきかを判定するためにそれらの情報が処理されるように、第2段階プロセッサ及びメモリシステム214を介して出力装置52及び/又はメッセージ経路指定システム216へ送信されることが可能である。より具体的には、処理済パラメータから取り出された結論及び重大度は第2段階プロセッサ及びメモリシステム214へ送信され、そこから、特定の結論を出力装置218を介して対応する職員へ経路指定するか、又はモデム222を介してホストコンピュータ220へ経路指定するようにカスタム化可能であるメッセージ経路指定システム90へ送信される。尚、ホストコンピュータ220は、その後、特定の結論を格納し且つ/又は対応する職員へ経路指定することができる。
【0078】
更に具体的には、図6を参照して説明すると、システム10はオブジェクト指向パラダイムを有するエキスパートシステムシェル208を含むことができる。本発明はこのシェル208をプロセッサ204又は206のいずれかと協働させて使用し、データベース72に常駐できるクラス階層知識ベースのフレームワークを構築する。管理すべきプラントにおける各資産の属性又は特性並びにそれらの属性に対して作用するためのルールセット及び/又はカスタムルールセットの一般的記述は、階層知識ベースの最上位置に常駐する複数のクラスとして定義されている。階層知識ベースの次に低いレベルは、階層クラスにサブクラスを付随させる。従って、プラントにおける各資産の属性のより特定された記述及びそれらの属性に対して作用するためのメソドロジーは、それらが依存する上位クラスのあらゆる物を継承するサブクラスとして定義されても良い。
【0079】
例えば、上位クラスを一般にポンプとして定義し、それに依存する水ポンプと呼ばれるサブクラスを作成できるであろう。従って、水ポンプと呼ばれるサブクラスはポンプと呼ばれる階層クラスにおいて定義されている属性と方法を継承する。そこで、水ポンプという特定の型を階層の上位レベルに付随させることができ、ポンプと呼ばれる階層クラスの中に含まれるあらゆる物を継承し、再利用することになるであろう。更に、ポンプと呼ばれる上位クラスの属性及びルールセットを追加、削除又は再定義するためにサブクラスを定義しても良い。
【0080】
上位クラスが定義されたならば、特定のプラントの特定の資産をオブジェクトとして構成できる。1つの形態においては、それらのオブジェクトの属性とルールセットが第1段階プロセッサ及びメモリシステム204に書き込まれ、ブリッジを介してエキスパートシステムシェルへ送信され、エキスパートシステムシェル208のオブジェクト指向パラダイムにより処理されるべきオブジェクトとして具体化される。
【0081】
構成入力及び知識入力を含む入力装置42又は格納メモリ28を使用することにより、オブジェクトをシステム10に付随させることができる。知識入力は、特定の型の資産の所有属性及びメソドロジーが格納されている格納メモリ28と共に動作する記憶媒体を含んでいても良い。第1段階プロセッサ及びメモリシステム204は単にモジュールから情報を読み取り、その情報をシステムプロセッサ206及びエキスパートシステムシェル208へ送信し、そこで情報は特定の資産を表現するオブジェクトとして具体化される。このプロセスは、記憶媒体に格納されているトレードシークレットを開示することなく実現可能である。入力装置42を使用して、管理すべき資産に関する構成情報及びその他の必要な情報を直接に挿入することができる。この情報は記憶媒体に格納されている情報と同じように処理される。
【0082】
従って、監査を実行すべき状況になるたびに、センサ94から、例えば、機械列で起こっていることのスナップショットインタイムを提供する、機械列内部の資産の状態を表す生データセットが獲得される。第1段階プロセッサ及びメモリシステム204及び/又はシステムプロセッサ206はこれらのパラメータを処理する。次に、情報抽出モジュール90はそれらのパラメータから情報を抽出し、第1段階プロセッサ及びメモリシステム204及び/又はシステムプロセッサ206はカスタムルールセットデータベース60のルール及び/又はルールセットデータベース212のルールに従ってこの抽出情報を処理する。従って、ルールセット及びカスタムルールセットはデータベースによりアセンブルされた情報を組み合わせ且つ統合することができる。
【0083】
その後、処理済パラメータから取り出された結論が第2段階プロセッサ及びメモリシステム214へ送信され、更に、特定の結論を対応する職員へ経路指定するか、又はモデム222を介してホストコンピュータ220へ経路指定するようにカスタム化可能であるメッセージ経路指定システム216へ送信される。尚、ホストコンピュータ220は特定の結論を格納し且つ/又は対応する職員へ経路指定することができる。
【0084】
具体的には、システム10の第2段階プロセッサ及びメモリシステム214は複数の信号をメッセージ経路指定システム216へ出力し、メッセージ経路指定システム216は資産96による実行可能要求に相関するメッセージをどこへ出力すべきかを判定する。重大度レベル信号、故障カテゴリ信号及び問題あり資産信号がメッセージ経路指定システム216に対する出力と関連付けられるのが好ましい。重大度レベルは重大度0、重大度1、重大度2、重大度3などと定義されても良い。故障カテゴリ出力はセンサ、機械、計器及びプロセスに関する情報を含む。問題あり資産出力は特定の資産、例えば、蒸気に問題があるタービンに関する情報を含む。
【0085】
そこで、メッセージ経路指定システム216はメッセージをどこへ経路指定すべきかを判定する。例えば、メッセージはオペレータ、機械保守要員、計器及び制御システム担当者、プラント管理担当者、センサ及び計器の供給元、並びに機械の供給元のうちの1つ以上へ経路指定されれば良い。例えば、資産が機械であり、重大度レベルが1である場合、機械保守部門が勧告を受け取る。資産が計器であり、重大度レベルが1である場合に、計器及び制御システム部門が勧告を受け取ることになるであろう。プロセスが重大度レベル1を有する場合には、オペレータと外部契約業者が勧告を受け取ることになるであろう。
【0086】
使用中及び動作中に、ユーザは、カスタムルールを作成するために、グラフィカルユーザインタフェース48と協働させてマウスを利用することによりカスタムルールシステム10と対話する。例えば、ユーザが「蒸気の問題」を検出するルールを作成することを望むならば、プロセスを次のようにすることができる。
【0087】
まず、図7を参照して説明すると、ユーザはファイルメニュー162からメニューオプション「new rule(新ルール)」を選択し、そのルールに名前を付ける(例えば、new rule1)。そこで、カスタムルールシステム10は、GUIにTotally Custom Rules, Change Stored Rules and Derived Valuesという選択肢を表示することにより、新たなカスタムルールを作成するであろうルールを作成するか、取り出された結果のいずれかを選択するようにユーザに促す。そこで、ユーザは選択を実行し、その後、次のダイアログボックスへ移るために「next」アイコン164をクリックする。図7に示すように、この次のダイアログボックス166はルールを実行すべき機械列、器械又は構成要素の図形オブジェクトを表示する。そこで、ユーザはそれらの図形オブジェクトのうちの1つ以上を選択するように促される。ユーザはマウスを利用して1つ以上の図形オブジェクトを選択し、その後、図8に示される次のダイアログボックス176へ移るために「next」アイコン164をクリックする。尚、この例ではHPタービンが選択される。
【0088】
次に、図8に示すダイアログボックス176を参照すると、ユーザはルールに関して示すべき初期値を選択することを促される。カスタムルールシステム10はデータベース又は知識データベース72からの情報を提供し、それをユーザに対して多様な分類型178として表示する。そこで、ユーザは選択された機械について様々に異なる分類型178の中から1つの特定の分類型を選択する。この分類型は変換器からの生データ、処理済データ又はデータベースからのデータを含むと考えられる。例えば、分類型は構成済み(Configured)データ、測定(Measurement)データ、派生(Derived)データ、カスタム派生(Custom Derived)データ、結果(Result)データ及びカスタム結果(Custom Result)データを含むことができる。そこで、ユーザは選択された分類型から1つ以上のアイテムを選択する。例えば、図示されるように、測定分類型を選択した場合、ユーザは、測定分類型からの蒸気流量及び蒸気圧力を選択することによりカスタムルールに測定値を追加し、それにより、図9に示される蒸気流量(Steam Flow)ステップ180である1つのステップと、蒸気圧力(Steam Pressure)ステップ182である1つのステップとを定義する。その後、ユーザは「finish」アイコン168をクリックし、その結果、カスタムルールモジュール及びディスプレイモジュールは、図9に示されるようなルールグラフィカルウィンドウ170と、ステップパレット又は行列ウィンドウ102と、生成ルールロジックグラフィカルウィンドウ172とを立ち上げる。
【0089】
図9を参照して説明すると、ユーザはステップパレット又は行列102からルールステップ表現を選択し、それをルールウィンドウ170までドラッグアンドドロップして、「New Rule1」カスタムルールで利用されるべき追加ルールステップを定義するために、マウス44を利用するのが好ましい。
【0090】
具体的には、図9及び図10において、ユーザはパレットから未定義結果ルールステップ表現150を選択し、それをルールウィンドウ170へドラッグアンドロップし、そこでルールステップ表現はルールステップ184として示される。尚、このアクションによって、結果ステップのテキストバージョンが下方のルールロジックグラフィカルウィンドウに配置され、これは2に等しい重大度を含むことに注意する。
【0091】
未定義結果ルールステップ184の場所でマウス44の1つのボタン、例えば、右側のマウスボタンをクリックすると、カスタムルールモジュール及びディスプレイモジュールは、図11及び図12にそれぞれ示すような特性ダイアログボックス196と、結果(Results)ダイアログボックス198とを立ち上げる。ユーザは、特性ダイアログボックス196により作成される結果を選択することができ、この例では、その結果は「蒸気の問題(Steam Problem)」と名付けられている。更に、ユーザは、特性(Properties)ダイアログボックス196により、新結果(New)グラフィカルキー230、編集(Edit)グラフィカルキー232及び削除(Delete)グラフィカルキー234をそれぞれ介して新たな結果を作成するか、既存の結果を編集するか、又は既存の結果を削除するかを選択することができる。これらのグラフィカルキーのいずれかを走査すると、図12に示すように結果ダイアログボックス198が現れる。そこで、ユーザは作成された結果の名前、推奨アクション及び詳細を追加、編集及び/又は削除することができる。
【0092】
更に、図13を参照すると、ユーザは、単にマウスを利用して重大度ボックス236のいずれかをクリックすることにより、結果の重大度を変更することができる。この例では、重大度は図10に示すような重大度2から重大度3に変更されている。このことは下方のルールロジックグラフィカルウィンドウ172に配置されたテキストバージョンからも見て取れる。
【0093】
次に追加ルールステップが追加され、そこで、結果ステップは追加及び定義されたことになる。
【0094】
図14を参照すると、ユーザは2つの定数ルールステップ186、188と、2つの未満ルールステップ190、192と、ブールORルールステップ194とを追加している。尚、パレット102も図3及び図9に示すようにグラフィカルユーザインタフェース48に現れるであろうが、図をわかりやすくするために省略されている。
【0095】
具体的には、図3、図9及び図14に示すように、ユーザはパレット102から第1の定数ルールステップ表現142を選択し、それを蒸気流量ルールステップ180の下方までドラッグアンドドロップしてルールステップ186を形成し、次に、パレット102から第2の定数ルールステップ表現142を選択し、それを蒸気圧力ルールステップ182の下方へドラッグアンドドロップしてルールステップ188を形成する。これにより、図14に示すように、4つのルールステップ180、182、186、188がほぼ第1の縦列位置に入ることになる。同様に、ユーザは第1の未満ルールステップ表現116を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ190を形成し、次に、パレットから第2の未満ルールステップ表現116を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ192を形成する。これにより、第1の未満ルールステップ190と第2の未満ルールステップ192が第1の縦列位置の右側の第2の縦列位置にほぼ入ることになる。最後に、ユーザはパレットからブールORルールステップ表現126を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ194を形成する。これにより、ORルールステップ194は、第2の縦列位置の右側にあり且つ結果ルールステップ184が配置されている第5の縦列位置の左側にある第3の縦列位置にほぼ入ることになる。
【0096】
全てのルールステップがルールウィンドウ170の所定の場所に入ったならば、その後は定数の値を入力し、全てのステップを結合してカスタムルールを仕上げるだけで良い。
【0097】
図15を参照すると、ユーザは単に1つのルールの出力の場所でマウスボタンをクリックし、それをドラッグして、そのルールの右側にある縦列に配置されている別のルールの入力でマウスボタンを放すだけである。図15に示すように結合240、242、244、246、248、250及び252が獲得されるまで、このプロセスを繰り返す。このようにして完成したカスタムルールは、先に図2から図5に例示し且つそれらを参照して説明したように、特に、ルールステップ識別子及び結合の関数として格納される。尚、ルールが作成されると、生成ルールロジックウィンドウ172のテキストは自動的に更新され、全てのルール相互結合が完了したときのカスタムルールの完成済みカスタムルールテキストロジックを示す。
【0098】
ルールステップはその左側に位置するルールステップには結合不可能であるのが好ましい。言い換えれば、ルールステップの結合は一方向にのみ可能であるのが好ましい。どのルールステップも完全に自律的であり、各ルールステップは後続するルールステップの前に処理される。
【0099】
更に、カスタムルールが作成されるとき、カスタムルールモジュールは結合が有効であるか否かを知るために検査を実行し、無効であれば、モジュールは結合を作成しない。モジュールは、入力型と出力型を比較することにより何が結合可能であり、何が結合不可能であるかを知るようにプログラムされている。これに対し、コードが書き込まれる場合には、相互結合が不適正である場合にユーザに警告する手段は全く存在しない。
【0100】
完成後、カスタムルールがトリガされると、ユーザに対して実際の結果が示される。カスタムルール結果はイベントをトリガさせない部分結果を生成することもできる。更に、1つのルールが様々に異なる重大度を持つ複数のイベントをトリガさせることもありうる。また、イベントトリガ間でロジックパスを共用することが可能である。
【0101】
ユーザは、先に概要を説明したように、図形表示されるステップパレット又は行列102から多種多様なカスタムルールを作成することができる。図1から図3に戻って説明すると、本発明の好ましい一形態においては、ステップパレット又は行列102に図形表示されるルールステップ100は次の通りである。
【0102】
104により表される加算ルールステップ(Addition Rule Step)は数又はデータを加算する。ルールウィンドウに加算ルールステップ表現が配置される場合、その図形表現はその右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。左側の上下の入力からの全ての入力はその順序に関係なく全て加算され、結果は右側の出力で出力される。
【0103】
106により表される減算ルールステップ(Subtraction Rule Step)は数又はデータを減算する。ルールウィンドウに減算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数は減算プロセスの開始時に使用される最初の数であり、まず、最上位置の数から下方の1つの数を減算することにより結果を求め、その結果から下方の次の数を減算して次の結果を求め、減算すべき下方の数がなくなるまでこのプロセスを繰り返す。最終結果は右側の出力で出力される。
【0104】
108により表される乗算ルールステップ(Multiplication Rule Step)は数又はデータを乗算する。ルールウィンドウに乗算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。左側の上下の入力からの全ての入力はその順序に関わらず互いに乗算され、最終結果は右側の出力で出力される。
【0105】
110により表される除算ルールステップ(Division Rule Step)は数又はデータを除算する。ルールウィンドウに除算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数は除算プロセスの開始時に使用される最初の数であり、まず、下方にある何れかの数で最上位置の数を除算することにより商を求め、その商について次の除算を実行し、最後の商として除算すべき下方の数がなくなるまでこのプロセスを繰り返す。最終結果は右側の出力で出力される。
【0106】
112により表される等しいルールステップ(Equal Rule Step)は比較ステップとして機能する。ルールウィンドウに等しいルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数を下方の値の各々と比較し、真を保持するための等しい条件を満たすためには、下方の値の各々は最上位置の値と等しくなければならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0107】
114により表される等しくないルールステップ(Not Equal Rule Step)も比較ステップとして機能する。ルールウィンドウに等しくないルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するために等しくない条件を満たすためには、下方の値の各々は最上位置の値と等しくてはならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0108】
116により表される未満ルールステップ(Less Than Rule Step)も比較ステップとして機能する。ルールウィンドウに未満ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための未満条件を満たすためには、下方の値の各々は最上位置の値より小さくなければならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0109】
118により表される「以下」ルールステップ(Less Than Or Equal To Rule Step)も比較ステップとして機能する。ルールウィンドウに「以下」ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための以下条件を満たすためには、下方の値の各々は最上位置の値以下でなければならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0110】
120により表される「より大きい」ルールステップ(Greater Than Rule Step)も比較ステップとして機能する。ルールウィンドウに「より大きい」ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するためのより大きい条件を満たすためには、下方の値の各々は最上位置の値より小さくなければならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0111】
122により表される以上ルールステップ(Greater Than Or Equal To Rule Step)も比較ステップとして機能する。ルールウィンドウに以上ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための以上条件を満たすためには、下方の値の各々は最上位置の値以上でなければならない。例えば、真の場合は1、偽の場合は0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0112】
124により表されるブールANDルールステップ(Boolean AND Rule Step)は論理ステップとして機能する。ルールウィンドウにブールANDルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。真を保持するためのAND条件を満たすためには、全ての入力がある条件に適合しなければならないか、真でなければならないか、又は同じ値を有していなければならない。例えば、真を保持するAND条件の場合は論理値1、偽を保持するAND条件の場合には論理値0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0113】
126により表されるブールORルールステップ(Boolean OR Rule Step)も論理ステップとして機能する。ルールウィンドウにブールORルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。真を保持するためのOR条件を満たすためにはどの入力もある条件に適合しなければならないか、又は真でなければならない。例えば、真を保持するOR条件の場合は論理値1、偽を保持するOR条件の場合には論理値0の形態をとる真又は偽の最終値が右側の出力で出力される。
【0114】
128により表されるブールNOTルールステップ(Boolean NOT Rule Step)も論理ステップとして機能する。ルールウィンドウにブールNOTルールステップが配置された場合、その図形表現は右側に1つの出力、左側に1つの入力を含む。NOTルールステップは入力を反転させ、インバータルールステップとも呼ばれる。例えば、論理値1の形態をとる真の値がブールNOTルールステップの入力で入力されると、ブールNOTルールステップの出力では論理値0の形態をとる偽の値が出力される。
【0115】
130により表される最大値ルールステップ(Max Rule Step)は最大の値を有する入力値を発見し、それを出力する。ルールウィンドウに最大値ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最大値を発見するために全ての入力が処理され、最大値は右側の出力で出力される。
【0116】
132により表される最小値ルールステップ(Min Rule Step)は最小の値を有する入力値を発見し、それを出力する。ルールウィンドウに最小値ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯1つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最小値を発見するために全ての入力が処理され、最小値は右側の出力で出力される。
【0117】
134により表される絶対値ルールステップ(Absolute(Abs)Value Rule Step)は入力値の絶対値を発見し、それを出力する。ルールウィンドウに絶対値ルールステップが配置された場合、その図形表現は右側に1つの出力、左側に1つの入力を含む。絶対値を発見するために入力が処理され、絶対値は右側の出力で出力される。
【0118】
136により表されるスイッチルールステップ(Switch Rule Step)は最上位置の入力で入力された値を取り上げ、その値が真であれば、中央の値を出力し、偽であれば、最下方の入力を出力する。具体的には、ルールウィンドウにスイッチルールステップが配置された場合、その図形表現は右側に出力を含み、左側の最上位置の入力は唯1つの結合を処理することが可能であり、左側の中央の入力は唯1つの結合を処理することが可能であり、左側の最下方の入力は唯1つの結合を処理することが可能であるのが好ましい。
【0119】
138により表されるリストルールステップ(List Rule Step)は事項を数え上げとして分類する。使用中、例えば、ユーザが、まず、軸受などの分類から1つのアイテムを選択し、その結果、ルールステップウィンドウにオペランドステップが現れる。次に、ユーザはリストルールステップ及び等しいルールステップをルールウィンドウ内に配置する。次に、ユーザは軸受の分類とリストルールステップの双方を等しいルールステップに結合し、その結果、リストルールステップは個別に選択できる軸受と関連する値で満たされる。従って、ユーザは軸受などの要素と関連する全ての値を知っている必要がない。
【0120】
140により表されるF(X)ルールステップ(F(X)Rule Step)は、派生値を出力する出力ステップである。ユーザはある関数を定義し、それを個別のF(X)ルールとして格納する。あるいは、ユーザはあるルールの出力を個別のF(X)ルールとして格納することができる。例えば、あるルールが加算ルールステップに対する8つの入力を含んでおり、その出力が除算ルールステップで8で除算されたとすれば、平均値が求められ、それがF(X)ルールステップに入力され、次に格納され、後続するルールを構築する際にその値を使用することが可能になる。ルールウィンドウにF(X)ルールステップが配置された場合、その図形表現は右側に1つの入力、左側に定義される関数について要求される数の入力を含む。
【0121】
144により表されるテンプルールステップ(Temp Rule Step)は、更に入力ステップを選択するためにユーザを画面に引き戻す。
【0122】
146により表される真/偽ルールステップ(True/False Rule Step)は、ユーザによる定義に従って真又は偽の値を出力する出力ステップである。
【0123】
148により表されるルールステップは、他のルールで使用できる派生値である。
【0124】
150により表される結果ルールステップ(Result Rule Step)は、カスタムルールの結果を出力するルールステップである。
【0125】
図16から図28は、カスタムルールセットデータベース60に含まれるテーブル64の各々の好ましい一形態を示す。各テーブルは、少なくとも1つのフィールドを有する少なくとも1つのレコードを含む。
【0126】
詳細には、図16は、rule_group_id、rule_group_guid、group_priority、is_rule_group_active、rule_group_text_id、rule_group_text、rule_type、is_password_active及びrule_group_passwordの各フィールドから構成されるレコードを示すルールグループテーブル260を示す。
【0127】
rule_group_idはルールグループの一意の識別子である。書き込まれるルールは、いずれも、1つのグループを割り当てられる。ルールが所属するグループは、その優先権が一まとまりにされるルールの集合(ルールが実行される順序)、誰がそのルールを閲覧し、編集できるか、及びルールのグループが活動中であるか否かを判定する。rule_group_idはローカル識別子である。有効なルールグループを検証するために、データベース間でrule_group_guidが検査されなければならない。
【0128】
rule_group_guidは、ルールグループが作成されるときにルールグループに割り当てられるIDである。rule_group_guidは、異なるデータベースの間で一意のままに保持される固有の数である。1つのデータベースから別のデータベースへルールグループがコピーされる場合、それと共にresult_guidがコピーされる。
【0129】
group_priorityは、そのグループに所属する全てのルールが実行される優先順位である。全てのルールグループはgroup_priorityの順序で読み取られる。その後、各々のグループルールが実行される。例えば、group_priorityが1であれば、第1のグループのルールが実行され、group_priorityが32,767であるグループのルールが最後に実行されるべきルールとなる。
【0130】
is_rule_group_activeが真であるとき、そのルールグループ(rule_group_id)の一部であるルールの全てが実行されるべきである。is_rule_group_activeが偽であれば、そのルールグループ(rule_group_id)の一部であるルールはいずれも実行されるべきではない。
【0131】
rule_group_text_idは、そのルールグループを記述するために表示されるテキストのtext_idである。このテキストはrule_group_text_id<>0である場合に限りユーザに対して示される。rule_group_text_id=0である場合には、rule_group_textのテキストが使用されるべきである。
【0132】
rule_group_textは、そのルールグループを記述するために表示されるテキストである。このテキストは、rule_group_text_id=0である場合に限りユーザに対して示される。
【0133】
rule_type数え上げは、ルールがどの型として作成されたかを格納している。ユーザはシステム10により3種類の型のルールを作成できる。1つは他のどのルールでも使用できる派生値に対するものであり、1つは既存の結果重大度を再マッピングするものであり、もう1つはユーザ定義済みカスタム報告可能結果に対するものである。
【0134】
is_password_active数え上げは、rule_group_passwordが活動中である場合に真である。これは、いずれかのルール、派生値又はカスタムルールを閲覧又は編集するために、正しいパスワードを入力することによりルールグループを起動しなければならないことを意味している。
【0135】
rule_group_passwordは、そのグループのルール、カスタム結果及び派生値を閲覧し且つ編集する能力を起動するために入力しなければならないパスワードである。
【0136】
図17は、rule_id、beg_rule_conf_id、end_rule_conf_id、rule_text、rule_text_id、is_valid、is_active、is_deleted、rule_priority、rule_group_id、component_key及びnum_result_stepsの各フィールドから構成されるレコードを示すルールテーブル262を示す。
【0137】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールの変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。所定のrule_idに所属する全てのルールステップをこのようにして発見することができる。
【0138】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。尚、システム10で変更がなされるたびに、新たなrule_conf_idが作成されることに注意する。そこで、rule_conf_idは全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするために使用される。
【0139】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。尚、システム10で変更がなされるたびに、新たなrule_conf_idが作成されることに注意する。そこで、rule_conf_idは全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするために使用される。
【0140】
rule_textはルールの名前として表示されるテキストである。このテキストはrule_text_id=0である場合に限りユーザに対して示される。
【0141】
rule_text_idはルールの名前として表示されるテキストのtext_idである。このテキストはrule_text_id<>0である場合に限りユーザに対して示される。rule_text_id=0である場合には、rule_textのテキストが使用されるべきである。
【0142】
is_validはルールが良好であり、実行可能であることを表す。
【0143】
is_activeはルールが活動状態であり、ルール処理中に実行されるべきであることを表す。
【0144】
is_deletedはルールが削除されたことを表す。ルールはデータベースからは除去されないので、削除後もルールの履歴を示すことは可能である。
【0145】
rule_priorityはルールが実行されるべき順序を格納する。rule_priorityは所定のルールグループの中におけるルール処理の順序を指示するだけである。各ルールグループはgroup_priorityにより優先順位を定められる。1のrule_priorityは実行される第1のルールであり、2,147,483,648のrule_priorityは最後に実行されるべきルールである。
【0146】
rule_group_idはルールグループの一意の識別子である。書き込まれるどのルールも1つのグループを割り当てられる。あるルールが所属するグループはその優先順位がひとまとめにされているルールの集合(ルールが実行される順序)、誰がそのルールを閲覧し、編集することができるか、及びルールのグループが活動中であるか否かを判定する。
【0147】
component_keyはデータベース中のコンポーネントの一意の識別子である。
【0148】
num_result_stepsは所定のルール(rule_id)の結果ステップの数である。
【0149】
図18は、rule_id、beg_rule_conf_id、end_rule_conf_id、step_num、vert_position_num、horz_position_num及びoperation_idの各フィールドから構成されるレコードを示すルールステップテーブル264を示す。
【0150】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0151】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0152】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0153】
step_numは1つのルールにおける個々のルールステップの各々を識別するために使用される。step_numは追加される第1のステップに対応する1から始まり、ルールに追加される追加ステップごとに1増分される。step_numはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に1つのレコードを有し、作成されるときにstep_numを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、step_numは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【0154】
vert_position_numはルールステップの縦位置を格納する。これは、表示装置においてそのルールが表示される縦位置である。また、vert_position_numはルールステップ処理を順序付けるためにも使用される。horz_position_numはルール処理順序には最も重要である。
【0155】
horz_position_numはルールステップの横位置を格納する。これは、表示装置においてそのルールが表示される横位置である。horz_position_numはルールステップ処理を順序付けるために使用される主要な値である。同じhorz_position_numを有する全てのルールステップはどのような順序でも処理が可能である。
【0156】
operation_idは支援される演算ごとの識別子である。カスタムルールプロセッサにおいて支援される演算の種類ごと(加算、減算など)に1つのレコードが存在する。
【0157】
図19は、rule_id、beg_rule_conf_id、end_rule_conf_id、connection_num、from_step_num、from_output_num、to_step_num及びto_input_numの各フィールドから構成されるレコードを示すルール結合テーブル266を示す。
【0158】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0159】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0160】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0161】
connection_numはルールにおける結合の番号を格納する。これはルールにおける結合を探索するための基本キーの一部である。結合はルールステップ出力からルールステップ入力へ行われる。ルール中のどの結合も独自のconnection_numを獲得する。
【0162】
from_step_numは結合の出力側を有するルールステップのstep_numである。
【0163】
from_output_numは結合が結合されるルールステップ出力のoutput_numである。
【0164】
to_step_numは結合の入力側を有するルールステップのstep_numである。
【0165】
to_input_numは結合が結合されるルールステップ入力のinput_numである。
【0166】
図20は、rule_id、beg_rule_conf_id、end_rule_conf_id、step_num、input_num、value_type及びstep_input_enum_idの各フィールドから構成されるレコードを示すルールステップ入力テーブル268を示す。
【0167】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0168】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0169】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。ルールデスクにおいて変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0170】
step_numは1つのルールにおける個々のルールステップの各々を識別するために使用される。step_numは追加される第1のステップに対応する1から始まり、ルールに追加される追加ステップごとに1増分される。step_numはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に1つのレコードを有し、作成されるときにstep_numを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、step_numは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【0171】
各ルール演算は複数の入力を有することが可能である。input_numはレコードデータがどの入力を記述しているかを識別する。
【0172】
value_typeはルールステップに入る又はルールステップから出る値の型を格納する。これは値を検索し且つ新たなルールを作成するときに適正な結合接続を検証するために使用される。
【0173】
step_input_enum_idはルールステップ入力のenum_idである。0であるstep_input_enum_idは、その入力が数え上げ値ではないことを指示する。
【0174】
図21は、rule_id、beg_rule_conf_id、end_rule_conf_id、step_num、output_num、value_type、b_value、f_value、i_value、e_value、units、sub_units、filed_id、component_key、step_output_enum_id及びloop_numの各フィールドから構成されるレコードを示すルール出力テーブル270を示す。
【0175】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0176】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0177】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0178】
step_numは1つのルールにおける個々のルールステップの各々を識別するために使用される。step_numは追加される第1のステップに対応する1から始まり、ルールに追加される追加ステップごとに1増分される。step_numはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に1つのレコードを有し、作成されるときにstep_numを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、step_numは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【0179】
各ルール演算は複数の出力を有することが可能である。output_numはレコードデータがどの出力を記述しているかを識別する。
【0180】
value_typeはルールステップに入る又はルールステップから出る値の型を格納する。これは値を検索し且つ新たなルールを作成するときに適正な結合接続を検証するために使用される。
【0181】
b_valueは、value_typeがブールである場合のルールステップ出力の値である。
【0182】
f_valueは、value_typeが浮動である場合のルールステップ出力の値である。
【0183】
i_valueは、value_typeが整数である場合のルールステップ出力の値である。value_typeが数え上げであれば、i_valueにはenum_valueの数が格納される。
【0184】
e_valueは、value_typeが数え上げである場合のルールステップ出力のenum_id値である。実際の数え上げのルックアップのためのenum_valueはi_valueになるであろう。
【0185】
unitsはルールステップ出力が格納されたときのユニット型である。これはユニット型を検証するため又はユニット型の変換のために使用できる。これは、クラスベースルールが追加される場合にのみ必要になる確率が最も高いであろう。
【0186】
sub_unitsはルールステップ出力が格納されたときのsub_unit型である。これはサブユニット型を検証するため又はサブユニット型の変換のために使用できる。これは、クラスベースルールが追加される場合にのみ必要になる確率が最も高いであろう。
【0187】
field_idはデータベースにおける特定の1つのフィールドを指定するために使用される番号である。この番号は、フィールドテーブルに対してフィールド情報を読み取り及び書き込みすることができるように関連データをルックアップするために使用できる。
【0188】
component_keyはデータベース中のコンポーネントの一意の識別子である。
【0189】
step_output_enum_idはルールステップ出力のenum_idである。0の値を有するstep_output_enum_idは、出力が数え上げ値ではないことを指示する。
【0190】
loop_numは、2つ以上が利用可能である場合のフィールドの番号である。その一例は排気温度に対応するものであろう。タービンの排気温度として複数の温度が存在することは可能である。loop_numは排気温度ポイントの番号になるであろう。
【0191】
図22は、rule_id、beg_rule_conf_id、end_rule_conf_id、step_num、result_type、multiple_severities、create_severity_0_result、auto_staus_checking及びno_resultの各フィールドから構成されるレコード示す結果ステップテーブル272を示す。
【0192】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0193】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0194】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0195】
step_numは1つのルールにおける個々のルールステップの各々を識別するために使用される。step_numは追加される第1のステップに対応する1から始まり、ルールに追加される追加ステップごとに1増分される。step_numはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に1つのレコードを有し、作成されるときにstep_numを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、step_numは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【0196】
result_typeは、報告可能な結果を識別するためにシステム10で使用される数である。result_typeは結果のローカルニックネームにより似ている。この数は異なるデータベースにおいては同じ型の結果に対しても異なることがある。result_guidは、データベース間で結果を確実に識別するために使用できる一意の数である。
【0197】
multiple_severitiesはユーザにより選択可能である。ユーザが1つの結果ステップによって複数の重大度レベルをトリガできるようにすることを希望する場合、ルールステップの特性における複数の重大度をイネーブルする。ユーザが多重重大度オプションを選択し、起動した場合に、multiple_severitiesは真である。
【0198】
create_severity_0_resultはユーザにより選択可能である。create_severity_0_resultが真である場合、ユーザは重大度0の結果を作成させることを選択していたことになる。
【0199】
auto_staus_checkingはユーザにより選択可能である。auto_staus_checkingが真である場合、ユーザは全ての値の自動状態検査をルールにおいて使用させることを選択していたことになる。ルールで使用すべき変数のいずれかが使用不可能であれば、0の重大度が作成、表示され、データ充足結果も作成される。
【0200】
no_resultは、その値が真であると評価された場合に結果を作成しなくても良い入力を示すべきか否かを指示するためのフラグである。
【0201】
図23は、rule_id、beg_rule_conf_id、end_rule_conf_id、step_num及びderived_value_idの各フィールドから構成されるレコードを示す派生値ステップテーブル274を示す。
【0202】
rule_idはルールごとの一意の識別子である。beg_rule_conf_id及びend_rule_conf_idを使用することにより、ルールに対する変更を追跡できる。rule_idは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のrule_idに所属する全てのルールステップを発見することができる。
【0203】
beg_rule_conf_idは、ルール又はルールステップが作成されたときの最新のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにrule_conf_idが使用される。
【0204】
end_rule_conf_idは、ルール又はルールステップが有効である最前のrule_conf_idを格納する。システム10において変更がなされるたびに、新たなrule_conf_idが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにrule_conf_idが使用される。
【0205】
step_numは1つのルールにおける個々のルールステップの各々を識別するために使用される。step_numは追加される第1のステップに対応する1から始まり、ルールに追加される追加ステップごとに1増分される。step_numはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に1つのレコードを有し、作成されるときにstep_numを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、step_numは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【0206】
derived_value_idは、派生値を識別するためにシステムで使用される番号である。derived_value_idは派生値のローカルニックネームにより似ている。この番号は異なるデータベースであれば同じ型の派生値に対しても異なることがある。derived_value_guidは、データベース間で派生値を確実に識別するために使用できる一意の番号である。
【0207】
図24は、system_options_key、database_major_version、database_minor_version及びdatabase_custom_versionの各フィールドから構成されるレコードを示すシステムオプションテーブル276を示す。
【0208】
system_options_keyはシステムオプションテーブルの基本キーである。このテーブルは唯1つのレコードを有するべきである。
【0209】
database_major_versionはデータベースのメジャーバージョンである。データベースに対する大きな変更が起こった場合、メジャーバージョンをロールすることができる。
【0210】
database_minor_versionはデータベースのマイナーバージョンである。データベースに対する小さな変更が起こった場合、マイナーバージョンをロールすることができる。database_major_versionが増分されるたびに、database_minor_versionは1に戻されるべきである。
【0211】
database_custom_versionはデータベースのカスタムバージョンである。データベースのカスタムバージョンを作成する場合、これらの変更をdatabase_custom_versionによって識別することができる。
【0212】
図25は、component_type、ancestor_conponent_type及びancestor_levelの各フィールドから構成されるレコードを示すクラス階層テーブル278を示す。
【0213】
component_typeはコンポーネントの型を格納する。レンジ内で定義されるあらゆるコンポーネントを定義するために「Component Type」テーブルには1つのエントリが存在していなければならない。
【0214】
ancestor_component_typeは、収集中データベースからcomponent_typeが継承するコンポーネントの型を格納する。
【0215】
ancestor_levelは、ancsstor_component_typeが先祖ツリーのどれほどの高さにあるかを示す。1の値を有するancestor_levelは、親ancestor_component_typeである。2の値を有するancestor_levelは、祖父母ancestor_component_typeなどである。
【0216】
図26は、text_id及びenglish_textの各フィールドから構成されるレコードを示す英文テキストテーブル280を示す。
【0217】
text_idは別個のDLLにおいてストリングテーブルの実際のテキスト値をルックアップするために使用される数である。text_idは国際化をより容易にするために使用される。
【0218】
次のことに注意すべきである。
【0219】
text_idはデータベースにおいて実際のテキストの代わりに使用される。システム10がテキスト識別子を使用する理由は、識別子がデータベースにおいてテキストを1つの数として定義できるのに対し、実際のテキストは言語モジュールにストリングテーブルとして格納されるからである。これは国際化のために実行される。データベースに我々のテキストを挿入しようとすれば、システム10の国際化に関して問題を生じるであろう。
【0220】
開発者又はユーザのいずれかにより入力可能であるテキスト値はtext_idと、正規テキストフィールドの双方を含む。この場合、常にtext_idフィールドを見ることによりスタートすることができる。text_idフィールド<>0であれば、言語モジュールの値をルックアップすることになるであろう。text_id=0であれば、ユーザにより打ち込まれた実際のテキストフィールドの値が使用されるであろう。
【0221】
text_idを使用しないと、次のようないくつかの問題が発生するであろう。
【0222】
データベースが日本語に翻訳される場合、全てのテキストは日本語になるであろう。これは、ユーザが英語バージョンのディスプレイモジュールを有している場合であっても起こるであろう。
【0223】
翻訳グループがデータベースにおいて何のテキストを翻訳する必要があるかを了解することがより困難になるであろう。ここで実行すべきことは、ツールを使用して、1ストリングテーブルで全てのテキストを翻訳するだけである。これははるかに容易であり、より信頼性も高い。
【0224】
もう1つの利点は、数をストリング全体ではなく、1つの結合を介して送り出すだけで良いということである。これにより、モデムを介して接続された場合の性能を大幅に改善することができる。
【0225】
english_textは、text_idの英語バージョンにあるテキストのコピーである。このフィールドは決して直接に使用されてはならない。このフィールドは参照のためのフィールドである。ストリングテーブルにストリングが存在しない場合、text_idはこのテーブルから値を戻すことができる。これは、旧バージョンのtext_idがより新しいバージョンのデータベースと共に使用されている場合に限って起こるべきである。これは、ユーザのシステムのtext_idが値を有していないtext_idを有するデータベースに日本語バージョンのシステム10が接続された場合に、ブランクを戻すのではなく、その代わりに英語バージョンのテキストを戻すことができるような能力である。
【0226】
従って、本質的には、テキストは国際化が可能であるようにテキスト識別番号(text_id番号)として格納される。テキスト識別番号は数を様々に異なる型のテキスト、例えば、1つの文字、1つの記号、1つの数、1つの語、あるいは文字のストリング、記号のストリング、数のストリング及び/又は語のストリングと関連付ける。そこで、コードを使用して、テキストとしてシステム10に戻される数を言語モジュールに送信することができ、それにより、データベース中の全てのテキストをテキスト識別番号として書き込み且つ格納することが可能になり、それらのテキスト識別番号は、後に、任意の言語で書き表すことができるデータベースを獲得するためにテキストの文字を格納されているテキスト識別番号と関連付けるコードにより容易に翻訳されることが可能である。
【0227】
図27は、text_id及びenglish_memo_textの各フィールドから構成されるレコードを示す英語メモテキストテーブル282を示す。
【0228】
text_idは、別個の言語モジュールにおいてストリングテーブルの実際のテキスト値をルックアップするために使用される番号である。text_idは国際化をより容易にするために使用される。
【0229】
english_memo_textはテキストがenglish_textフィールドに当てはめるには大きすぎる場合にのみ使用され、text_idの英語バージョンにあるテキストのコピーである。このフィールドは決して直接に使用されてはならない。このフィールドは参照のためのフィールドである。ストリングテーブルにストリングが存在しない場合、text_idはこのテーブルから値を戻すことができる。これは、旧バージョンのtext_idがより新しいバージョンのデータベースと共に使用されている場合に限って起こるべきである。これは、ユーザのシステムのtext_idが値を有していないtext_idを有するデータベースに日本語バージョンのシステム10が接続された場合に、ブランクを戻すのではなく、その代わりに英語バージョンのテキストを戻すことができるような能力である。
【0230】
図28は、property_texts_id、pp_text_id、ds_text_id、rack_text_id、mon_text_id、chan_text_id及びt_text_idの各フィールドから構成されるレコードを示す特性テキストテーブル284を示す。
【0231】
property_texts_idは、特性値ごとにtext id値を含むレコードの一意の識別子である。
【0232】
pp_text_idは、全てのpp_値の集合を記述するために使用されるtext idである。
【0233】
ds_text_idは、全てのds_値の集合を記述するために使用されるtext idである。
【0234】
rack_text_idは、全てのrack_値の集合を記述するために使用されるtext idである。
【0235】
mon_text_idは、全てのmon_値の集合を記述するために使用されるtext idである。
【0236】
chan_text_idは、全てのchan_値の集合を記述するために使用されるtext idである。
【0237】
t_text_idは、全てのt_値の集合を記述するために使用されるtext idである。
【0238】
更に、本発明を説明したが、以上説明し且つ特許請求の範囲により記載されるような本発明の範囲及び適正な趣旨から逸脱せずに数多くの構造上の変形及び適応を実施できることは明白なはずである。
【図面の簡単な説明】
【図1】 カスタムルールがルールステップとして格納されているデータベースを含む本発明によるカスタムルールシステムの概略図。
【図2】 本発明に従ってルールウィンドウビュー、ルールステップテーブルビュー及び生成ルールロジックビューを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図3】 本発明による、図2に示すルールステップテーブルビューの拡大図。
【図4】 本発明によるデータベーススキーマを示す図。
【図5】 本発明による、図4に示すデータベーススキーマと関連するテーブルを示す図。
【図6】 機械装置及びプロセスの多岐にわたるグループ分けを含む工業プラント資産を保護し且つ管理するための資産管理システムと共に採用されるべきカスタムルールシステムの概略図。
【図7】 本発明に従ってカスタムルールを作成すべき機械車、機械又は構成要素の階層ツリー図を有するダイアログボックスを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図8】 選択された機械列、機械又は構成要素が示されているダイアログボックスと、本発明に従って作成されるべきカスタムルールについて示すべき初期値を選択するための複数のカテゴリを有するダイアログとを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図9】 本発明によるルールウィンドウビュー、初期ルールステップ、ルールステップテーブルビュー及び生成ルールロジックビューを含むカスタムインタフェースビューを含む統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図10】 図を明確にするためにルールステップテーブルビューが示されておらず、本発明に従ってルールウィンドウビューに未定義結果ステップが追加され且つ生成ルールロジックビューに対応する論理が示されている図9に示したのと同様のスクリーンショット図。
【図11】 図10に示す未定義結果ステップの特性パラメータを定義するときに統一化グラフィカルユーザインタフェースに表示される特性ダイアログボックスを示す図。
【図12】 図10に示す未定義結果ステップの結果パラメータを定義するときに統一化グラフィカルユーザインタフェースに表示される結果ダイアログボックスを示す図。
【図13】 未定義結果ステップが蒸気問題結果として定義されており、重大度レベルは2から3に変更され、且つ本発明に従って生成ルールロジックビューに対応する論理が示されている図10に示したのと同様のスクリーンショット図。
【図14】 ルールウィンドウビューに追加のルールステップが追加されている図13に示したのと同様のスクリーンショット図。
【図15】 本発明に従って全てのルールステップが互いに結合されることにより、カスタムルールの作成が完了し、生成ルールロジックビューに完成したルールロジックがテキストの形で示されている図14に示したのと同様のスクリーンショット図。
【図16】 レコード及びそれに含まれるフィールドを含むルールグループテーブルを示す図。
【図17】 レコード及びそれに含まれるフィールドを含むルールテーブルを示す図。
【図18】 レコード及びそれに含まれるフィールドを含むルールステップテーブルを示す図。
【図19】 レコード及びそれに含まれるフィールドを含むルール結合テーブルを示す図。
【図20】 レコード及びそれに含まれるフィール江尾を含むルールステップ入力テーブルを示す図。
【図21】 レコード及びそれに含まれるフィールドを含むルール出力テーブルを示す図。
【図22】 レコード及びそれに含まれるフィールドを含む結果ステップテーブルを示す図。
【図23】 レコード及びそれに含まれるフィールドを含む派生値ステップテーブルを示す図。
【図24】 レコード及びそれに含まれるフィールドを含むシステムオプションテーブルを示す図。
【図25】 レコード及びそれに含まれるフィールドを示すクラス階層テーブルを示す図。
【図26】 レコード及びそれに含まれるフィールドを含む英文テキストテーブルを示す図。
【図27】 レコード及びそれに含まれるフィールドを含む英文メモテキストテーブルを示す図。
【図28】 レコード及びそれに含まれるフィールドを含む特性テキストテーブルを示す図。
【符号の説明】
10…カスタムルールシステム、20…プロセッサ、22…メモリ、24…読み取り専用メモリ(ROM)、26…読み取り/書き込みメモリ(R/WM)、28…格納メモリ、30…オペレーティングシステム、32…シェル、34…アプリケーションプログラム、40…カスタムルールモジュール、42…入力装置、44…マウス、46…キーボード、48…グラフィカルユーザインタフェース、50…ディスプレイモジュール、52…出力装置、54…表示装置、60…カスタムルールセットデータベースモジュール、62…ユーザ作成カスタムルール(テーブル)、64…テーブル、66…レコード、68…フィールド、70…ステップ、72…データベース、82…システムバス、90…情報抽出モジュール、92…データ収集装置、94…センサ、96…資産、100…ルールステップ
Claims (3)
- 資産を保護し且つ管理するためのカスタムルールを作成するカスタムルールシステムにおいて、
各々がそれに関連する特定の実行可能コードを有する多数のオペランドおよび演算ルールステップから構成されているデータベースと、
前記データベースに動作結合され、前記データベースに格納された前記多数のオペランドおよび演算ルールステップの図形表現を、表示装置の第1のウィンドウに表示され且つそれぞれが前記多数のオペランドおよび演算ルールステップのうちの少なくとも1つに対応する多数の個々の図形オペランドおよび演算表現のアレイとして、ユーザに表示する前記表示装置を含むコンピュータと、
前記表示装置にルールウィンドウを表示する手段と、
ユーザが順序付けした一連の選択且つ配置された図形表現として、前記アレイから前記ルールウィンドウに複数の前記多数の個々の図形オペランドおよび演算表現を選択および配置するための、前記第1のウィンドウに表示された前記アレイに、ユーザがインターフェイスするための手段と、
前記ユーザが順序付けした一連の選択、配置且つ互いに結合された図形表現により定義されたユーザ作成カスタムルールが作成されるように、ユーザが前記複数の選択且つ配置された図形表示をユーザが互いに結合するための手段と、
前記ユーザが順序付けした一連の選択、配置且つ互いに結合された図形表現に対応する順序づけられた一連のオペランドおよび演算ルールステップとして前記ユーザ作成カスタムルールを、前記データベースに格納する手段と、
前記資産を監視するセンサから生成される情報を抽出する抽出モジュールと、前記抽出モジュールと前記データベースに動的結合され、前記ユーザが順序付けた一連の選択、配置且つ互いに結合された図形表現と同じ順序にしたがって、前記ユーザ作成カスタムルールが処理されるように、前記データベースに格納された順序と同じ順序で前記オペランドおよび演算ルールステップを処理するプロセッサと、
を組み合わせて具備し、
前記ユーザ作成カスタムルールの最後のステップは、前記処理の結論および重大度を含む決定を含み、
前記ユーザ作成カスタムルールの前記処理に基づいた前記決定を、前記資産および前記重大度に応じて適切な職員へ経路指定する手段を更に具備する、
カスタムルールシステム。 - 前記データベースに格納され、前記ルールウィンドウに表示された前記複数の選択および配置された図形表現のそれぞれに対応するオペランドおよび演算ルールステップとそれぞれ関連する前記特定の実行可能コードを参照するステップ参照を、さらに含む請求項1に記載のカスタムルールシステム。
- 前記データベース内に格納された複数のテーブルであって、各々が複数のフィールドを含む少なくとも1つのレコードとを有し、前記複数のフィールドが、前記ユーザによって作成されたユーザ選択、配置且つ互いに結合された図形表現のそれぞれに対応するオペランドおよび演算ルールステップとそれぞれ関連する前記ステップ参照を含む、テーブルをさらに含む請求項1に記載のカスタムルールシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/663,325 | 2000-09-15 | ||
US09/663,325 US6934696B1 (en) | 2000-09-15 | 2000-09-15 | Custom rule system and method for expert systems |
PCT/US2001/027106 WO2002023376A1 (en) | 2000-09-15 | 2001-08-31 | Custom rule system and method for expert systems |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004509411A JP2004509411A (ja) | 2004-03-25 |
JP2004509411A5 JP2004509411A5 (ja) | 2008-11-06 |
JP5014559B2 true JP5014559B2 (ja) | 2012-08-29 |
Family
ID=24661336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002527956A Expired - Fee Related JP5014559B2 (ja) | 2000-09-15 | 2001-08-31 | エキスパートシステムのためのカスタムルールシステム及びその方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6934696B1 (ja) |
EP (1) | EP1320807A4 (ja) |
JP (1) | JP5014559B2 (ja) |
KR (1) | KR100987876B1 (ja) |
CN (1) | CN1328685C (ja) |
AU (1) | AU2001286953A1 (ja) |
CA (1) | CA2421611C (ja) |
IL (1) | IL154890A0 (ja) |
WO (1) | WO2002023376A1 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6535883B1 (en) | 1999-08-04 | 2003-03-18 | Mdsi Software Srl | System and method for creating validation rules used to confirm input data |
WO2002008951A1 (de) * | 2000-07-22 | 2002-01-31 | Abb Research Ltd. | System und verfahren zur generierung eines xml-basierten fehlermodells |
US7027446B2 (en) * | 2001-07-18 | 2006-04-11 | P-Cube Ltd. | Method and apparatus for set intersection rule matching |
US7512555B2 (en) * | 2001-11-13 | 2009-03-31 | Gregory M Finn | Investment management tool |
US7565377B2 (en) * | 2001-12-05 | 2009-07-21 | Robert Michael Watson | Artificially intelligent fulfillment system |
US8356085B2 (en) * | 2003-06-20 | 2013-01-15 | Alcatel Lucent | Automated transformation of specifications for devices into executable modules |
US7231396B2 (en) * | 2003-07-24 | 2007-06-12 | International Business Machines Corporation | Data abstraction layer for a database |
CN100364743C (zh) * | 2003-11-12 | 2008-01-30 | 青岛高校软控股份有限公司 | 橡胶密炼生产过程的故障监测与专家系统及其使用方法 |
CN100403301C (zh) * | 2003-11-12 | 2008-07-16 | 青岛高校软控股份有限公司 | 一种排胶工艺控制知识库的应用方法 |
US9177248B2 (en) | 2005-03-30 | 2015-11-03 | Primal Fusion Inc. | Knowledge representation systems and methods incorporating customization |
US8965949B2 (en) * | 2005-04-29 | 2015-02-24 | Xerox Corporation | System and method for applying computational knowledge to device data |
US8185455B2 (en) * | 2005-09-30 | 2012-05-22 | At&T Intellectual Property I, L.P. | Auditing system with interactive rule construction user interface |
US7525443B2 (en) * | 2005-12-01 | 2009-04-28 | General Electric Company | Method and apparatus for machine state quantification in machinery management systems |
US20080040466A1 (en) * | 2006-06-22 | 2008-02-14 | Sun Microsystems, Inc. | System and method for object-oriented meta-data driven instrumentation |
WO2008110411A1 (en) * | 2007-03-14 | 2008-09-18 | International Business Machines Corporation | Automatic formatting of computer program source code |
AU2016202201B2 (en) * | 2007-04-10 | 2017-07-20 | Ab Initio Technology Llc | Editing and compiling business rules |
US8170972B2 (en) * | 2007-05-02 | 2012-05-01 | General Electric Company | Conflicting rule resolution system |
US8782547B2 (en) * | 2007-08-20 | 2014-07-15 | Honeywell International Inc. | Configurable building control system display |
US8332772B2 (en) * | 2007-10-12 | 2012-12-11 | Business Objects Software Limited | Providing structured visualizations of expressions in an expressions editor |
WO2009091370A1 (en) * | 2008-01-17 | 2009-07-23 | Hewlett-Packard Development Company, L.P. | Device software customization |
US20100107096A1 (en) * | 2008-10-25 | 2010-04-29 | Guy Mor | Generic Visually Enhanced Platform For Aiding Decision Making Processes |
US10474647B2 (en) | 2010-06-22 | 2019-11-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
US9235806B2 (en) | 2010-06-22 | 2016-01-12 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
CN102156424A (zh) * | 2010-12-09 | 2011-08-17 | 广东高新兴通信股份有限公司 | 一种自定义事件及处理规则的传感系统及其处理方法 |
US9164576B2 (en) * | 2011-09-13 | 2015-10-20 | Apple Inc. | Conformance protocol for heterogeneous abstractions for defining user interface behaviors |
CN102354283A (zh) * | 2011-09-20 | 2012-02-15 | 天津智康医疗科技有限公司 | 规则库的构建方法和利用该规则库进行数据检查的方法 |
CN102346668A (zh) * | 2011-09-20 | 2012-02-08 | 天津智康医疗科技有限公司 | 构建规则库的设备 |
EP2879081A1 (en) * | 2012-07-24 | 2015-06-03 | Nec Corporation | Rule management device, rule management method, and program |
US9665090B2 (en) * | 2012-07-24 | 2017-05-30 | General Electric Company | Systems and methods for rule-based control system reliability |
WO2014036631A1 (en) * | 2012-09-10 | 2014-03-13 | Primal Fusion Inc. | Methods and devices for customizing knowledge representation systems |
CN103838554B (zh) | 2012-11-21 | 2017-12-12 | 腾讯科技(北京)有限公司 | 一种互动活动的生成方法和装置 |
US9912733B2 (en) | 2014-07-31 | 2018-03-06 | General Electric Company | System and method for maintaining the health of a control system |
US10127557B2 (en) * | 2016-03-25 | 2018-11-13 | Accenture Global Solutions Limited | Dynamic offline card authorization |
EP3441918A1 (en) * | 2017-08-09 | 2019-02-13 | Siemens Aktiengesellschaft | System and method for plant efficiency evaluation |
US11610059B2 (en) * | 2018-12-07 | 2023-03-21 | Interject Data System, Inc. | Systems and methods for a visual interface for grid-based programs |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0650442B2 (ja) | 1983-03-09 | 1994-06-29 | 株式会社日立製作所 | 設備群制御方法およびシステム |
US4591983A (en) | 1984-07-09 | 1986-05-27 | Teknowledge, Inc. | Hierarchical knowledge system |
US4644479A (en) | 1984-07-31 | 1987-02-17 | Westinghouse Electric Corp. | Diagnostic apparatus |
JPS61218323A (ja) | 1985-03-20 | 1986-09-27 | 株式会社東芝 | 事故判定方法 |
US4858102A (en) | 1985-07-19 | 1989-08-15 | El Paso Technologies Company | Distributed logic control system and method |
US5189604A (en) | 1985-07-19 | 1993-02-23 | El Paso Technologies Company | Distributed logic control system and method |
US4719586A (en) | 1985-11-01 | 1988-01-12 | Moyer Process And Control Company, Inc. | Manufacturing process control |
US4803039A (en) | 1986-02-03 | 1989-02-07 | Westinghouse Electric Corp. | On line interactive monitoring of the execution of process operating procedures |
US4815014A (en) | 1987-02-27 | 1989-03-21 | Westinghouse Electric Corp. | Machine assisted execution of process operating procedures |
JPS6424719A (en) | 1987-07-20 | 1989-01-26 | Komatsu Mfg Co Ltd | Controlling apparatus for injection molding machine |
JPS6481010A (en) | 1987-09-22 | 1989-03-27 | Fanuc Ltd | Expert system for machine tool containing nc device |
US4855923A (en) | 1988-01-06 | 1989-08-08 | Xerox Corporation | Parts assembly using signature analysis |
US4853175A (en) | 1988-03-10 | 1989-08-01 | The Babcock & Wilcox Company | Power plant interactive display |
US5249260A (en) | 1988-08-12 | 1993-09-28 | Hitachi, Ltd. | Data input system |
JPH07100262B2 (ja) | 1988-10-07 | 1995-11-01 | 三菱電機株式会社 | 放電加工終了判定方法及びその装置 |
US5099436A (en) | 1988-11-03 | 1992-03-24 | Allied-Signal Inc. | Methods and apparatus for performing system fault diagnosis |
US5068080A (en) | 1989-02-07 | 1991-11-26 | Westinghouse Electric Corp. | Operation state responsive automatic display selection system |
EP0389990B1 (en) | 1989-03-25 | 1995-03-01 | Mazda Motor Corporation | Breakdown diagnosing method of production line |
JPH0692914B2 (ja) | 1989-04-14 | 1994-11-16 | 株式会社日立製作所 | 機器/設備の状態診断システム |
US5119318A (en) | 1989-04-17 | 1992-06-02 | Del Partners L.P. | Expert control system for real time management of automated factory equipment |
US5390287A (en) | 1989-04-26 | 1995-02-14 | Obata; Takashi | Deduction inference system for solving complex propositional logic problems in response to signals from a plurality of system sensors |
ATE180336T1 (de) | 1989-09-01 | 1999-06-15 | Amdahl Corp | Betriebssystem und datenbank mit einer aus mehreren tabellen geformten zugriffsstruktur |
JPH03186930A (ja) * | 1989-12-16 | 1991-08-14 | Kubota Corp | エキスパートシステム |
US5355444A (en) | 1990-01-23 | 1994-10-11 | International Business Machines Corporation | Expert system wtih a plurality of independent knowledge bases |
US5161110A (en) | 1990-02-27 | 1992-11-03 | Atlantic Richfield Company | Hierarchical process control system and method |
US5870308A (en) | 1990-04-06 | 1999-02-09 | Lsi Logic Corporation | Method and system for creating and validating low-level description of electronic design |
JP3049561B2 (ja) | 1990-05-21 | 2000-06-05 | 東洋通信機株式会社 | プロダクションシステムとプロダクションシステムの変換装置 |
EP0460892B1 (en) | 1990-06-04 | 1996-09-04 | Hitachi, Ltd. | A control device for controlling a controlled apparatus, and a control method therefor |
US5216612A (en) | 1990-07-16 | 1993-06-01 | R. J. Reynolds Tobacco Company | Intelligent computer integrated maintenance system and method |
JP2534392B2 (ja) | 1990-09-21 | 1996-09-11 | 三田工業株式会社 | 画像形成装置のための自己診断および自己修復システム |
US5214577A (en) | 1990-10-24 | 1993-05-25 | Osaka Gas Co., Ltd. | Automatic test generation for model-based real-time fault diagnostic systems |
JP3100406B2 (ja) | 1991-03-06 | 2000-10-16 | ジヤトコ・トランステクノロジー株式会社 | 工作機械の故障予知装置 |
US5251144A (en) | 1991-04-18 | 1993-10-05 | Texas Instruments Incorporated | System and method utilizing a real time expert system for tool life prediction and tool wear diagnosis |
JP3043897B2 (ja) | 1991-05-15 | 2000-05-22 | 株式会社東芝 | プラント運転支援装置 |
FI100412B (fi) | 1991-05-21 | 1997-11-28 | Valmet Paper Machinery Inc | Järjestelmä paperikoneen puristinosassa puristushuopien kulun valvonna ssa ja ohjauksessa |
EP0525258A1 (en) | 1991-07-29 | 1993-02-03 | International Business Machines Corporation | Generation of rules-based computer programs |
JP2505082B2 (ja) | 1991-12-19 | 1996-06-05 | 哲男 冨山 | 機能冗長系を備えた機械システム |
FR2692037B1 (fr) | 1992-06-03 | 1997-08-08 | Thomson Csf | Procede de diagnostic d'un processus evolutif. |
CA2107051A1 (en) | 1992-09-28 | 1994-03-29 | Praxair Technology, Inc. | Knowledge based diagnostic advisory system and method |
JP2505974B2 (ja) | 1992-12-08 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 複数の適用業務プログラムを統合化グラフィカル・ユ―ザ・インタフェ―ス処理環境へ統合化するための方法 |
US5398304A (en) | 1992-12-22 | 1995-03-14 | Mitsubishi Denki Kabushiki Kaisha | Control process for artificial intelligence software shell |
US5412756A (en) | 1992-12-22 | 1995-05-02 | Mitsubishi Denki Kabushiki Kaisha | Artificial intelligence software shell for plant operation simulation |
US5402526A (en) | 1993-01-05 | 1995-03-28 | Mitsubishi Denki Kabushiki Kaisha | Interruptibility/priority control scheme for artificial intelligence software shell |
US6002854A (en) | 1993-03-29 | 1999-12-14 | Trilogy Developmetn Group, Inc. | Method and apparatus for configuring systems |
JPH06331781A (ja) | 1993-05-26 | 1994-12-02 | Toshiba Corp | プラント状態表示装置 |
US5406502A (en) | 1993-06-29 | 1995-04-11 | Elbit Ltd. | System and method for measuring the operation of a device |
US5521844A (en) | 1993-09-10 | 1996-05-28 | Beloit Corporation | Printing press monitoring and advising system |
US5463567A (en) | 1993-10-15 | 1995-10-31 | Caterpillar Inc. | Apparatus and method for providing historical data regarding machine operating parameters |
US5442562A (en) | 1993-12-10 | 1995-08-15 | Eastman Kodak Company | Method of controlling a manufacturing process using multivariate analysis |
US5506952A (en) * | 1994-01-03 | 1996-04-09 | International Business Machines Corporation | Method and system for guiding the formation of a correctly structured instruction for data processing systems |
AU693912B2 (en) | 1994-06-22 | 1998-07-09 | Bruce G. Molloy | A system and method for representing and retrieving knowledge in an adaptive cognitive network |
US5561610A (en) | 1994-06-30 | 1996-10-01 | Caterpillar Inc. | Method and apparatus for indicating a fault condition |
US5630025A (en) | 1994-07-13 | 1997-05-13 | Unisys Corporation | Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation |
US5617514A (en) | 1994-07-13 | 1997-04-01 | Unisys Corporation | Generalized configurator using multiple interacting packers and declaratively defined constraint expressions |
JPH08137700A (ja) * | 1994-11-11 | 1996-05-31 | Yokogawa Electric Corp | エキスパートシステムのプログラム作成支援装置。 |
US5659743A (en) | 1994-12-05 | 1997-08-19 | Legent Corporation | Method and apparatus for a pattern based spaced management system |
US5802255A (en) | 1995-06-23 | 1998-09-01 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | System and method for creating expert systems |
JP3247582B2 (ja) * | 1995-07-07 | 2002-01-15 | 松下電工株式会社 | 設備異常原因追跡方法 |
JPH09134319A (ja) | 1995-10-03 | 1997-05-20 | Sony Electron Inc | パーソナル通信ルーティングシステムのユーザインターフェース及びルール処理 |
US6065002A (en) | 1996-10-31 | 2000-05-16 | Systems And Computer Technology Corporation | Simplified interface for relational database access using open database connectivity |
US5905989A (en) | 1996-11-27 | 1999-05-18 | Bently Nevada Corporation | Knowledge manager relying on a hierarchical default expert system: apparatus and method |
JPH10187498A (ja) * | 1996-12-20 | 1998-07-21 | Nec Corp | 障害通知方式 |
US5917489A (en) * | 1997-01-31 | 1999-06-29 | Microsoft Corporation | System and method for creating, editing, and distributing rules for processing electronic messages |
JPH10326191A (ja) * | 1997-05-23 | 1998-12-08 | Mitsubishi Electric Corp | エキスパートシステム |
US6016960A (en) | 1997-07-08 | 2000-01-25 | Intermec Ip Corporation | Rule based method and apparatus for processing reflectance signals from machine-readable symbols or images |
KR100349068B1 (ko) * | 1997-07-29 | 2002-08-14 | 야마타케 코포레이션 | 시스템설계 지원장치 |
US6314415B1 (en) | 1998-11-04 | 2001-11-06 | Cch Incorporated | Automated forms publishing system and method using a rule-based expert system to dynamically generate a graphical user interface |
-
2000
- 2000-09-15 US US09/663,325 patent/US6934696B1/en not_active Expired - Lifetime
-
2001
- 2001-08-31 EP EP01966442A patent/EP1320807A4/en not_active Ceased
- 2001-08-31 WO PCT/US2001/027106 patent/WO2002023376A1/en active Application Filing
- 2001-08-31 CN CNB018189172A patent/CN1328685C/zh not_active Expired - Fee Related
- 2001-08-31 AU AU2001286953A patent/AU2001286953A1/en not_active Abandoned
- 2001-08-31 CA CA2421611A patent/CA2421611C/en not_active Expired - Lifetime
- 2001-08-31 JP JP2002527956A patent/JP5014559B2/ja not_active Expired - Fee Related
- 2001-08-31 IL IL15489001A patent/IL154890A0/xx unknown
- 2001-08-31 KR KR1020037003824A patent/KR100987876B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO2002023376A1 (en) | 2002-03-21 |
JP2004509411A (ja) | 2004-03-25 |
EP1320807A1 (en) | 2003-06-25 |
CA2421611A1 (en) | 2002-03-21 |
KR20030040464A (ko) | 2003-05-22 |
IL154890A0 (en) | 2003-10-31 |
CA2421611C (en) | 2011-02-08 |
CN1328685C (zh) | 2007-07-25 |
US6934696B1 (en) | 2005-08-23 |
AU2001286953A1 (en) | 2002-03-26 |
CN1474979A (zh) | 2004-02-11 |
KR100987876B1 (ko) | 2010-10-13 |
EP1320807A4 (en) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5014559B2 (ja) | エキスパートシステムのためのカスタムルールシステム及びその方法 | |
JP6966159B2 (ja) | プロセス制御ネットワークのルールビルダー | |
US9582253B2 (en) | Expression editor system | |
US8732107B2 (en) | Method and system for capturing business rules for automated decision procession | |
US6965887B2 (en) | Rule processing methods for automating a decision and assessing satisfiability of rule-based decision diagrams | |
US7430548B2 (en) | Rule processing system | |
CN107102848B (zh) | 规定用户界面元素 | |
US6415275B1 (en) | Method and system for processing rules using an extensible object-oriented model resident within a repository | |
Kadie et al. | MSBNx: A component-centric toolkit for modeling and inference with Bayesian networks | |
US7739216B2 (en) | Methods and systems for monitoring and diagnosing machinery by incremently testing a rule | |
US8271520B1 (en) | Expression editor tool | |
CN1983173B (zh) | 图形用户界面设计方法和设备 | |
JP2015130174A (ja) | プラント監視システムのユーザ表示に用いるための迅速に編集可能な特徴を有する再使用可能なグラフィカル要素 | |
EP2909750A1 (en) | Specifying and applying rules to data | |
CN107003647B (zh) | 用于执行自动化系统的配置的方法和系统 | |
CA3194059A1 (en) | Data extraction in industrial automation systems | |
Kramer et al. | Tool support for requirements analysis | |
JP2016192034A (ja) | 統計モデル作成装置、統計モデル作成方法及び統計モデル作成プログラム | |
Leitch et al. | Task dependent tools for intelligent automation | |
WO2003081478A1 (en) | Rule processing system and method | |
Bandari et al. | Component electronic datasheets in ISHM | |
Traphöner et al. | HyDi: Integration of Hypermedia and Expert System Technology for Technical Diagnosis | |
JPH04137044A (ja) | 知識処理システム及びその構築方法 | |
Diment et al. | The Reaction Component UI Framework | |
Kramer et al. | U19-FILE copy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080826 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080826 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080916 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20101122 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20101122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110823 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120222 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120229 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120405 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120508 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120606 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150615 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |