(57)【要約】カスタムルール（６２）をルールステップ（１００）として格納し、次に、それらのルールステップ（１００）を、目視によりエキスパートシステムのためのカスタムルールを形成するために選択し且つ互いに結合できるような図形表現として表示するカスタムルールシステム（１０）及びその方法。
2004509411.tif 000002
【特許請求の範囲】
【請求項１】
カスタムルールを作成するカスタムルールシステムにおいて、
プロセッサと、
共に前記プロセッサに動作結合されているメモリ及び表示装置と、
前記メモリ内に格納されている複数のルールステップと、
前記メモリ内に格納されている前記複数のステップを前記表示装置に１つの配列として図形表現する手段と、
前記表示装置で目視によりカスタムルールを作成するために、前記配列から前記図形表現されたルールステップのうちの少なくとも１つを選択する手段とを組み合わせて具備するシステム。
【請求項２】
前記メモリは、前記ルールステップが個別に実行可能コードとして格納されているデータベースである請求項１記載のシステム。
【請求項３】
前記作成されたカスタムコードは、前記表示装置で目視により前記カスタムルールを作成するために図形表現され且つ選択された前記ルールステップごとに前記実行可能コードをアクセスすることにより、エキスパートシステムにおいて意思決定を実行するために採用される請求項２記載のシステム。
【請求項４】
カスタムルールを作成するカスタムルールシステムにおいて、
各々がそれに関連する特定の実行可能コードを有する多数のルールステップから構成されているデータベースと、
前記データベースに動作結合され、前記ルールステップを１つのアレイとして図形表現し且つグラフィカルウィンドウを提供する表示装置を含むコンピュータと、
図形表現のために前記アレイから前記図形表現されているルールステップを選択し且つ配置するために前記アレイとインタフェースする手段と、
カスタムルールを作成するために、前記グラフィカルウィンドウ内部で前記図形表現されているルールステップを互いに結合する手段とを組み合わせて具備するシステム。
【請求項５】
前記データベースに格納されており、前記グラフィカルウィンドウ内に図形表現されている各ルールステップと関連する前記特定の実行可能コードを参照する参照を更に含む請求項４記載のシステム。
【請求項６】
前記参照された実行可能コードを処理することにより前記作成されたカスタムルールを処理する処理手段を更に含む請求項５記載のシステム。
【請求項７】
前記作成されたカスタムルールの前記処理に基づいて決定を提供する手段を更に含む請求項６記載のシステム。
【請求項８】
前記作成されたカスタムルールの前記処理に基づいて前記決定を適切な職員へ経路指定する手段を更に含む請求項７記載のシステム。
【請求項９】
カスタムルールを作成するカスタムルールシステムにおいて、
各々がそれに関連するアセンブルドコードを有し且つデータベース内に格納されている複数の図形表現されたルールステップから成る配列と、
前記配列から前記図形表現されたルールステップを個別に選択し、前記選択されたルールがほぼ縦列をなすフォーマットで配列されるように、前記選択されたルールをグラフィカルウィンドウ内に配置する手段と、
前記グラフィカルウィンドウ内に配置された前記選択されたルールステップを図形により互いに結合する手段と、
前記グラフィカルウィンドウ内に配置され、図形により互いに結合された選択されたルールステップをエキスパートシステムにおける意思決定のために採用されるべきカスタムルールとして格納する手段とを組み合わせて具備するシステム。
【請求項１０】
データベースと、
前記データベース内に格納されている複数のルールステップと、
前記データベース内に格納され、各々が少なくとも１つのフィールドを含む少なくとも１つのレコードを有している複数のテーブルと、
前記複数のテーブルのうちの少なくとも１つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップのうちの少なくとも１つと関連している複数のステップ参照と、
前記複数のテーブルのうちの少なくとも１つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップ参照のうちの少なくとも１つと関連している複数のルール参照とを組み合わせて具備し、
同じルール参照と関連している全てのステップ参照は、個々のユーザ作成カスタムルールに含まれるそれぞれ個別のルールステップを定義するカスタムルールシステム。
【請求項１１】
データベースと、
前記データベース内に実行可能コードとして格納されている複数のルールステップと、
前記データベース内に格納され、各々が複数のフィールドを含む少なくとも１つのレコードを有している複数のテーブルと、
カスタムルールを定義するために前記データベース内に格納されている個々のルールステップを参照するステップ参照を含む複数の前記フィールドとを組み合わせて具備するカスタムルールシステム。
【請求項１２】
センサから生成される情報を抽出する抽出モジュールと、前記抽出モジュール及び前記データベースに動作結合され、前記定義されたカスタムルールに従って前記抽出された情報を処理するプロセッサとを更に含む請求項１１記載のルールベースシステム。
【請求項１３】
カスタムルールを作成するカスタムルールシステムにおいて、
コンピュータに結合されたデータベース内に格納されている複数の個別のルールステップと、
前記コンピュータの表示装置に前記ルールステップを図形表現する手段と、
前記表示装置のグラフィカルウィンドウで目視によりカスタムルールを形成するために、前記図形表現されたルールステップのうちの複数のルールステップを選択し、それらを互いに結合する手段とを組み合わせて具備するシステム。
【請求項１４】
表示装置を有するコンピュータでカスタムルールを作成するカスタムルールシステムにおいて、
前記表示装置に表示される複数の図形表現ルールステップから成り、入力又は出力のいずれか、あるいは入力と出力の双方を有する配列と、
カスタムルールを目視により作成するために、前記図形表現ルールステップの出力を前記図形表現ルールステップの入力に結合する手段とを組み合わせて具備するシステム。
【請求項１５】
カスタムルールを作成する方法において、
実行可能コードから構成される複数の個別のルールステップをコンピュータに結合されたデータベース内に格納する過程と、
前記ルールステップを前記コンピュータの表示装置にアイコンの図形配列として表現する過程と、
前記アイコンの図形配列とインタフェースすることによりカスタムルールを作成する過程とから成る方法。
【請求項１６】
前記アイコンの図形配列とインタフェースすることにより前記カスタムルールを作成する過程は、前記配列から複数の前記アイコンを選択する過程と、選択されたアイコンを前記表示装置のグラフィカルウィンドウに配置する過程とを更に含む請求項１５記載の方法。
【請求項１７】
前記アイコンの図形配列とインタフェースすることにより前記カスタムルールを作成する過程は、前記グラフィカルウィンドウ内に配置された前記アイコンを互いに結合する過程を更に含む請求項１６記載の方法。
【請求項１８】
カスタムルールを作成する方法において、
カスタムルールに対する資産を選択する過程と、
各々が少なくとも１つの出力を含む、カスタムルールで使用されるべき複数の入力値ステップを定義する過程と、
前記入力値ステップをコンピュータのグラフィカルユーザインタフェースのグラフィカルウィンドウに表現する過程と、
各々がそれと関連するアセンブルドルールステップコードを有し且つ前記コンピュータに結合されたデータベース内に格納されている複数の図形表現ルールステップから成る行列を前記グラフィカルユーザインタフェースに表現する過程と、
前記図形表現ルールステップから成る行列から少なくとも１つの入力を含む１つの結果ステップを選択し、前記結果ステップを前記グラフィカルウィンドウ内に配置する過程と、
前記選択された結果ステップに対する入力が真である場合に作成されるであろう結果を定義する過程と、
前記図形表現ルールステップから成る行列から少なくとも１つの入力及び少なくとも１つの出力を有する少なくとも１つの演算ステップを選択し、前記少なくとも１つの演算ステップを前記グラフィカルウィンドウの、前記入力値ステップと前記結果ステップとの間に位置する場所に配置する過程と、
前記入力値ステップの各々の前記少なくとも１つの出力を前記演算ステップの前記少なくとも１つの入力に結合する過程と、
カスタムルールを作成するために、前記演算ステップの前記少なくとも１つの出力を前記結果ステップの前記少なくとも１つの入力に結合する過程とから成る方法。
【請求項１９】
データベースと、
前記データベース内に格納されている多数のテキスト識別子番号と、
前記多数のテキスト識別子番号と関連するテキストから構成されるテーブルを格納する手段と、
前記データベースを前記多数のテキスト識別子番号として書き込み且つ格納することができるように、要求に応じて、前記データベース内に格納されている前記多数のテキスト識別子番号の各々について前記テーブルからカスタムルールシステムにテキストを戻す手段とを組み合わせて具備するカスタムルールシステム。
【請求項２０】
前記テーブルはどのような言語のテキストからも構成できる請求項１９記載のカスタムルールシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にエキスパートシステムのためのカスタムルールシステム及びその方法に関し、特に、機械装置を含む資産を保護し且つ管理するために採用されるエキスパートシステムのためのカスタムルールを作成するカスタムルールシステム及びその方法に関する。
【０００２】
【従来の技術】
現在、特に機械装置を含む資産を保護し且つ管理するためのエキスパートシステムをユーザが構成するフレームワークを提供するために、エキスパートシェルが採用されている。
【０００３】
通常、本質的には、開発者は、まず、主としてアプリケーションの概略図を結果的にもたらすシステムの図形モデルを作成することによってアプリケーションを構築するためのエキスパートシステムシェルを採用することにより、エキスパートシステムを構成する。その後、アプリケーションに対するルールをコンピュータ言語で書き込むのであるが、それらのルールはエキスパートシステムが何を結論として出すべきであるか及びエキスパートシステムが所定の一組の条件にどのように応答すべきか、すなわち、トレンドから何を結論づけるべきであるか、故障をいかにして判定すべきか、損失を最小限に抑え且つ安全性及び生産性を最大にするためにどのようなアクションをとるべきかなどに関するエキスパートの知識を含む。
【０００４】
エキスパートシステムの一例は、本出願の譲受人であるネバダ州ミンデンのＢｅｎｔｌｙ Ｎｅｖａｄａ ＣｏｒｐｏｒａｔｉｏｎによりＭａｃｈｉｎｅ Ｃｏｎｄｉｔｉｏｎ ＭａｎａｇｅｒＴＭ ２０００の名称で販売されているエキスパートシステムである。このシステムは、特に、新たな属性及びルールセットをシステムに付随させることを可能にする強力な能力を有しており、自動化診断及び機械情報管理のための新たなパラダイムを代表している。本発明と共通の譲受人に譲渡され、参考として本明細書に全体の内容が取り入れられている１９９６年１１月２７日出願のＢｉｇｇｓによる名称「Ｋｎｏｗｌｅｄｇｅ Ｍａｎａｇｅｒ Ｒｅｌｙｉｎｇ Ｏｎ Ａ Ｈｉｅｒａｒｃｈｉｃａｌ Ｄｅｆａｕｌｔ Ｅｘｐｅｒｔ Ｓｙｓｔｅｍ：Ａｐｐａｒａｔｕｓ ａｎｄ Ｍｅｔｈｏｄ」の米国特許第５，９０５，９８９号を参照のこと。
【０００５】
それにもかかわらず、エキスパートシステムで書き込まれる必要がある新たなルール又ははカスタムルールはユーザにコンピュータ言語でルールを書き表わすことを要求するため、新たなルールを書き込むことが非常に困難になってしまう。通常、ルールはテキストエディタを利用してテキストの形で書き込まれる。パーザはテキストを複数の記号に変換し、それらの記号はインタプリタ又はコンパイラへ送信され、その結果、ルールが得られる。従って、ユーザは、特定のエキスパートシステムごとにルールが書き込まれるコンピュータ言語を学習しなければならないのに加えて、その特定のエキスパートシステムについて以前のルールが書き込まれた方法をも学習し且つ理解しなければならない。１つのルールを書き込むことが可能になるまでに長い時間が費やされる。コンピュータ言語を学習し、エキスパートシステムを理解したとしても、構文の上で正確でないルールが作成するという事態は至るところで起こりうる。
【０００６】
更に、質問を尋ね、その後、その応答からコードを書き込むために、何らかの種類のウィザードインタフェースが採用されても良い。しかし、最終的にルールを獲得するためにテキストをインタプリタ又はコンパイラへ送信されることになる記号に変換するためにテキストをパージングしなければならず、以前のルールが書き込まれた方法をユーザが理解する必要があることは変わらないという点で、この方法にも依然として問題はある。
【０００７】
【発明が解決しようとする課題】
従って、ルールベースエキスパートシステムのユーザがコンピュータ言語を学習する必要なく且つ特定のエキスパートシステム作業を理解することなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法が必要とされている。更に、ルールベースエキスパートシステムのユーザがエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法が必要とされている。また、構文の上で正確でなく、従って、実行するのに有効ではないカスタムルールが作成される可能性を排除するシステム及び方法も必要とされている。これまで、ルールを書き込もうとする方法はユーザに希望する何かを作成させ、有効なルールが獲得されるまで、解釈、編集、パージング及びコンパイルの必要があるエラーのリストをユーザに与えるという方法であった。更に、カスタムルールを作成し且つ処理することに費やされる時間を短縮するシステム及び方法が必要とされている。
【０００８】
【課題を解決するための手段】
本発明は多くの点で周知の従来の技術から区別される。第１に、本発明は、ルールベースエキスパートシステムのユーザがコンピュータ言語を学習する必要なく、ある特定のエキスパートシステムがどのように動作するかを理解することなく且つエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするシステム及び方法を提供する。更に、本発明は、構文の上で正確でなく、従って、実行するのに有効ではないカスタムルールが作成される可能性を排除するシステム及び方法を提供する。また、本発明は、カスタムルールを作成し且つ処理することに費やされる時間を短縮するシステム及び方法を提供する。
【０００９】
好ましい一形態においては、本発明は、メモリ又はデータベースに個別に格納される複数のルールステップを含む。メモリ又はデータベースは、ルールウィンドウを表示し且つ格納されているルールステップから構成される配列を図形表示する表示装置及びインタフェースを有する少なくとも１つのコンピュータに動作結合されている。カスタムルールを作成するために利用されるべき個々のルールステップは表示された配列から選択され、ルールウィンドウへドラッグアンドドロップされる。ルールウィンドウ内のルールステップはカスタムルールを作成するために適切に結合され、それらのルールステップへの参照、結合並びにそれらのルール及び結合と関連するデータは、作成されたカスタムルールを実行するときにコンピュータがステップ、結合及びデータに関する知識を獲得するように格納される。
【００１０】
従って、本発明の１つの特徴は、カスタムルールをルールステップとして格納し、それらのルールステップを図形表現として表示し、目視によりカスタムルールを形成するためにそれらの図形表現を選択し、互いに結合することができるシステム及び方法を提供するということである。
【００１１】
【産業上の適用可能性】
本発明の産業上の適用可能性は以下の本発明の目的を論じることにより明示されるであろう。
【００１２】
従って、本発明の第１の目的は、機械装置を含む資産を保護し且つ管理するために採用されるエキスパートシステムに対してカスタムルールを作成する新規で、有用なカスタムルールシステム及びその方法を提供することである。
【００１３】
本発明の別の目的は、ルールベースエキスパートシステムのユーザがどのような種類のコンピュータ言語も学習する必要なく且つ特定のエキスパートシステムがどのように動作するかを理解する必要なくユーザ独自の追加ルールを容易に書き込むことを可能にする上述のようなカスタムルールシステム及び方法を提供することである。
【００１４】
本発明の更に別の目的は、ルールベースエキスパートシステムのユーザがエキスパートシステムにおいて他のルールを実行させることなくユーザ独自の追加ルールを容易に書き込むことを可能にするカスタムルールシステム及び方法を提供することである。
【００１５】
本発明の更に別の目的は、構文の上で正確でなく且つ実行するのに有効でもないカスタムルールが作成される可能性を排除するカスタムルールシステム及び方法を提供することである。
【００１６】
本発明の更に別の目的は、パージングされなければならないコードを書き込む必要なくカスタムルールを作成し、それにより、パーザを不要にし且つ戻りエラーを修正する必要をなくしたカスタムルールシステム及び方法を提供することである。
【００１７】
本発明の更に別の目的は、データベースにおいてフォーマットを処理する準備としてルールをステップとして作成し且つ格納することを可能にし、それにより、高速でルールを実行できるようにするカスタムルールシステム及び方法を提供することである。
【００１８】
本発明の更に別の目的は、互いに結合可能である入力及び出力を有することができる実行可能ステップとしてカスタムルールを格納するカスタムルールシステム及び方法を提供することである。
【００１９】
本発明の更に別の目的は、ルールステップを互いに独立して実行することを可能にするカスタムルールシステム及び方法を提供することである。
【００２０】
本発明の更に別の目的は、使用及び理解するのが容易である非常に単純なカスタムルールインタフェースを含み、それにより、ルールの入力を迅速に且つ容易に実行できるカスタムルールシステム及び方法を提供することである。
【００２１】
本発明の更に別の目的は、ユーザが格納されているルールステップに相関する図形ルールステップを選択し、それらをドラッグアンドドロップし、図形ルールステップ出力を図形ルールステップ入力に結合し、各ステップに要求されている構成を実行して、新たなカスタムルールを作成することにより、目視により格納されているルールステップからルールを作成することを可能にする非常に単純なカスタムルールインタフェースを提供するカスタムルールシステム及び方法を提供することである。
【００２２】
本発明の更に別の目的は、出力されるべき型が入力について有効な型の１つに整合する場合にのみ、ルールステップ出力からルールステップ入力への結合を可能にすることにより、無効のルール又は構文エラーの作成を防止して、ユーザが実行に有効なようにのみステップを相互結合することを可能にするカスタムルールシステム及び方法を提供することである。
【００２３】
本発明の更に別の目的は、ルール作成中に入力の型及びステップ実行順序を検証することにより、ユーザが無効のルールを作成するのを防止するカスタムルールシステム及び方法を提供することである。
【００２４】
本発明の更に別の目的は、ユーザが資産の問題に基づいて推奨アクションを引き起こすカスタムルール及び計算を容易に定義することを可能にするカスタムルールシステム及び方法を提供することである。
【００２５】
本発明の更に別の目的は、ユーザが目視によりルールステップから実行に有効なようにのみルールを作成し且つルールを相互に結合することを可能にするカスタムルールシステム及び方法を提供することである。
【００２６】
本発明の更に別の目的は、無限ループが作成されるのを防止するユーザインタフェース及びルールステップ処理方法を含むカスタムルールシステム及び方法を提供することである。
【００２７】
本発明の更に別の目的は、特に、論理、演算、統計、スイッチ、状態及び結果論理を目視により一体に結合し且つ検証することを可能にするカスタムルールシステム及び方法を提供することである。
【００２８】
本発明の更に別の目的は、ルール作成者の理解が不要になるように、ルールステップが結合される道筋の中にオペレータの優先権を取り込んだカスタムルールシステム及び方法を提供することである。
【００２９】
第１の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、プロセッサと、共に前記プロセッサに動作結合されているメモリ及び表示装置と、前記メモリ内に格納されている複数のルールステップと、前記メモリ内に格納されている前記複数のステップを前記表示装置に１つの配列として図形表現する手段と、前記表示装置で目視によりカスタムルールを作成するために、前記配列から前記図形表現されたルールステップのうちの少なくとも１つを選択する手段とを組み合わせて具備するシステムを提供することである。
【００３０】
第２の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、各々がそれに関連する特定の実行可能コードを有する多数のルールステップから構成されているデータベースと、前記データベースに動作結合され、前記ルールステップを１つのアレイとして図形表現し且つグラフィカルウィンドウを提供する表示装置を含むコンピュータと、図形表現のために前記アレイから前記図形表現されているルールステップを選択し且つ配置するために前記アレイとインタフェースする手段と、カスタムルールを作成するために、前記グラフィカルウィンドウ内部で前記図形表現されているルールステップを互いに結合する手段とを組み合わせて具備するシステムを提供することである。
【００３１】
第３の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、各々がそれに関連するアセンブルドコードを有し且つデータベース内に格納されている複数の図形表現されたルールステップから成る配列と、前記配列から前記図形表現されたルールステップを個別に選択し、前記選択されたルールがほぼ縦列をなすフォーマットで配列されるように、前記選択されたルールをグラフィカルウィンドウ内に配置する手段と、前記グラフィカルウィンドウ内に配置された前記選択されたルールステップを図形により互いに結合する手段と、前記グラフィカルウィンドウ内に配置され、図形により互いに結合された選択されたルールステップをエキスパートシステムにおける意思決定のために採用されるべきカスタムルールとして格納する手段とを組み合わせて具備するシステムを提供することである。
【００３２】
第４の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に格納されている複数のルールステップと、前記データベース内に格納され、各々が少なくとも１つのフィールドを含む少なくとも１つのレコードを有している複数のテーブルと、前記複数のテーブルのうちの少なくとも１つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップのうちの少なくとも１つと関連している複数のステップ参照と、前記複数のテーブルのうちの少なくとも１つのテーブルに格納され、各々が前記データベース内に格納されている前記ルールステップ参照のうちの少なくとも１つと関連している複数のルール参照とを組み合わせて具備し、同じルール参照と関連している全てのステップ参照は、個々のユーザ作成カスタムルールに含まれるそれぞれ個別のルールステップを定義するカスタムルールシステムを提供することである。
【００３３】
第５の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に実行可能コードとして格納されている複数のルールステップと、前記データベース内に格納され、各々が複数のフィールドを含む少なくとも１つのレコードを有している複数のテーブルと、カスタムルールを定義するために前記データベース内に格納されている個々のルールステップを参照するステップ参照を含む複数の前記フィールドとを組み合わせて具備するカスタムルールシステムを提供することである。
【００３４】
第６の有利な点から見ると、本発明の目的は、カスタムルールを作成するカスタムルールシステムであって、コンピュータに結合されたデータベース内に格納されている複数の個別のルールステップと、前記コンピュータの表示装置に前記ルールステップを図形表現する手段と、前記表示装置のグラフィカルウィンドウで目視によりカスタムルールを形成するために、前記図形表現されたルールステップのうちの複数のルールステップを選択し、それらを互いに結合する手段とを組み合わせて具備するシステムを提供することである。
【００３５】
第７の有利な点から見ると、本発明の目的は、表示装置を有するコンピュータでカスタムルールを作成するカスタムルールシステムであって、前記表示装置に表示される複数の図形表現ルールステップから成り、入力又は出力のいずれか、あるいは入力と出力の双方を有する配列と、カスタムルールを目視により作成するために、前記図形表現ルールステップの出力を前記図形表現ルールステップの入力に結合する手段とを組み合わせて具備するシステムを提供することである。
【００３６】
第８の有利な点から見ると、本発明の目的は、カスタムルールを作成する方法であって、実行可能コードから構成される複数の個別のルールステップをコンピュータに結合されたデータベース内に格納する過程と、前記ルールステップを前記コンピュータの表示装置にアイコンの図形配列として表現する過程と、前記アイコンの図形配列とインタフェースすることによりカスタムルールを作成する過程とから成る方法を提供することである。
【００３７】
第９の有利な点から見ると、本発明の目的は、カスタムルールを作成する方法であって、カスタムルールに対する資産を選択する過程と、各々が少なくとも１つの出力を含む、カスタムルールで使用されるべき複数の入力値ステップを定義する過程と、前記入力値ステップをコンピュータのグラフィカルユーザインタフェースのグラフィカルウィンドウに表現する過程と、各々がそれと関連するアセンブルドルールステップコードを有し且つ前記コンピュータに結合されたデータベース内に格納されている複数の図形表現ルールステップから成る行列を前記グラフィカルユーザインタフェースに表現する過程と、前記図形表現ルールステップから成る行列から少なくとも１つの入力を含む１つの結果ステップを選択し、前記結果ステップを前記グラフィカルウィンドウ内に配置する過程と、前記選択された結果ステップに対する入力が真である場合に作成されるであろう結果を定義する過程と、前記図形表現ルールステップから成る行列から少なくとも１つの入力及び少なくとも１つの出力を有する少なくとも１つの演算ステップを選択し、前記少なくとも１つの演算ステップを前記グラフィカルウィンドウの、前記入力値ステップと前記結果ステップとの間に位置する場所に配置する過程と、前記入力値ステップの各々の前記少なくとも１つの出力を前記演算ステップの前記少なくとも１つの入力に結合する過程と、カスタムルールを作成するために、前記演算ステップの前記少なくとも１つの出力を前記結果ステップの前記少なくとも１つの入力に結合する過程とから成る方法を提供することである。
【００３８】
第１０の有利な点から見ると、本発明の目的は、データベースと、前記データベース内に格納されている多数のテキスト識別子番号と、前記多数のテキスト識別子番号と関連するテキストから構成されるテーブルを格納する手段と、前記データベースを前記多数のテキスト識別子番号として書き込み且つ格納することができるように、要求に応じて、前記データベース内に格納されている前記多数のテキスト識別子番号の各々について前記テーブルからカスタムルールシステムにテキストを戻す手段とを組み合わせて具備するカスタムルールシステムを提供することである。
【００３９】
これらの目的及び利点並びにその他の目的及び利点は、添付の図面と関連させながら以下の詳細な説明を考慮することにより明白になるであろう。
【００４０】
【発明の実施の形態】
図面を考慮すると、図面の様々な図を通して同じ図中符号は同じ部分を指示しており、図中符号１０は本発明によるカスタムルールシステムを示す。
【００４１】
図１を参照すると、カスタムルールシステム１０は、その本質において、カスタムルールモジュール４０、ディスプレイモジュール５０及びカスタムルールセットデータベースモジュール６０という３つの主要なモジュールに分割できる。カスタムルールシステム１０は第４の主要なモジュールである情報抽出モジュール８０を更に含むことができる。これらのモジュールは任意の組み合わせで互いに一体であっても良いし、別個に存在していても良い。更に、これらのモジュールは１つのコンピュータに常駐していても良いし、あるいはネットワークを介して対話する複数の互いに独立したコンピュータに常駐していても良い。
【００４２】
一実施例では、カスタムルールシステム１０は、プロセッサ２０と、メモリ２２と、マウス４４及びキーボード４６を含む入力装置４２と、表示装置５４を含む出力装置５２と、データベース７２とから構成される少なくとも１つのコンピュータを含む。システムバス８２はプロセッサ２０、メモリ２２、入力装置４２、出力装置５２及びデータベース７２を互いに動作結合する。
【００４３】
プロセッサ２０は、特に、計算機能を実行し且つソフトウェアプログラムを実行することが可能である。
【００４４】
メモリ２２は読み取り専用メモリ（ＲＯＭ）２４と、ランダムアクセスメモリ（ＲＡＭ）として知られている読み取り／書き込みメモリ（Ｒ／ＷＭ）２６と、格納メモリ２８とを含むのが好ましい。ＲＯＭ２４は、通常は、特に、プロセッサ２０がオペレーティングシステム３０の下で動作しているときにユーザに対して透明であるＩ／Ｏを提供する基本入出力システム（ＢＩＯＳ）を格納している不揮発性メモリ（パワーがない状態であっても格納されている情報を保持するメモリ）である。Ｒ／ＷＭ２６は、揮発性メモリ、すなわち、パワーがないときには格納されている情報を保持しないメモリである。格納メモリ２８は１つ以上のハードディスク、フロッピー（登録商標）ディスク、コンパクトディスク、カセットテープ、磁気テープなどを含むことができる。
【００４５】
オペレーティングシステム３０はコンピュータの動作全体を調整するために採用される。オペレーティングシステム３０は通常はＲ／ＷＭ２６及びハードディスクなどの格納メモリ２８に格納されており、シェル３２を含むことができる。システム１０により実行するために、カスタムルールモジュール４０及びディスプレイモジュール５０などの１つ以上のアプリケーションプログラム３４をロードする（すなわち、記憶装置からメモリへ転送する）ことができる。
【００４６】
一方、出力装置５２は、特に、Ｒ／ＷＭ２６からのアプリケーションウィンドウ、グラフィカルオブジェクト、アイコン、データ、格納メモリ２８からのデータ、並びにデータベース７２からのデータをグラフィカルユーザインタフェース４８及びディスプレイモジュール５０を介して表示装置５４に表示するために、オペレーティングシステム３０及びアプリケーションプログラム３４と協働する。
【００４７】
通常、グラフィカルユーザインタフェース４８は、表示装置５４で１つ以上のアイコン、アプリケーションウィンドウ又はその他のグラフィカルオブジェクトが表示されるデスクトップメタファを含む。表示装置５４に表示される関連するグラフィカルオブジェクトの選択及び操作を通してハードウェアコンポーネント及びソフトウェアオブジェクトを制御するために、グラフィカルユーザインタフェース４８と関連してマウス又はその他の入力装置が利用される。
【００４８】
従って、ユーザはグラフィカルユーザインタフェース４８と関連させてマウス４４及び／又はキーボード４６を使用して、カスタムルールシステム１０がオペレーティングシステム３０と、カスタムルールモジュール４０及びディスプレイモジュール５０を含むアプリケーションプログラム３４とからの命令に従ってユーザ入力に対して動作することができるように、ユーザ指令及びデータを含む情報を入力する。キーボードは通常は文字を入力するために利用されるが、マウスの機能を実行するために利用されても良い。
【００４９】
グラフィカルユーザインタフェース４８は上記の動作の結果を表示する。概念上は別個のモジュールとして示されているが、オペレーティングシステムシステム３０及びシェル３２がグラフィカルユーザインタフェース４８を提供し、カスタムルールモジュール４０はディスプレイモジュール５０を提供しても良い。
【００５０】
カスタムルールセットデータベースモジュール６０はデータベース７２に常駐しており、個別に格納されている複数のユーザ作成カスタムルール６２を含む。カスタムルール６２は複数のテーブル６２から構成されている。テーブル６２は少なくとも１つのルールステップテーブルを含み、ルールステップテーブルは、各々がデータベース７２内に格納されている複数のルールステップ１００のうちの少なくとも１つのルールステップと関連している複数のステップ参照又は識別子（ＩＤ）を含む。ルールステップテーブルは、同じルール識別子と関連する全てのステップ識別子が単一のユーザ作成カスタムルールを形成する個々のルールステップ１００を定義するように、１つ以上のルール参照又は識別子（ＩＤ）を更に含む。各々がデータベース７２内に個別に格納されている複数の個々のルールステップ１００から構成されている複数のルール識別子により複数のユーザ作成カスタムルールを定義することができる。更に、１つのユーザ作成カスタムルールを形成する個々のルールステップ１００の間の結合も１つ以上のテーブル６２に格納されている。
【００５１】
具体的には、データベース７２に格納されているルールステップ１００は、オペランド又はプロセス演算のいずれかをロードする２進ルールステップ及び単項ルールステップの双方を含むことができる。従って、ルールステップはパージングされるべきテキストとしてではなく、オペランド及び演算として格納されることが可能である。更に、ルールステップ１００は入力と出力を有することができる。
【００５２】
オペランドルールステップは測定値、状態、設計値、ハード符号化関数、定数（数値、ブール値又は数え上げ値）、以前に定義されたルールからの結果、ユーザ定義済み計算値及びユーザ定義済み計算値を含むことができる。オペランドルールステップはオペランドデータをロードする。
【００５３】
演算ルールステップは数学演算子、比較演算子、ブール演算子及び条件付き論理演算子などの多数の演算子から構成されることが可能である。数学演算子は加算（＋）、減算（−）、乗算（＊）、除算（／）、最大値発見（Ｍａｘ）、最小値発見（Ｍｉｎ）及び絶対値発見（Ａｂｓ）を含む。比較演算子は演算子に等しい（＝）、演算子に等しくない（≠）、演算子未満（＜）、演算子以下（＜＝）　、演算子より大きい（＞）及び演算子以上（＞＝）を含む。ブール演算子はＡＮＤ演算子、ＯＲ演算子及びＮＯＴ演算子を含む。条件付き論理演算子はＩＦ−ＴＨＥＮ−ＥＬＳＥステートメント（例えば、ＩＦ ｉｎｐｕｔ＿１ ＴＨＥＮ ｉｎｐｕｔ＿２ ＥＬＳＥ ｉｎｐｕｔ＿３）を含む。演算ルールステップは先行するルールステップの結果を入力として取り上げ、１つの演算ルールステップの処理は他のルールステップとは無関係である。
【００５４】
情報抽出モジュール９０はシステムバス８２を介してプロセッサ２０に動作結合されている。情報抽出モジュール９０は、本質的には、機械装置を含む資産９６を監視するセンサ９４から生成されるデータを収集するデータ収集装置９２から情報を抽出する。この情報は、特に、機械装置を含む資産を保護し且つ管理するためのユーザ作成カスタムルールに従って処理される。例えば、抽出された情報をシステムバス８２を介してプロセッサ２０へ送信することができる。そこで、プロセッサ２０はその情報に対して何らかの能動ユーザ作成カスタムルールを実行して、問題の重大度を含む、監視されている資産に関する結論を獲得する。その後、結論と重大度はデータベース７２に書き込まれる。次に、それらの結論と重大度は、おそらくは他のシステムからの結論及び他のデータベースからの構成情報と共にメッセージ経路指定システムへ送信され、以下に更に説明するように状況に対して適切に応答するためには誰がどの時間フレームでどの情報を受信すべきかを判定するために処理される。
【００５５】
図２は、本発明に従って作成されたカスタムルールの一例を示す。図示されるように、カスタムルールは式「ＩＦ Ａ＋Ｂ＞Ｃ ａｎｄ Ｄ＜＝Ｅ ＴＨＥＮ Ｍｙ＿Ｒｅｓｕｌｔ」を実行する。ルールステップ１から５は、変数（Ａ、Ｂ、Ｃ、Ｄ及びＥ）に対して定数（１０、２０、３０、４０及び５０）をそれぞれ有するオペランドルールステップである。ルールステップ６から８は、加算プロセス演算ステップ、「より大きい」プロセス演算ステップ及び「以下」プロセス演算ステップをそれぞれ含む演算ルールステップである。ルールステップ９はブールＡＮＤプロセス演算ステップである。最後のステップは、結論又はイベントと、ユーザ事前定義済み重大度（Ｓｅｖｅｒｉｔｙ）レベルとを含むのが好ましい結果を生成する結果プロセス演算ステップである。
【００５６】
本発明によれば、このカスタムルールを生成する１つの方法の一例は、まず、グラフィカルユーザインタフェース４８と関連させてマウス４４を利用して、ファイルメニューからメニューオプション「ｎｅｗ ｒｕｌｅ（新たなルール）」を選択する過程と、ステップパレット又はステップ行列１０２から図形ルールステップ表現（データベース７２に格納されているルールステップ１００の図形表現）を選択し、それらを別個のルールウィンドウ１７０へ操作（ドラッグアンドドロップ）する過程と、定数を入力する過程と、未定義結果ステップを構成する過程と、ルールステップ１から１１の入力と出力を互いに結合する過程とをこの順序で含む。尚、本発明により定義される表示パレット又は行列では、ユーザは有効ルールステップのみを選択するように制限されていることに注意する。
【００５７】
更に具体的には、図２及び図３に拡大して示すステップ行列１０２を参照して説明すると、ルールステップ１及び２については共に定数ルールステップが採用される。従って、定数ルールステップ表現１４２が行列１０２から図２に示すような第１の縦列位置へドラッグアンドドロップされる。ルールステップ３から５も同様に定数ルールステップから構成されているので、定数ルールステップ表現１４２が行列から図２に示すような第２の縦列位置へドラッグアンドドロップされる。ルールステップ６については加算ルールステップが採用され、そのルールステップ表現１０４が行列１０２から図２に示すような第２の縦列位置へドラッグアンドドロップされる。ルールステップ７については「より大きい」ルールステップが採用されるので、そのルールステップ表現１２０が行列１０２から図２に示すような第３の縦列位置へドラッグアンドドロップされる。ルールステップ８については「以下」ルールステップが採用され、そのルールステップ表現１１８が行列から図２に示すような第３の縦列位置へとラングアンドドロップされる。ルールステップ９についてはブールＡＮＤルールステップが採用され、そのルールステップ表現１２４が行列から図２に示すような第４の縦列位置へドラッグアンドドロップされる。ルールステップ１１については未定義結果ルールステップが採用され、そのルールステップ表現１５０が行列から、この特定のカスタムルールに関してルールステップの選択を結論づける第５の縦列位置へドラッグアンドドロップされる。そこで、ユーザは未定義結果ルールステップの結論及び重大度レベルを構成し、例えば、キーボード及びマウスの操作による入力を経て定数（Ｃｏｎｓｔａｎｔ）（Ａ、Ｂ、Ｃ、Ｄ及びＥ）に値を与える。その後、例えば、１つのルールステップの出力でマウスの１つのボタンをクリックしたまま保持し、次に、別のルールステップの入力までドラッグして、ボタンを離すことにより、ルールステップを互いに結合させる。各ルールステップの個々の出力の全てが図示されるように他のルールステップの個々の入力に結合されるまで、このプロセスを繰り返す。１つのルールステップ出力から１つのルールステップ入力への結合はそれぞれデータベース７２に格納される。このプロセスの最終結果が新たなカスタムルールであり、これもデータベース７２に格納でき、要求に応じてそれを動作させることができる。従って、本発明によれば、１行分のコードを書き込まずに図形に基づいてカスタムルールを作成することが可能である。実際には、これまでこの例のカスタムルールを作成するために必要とされていた関連コードはルールロジックグラフィカルウィンドウ１７２に示されている。
【００５８】
本発明ではルールをルールステップとして格納するため、ルールを非常に急速に実行することが可能になる。ルールはテキストとしてではなく、実行可能ルールステップとして格納されているので、システムは全てのルールステップ１００を事前にロードし、カスタムルールが実行されるときには、直ちにルールステップ処理が開始される。あるいは、システムはルールステップ１００をカスタムルールにより定義される順序でロードし、その後にカスタムルールを処理することができる。ルールステップからの出力はメモリに格納される。あるルールステップが先行するルールステップから入力を受け取るたびに、その値はメモリで利用可能であり、迅速に値を検索することができる。
【００５９】
好ましい一形態においては、ルールステップは左から右へ処理され、同じ縦列位置にあるステップの入力へのルール結合又は左側にあるステップの入力へのルール結合は許されていない。それにより、他のいずれかのルールステップによりステップ出力が必要になる前に、全てのステップ出力が計算され終わっている状態が確保される。これにより、無限ループが作成される可能性も排除される。更に、本発明では、いずれかの入力といずれかの出力との間で結合を成立させる前に入力と出力の型を比較することが可能であるために、入力と出力の型が一致しない場合又は無効である場合の結合作成を防止することができる。
【００６０】
また、本発明ではループ型処理も可能である。多くのルールステップについて、最上方（第１のレベル）の入力をループさせ、最下方（第２のレベル）の入力と比較する。いくつかの種類のルールステップについては複数の第２レベル入力結合が許される。複数の第２レベル入力結合が可能である全てのルールステップは、それらの第２レベル入力がどの順序で処理されるかに関わらず、同じ出力を作成するのが好ましい。その一例が加算（＋）ルールステップである。第１の数をその最上方入力に結合し、次に、他の４つの数をその最下方入力に結合することにより、５つの数を加算することができる。次に、ループは最上方の数を下方の入力のうちの１つに加算する。下方の全ての入力側に加算され終わるまで、求められた値を次の下方入力に加算する。その後、全ての数の和をこのステップからの出力として格納する。
【００６１】
図４及び図５を参照すると、上記の例を完成することができる。
【００６２】
図４は、カスタムルールセットデータベース６０がステップごとに１つ以上の入力と、プロセスとを有するようなテキストのストリームを有するのではなく、データベースを一連のロジカルステップとしてどのように分割できるかを示すデータベーススキーマ１５２を表す。このデータベーススキーマ１５２は、イベント（Ｅｖｅｎｔ）テーブル１５４、ルール（Ｒｕｌｅ）テーブル１５６、ルールステップ（Ｒｕｌｅ＿Ｓｔｅｐ）テーブル１５８及び入力（Ｉｎｐｕｔ）テーブル１６０という４つのテーブルから構成されているテーブル６４の一例である。これらのテーブルはデータベース６０内に格納されており、各々のテーブルは、フィールド６８を有する１つ以上のレコードｌ６６を含む。各々のテーブルには複数のレコード６６が含まれていることが可能であり、同じテーブルにある複数の同様のレコードは、通常、それぞれ同じ対応するフィールドを含む。
【００６３】
例えば、ルールテーブル１５６のどのレコードも４つのフィールドを含み、数百のカスタムルール６２に相関する数百のレコードが存在することが可能である。従って、ルールテーブル１５６は多数のレコードを含み、それらのレコードがそれぞれ多数のフィールドを含むことができる。
【００６４】
どのカスタムルールも１つのイベントを生成する。イベントは結果であり、どのルールも１つ以上のルールステップから構成されている。例えば、ルールステップテーブル１５８の第４のエントリは、図２に示す定数ステップなどのオペランドステップであっても良いし、あるいは同様に図２に示す加算ステップ、「より大きい」ステップ、「以下」ステップ及びブールＡＮＤステップなどの演算ステップであっても良いステップ型である。各ステップは１つ以上の入力を有する。定数ステップの場合、ステップ型はオペランドであり、入力は定数又は収集されたデータ値になるであろう。加算ステップなどの演算ステップの場合には、ステップ型は加算であり、入力は定数又は先のステップで生成された値などの先行ステップになるであろう。
【００６５】
図５は、図２に示すカスタムルールについて格納されている実際のテーブルエントリの一例を示す。ルールテーブル１５６から始まり、ルールテーブルには１つのレコードが格納されている。このレコードは１の値を有するルールＩＤと、１の値を有するＲｕｌｅ＿Ｏｒｄｅｒ，すなわち優先順位とを含む。ｃｏｎｆ＿ｓｔａｒｔフィールド及びｃｏｎｆ＿Ｅｎｄフィールドはデータベース内で常時全ての構成を維持するために使用され、以下にその概要を説明する。
【００６６】
すなわち、ルールテーブル１５６は、ルールＩＤが１であるカスタムルールが存在し、これはルールＩＤ１がＭｙ＿Ｒｅｓｕｌｔと呼ばれる結果を生成することを示すイベントテーブルに連携することを示している。また、ルールテーブルは、各々が１のルールＩＤを有する１０の異なるルールステップが存在することを示すルールステップテーブル１５８にも連携している。従って、１のルールＩＤを有するルールステップテーブルのどのエントリもルール１に属している。ステップ順序はステップＩＤと同じ順序に従う場合もある。初めの５つのステップ型（Ｓｔｅｐ ＩＤ１から５）は全て１であり、この例の場合、その連携はデータを獲得又はロードするための呼び出しである。Ｓｔｅｐ ＩＤ６は２のステップ型であり、この例ではこれは加算プロセスである。Ｓｔｅｐ ＩＤ７は３のステップ型であり、この例ではこれは「より大きい」プロセスである。Ｓｔｅｐ ＩＤ８は４のステップ型であり、この例ではこれは「以下」プロセスである。Ｓｔｅｐ ＩＤ９は５のステップ型であり、この例ではこれはブールＡＮＤプロセスである。最後に、Ｓｔｅｐ ＩＤ１１は６のステップ型であり、この例ではこれはカスタムルールの結果又はＭｙ＿Ｒｅｓｕｌｔイベントである。
【００６７】
ルールテーブルは、Ｓｔｅｐ ＩＤと呼ばれる欄見出しの下に複数のフィールドを示す入力テーブル１６０にも連携している。Ｓｔｅｐ ＩＤ１から始まり、プロセッサはＳｔｅｐ ＩＤ１に関わる全ての入力を探索するが、この例では、これはロードされるべきデータを要求する入力により識別される唯一つの入力を含む。従って、ステップ１はＡの値を獲得し、それが利用可能であるようにメモリにロードすることである。具体的には、入力テーブルのＳｔｅｐ ＩＤ１は、オペランドを獲得することに相関される１つのステップ型を有するルールテーブル中のＳｔｅｐ ＩＤ１に相関している。
【００６８】
同様に、Ｓｔｅｐ ＩＤ２、３、４及び５もそれぞれ、ロードされるべきデータを要求する唯１つの入力を含む。すなわち、ステップ２、３、４及び５は、Ｂ、Ｃ、Ｄ及びＥのそれぞれの値を獲得し、それらをメモリにロードして、利用可能な状態にするステップである。従って、ステップ１から５におけるオペランドは変数（Ａ、Ｂ、Ｃ、Ｄ及びＥ）により表現され、ステップはそれらの変数に対する実数値又はデータを獲得している。この場合、Ａ、Ｂ、Ｃ、Ｄ及びＥの変数のデータはテーブルに浮動（Ｆｌｏａｔ）と呼ばれる見出しの下に格納されるであろう定数である。
【００６９】
あるいは、入力テーブルのＳｅｇｍｅｎｔ ＩＤ（ＳＩＤ）がどのデータをロードすべきか及びそのデータをＡ、Ｂ、Ｃ、Ｄ及びＥの変数の各々についてどこからロードすべきかを調整するためにプロセッサにより使用される表現を提供しても良い。
【００７０】
Ｓｔｅｐ ＩＤ６は順序又は入力数１と、順序又は入力数２という２つの入力を有する。これらの入力は、「ＦｒｏｍＳｔｅｐＯｕｔｐｕｔ」及び「ＦｒｏｍＳｔｅｐＩＤ」と呼ばれるそれぞれの欄見出しの下に示されているように、Ｓｔｅｐ ＩＤ１のステップ出力１及びＳｔｅｐ ＩＤ２のステップ出力１から得られる。この例では、それぞれの出力はＲｕｌｅ Ｓｔｅｐ１及びＲｕｌｅ Ｓｔｅｐ２から得られる。従って、Ｓｔｅｐ ＩＤ６の最上方又は左の入力はＲｕｌｅ Ｓｔｅｐ１の出力から得られ、最下方又は右側の入力はＲｕｌｅ Ｓｔｅｐ２の出力から得られる。同様に、Ｓｔｅｐ ＩＤ７はＲｕｌｅ Ｓｔｅｐ６及び３の出力からの入力を有し、Ｓｔｅｐ ＩＤ８はＲｕｌｅ Ｓｔｅｐ４及び５の出力からの入力を有し、Ｓｔｅｐ ＩＤ９はＲｕｌｅ Ｓｔｅｐ７及び８の出力からの入力を有する。Ｒｕｌｅ Ｓｔｅｐ９の出力はＲｕｌｅ Ｓｔｅｐ１１の入力であり、Ｍｙ＿Ｒｅｓｕｌｔと呼ばれる結果を生成する。これは、ステップがいかにして互いに結合されるか及びそれらの相互結合がいかにして格納されるかを示している。
【００７１】
ルールテーブル１５６に戻ると、Ｒｕｌｅ＿Ｏｒｄｅｒ又は優先順位の見出しの下にあるフィールドにより、ユーザは１つのルールの出力を別のルールへの入力として使用することができる。例えば、１つのルールにより判定された排出ステムの高温イベントを同一の論理を更に複数回にわたり再度実行する必要なく、他の１つ以上のルールで使用することができる。従って、これにより、システム１０はカスタムルールを１度処理し、その値を維持し、後にその値を更に複数回にわたり再利用することが可能である。
【００７２】
しかし、ステム温度が高いことを判定するルールは、その他のルールが処理される前に処理されなければならない。従って、優先順位が存在している必要がある。その結果、依存性を有するルール、すなわち、将来のルールにおいて使用されることになる出力を有するルールを第１に処理しなければならない。例えば、第１の結果が生成され、第２のルールで使用され、その後、第２の結果が生成されて第３のルールで使用された場合、依存性の連鎖が存在するため、それらのルールに対して優先順位を課すことになる。例えば、最初に実行されなければならない全てのルールは１を獲得し、次に実行されるルールは２を獲得し、以下同様になる。これは、誤った情報が使用されないようにルールが実行される順序を定義する。
【００７３】
次に図６、更には図１を参照して説明すると、カスタムルールシステム１０は、例えば、工業プラントの資産９６を監視する多数のセンサ９４に動作結合させることができる。信号調整、処理及び通信システム２００はそれら多数のセンサ９４と、計器２０２と、情報抽出モジュール９０を含む第１段階プロセッサ及びメモリシステム２０４とに動作結合されている。
【００７４】
信号調整、処理及び通信システム２００はデータ収集装置９２に対して採用することができ、オンライン連続装置を含む並列装置、オンライン走査装置又は多重化装置を含む有線走査／逐次装置、ポータブルデータコレクタを含むオフライン診断監視装置、油分析などの状態監視装置、並びにプロセスコントローラ及びプロセスコントローラを含む装置などから構成されることが可能である。
【００７５】
第１段階プロセッサ及びメモリシステム２０４はプロセッサ２０、メモリ２２、入力装置４２、出力装置５４、カスタムルールセットデータベース６０及びルールステップ１００を含むデータベース７２から構成され、図１に示すように、システムバス８２を介して情報抽出モジュール９０に結合されることが可能である。更に、第１段階プロセッサ及びメモリシステム２０４はシステムプロセッサ２０６、エキスパートシステムシェル２０８、推論エンジン２１０、ルールセットデータベース２１２及びデータベース７２に動作結合されている。尚、データベース７２は第１段階プロセッサ及びメモリシステム２０４に結合されること及び／又は第１段階プロセッサ及びメモリシステム２０４と一体に形成されることが可能である。
【００７６】
信号調整、処理及び通信システム２００はセンサからの生データを受信し、このデータを調整、処理し、第１段階プロセッサ及びメモリシステム２０４へ通信するために使用される。第１段階プロセッサ及びメモリシステム２０４は通信されたデータを処理し、格納する。この情報は、要求に応じて、情報抽出モジュール９０へ通信される。第１段階プロセッサ及びメモリシステム２０４とシステムプロセッサ２０６は、入力装置４２及び推論エンジン２１０からの入力に加えて、情報抽出モジュール９０により抽出された情報をカスタムルールセットデータベース６０及びルールセットデータベース２１２からの起動されたルールに従って使用して、センサ９４、計器２０２、並びに機械及びプロセスを含む資産９６の状態に関する結論を獲得する。
【００７７】
センサ、計器、機械及びプロセスの状態に関する結論、並びにそれらと関連する問題の重大度は（他のシステムからの結論及び他のデータベースからの構成情報と共に）、その状況に適切に応答するために誰がどの情報をどの時間フレームで受信すべきかを判定するためにそれらの情報が処理されるように、第２段階プロセッサ及びメモリシステム２１４を介して出力装置５２及び／又はメッセージ経路指定システム２１６へ送信されることが可能である。より具体的には、処理済パラメータから取り出された結論及び重大度は第２段階プロセッサ及びメモリシステム２１４へ送信され、そこから、特定の結論を出力装置２１８を介して対応する職員へ経路指定するか、又はモデム２２２を介してホストコンピュータ２２０へ経路指定するようにカスタム化可能であるメッセージ経路指定システム９０へ送信される。尚、ホストコンピュータ２２０は、その後、特定の結論を格納し且つ／又は対応する職員へ経路指定することができる。
【００７８】
更に具体的には、図６を参照して説明すると、システム１０はオブジェクト指向パラダイムを有するエキスパートシステムシェル２０８を含むことができる。本発明はこのシェル２０８をプロセッサ２０４又は２０６のいずれかと協働させて使用し、データベース７２に常駐できるクラス階層知識ベースのフレームワークを構築する。管理すべきプラントにおける各資産の属性又は特性並びにそれらの属性に対して作用するためのルールセット及び／又はカスタムルールセットの一般的記述は、階層知識ベースの最上位置に常駐する複数のクラスとして定義されている。階層知識ベースの次に低いレベルは、階層クラスにサブクラスを付随させる。従って、プラントにおける各資産の属性のより特定された記述及びそれらの属性に対して作用するためのメソドロジーは、それらが依存する上位クラスのあらゆる物を継承するサブクラスとして定義されても良い。
【００７９】
例えば、上位クラスを一般にポンプとして定義し、それに依存する水ポンプと呼ばれるサブクラスを作成できるであろう。従って、水ポンプと呼ばれるサブクラスはポンプと呼ばれる階層クラスにおいて定義されている属性と方法を継承する。そこで、水ポンプという特定の型を階層の上位レベルに付随させることができ、ポンプと呼ばれる階層クラスの中に含まれるあらゆる物を継承し、再利用することになるであろう。更に、ポンプと呼ばれる上位クラスの属性及びルールセットを追加、削除又は再定義するためにサブクラスを定義しても良い。
【００８０】
上位クラスが定義されたならば、特定のプラントの特定の資産をオブジェクトとして構成できる。１つの形態においては、それらのオブジェクトの属性とルールセットが第１段階プロセッサ及びメモリシステム２０４に書き込まれ、ブリッジを介してエキスパートシステムシェルへ送信され、エキスパートシステムシェル２０８のオブジェクト指向パラダイムにより処理されるべきオブジェクトとして具体化される。
【００８１】
構成入力及び知識入力を含む入力装置４２又は格納メモリ２８を使用することにより、オブジェクトをシステム１０に付随させることができる。知識入力は、特定の型の資産の所有属性及びメソドロジーが格納されている格納メモリ２８と共に動作する記憶媒体を含んでいても良い。第１段階プロセッサ及びメモリシステム２０４は単にモジュールから情報を読み取り、その情報をシステムプロセッサ２０６及びエキスパートシステムシェル２０８へ送信し、そこで情報は特定の資産を表現するオブジェクトとして具体化される。このプロセスは、記憶媒体に格納されているトレードシークレットを開示することなく実現可能である。入力装置４２を使用して、管理すべき資産に関する構成情報及びその他の必要な情報を直接に挿入することができる。この情報は記憶媒体に格納されている情報と同じように処理される。
【００８２】
従って、監査を実行すべき状況になるたびに、センサ９４から、例えば、機械列で起こっていることのスナップショットインタイムを提供する、機械列内部の資産の状態を表す生データセットが獲得される。第１段階プロセッサ及びメモリシステム２０４及び／又はシステムプロセッサ２０６はこれらのパラメータを処理する。次に、情報抽出モジュール９０はそれらのパラメータから情報を抽出し、第１段階プロセッサ及びメモリシステム２０４及び／又はシステムプロセッサ２０６はカスタムルールセットデータベース６０のルール及び／又はルールセットデータベース２１２のルールに従ってこの抽出情報を処理する。従って、ルールセット及びカスタムルールセットはデータベースによりアセンブルされた情報を組み合わせ且つ統合することができる。
【００８３】
その後、処理済パラメータから取り出された結論が第２段階プロセッサ及びメモリシステム２１４へ送信され、更に、特定の結論を対応する職員へ経路指定するか、又はモデム２２２を介してホストコンピュータ２２０へ経路指定するようにカスタム化可能であるメッセージ経路指定システム２１６へ送信される。尚、ホストコンピュータ２２０は特定の結論を格納し且つ／又は対応する職員へ経路指定することができる。
【００８４】
具体的には、システム１０の第２段階プロセッサ及びメモリシステム２１４は複数の信号をメッセージ経路指定システム２１６へ出力し、メッセージ経路指定システム２１６は資産９６による実行可能要求に相関するメッセージをどこへ出力すべきかを判定する。重大度レベル信号、故障カテゴリ信号及び問題あり資産信号がメッセージ経路指定システム２１６に対する出力と関連付けられるのが好ましい。重大度レベルは重大度０、重大度１、重大度２、重大度３などと定義されても良い。故障カテゴリ出力はセンサ、機械、計器及びプロセスに関する情報を含む。問題あり資産出力は特定の資産、例えば、蒸気に問題があるタービンに関する情報を含む。
【００８５】
そこで、メッセージ経路指定システム２１６はメッセージをどこへ経路指定すべきかを判定する。例えば、メッセージはオペレータ、機械保守要員、計器及び制御システム担当者、プラント管理担当者、センサ及び計器の供給元、並びに機械の供給元のうちの１つ以上へ経路指定されれば良い。例えば、資産が機械であり、重大度レベルが１である場合、機械保守部門が勧告を受け取る。資産が計器であり、重大度レベルが１である場合に、計器及び制御システム部門が勧告を受け取ることになるであろう。プロセスが重大度レベル１を有する場合には、オペレータと外部契約業者が勧告を受け取ることになるであろう。
【００８６】
使用中及び動作中に、ユーザは、カスタムルールを作成するために、グラフィカルユーザインタフェース４８と協働させてマウスを利用することによりカスタムルールシステム１０と対話する。例えば、ユーザが「蒸気の問題」を検出するルールを作成することを望むならば、プロセスを次のようにすることができる。
【００８７】
まず、図７を参照して説明すると、ユーザはファイルメニュー１６２からメニューオプション「ｎｅｗ ｒｕｌｅ（新ルール）」を選択し、そのルールに名前を付ける（例えば、ｎｅｗ ｒｕｌｅ１）。そこで、カスタムルールシステム１０は、ＧＵＩにＴｏｔａｌｌｙ Ｃｕｓｔｏｍ Ｒｕｌｅｓ， Ｃｈａｎｇｅ Ｓｔｏｒｅｄ Ｒｕｌｅｓ ａｎｄ Ｄｅｒｉｖｅｄ Ｖａｌｕｅｓという選択肢を表示することにより、新たなカスタムルールを作成するであろうルールを作成するか、取り出された結果のいずれかを選択するようにユーザに促す。そこで、ユーザは選択を実行し、その後、次のダイアログボックスへ移るために「ｎｅｘｔ」アイコン１６４をクリックする。図７に示すように、この次のダイアログボックス１６６はルールを実行すべき機械列、器械又は構成要素の図形オブジェクトを表示する。そこで、ユーザはそれらの図形オブジェクトのうちの１つ以上を選択するように促される。ユーザはマウスを利用して１つ以上の図形オブジェクトを選択し、その後、図８に示される次のダイアログボックス１７６へ移るために「ｎｅｘｔ」アイコン１６４をクリックする。尚、この例ではＨＰタービンが選択される。
【００８８】
次に、図８に示すダイアログボックス１７６を参照すると、ユーザはルールに関して示すべき初期値を選択することを促される。カスタムルールシステム１０はデータベース又は知識データベース７２からの情報を提供し、それをユーザに対して多様な分類型１７８として表示する。そこで、ユーザは選択された機械について様々に異なる分類型１７８の中から１つの特定の分類型を選択する。この分類型は変換器からの生データ、処理済データ又はデータベースからのデータを含むと考えられる。例えば、分類型は構成済み（Ｃｏｎｆｉｇｕｒｅｄ）データ、測定（Ｍｅａｓｕｒｅｍｅｎｔ）データ、派生（Ｄｅｒｉｖｅｄ）データ、カスタム派生（Ｃｕｓｔｏｍ Ｄｅｒｉｖｅｄ）データ、結果（Ｒｅｓｕｌｔ）データ及びカスタム結果（Ｃｕｓｔｏｍ Ｒｅｓｕｌｔ）データを含むことができる。そこで、ユーザは選択された分類型から１つ以上のアイテムを選択する。例えば、図示されるように、測定分類型を選択した場合、ユーザは、測定分類型からの蒸気流量及び蒸気圧力を選択することによりカスタムルールに測定値を追加し、それにより、図９に示される蒸気流量（Ｓｔｅａｍ Ｆｌｏｗ）ステップ１８０である１つのステップと、蒸気圧力（Ｓｔｅａｍ Ｐｒｅｓｓｕｒｅ）ステップ１８２である１つのステップとを定義する。その後、ユーザは「ｆｉｎｉｓｈ」アイコン１６８をクリックし、その結果、カスタムルールモジュール及びディスプレイモジュールは、図９に示されるようなルールグラフィカルウィンドウ１７０と、ステップパレット又は行列ウィンドウ１０２と、生成ルールロジックグラフィカルウィンドウ１７２とを立ち上げる。
【００８９】
図９を参照して説明すると、ユーザはステップパレット又は行列１０２からルールステップ表現を選択し、それをルールウィンドウ１７０までドラッグアンドドロップして、「Ｎｅｗ Ｒｕｌｅ１」カスタムルールで利用されるべき追加ルールステップを定義するために、マウス４４を利用するのが好ましい。
【００９０】
具体的には、図９及び図１０において、ユーザはパレットから未定義結果ルールステップ表現１５０を選択し、それをルールウィンドウ１７０へドラッグアンドロップし、そこでルールステップ表現はルールステップ１８４として示される。尚、このアクションによって、結果ステップのテキストバージョンが下方のルールロジックグラフィカルウィンドウに配置され、これは２に等しい重大度を含むことに注意する。
【００９１】
未定義結果ルールステップ１８４の場所でマウス４４の１つのボタン、例えば、右側のマウスボタンをクリックすると、カスタムルールモジュール及びディスプレイモジュールは、図１１及び図１２にそれぞれ示すような特性ダイアログボックス１９６と、結果（Ｒｅｓｕｌｔｓ）ダイアログボックス１９８とを立ち上げる。ユーザは、特性ダイアログボックス１９６により作成される結果を選択することができ、この例では、その結果は「蒸気の問題（Ｓｔｅａｍ Ｐｒｏｂｌｅｍ）」と名付けられている。更に、ユーザは、特性（Ｐｒｏｐｅｒｔｉｅｓ）ダイアログボックス１９６により、新結果（Ｎｅｗ）グラフィカルキー２３０、編集（Ｅｄｉｔ）グラフィカルキー２３２及び削除（Ｄｅｌｅｔｅ）グラフィカルキー２３４をそれぞれ介して新たな結果を作成するか、既存の結果を編集するか、又は既存の結果を削除するかを選択することができる。これらのグラフィカルキーのいずれかを走査すると、図１２に示すように結果ダイアログボックス１９８が現れる。そこで、ユーザは作成された結果の名前、推奨アクション及び詳細を追加、編集及び／又は削除することができる。
【００９２】
更に、図１３を参照すると、ユーザは、単にマウスを利用して重大度ボックス２３６のいずれかをクリックすることにより、結果の重大度を変更することができる。この例では、重大度は図１０に示すような重大度２から重大度３に変更されている。このことは下方のルールロジックグラフィカルウィンドウ１７２に配置されたテキストバージョンからも見て取れる。
【００９３】
次に追加ルールステップが追加され、そこで、結果ステップは追加及び定義されたことになる。
【００９４】
図１４を参照すると、ユーザは２つの定数ルールステップ１８６、１８８と、２つの未満ルールステップ１９０、１９２と、ブールＯＲルールステップ１９４とを追加している。尚、パレット１０２も図３及び図９に示すようにグラフィカルユーザインタフェース４８に現れるであろうが、図をわかりやすくするために省略されている。
【００９５】
具体的には、図３、図９及び図１４に示すように、ユーザはパレット１０２から第１の定数ルールステップ表現１４２を選択し、それを蒸気流量ルールステップ１８０の下方までドラッグアンドドロップしてルールステップ１８６を形成し、次に、パレット１０２から第２の定数ルールステップ表現１４２を選択し、それを蒸気圧力ルールステップ１８２の下方へドラッグアンドドロップしてルールステップ１８８を形成する。これにより、図１４に示すように、４つのルールステップ１８０、１８２、１８６、１８８がほぼ第１の縦列位置に入ることになる。同様に、ユーザは第１の未満ルールステップ表現１１６を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ１９０を形成し、次に、パレットから第２の未満ルールステップ表現１１６を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ１９２を形成する。これにより、第１の未満ルールステップ１９０と第２の未満ルールステップ１９２が第１の縦列位置の右側の第２の縦列位置にほぼ入ることになる。最後に、ユーザはパレットからブールＯＲルールステップ表現１２６を選択し、それをルールウィンドウ内へドラッグアンドドロップしてルールステップ１９４を形成する。これにより、ＯＲルールステップ１９４は、第２の縦列位置の右側にあり且つ結果ルールステップ１８４が配置されている第５の縦列位置の左側にある第３の縦列位置にほぼ入ることになる。
【００９６】
全てのルールステップがルールウィンドウ１７０の所定の場所に入ったならば、その後は定数の値を入力し、全てのステップを結合してカスタムルールを仕上げるだけで良い。
【００９７】
図１５を参照すると、ユーザは単に１つのルールの出力の場所でマウスボタンをクリックし、それをドラッグして、そのルールの右側にある縦列に配置されている別のルールの入力でマウスボタンを放すだけである。図１５に示すように結合２４０、２４２、２４４、２４６、２４８、２５０及び２５２が獲得されるまで、このプロセスを繰り返す。このようにして完成したカスタムルールは、先に図２から図５に例示し且つそれらを参照して説明したように、特に、ルールステップ識別子及び結合の関数として格納される。尚、ルールが作成されると、生成ルールロジックウィンドウ１７２のテキストは自動的に更新され、全てのルール相互結合が完了したときのカスタムルールの完成済みカスタムルールテキストロジックを示す。
【００９８】
ルールステップはその左側に位置するルールステップには結合不可能であるのが好ましい。言い換えれば、ルールステップの結合は一方向にのみ可能であるのが好ましい。どのルールステップも完全に自律的であり、各ルールステップは後続するルールステップの前に処理される。
【００９９】
更に、カスタムルールが作成されるとき、カスタムルールモジュールは結合が有効であるか否かを知るために検査を実行し、無効であれば、モジュールは結合を作成しない。モジュールは、入力型と出力型を比較することにより何が結合可能であり、何が結合不可能であるかを知るようにプログラムされている。これに対し、コードが書き込まれる場合には、相互結合が不適正である場合にユーザに警告する手段は全く存在しない。
【０１００】
完成後、カスタムルールがトリガされると、ユーザに対して実際の結果が示される。カスタムルール結果はイベントをトリガさせない部分結果を生成することもできる。更に、１つのルールが様々に異なる重大度を持つ複数のイベントをトリガさせることもありうる。また、イベントトリガ間でロジックパスを共用することが可能である。
【０１０１】
ユーザは、先に概要を説明したように、図形表示されるステップパレット又は行列１０２から多種多様なカスタムルールを作成することができる。図１から図３に戻って説明すると、本発明の好ましい一形態においては、ステップパレット又は行列１０２に図形表示されるルールステップ１００は次の通りである。
【０１０２】
１０４により表される加算ルールステップ（Ａｄｄｉｔｉｏｎ Ｒｕｌｅ Ｓｔｅｐ）は数又はデータを加算する。ルールウィンドウに加算ルールステップ表現が配置される場合、その図形表現はその右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。左側の上下の入力からの全ての入力はその順序に関係なく全て加算され、結果は右側の出力で出力される。
【０１０３】
１０６により表される減算ルールステップ（Ｓｕｂｔｒａｃｔｉｏｎ Ｒｕｌｅ Ｓｔｅｐ）は数又はデータを減算する。ルールウィンドウに減算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数は減算プロセスの開始時に使用される最初の数であり、まず、最上位置の数から下方の１つの数を減算することにより結果を求め、その結果から下方の次の数を減算して次の結果を求め、減算すべき下方の数がなくなるまでこのプロセスを繰り返す。最終結果は右側の出力で出力される。
【０１０４】
１０８により表される乗算ルールステップ（Ｍｕｌｔｉｐｌｉｃａｔｉｏｎ Ｒｕｌｅ Ｓｔｅｐ）は数又はデータを乗算する。ルールウィンドウに乗算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。左側の上下の入力からの全ての入力はその順序に関わらず互いに乗算され、最終結果は右側の出力で出力される。
【０１０５】
１１０により表される除算ルールステップ（Ｄｉｖｉｓｉｏｎ Ｒｕｌｅ Ｓｔｅｐ）は数又はデータを除算する。ルールウィンドウに除算ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数は除算プロセスの開始時に使用される最初の数であり、まず、下方にある何れかの数で最上位置の数を除算することにより商を求め、その商について次の除算を実行し、最後の商として除算すべき下方の数がなくなるまでこのプロセスを繰り返す。最終結果は右側の出力で出力される。
【０１０６】
１１２により表される等しいルールステップ（Ｅｑｕａｌ Ｒｕｌｅ Ｓｔｅｐ）は比較ステップとして機能する。ルールウィンドウに等しいルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の数を下方の値の各々と比較し、真を保持するための等しい条件を満たすためには、下方の値の各々は最上位置の値と等しくなければならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１０７】
１１４により表される等しくないルールステップ（Ｎｏｔ Ｅｑｕａｌ Ｒｕｌｅ Ｓｔｅｐ）も比較ステップとして機能する。ルールウィンドウに等しくないルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するために等しくない条件を満たすためには、下方の値の各々は最上位置の値と等しくてはならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１０８】
１１６により表される未満ルールステップ（Ｌｅｓｓ Ｔｈａｎ Ｒｕｌｅ Ｓｔｅｐ）も比較ステップとして機能する。ルールウィンドウに未満ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための未満条件を満たすためには、下方の値の各々は最上位置の値より小さくなければならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１０９】
１１８により表される「以下」ルールステップ（Ｌｅｓｓ Ｔｈａｎ Ｏｒ Ｅｑｕａｌ Ｔｏ Ｒｕｌｅ Ｓｔｅｐ）も比較ステップとして機能する。ルールウィンドウに「以下」ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための以下条件を満たすためには、下方の値の各々は最上位置の値以下でなければならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１１０】
１２０により表される「より大きい」ルールステップ（Ｇｒｅａｔｅｒ Ｔｈａｎ Ｒｕｌｅ Ｓｔｅｐ）も比較ステップとして機能する。ルールウィンドウに「より大きい」ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するためのより大きい条件を満たすためには、下方の値の各々は最上位置の値より小さくなければならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１１１】
１２２により表される以上ルールステップ（Ｇｒｅａｔｅｒ Ｔｈａｎ Ｏｒ Ｅｑｕａｌ Ｔｏ Ｒｕｌｅ Ｓｔｅｐ）も比較ステップとして機能する。ルールウィンドウに以上ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最上位置の値を下方の値の各々と比較し、真を保持するための以上条件を満たすためには、下方の値の各々は最上位置の値以上でなければならない。例えば、真の場合は１、偽の場合は０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１１２】
１２４により表されるブールＡＮＤルールステップ（Ｂｏｏｌｅａｎ ＡＮＤ Ｒｕｌｅ Ｓｔｅｐ）は論理ステップとして機能する。ルールウィンドウにブールＡＮＤルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。真を保持するためのＡＮＤ条件を満たすためには、全ての入力がある条件に適合しなければならないか、真でなければならないか、又は同じ値を有していなければならない。例えば、真を保持するＡＮＤ条件の場合は論理値１、偽を保持するＡＮＤ条件の場合には論理値０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１１３】
１２６により表されるブールＯＲルールステップ（Ｂｏｏｌｅａｎ ＯＲ Ｒｕｌｅ Ｓｔｅｐ）も論理ステップとして機能する。ルールウィンドウにブールＯＲルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。真を保持するためのＯＲ条件を満たすためにはどの入力もある条件に適合しなければならないか、又は真でなければならない。例えば、真を保持するＯＲ条件の場合は論理値１、偽を保持するＯＲ条件の場合には論理値０の形態をとる真又は偽の最終値が右側の出力で出力される。
【０１１４】
１２８により表されるブールＮＯＴルールステップ（Ｂｏｏｌｅａｎ ＮＯＴ Ｒｕｌｅ Ｓｔｅｐ）も論理ステップとして機能する。ルールウィンドウにブールＮＯＴルールステップが配置された場合、その図形表現は右側に１つの出力、左側に１つの入力を含む。ＮＯＴルールステップは入力を反転させ、インバータルールステップとも呼ばれる。例えば、論理値１の形態をとる真の値がブールＮＯＴルールステップの入力で入力されると、ブールＮＯＴルールステップの出力では論理値０の形態をとる偽の値が出力される。
【０１１５】
１３０により表される最大値ルールステップ（Ｍａｘ Ｒｕｌｅ Ｓｔｅｐ）は最大の値を有する入力値を発見し、それを出力する。ルールウィンドウに最大値ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最大値を発見するために全ての入力が処理され、最大値は右側の出力で出力される。
【０１１６】
１３２により表される最小値ルールステップ（Ｍｉｎ Ｒｕｌｅ Ｓｔｅｐ）は最小の値を有する入力値を発見し、それを出力する。ルールウィンドウに最小値ルールステップが配置された場合、その図形表現は右側に出力を含み、左側の上の入力は唯１つの結合を処理することが可能であり、左側の下の入力は複数の結合を処理することが可能であるのが好ましい。最小値を発見するために全ての入力が処理され、最小値は右側の出力で出力される。
【０１１７】
１３４により表される絶対値ルールステップ（Ａｂｓｏｌｕｔｅ（Ａｂｓ）Ｖａｌｕｅ Ｒｕｌｅ Ｓｔｅｐ）は入力値の絶対値を発見し、それを出力する。ルールウィンドウに絶対値ルールステップが配置された場合、その図形表現は右側に１つの出力、左側に１つの入力を含む。絶対値を発見するために入力が処理され、絶対値は右側の出力で出力される。
【０１１８】
１３６により表されるスイッチルールステップ（Ｓｗｉｔｃｈ Ｒｕｌｅ Ｓｔｅｐ）は最上位置の入力で入力された値を取り上げ、その値が真であれば、中央の値を出力し、偽であれば、最下方の入力を出力する。具体的には、ルールウィンドウにスイッチルールステップが配置された場合、その図形表現は右側に出力を含み、左側の最上位置の入力は唯１つの結合を処理することが可能であり、左側の中央の入力は唯１つの結合を処理することが可能であり、左側の最下方の入力は唯１つの結合を処理することが可能であるのが好ましい。
【０１１９】
１３８により表されるリストルールステップ（Ｌｉｓｔ Ｒｕｌｅ Ｓｔｅｐ）は事項を数え上げとして分類する。使用中、例えば、ユーザが、まず、軸受などの分類から１つのアイテムを選択し、その結果、ルールステップウィンドウにオペランドステップが現れる。次に、ユーザはリストルールステップ及び等しいルールステップをルールウィンドウ内に配置する。次に、ユーザは軸受の分類とリストルールステップの双方を等しいルールステップに結合し、その結果、リストルールステップは個別に選択できる軸受と関連する値で満たされる。従って、ユーザは軸受などの要素と関連する全ての値を知っている必要がない。
【０１２０】
１４０により表されるＦ（Ｘ）ルールステップ（Ｆ（Ｘ）Ｒｕｌｅ Ｓｔｅｐ）は、派生値を出力する出力ステップである。ユーザはある関数を定義し、それを個別のＦ（Ｘ）ルールとして格納する。あるいは、ユーザはあるルールの出力を個別のＦ（Ｘ）ルールとして格納することができる。例えば、あるルールが加算ルールステップに対する８つの入力を含んでおり、その出力が除算ルールステップで８で除算されたとすれば、平均値が求められ、それがＦ（Ｘ）ルールステップに入力され、次に格納され、後続するルールを構築する際にその値を使用することが可能になる。ルールウィンドウにＦ（Ｘ）ルールステップが配置された場合、その図形表現は右側に１つの入力、左側に定義される関数について要求される数の入力を含む。
【０１２１】
１４４により表されるテンプルールステップ（Ｔｅｍｐ Ｒｕｌｅ Ｓｔｅｐ）は、更に入力ステップを選択するためにユーザを画面に引き戻す。
【０１２２】
１４６により表される真／偽ルールステップ（Ｔｒｕｅ／Ｆａｌｓｅ Ｒｕｌｅ Ｓｔｅｐ）は、ユーザによる定義に従って真又は偽の値を出力する出力ステップである。
【０１２３】
１４８により表されるルールステップは、他のルールで使用できる派生値である。
【０１２４】
１５０により表される結果ルールステップ（Ｒｅｓｕｌｔ Ｒｕｌｅ Ｓｔｅｐ）は、カスタムルールの結果を出力するルールステップである。
【０１２５】
図１６から図２８は、カスタムルールセットデータベース６０に含まれるテーブル６４の各々の好ましい一形態を示す。各テーブルは、少なくとも１つのフィールドを有する少なくとも１つのレコードを含む。
【０１２６】
詳細には、図１６は、ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄ、ｒｕｌｅ＿ｇｒｏｕｐ＿ｇｕｉｄ、ｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙ、ｉｓ＿ｒｕｌｅ＿ｇｒｏｕｐ＿ａｃｔｉｖｅ、ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ＿ｉｄ、ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ、ｒｕｌｅ＿ｔｙｐｅ、ｉｓ＿ｐａｓｓｗｏｒｄ＿ａｃｔｉｖｅ及びｒｕｌｅ＿ｇｒｏｕｐ＿ｐａｓｓｗｏｒｄの各フィールドから構成されるレコードを示すルールグループテーブル２６０を示す。
【０１２７】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄはルールグループの一意の識別子である。書き込まれるルールは、いずれも、１つのグループを割り当てられる。ルールが所属するグループは、その優先権が一まとまりにされるルールの集合（ルールが実行される順序）、誰がそのルールを閲覧し、編集できるか、及びルールのグループが活動中であるか否かを判定する。ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄはローカル識別子である。有効なルールグループを検証するために、データベース間でｒｕｌｅ＿ｇｒｏｕｐ＿ｇｕｉｄが検査されなければならない。
【０１２８】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｇｕｉｄは、ルールグループが作成されるときにルールグループに割り当てられるＩＤである。ｒｕｌｅ＿ｇｒｏｕｐ＿ｇｕｉｄは、異なるデータベースの間で一意のままに保持される固有の数である。１つのデータベースから別のデータベースへルールグループがコピーされる場合、それと共にｒｅｓｕｌｔ＿ｇｕｉｄがコピーされる。
【０１２９】
ｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙは、そのグループに所属する全てのルールが実行される優先順位である。全てのルールグループはｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙの順序で読み取られる。その後、各々のグループルールが実行される。例えば、ｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙが１であれば、第１のグループのルールが実行され、ｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙが３２，７６７であるグループのルールが最後に実行されるべきルールとなる。
【０１３０】
ｉｓ＿ｒｕｌｅ＿ｇｒｏｕｐ＿ａｃｔｉｖｅが真であるとき、そのルールグループ（ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄ）の一部であるルールの全てが実行されるべきである。ｉｓ＿ｒｕｌｅ＿ｇｒｏｕｐ＿ａｃｔｉｖｅが偽であれば、そのルールグループ（ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄ）の一部であるルールはいずれも実行されるべきではない。
【０１３１】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ＿ｉｄは、そのルールグループを記述するために表示されるテキストのｔｅｘｔ＿ｉｄである。このテキストはｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ＿ｉｄ＜＞０である場合に限りユーザに対して示される。ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ＿ｉｄ＝０である場合には、ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔのテキストが使用されるべきである。
【０１３２】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔは、そのルールグループを記述するために表示されるテキストである。このテキストは、ｒｕｌｅ＿ｇｒｏｕｐ＿ｔｅｘｔ＿ｉｄ＝０である場合に限りユーザに対して示される。
【０１３３】
ｒｕｌｅ＿ｔｙｐｅ数え上げは、ルールがどの型として作成されたかを格納している。ユーザはシステム１０により３種類の型のルールを作成できる。１つは他のどのルールでも使用できる派生値に対するものであり、１つは既存の結果重大度を再マッピングするものであり、もう１つはユーザ定義済みカスタム報告可能結果に対するものである。
【０１３４】
ｉｓ＿ｐａｓｓｗｏｒｄ＿ａｃｔｉｖｅ数え上げは、ｒｕｌｅ＿ｇｒｏｕｐ＿ｐａｓｓｗｏｒｄが活動中である場合に真である。これは、いずれかのルール、派生値又はカスタムルールを閲覧又は編集するために、正しいパスワードを入力することによりルールグループを起動しなければならないことを意味している。
【０１３５】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｐａｓｓｗｏｒｄは、そのグループのルール、カスタム結果及び派生値を閲覧し且つ編集する能力を起動するために入力しなければならないパスワードである。
【０１３６】
図１７は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｒｕｌｅ＿ｔｅｘｔ、ｒｕｌｅ＿ｔｅｘｔ＿ｉｄ、ｉｓ＿ｖａｌｉｄ、ｉｓ＿ａｃｔｉｖｅ、ｉｓ＿ｄｅｌｅｔｅｄ、ｒｕｌｅ＿ｐｒｉｏｒｉｔｙ、ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄ、ｃｏｍｐｏｎｅｎｔ＿ｋｅｙ及びｎｕｍ＿ｒｅｓｕｌｔ＿ｓｔｅｐｓの各フィールドから構成されるレコードを示すルールテーブル２６２を示す。
【０１３７】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールの変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップをこのようにして発見することができる。
【０１３８】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。尚、システム１０で変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成されることに注意する。そこで、ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするために使用される。
【０１３９】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。尚、システム１０で変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成されることに注意する。そこで、ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするために使用される。
【０１４０】
ｒｕｌｅ＿ｔｅｘｔはルールの名前として表示されるテキストである。このテキストはｒｕｌｅ＿ｔｅｘｔ＿ｉｄ＝０である場合に限りユーザに対して示される。
【０１４１】
ｒｕｌｅ＿ｔｅｘｔ＿ｉｄはルールの名前として表示されるテキストのｔｅｘｔ＿ｉｄである。このテキストはｒｕｌｅ＿ｔｅｘｔ＿ｉｄ＜＞０である場合に限りユーザに対して示される。ｒｕｌｅ＿ｔｅｘｔ＿ｉｄ＝０である場合には、ｒｕｌｅ＿ｔｅｘｔのテキストが使用されるべきである。
【０１４２】
ｉｓ＿ｖａｌｉｄはルールが良好であり、実行可能であることを表す。
【０１４３】
ｉｓ＿ａｃｔｉｖｅはルールが活動状態であり、ルール処理中に実行されるべきであることを表す。
【０１４４】
ｉｓ＿ｄｅｌｅｔｅｄはルールが削除されたことを表す。ルールはデータベースからは除去されないので、削除後もルールの履歴を示すことは可能である。
【０１４５】
ｒｕｌｅ＿ｐｒｉｏｒｉｔｙはルールが実行されるべき順序を格納する。ｒｕｌｅ＿ｐｒｉｏｒｉｔｙは所定のルールグループの中におけるルール処理の順序を指示するだけである。各ルールグループはｇｒｏｕｐ＿ｐｒｉｏｒｉｔｙにより優先順位を定められる。１のｒｕｌｅ＿ｐｒｉｏｒｉｔｙは実行される第１のルールであり、２，１４７，４８３，６４８のｒｕｌｅ＿ｐｒｉｏｒｉｔｙは最後に実行されるべきルールである。
【０１４６】
ｒｕｌｅ＿ｇｒｏｕｐ＿ｉｄはルールグループの一意の識別子である。書き込まれるどのルールも１つのグループを割り当てられる。あるルールが所属するグループはその優先順位がひとまとめにされているルールの集合（ルールが実行される順序）、誰がそのルールを閲覧し、編集することができるか、及びルールのグループが活動中であるか否かを判定する。
【０１４７】
ｃｏｍｐｏｎｅｎｔ＿ｋｅｙはデータベース中のコンポーネントの一意の識別子である。
【０１４８】
ｎｕｍ＿ｒｅｓｕｌｔ＿ｓｔｅｐｓは所定のルール（ｒｕｌｅ＿ｉｄ）の結果ステップの数である。
【０１４９】
図１８は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｓｔｅｐ＿ｎｕｍ、ｖｅｒｔ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍ、ｈｏｒｚ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍ及びｏｐｅｒａｔｉｏｎ＿ｉｄの各フィールドから構成されるレコードを示すルールステップテーブル２６４を示す。
【０１５０】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０１５１】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１５２】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１５３】
ｓｔｅｐ＿ｎｕｍは１つのルールにおける個々のルールステップの各々を識別するために使用される。ｓｔｅｐ＿ｎｕｍは追加される第１のステップに対応する１から始まり、ルールに追加される追加ステップごとに１増分される。ｓｔｅｐ＿ｎｕｍはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に１つのレコードを有し、作成されるときにｓｔｅｐ＿ｎｕｍを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、ｓｔｅｐ＿ｎｕｍは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【０１５４】
ｖｅｒｔ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍはルールステップの縦位置を格納する。これは、表示装置においてそのルールが表示される縦位置である。また、ｖｅｒｔ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍはルールステップ処理を順序付けるためにも使用される。ｈｏｒｚ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍはルール処理順序には最も重要である。
【０１５５】
ｈｏｒｚ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍはルールステップの横位置を格納する。これは、表示装置においてそのルールが表示される横位置である。ｈｏｒｚ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍはルールステップ処理を順序付けるために使用される主要な値である。同じｈｏｒｚ＿ｐｏｓｉｔｉｏｎ＿ｎｕｍを有する全てのルールステップはどのような順序でも処理が可能である。
【０１５６】
ｏｐｅｒａｔｉｏｎ＿ｉｄは支援される演算ごとの識別子である。カスタムルールプロセッサにおいて支援される演算の種類ごと（加算、減算など）に１つのレコードが存在する。
【０１５７】
図１９は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｃｏｎｎｅｃｔｉｏｎ＿ｎｕｍ、ｆｒｏｍ＿ｓｔｅｐ＿ｎｕｍ、ｆｒｏｍ＿ｏｕｔｐｕｔ＿ｎｕｍ、ｔｏ＿ｓｔｅｐ＿ｎｕｍ及びｔｏ＿ｉｎｐｕｔ＿ｎｕｍの各フィールドから構成されるレコードを示すルール結合テーブル２６６を示す。
【０１５８】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０１５９】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１６０】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１６１】
ｃｏｎｎｅｃｔｉｏｎ＿ｎｕｍはルールにおける結合の番号を格納する。これはルールにおける結合を探索するための基本キーの一部である。結合はルールステップ出力からルールステップ入力へ行われる。ルール中のどの結合も独自のｃｏｎｎｅｃｔｉｏｎ＿ｎｕｍを獲得する。
【０１６２】
ｆｒｏｍ＿ｓｔｅｐ＿ｎｕｍは結合の出力側を有するルールステップのｓｔｅｐ＿ｎｕｍである。
【０１６３】
ｆｒｏｍ＿ｏｕｔｐｕｔ＿ｎｕｍは結合が結合されるルールステップ出力のｏｕｔｐｕｔ＿ｎｕｍである。
【０１６４】
ｔｏ＿ｓｔｅｐ＿ｎｕｍは結合の入力側を有するルールステップのｓｔｅｐ＿ｎｕｍである。
【０１６５】
ｔｏ＿ｉｎｐｕｔ＿ｎｕｍは結合が結合されるルールステップ入力のｉｎｐｕｔ＿ｎｕｍである。
【０１６６】
図２０は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｓｔｅｐ＿ｎｕｍ、ｉｎｐｕｔ＿ｎｕｍ、ｖａｌｕｅ＿ｔｙｐｅ及びｓｔｅｐ＿ｉｎｐｕｔ＿ｅｎｕｍ＿ｉｄの各フィールドから構成されるレコードを示すルールステップ入力テーブル２６８を示す。
【０１６７】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０１６８】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１６９】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。ルールデスクにおいて変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１７０】
ｓｔｅｐ＿ｎｕｍは１つのルールにおける個々のルールステップの各々を識別するために使用される。ｓｔｅｐ＿ｎｕｍは追加される第１のステップに対応する１から始まり、ルールに追加される追加ステップごとに１増分される。ｓｔｅｐ＿ｎｕｍはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に１つのレコードを有し、作成されるときにｓｔｅｐ＿ｎｕｍを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、ｓｔｅｐ＿ｎｕｍは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【０１７１】
各ルール演算は複数の入力を有することが可能である。ｉｎｐｕｔ＿ｎｕｍはレコードデータがどの入力を記述しているかを識別する。
【０１７２】
ｖａｌｕｅ＿ｔｙｐｅはルールステップに入る又はルールステップから出る値の型を格納する。これは値を検索し且つ新たなルールを作成するときに適正な結合接続を検証するために使用される。
【０１７３】
ｓｔｅｐ＿ｉｎｐｕｔ＿ｅｎｕｍ＿ｉｄはルールステップ入力のｅｎｕｍ＿ｉｄである。０であるｓｔｅｐ＿ｉｎｐｕｔ＿ｅｎｕｍ＿ｉｄは、その入力が数え上げ値ではないことを指示する。
【０１７４】
図２１は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｓｔｅｐ＿ｎｕｍ、ｏｕｔｐｕｔ＿ｎｕｍ、ｖａｌｕｅ＿ｔｙｐｅ、ｂ＿ｖａｌｕｅ、ｆ＿ｖａｌｕｅ、ｉ＿ｖａｌｕｅ、ｅ＿ｖａｌｕｅ、ｕｎｉｔｓ、ｓｕｂ＿ｕｎｉｔｓ、ｆｉｌｅｄ＿ｉｄ、ｃｏｍｐｏｎｅｎｔ＿ｋｅｙ、ｓｔｅｐ＿ｏｕｔｐｕｔ＿ｅｎｕｍ＿ｉｄ及びｌｏｏｐ＿ｎｕｍの各フィールドから構成されるレコードを示すルール出力テーブル２７０を示す。
【０１７５】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０１７６】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１７７】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１７８】
ｓｔｅｐ＿ｎｕｍは１つのルールにおける個々のルールステップの各々を識別するために使用される。ｓｔｅｐ＿ｎｕｍは追加される第１のステップに対応する１から始まり、ルールに追加される追加ステップごとに１増分される。ｓｔｅｐ＿ｎｕｍはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に１つのレコードを有し、作成されるときにｓｔｅｐ＿ｎｕｍを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、ｓｔｅｐ＿ｎｕｍは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【０１７９】
各ルール演算は複数の出力を有することが可能である。ｏｕｔｐｕｔ＿ｎｕｍはレコードデータがどの出力を記述しているかを識別する。
【０１８０】
ｖａｌｕｅ＿ｔｙｐｅはルールステップに入る又はルールステップから出る値の型を格納する。これは値を検索し且つ新たなルールを作成するときに適正な結合接続を検証するために使用される。
【０１８１】
ｂ＿ｖａｌｕｅは、ｖａｌｕｅ＿ｔｙｐｅがブールである場合のルールステップ出力の値である。
【０１８２】
ｆ＿ｖａｌｕｅは、ｖａｌｕｅ＿ｔｙｐｅが浮動である場合のルールステップ出力の値である。
【０１８３】
ｉ＿ｖａｌｕｅは、ｖａｌｕｅ＿ｔｙｐｅが整数である場合のルールステップ出力の値である。ｖａｌｕｅ＿ｔｙｐｅが数え上げであれば、ｉ＿ｖａｌｕｅにはｅｎｕｍ＿ｖａｌｕｅの数が格納される。
【０１８４】
ｅ＿ｖａｌｕｅは、ｖａｌｕｅ＿ｔｙｐｅが数え上げである場合のルールステップ出力のｅｎｕｍ＿ｉｄ値である。実際の数え上げのルックアップのためのｅｎｕｍ＿ｖａｌｕｅはｉ＿ｖａｌｕｅになるであろう。
【０１８５】
ｕｎｉｔｓはルールステップ出力が格納されたときのユニット型である。これはユニット型を検証するため又はユニット型の変換のために使用できる。これは、クラスベースルールが追加される場合にのみ必要になる確率が最も高いであろう。
【０１８６】
ｓｕｂ＿ｕｎｉｔｓはルールステップ出力が格納されたときのｓｕｂ＿ｕｎｉｔ型である。これはサブユニット型を検証するため又はサブユニット型の変換のために使用できる。これは、クラスベースルールが追加される場合にのみ必要になる確率が最も高いであろう。
【０１８７】
ｆｉｅｌｄ＿ｉｄはデータベースにおける特定の１つのフィールドを指定するために使用される番号である。この番号は、フィールドテーブルに対してフィールド情報を読み取り及び書き込みすることができるように関連データをルックアップするために使用できる。
【０１８８】
ｃｏｍｐｏｎｅｎｔ＿ｋｅｙはデータベース中のコンポーネントの一意の識別子である。
【０１８９】
ｓｔｅｐ＿ｏｕｔｐｕｔ＿ｅｎｕｍ＿ｉｄはルールステップ出力のｅｎｕｍ＿ｉｄである。０の値を有するｓｔｅｐ＿ｏｕｔｐｕｔ＿ｅｎｕｍ＿ｉｄは、出力が数え上げ値ではないことを指示する。
【０１９０】
ｌｏｏｐ＿ｎｕｍは、２つ以上が利用可能である場合のフィールドの番号である。その一例は排気温度に対応するものであろう。タービンの排気温度として複数の温度が存在することは可能である。ｌｏｏｐ＿ｎｕｍは排気温度ポイントの番号になるであろう。
【０１９１】
図２２は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｓｔｅｐ＿ｎｕｍ、ｒｅｓｕｌｔ＿ｔｙｐｅ、ｍｕｌｔｉｐｌｅ＿ｓｅｖｅｒｉｔｉｅｓ、ｃｒｅａｔｅ＿ｓｅｖｅｒｉｔｙ＿０＿ｒｅｓｕｌｔ、ａｕｔｏ＿ｓｔａｕｓ＿ｃｈｅｃｋｉｎｇ及びｎｏ＿ｒｅｓｕｌｔの各フィールドから構成されるレコード示す結果ステップテーブル２７２を示す。
【０１９２】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０１９３】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１９４】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０１９５】
ｓｔｅｐ＿ｎｕｍは１つのルールにおける個々のルールステップの各々を識別するために使用される。ｓｔｅｐ＿ｎｕｍは追加される第１のステップに対応する１から始まり、ルールに追加される追加ステップごとに１増分される。ｓｔｅｐ＿ｎｕｍはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に１つのレコードを有し、作成されるときにｓｔｅｐ＿ｎｕｍを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、ｓｔｅｐ＿ｎｕｍは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【０１９６】
ｒｅｓｕｌｔ＿ｔｙｐｅは、報告可能な結果を識別するためにシステム１０で使用される数である。ｒｅｓｕｌｔ＿ｔｙｐｅは結果のローカルニックネームにより似ている。この数は異なるデータベースにおいては同じ型の結果に対しても異なることがある。ｒｅｓｕｌｔ＿ｇｕｉｄは、データベース間で結果を確実に識別するために使用できる一意の数である。
【０１９７】
ｍｕｌｔｉｐｌｅ＿ｓｅｖｅｒｉｔｉｅｓはユーザにより選択可能である。ユーザが１つの結果ステップによって複数の重大度レベルをトリガできるようにすることを希望する場合、ルールステップの特性における複数の重大度をイネーブルする。ユーザが多重重大度オプションを選択し、起動した場合に、ｍｕｌｔｉｐｌｅ＿ｓｅｖｅｒｉｔｉｅｓは真である。
【０１９８】
ｃｒｅａｔｅ＿ｓｅｖｅｒｉｔｙ＿０＿ｒｅｓｕｌｔはユーザにより選択可能である。ｃｒｅａｔｅ＿ｓｅｖｅｒｉｔｙ＿０＿ｒｅｓｕｌｔが真である場合、ユーザは重大度０の結果を作成させることを選択していたことになる。
【０１９９】
ａｕｔｏ＿ｓｔａｕｓ＿ｃｈｅｃｋｉｎｇはユーザにより選択可能である。ａｕｔｏ＿ｓｔａｕｓ＿ｃｈｅｃｋｉｎｇが真である場合、ユーザは全ての値の自動状態検査をルールにおいて使用させることを選択していたことになる。ルールで使用すべき変数のいずれかが使用不可能であれば、０の重大度が作成、表示され、データ充足結果も作成される。
【０２００】
ｎｏ＿ｒｅｓｕｌｔは、その値が真であると評価された場合に結果を作成しなくても良い入力を示すべきか否かを指示するためのフラグである。
【０２０１】
図２３は、ｒｕｌｅ＿ｉｄ、ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ、ｓｔｅｐ＿ｎｕｍ及びｄｅｒｉｖｅｄ＿ｖａｌｕｅ＿ｉｄの各フィールドから構成されるレコードを示す派生値ステップテーブル２７４を示す。
【０２０２】
ｒｕｌｅ＿ｉｄはルールごとの一意の識別子である。ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄ及びｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄを使用することにより、ルールに対する変更を追跡できる。ｒｕｌｅ＿ｉｄは全てのルールステップテーブルにおいて外部キーの一部として使用される。このようにして、所定のｒｕｌｅ＿ｉｄに所属する全てのルールステップを発見することができる。
【０２０３】
ｂｅｇ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが作成されたときの最新のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けをするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０２０４】
ｅｎｄ＿ｒｕｌｅ＿ｃｏｎｆ＿ｉｄは、ルール又はルールステップが有効である最前のｒｕｌｅ＿ｃｏｎｆ＿ｉｄを格納する。システム１０において変更がなされるたびに、新たなｒｕｌｅ＿ｃｏｎｆ＿ｉｄが作成される。そこで、全ての新たなルール、新たなルールステップ、あるいは変更されたルール又は変更されたルールステップにフラグ付けするためにｒｕｌｅ＿ｃｏｎｆ＿ｉｄが使用される。
【０２０５】
ｓｔｅｐ＿ｎｕｍは１つのルールにおける個々のルールステップの各々を識別するために使用される。ｓｔｅｐ＿ｎｕｍは追加される第１のステップに対応する１から始まり、ルールに追加される追加ステップごとに１増分される。ｓｔｅｐ＿ｎｕｍはルールステップテーブルに対する基本キーの一部である。どのルールステップもルールステップテーブル中に１つのレコードを有し、作成されるときにｓｔｅｐ＿ｎｕｍを与えられる。各々のルールステップは他のテーブルにもレコードを有している可能性があり、ｓｔｅｐ＿ｎｕｍは所定のルールステップに所属するそのような他のレコードを発見するために使用される。
【０２０６】
ｄｅｒｉｖｅｄ＿ｖａｌｕｅ＿ｉｄは、派生値を識別するためにシステムで使用される番号である。ｄｅｒｉｖｅｄ＿ｖａｌｕｅ＿ｉｄは派生値のローカルニックネームにより似ている。この番号は異なるデータベースであれば同じ型の派生値に対しても異なることがある。ｄｅｒｉｖｅｄ＿ｖａｌｕｅ＿ｇｕｉｄは、データベース間で派生値を確実に識別するために使用できる一意の番号である。
【０２０７】
図２４は、ｓｙｓｔｅｍ＿ｏｐｔｉｏｎｓ＿ｋｅｙ、ｄａｔａｂａｓｅ＿ｍａｊｏｒ＿ｖｅｒｓｉｏｎ、ｄａｔａｂａｓｅ＿ｍｉｎｏｒ＿ｖｅｒｓｉｏｎ及びｄａｔａｂａｓｅ＿ｃｕｓｔｏｍ＿ｖｅｒｓｉｏｎの各フィールドから構成されるレコードを示すシステムオプションテーブル２７６を示す。
【０２０８】
ｓｙｓｔｅｍ＿ｏｐｔｉｏｎｓ＿ｋｅｙはシステムオプションテーブルの基本キーである。このテーブルは唯１つのレコードを有するべきである。
【０２０９】
ｄａｔａｂａｓｅ＿ｍａｊｏｒ＿ｖｅｒｓｉｏｎはデータベースのメジャーバージョンである。データベースに対する大きな変更が起こった場合、メジャーバージョンをロールすることができる。
【０２１０】
ｄａｔａｂａｓｅ＿ｍｉｎｏｒ＿ｖｅｒｓｉｏｎはデータベースのマイナーバージョンである。データベースに対する小さな変更が起こった場合、マイナーバージョンをロールすることができる。ｄａｔａｂａｓｅ＿ｍａｊｏｒ＿ｖｅｒｓｉｏｎが増分されるたびに、ｄａｔａｂａｓｅ＿ｍｉｎｏｒ＿ｖｅｒｓｉｏｎは１に戻されるべきである。
【０２１１】
ｄａｔａｂａｓｅ＿ｃｕｓｔｏｍ＿ｖｅｒｓｉｏｎはデータベースのカスタムバージョンである。データベースのカスタムバージョンを作成する場合、これらの変更をｄａｔａｂａｓｅ＿ｃｕｓｔｏｍ＿ｖｅｒｓｉｏｎによって識別することができる。
【０２１２】
図２５は、ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅ、ａｎｃｅｓｔｏｒ＿ｃｏｎｐｏｎｅｎｔ＿ｔｙｐｅ及びａｎｃｅｓｔｏｒ＿ｌｅｖｅｌの各フィールドから構成されるレコードを示すクラス階層テーブル２７８を示す。
【０２１３】
ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅはコンポーネントの型を格納する。レンジ内で定義されるあらゆるコンポーネントを定義するために「Ｃｏｍｐｏｎｅｎｔ Ｔｙｐｅ」テーブルには１つのエントリが存在していなければならない。
【０２１４】
ａｎｃｅｓｔｏｒ＿ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅは、収集中データベースからｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅが継承するコンポーネントの型を格納する。
【０２１５】
ａｎｃｅｓｔｏｒ＿ｌｅｖｅｌは、ａｎｃｓｓｔｏｒ＿ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅが先祖ツリーのどれほどの高さにあるかを示す。１の値を有するａｎｃｅｓｔｏｒ＿ｌｅｖｅｌは、親ａｎｃｅｓｔｏｒ＿ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅである。２の値を有するａｎｃｅｓｔｏｒ＿ｌｅｖｅｌは、祖父母ａｎｃｅｓｔｏｒ＿ｃｏｍｐｏｎｅｎｔ＿ｔｙｐｅなどである。
【０２１６】
図２６は、ｔｅｘｔ＿ｉｄ及びｅｎｇｌｉｓｈ＿ｔｅｘｔの各フィールドから構成されるレコードを示す英文テキストテーブル２８０を示す。
【０２１７】
ｔｅｘｔ＿ｉｄは別個のＤＬＬにおいてストリングテーブルの実際のテキスト値をルックアップするために使用される数である。ｔｅｘｔ＿ｉｄは国際化をより容易にするために使用される。
【０２１８】
次のことに注意すべきである。
【０２１９】
ｔｅｘｔ＿ｉｄはデータベースにおいて実際のテキストの代わりに使用される。システム１０がテキスト識別子を使用する理由は、識別子がデータベースにおいてテキストを１つの数として定義できるのに対し、実際のテキストは言語モジュールにストリングテーブルとして格納されるからである。これは国際化のために実行される。データベースに我々のテキストを挿入しようとすれば、システム１０の国際化に関して問題を生じるであろう。
【０２２０】
開発者又はユーザのいずれかにより入力可能であるテキスト値はｔｅｘｔ＿ｉｄと、正規テキストフィールドの双方を含む。この場合、常にｔｅｘｔ＿ｉｄフィールドを見ることによりスタートすることができる。ｔｅｘｔ＿ｉｄフィールド＜＞０であれば、言語モジュールの値をルックアップすることになるであろう。ｔｅｘｔ＿ｉｄ＝０であれば、ユーザにより打ち込まれた実際のテキストフィールドの値が使用されるであろう。
【０２２１】
ｔｅｘｔ＿ｉｄを使用しないと、次のようないくつかの問題が発生するであろう。
【０２２２】
データベースが日本語に翻訳される場合、全てのテキストは日本語になるであろう。これは、ユーザが英語バージョンのディスプレイモジュールを有している場合であっても起こるであろう。
【０２２３】
翻訳グループがデータベースにおいて何のテキストを翻訳する必要があるかを了解することがより困難になるであろう。ここで実行すべきことは、ツールを使用して、１ストリングテーブルで全てのテキストを翻訳するだけである。これははるかに容易であり、より信頼性も高い。
【０２２４】
もう１つの利点は、数をストリング全体ではなく、１つの結合を介して送り出すだけで良いということである。これにより、モデムを介して接続された場合の性能を大幅に改善することができる。
【０２２５】
ｅｎｇｌｉｓｈ＿ｔｅｘｔは、ｔｅｘｔ＿ｉｄの英語バージョンにあるテキストのコピーである。このフィールドは決して直接に使用されてはならない。このフィールドは参照のためのフィールドである。ストリングテーブルにストリングが存在しない場合、ｔｅｘｔ＿ｉｄはこのテーブルから値を戻すことができる。これは、旧バージョンのｔｅｘｔ＿ｉｄがより新しいバージョンのデータベースと共に使用されている場合に限って起こるべきである。これは、ユーザのシステムのｔｅｘｔ＿ｉｄが値を有していないｔｅｘｔ＿ｉｄを有するデータベースに日本語バージョンのシステム１０が接続された場合に、ブランクを戻すのではなく、その代わりに英語バージョンのテキストを戻すことができるような能力である。
【０２２６】
従って、本質的には、テキストは国際化が可能であるようにテキスト識別番号（ｔｅｘｔ＿ｉｄ番号）として格納される。テキスト識別番号は数を様々に異なる型のテキスト、例えば、１つの文字、１つの記号、１つの数、１つの語、あるいは文字のストリング、記号のストリング、数のストリング及び／又は語のストリングと関連付ける。そこで、コードを使用して、テキストとしてシステム１０に戻される数を言語モジュールに送信することができ、それにより、データベース中の全てのテキストをテキスト識別番号として書き込み且つ格納することが可能になり、それらのテキスト識別番号は、後に、任意の言語で書き表すことができるデータベースを獲得するためにテキストの文字を格納されているテキスト識別番号と関連付けるコードにより容易に翻訳されることが可能である。
【０２２７】
図２７は、ｔｅｘｔ＿ｉｄ及びｅｎｇｌｉｓｈ＿ｍｅｍｏ＿ｔｅｘｔの各フィールドから構成されるレコードを示す英語メモテキストテーブル２８２を示す。
【０２２８】
ｔｅｘｔ＿ｉｄは、別個の言語モジュールにおいてストリングテーブルの実際のテキスト値をルックアップするために使用される番号である。ｔｅｘｔ＿ｉｄは国際化をより容易にするために使用される。
【０２２９】
ｅｎｇｌｉｓｈ＿ｍｅｍｏ＿ｔｅｘｔはテキストがｅｎｇｌｉｓｈ＿ｔｅｘｔフィールドに当てはめるには大きすぎる場合にのみ使用され、ｔｅｘｔ＿ｉｄの英語バージョンにあるテキストのコピーである。このフィールドは決して直接に使用されてはならない。このフィールドは参照のためのフィールドである。ストリングテーブルにストリングが存在しない場合、ｔｅｘｔ＿ｉｄはこのテーブルから値を戻すことができる。これは、旧バージョンのｔｅｘｔ＿ｉｄがより新しいバージョンのデータベースと共に使用されている場合に限って起こるべきである。これは、ユーザのシステムのｔｅｘｔ＿ｉｄが値を有していないｔｅｘｔ＿ｉｄを有するデータベースに日本語バージョンのシステム１０が接続された場合に、ブランクを戻すのではなく、その代わりに英語バージョンのテキストを戻すことができるような能力である。
【０２３０】
図２８は、ｐｒｏｐｅｒｔｙ＿ｔｅｘｔｓ＿ｉｄ、ｐｐ＿ｔｅｘｔ＿ｉｄ、ｄｓ＿ｔｅｘｔ＿ｉｄ、ｒａｃｋ＿ｔｅｘｔ＿ｉｄ、ｍｏｎ＿ｔｅｘｔ＿ｉｄ、ｃｈａｎ＿ｔｅｘｔ＿ｉｄ及びｔ＿ｔｅｘｔ＿ｉｄの各フィールドから構成されるレコードを示す特性テキストテーブル２８４を示す。
【０２３１】
ｐｒｏｐｅｒｔｙ＿ｔｅｘｔｓ＿ｉｄは、特性値ごとにｔｅｘｔ ｉｄ値を含むレコードの一意の識別子である。
【０２３２】
ｐｐ＿ｔｅｘｔ＿ｉｄは、全てのｐｐ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３３】
ｄｓ＿ｔｅｘｔ＿ｉｄは、全てのｄｓ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３４】
ｒａｃｋ＿ｔｅｘｔ＿ｉｄは、全てのｒａｃｋ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３５】
ｍｏｎ＿ｔｅｘｔ＿ｉｄは、全てのｍｏｎ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３６】
ｃｈａｎ＿ｔｅｘｔ＿ｉｄは、全てのｃｈａｎ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３７】
ｔ＿ｔｅｘｔ＿ｉｄは、全てのｔ＿値の集合を記述するために使用されるｔｅｘｔ ｉｄである。
【０２３８】
更に、本発明を説明したが、以上説明し且つ特許請求の範囲により記載されるような本発明の範囲及び適正な趣旨から逸脱せずに数多くの構造上の変形及び適応を実施できることは明白なはずである。
【図面の簡単な説明】
【図１】カスタムルールがルールステップとして格納されているデータベースを含む本発明によるカスタムルールシステムの概略図。
【図２】本発明に従ってルールウィンドウビュー、ルールステップテーブルビュー及び生成ルールロジックビューを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図３】本発明による、図２に示すルールステップテーブルビューの拡大図。
【図４】本発明によるデータベーススキーマを示す図。
【図５】本発明による、図４に示すデータベーススキーマと関連するテーブルを示す図。
【図６】機械装置及びプロセスの多岐にわたるグループ分けを含む工業プラント資産を保護し且つ管理するための資産管理システムと共に採用されるべきカスタムルールシステムの概略図。
【図７】本発明に従ってカスタムルールを作成すべき機械車、機械又は構成要素の階層ツリー図を有するダイアログボックスを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図８】選択された機械列、機械又は構成要素が示されているダイアログボックスと、本発明に従って作成されるべきカスタムルールについて示すべき初期値を選択するための複数のカテゴリを有するダイアログとを含むカスタムルールインタフェースビューを示す統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図９】本発明によるルールウィンドウビュー、初期ルールステップ、ルールステップテーブルビュー及び生成ルールロジックビューを含むカスタムインタフェースビューを含む統一化グラフィカルユーザインタフェースのスクリーンショット図。
【図１０】図を明確にするためにルールステップテーブルビューが示されておらず、本発明に従ってルールウィンドウビューに未定義結果ステップが追加され且つ生成ルールロジックビューに対応する論理が示されている図９に示したのと同様のスクリーンショット図。
【図１１】図１０に示す未定義結果ステップの特性パラメータを定義するときに統一化グラフィカルユーザインタフェースに表示される特性ダイアログボックスを示す図。
【図１２】図１０に示す未定義結果ステップの結果パラメータを定義するときに統一化グラフィカルユーザインタフェースに表示される結果ダイアログボックスを示す図。
【図１３】未定義結果ステップが蒸気問題結果として定義されており、重大度レベルは２から３に変更され、且つ本発明に従って生成ルールロジックビューに対応する論理が示されている図１０に示したのと同様のスクリーンショット図。
【図１４】ルールウィンドウビューに追加のルールステップが追加されている図１３に示したのと同様のスクリーンショット図。
【図１５】本発明に従って全てのルールステップが互いに結合されることにより、カスタムルールの作成が完了し、生成ルールロジックビューに完成したルールロジックがテキストの形で示されている図１４に示したのと同様のスクリーンショット図。
【図１６】レコード及びそれに含まれるフィールドを含むルールグループテーブルを示す図。
【図１７】レコード及びそれに含まれるフィールドを含むルールテーブルを示す図。
【図１８】レコード及びそれに含まれるフィールドを含むルールステップテーブルを示す図。
【図１９】レコード及びそれに含まれるフィールドを含むルール結合テーブルを示す図。
【図２０】レコード及びそれに含まれるフィール江尾を含むルールステップ入力テーブルを示す図。
【図２１】レコード及びそれに含まれるフィールドを含むルール出力テーブルを示す図。
【図２２】レコード及びそれに含まれるフィールドを含む結果ステップテーブルを示す図。
【図２３】レコード及びそれに含まれるフィールドを含む派生値ステップテーブルを示す図。
【図２４】レコード及びそれに含まれるフィールドを含むシステムオプションテーブルを示す図。
【図２５】レコード及びそれに含まれるフィールドを示すクラス階層テーブルを示す図。
【図２６】レコード及びそれに含まれるフィールドを含む英文テキストテーブルを示す図。
【図２７】レコード及びそれに含まれるフィールドを含む英文メモテキストテーブルを示す図。
【図２８】レコード及びそれに含まれるフィールドを含む特性テキストテーブルを示す図。
【符号の説明】
１０…カスタムルールシステム、２０…プロセッサ、２２…メモリ、２４…読み取り専用メモリ（ＲＯＭ）、２６…読み取り／書き込みメモリ（Ｒ／ＷＭ）、２８…格納メモリ、３０…オペレーティングシステム、３２…シェル、３４…アプリケーションプログラム、４０…カスタムルールモジュール、４２…入力装置、４４…マウス、４６…キーボード、４８…グラフィカルユーザインタフェース、５０…ディスプレイモジュール、５２…出力装置、５４…表示装置、６０…カスタムルールセットデータベースモジュール、６２…ユーザ作成カスタムルール（テーブル）、６４…テーブル、６６…レコード、６８…フィールド、７０…ステップ、７２…データベース、８２…システムバス、９０…情報抽出モジュール、９２…データ収集装置、９４…センサ、９６…資産、１００…ルールステップ
【図１】
2004509411.tif 000003
【図２】
2004509411.tif 000004
【図３】
2004509411.tif 000005
【図４】
2004509411.tif 000006
【図５】
2004509411.tif 000007
【図６】
2004509411.tif 000008
【図７】
2004509411.tif 000009
【図８】
2004509411.tif 000010
【図９】
2004509411.tif 000011
【図１０】
2004509411.tif 000012
【図１１】
2004509411.tif 000013
【図１２】
2004509411.tif 000014
【図１３】
2004509411.tif 000015
【図１４】
2004509411.tif 000016
【図１５】
2004509411.tif 000017
【図１６】
2004509411.tif 000018
【図１７】
2004509411.tif 000019
【図１８】
2004509411.tif 000020
【図１９】
2004509411.tif 000021
【図２０】
2004509411.tif 000022
【図２１】
2004509411.tif 000023
【図２２】
2004509411.tif 000024
【図２３】
2004509411.tif 000025
【図２４】
2004509411.tif 000026
【図２５】
2004509411.tif 000027
【図２６】
2004509411.tif 000028
【図２７】
2004509411.tif 000029
【図２８】
2004509411.tif 000030
【国際公開パンフレット】
2004509411.tif 000031
2004509411.tif 000032
2004509411.tif 000033
2004509411.tif 000034
2004509411.tif 000035
2004509411.tif 000036
2004509411.tif 000037
2004509411.tif 000038
2004509411.tif 000039
2004509411.tif 000040
2004509411.tif 000041
2004509411.tif 000042
2004509411.tif 000043
2004509411.tif 000044
2004509411.tif 000045
2004509411.tif 000046
2004509411.tif 000047
2004509411.tif 000048
2004509411.tif 000049
2004509411.tif 000050
2004509411.tif 000051
2004509411.tif 000052
2004509411.tif 000053
2004509411.tif 000054
2004509411.tif 000055
2004509411.tif 000056
2004509411.tif 000057
2004509411.tif 000058
2004509411.tif 000059
2004509411.tif 000060
2004509411.tif 000061
2004509411.tif 000062
2004509411.tif 000063
2004509411.tif 000064
2004509411.tif 000065
2004509411.tif 000066
2004509411.tif 000067
2004509411.tif 000068
2004509411.tif 000069
2004509411.tif 000070
2004509411.tif 000071
2004509411.tif 000072
2004509411.tif 000073
2004509411.tif 000074
2004509411.tif 000075
2004509411.tif 000076
2004509411.tif 000077
2004509411.tif 000078
2004509411.tif 000079
2004509411.tif 000080
2004509411.tif 000081
2004509411.tif 000082
2004509411.tif 000083
2004509411.tif 000084
2004509411.tif 000085
2004509411.tif 000086
2004509411.tif 000087
2004509411.tif 000088
【国際調査報告】
2004509411.tif 000089