JPH06214615A - 人工知能ソフトウェアシェルのためのケースベース知識源 - Google Patents
人工知能ソフトウェアシェルのためのケースベース知識源Info
- Publication number
- JPH06214615A JPH06214615A JP5323519A JP32351993A JPH06214615A JP H06214615 A JPH06214615 A JP H06214615A JP 5323519 A JP5323519 A JP 5323519A JP 32351993 A JP32351993 A JP 32351993A JP H06214615 A JPH06214615 A JP H06214615A
- Authority
- JP
- Japan
- Prior art keywords
- knowledge source
- case
- data
- blackboard
- shell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Feedback Control In General (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【目的】 ユーザからの入力されるデータを効果的に記
憶する。 【構成】 ケースベース知識源は、時間軸上の過去のデ
ータの位置を持つケースを含んでいる。現在のデータ
は、時間および強度における近似のレベルを決定するた
めに、ケースの中で時間スケールおよび強度スケール上
で過去のデータを比較される。ユーザインターフェース
には、入力データモジュールがあり、黒板と交信しなが
ら、ユーザに対し、シェルに対するデータの入力を許可
する。コントロールモジュールは、ケースベース知識源
および入力データモジュールと交信しながら、すべての
入力データを受信し所定の知識源優先度スキムにしたが
って知識源モジュールの動作を制御する。
憶する。 【構成】 ケースベース知識源は、時間軸上の過去のデ
ータの位置を持つケースを含んでいる。現在のデータ
は、時間および強度における近似のレベルを決定するた
めに、ケースの中で時間スケールおよび強度スケール上
で過去のデータを比較される。ユーザインターフェース
には、入力データモジュールがあり、黒板と交信しなが
ら、ユーザに対し、シェルに対するデータの入力を許可
する。コントロールモジュールは、ケースベース知識源
および入力データモジュールと交信しながら、すべての
入力データを受信し所定の知識源優先度スキムにしたが
って知識源モジュールの動作を制御する。
Description
【0001】
【産業上の利用分野】本発明は、プラント運転シミュレ
ーションのための人工知能ソフトウェアシステムに関
し、より詳細には、そのようなシステムのためのケース
ベース知識源に関するものである。
ーションのための人工知能ソフトウェアシステムに関
し、より詳細には、そのようなシステムのためのケース
ベース知識源に関するものである。
【0002】
【従来の技術】工場プラントおよび加工プラントの環境
はあまりに多様であるため、それらを特定条件の下で説
明することは難しい。この多様性のために、プラント運
転を総合的に理解しようとする際に多くの困難に遭遇す
る。ただし、各製造分野で、工場や加工プラントが効率
向上を目的として保有する共通の運転上の特色が幾つか
存在するはずである。特に、プラントにとり、原材料
源、人的資源や時間などに関し、それぞれ最適な方法で
運転されることがますます望ましくなってきている。
はあまりに多様であるため、それらを特定条件の下で説
明することは難しい。この多様性のために、プラント運
転を総合的に理解しようとする際に多くの困難に遭遇す
る。ただし、各製造分野で、工場や加工プラントが効率
向上を目的として保有する共通の運転上の特色が幾つか
存在するはずである。特に、プラントにとり、原材料
源、人的資源や時間などに関し、それぞれ最適な方法で
運転されることがますます望ましくなってきている。
【0003】この点で焦点となる分野には、堅固な技術
原則、経済プラン、および安全性の利点が含まれる。
原則、経済プラン、および安全性の利点が含まれる。
【0004】プラント運転の特定知識を組込んだプラン
ト運転シミュレーションモジュールは、そうした原則の
実際の実行を支援することができる。ただし、どのプラ
ント環境も複雑であるために、製造技術者などの専門家
は、各自の作業の場であるプラントがカバーする特定領
域に限った知識のみを有する。この知識は、分析モデル
から発見的モデルに至る範囲の異なる形態で存在する可
能性がある。こうした知識形態の不適合性により、知識
を完全に一つのプラントモデルへと組込むことは極めて
難しい。
ト運転シミュレーションモジュールは、そうした原則の
実際の実行を支援することができる。ただし、どのプラ
ント環境も複雑であるために、製造技術者などの専門家
は、各自の作業の場であるプラントがカバーする特定領
域に限った知識のみを有する。この知識は、分析モデル
から発見的モデルに至る範囲の異なる形態で存在する可
能性がある。こうした知識形態の不適合性により、知識
を完全に一つのプラントモデルへと組込むことは極めて
難しい。
【0005】プラント環境におけるコンピュータ技術の
応用は一般的に行われており、あらゆる生産分野で、装
置の制御からデータロギング(入力・記録)に至る様々
な作業にコンピュータが使用されているのを目にするこ
とができる。中でも成長している特定分野の一つは、効
率的なプラント運転に向けて、各プラントがカバーする
それぞれの領域における知識ベースシステムやエキスパ
ートシステムの導入にコンピュータを利用することであ
る。知識ベースシステムはプラント運転の幾つかの側面
に関する知識の叙述を含んでおり、それは知識を処理す
るための論理的推論または、発見的推論の幾つかの形態
を用いることによる診断や推奨を提供する。このシステ
ムは、単なる数字ベースの応用を超え、コンピュータ独
自の用途を実現している。
応用は一般的に行われており、あらゆる生産分野で、装
置の制御からデータロギング(入力・記録)に至る様々
な作業にコンピュータが使用されているのを目にするこ
とができる。中でも成長している特定分野の一つは、効
率的なプラント運転に向けて、各プラントがカバーする
それぞれの領域における知識ベースシステムやエキスパ
ートシステムの導入にコンピュータを利用することであ
る。知識ベースシステムはプラント運転の幾つかの側面
に関する知識の叙述を含んでおり、それは知識を処理す
るための論理的推論または、発見的推論の幾つかの形態
を用いることによる診断や推奨を提供する。このシステ
ムは、単なる数字ベースの応用を超え、コンピュータ独
自の用途を実現している。
【0006】プラント運転用支援ツールを生産するため
にコンピュータの力をプラント運転の専門知識と統合す
ることができると共に、プラントとその資源のモニタリ
ングに利用できる診断情報をも得ることのできる知識ベ
ースシステムを構築する試みが行われてきた。一つのプ
ラントは、複数の異なる知識源やエキスパートシステム
を備えている可能性があることから、それを統合する方
法により、異なるシステム間の対話が可能になり、プラ
ント運転のより広範な問題をコンピュータ利用の枠組み
の中に組み入れることが可能になるであろう。知識源や
エキスパートシステムの形態が異なるために、そうした
統合方法は、完全な一つのプラント運転をモデル化する
ことには成功していない。さらに、各プラントが特定領
域において少しずつ異なっているから、一つの全体構造
の中に多様なプラント環境のすべてにおいて有益である
よう十分な範囲を備える機能的モジュールのシステムは
実現されていない。
にコンピュータの力をプラント運転の専門知識と統合す
ることができると共に、プラントとその資源のモニタリ
ングに利用できる診断情報をも得ることのできる知識ベ
ースシステムを構築する試みが行われてきた。一つのプ
ラントは、複数の異なる知識源やエキスパートシステム
を備えている可能性があることから、それを統合する方
法により、異なるシステム間の対話が可能になり、プラ
ント運転のより広範な問題をコンピュータ利用の枠組み
の中に組み入れることが可能になるであろう。知識源や
エキスパートシステムの形態が異なるために、そうした
統合方法は、完全な一つのプラント運転をモデル化する
ことには成功していない。さらに、各プラントが特定領
域において少しずつ異なっているから、一つの全体構造
の中に多様なプラント環境のすべてにおいて有益である
よう十分な範囲を備える機能的モジュールのシステムは
実現されていない。
【0007】
【発明が解決しようとする課題】この種のシステムを達
成するためには、全プラントに共通する特徴をモデル化
することが重要である。全プラントに共通のそうした特
徴の一つは、何らかの複合的な方法で、アウトプット
(最終製品)を生産するためにインプット(原材料)を
処理することである。もう一つの共通な側面は、すべて
のプラントが時間をかけた処理を含むことである。残念
ながら全時間依存性を含むプラントの完全な分析描写
は、不可能ではないにしろ、実際的ではない。プラント
運転に関する情報は、通常は不完全で断片的である。た
だし、プラント運転関連の豊富な情報は存在するであろ
う。しかし、一つのシステムを構築するためには、それ
らの豊富な情報が集積され、且つその種のシステムへと
組織化されなければならない。知識ベースシステムの場
合、過去においてこの点の成功例はまだ出ていない。
成するためには、全プラントに共通する特徴をモデル化
することが重要である。全プラントに共通のそうした特
徴の一つは、何らかの複合的な方法で、アウトプット
(最終製品)を生産するためにインプット(原材料)を
処理することである。もう一つの共通な側面は、すべて
のプラントが時間をかけた処理を含むことである。残念
ながら全時間依存性を含むプラントの完全な分析描写
は、不可能ではないにしろ、実際的ではない。プラント
運転に関する情報は、通常は不完全で断片的である。た
だし、プラント運転関連の豊富な情報は存在するであろ
う。しかし、一つのシステムを構築するためには、それ
らの豊富な情報が集積され、且つその種のシステムへと
組織化されなければならない。知識ベースシステムの場
合、過去においてこの点の成功例はまだ出ていない。
【0008】従って、本発明の一般的目的は、全体的構
造の中で、多様なプラント環境の下で役に立つ十分に広
範な機能的モジュールを有する知識ベースシステムを得
ることである。
造の中で、多様なプラント環境の下で役に立つ十分に広
範な機能的モジュールを有する知識ベースシステムを得
ることである。
【0009】本発明のもう1つの目的は、ケースベース
知識源プロセスにおける時間および強度の両方における
比較の手法を提供することにある。
知識源プロセスにおける時間および強度の両方における
比較の手法を提供することにある。
【0010】
【課題を解決するための手段及び作用】本発明の前述お
よびその他の目的、特徴および利点を達成するために、
プラントの諸要素及びコンセプトを表現するオブジェク
トを有するデータベースから成る黒板モジュールを含む
プラント運転シミュレーション用人工知能ソフトウェア
が与えられている。
よびその他の目的、特徴および利点を達成するために、
プラントの諸要素及びコンセプトを表現するオブジェク
トを有するデータベースから成る黒板モジュールを含む
プラント運転シミュレーション用人工知能ソフトウェア
が与えられている。
【0011】ケースベース知識源モジュールは、時間強
度スコアリングを持つ人工知能動作方式を含んでおり、
黒板モジュールとのコミュニケーションにおいて、予め
特定された黒板対象(オブジェクト)上で動作する。黒
板モジュールとのコミュニケーションにおいて、入力デ
ータモジュールはユーザにシステムへのデータ入力を可
能とする。入力データモジュールおよびケースベース知
識源モジュールとのコミュニケーションにおいて、コン
トロールモジュールは、入力データを受けとり、ケース
ベース知識源モジュールの動作を制御する。
度スコアリングを持つ人工知能動作方式を含んでおり、
黒板モジュールとのコミュニケーションにおいて、予め
特定された黒板対象(オブジェクト)上で動作する。黒
板モジュールとのコミュニケーションにおいて、入力デ
ータモジュールはユーザにシステムへのデータ入力を可
能とする。入力データモジュールおよびケースベース知
識源モジュールとのコミュニケーションにおいて、コン
トロールモジュールは、入力データを受けとり、ケース
ベース知識源モジュールの動作を制御する。
【0012】本発明の好適な実施例においては、シェル
はさらに、ルールベース知識源モジュールを含む。ルー
ルベース知識源モジュールは信念のレベルに基づいてイ
フゼン(if−then:質問に対し、イエスかノー
で、処理が分岐する形式)形式ルールを含む前方連鎖信
念伝搬手法を持っているケースベース知識源モジュール
は予め特定されたパターンおよび条件(ケースデータベ
ース源の動作はこれに基づく)を含むデータ比較手法を
持っている。上記条件は、受けとったデータおよびパタ
ーンの間に、時間および強度のスケールの両方で、所定
レベルの類似性があれば、真実と推定される。
はさらに、ルールベース知識源モジュールを含む。ルー
ルベース知識源モジュールは信念のレベルに基づいてイ
フゼン(if−then:質問に対し、イエスかノー
で、処理が分岐する形式)形式ルールを含む前方連鎖信
念伝搬手法を持っているケースベース知識源モジュール
は予め特定されたパターンおよび条件(ケースデータベ
ース源の動作はこれに基づく)を含むデータ比較手法を
持っている。上記条件は、受けとったデータおよびパタ
ーンの間に、時間および強度のスケールの両方で、所定
レベルの類似性があれば、真実と推定される。
【0013】コントロールモジュールは、事象(イベン
ト)検出モジュールおよび活性化/アジェンダ管理モジ
ュール(活性化すべきもののリストを管理するモジュー
ル)を含む。入力データモジュールにおいて、事象検出
モジュールは、すべての入力データを受け取り、知識源
が動作すべきときを決定する。活性化/アジェンダ管理
モジュールは、知識源モジュールおよび事象検出モジュ
ールとのコミュニケーションにおいて、所定の知識源優
先度手法に応じて知識源モジュールを動作させる。
ト)検出モジュールおよび活性化/アジェンダ管理モジ
ュール(活性化すべきもののリストを管理するモジュー
ル)を含む。入力データモジュールにおいて、事象検出
モジュールは、すべての入力データを受け取り、知識源
が動作すべきときを決定する。活性化/アジェンダ管理
モジュールは、知識源モジュールおよび事象検出モジュ
ールとのコミュニケーションにおいて、所定の知識源優
先度手法に応じて知識源モジュールを動作させる。
【0014】
【実施例】詳細な説明 序論 本発明は、黒板データベースにプラント入力項目を表わ
すオブジェクトを備えた人工知能ソフトウェアシェルを
提供するものである。エキスパートシステムの知識源は
時間的優先スキームに基づいて特定オブジェクトを実行
し修正する。ユーザはプラントの運転を診断し監視する
ために、そのオブジェクトの状態を見ることができる。
アプリケーション開発者(特定アプリケーションのプラ
ントの専門家)がそのオブジェクトと知識ベースのルー
ルを開発しないことには、そのシステムは使えない。
すオブジェクトを備えた人工知能ソフトウェアシェルを
提供するものである。エキスパートシステムの知識源は
時間的優先スキームに基づいて特定オブジェクトを実行
し修正する。ユーザはプラントの運転を診断し監視する
ために、そのオブジェクトの状態を見ることができる。
アプリケーション開発者(特定アプリケーションのプラ
ントの専門家)がそのオブジェクトと知識ベースのルー
ルを開発しないことには、そのシステムは使えない。
【0015】本発明によるコントロールプロセスは、す
べての入力データを受け取り、所定の知識源優先度手法
にしたがって、何時書く知識源が動作すべきかを決定す
る。本発明のケースベース知識源は、時間スケールでの
データポイントを含むケースを蓄積する。ケースベース
知識現が動作(実行)する時、黒板中の現データ(プレ
ゼントデータ)がケースと比較される。そして、強度お
よび時間において所定レベルの類似性があった場合に
は、条件が正しいと推定される。
べての入力データを受け取り、所定の知識源優先度手法
にしたがって、何時書く知識源が動作すべきかを決定す
る。本発明のケースベース知識源は、時間スケールでの
データポイントを含むケースを蓄積する。ケースベース
知識現が動作(実行)する時、黒板中の現データ(プレ
ゼントデータ)がケースと比較される。そして、強度お
よび時間において所定レベルの類似性があった場合に
は、条件が正しいと推定される。
【0016】ドメインシェルは二つの観点から説明でき
る。ドメインシェルの機構の一つの見方は、知識ベース
システムの機能面から見ることである。ドメインシェル
の場合、これは黒板アーキテクチャ、そのコンポーネン
ト及びそれらの相互作用についての説明である。これは
そのシステムを内から見たものである。もう一つの見方
は、ユーザの立場、すなわち、ユーザはそのシステムと
対話する或いはそれを利用するのであるから、そのシス
テムがユーザにとってどのように見えるか、という立場
である。発生するインタフェースと動作シーケンスにつ
いての詳細は、外部システムからの観点である。これら
は表現こそ異なっているが、それらは互いに強く関連し
あっている。
る。ドメインシェルの機構の一つの見方は、知識ベース
システムの機能面から見ることである。ドメインシェル
の場合、これは黒板アーキテクチャ、そのコンポーネン
ト及びそれらの相互作用についての説明である。これは
そのシステムを内から見たものである。もう一つの見方
は、ユーザの立場、すなわち、ユーザはそのシステムと
対話する或いはそれを利用するのであるから、そのシス
テムがユーザにとってどのように見えるか、という立場
である。発生するインタフェースと動作シーケンスにつ
いての詳細は、外部システムからの観点である。これら
は表現こそ異なっているが、それらは互いに強く関連し
あっている。
【0017】システム環境全体のダイアグラムを図1に
示す。ドメインシェルは、特定アプリケーションプログ
ラムを開発できる環境で構成されるであろう。これはア
プリケーション開発環境として知られている。それはア
プリケーション開発者がそのアプリケーションの構造を
入力し、修正し、そして試験するのに用いる機能を有す
る。これらの構造は制御フレームワークを含む黒板アプ
ローチの実現の例を構成する。同時にこの段階で、知識
源が生成され、入力される。本文書で述べるドメインシ
ェルには、あらゆるプラント環境用アプリケーションを
作成しやすくするツールとフレームワークが含まれるで
あろう。アプリケーション開発者にとってはその特定の
プラントタイプに共通の構造があれば、有益であろう。
もし装置のタイプと関連アイコンを表現する構造がすで
にシェルの特徴だとすれば、開発者は自分でそれらを作
成する必要なしに、それらを利用できるであろう。その
ようなツールが存在すれば、又実行システムのグラフィ
カルな表現を標準化するのに有益であろう。プラントの
タイプに対して特定される一セットの構造(例えば、製
鋼所用ローラプレスのアイコン)が存在することで有益
になるようなタイプのプラント(例えば、製鋼所や食品
加工工場)は明らかに存在する。第1段階として、特定
の製鋼所のアプリケーション開発者にとって有用である
ような一セットの構造をドメインシェルに追加すること
によって、開発者は製鋼所のドメインシェルを作成する
ことができるであろう。そうすれば、どの製鋼所のアプ
リケーション開発者もその作成済みの構造を利用するこ
とができるので、開発の負担を軽減することができる。
プラントのタイプを指定するドメインシェルの価値を高
めるには、そのシェルの有用性が最大になるように、そ
のドメインシェルを特別にカスタマイズするレベルを慎
重に考慮すべきである。
示す。ドメインシェルは、特定アプリケーションプログ
ラムを開発できる環境で構成されるであろう。これはア
プリケーション開発環境として知られている。それはア
プリケーション開発者がそのアプリケーションの構造を
入力し、修正し、そして試験するのに用いる機能を有す
る。これらの構造は制御フレームワークを含む黒板アプ
ローチの実現の例を構成する。同時にこの段階で、知識
源が生成され、入力される。本文書で述べるドメインシ
ェルには、あらゆるプラント環境用アプリケーションを
作成しやすくするツールとフレームワークが含まれるで
あろう。アプリケーション開発者にとってはその特定の
プラントタイプに共通の構造があれば、有益であろう。
もし装置のタイプと関連アイコンを表現する構造がすで
にシェルの特徴だとすれば、開発者は自分でそれらを作
成する必要なしに、それらを利用できるであろう。その
ようなツールが存在すれば、又実行システムのグラフィ
カルな表現を標準化するのに有益であろう。プラントの
タイプに対して特定される一セットの構造(例えば、製
鋼所用ローラプレスのアイコン)が存在することで有益
になるようなタイプのプラント(例えば、製鋼所や食品
加工工場)は明らかに存在する。第1段階として、特定
の製鋼所のアプリケーション開発者にとって有用である
ような一セットの構造をドメインシェルに追加すること
によって、開発者は製鋼所のドメインシェルを作成する
ことができるであろう。そうすれば、どの製鋼所のアプ
リケーション開発者もその作成済みの構造を利用するこ
とができるので、開発の負担を軽減することができる。
プラントのタイプを指定するドメインシェルの価値を高
めるには、そのシェルの有用性が最大になるように、そ
のドメインシェルを特別にカスタマイズするレベルを慎
重に考慮すべきである。
【0018】アプリケーション開発が完了し、試験した
後に、それはプラント環境でオンライン設定される。そ
うすれば、そのシステムは、アプリケーション実行環境
に入る。ここにユーザはそのシステムと対話する工場要
員となって、システムの推奨事項を受けて適切な行動を
採る。
後に、それはプラント環境でオンライン設定される。そ
うすれば、そのシステムは、アプリケーション実行環境
に入る。ここにユーザはそのシステムと対話する工場要
員となって、システムの推奨事項を受けて適切な行動を
採る。
【0019】図2は、二つの環境のより詳細な図であ
る。これはその二つの環境の特徴を示している。両方の
環境に知識ベースのシステムフレームワークが存在する
ことに注目されたい。これら二つのシステム間の連結
は、入力情報を実時間動作に適したフォーマットに変換
するコンパイラである。開発環境における知識ベースの
システムは、開発者によって作成された、編集しやすく
操作しやすく試験しやすい形で表現されたシステムであ
り、他方、実行環境の知識ベースシステムは、簡便で実
行効率が上がるように修正されたシステムの実行時バー
ジョンを表現する。これらの二つの環境をテストするこ
とにより、ここで特定するドメインシェルを詳述でき
る。
る。これはその二つの環境の特徴を示している。両方の
環境に知識ベースのシステムフレームワークが存在する
ことに注目されたい。これら二つのシステム間の連結
は、入力情報を実時間動作に適したフォーマットに変換
するコンパイラである。開発環境における知識ベースの
システムは、開発者によって作成された、編集しやすく
操作しやすく試験しやすい形で表現されたシステムであ
り、他方、実行環境の知識ベースシステムは、簡便で実
行効率が上がるように修正されたシステムの実行時バー
ジョンを表現する。これらの二つの環境をテストするこ
とにより、ここで特定するドメインシェルを詳述でき
る。
【0020】エンドユーザはリアルタイムプラント環境
のシステムを利用することになる工場要員である。この
図のシステムは、ユーザに対するインタフェースの詳細
を強調し、情報の表現をユーザが入力するかもしれない
入力のタイプの性質を含む諸特徴について説明してい
る。
のシステムを利用することになる工場要員である。この
図のシステムは、ユーザに対するインタフェースの詳細
を強調し、情報の表現をユーザが入力するかもしれない
入力のタイプの性質を含む諸特徴について説明してい
る。
【0021】シェルのアーキテクチャは、主として情報
の表現方法においてエンドユーザの目に見えるものとな
ろう。これには、ユーザが様々なレベルと種類の情報を
呼び出せるウィンドウ環境の使用が含まれている。ある
特定のアプリケーションのすべての部分の間でも、ま
た、〔異なる〕アプリケーションの間でも、すべてのユ
ーザが操作メカニックに精通し続けられるように、その
ウィンドウ環境は一貫性が保たれねばならない。
の表現方法においてエンドユーザの目に見えるものとな
ろう。これには、ユーザが様々なレベルと種類の情報を
呼び出せるウィンドウ環境の使用が含まれている。ある
特定のアプリケーションのすべての部分の間でも、ま
た、〔異なる〕アプリケーションの間でも、すべてのユ
ーザが操作メカニックに精通し続けられるように、その
ウィンドウ環境は一貫性が保たれねばならない。
【0022】そのシステムにより、エンドユーザは推論
過程を見ることができ、そのシステムの動作目的及びそ
の理由の説明を受けることができる。プラントオペレー
タが時間ぎりぎりの決定の必要に迫られた時、多すぎる
情報で当惑しないように、その説明は単純なレベルに保
たれることが重要である。しかし、シェルの汎用性によ
り、アプリケーション開発者は実行時特性を変えて特定
アプリケーションの出現を最適化することができる。
過程を見ることができ、そのシステムの動作目的及びそ
の理由の説明を受けることができる。プラントオペレー
タが時間ぎりぎりの決定の必要に迫られた時、多すぎる
情報で当惑しないように、その説明は単純なレベルに保
たれることが重要である。しかし、シェルの汎用性によ
り、アプリケーション開発者は実行時特性を変えて特定
アプリケーションの出現を最適化することができる。
【0023】システムの外部からみた場合、もう一つの
重要な面は、ユーザがシステムに指示することによっ
て、プラント運転のある側面に注意を集中できることで
ある。その一例としては、監視システムがその動作を適
正に調整できるように、システムに計画状況を知らせる
ことであろう。こういうことが出来るのは、例えば、オ
ペレータがプラント運転の一部停止予定を知っていた場
合である。そのアプリケーションは、この情報を受け取
って適正に動作するための手段を得ることになる。留意
すべきことは、この種の動作は、そのアプリケーション
の開発段階で、システムに「プログラム済み」だという
ことである。
重要な面は、ユーザがシステムに指示することによっ
て、プラント運転のある側面に注意を集中できることで
ある。その一例としては、監視システムがその動作を適
正に調整できるように、システムに計画状況を知らせる
ことであろう。こういうことが出来るのは、例えば、オ
ペレータがプラント運転の一部停止予定を知っていた場
合である。そのアプリケーションは、この情報を受け取
って適正に動作するための手段を得ることになる。留意
すべきことは、この種の動作は、そのアプリケーション
の開発段階で、システムに「プログラム済み」だという
ことである。
【0024】外部からの見方の最後の一面は、システム
がもたらす結論と推奨事項の表現である。これらは時間
的に切迫しているので、適切な表現方法が用いられるで
あろう。もう一度言うが、ドメインシェルは表現方法の
選択を可能にするであろう。そして、適切な表現を選択
することは、アプリケーション開発者がなすべき仕事と
なろう。
がもたらす結論と推奨事項の表現である。これらは時間
的に切迫しているので、適切な表現方法が用いられるで
あろう。もう一度言うが、ドメインシェルは表現方法の
選択を可能にするであろう。そして、適切な表現を選択
することは、アプリケーション開発者がなすべき仕事と
なろう。
【0025】特別なプラント環境用アプリケーション作
成後は、適正なインタフェースを確定して、システムを
設定する。それから、そのシステムを実行時環境動作に
設定する。これには、貢献する知識源と共に動作する黒
板フレームワークが含まれるであろう。
成後は、適正なインタフェースを確定して、システムを
設定する。それから、そのシステムを実行時環境動作に
設定する。これには、貢献する知識源と共に動作する黒
板フレームワークが含まれるであろう。
【0026】アプリケーションを作成しやすくするため
に、ドメインシェルはプログラマツールセットと考えら
れるものを提供するだろう。黒板構造を作成し修正する
ためのエディタが〔ツールとして〕インプリメントされ
るであろう。これらのエディタは、その構造が目で見え
ることを保証することにより、開発段階のユーザを指導
することになろう。コンパイラは開発者が入力した情報
をリアルタイムで実行するのに適した形式に変換するで
あろう。デバッガやテストデータ生成プログラムなどの
開発診断ツールは、開発者に実行前の作業の有効性をチ
ェックする手段を提供するであろう。
に、ドメインシェルはプログラマツールセットと考えら
れるものを提供するだろう。黒板構造を作成し修正する
ためのエディタが〔ツールとして〕インプリメントされ
るであろう。これらのエディタは、その構造が目で見え
ることを保証することにより、開発段階のユーザを指導
することになろう。コンパイラは開発者が入力した情報
をリアルタイムで実行するのに適した形式に変換するで
あろう。デバッガやテストデータ生成プログラムなどの
開発診断ツールは、開発者に実行前の作業の有効性をチ
ェックする手段を提供するであろう。
【0027】ドメインシェルの一般的性格により、動作
の正確な逐次的性格を述べることはできない。これは開
発者が設計したアプリケーションの特性によって決定さ
れるであろう。
の正確な逐次的性格を述べることはできない。これは開
発者が設計したアプリケーションの特性によって決定さ
れるであろう。
【0028】内からの見方には黒板アプローチの説明が
含まれる。これはアプリケーション開発者のドメインで
あり、開発者が特定のアプリケーションを作成するため
にはドメインシェルにそのツールを適用しなければなら
ない。図3にその内部構造を示す。
含まれる。これはアプリケーション開発者のドメインで
あり、開発者が特定のアプリケーションを作成するため
にはドメインシェルにそのツールを適用しなければなら
ない。図3にその内部構造を示す。
【0029】黒板構造には、一つ以上の知識源に関連し
たデータが含まれる。基本的に、それはシステムの状態
を表現する構造である。開発者は異なるレベルの情報ス
ロットの階層を編成することによって黒板構造を作成す
る。換言すれば、最高レベルはプラントの最も広い概観
を示し、その下の各レベルはプラントの一部をより詳細
にみごとに表現する。その開発環境で作成された構造
は、実行時中に測定された或いは派生した実際及び模擬
のデータによって増補されねばならないことに留意のさ
れたい。
たデータが含まれる。基本的に、それはシステムの状態
を表現する構造である。開発者は異なるレベルの情報ス
ロットの階層を編成することによって黒板構造を作成す
る。換言すれば、最高レベルはプラントの最も広い概観
を示し、その下の各レベルはプラントの一部をより詳細
にみごとに表現する。その開発環境で作成された構造
は、実行時中に測定された或いは派生した実際及び模擬
のデータによって増補されねばならないことに留意のさ
れたい。
【0030】基本的には、黒板の階層は異なるレベルで
プラントを理解する区分である。プラント環境の場合、
最も明白な区分は、装置の空間的、構造的配列であり、
工場自体の処理面積である。人は非常に抽象的なレベル
でプラントを見ることができる。そこでは、原材料が一
端で建物に入り、完成品が他端に現われる。より低いレ
ベルでは、一連のステップや補助処理を伴う処理を見る
ことができる。その各々を黒板上に表わすことができ
る。黒板には、関心をもっているパラメータと変数が配
置されるであろう。これらは、一つ以上の知識源によっ
て利用されるパラメータとなるであろう。
プラントを理解する区分である。プラント環境の場合、
最も明白な区分は、装置の空間的、構造的配列であり、
工場自体の処理面積である。人は非常に抽象的なレベル
でプラントを見ることができる。そこでは、原材料が一
端で建物に入り、完成品が他端に現われる。より低いレ
ベルでは、一連のステップや補助処理を伴う処理を見る
ことができる。その各々を黒板上に表わすことができ
る。黒板には、関心をもっているパラメータと変数が配
置されるであろう。これらは、一つ以上の知識源によっ
て利用されるパラメータとなるであろう。
【0031】黒板はこの情報を保持する。ドメインシェ
ルは、黒板構造にコンポーネントを与え、アプリケーシ
ョン開発者にはそのプラントに特定の黒板のフレームワ
ークを作成する手段を与える。このフレームワークは、
システムがそれを理解しているようにプラントのモデル
を表現するものである。
ルは、黒板構造にコンポーネントを与え、アプリケーシ
ョン開発者にはそのプラントに特定の黒板のフレームワ
ークを作成する手段を与える。このフレームワークは、
システムがそれを理解しているようにプラントのモデル
を表現するものである。
【0032】知識源とは、そのモデル中のある部分の情
報についてのある推論形式を含む特定のセグメントであ
る。各知識源はそれ自体のドメイン、すなわち知識をも
った黒板の一部を保持している。知識源は、それが黒板
上で関心のある何ものかを「見る」ということを最初に
認識することによって黒板と対話する。それから、知識
源はそれが到達した結論に基づいて、黒板の他のあるセ
クションを変更する許可を求め、その許可を得る。この
ようにして(黒板上で見える通りに)システムの状態が
更新され、システム全体が黒板の情報に関して適切に動
作する。
報についてのある推論形式を含む特定のセグメントであ
る。各知識源はそれ自体のドメイン、すなわち知識をも
った黒板の一部を保持している。知識源は、それが黒板
上で関心のある何ものかを「見る」ということを最初に
認識することによって黒板と対話する。それから、知識
源はそれが到達した結論に基づいて、黒板の他のあるセ
クションを変更する許可を求め、その許可を得る。この
ようにして(黒板上で見える通りに)システムの状態が
更新され、システム全体が黒板の情報に関して適切に動
作する。
【0033】黒板システムの各知識源は、それにとって
重要なものを認識する責任がある。換言すれば、各知識
源は関心のあるそれ自体のドインについての合理的な知
識をもっていなければならない。ドメインシェルにおい
て、アプリケーション開発者は、その知識源をシステム
に組込むのに必要な情報をもっていなければならず、そ
の知識源が黒板と対話できるようにしなければならな
い。知識源は黒板システムにその情報の緊急性について
何らかの指示を与えねばならない。
重要なものを認識する責任がある。換言すれば、各知識
源は関心のあるそれ自体のドインについての合理的な知
識をもっていなければならない。ドメインシェルにおい
て、アプリケーション開発者は、その知識源をシステム
に組込むのに必要な情報をもっていなければならず、そ
の知識源が黒板と対話できるようにしなければならな
い。知識源は黒板システムにその情報の緊急性について
何らかの指示を与えねばならない。
【0034】黒板アプローチの価値は、異なる知識源が
その推論を黒板の重複部分に適用することができるとい
うことである。知識源のドメインを重複しうるというこ
とは、繁雑になるということだが、知識源が故障しても
システム全体が不具合になるようなことはないので、そ
れ以上の価値がある。主要な工学システムはすべて安全
のためのマージンとバックアップを備えているものであ
り、黒板アプローチはそれが可能なだけでなく、情報が
それを必要とする知識源で利用できることを実に確実に
することによって、それを効果的に促進することができ
る。
その推論を黒板の重複部分に適用することができるとい
うことである。知識源のドメインを重複しうるというこ
とは、繁雑になるということだが、知識源が故障しても
システム全体が不具合になるようなことはないので、そ
れ以上の価値がある。主要な工学システムはすべて安全
のためのマージンとバックアップを備えているものであ
り、黒板アプローチはそれが可能なだけでなく、情報が
それを必要とする知識源で利用できることを実に確実に
することによって、それを効果的に促進することができ
る。
【0035】シミュレータはシステムによって利用可能
な数学的・機能的ツールの集合である。これらのツール
には、代数・差分・微分操作が含まれる。
な数学的・機能的ツールの集合である。これらのツール
には、代数・差分・微分操作が含まれる。
【0036】制御部は黒板アプローチの恐らく最も重要
な部分である。制御部はシステムの実際の動作を監視す
る。それはどの知識源で黒板をアクセスすべきかを決定
し、同様に知識源の動作に優先順位をつける責任があ
る。黒板構造のこの部分は最も深慮を要するであろう
が、みごとに設計された制御部が開発されれば、最も強
力な性能を発揮するであろう。
な部分である。制御部はシステムの実際の動作を監視す
る。それはどの知識源で黒板をアクセスすべきかを決定
し、同様に知識源の動作に優先順位をつける責任があ
る。黒板構造のこの部分は最も深慮を要するであろう
が、みごとに設計された制御部が開発されれば、最も強
力な性能を発揮するであろう。
【0037】アプリケーション開発過程の重要な部分
は、様々な知識源の適切な制御階層を決定することであ
ろう。知識源が相互作用しない(それらのドメインは相
互排他的である)場合でさえ、ドメインシェルのリアル
タイム性は、システムが最緊急の要求を最優先と認識す
るよう要求する。複雑なアプリケーションの場合、様々
な知識源が〔互いに〕矛盾する恐れのある関連情報を有
するかもしれない。このようにここで述べるドメインシ
ェルは、アプリケーション開発者にとって一般的なツー
ルセットを提供するであろうが、開発者は整合性のある
問題解決戦略を立てることが不可欠である。
は、様々な知識源の適切な制御階層を決定することであ
ろう。知識源が相互作用しない(それらのドメインは相
互排他的である)場合でさえ、ドメインシェルのリアル
タイム性は、システムが最緊急の要求を最優先と認識す
るよう要求する。複雑なアプリケーションの場合、様々
な知識源が〔互いに〕矛盾する恐れのある関連情報を有
するかもしれない。このようにここで述べるドメインシ
ェルは、アプリケーション開発者にとって一般的なツー
ルセットを提供するであろうが、開発者は整合性のある
問題解決戦略を立てることが不可欠である。
【0038】プラント環境向けのアプリケーションにも
様々なものが考えられるので、そのドメインシェルは特
定のアプリケーションに対する動作調整能力と併せて知
識上限の融通性を要する。黒板アーキテクチャを利用す
れば、拡張の基本となりうる標準化された基礎構造を維
持しながら、所期の融通性が達成される。
様々なものが考えられるので、そのドメインシェルは特
定のアプリケーションに対する動作調整能力と併せて知
識上限の融通性を要する。黒板アーキテクチャを利用す
れば、拡張の基本となりうる標準化された基礎構造を維
持しながら、所期の融通性が達成される。
【0039】ここに述べる機能仕様は、WSTCと三菱
との交流の結果であり、従ってこの分野における両組織
の経験が反映されている。特に、システムの機構を決定
づけた三つの指示源が存在する。
との交流の結果であり、従ってこの分野における両組織
の経験が反映されている。特に、システムの機構を決定
づけた三つの指示源が存在する。
【0040】システム全体の設計の説明 本節では、操作レベルでのシェルの設計について述べ
る。ここでは本システムの設計概念について簡述し、シ
ェルのモジュールへの分解を示す。本システム設計の基
本は、本機能仕様の所与条件を満たすことである。
る。ここでは本システムの設計概念について簡述し、シ
ェルのモジュールへの分解を示す。本システム設計の基
本は、本機能仕様の所与条件を満たすことである。
【0041】ドメインシェルのブロックタイアグラムを
図4に示す。本システムは下記のモジュールに分けられ
る:黒板,事象検知部,活性化/アジェンダマネージ
ャ,ルルベースの知識源,ケースベースの知識源,ユー
ザインタフェース。これら各々のモジュールは独特のU
NIXプロセスを表している。ある特定アプリケーショ
ンのコンテキスト内では、黒板プロセス1個,事象検知
器プロセス1個,活性化/アジェンダマネージャプロセ
ス1個,ユーザインタフェースプロセス1個が存在する
ことになろう。更に、少なくとも1個の知識源プロセス
が存在しなければならず、多重知識源プロセスでもかま
わない。図4では、特定黒板情報を表示するための人間
−機械インタフエースプロセスは示されていない。
図4に示す。本システムは下記のモジュールに分けられ
る:黒板,事象検知部,活性化/アジェンダマネージ
ャ,ルルベースの知識源,ケースベースの知識源,ユー
ザインタフェース。これら各々のモジュールは独特のU
NIXプロセスを表している。ある特定アプリケーショ
ンのコンテキスト内では、黒板プロセス1個,事象検知
器プロセス1個,活性化/アジェンダマネージャプロセ
ス1個,ユーザインタフェースプロセス1個が存在する
ことになろう。更に、少なくとも1個の知識源プロセス
が存在しなければならず、多重知識源プロセスでもかま
わない。図4では、特定黒板情報を表示するための人間
−機械インタフエースプロセスは示されていない。
【0042】シェルを使用する前に、ユーザは必要なす
べての入力ファイルを作成する。必要なファイルとは、
黒板構造記述ファイル(BSDF),各ルールベースの
知識源用ルールベース記述ファイル(RBDF),各ケ
ースベースの知識源用ケース記述ファイル(CDF)及
び少なくも一つのデータファイルである。
べての入力ファイルを作成する。必要なファイルとは、
黒板構造記述ファイル(BSDF),各ルールベースの
知識源用ルールベース記述ファイル(RBDF),各ケ
ースベースの知識源用ケース記述ファイル(CDF)及
び少なくも一つのデータファイルである。
【0043】統語上の正確さを得るために、シェルがフ
ァイルをチェックする一方、ユーザはテキストエディタ
を通じてエラーを修正できるが、もっとレベルの高いエ
ラーや不整合性を見つけるためにシェルがファイルを走
査することはしない。それ故、ユーザはファイルが整合
性のある情報を含むようにしなければならない。そうで
ないと、シェルは予期せぬ結果を生じるだろう。
ァイルをチェックする一方、ユーザはテキストエディタ
を通じてエラーを修正できるが、もっとレベルの高いエ
ラーや不整合性を見つけるためにシェルがファイルを走
査することはしない。それ故、ユーザはファイルが整合
性のある情報を含むようにしなければならない。そうで
ないと、シェルは予期せぬ結果を生じるだろう。
【0044】UNIXシェルプロンプトでシステムファ
イル名を併せてプログラム名を打ち込むことにより、シ
ェルは実行される。システム(アプリケーション)ファ
イル名は、特定のアプリケーションの構造を定義する。
ファイルリストを含むファイルを識別する。ファイルセ
ットは黒板アプリケーションの構造を決定する。黒板に
関するBSDF及びすべてのRBDFとCDFはアプリ
ケーションに属する。ここには、例えば、多分一個の知
識源をはずしても同様のアプリケーションを作成するの
に十分な融通性がある。これにより、試験中のアプリケ
ーションに対する特定の知識源の有用性を評価すること
ができる。
イル名を併せてプログラム名を打ち込むことにより、シ
ェルは実行される。システム(アプリケーション)ファ
イル名は、特定のアプリケーションの構造を定義する。
ファイルリストを含むファイルを識別する。ファイルセ
ットは黒板アプリケーションの構造を決定する。黒板に
関するBSDF及びすべてのRBDFとCDFはアプリ
ケーションに属する。ここには、例えば、多分一個の知
識源をはずしても同様のアプリケーションを作成するの
に十分な融通性がある。これにより、試験中のアプリケ
ーションに対する特定の知識源の有用性を評価すること
ができる。
【0045】シェルにシステムファイルが与えられた後
でないと、シェルは情報のローディングを始めない。
でないと、シェルは情報のローディングを始めない。
【0046】シェルは然るべきプロセスを起動させ、そ
れらに然るべきファイル名を提供する。これには黒板プ
ロセス,事象検知部,プロセス活性化/アジェンダマネ
ージャ,ルールベースの知識源プロセス及びケースベー
スの知識源プロセスが含まれるであろう。すべての入力
ファイルがロードされた後で、シェルはアプリケーショ
ンのセッション実行を開始する準備が整う。シェルはユ
ーザに実行パラメータを設定し、入力データファイル
(IDF)を指定するよう求める。この時点でセッショ
ン実行が始まる。
れらに然るべきファイル名を提供する。これには黒板プ
ロセス,事象検知部,プロセス活性化/アジェンダマネ
ージャ,ルールベースの知識源プロセス及びケースベー
スの知識源プロセスが含まれるであろう。すべての入力
ファイルがロードされた後で、シェルはアプリケーショ
ンのセッション実行を開始する準備が整う。シェルはユ
ーザに実行パラメータを設定し、入力データファイル
(IDF)を指定するよう求める。この時点でセッショ
ン実行が始まる。
【0047】アプリケーションのセッション実行は、シ
ェルがIFDから入力データを読み取り、そのデータに
基づく適切な行動を採ることで構成されている。適切な
行動の決定は事象検知部プロセスの責任である。データ
値は黒板上で更新され、知識源を発火すべきか否かを決
定するためのテスト条件が鑑定される。もし知識源を発
火すべきなら、その名称が先入れ先出し(FIFO)キ
ュー〔待ち行列〕に入力されて、実行待ちとなる。
ェルがIFDから入力データを読み取り、そのデータに
基づく適切な行動を採ることで構成されている。適切な
行動の決定は事象検知部プロセスの責任である。データ
値は黒板上で更新され、知識源を発火すべきか否かを決
定するためのテスト条件が鑑定される。もし知識源を発
火すべきなら、その名称が先入れ先出し(FIFO)キ
ュー〔待ち行列〕に入力されて、実行待ちとなる。
【0048】活性化/アジェンダマネージャは知識源の
実行順序を制御する。それは一度にたった一つの知識源
を実行するよう保証するためである。活性化マネージャ
とアジェンダマネージャは条件が制約されているので、
それらは結合されて単一プロセスになってしまってい
る。
実行順序を制御する。それは一度にたった一つの知識源
を実行するよう保証するためである。活性化マネージャ
とアジェンダマネージャは条件が制約されているので、
それらは結合されて単一プロセスになってしまってい
る。
【0049】アプリケーションで利用される各知識源プ
ロセスはその専門知識のドメインに関連する然るべき構
造を有する。シェルの動作中は、各知識源は活性化/ア
ジェンダマネージャによって活性化されるまで休止して
いる。起動されている時、知識源は、診断〔機能〕を生
成しようとして、そのルーチンを実行する。知識源が診
断を行うと、それはログファイルに書き込まれる。
ロセスはその専門知識のドメインに関連する然るべき構
造を有する。シェルの動作中は、各知識源は活性化/ア
ジェンダマネージャによって活性化されるまで休止して
いる。起動されている時、知識源は、診断〔機能〕を生
成しようとして、そのルーチンを実行する。知識源が診
断を行うと、それはログファイルに書き込まれる。
【0050】知識源は実行中に直接黒板から情報を要求
する。このように、すべての知識源は黒板との直読特権
を有する。しかし、知識源によって生成された黒板への
データ更新は、事象検知部を通じて指示される。その時
に、事象検知部がデータを走査して、ある事象が起きた
か否かを判定できる。
する。このように、すべての知識源は黒板との直読特権
を有する。しかし、知識源によって生成された黒板への
データ更新は、事象検知部を通じて指示される。その時
に、事象検知部がデータを走査して、ある事象が起きた
か否かを判定できる。
【0051】事象検知部を通じてデータ更新を指示する
ための設計決定は重大事である。代案としては、各知識
源が黒板に直接書き込めるようにすることである。直接
書き込みの利点は、黒板への書き込み効率である。その
欠点は、事象検知部がその後引き続き黒板を検索して、
更新されたデータが存在するか否かを判定しなければな
らないことである。知識源から間接的データ更新を伴う
シェルの設計により、センサからであろうと知識源から
であろうと、黒板への更新はすべて均等になる。概念的
に、これは、他にも遂行すべき様々な困難な任務を有す
る事象検知部を簡素化することである。もし事象検知部
が連続的に黒板を検索しなければならないとしたら、
(当初の予想通り)非同期なデータ駆動プロセスから、
非同期なプロセスと体系的な検索とが混合して結合した
プロセスへと、黒板動作における根本概念の変化を引き
起こすであろう。
ための設計決定は重大事である。代案としては、各知識
源が黒板に直接書き込めるようにすることである。直接
書き込みの利点は、黒板への書き込み効率である。その
欠点は、事象検知部がその後引き続き黒板を検索して、
更新されたデータが存在するか否かを判定しなければな
らないことである。知識源から間接的データ更新を伴う
シェルの設計により、センサからであろうと知識源から
であろうと、黒板への更新はすべて均等になる。概念的
に、これは、他にも遂行すべき様々な困難な任務を有す
る事象検知部を簡素化することである。もし事象検知部
が連続的に黒板を検索しなければならないとしたら、
(当初の予想通り)非同期なデータ駆動プロセスから、
非同期なプロセスと体系的な検索とが混合して結合した
プロセスへと、黒板動作における根本概念の変化を引き
起こすであろう。
【0052】入力データの読み取り、知識源の発火、診
断の生成という順序は入力データファイルが終わるまで
続く。この時点で、命令された診断リスト、すなわち、
診断ファイル(FD)が生成される。これがシステムか
らの一次出力であり、それによってシステム評価部がシ
ステムの性能を判定できる。
断の生成という順序は入力データファイルが終わるまで
続く。この時点で、命令された診断リスト、すなわち、
診断ファイル(FD)が生成される。これがシステムか
らの一次出力であり、それによってシステム評価部がシ
ステムの性能を判定できる。
【0053】ユーザが別のセッションの遂次入力データ
で実験できるように、黒板の状態をファイルに格納する
ことができる。そうすれば、その時点から続くその後の
セッション実行で、いずれその黒板状態ファイル(BS
F)をロードできる。
で実験できるように、黒板の状態をファイルに格納する
ことができる。そうすれば、その時点から続くその後の
セッション実行で、いずれその黒板状態ファイル(BS
F)をロードできる。
【0054】本シェルでは又、ユーザが同一システムに
新規のIDFを提供することができる。それは異なった
動作状態(即ち、そのデータがそれ以前の入力データと
は独立しており、無関係であること)をテストするため
になされるだろう。この場合、システムは初期状態にリ
セットされて、別のセッション実行が始まる。或いは、
それ以前の実行データを継承するデータを含む新規ID
Fを提供することができる。この場合、システムはリセ
ットされない。
新規のIDFを提供することができる。それは異なった
動作状態(即ち、そのデータがそれ以前の入力データと
は独立しており、無関係であること)をテストするため
になされるだろう。この場合、システムは初期状態にリ
セットされて、別のセッション実行が始まる。或いは、
それ以前の実行データを継承するデータを含む新規ID
Fを提供することができる。この場合、システムはリセ
ットされない。
【0055】諸プロセスの説明 本節では、シェルの実行にかかわる諸プロセスの各々に
ついて、もっと詳細に説明する。各プロセスを、(1)
その目的の簡単な要約、(2)プロセス名、(3)デー
タ構造、及び(4)プログラムの論理フロー、の四つの
実体的な面に基づいて説明する。データ構造と論理の流
れの実体は、必要ならば、プログラミングの指針によっ
てその説明が増補される。入力/出力の関係については
以下に述べる。本節の説明は、全ソフトウェアを適切に
操作できる程度に詳細なものであることに注意すべきで
ある。このように、プログラマはここに含まれる情報に
よって制約される。本節で述べる内容の変更はすべてW
STCの設計チームの承認を必要とする。他方、ここで
述べないすべてのインプリメントにおける決定はプログ
ラマに委ねられる。例えば、後続する節で述べるデータ
構造は、ここで述べる通りインプリメントされるが、モ
ジュールの適正操作に必要になるかもしれない他のいか
なる構造を用いようともプログラマの自由である。
ついて、もっと詳細に説明する。各プロセスを、(1)
その目的の簡単な要約、(2)プロセス名、(3)デー
タ構造、及び(4)プログラムの論理フロー、の四つの
実体的な面に基づいて説明する。データ構造と論理の流
れの実体は、必要ならば、プログラミングの指針によっ
てその説明が増補される。入力/出力の関係については
以下に述べる。本節の説明は、全ソフトウェアを適切に
操作できる程度に詳細なものであることに注意すべきで
ある。このように、プログラマはここに含まれる情報に
よって制約される。本節で述べる内容の変更はすべてW
STCの設計チームの承認を必要とする。他方、ここで
述べないすべてのインプリメントにおける決定はプログ
ラマに委ねられる。例えば、後続する節で述べるデータ
構造は、ここで述べる通りインプリメントされるが、モ
ジュールの適正操作に必要になるかもしれない他のいか
なる構造を用いようともプログラマの自由である。
【0056】黒板 黒板プロセスには、黒板のオブジェクト及びそのオブジ
ェクトを操作するのに必要な方法が含まれる。プロセス
名:黒板データ構造:黒板のオブジェクトを表わすデー
タ構造の基本的機構を図5で示す。左側の構造はハッシ
ュ表をインプリメントする配列である。右側の結合リス
トに属性/属性値を記憶させる。
ェクトを操作するのに必要な方法が含まれる。プロセス
名:黒板データ構造:黒板のオブジェクトを表わすデー
タ構造の基本的機構を図5で示す。左側の構造はハッシ
ュ表をインプリメントする配列である。右側の結合リス
トに属性/属性値を記憶させる。
【0057】プログラミングの指針 二重ハッシングアルゴリズムのオープンアドレス指定の
Brentの変動値を用いてハッシュ表をインプリメン
トさせる。ハッシュ表の番号は、ある大きな数から始ま
るが、大きすぎてはいけない。例えば、503である。
もしオブジェクトの個数が多すぎることによって、表の
ローディング率(ハッシュテーブル内においてオブジェ
クトが占める割合、すなわち占有率)が約85%を超え
ると、新しい、より大きな表が割当てられ、データがハ
ッシュし直される。最大ハッシュ表のサイズは43、3
91かそれ以上である。
Brentの変動値を用いてハッシュ表をインプリメン
トさせる。ハッシュ表の番号は、ある大きな数から始ま
るが、大きすぎてはいけない。例えば、503である。
もしオブジェクトの個数が多すぎることによって、表の
ローディング率(ハッシュテーブル内においてオブジェ
クトが占める割合、すなわち占有率)が約85%を超え
ると、新しい、より大きな表が割当てられ、データがハ
ッシュし直される。最大ハッシュ表のサイズは43、3
91かそれ以上である。
【0058】ハッシュ表のキーはオブジェクト名であ
り、表のエントリはあるオブジェクトの構造に対するポ
インタであり、その構造にもまたそのオブジェクト(あ
るストリングに対するポインタ)が含まれる。検索時
に、そのキーとその名称ストリングが常に比較される。
ハッシュ配列のオブジェクトの索引とリストの属性の索
引を利用することにより、オブジェクトを呼び出すこと
もできる。このことにより、もし呼び出すことを要求す
る実体がそのような索引を知っていれば実行している時
に高速アクセス機構がもたらされる。
り、表のエントリはあるオブジェクトの構造に対するポ
インタであり、その構造にもまたそのオブジェクト(あ
るストリングに対するポインタ)が含まれる。検索時
に、そのキーとその名称ストリングが常に比較される。
ハッシュ配列のオブジェクトの索引とリストの属性の索
引を利用することにより、オブジェクトを呼び出すこと
もできる。このことにより、もし呼び出すことを要求す
る実体がそのような索引を知っていれば実行している時
に高速アクセス機構がもたらされる。
【0059】属性の構造には、オプションで、ある機能
を参照しやすくするデーモンスロットが含まれている。
もしスロットがあれば、その属性が新しい値を受け取る
ごとに、その機能が実行される。プロトタイプでは、M
MI−WRITEと名づけられた唯一の機能があるが、
その動作はソケットをへて外部プロセス(マンーマシン
・インタフェース)に新しい値を送ることである。
を参照しやすくするデーモンスロットが含まれている。
もしスロットがあれば、その属性が新しい値を受け取る
ごとに、その機能が実行される。プロトタイプでは、M
MI−WRITEと名づけられた唯一の機能があるが、
その動作はソケットをへて外部プロセス(マンーマシン
・インタフェース)に新しい値を送ることである。
【0060】属性値の構造には「タイプ」のスロットが
含まれる。図6にそのタイプコードを示す。タイプのう
ち、「二重(double)」のみが用いられる。
含まれる。図6にそのタイプコードを示す。タイプのう
ち、「二重(double)」のみが用いられる。
【0061】属性値の構造には、秒単位の「時間スタン
プ」スロットが含まれる。リストへの挿入は、最新の値
が最優先の形で行われる。
プ」スロットが含まれる。リストへの挿入は、最新の値
が最優先の形で行われる。
【0062】その値リストへの挿入は、常に1個=現在
より古いたった1個の値=時間スタンプ−ヒストリ長さ
の形で行われる。他のすべての古い値は捨てられる。
より古いたった1個の値=時間スタンプ−ヒストリ長さ
の形で行われる。他のすべての古い値は捨てられる。
【0063】ロジックの流れ 黒板マネージャは幾つかの機能を遂行する。まず第一
に、黒板マネージャはそのプロセスを起動させた後で、
そこへ送られた名称のファイルに含まれる情報から黒板
構造を作成する。それから、それは黒板上でのデータの
出し入れを要求するメッセージを受け取る。各メッセー
ジは下記の一つによって確認される。
に、黒板マネージャはそのプロセスを起動させた後で、
そこへ送られた名称のファイルに含まれる情報から黒板
構造を作成する。それから、それは黒板上でのデータの
出し入れを要求するメッセージを受け取る。各メッセー
ジは下記の一つによって確認される。
【0064】「get (ゲット)」に成功すれば、データ
メッセージはACK メッセージ、「put(プット) 」に成
功すれば、又はエラーがあれば、KNACK メッセージであ
る。ユーザインタフェースからのSTOP( 停止) メッセー
ジはソフトウェアに黒板構造を書き尽くして退去するよ
う伝達する。RESET ( リセット) メッセージによって、
黒板はそのオブジェクト/属性の構造以外のすべてのデ
ータ内容をクリアしてしまう。このモジュールはANSI C
を用いて記述されている。
メッセージはACK メッセージ、「put(プット) 」に成
功すれば、又はエラーがあれば、KNACK メッセージであ
る。ユーザインタフェースからのSTOP( 停止) メッセー
ジはソフトウェアに黒板構造を書き尽くして退去するよ
う伝達する。RESET ( リセット) メッセージによって、
黒板はそのオブジェクト/属性の構造以外のすべてのデ
ータ内容をクリアしてしまう。このモジュールはANSI C
を用いて記述されている。
【0065】事象検知部 本プロセスは外部源、即ち、ユーザインタフェースから
のデータを受け取る。それはまた、知識源が黒板上に書
きたい情報を受け取る。入って来るデータはすべて黒板
プロセスへ送られる。入って来るデータのすべての断片
も事象の潜在的検知のためにチェックされる。データ値
によって、即ち、ある表式を満たすことによって、或い
は、その値とは無関係に、単にデータポイントの到着に
よって、ある事象が起動される場合がある。タイマベー
スの事象は活性化/アジェンダマネージャプロセスで処
理される。検知された事象で連想づけられた知識源のリ
ストが活性化/アジェンダマネージャプロセスに送られ
る。
のデータを受け取る。それはまた、知識源が黒板上に書
きたい情報を受け取る。入って来るデータはすべて黒板
プロセスへ送られる。入って来るデータのすべての断片
も事象の潜在的検知のためにチェックされる。データ値
によって、即ち、ある表式を満たすことによって、或い
は、その値とは無関係に、単にデータポイントの到着に
よって、ある事象が起動される場合がある。タイマベー
スの事象は活性化/アジェンダマネージャプロセスで処
理される。検知された事象で連想づけられた知識源のリ
ストが活性化/アジェンダマネージャプロセスに送られ
る。
【0066】プロセス名:事象検知部 データ構造:図7に本プロセスに必要なデータ構造を示
す。左側の配列でハッシュ表をインプリメントする。各
データ源は、それがセンサの(外部)データであれ、生
成された知識源であれ、ハッシュ表でデータポイント構
造を示す入力項目を有する。そのため、各データポイン
トは連想づけられた間接的表式リストを有する。このリ
ストの要素は、表式配列を順番に指すポインタを有する
表式リスト中の入力項目を示す。
す。左側の配列でハッシュ表をインプリメントする。各
データ源は、それがセンサの(外部)データであれ、生
成された知識源であれ、ハッシュ表でデータポイント構
造を示す入力項目を有する。そのため、各データポイン
トは連想づけられた間接的表式リストを有する。このリ
ストの要素は、表式配列を順番に指すポインタを有する
表式リスト中の入力項目を示す。
【0067】プログラミングの指針:そのハッシュ表は
簡単な二重ハッシングアルゴリズムを用いてインプリメ
ントされる。事象検知部はボトルネックとなり得るもの
であるから、可能な限り最高の性能を追求すべきであ
る。
簡単な二重ハッシングアルゴリズムを用いてインプリメ
ントされる。事象検知部はボトルネックとなり得るもの
であるから、可能な限り最高の性能を追求すべきであ
る。
【0068】そのハッシュ表の番号は、黒板の表より小
さいと予想される。それも503 から始まるが、ローディ
ング率が90%を超えると、もっと大きなスペースが割当
てられる。
さいと予想される。それも503 から始まるが、ローディ
ング率が90%を超えると、もっと大きなスペースが割当
てられる。
【0069】そのハッシュ表のキーは、オブジェクト名
と属性名の結合である。表の入力項目は、再びオブジェ
クト名/属性名を含むデータ構造を指す。その名称は検
索中常に比較される。
と属性名の結合である。表の入力項目は、再びオブジェ
クト名/属性名を含むデータ構造を指す。その名称は検
索中常に比較される。
【0070】論理の流れ:図8では、単純化された表現
のプログラムの論理を示す。本プロセス起動時に初期化
部分が実行される。それはそこへ引数として送られる名
称の知識源記述ファイルから事象表現の定義をロード
し、解析することによって、図7で示す構造を作成す
る。プログラムの残部は、メッセージの受信によって駆
動される。
のプログラムの論理を示す。本プロセス起動時に初期化
部分が実行される。それはそこへ引数として送られる名
称の知識源記述ファイルから事象表現の定義をロード
し、解析することによって、図7で示す構造を作成す
る。プログラムの残部は、メッセージの受信によって駆
動される。
【0071】プログラミングの指針:入って来るすべて
のデータメッセージは、構文エラーがある場合はKNACK
メッセージによって、或いは、黒板確認メッセージを元
の送り手に送り返すことによって確認される。
のデータメッセージは、構文エラーがある場合はKNACK
メッセージによって、或いは、黒板確認メッセージを元
の送り手に送り返すことによって確認される。
【0072】表現評価については、ここで述べる。事象
を定義する表現は条件式と同様であるから、同一のソフ
トウェアが使用される。
を定義する表現は条件式と同様であるから、同一のソフ
トウェアが使用される。
【0073】表現で用いられる演算子は本質的にシステ
ムの他の所で用いられる演算子と同一である。このよう
に、黒板から得られる新たに到着した値とそれ以前の値
を区別するためには、新演算子は新データ到着時にトリ
ガするオブジェクト/属性に先行するよう求められる。
ムの他の所で用いられる演算子と同一である。このよう
に、黒板から得られる新たに到着した値とそれ以前の値
を区別するためには、新演算子は新データ到着時にトリ
ガするオブジェクト/属性に先行するよう求められる。
【0074】ある知識源で連想づけられる表現が全く無
い場合には、そのような知識源は、その前提条件の一つ
にあらゆる演算子が含まれていれば、単に発火するだけ
だろう。本モジュールはC++で書かれている。
い場合には、そのような知識源は、その前提条件の一つ
にあらゆる演算子が含まれていれば、単に発火するだけ
だろう。本モジュールはC++で書かれている。
【0075】活性化/アジェンダマネージャ 本プロセスは知識源に実行を開始させる。事象検知部に
よって活性化された知識源は、それらの前提条件が真で
あると評価された場合に、しかもその場合にのみ直ちに
起動される。知識源に如何なる前提条件も定義されてい
ない場合は、それは次の機会に発火するであろう。FIFO
キュー(先入れ先出し待ち行列)が実行順序を決定す
る。周期的に実行する知識源のために、別途キューが備
わっている。
よって活性化された知識源は、それらの前提条件が真で
あると評価された場合に、しかもその場合にのみ直ちに
起動される。知識源に如何なる前提条件も定義されてい
ない場合は、それは次の機会に発火するであろう。FIFO
キュー(先入れ先出し待ち行列)が実行順序を決定す
る。周期的に実行する知識源のために、別途キューが備
わっている。
【0076】プロセス名:マネージャ データ構造:本プロセスが必要とする基本的なデータ構
造には次の三種類がある:すなわち、事象によって駆動
される知識源を活性化させるためのFIFOキュー、周期的
知識源用の時間ベースのキュー、前提条件をチェックす
るための知識源/前提条件の表現構造である。
造には次の三種類がある:すなわち、事象によって駆動
される知識源を活性化させるためのFIFOキュー、周期的
知識源用の時間ベースのキュー、前提条件をチェックす
るための知識源/前提条件の表現構造である。
【0077】後者は、図7で示す事象検知部のデータ構
造にとって概念的には理想的であるが、次のような違い
がある。すなわち、この時ハッシュ表が不要で番号100
の単純配列で十分である、各知識源用の表現リストはそ
の配列要素によって指示される。それ故、オブジェクト
/属性構造と間接的表現リストが不要である、表現リス
ト構造の「知識源」と「更新済み」のスロットも不要で
あるということである。
造にとって概念的には理想的であるが、次のような違い
がある。すなわち、この時ハッシュ表が不要で番号100
の単純配列で十分である、各知識源用の表現リストはそ
の配列要素によって指示される。それ故、オブジェクト
/属性構造と間接的表現リストが不要である、表現リス
ト構造の「知識源」と「更新済み」のスロットも不要で
あるということである。
【0078】論理の流れ:それは基本的に一個のプロセ
スだが、活性化/アジェンダマネージャーを実行するソ
フトウェアは二つの割込み駆動プログラムとして最もよ
く考えられたものである。一方は図9のトップに示す通
り、事象検知部からのメッセージの到着に反応する。他
方は図9の低部に示す通り、時間の経過に反応する。
スだが、活性化/アジェンダマネージャーを実行するソ
フトウェアは二つの割込み駆動プログラムとして最もよ
く考えられたものである。一方は図9のトップに示す通
り、事象検知部からのメッセージの到着に反応する。他
方は図9の低部に示す通り、時間の経過に反応する。
【0079】プログラミング上の注意:本プロセスは二
つの割込み駆動プログラムとして最もよく考えられては
いるが、実際のインプリメンテーションアプローチはイ
ンプリメンタ裁量にまかせられている。本モジュールに
ついては、C++で記されている。
つの割込み駆動プログラムとして最もよく考えられては
いるが、実際のインプリメンテーションアプローチはイ
ンプリメンタ裁量にまかせられている。本モジュールに
ついては、C++で記されている。
【0080】ルールベースの知識源 本プロセスは、if〜then〜のルールの集合で動作する基
本的なデータ駆動(前向き連鎖)推論機構によって、
「信念」を伝搬させることによって、インプリメントが
行われる。
本的なデータ駆動(前向き連鎖)推論機構によって、
「信念」を伝搬させることによって、インプリメントが
行われる。
【0081】プロセス名:ルールベースデータ構造: 基本的なデータ構造はルールネットワーク(木)であ
る。一例を図10で示す。ネットワークノードは次の三つ
の基本層に依存する。すなわち、データノードから成る
入力層、仮説、変数、定数のノードから成る中間層、障
害ノードから成る出力層である。
る。一例を図10で示す。ネットワークノードは次の三つ
の基本層に依存する。すなわち、データノードから成る
入力層、仮説、変数、定数のノードから成る中間層、障
害ノードから成る出力層である。
【0082】それらの構造を図11に示す。データと障害
のノードは黒板相当構造をもたねばならない。その他の
種類(仮説、変数、及び定数)のノードは黒板相当構造
を有してもよいが、その必要はない。支援ルールと被支
援ルールのスロットには、ノードを相互接続する方法を
記述する構造を示すポインタが含まれる。これらの構造
はルールであり、それらの基本的な機構を図12に示す。
この図では又、メタルールの構造も示す。
のノードは黒板相当構造をもたねばならない。その他の
種類(仮説、変数、及び定数)のノードは黒板相当構造
を有してもよいが、その必要はない。支援ルールと被支
援ルールのスロットには、ノードを相互接続する方法を
記述する構造を示すポインタが含まれる。これらの構造
はルールであり、それらの基本的な機構を図12に示す。
この図では又、メタルールの構造も示す。
【0083】これらの構造に加えて、図13では、機能仕
様で述べる諸機能をインプリメンテーションに必要な他
の幾つかの実体の機構を示す。これらの幾つかについて
は更に論述する。最後に、条件式を記憶するには、ある
構造が必要である。
様で述べる諸機能をインプリメンテーションに必要な他
の幾つかの実体の機構を示す。これらの幾つかについて
は更に論述する。最後に、条件式を記憶するには、ある
構造が必要である。
【0084】論理の流れ:本プログラムは最初にルール
ベース論述ファイルを読んで、上記の構造を作成する。
それから、それはメッセージを待つ。もしそれがSETPAR
AM型のメッセージなら、プログラムは追跡、記録、ステ
ップの実行パラメータをセット又はリセットし、或いは
それは大域的な十分性・必要性の係数の値を変更し、或
いはそれは大域的なα・β遮断の値を変更する。ブレー
クポイントを設定するには、ルールベースの知識源自体
のユーザインタフェースを呼び出す。もしそのメッセー
ジがRESET 型のメッセージならば、新たなセッション実
行に備えて、プログラム自体がリセットされる。もしそ
のメッセージがACTIV 型メッセージならば、プログラム
は一般に図14で示す手順に従う。この図で示す論理の流
れは大いに単純化されている。本ソフトウェアの決定的
な面については、次節で更に詳述する。
ベース論述ファイルを読んで、上記の構造を作成する。
それから、それはメッセージを待つ。もしそれがSETPAR
AM型のメッセージなら、プログラムは追跡、記録、ステ
ップの実行パラメータをセット又はリセットし、或いは
それは大域的な十分性・必要性の係数の値を変更し、或
いはそれは大域的なα・β遮断の値を変更する。ブレー
クポイントを設定するには、ルールベースの知識源自体
のユーザインタフェースを呼び出す。もしそのメッセー
ジがRESET 型のメッセージならば、新たなセッション実
行に備えて、プログラム自体がリセットされる。もしそ
のメッセージがACTIV 型メッセージならば、プログラム
は一般に図14で示す手順に従う。この図で示す論理の流
れは大いに単純化されている。本ソフトウェアの決定的
な面については、次節で更に詳述する。
【0085】条件式 図14で示す通り、下記の一定の条件を満たさなければ、
ルールは発火できない。
ルールは発火できない。
【0086】1.そのルールのコンテキストが真と評価さ
れねばならない。
れねばならない。
【0087】2.そのルールの条件が得られる。
【0088】3.そのルールの仮説に対する条件の貢献値
は、α・β遮断値によって定義される範囲内でなければ
ならない。
は、α・β遮断値によって定義される範囲内でなければ
ならない。
【0089】これらの条件は表現の評価に依存する。表
現処理の全般的戦略は下記の通りである。表現はプレフ
ィックス表記法又はインフィックス表記法を用いて、ル
ールベース記述ファイルで最初に指定される。2,3の
例は: 「もし温度が過去1時間に500 度未満から500 度以上に
なったとしたら」: ((time-when(temp>500))<3600) 「もし直前2時間に亘る圧力変化が0.5 未満だった
ら」: (<(trend pres 7200)0.5) 「仮説#1が真で、しかも次の内の少なくとも一つが真:
〔即ち〕仮説#2が真、或いは仮説#3が真、或いは仮説#4
が偽ならば」: (hyp1 and(or hyp2 hyp3(not hyp4))) 簡単に表示するために、テキストはストリングとして、
ルールの条件−テキスト用スロットに記憶される。それ
は又、表式−配列で分析される。このアレイの構造は、
厳密なプレフィックスであり、表式の回帰的表現であ
る。そこでは、演算子はその対応トークン(或いは関数
を指すポインタ)によって置換済みであり、オペランド
は動的値を保持する構造を指すポインタによって、或い
はそれらが静的定数ならば、その値自体によって置換さ
れる。
現処理の全般的戦略は下記の通りである。表現はプレフ
ィックス表記法又はインフィックス表記法を用いて、ル
ールベース記述ファイルで最初に指定される。2,3の
例は: 「もし温度が過去1時間に500 度未満から500 度以上に
なったとしたら」: ((time-when(temp>500))<3600) 「もし直前2時間に亘る圧力変化が0.5 未満だった
ら」: (<(trend pres 7200)0.5) 「仮説#1が真で、しかも次の内の少なくとも一つが真:
〔即ち〕仮説#2が真、或いは仮説#3が真、或いは仮説#4
が偽ならば」: (hyp1 and(or hyp2 hyp3(not hyp4))) 簡単に表示するために、テキストはストリングとして、
ルールの条件−テキスト用スロットに記憶される。それ
は又、表式−配列で分析される。このアレイの構造は、
厳密なプレフィックスであり、表式の回帰的表現であ
る。そこでは、演算子はその対応トークン(或いは関数
を指すポインタ)によって置換済みであり、オペランド
は動的値を保持する構造を指すポインタによって、或い
はそれらが静的定数ならば、その値自体によって置換さ
れる。
【0090】最後の例では、#2と#3はそのトークンに続
くオペランドの数を示す。このアレイを指すポインタは
そのルールの条件−表のスロットに入力される。その分
析部も又ポインタとしてのオペランドのみを含む別の条
件−リストを生成する。このリストは、条件が入手でき
るか否かを迅速にチェックするのに用いられる。
くオペランドの数を示す。このアレイを指すポインタは
そのルールの条件−表のスロットに入力される。その分
析部も又ポインタとしてのオペランドのみを含む別の条
件−リストを生成する。このリストは、条件が入手でき
るか否かを迅速にチェックするのに用いられる。
【0091】かくて、表現の実行時の評価とは、実際の
計算を行う単純な評価関数を回帰的に呼び出すことであ
る。
計算を行う単純な評価関数を回帰的に呼び出すことであ
る。
【0092】それから、ルールを発火する条件が次の通
りチェックされる。
りチェックされる。
【0093】1.ルールのコンテキスト表現を評価す
る。真(即ち、値が1と評価) 2.条件−リスト上の条件の構成要素がすべて更新済み
であるかどうかをチェックする。もしYESならば、 3.ルールの条件式を評価する。
る。真(即ち、値が1と評価) 2.条件−リスト上の条件の構成要素がすべて更新済み
であるかどうかをチェックする。もしYESならば、 3.ルールの条件式を評価する。
【0094】こうすれば、ある信頼度のレベルであるC
F条件値が報告される。(次節で述べるような)ルール
の十分性又は必要性と結合したこの値が、ルールの仮説
の信念に対するルールの貢献度を決定する。もしその貢
献度が仮説MBに影響し、その貢献量(値)がα遮断値
よりも大きければ、或いは、それが仮説MDに影響し、
貢献量がβ遮断値より小さければ、そのルールは発火し
うる。
F条件値が報告される。(次節で述べるような)ルール
の十分性又は必要性と結合したこの値が、ルールの仮説
の信念に対するルールの貢献度を決定する。もしその貢
献度が仮説MBに影響し、その貢献量(値)がα遮断値
よりも大きければ、或いは、それが仮説MDに影響し、
貢献量がβ遮断値より小さければ、そのルールは発火し
うる。
【0095】オペランドには幾つかの種類がありうる:
値オペランドはある数を評価する。値オペランドは、実
際の数、ノード名、コンテキスト名或いはそれ自体が値
を評価する表現によって指定されうる。名称を利用する
場合は、計算に用いられる値はその構造の種類に依存す
る。
値オペランドはある数を評価する。値オペランドは、実
際の数、ノード名、コンテキスト名或いはそれ自体が値
を評価する表現によって指定されうる。名称を利用する
場合は、計算に用いられる値はその構造の種類に依存す
る。
【0096】仮説と機能障害のノードはそのCFスロッ
ト値を提供する。データ、変数、定数のノード及びコン
テキストは、その値スロットの内容を提供する。
ト値を提供する。データ、変数、定数のノード及びコン
テキストは、その値スロットの内容を提供する。
【0097】DFオペランドは、その値が−1.0と+
1.0の間の数でなければならない点を除けば、値オペ
ランドと同様である。
1.0の間の数でなければならない点を除けば、値オペ
ランドと同様である。
【0098】区分線形オペランドは区分線形構造の名称
であり、それはデータ補間用X−Y対のリストを提供す
る。
であり、それはデータ補間用X−Y対のリストを提供す
る。
【0099】演算子にも様々な種類がある:代数演算子
は常に数値を報告し、それらのアーギュメントはすべて
値である。これらの演算子のリストを機能仕様書の別の
頁に示されている。更に現在時刻演算子が備わってお
り、それは現在のデータセットの時間スタンプを報告す
る。
は常に数値を報告し、それらのアーギュメントはすべて
値である。これらの演算子のリストを機能仕様書の別の
頁に示されている。更に現在時刻演算子が備わってお
り、それは現在のデータセットの時間スタンプを報告す
る。
【0100】ブール演算子は常にCF値を報告する。し
かし、それらのオペランドの種類は異なる。ファジーブ
ール演算(AND,OR,NOT)はCF型オペランド
を必要とする。重み付きブール演算(重み付きAND、
重み付きOR)は(重み、CF)対を必要とし、ここで
いうウェイトとは一つの数である。比較ブール演算
(=、<、>)は二つの値アーギュメントと、オプショ
ンで一つの区分線形をとる。もし後者を指定しなけれ
ば、演算子が+1又は−1(真または偽)を報告する。
そうでなければ、区分線形関数のX線上で二つの数アー
ギュメントの差をマッピングすれば、曖昧な結果が算出
されて、その対応Y軸値が報告される。
かし、それらのオペランドの種類は異なる。ファジーブ
ール演算(AND,OR,NOT)はCF型オペランド
を必要とする。重み付きブール演算(重み付きAND、
重み付きOR)は(重み、CF)対を必要とし、ここで
いうウェイトとは一つの数である。比較ブール演算
(=、<、>)は二つの値アーギュメントと、オプショ
ンで一つの区分線形をとる。もし後者を指定しなけれ
ば、演算子が+1又は−1(真または偽)を報告する。
そうでなければ、区分線形関数のX線上で二つの数アー
ギュメントの差をマッピングすれば、曖昧な結果が算出
されて、その対応Y軸値が報告される。
【0101】時間ベースの演算子は常に数値を報告す
る。それらのオペランドは一つのノード名と一つの値
(△T)である。第2アーギュメントは実際の数値でな
ければならない。時間ベースの演算子のリストを機能仕
様書の別の頁に示されている。更にもう二つの演算子が
加わる。ノードの履歴からの値を報告する時間値演算
子、及びデータノードの時間スタンプを報告する(必ず
しも現行時間と同一ではない)時間スタンプ演算子であ
る。
る。それらのオペランドは一つのノード名と一つの値
(△T)である。第2アーギュメントは実際の数値でな
ければならない。時間ベースの演算子のリストを機能仕
様書の別の頁に示されている。更にもう二つの演算子が
加わる。ノードの履歴からの値を報告する時間値演算
子、及びデータノードの時間スタンプを報告する(必ず
しも現行時間と同一ではない)時間スタンプ演算子であ
る。
【0102】変化ベースの演算子は常に、ある値を報告
する。それは演算子が一つの表現をアーギュメントとし
て必要とする時間である。その表現の真理値が偽(マイ
ナス値)から真(プラス値)へ移ると、その遷移時間が
記録される。それ故、その表現はCF型でなければなら
ない。それは演算子が二つのアーギュメント、CF表現
とノード名を取る時の値である。その表現が偽から真へ
移ると、ノード値が記録される。これら両方の演算子は
偽から真への遷移を定義するのに用いられる追加アーギ
ュメントを受け容れる。もしこのオプションのアーギュ
メントが欠けると、真と偽の境界が大域的なα遮断値と
なる。
する。それは演算子が一つの表現をアーギュメントとし
て必要とする時間である。その表現の真理値が偽(マイ
ナス値)から真(プラス値)へ移ると、その遷移時間が
記録される。それ故、その表現はCF型でなければなら
ない。それは演算子が二つのアーギュメント、CF表現
とノード名を取る時の値である。その表現が偽から真へ
移ると、ノード値が記録される。これら両方の演算子は
偽から真への遷移を定義するのに用いられる追加アーギ
ュメントを受け容れる。もしこのオプションのアーギュ
メントが欠けると、真と偽の境界が大域的なα遮断値と
なる。
【0103】他の諸注意:ルールの条件として表式を用
いる場合は、それらはCF型を評価しなければならな
い。換言すれば、最上位の演算子はブール型でなければ
ならない。他のすべての場合(例えば、変数ノードに記
憶されたメタルールと計算)は、いかなる制約もない。
いる場合は、それらはCF型を評価しなければならな
い。換言すれば、最上位の演算子はブール型でなければ
ならない。他のすべての場合(例えば、変数ノードに記
憶されたメタルールと計算)は、いかなる制約もない。
【0104】時間ベースの演算子を含む表式中のすべて
のノード基準は、実際の履歴が保持されている黒板中に
対応するオブジェクト属性の内容をもたねばならない。
その基準がルールの条件中にある時は、ノード名を使用
しなければならない。それが事象又は前提条件の定義中
にある時は、オブジェクト/属性名を用いなければなら
ない。
のノード基準は、実際の履歴が保持されている黒板中に
対応するオブジェクト属性の内容をもたねばならない。
その基準がルールの条件中にある時は、ノード名を使用
しなければならない。それが事象又は前提条件の定義中
にある時は、オブジェクト/属性名を用いなければなら
ない。
【0105】ルールに基づいて、たった一つの変化ベー
スの演算子が許容される。
スの演算子が許容される。
【0106】すべての時間基準は秒単位である。すべて
の時間間隔は現在の時間スタンプから測定される(必ず
しも現在の実時間と同一ではない)。
の時間間隔は現在の時間スタンプから測定される(必ず
しも現在の実時間と同一ではない)。
【0107】幾つかの演算子は「偽信号〔別名〕」:ad
d 〔加える〕+、and 〔と〕&、diff〔引く〕−、div
〔割る〕/、equal 〔等しい〕=、greater 〔大なり〕
>、less〔小なり〕<、not 〔でない〕!、or〔又は〕
?、times 〔掛ける、倍〕*、を有する。インフィック
ス表記法又はプレフィクス表記法の両方でこれらの演算
子(それらの〔実〕名又はそれらの別名)を用いること
ができる。他のすべての演算子はプレフィックス表記法
でのみ用いることができる。
d 〔加える〕+、and 〔と〕&、diff〔引く〕−、div
〔割る〕/、equal 〔等しい〕=、greater 〔大なり〕
>、less〔小なり〕<、not 〔でない〕!、or〔又は〕
?、times 〔掛ける、倍〕*、を有する。インフィック
ス表記法又はプレフィクス表記法の両方でこれらの演算
子(それらの〔実〕名又はそれらの別名)を用いること
ができる。他のすべての演算子はプレフィックス表記法
でのみ用いることができる。
【0108】アーギュメントの数は、一般に演算子の性
質によって示唆される。しかし、幾つかの演算子:and
〔と〕、or〔又は〕、average 〔平均〕、diff〔引
く〕、div 〔割る〕、max 〔最大〕、min 〔最小〕、st
d-dev 〔標準偏差〕、times 〔掛ける、倍〕は、あらゆ
る数のオペランドを取ることができる。
質によって示唆される。しかし、幾つかの演算子:and
〔と〕、or〔又は〕、average 〔平均〕、diff〔引
く〕、div 〔割る〕、max 〔最大〕、min 〔最小〕、st
d-dev 〔標準偏差〕、times 〔掛ける、倍〕は、あらゆ
る数のオペランドを取ることができる。
【0109】推論機構 「信念」の伝搬:これは三段階で行われる。
【0110】1.ルールの条件の評価:これについて
は、前節で論述済みである。又、ブール条件の公式を結
合するには、本機能使用のP40を参照のこと。
は、前節で論述済みである。又、ブール条件の公式を結
合するには、本機能使用のP40を参照のこと。
【0111】2.ルールの貢献度の計算:ルールは十分
性と必要性(SFとNF)と名付けられた事前に定義さ
れた確信レベルを有する。図15の表でその全アルゴリズ
ムを示す。(注:この貢献度はα−β遮断値の判定に用
いられる。) 3.仮説の信念の更新:一つ以上のルールが仮説に影響
を与える場合には、次の論理的和確率ルールを用いる: Beliefi =Beliefi −1+Beliefrule-i −Beliefi −1*Beliefrule-i、 ここで、Beliefi は図15で示すような仮説MB又はMD
であり、Beliefrule-iは図15で示すような一括ルールの
貢献度である。
性と必要性(SFとNF)と名付けられた事前に定義さ
れた確信レベルを有する。図15の表でその全アルゴリズ
ムを示す。(注:この貢献度はα−β遮断値の判定に用
いられる。) 3.仮説の信念の更新:一つ以上のルールが仮説に影響
を与える場合には、次の論理的和確率ルールを用いる: Beliefi =Beliefi −1+Beliefrule-i −Beliefi −1*Beliefrule-i、 ここで、Beliefi は図15で示すような仮説MB又はMD
であり、Beliefrule-iは図15で示すような一括ルールの
貢献度である。
【0112】データノード:システムへの入力はデータ
ノードの値スロット内にある。これらの値は一般に比較
ブール演算を用いて信念に変換される。
ノードの値スロット内にある。これらの値は一般に比較
ブール演算を用いて信念に変換される。
【0113】メタルール:これらのルールは信念を伝搬
させるものではないが、コンテキストを変更して、ルー
ルの重要度を修正するのに用いられる。それ故、メタル
ールのターゲット−リスト用スロット(図12参照)がコ
ンテキスト又はルール構造を指す。第1の場合は、メタ
ルールのターゲット−スロット用スロットはコンテキス
ト構造の値スロットだと見なされる。第2の場合は、タ
ーゲットルールのSF又はNFのスロットを指定しなけ
ればならない。メタルールの源スロットには表現が含ま
れる。その評価で得られた値は、アーギュメントとして
オプションの関数(区分線形関数)スロットへ送られ
て、その結果がターゲットコンテキスト又はルールのタ
ーゲット−スロットに入る。もし関数スロットが定義さ
れないならば、その表現の評価結果が直接宛先(ターゲ
ット−スロット)に入る。
させるものではないが、コンテキストを変更して、ルー
ルの重要度を修正するのに用いられる。それ故、メタル
ールのターゲット−リスト用スロット(図12参照)がコ
ンテキスト又はルール構造を指す。第1の場合は、メタ
ルールのターゲット−スロット用スロットはコンテキス
ト構造の値スロットだと見なされる。第2の場合は、タ
ーゲットルールのSF又はNFのスロットを指定しなけ
ればならない。メタルールの源スロットには表現が含ま
れる。その評価で得られた値は、アーギュメントとして
オプションの関数(区分線形関数)スロットへ送られ
て、その結果がターゲットコンテキスト又はルールのタ
ーゲット−スロットに入る。もし関数スロットが定義さ
れないならば、その表現の評価結果が直接宛先(ターゲ
ット−スロット)に入る。
【0114】メタルールでコンテキストを変更すると、
すでに発火済みでそのコンテキストが変更されたすべて
のルールが「未発火」(即ち、それらの結果が除去され
る)状態になる。そうすると、プログラムはコンテキス
ト変更前にルールが発火した可能性がなかったかを再チ
ェックして、それらが現在テキスト中にある可能性を再
チェックする。同様に、メタルールでルールのSF又は
NFを変更する場合は、このルールのすべての結果は未
完でなければならず、従ってそのルールは再発火しなけ
ればならない。
すでに発火済みでそのコンテキストが変更されたすべて
のルールが「未発火」(即ち、それらの結果が除去され
る)状態になる。そうすると、プログラムはコンテキス
ト変更前にルールが発火した可能性がなかったかを再チ
ェックして、それらが現在テキスト中にある可能性を再
チェックする。同様に、メタルールでルールのSF又は
NFを変更する場合は、このルールのすべての結果は未
完でなければならず、従ってそのルールは再発火しなけ
ればならない。
【0115】メタルールに関する二つの観察:まず第一
に、それらは未発火と再発火のプロセスにより、無限ル
ープを招く恐れがある。かくて、各メタルールは、ある
既定数しかそのメタルールを実行できない、オプション
の関連カウンタを有する。カウンタが定義されない場合
は、1と見なされる。観察の第二点としては、メタルー
ルは概念的に使用しにくいだけでなく、実行時性能を大
幅に低減させるので、注意して使用しなければならない
ことである。
に、それらは未発火と再発火のプロセスにより、無限ル
ープを招く恐れがある。かくて、各メタルールは、ある
既定数しかそのメタルールを実行できない、オプション
の関連カウンタを有する。カウンタが定義されない場合
は、1と見なされる。観察の第二点としては、メタルー
ルは概念的に使用しにくいだけでなく、実行時性能を大
幅に低減させるので、注意して使用しなければならない
ことである。
【0116】評価部:ルールと同様であるが、評価部の
目的は信念を高めることではなくて、むしろ計算を行う
ことである。かくて、評価数構造(図13)は、ルールと
全く同様に、コンテキストの表式を有する。その表現ス
ロットは、ルールの条件と全く同様に評価される。それ
から、その評価結果は、その名が変数スロットにある値
スロットに入る。
目的は信念を高めることではなくて、むしろ計算を行う
ことである。かくて、評価数構造(図13)は、ルールと
全く同様に、コンテキストの表式を有する。その表現ス
ロットは、ルールの条件と全く同様に評価される。それ
から、その評価結果は、その名が変数スロットにある値
スロットに入る。
【0117】デバッギング:8個のパラメータを設定で
きる。
きる。
【0118】追跡:設定すると、発火時に、各ルールに
よって記述メッセージが画面上に表示される。
よって記述メッセージが画面上に表示される。
【0119】記録:追跡とまさしく同様であるが、出力
が拡張「.log」付きのファイルへと進む。
が拡張「.log」付きのファイルへと進む。
【0120】ステップ:設定すると、各ルール発火後に
プログラムが停止し、ユーザが要求した時だけ続行す
る。
プログラムが停止し、ユーザが要求した時だけ続行す
る。
【0121】ブレークポイント:ルールで連想づけら
れ、標識の付いたルールがグローバルなSFとNFを発
火した直後に、プログラムを停止させる。ブレークポイ
ントは、これら二つのパラメータのデフォルト値を定義
する(即ち、SF及び/又はNF値抜きでルールが定義
されると、グローバルなデフォルト値が用いられる)。
れ、標識の付いたルールがグローバルなSFとNFを発
火した直後に、プログラムを停止させる。ブレークポイ
ントは、これら二つのパラメータのデフォルト値を定義
する(即ち、SF及び/又はNF値抜きでルールが定義
されると、グローバルなデフォルト値が用いられる)。
【0122】グローバルαとβ:それらはこれら二つの
パラメータのデフォルト値を定義する(即ち、α値及び
/またはβ値抜きでルールが定義されるとグローバルの
デフォルト値が用いられる)。グローバルなαはまた、
表現で指定されなければ、変化ベースの演算子のために
偽から真へのデフォルトの遷移を定義するのにも用いら
れる。
パラメータのデフォルト値を定義する(即ち、α値及び
/またはβ値抜きでルールが定義されるとグローバルの
デフォルト値が用いられる)。グローバルなαはまた、
表現で指定されなければ、変化ベースの演算子のために
偽から真へのデフォルトの遷移を定義するのにも用いら
れる。
【0123】ブレークポイント以外のこれらのパラメー
タはすべて、ユーザインタフェースからのSETPAR
AMメッセージによって、セットでき、クリアできる。
ブレークポイントは、ルールベースの知識源ソフトウェ
アによって、それ自体のユーザインタフェースを経て設
定できる。
タはすべて、ユーザインタフェースからのSETPAR
AMメッセージによって、セットでき、クリアできる。
ブレークポイントは、ルールベースの知識源ソフトウェ
アによって、それ自体のユーザインタフェースを経て設
定できる。
【0124】ユーザインタフェース:プログラム自体の
ユーザインタフェースは、次の二つの情況下のいずれか
で呼び出される。ユーザがブレークポイントを設定した
い時、及び実行時中で、ステップパラメータが設定され
ている、或いはブレークポイントに遭遇した時である。
ユーザインタフェースは、次の二つの情況下のいずれか
で呼び出される。ユーザがブレークポイントを設定した
い時、及び実行時中で、ステップパラメータが設定され
ている、或いはブレークポイントに遭遇した時である。
【0125】本プログラムのユーザインタフェースによ
り、ユーザはルールベースの最小量の走査が行える(例
えば、リスト構造)。この目的のために、図13で示す
システム構造では、然るべき記帳情報を記憶する。
り、ユーザはルールベースの最小量の走査が行える(例
えば、リスト構造)。この目的のために、図13で示す
システム構造では、然るべき記帳情報を記憶する。
【0126】出力:本プログラムは、記録ファイルと併
せて、上位の機能障害が列記されている診断ファイルも
書く。この出力ファイルは、拡張「.out」を有する。
せて、上位の機能障害が列記されている診断ファイルも
書く。この出力ファイルは、拡張「.out」を有する。
【0127】動作:ルールの実行部には幾つかの動作が
備わっている。
備わっている。
【0128】bbへの値入力:この動作は、1 つのアー
ギュメント、ノード名を取る。この動作を有するルール
が発火すると、そのノードアーギュメントの値が黒板に
送られるだろう。機能障害の値は自動的に黒板に送られ
ることに注意されたい。
ギュメント、ノード名を取る。この動作を有するルール
が発火すると、そのノードアーギュメントの値が黒板に
送られるだろう。機能障害の値は自動的に黒板に送られ
ることに注意されたい。
【0129】割当:この動作は二つのアーギュメント、
第1が変数名、第2がノード名を取る。第2のアーギュ
メントの値は変数ノードの値スロットに入る。
第1が変数名、第2がノード名を取る。第2のアーギュ
メントの値は変数ノードの値スロットに入る。
【0130】表示:この動作はアーギュメントを取らな
い。ルールが発火すると、追跡パラメータによって表示
されているのと同様の情報が画面上に表示される。この
動作は、ルールを監視する必要があれば有用だが、(ブ
レークポイントがそうであるように)その実行を停止し
ないし、ルールベースの他の部品に関する情報も表示し
ない。
い。ルールが発火すると、追跡パラメータによって表示
されているのと同様の情報が画面上に表示される。この
動作は、ルールを監視する必要があれば有用だが、(ブ
レークポイントがそうであるように)その実行を停止し
ないし、ルールベースの他の部品に関する情報も表示し
ない。
【0131】性能:本プログラムは、発火済みと未発火
のルール数と併せて、その始動時間と停止時間を記録す
るだろう。黒板呼び出し時間も記録される。本モジュー
ルについては、C++に記されている。
のルール数と併せて、その始動時間と停止時間を記録す
るだろう。黒板呼び出し時間も記録される。本モジュー
ルについては、C++に記されている。
【0132】ケースベースの知識源 本プロセスでは、各ケースを現行データと比較すること
によって、そのケース表に記憶された各ケースの類似値
を計算する。
によって、そのケース表に記憶された各ケースの類似値
を計算する。
【0133】プロセス名:ケースベース データ構造:図13では、ケース表で表される情報を示
す。ケースベースのプロセスは、図16で示すような時
間依存データのための二つの分離構造、静的データ配列
及び動的データ配列の表中のデータを表現する。静的デ
ータ配列は単に浮動小数点の数(二種)の配列である。
動的データ配列は、各セルが履歴配列を指すポインタの
配列である。その配列の各セルには値/時間対が順番に
含まれる。関数/ウェイト情報を記憶するには、そのデ
ータ配列に加えて、他に二つの構造が必要である。その
ような構造の一方は静的データ配列に対応し、それはそ
れ自体関数/ウェイトである。他方の構造は動的データ
配列に対応し、それはウェイト/ポインタ対から成る。
ウェイトは時間依存データとの整合という結果を得るた
めに用いられる。ポインタは、関数/ウェイト対から成
るもう一つの配列を指す。これらの構造に加えて、ケー
スが対応する黒板のオブジェクトの名称と属性及びその
ケースの記述と一緒に各ケースの最終スコアを保持する
には合計配列が用いられる。
す。ケースベースのプロセスは、図16で示すような時
間依存データのための二つの分離構造、静的データ配列
及び動的データ配列の表中のデータを表現する。静的デ
ータ配列は単に浮動小数点の数(二種)の配列である。
動的データ配列は、各セルが履歴配列を指すポインタの
配列である。その配列の各セルには値/時間対が順番に
含まれる。関数/ウェイト情報を記憶するには、そのデ
ータ配列に加えて、他に二つの構造が必要である。その
ような構造の一方は静的データ配列に対応し、それはそ
れ自体関数/ウェイトである。他方の構造は動的データ
配列に対応し、それはウェイト/ポインタ対から成る。
ウェイトは時間依存データとの整合という結果を得るた
めに用いられる。ポインタは、関数/ウェイト対から成
るもう一つの配列を指す。これらの構造に加えて、ケー
スが対応する黒板のオブジェクトの名称と属性及びその
ケースの記述と一緒に各ケースの最終スコアを保持する
には合計配列が用いられる。
【0134】論理の流れ:本プログラムには二つの部分
がある。最初に、ケース説明ファイルから上記の構造が
初期化(ロード)される。それから、本プロセスを動作
させる度に、現行データが構造中のデータと比較され、
公式に基づいてスコアがつけられる。
がある。最初に、ケース説明ファイルから上記の構造が
初期化(ロード)される。それから、本プロセスを動作
させる度に、現行データが構造中のデータと比較され、
公式に基づいてスコアがつけられる。
【0135】プログラミングの指針:スコアをつけるた
めに用いられる次の四つの関数fがある、equal 〔等し
い、EQ〕、less than 〔小なり、LT〕、greater th
en〔大なり、GT〕、及び曲線上の整合点である。後者
の関数は、関数/ウェイト配列中でEQとウェイト1に
変換される。すべての値は浮動小数点の数(二重)であ
るから、その二つの値が互いに幾分小さいパーセンテー
ジ(例えば、1%)内にある時はいつでも、EQ関数は
真と定義される。これはすべての同様のケースにおいて
真である。
めに用いられる次の四つの関数fがある、equal 〔等し
い、EQ〕、less than 〔小なり、LT〕、greater th
en〔大なり、GT〕、及び曲線上の整合点である。後者
の関数は、関数/ウェイト配列中でEQとウェイト1に
変換される。すべての値は浮動小数点の数(二重)であ
るから、その二つの値が互いに幾分小さいパーセンテー
ジ(例えば、1%)内にある時はいつでも、EQ関数は
真と定義される。これはすべての同様のケースにおいて
真である。
【0136】関数適用結果の範囲は0から1までであ
る。ユーザ定義点間で補間される。
る。ユーザ定義点間で補間される。
【0137】以上のすべてはさておき、黒板上に類似ス
コア点を戻すには基準が必要である。例えば、そのスコ
アが、あるケースで考えうる最大スコアの既定パーセン
テージより大きい場合は常にそうである。かくて、その
最大スコアは一旦計算されると、合計配列に記憶され
る。これがインプリメンテーションされる際に、そのス
コアが常に黒板に書き戻される。
コア点を戻すには基準が必要である。例えば、そのスコ
アが、あるケースで考えうる最大スコアの既定パーセン
テージより大きい場合は常にそうである。かくて、その
最大スコアは一旦計算されると、合計配列に記憶され
る。これがインプリメンテーションされる際に、そのス
コアが常に黒板に書き戻される。
【0138】このように、機能仕様書で述べられている
ように、各動作の終わりに出力ファイルが書かれるので
ある。
ように、各動作の終わりに出力ファイルが書かれるので
ある。
【0139】ユーザインタフェース 本モジュールはソフトウェアの操作にとって本質的な二
つの機能を実行する。それはユーザがシステムと対話す
るための主要な手段である。それはまた、診断の実行中
にデータの「提供者」として働く。
つの機能を実行する。それはユーザがシステムと対話す
るための主要な手段である。それはまた、診断の実行中
にデータの「提供者」として働く。
【0140】プロセス名:ユーザインタ データ構造:図17は、入力データを記憶するために用
いることができるデータ構造を示す。この結合リスト
は、一つのデータファイルのコンテキストから作成さ
れ、時間タグで決定された通りの然るべき時間に事象検
知部へデータを提供するのに用いられる。この時、デー
タ値は一種類のみ(二重)であり、他の種類のデータは
将来追加されなければならなくなるかもしれないことに
注意されたい。
いることができるデータ構造を示す。この結合リスト
は、一つのデータファイルのコンテキストから作成さ
れ、時間タグで決定された通りの然るべき時間に事象検
知部へデータを提供するのに用いられる。この時、デー
タ値は一種類のみ(二重)であり、他の種類のデータは
将来追加されなければならなくなるかもしれないことに
注意されたい。
【0141】論理の流れ:図18は本プログラムを、作
成する操作手順を示す。本プロセスには三つの部分があ
る。
成する操作手順を示す。本プロセスには三つの部分があ
る。
【0142】まず、黒板と知識源の説明を判定するファ
イル名である。これらのファイル名は、<system name>.
sys という名称のシステムファイルに保持される。この
ファイル名はアーギュメントとして本プログラムに送ら
れねばならない: user int <system name>.sys 次に、その他のプロセスが起動される。まず黒板プロセ
ス、それから、制御プロセス(事象検知部と活性化/ア
ジェンダマネージャ)、続いて知識源である。実際に診
断の実行が開始されるのは、システムがロードされた後
である。まず、ユーザには実行パラメータを設定する選
択権がある。追跡、記録、ステップ及びブレークポイン
トを設定する或いはOFFにすることができる。SF、
NF、α、βの値を設定できる。すると、ユーザにデー
タファイル名が求められる。この時点でユーザは、時間
換算係数を指定してもよい。時間換算係数は、データセ
ットを実時間より早目に或いは遅目に実行するために時
間尺度を「縮小」したり「拡大」したりするのに用いら
れる。次いでデータセットは、残りのセットがなくなる
まで、一度に一つずつ事象検知部に提供される。その
後、ユーザが望むだけ、実行パラメータの設定と診断の
実行が繰返される。
イル名である。これらのファイル名は、<system name>.
sys という名称のシステムファイルに保持される。この
ファイル名はアーギュメントとして本プログラムに送ら
れねばならない: user int <system name>.sys 次に、その他のプロセスが起動される。まず黒板プロセ
ス、それから、制御プロセス(事象検知部と活性化/ア
ジェンダマネージャ)、続いて知識源である。実際に診
断の実行が開始されるのは、システムがロードされた後
である。まず、ユーザには実行パラメータを設定する選
択権がある。追跡、記録、ステップ及びブレークポイン
トを設定する或いはOFFにすることができる。SF、
NF、α、βの値を設定できる。すると、ユーザにデー
タファイル名が求められる。この時点でユーザは、時間
換算係数を指定してもよい。時間換算係数は、データセ
ットを実時間より早目に或いは遅目に実行するために時
間尺度を「縮小」したり「拡大」したりするのに用いら
れる。次いでデータセットは、残りのセットがなくなる
まで、一度に一つずつ事象検知部に提供される。その
後、ユーザが望むだけ、実行パラメータの設定と診断の
実行が繰返される。
【0143】プログラミング:指針 プロセス起動後、ユーザインタフェースは、プロセスが
そのファイルの正確なローディングを確認するまで待機
する。エラーが生じた場合は、KNACKメッセージが
出るだろう。このメッセージには、エラーメッセジが含
まれ、それは表示される。この場合、ユーザは、エラー
付きファルを別のUNIXシェルに固定後に、そのロー
ディングを繰返す選択権を有する。
そのファイルの正確なローディングを確認するまで待機
する。エラーが生じた場合は、KNACKメッセージが
出るだろう。このメッセージには、エラーメッセジが含
まれ、それは表示される。この場合、ユーザは、エラー
付きファルを別のUNIXシェルに固定後に、そのロー
ディングを繰返す選択権を有する。
【0144】ファイル中の構文上の問題によるエラーメ
ッセージの表示は、ローディングプロセスとユーザイン
タフェースの両方の責任である。追跡、記録、及びステ
ップの実行パラメータの設定は、ユーザインタフェース
から、メッセージを経て、知識源に対して行われる。し
かし、ブレークポイントの設定では、ルールベースの知
識源に対する通過制御が必要である。
ッセージの表示は、ローディングプロセスとユーザイン
タフェースの両方の責任である。追跡、記録、及びステ
ップの実行パラメータの設定は、ユーザインタフェース
から、メッセージを経て、知識源に対して行われる。し
かし、ブレークポイントの設定では、ルールベースの知
識源に対する通過制御が必要である。
【0145】ユーザに時間縮小係数を求める前に、プロ
グラムはデータファイル中の最後と最初の時間スタンプ
の差に基づいて、実時間で診断を実行するのに必要な時
間を表示する。データセット間の間隔が利用可能な時間
分解能より小さくなるので、データセットが重ならない
ように、時間縮小を行なわなければならない。
グラムはデータファイル中の最後と最初の時間スタンプ
の差に基づいて、実時間で診断を実行するのに必要な時
間を表示する。データセット間の間隔が利用可能な時間
分解能より小さくなるので、データセットが重ならない
ように、時間縮小を行なわなければならない。
【0146】インタフェースの記述 本節では、モジュール間のインタフェースについて詳述
する。それには又、シェルの入出力ファイルのためのメ
ッセージフォーマットの説明とファイルの構文構造が含
まれる。
する。それには又、シェルの入出力ファイルのためのメ
ッセージフォーマットの説明とファイルの構文構造が含
まれる。
【0147】図19は本システムの構成の詳細図であ
る。それは本シェルに必要なソケット接続(4.1
節)、メッセージ経路(4.2節)、I/Oファイル
(4.3節)を示す。図19では、マンーマシンインタ
フェース及びその接続は示されないが、そのインタフェ
ースの条件については、本節で述べる。
る。それは本シェルに必要なソケット接続(4.1
節)、メッセージ経路(4.2節)、I/Oファイル
(4.3節)を示す。図19では、マンーマシンインタ
フェース及びその接続は示されないが、そのインタフェ
ースの条件については、本節で述べる。
【0148】ソケット シェルのモジュール間のプロセス間通信は、Berke
leyプロセス間通信(BSDIPC)ソケットの使用
に基づいている。これは二つのプロセス間でデータを転
送できるようにメッセージ通過手段をもたらす。
leyプロセス間通信(BSDIPC)ソケットの使用
に基づいている。これは二つのプロセス間でデータを転
送できるようにメッセージ通過手段をもたらす。
【0149】ソケット機構はネット間ドメインソケット
を通じて一連の関連動作を与える。機能対機能ベースで
二つのドメイン間には互換性が存在する。
を通じて一連の関連動作を与える。機能対機能ベースで
二つのドメイン間には互換性が存在する。
【0150】流れソケットは信頼性のある双方向通信を
もたらすので、本シェルではそれらを採用する。そのチ
ャネルでの通信は、UNIXパイプ(ファイルの流れ)
での通信に対してアナログ的である。本シェルではその
ソケットを用いて、メッセージシーケンスのメッセージ
を交換する。メッセージシーケンスは本質的に要求−応
答対である。その開始プロセスが動作を要求すると、レ
シーバがその動作の結果、成功の確認又は故障の通知の
いずれかに応答する。
もたらすので、本シェルではそれらを採用する。そのチ
ャネルでの通信は、UNIXパイプ(ファイルの流れ)
での通信に対してアナログ的である。本シェルではその
ソケットを用いて、メッセージシーケンスのメッセージ
を交換する。メッセージシーケンスは本質的に要求−応
答対である。その開始プロセスが動作を要求すると、レ
シーバがその動作の結果、成功の確認又は故障の通知の
いずれかに応答する。
【0151】本節の至る所で、要求メッセージはエラー
と無縁であると想定されている。しかし、応答が必要と
なる前にエラーを検知できれば、プロセスは故障通知
(KNACK)メッセージ中のエラーに応答するだろ
う。
と無縁であると想定されている。しかし、応答が必要と
なる前にエラーを検知できれば、プロセスは故障通知
(KNACK)メッセージ中のエラーに応答するだろ
う。
【0152】本シェルの場合、セッション実行が始まる
前にすべての必要なソケットチャンネルが確定される。
シェルが起動されると、3節で述べる七つのプロセスの
各コピーが起動される(ユーザインタフェース、黒板、
事象検知部、活性化/アジェンダマネージャ、マンーマ
シンインタフェース、ルールベースの知識源、ケースベ
ースの知識源)。それから一連のソケット確定が始ま
る。
前にすべての必要なソケットチャンネルが確定される。
シェルが起動されると、3節で述べる七つのプロセスの
各コピーが起動される(ユーザインタフェース、黒板、
事象検知部、活性化/アジェンダマネージャ、マンーマ
シンインタフェース、ルールベースの知識源、ケースベ
ースの知識源)。それから一連のソケット確定が始ま
る。
【0153】ユーザインタフェースプロセスは、それが
初期化される時、傍受キューと結合したソケットが確定
する。事象検知部、黒板、活性化/アジェンダマネージ
ャ、マンーマシンインタフェースの諸プロセスが起動さ
れると、それらは各々ユーザインタフェースとのソケッ
ト結合を要求する。この要領で、三つのソケットチャネ
ルが確定される。黒板、事象検知部、活性化/アジェン
ダマネージャは各々傍受キューと結合したそれ自体のソ
ケットを確定する。四つの追加ソケットチャネルは次の
ように確定される。事象検知部対黒板用チャネル,事象
検知部対活性化/アジェンダマネージャ用チャネル,活
性化/アジェンダマネージャ対黒板用チャネル及び黒板
対マンーマシンインタフェース用チャネルである。
初期化される時、傍受キューと結合したソケットが確定
する。事象検知部、黒板、活性化/アジェンダマネージ
ャ、マンーマシンインタフェースの諸プロセスが起動さ
れると、それらは各々ユーザインタフェースとのソケッ
ト結合を要求する。この要領で、三つのソケットチャネ
ルが確定される。黒板、事象検知部、活性化/アジェン
ダマネージャは各々傍受キューと結合したそれ自体のソ
ケットを確定する。四つの追加ソケットチャネルは次の
ように確定される。事象検知部対黒板用チャネル,事象
検知部対活性化/アジェンダマネージャ用チャネル,活
性化/アジェンダマネージャ対黒板用チャネル及び黒板
対マンーマシンインタフェース用チャネルである。
【0154】アプリケーションの知識源は元の知識源プ
ロセスから派生するので、追加ソケットチャネルが確定
される。各知識源用にユーザインタフェース、事象検知
部、黒板及び活性化/アジェンダマネージャとの〔結
合〕ソケットが確定される。
ロセスから派生するので、追加ソケットチャネルが確定
される。各知識源用にユーザインタフェース、事象検知
部、黒板及び活性化/アジェンダマネージャとの〔結
合〕ソケットが確定される。
【0155】シェル内でのソケット接続には二つの固有
の用法がある。第一の用法は、データ指向であり、モジ
ュール間の転送のためのアプリケーションデータの要求
と提供にかかわっている。第二の用法は、制御指向であ
る。これは当然諸プロセスの動作とプロセス動作モード
の変更を意味する。
の用法がある。第一の用法は、データ指向であり、モジ
ュール間の転送のためのアプリケーションデータの要求
と提供にかかわっている。第二の用法は、制御指向であ
る。これは当然諸プロセスの動作とプロセス動作モード
の変更を意味する。
【0156】しかし、確定されたソケットの種類はその
使用とは無関係である。いずれの種類の用法の動作も許
される。メッセージの内容がその用法を決定する。本文
書で用法を区別するのは、ここで示される設計情報を効
果的に類別するためである。一つのソケットチャネルだ
けで、通常はデータ指向と制御指向の両方のメッセージ
シーケンスを利用する。これが事象検知部対ユーザイン
ターフェイス用ソケットチャネルである。データ関連の
ソケットは五種類の固有のメッセージを伝達する。それ
らを図20で示す。これら五種類のメッセージに対応す
るメッセージの流れの構文フォーマットについては以下
に述べる。
使用とは無関係である。いずれの種類の用法の動作も許
される。メッセージの内容がその用法を決定する。本文
書で用法を区別するのは、ここで示される設計情報を効
果的に類別するためである。一つのソケットチャネルだ
けで、通常はデータ指向と制御指向の両方のメッセージ
シーケンスを利用する。これが事象検知部対ユーザイン
ターフェイス用ソケットチャネルである。データ関連の
ソケットは五種類の固有のメッセージを伝達する。それ
らを図20で示す。これら五種類のメッセージに対応す
るメッセージの流れの構文フォーマットについては以下
に述べる。
【0157】黒板へのデータと黒板からのデータの間で
DATASUPというメッセージの種類を更に区別する
ことができる。この区別(すなわち、どのプロセスがデ
ータを送信中であるか)は、構文情報で行える。しか
し、メッセージのコンテキストは両方のDATASUP
メッセージにとっては同様であるから、特定の指定メッ
セージフォーマットは不要である。このソケットチャネ
ルは、セッション実行前にシェルのプロセスの初期化の
一部として確定される。
DATASUPというメッセージの種類を更に区別する
ことができる。この区別(すなわち、どのプロセスがデ
ータを送信中であるか)は、構文情報で行える。しか
し、メッセージのコンテキストは両方のDATASUP
メッセージにとっては同様であるから、特定の指定メッ
セージフォーマットは不要である。このソケットチャネ
ルは、セッション実行前にシェルのプロセスの初期化の
一部として確定される。
【0158】ユーザインタフェースの任務の一つは、事
象検知部にデータ入力を提供することである。セッショ
ン実行の初めに、ユーザインタフェースは入力データフ
ァイル(IDF)からのデータをそれ自体の内部のデー
タ構造へ読み込む責任がある。(正確に換算された)デ
ータの時間スタンプで指定された時間に、ユーザインタ
フェースはDATASUPメッセージを事象検知部へ送
ることによって事象検知部にデータセットを提供するだ
ろう。事象検知部は双方向の一方でメッセージに応答す
る。もし構文エラーがあれば、事象検知部がKNACK
メッセージを返す。そうでない場合は、事象検知部がD
ATASUPメッセージを黒板へ中継する。このチャネ
ルは又、制御指向メッセージを伝送する。これらのメッ
セージについては、ここで論述する。
象検知部にデータ入力を提供することである。セッショ
ン実行の初めに、ユーザインタフェースは入力データフ
ァイル(IDF)からのデータをそれ自体の内部のデー
タ構造へ読み込む責任がある。(正確に換算された)デ
ータの時間スタンプで指定された時間に、ユーザインタ
フェースはDATASUPメッセージを事象検知部へ送
ることによって事象検知部にデータセットを提供するだ
ろう。事象検知部は双方向の一方でメッセージに応答す
る。もし構文エラーがあれば、事象検知部がKNACK
メッセージを返す。そうでない場合は、事象検知部がD
ATASUPメッセージを黒板へ中継する。このチャネ
ルは又、制御指向メッセージを伝送する。これらのメッ
セージについては、ここで論述する。
【0159】このソケットチャネルは事象検知部と活性
化/アジェンダマネージャが初期化中に確定される。ア
プリケーションのセッション実行開始前に(入力データ
読み取り時に)接続が確定されねばならない。
化/アジェンダマネージャが初期化中に確定される。ア
プリケーションのセッション実行開始前に(入力データ
読み取り時に)接続が確定されねばならない。
【0160】そのチャネルは、活性化される知識源のリ
ストを事象検知部から活性化/アジェンダマネージャへ
送るのに用いられる。事象検知部は、知識源のリストを
含むKSSUPメッセージを通す。活性化/アジェンダ
マネージャは、正確なメッセージが受け取られた事を示
すために、ACKメッセージで応答する。このソケット
チャネルは、事象検知部と黒板が初期化中に確定され
る。接続はアプリケーションセッション実行開始前に確
定されねばならない。
ストを事象検知部から活性化/アジェンダマネージャへ
送るのに用いられる。事象検知部は、知識源のリストを
含むKSSUPメッセージを通す。活性化/アジェンダ
マネージャは、正確なメッセージが受け取られた事を示
すために、ACKメッセージで応答する。このソケット
チャネルは、事象検知部と黒板が初期化中に確定され
る。接続はアプリケーションセッション実行開始前に確
定されねばならない。
【0161】そのチャネルは黒板へデータ更新を伝達
し、又、事象検知部が黒板からのデータを要求し、黒板
がデータを伝達するための双方向チャネルをもたらす。
このソケットチャネルを通過する二つのメッセージシー
ケンスがある。一方のメッセージシーケンスは、DAT
ASUPメッセージで黒板上で更新されることになる事
象検知部提供データである。黒板は正確なDATASU
Pメッセージを受け取ったことをACKで確認する。他
方のメッセージシーケンスは、事象検知部がDATAR
EQで黒板からのデータを要求し、黒板がDATASU
Pでデータを提供するものである。
し、又、事象検知部が黒板からのデータを要求し、黒板
がデータを伝達するための双方向チャネルをもたらす。
このソケットチャネルを通過する二つのメッセージシー
ケンスがある。一方のメッセージシーケンスは、DAT
ASUPメッセージで黒板上で更新されることになる事
象検知部提供データである。黒板は正確なDATASU
Pメッセージを受け取ったことをACKで確認する。他
方のメッセージシーケンスは、事象検知部がDATAR
EQで黒板からのデータを要求し、黒板がDATASU
Pでデータを提供するものである。
【0162】このチャネルは、たった一つのメッセージ
シーケンスを除いて、事象検知部対黒板接続と同一の要
領で機能する。これが前節で述べたDATAREQ−D
ATASUPシーケンスである。このチャネルの実行条
件は、事象検知部対黒板の実行条件と同一である。詳細
については前節を参照のこと。
シーケンスを除いて、事象検知部対黒板接続と同一の要
領で機能する。これが前節で述べたDATAREQ−D
ATASUPシーケンスである。このチャネルの実行条
件は、事象検知部対黒板の実行条件と同一である。詳細
については前節を参照のこと。
【0163】セッション実行の前に、マン−マシン対黒
板チャンネルが確定される。DATASUPメッセージ
で、データは黒板からマン−マシンプロセスへ送られ
る。選定された対象のみが、マン−マシンプロセスへそ
のデータを送信できる。これはデーモンの使用によって
黒板構造記述ファイルで指定される。
板チャンネルが確定される。DATASUPメッセージ
で、データは黒板からマン−マシンプロセスへ送られ
る。選定された対象のみが、マン−マシンプロセスへそ
のデータを送信できる。これはデーモンの使用によって
黒板構造記述ファイルで指定される。
【0164】本アプリケーションの各知識源に一つのソ
ケットチャネルが確定される。アプリケーションファイ
ルがユーザインタフェースに対して指定されると、各チ
ャネルは確定される。この時点で、必要数の知識源プロ
セスがシェルによって承知される。各派生知識源プロセ
スが初期化中に、黒板とのソケット接続を要求する。知
識源対黒板用チャネルに、ある種類のメッセージシーケ
ンスが用いられる。これが事象検知部対黒板用チャネル
の場合で述べてDATAREQ−DATASUPシーケ
ンスである。ここでは、知識源はデータの要求者であ
り、黒板はデータの提供者である。
ケットチャネルが確定される。アプリケーションファイ
ルがユーザインタフェースに対して指定されると、各チ
ャネルは確定される。この時点で、必要数の知識源プロ
セスがシェルによって承知される。各派生知識源プロセ
スが初期化中に、黒板とのソケット接続を要求する。知
識源対黒板用チャネルに、ある種類のメッセージシーケ
ンスが用いられる。これが事象検知部対黒板用チャネル
の場合で述べてDATAREQ−DATASUPシーケ
ンスである。ここでは、知識源はデータの要求者であ
り、黒板はデータの提供者である。
【0165】各知識源は事象検知部とのソケット接続を
有する。その接続は、知識源が初期化中に確定される。
有する。その接続は、知識源が初期化中に確定される。
【0166】このチャネルのメッセージシーケンスが、
事象検知部対ユーザインタフェース用チャネルの場合で
述べたDATASUP−ACKシーケンスである。事象
検知部は、ACKメッセージをデータ提供知識源に送る
ことによって、知識源からのDATASUPメッセージ
に応答する。
事象検知部対ユーザインタフェース用チャネルの場合で
述べたDATASUP−ACKシーケンスである。事象
検知部は、ACKメッセージをデータ提供知識源に送る
ことによって、知識源からのDATASUPメッセージ
に応答する。
【0167】六種類の制御指向メッセージがある。それ
らを図21で示す。
らを図21で示す。
【0168】これらのメッセージの種類に対応するメッ
セージの流れの構文フォーマットについては、ここで述
べる。このソケットチャネルは、アプリケーションのセ
ッション実行前のシェルの諸プロセスの初期化中に確定
される。ユーザインタフェースは事象検知部プロセスを
制御する責任がある。ユーザインタフェースは然るべき
制御メッセージを事象検知部に送る。事象検知部は、そ
のメッセージが正確ならば、ACKメッセージで応答す
る。このソケットチャネルは、アプリケーションのセッ
ション実行前のシェルの諸プロセスの初期化中に確定さ
れる。前節の場合のように、このチャネルは、ユーザイ
ンタフェースが活性化/アジェンダマネージャへ然るべ
き制御メッセージを通信するのに用いられる。このソケ
ットチャネルは、アプリケーションのセッション実行前
のシェルの諸プロセスの初期化中に確定される。
セージの流れの構文フォーマットについては、ここで述
べる。このソケットチャネルは、アプリケーションのセ
ッション実行前のシェルの諸プロセスの初期化中に確定
される。ユーザインタフェースは事象検知部プロセスを
制御する責任がある。ユーザインタフェースは然るべき
制御メッセージを事象検知部に送る。事象検知部は、そ
のメッセージが正確ならば、ACKメッセージで応答す
る。このソケットチャネルは、アプリケーションのセッ
ション実行前のシェルの諸プロセスの初期化中に確定さ
れる。前節の場合のように、このチャネルは、ユーザイ
ンタフェースが活性化/アジェンダマネージャへ然るべ
き制御メッセージを通信するのに用いられる。このソケ
ットチャネルは、アプリケーションのセッション実行前
のシェルの諸プロセスの初期化中に確定される。
【0169】再度述べるが、このチャネルは、ユーザイ
ンタフェース対事象検知部用チャネルの場合で述べた通
り、ユーザインタフェースが黒板を制御するのに用いら
れる。このソケットチャネルは、知識源派生後、知識源
の初期化中に確定される。希望時にはSTOPメッセー
ジで、ユーザインタフェイスが知識源プロセスを遮断で
きなければならない。これがそのチャネルの一つの用法
である。もう一つの用法は、ユーザが知識源用の動作パ
ラメータを設定したい場合である。その時、ユーザイン
タフェースが知識源へSETPARAMメッセージを送
って、所望の動作モードを通信する。
ンタフェース対事象検知部用チャネルの場合で述べた通
り、ユーザインタフェースが黒板を制御するのに用いら
れる。このソケットチャネルは、知識源派生後、知識源
の初期化中に確定される。希望時にはSTOPメッセー
ジで、ユーザインタフェイスが知識源プロセスを遮断で
きなければならない。これがそのチャネルの一つの用法
である。もう一つの用法は、ユーザが知識源用の動作パ
ラメータを設定したい場合である。その時、ユーザイン
タフェースが知識源へSETPARAMメッセージを送
って、所望の動作モードを通信する。
【0170】このソケットチャネルは、知識源が派生し
た後、知識源の初期化中に確定される。このチャネルの
目的は、知識源の推論開始時刻になると、活性化/アジ
ェンダマネージャが知識源を活性化させうるようにする
ことである。それは然るべき知識源にACTIVメッセ
ージを送って、診断機能を生成するための活性化動作を
開始すべきことを知らせることである。知識源の実行完
了時には又、制御メッセージが知識源から活性化/アジ
ェンダマネージャへ送られる。このことにより、アジェ
ンダマネージャは知識源のための状態記録を更新でき
る。
た後、知識源の初期化中に確定される。このチャネルの
目的は、知識源の推論開始時刻になると、活性化/アジ
ェンダマネージャが知識源を活性化させうるようにする
ことである。それは然るべき知識源にACTIVメッセ
ージを送って、診断機能を生成するための活性化動作を
開始すべきことを知らせることである。知識源の実行完
了時には又、制御メッセージが知識源から活性化/アジ
ェンダマネージャへ送られる。このことにより、アジェ
ンダマネージャは知識源のための状態記録を更新でき
る。
【0171】メッセージ ソケットを通るメッセージが9個、個別に存在する。全
てのメッセージは整数コードによりヘッドされ、そして
それは後続のメッセージのテープを識別する。図22は
各メッセージの整数コードを示す。実際のインプリメン
テンションコードはソース及び行先プロセスに対する付
加情報を含む。
てのメッセージは整数コードによりヘッドされ、そして
それは後続のメッセージのテープを識別する。図22は
各メッセージの整数コードを示す。実際のインプリメン
テンションコードはソース及び行先プロセスに対する付
加情報を含む。
【0172】メッセージ形式に対し図示されている余白
記号は明瞭のためである。実際のデータメッセージ形式
はメッセージのサイズを含み、またそれは効率的に整列
しておかねばならない。
記号は明瞭のためである。実際のデータメッセージ形式
はメッセージのサイズを含み、またそれは効率的に整列
しておかねばならない。
【0173】DATAREQ このメッセージには、値を求められる、ひと続きのオブ
ジェクトの属性が含まれる。図23には、メッセージ書式
を示す。メッセージは、DATAREQ 識別子から始まり、そ
の属性データを要求されるオブジェクトの個数がそれに
続く。次いで、各オブジェクト名称及び属性名称が、列
記される。
ジェクトの属性が含まれる。図23には、メッセージ書式
を示す。メッセージは、DATAREQ 識別子から始まり、そ
の属性データを要求されるオブジェクトの個数がそれに
続く。次いで、各オブジェクト名称及び属性名称が、列
記される。
【0174】DATASUP このメッセージには、ひと続きのオブジェクトの属性
が、その属性の値及び属性の時間スタンプと共に含まれ
る。図24には、メッセージ書式を示す。書式は、属性値
と時間も含まれること以外は、DATAREQ メッセージのも
のと同様である。KSSUP このメッセージには、活性化させるべきひと続きの知識
源識別子が含まれる。その先頭には、KSSUP 識別子が付
けられる。図25には、メッセージ書式を示す。そのメッ
セージ先頭は、KSSUP 識別子が付けられ、その後にひと
続きの知識源識別子が続く。知識源識別子は、応用のた
めの独特のハンドルであって、当該システムファイル内
の、知識源ファイル名の出現順序により決定される。UN
IX処理番号は、ハンドルとして使わない方が良いことに
注意されたい。
が、その属性の値及び属性の時間スタンプと共に含まれ
る。図24には、メッセージ書式を示す。書式は、属性値
と時間も含まれること以外は、DATAREQ メッセージのも
のと同様である。KSSUP このメッセージには、活性化させるべきひと続きの知識
源識別子が含まれる。その先頭には、KSSUP 識別子が付
けられる。図25には、メッセージ書式を示す。そのメッ
セージ先頭は、KSSUP 識別子が付けられ、その後にひと
続きの知識源識別子が続く。知識源識別子は、応用のた
めの独特のハンドルであって、当該システムファイル内
の、知識源ファイル名の出現順序により決定される。UN
IX処理番号は、ハンドルとして使わない方が良いことに
注意されたい。
【0175】ACK このメッセージは、通信開始処理に返されるACK 識別子
コードのみからなる。NACK このメッセージは、整数NACK識別子コードからなる。
コードのみからなる。NACK このメッセージは、整数NACK識別子コードからなる。
【0176】START このメッセージは、START 識別子からなり、その後に文
字列が続く。文字列は情報を他のプロセスへ渡す方法を
与える。もし、文字列を送る処理が、開始準備完了して
いるならば、これは、文字列"OK"を、ユーザインタフェ
ースに送る。さもなければ、これはエラーメッセージを
送り、ユーザインタフェースにより表示されるはずであ
る。
字列が続く。文字列は情報を他のプロセスへ渡す方法を
与える。もし、文字列を送る処理が、開始準備完了して
いるならば、これは、文字列"OK"を、ユーザインタフェ
ースに送る。さもなければ、これはエラーメッセージを
送り、ユーザインタフェースにより表示されるはずであ
る。
【0177】STOP このメッセージは、STOP識別子からなる。
【0178】ACTIV このメッセージは、ACTIV 識別子からなる。
【0179】SETPARAM このメッセージは、SETPARAM識別子からなり、その後に
引数(文字列)のリストが続く。引数は受信処理に対し
て、どんな特定パラメータ設定作業を行うべきかを指定
する。図23はメッセージの構成を示す。六種のパラメー
タコードがある。これらは、トレース、log 、ステッ
プ、ブレークポイント、α/β及びsf/nfである。メッ
セージ内では、トレース、log 及びステップに一個のス
テータスコードが付随する。α/β及びsf/nf の後には
第一及び第二パラメータ値である浮動点を示す二つの数
が続く。ブレークポイントについては、ユーザが受信処
理に働きかけてブレークポイントを設定しなければなら
ない。
引数(文字列)のリストが続く。引数は受信処理に対し
て、どんな特定パラメータ設定作業を行うべきかを指定
する。図23はメッセージの構成を示す。六種のパラメー
タコードがある。これらは、トレース、log 、ステッ
プ、ブレークポイント、α/β及びsf/nfである。メッ
セージ内では、トレース、log 及びステップに一個のス
テータスコードが付随する。α/β及びsf/nf の後には
第一及び第二パラメータ値である浮動点を示す二つの数
が続く。ブレークポイントについては、ユーザが受信処
理に働きかけてブレークポイントを設定しなければなら
ない。
【0180】入力/出力ファイル シェルに使用されるファイルはすべて、特定の接尾辞を
使用して、タイプ別に識別される。ファイル名はファイ
ル名.接尾辞であって、ファイル名は用途開発者が与え
る説明的名称であり、かつ接尾辞がファイルの種類を識
別する。接尾辞識別子は、下記の適切なセクションの中
で指定される。通常、接尾辞は小文字か大文字で表すこ
とができる。入力ファイルはシェル外で作られてから、
システムファイルの仕様によりシェルに適用される。下
記の取決めは、このセクションの入力ファイルの構文を
示す数字に使用される。イタリック書体の字句(FUNCTI
ON; 等)は、そのまま正確に示さねばならない。イタリ
ック書体の字句(オブジェクト名1等)はユーザが支給
すべき情報を意味する。草書体のテキストは説明情報で
あり、実際のファイルには現れない。ファイルの選択可
能なエレメントは<>の中に示す。一般に、エレメント
が、ファイル内で現れる順序が重要であり、かつ、ここ
に示すものと同一でなければならない。
使用して、タイプ別に識別される。ファイル名はファイ
ル名.接尾辞であって、ファイル名は用途開発者が与え
る説明的名称であり、かつ接尾辞がファイルの種類を識
別する。接尾辞識別子は、下記の適切なセクションの中
で指定される。通常、接尾辞は小文字か大文字で表すこ
とができる。入力ファイルはシェル外で作られてから、
システムファイルの仕様によりシェルに適用される。下
記の取決めは、このセクションの入力ファイルの構文を
示す数字に使用される。イタリック書体の字句(FUNCTI
ON; 等)は、そのまま正確に示さねばならない。イタリ
ック書体の字句(オブジェクト名1等)はユーザが支給
すべき情報を意味する。草書体のテキストは説明情報で
あり、実際のファイルには現れない。ファイルの選択可
能なエレメントは<>の中に示す。一般に、エレメント
が、ファイル内で現れる順序が重要であり、かつ、ここ
に示すものと同一でなければならない。
【0181】すべての空白スペースキャラクタ(スペー
ス、タブ、行端末)は、明白にするために拡大すること
ができる。行端末スペースによるエントリエレメントの
分離は、ファイルをより読み易くするために推奨され
る。C++言語から援用する//を用いた行端末注釈書式
を使用して、ファイルのどの点でも注釈を挿入すること
ができる。最後になるが、時間スタンプの参照には必
ず、下記の構文が必要である。
ス、タブ、行端末)は、明白にするために拡大すること
ができる。行端末スペースによるエントリエレメントの
分離は、ファイルをより読み易くするために推奨され
る。C++言語から援用する//を用いた行端末注釈書式
を使用して、ファイルのどの点でも注釈を挿入すること
ができる。最後になるが、時間スタンプの参照には必
ず、下記の構文が必要である。
【0182】 “mm/dd/yyyy hh:mm:ss” ファイル名.sysとして識別されるこのファイルには、フ
ァイル名の一個のリストが含まれる。そのファイル名
(複数)によって、黒板構造記述ファイル(BSDF)、及
び特定の適用のためのルールベース定義ファイル(RBD
F)とケース記述ファイル(CDF )の両方のすべての知
識源ファイルが識別される。知識源ファイルのために、
表示形式をも個々で定義することができる。もしファイ
ル名の後に“.NORMAL ”が続く場合には、その知識源は
標準サイズのウィンドウを割当てられる。もし、NORMAL
スイッチが省略されるか、またはもし、ICONスイッチが
使用される場合には、知識源は、画面の上左隅に、アイ
コンのみを割当てられる。図24は、ファイルの構文を示
す。ファイル仕様書内の経路名を使用するためには、す
べての正規MP-UX ルールが適用されることに注意された
い。有効なシステムファイルには、まず一つのBBファイ
ルが確実に含まれ、その次に最低一つの知識源ファイル
が来なければならない。すべてのルールベース知識源フ
ァイル名は、ケースベースファイル名の前に置かねばな
らない。
ァイル名の一個のリストが含まれる。そのファイル名
(複数)によって、黒板構造記述ファイル(BSDF)、及
び特定の適用のためのルールベース定義ファイル(RBD
F)とケース記述ファイル(CDF )の両方のすべての知
識源ファイルが識別される。知識源ファイルのために、
表示形式をも個々で定義することができる。もしファイ
ル名の後に“.NORMAL ”が続く場合には、その知識源は
標準サイズのウィンドウを割当てられる。もし、NORMAL
スイッチが省略されるか、またはもし、ICONスイッチが
使用される場合には、知識源は、画面の上左隅に、アイ
コンのみを割当てられる。図24は、ファイルの構文を示
す。ファイル仕様書内の経路名を使用するためには、す
べての正規MP-UX ルールが適用されることに注意された
い。有効なシステムファイルには、まず一つのBBファイ
ルが確実に含まれ、その次に最低一つの知識源ファイル
が来なければならない。すべてのルールベース知識源フ
ァイル名は、ケースベースファイル名の前に置かねばな
らない。
【0183】黒板構造記述ファイル 黒板構造記述ファイル(BSDF)は、黒板プロセスにより
使用される内部構造を作成するために必要な情報を含
む。BSDF内の情報はこの中に述べる黒板構造内に直接書
き込まれる。BSDFはファイル名.bb として識別される。
BSDFの構文は図25に示す。
使用される内部構造を作成するために必要な情報を含
む。BSDF内の情報はこの中に述べる黒板構造内に直接書
き込まれる。BSDFはファイル名.bb として識別される。
BSDFの構文は図25に示す。
【0184】黒板内の各オブジェクトは、BSDF内に別個
のエントリを有する。オブジェクト毎に、そのオブジェ
クトのすべての属性は名称により識別される。各オブジ
ェクトは、独特の名称を有する。属性名は、必要に応じ
て繰返される。値のタイプの選択内容は、図3に示され
ている。しかしながら、この実行には、タイプが二回使
用されるだけである。
のエントリを有する。オブジェクト毎に、そのオブジェ
クトのすべての属性は名称により識別される。各オブジ
ェクトは、独特の名称を有する。属性名は、必要に応じ
て繰返される。値のタイプの選択内容は、図3に示され
ている。しかしながら、この実行には、タイプが二回使
用されるだけである。
【0185】有効なBBファイルは、最低一つの属性を有
する。最低一つのオブジェクトを含まねばならない。
する。最低一つのオブジェクトを含まねばならない。
【0186】ルールベース記述ファイル ルールベース定義ファイル(RBDF)はルールベース知識
源を作成するために必要な情報が含まれる。RBDFのデー
タは本書に述べるルールベースの構造内に直接書き込ま
れる。RBDFは、ファイル名.rb として識別される。構文
は、図26に示す。
源を作成するために必要な情報が含まれる。RBDFのデー
タは本書に述べるルールベースの構造内に直接書き込ま
れる。RBDFは、ファイル名.rb として識別される。構文
は、図26に示す。
【0187】RBDFに対しては三つの部分がある。RBDFの
EVENTS部分は、入ってくるデータが当該ルールベースと
直接関係がある事象を構成するか否かを判定するための
事象検知部により使用される、式のリストである。更に
知識源が活性化されるべきか否かを判定するために、活
性化/アジェンダマネージャが使用される。EVENTS及び
PRECONDITIONS の式のリストについては、リストは論理
和の性格を持つと了解される。即ち、評価結果が真にな
る式であればどれでも適切な処理(事象検知部または活
性化/アジェンダマネージャ)に対して、ある一定の条
件が満足されているということを示す。もし、事象に関
する式がない場合には、その知識源は、前提条件部分
が、一個の演算子を含む場合にのみ、実行する。もし、
前提条件の式がない場合には、知識源は、その事象の一
つが真であれば必ず活性化される。接頭辞“EXPRESSIO
N: ”には、式が続かねばならない(即ち、式が存在し
ないならばこれは存在してはならない)。
EVENTS部分は、入ってくるデータが当該ルールベースと
直接関係がある事象を構成するか否かを判定するための
事象検知部により使用される、式のリストである。更に
知識源が活性化されるべきか否かを判定するために、活
性化/アジェンダマネージャが使用される。EVENTS及び
PRECONDITIONS の式のリストについては、リストは論理
和の性格を持つと了解される。即ち、評価結果が真にな
る式であればどれでも適切な処理(事象検知部または活
性化/アジェンダマネージャ)に対して、ある一定の条
件が満足されているということを示す。もし、事象に関
する式がない場合には、その知識源は、前提条件部分
が、一個の演算子を含む場合にのみ、実行する。もし、
前提条件の式がない場合には、知識源は、その事象の一
つが真であれば必ず活性化される。接頭辞“EXPRESSIO
N: ”には、式が続かねばならない(即ち、式が存在し
ないならばこれは存在してはならない)。
【0188】RBDFのルールベースの構造部分は、ルール
ベース知識源プロセスが必要とする構造情報を含む。ユ
ーザインタフェースは、これら三つのプロセス(即ち、
事象検出部、活性化/アジェンダマネージャー、及びル
ールベース知識源)のそれぞれに対して、RBDF名称を与
える。必要な情報を引き出すことはそれぞれの責任であ
る。RBDFの各セクションは一列に並べた'*' の文字によ
り分離される。RBDFのルールベース構造部分において使
用される式に加え、EVENTS及びPRECONDITIONSに使用さ
れる評価式は、本書の補遺B において更に議論される。
ベース知識源プロセスが必要とする構造情報を含む。ユ
ーザインタフェースは、これら三つのプロセス(即ち、
事象検出部、活性化/アジェンダマネージャー、及びル
ールベース知識源)のそれぞれに対して、RBDF名称を与
える。必要な情報を引き出すことはそれぞれの責任であ
る。RBDFの各セクションは一列に並べた'*' の文字によ
り分離される。RBDFのルールベース構造部分において使
用される式に加え、EVENTS及びPRECONDITIONSに使用さ
れる評価式は、本書の補遺B において更に議論される。
【0189】その他の解説:ルール、メタルール、及び
評価部におけるノード、コンテキスト、及び区分線形に
関する照会先はすべて、当該ファイルのRULE BASE STRU
CTURE の部分において、まず第一に定義されねばならな
い。
評価部におけるノード、コンテキスト、及び区分線形に
関する照会先はすべて、当該ファイルのRULE BASE STRU
CTURE の部分において、まず第一に定義されねばならな
い。
【0190】***** 及び------の文字列は、ファイルの
セクション間のセパレータとして、構文解析用ソフトウ
ェアにより使用されるので、必要な構文である。
セクション間のセパレータとして、構文解析用ソフトウ
ェアにより使用されるので、必要な構文である。
【0191】区分線形のXY-LIST には、昇順のX 値がな
ければならない。
ければならない。
【0192】最低一つのコンテキストには、1の値がな
ければならない。即ち、ファイルがロードされた場合、
最低一つのコンテキストは、TRUEでなければならない。
メタルールは実行中にこれを変更することができる。
ければならない。即ち、ファイルがロードされた場合、
最低一つのコンテキストは、TRUEでなければならない。
メタルールは実行中にこれを変更することができる。
【0193】有効なルールベースは、最低一つのデータ
ノード、一つの誤作動ノード、一つのルール及び一つの
コンテキストを含まねばならない。
ノード、一つの誤作動ノード、一つのルール及び一つの
コンテキストを含まねばならない。
【0194】各記述ファイル(CDF )は、ケースベース
知識源を作成するに必要な情報を含む。CDF 内のデータ
は、本書に説明するケース表の構造内に、直接書き込ま
れる。CDF は、ファイル名.cb として識別される。構文
は、図27に示す。
知識源を作成するに必要な情報を含む。CDF 内のデータ
は、本書に説明するケース表の構造内に、直接書き込ま
れる。CDF は、ファイル名.cb として識別される。構文
は、図27に示す。
【0195】CDF が三部分に分割されることは、RBDFの
分割と同様である。事象及び前提条件部分はRBDFのもの
と同一である。CASE BASE STRUCTURE は、ケース表を作
成するに必要な構造を与える。CASE BASE STRUCTURE
は、二つの部分からなる。第一に、機能(同等、超過及
び未満)が定義される。各機能はパーセンテージポイン
トで表わされる。二つのマージンにより定義される。こ
れらの作用は下記の通りである。
分割と同様である。事象及び前提条件部分はRBDFのもの
と同一である。CASE BASE STRUCTURE は、ケース表を作
成するに必要な構造を与える。CASE BASE STRUCTURE
は、二つの部分からなる。第一に、機能(同等、超過及
び未満)が定義される。各機能はパーセンテージポイン
トで表わされる。二つのマージンにより定義される。こ
れらの作用は下記の通りである。
【0196】同等機能(FEQ ):もし、二つの数が、互
いの(同等_低マージン)%以内である場合には、スコ
アは1.0 である。もし二つの数が、(同等_高_マージ
ン)%以上異なる場合にはスコアは0.0 である。さもな
ければ二つのマージン間で線形補間法が行われる。
いの(同等_低マージン)%以内である場合には、スコ
アは1.0 である。もし二つの数が、(同等_高_マージ
ン)%以上異なる場合にはスコアは0.0 である。さもな
ければ二つのマージン間で線形補間法が行われる。
【0197】比較大機能(FGT ):もし現在の数が、
(比較大_高_マージン)%を超えてケース履歴値より
大きい場合にはスコアは1.0 である。もし現在の数が、
(比較大_低_マージン)%を超えてケース履歴値より
小さい場合にはスコアは0.0 である。さもなければ、二
つのマージン間で線形補間法が行われる。
(比較大_高_マージン)%を超えてケース履歴値より
大きい場合にはスコアは1.0 である。もし現在の数が、
(比較大_低_マージン)%を超えてケース履歴値より
小さい場合にはスコアは0.0 である。さもなければ、二
つのマージン間で線形補間法が行われる。
【0198】比較小機能(FLT ):もし、現在の数が
(比較小_高_マージン)%を超えてケース履歴値より
小さい場合にはスコアは1.0 である。もし現在の数が、
(以下_低マージン)%を超えてケース履歴値より大き
い場合にはスコアは0.0 である。さもなければ、二つの
マージン間で線形補間法が行われる。
(比較小_高_マージン)%を超えてケース履歴値より
小さい場合にはスコアは1.0 である。もし現在の数が、
(以下_低マージン)%を超えてケース履歴値より大き
い場合にはスコアは0.0 である。さもなければ、二つの
マージン間で線形補間法が行われる。
【0199】第二にケース自体が定義される。各ケース
には名称を与えねばならない。ケース表内の各ケースは
黒板内の一個のオブジェクトの属性に書き込まれねばな
らない。その後に、各ケース毎に値や重みと共に、一組
のオブジェクトの属性が指定される。それらの値は、値
としてタイムペアズを与えられる。各ペアの後に選択可
能な機能名(FEQ 、FGT 、FLT )、及び重みが続く。も
し後者が省略される場合には、FEQ 及びW1.0(1 の重
み)が仮定される。その結果、機能仕様及び第3.5 セク
ションに定義されるマッチポイントオンカーブ機能が、
機能名及び重みを省略することにより引き出される。
には名称を与えねばならない。ケース表内の各ケースは
黒板内の一個のオブジェクトの属性に書き込まれねばな
らない。その後に、各ケース毎に値や重みと共に、一組
のオブジェクトの属性が指定される。それらの値は、値
としてタイムペアズを与えられる。各ペアの後に選択可
能な機能名(FEQ 、FGT 、FLT )、及び重みが続く。も
し後者が省略される場合には、FEQ 及びW1.0(1 の重
み)が仮定される。その結果、機能仕様及び第3.5 セク
ションに定義されるマッチポイントオンカーブ機能が、
機能名及び重みを省略することにより引き出される。
【0200】有効なケースベース知識源には、最低一つ
のケースポイントがなければならない。
のケースポイントがなければならない。
【0201】入力データファイル 入力データファイル(IDF )には、システムへ入って来
るデータをシミュレートする数組のデータが含まれる。
ユーザインタフェースプロセスはこのファイルを読み取
ってそのデータを事象検知部プロセスへ供給する。IDF
は、ファイル名.dat、として識別される。構文は、図28
に示す。
るデータをシミュレートする数組のデータが含まれる。
ユーザインタフェースプロセスはこのファイルを読み取
ってそのデータを事象検知部プロセスへ供給する。IDF
は、ファイル名.dat、として識別される。構文は、図28
に示す。
【0202】出力ファイル 出力ファイルはシェル使用の過程でシェルにより生成さ
れる。
れる。
【0203】“LOG”ファイル LOG ファイルはログフラグが立てられているルールベー
ス知識源により生成される。これらファイル内の情報は
ルールベースの実行により比較的詳細なトレースを与え
る。
ス知識源により生成される。これらファイル内の情報は
ルールベースの実行により比較的詳細なトレースを与え
る。
【0204】“OUT”ファイル 診断内容を生成する各知識源は、OUT ファイルに書き込
む。ルールベース知識源が生成するOUT ファイル内の各
エントリは、関連する優先度と重要度対策を含む診断メ
ッセージを示す。ケースベース知識源により生成された
OUT ファイル内の各エントリは、そのケースについて計
算されたスコアを含む。これらのファイルには、追加情
報が含まれることがある。
む。ルールベース知識源が生成するOUT ファイル内の各
エントリは、関連する優先度と重要度対策を含む診断メ
ッセージを示す。ケースベース知識源により生成された
OUT ファイル内の各エントリは、そのケースについて計
算されたスコアを含む。これらのファイルには、追加情
報が含まれることがある。
【0205】“DIA”ファイル 診断ファイル(DIAF)は、セッションの動作期間の結果
を含む。それはシェルがたった今完了したばかりのセッ
ションの動作期間中に作った診断内容とケース整合のリ
ストである。その診断内容は、個々のルールベース知識
源が作成した診断内容の整理された組合わせであり、そ
の後に個々のケースベース知識源により発見された、ケ
ースの整合の整理された組合わせが続く。基本的には、
OUT ファイル内に存在する結果は時間ごとに併合され、
分類される。
を含む。それはシェルがたった今完了したばかりのセッ
ションの動作期間中に作った診断内容とケース整合のリ
ストである。その診断内容は、個々のルールベース知識
源が作成した診断内容の整理された組合わせであり、そ
の後に個々のケースベース知識源により発見された、ケ
ースの整合の整理された組合わせが続く。基本的には、
OUT ファイル内に存在する結果は時間ごとに併合され、
分類される。
【0206】黒板状態ファイル 黒板状態ファイル(BSF )は、黒板を再現するために必
要な構造情報を含む点がBSDFと似ている。それはまた、
黒板に格納されたすべてのデータ値のスナップショット
をも含む。BSF ファイルを使用して、黒板をその後のセ
ッションの動作中に復元させることができる。BSDFと共
用可能であるので、それはまたファイル名.BB として識
別される。構文はBSDFと同一である。
要な構造情報を含む点がBSDFと似ている。それはまた、
黒板に格納されたすべてのデータ値のスナップショット
をも含む。BSF ファイルを使用して、黒板をその後のセ
ッションの動作中に復元させることができる。BSDFと共
用可能であるので、それはまたファイル名.BB として識
別される。構文はBSDFと同一である。
【0207】ユーザとの対話 シェルとのユーザの対話はすべて、ユーザインタフェー
スを通して生じる。シェルとの対話に関する一連の名称
は、本書の第2セクションに述べてある。ユーザインタ
フェースの詳細は、本書の第3、6セクションに述べて
ある。
スを通して生じる。シェルとの対話に関する一連の名称
は、本書の第2セクションに述べてある。ユーザインタ
フェースの詳細は、本書の第3、6セクションに述べて
ある。
【0208】ドメインシェルプログラムは、Hewlett-Pa
ckard 9000シリーズ700 系ワークステーションで使用さ
れるように設計されている。このワークステーション上
においては、HP-UX オペレーティングシステムパッケー
ジ8.05またはそれ以上、が動作するはずである。HP-VUE
のユーザ用視覚的環境もまた、存在するはずである。こ
の環境は、モチーフ(Motif)をベースとしたXウ
ィンドウシステム上に階層上に設けられている。ドメイ
ンシェルは、このフレーム内で、Xterm ウィンドウを使
用する。シェルを使用するために、ユーザはシステムに
より使用される入力ファイルを新たに作成しなければな
らない。それ故、個々の入力ファイルの構文及び構造の
他、シェルの全体設計コンセプトに精通することは、有
用である。SDD の第2及び第3セクションは、全体シス
テム結成の記述を含み、ドメインシェルの構成要素の動
作について述べる。新たな入力ファイルの作成はシェル
の使用前に行わねばならない。シェルを使用するために
は、下記のファイルを新たに作成しなければならない:
システムファイル、黒板構造記述ファイル、各ルールベ
ースごとに一つのルールベース記述ファイル、各ケース
ベースごとに一つのケース記述ファイル、及び最低一つ
の入力データファイル。これらファイルの用法は本書に
説明してある。これらファイルの位置は、限定されな
い。けれども、もしそれらがシェルの実行可能ファイル
と同一のディレクトリにのっていない場合には、ファイ
ルの完全な経路名をシステムファイル内に示さねばなら
ない。
ckard 9000シリーズ700 系ワークステーションで使用さ
れるように設計されている。このワークステーション上
においては、HP-UX オペレーティングシステムパッケー
ジ8.05またはそれ以上、が動作するはずである。HP-VUE
のユーザ用視覚的環境もまた、存在するはずである。こ
の環境は、モチーフ(Motif)をベースとしたXウ
ィンドウシステム上に階層上に設けられている。ドメイ
ンシェルは、このフレーム内で、Xterm ウィンドウを使
用する。シェルを使用するために、ユーザはシステムに
より使用される入力ファイルを新たに作成しなければな
らない。それ故、個々の入力ファイルの構文及び構造の
他、シェルの全体設計コンセプトに精通することは、有
用である。SDD の第2及び第3セクションは、全体シス
テム結成の記述を含み、ドメインシェルの構成要素の動
作について述べる。新たな入力ファイルの作成はシェル
の使用前に行わねばならない。シェルを使用するために
は、下記のファイルを新たに作成しなければならない:
システムファイル、黒板構造記述ファイル、各ルールベ
ースごとに一つのルールベース記述ファイル、各ケース
ベースごとに一つのケース記述ファイル、及び最低一つ
の入力データファイル。これらファイルの用法は本書に
説明してある。これらファイルの位置は、限定されな
い。けれども、もしそれらがシェルの実行可能ファイル
と同一のディレクトリにのっていない場合には、ファイ
ルの完全な経路名をシステムファイル内に示さねばなら
ない。
【0209】システムファイル システムファイルは、黒板構造説明ファイルを識別する
ファイル名のリスト、及びシステム用のすべてのルール
ベースファイル及びケース記述ファイルを含む。システ
ムファイルは、接尾辞.sys. により、識別される。ファ
イル書式を図27に示す。
ファイル名のリスト、及びシステム用のすべてのルール
ベースファイル及びケース記述ファイルを含む。システ
ムファイルは、接尾辞.sys. により、識別される。ファ
イル書式を図27に示す。
【0210】システムファイル内のファイル名の順序が
重要であることに注意されたい。黒板構造記述ファイル
の名称をまず指定し、次にすべてのルールベース記述フ
ァイル、最低に、すべてのケース記述ファイルを指定す
べきである。これが図24に示す順序である。一行に一つ
のファイルしか指定してはならない。システムファイル
内に指定されるすべてのファイルが存在しなければなら
ない。さもないと初期化のエラーが生じる。
重要であることに注意されたい。黒板構造記述ファイル
の名称をまず指定し、次にすべてのルールベース記述フ
ァイル、最低に、すべてのケース記述ファイルを指定す
べきである。これが図24に示す順序である。一行に一つ
のファイルしか指定してはならない。システムファイル
内に指定されるすべてのファイルが存在しなければなら
ない。さもないと初期化のエラーが生じる。
【0211】シェルはシステムファイルに指定されるフ
ァイルが、完全な経路名をシステムファイル内に使用し
ていない場合、シェル実行可能ファイルと同一のディレ
クトリにあると仮定する。
ァイルが、完全な経路名をシステムファイル内に使用し
ていない場合、シェル実行可能ファイルと同一のディレ
クトリにあると仮定する。
【0212】知識源ウィンドウを完全に開くか、また
は、それをアイコン化するかを決定するために利用しう
るオプションがある。デフォールトシステムオペレーシ
ョンは、すべての知識源ウィンドウを、アイコン化する
ことである。けれども、もしNORMALが知識源ファイル指
定行の行末に置かれた場合には、その知識源のプロセス
に連想づけられたウィンドウは、完全に開かれる。この
特徴は、特定の知識源の動作を詳細に観察するのに有用
である。もし望むならば、すべての知識源指定行に同じ
NORMAL接尾辞を使用して、すべての知識源ウィンドウを
完全に開くことができる。デフォールト挙動(アイコン
化された知識源)は、知識源指定行の行末にICONを使用
して、明白に指定することができる。
は、それをアイコン化するかを決定するために利用しう
るオプションがある。デフォールトシステムオペレーシ
ョンは、すべての知識源ウィンドウを、アイコン化する
ことである。けれども、もしNORMALが知識源ファイル指
定行の行末に置かれた場合には、その知識源のプロセス
に連想づけられたウィンドウは、完全に開かれる。この
特徴は、特定の知識源の動作を詳細に観察するのに有用
である。もし望むならば、すべての知識源指定行に同じ
NORMAL接尾辞を使用して、すべての知識源ウィンドウを
完全に開くことができる。デフォールト挙動(アイコン
化された知識源)は、知識源指定行の行末にICONを使用
して、明白に指定することができる。
【0213】黒板構造記述ファイル 黒板構造記述ファイル(BSDF)は、すべてのオブジェク
トの定義及び各オブジェクトの属性すべてを含む。オブ
ジェクト及び属性は、ユーザが与える名称により識別さ
れる。黒板ファイルは、接尾辞.bb.により、そうである
と識別される。ファイル書式は図28に示す。
トの定義及び各オブジェクトの属性すべてを含む。オブ
ジェクト及び属性は、ユーザが与える名称により識別さ
れる。黒板ファイルは、接尾辞.bb.により、そうである
と識別される。ファイル書式は図28に示す。
【0214】オブジェクト及び連想づけられる属性の名
称は、知識源説明ファイル及び入力データファイル内で
使用される。名称はシェルが正確に作動するために、ス
ペリングとケースに正確に一致しなければならない。タ
イプダブルの黒板データ値しか許されない。特定の最大
履歴長さはない。黒板は、受信するデータポイントをこ
の履歴長さの範囲内に保有するので、過剰メモリーが使
用されることになるし、さらに、履歴長さが知識源が必
要とする長さより長い場合には、システムは不必要に遅
らされることになる。これに関する十分なチェックを行
うには、知識源により要求される履歴長さを再検討し
て、黒板履歴長さを適当に調節することである。
称は、知識源説明ファイル及び入力データファイル内で
使用される。名称はシェルが正確に作動するために、ス
ペリングとケースに正確に一致しなければならない。タ
イプダブルの黒板データ値しか許されない。特定の最大
履歴長さはない。黒板は、受信するデータポイントをこ
の履歴長さの範囲内に保有するので、過剰メモリーが使
用されることになるし、さらに、履歴長さが知識源が必
要とする長さより長い場合には、システムは不必要に遅
らされることになる。これに関する十分なチェックを行
うには、知識源により要求される履歴長さを再検討し
て、黒板履歴長さを適当に調節することである。
【0215】黒板が受信した重要なデータは、DEMON の
特徴を使用して、マン−マシンインタフェースウィンド
ウへ転送することができる。オブジェクトの属性の下に
は、DEMON:MMI _WRITE の行を含めよ。黒板がこのオブ
ジェクト属性の新しい値を受信する場合には、そのオブ
ジェクト名及び属性名、及び値はマン−マシンインタフ
ェースへ転送される。その値は、マン−マシンウィンド
ウ内に示される。それによって、システムを作動中に、
どんなオブジェクト属性でも追跡可能になるので、それ
はシェルを用いて仕事をするための強力なツールであ
る。けれども、もしDEMON を働かすオブジェクトが多過
ぎる場合には、システムは遅らされかつマン−マシンウ
ィンドウ内に書き出される値の個数が多くなる。アプリ
ケーションがテストされた後は、DEMON の使用は、障害
を示すような重要なオブジェクト属性のために残してお
くべきである。
特徴を使用して、マン−マシンインタフェースウィンド
ウへ転送することができる。オブジェクトの属性の下に
は、DEMON:MMI _WRITE の行を含めよ。黒板がこのオブ
ジェクト属性の新しい値を受信する場合には、そのオブ
ジェクト名及び属性名、及び値はマン−マシンインタフ
ェースへ転送される。その値は、マン−マシンウィンド
ウ内に示される。それによって、システムを作動中に、
どんなオブジェクト属性でも追跡可能になるので、それ
はシェルを用いて仕事をするための強力なツールであ
る。けれども、もしDEMON を働かすオブジェクトが多過
ぎる場合には、システムは遅らされかつマン−マシンウ
ィンドウ内に書き出される値の個数が多くなる。アプリ
ケーションがテストされた後は、DEMON の使用は、障害
を示すような重要なオブジェクト属性のために残してお
くべきである。
【0216】ルールベース記述ファイル 各ルールベースは、三つの部分からなる記述ファイルに
より定義される。第一の部分は、事象の式のリストであ
り、EVENTSと呼ばれる。これらの式は、事象検知部によ
って、次の目的、つまり、或る知識源を、アジェンダマ
ネジャに送られる発火予定の知識源のリストにのせるべ
きか否かを決定するために使用される。第二の部分は、
事象式のリストであり、PRECONDITIONS と呼ばれる。こ
れらの式は知識源を所定の時間に発火すべきか否かをチ
ェックするためにアジェンダマネジャにより使用され
る。
より定義される。第一の部分は、事象の式のリストであ
り、EVENTSと呼ばれる。これらの式は、事象検知部によ
って、次の目的、つまり、或る知識源を、アジェンダマ
ネジャに送られる発火予定の知識源のリストにのせるべ
きか否かを決定するために使用される。第二の部分は、
事象式のリストであり、PRECONDITIONS と呼ばれる。こ
れらの式は知識源を所定の時間に発火すべきか否かをチ
ェックするためにアジェンダマネジャにより使用され
る。
【0217】EVENTSの部分については、事象の式を書く
際に、それらが新しいデータの到着時点に左右されるこ
とに注意すべきである。各事象の式は、唯一発生源(ユ
ーザインターフェイスか、または、その他知識源の一つ
かのいずれか)から到着する新しいデータを、参照すべ
きである。すべてのデータは、事象検知部を通して送ら
れるけれども、データの各発生源(知識源またはユーザ
インターフェイス)は、データを発生源ごとのバッチに
分けて送る。それ故、たとえ他の発生源から到着するデ
ータが、同一の時間スタンプであったとしても事象検知
部は、特定のバッチのデータを、必ず新しいものとして
認めることができる。一般に、表現内に、二つ以上の
「新しい」データポイントを有する事象の式を書く際に
は、注意を払うべきである。
際に、それらが新しいデータの到着時点に左右されるこ
とに注意すべきである。各事象の式は、唯一発生源(ユ
ーザインターフェイスか、または、その他知識源の一つ
かのいずれか)から到着する新しいデータを、参照すべ
きである。すべてのデータは、事象検知部を通して送ら
れるけれども、データの各発生源(知識源またはユーザ
インターフェイス)は、データを発生源ごとのバッチに
分けて送る。それ故、たとえ他の発生源から到着するデ
ータが、同一の時間スタンプであったとしても事象検知
部は、特定のバッチのデータを、必ず新しいものとして
認めることができる。一般に、表現内に、二つ以上の
「新しい」データポイントを有する事象の式を書く際に
は、注意を払うべきである。
【0218】PRECONDITIONS の部分は、EVENTSの部分の
式と同様の式を含む。また、知識源を一定間隔で発火さ
せるように、周期的前提条件を設定することができる。
これは、前提条件として、文「"every n"(n 個毎) 」を
置くことによって行われる。但し、n は、秒単位の間隔
時間である。
式と同様の式を含む。また、知識源を一定間隔で発火さ
せるように、周期的前提条件を設定することができる。
これは、前提条件として、文「"every n"(n 個毎) 」を
置くことによって行われる。但し、n は、秒単位の間隔
時間である。
【0219】第三の部分は、仮定、障害、ルール等、ル
ールベースのすべての構成要素を含み、ルールベース構
造を定義する。ルールベース説明ファイルは、接尾辞.r
b.によりそれとして識別される。ファイル書式の詳細は
図29、図30、図31に示されている。
ールベースのすべての構成要素を含み、ルールベース構
造を定義する。ルールベース説明ファイルは、接尾辞.r
b.によりそれとして識別される。ファイル書式の詳細は
図29、図30、図31に示されている。
【0220】黒板構造記述ファイルは、必要に応じて参
照され、編集されるべきであるので、黒板要素としてル
ールベース内で名称を与えられているすべてのオブジェ
クト属性は、黒板内の名称と正確に一致する。不一致の
場合、ルールベースは正確に初期化しなくなる。ルール
ベース説明ファイルを構成する場合に利用可能な演算子
は多数ある。
照され、編集されるべきであるので、黒板要素としてル
ールベース内で名称を与えられているすべてのオブジェ
クト属性は、黒板内の名称と正確に一致する。不一致の
場合、ルールベースは正確に初期化しなくなる。ルール
ベース説明ファイルを構成する場合に利用可能な演算子
は多数ある。
【0221】ケース記述ファイル 各ケースベースは、やはり、三つの部分を含む記述ファ
イルにより、定義される。初めの二つの部分は、上述の
通りEVENTSとPRECONDITIONS である。第三の部分はケー
スベース自体を含み、値を有する複数のケースの一組で
構成される。ケース記述ファイルは、接尾辞.cb.により
それとして識別される。ファイル書式の詳細は図32、
図33に示されている。
イルにより、定義される。初めの二つの部分は、上述の
通りEVENTSとPRECONDITIONS である。第三の部分はケー
スベース自体を含み、値を有する複数のケースの一組で
構成される。ケース記述ファイルは、接尾辞.cb.により
それとして識別される。ファイル書式の詳細は図32、
図33に示されている。
【0222】ルールベース記述ファイルについては、ケ
ースベースファイル内のオブジェクト属性が、黒板のオ
ブジェクト属性と正確に一致しなければならない。さも
ないと、ロードする際にエラーが生じる。
ースベースファイル内のオブジェクト属性が、黒板のオ
ブジェクト属性と正確に一致しなければならない。さも
ないと、ロードする際にエラーが生じる。
【0223】各ケースは、関連するケース値を有する複
数のオブジェクト属性の一組で構成されなければならな
い。ケース値として使用される時間スタンプは、比較の
ために必要な時間間隔を明らかにするべきである。絶対
時間は重要ではない。例えば、もし特定のケースにおい
て、オブジェクト属性が、10秒間にわたる特有の一組の
値を有する場合には、最近と最古の値間の時間スタンプ
の差は10秒とすべきである。
数のオブジェクト属性の一組で構成されなければならな
い。ケース値として使用される時間スタンプは、比較の
ために必要な時間間隔を明らかにするべきである。絶対
時間は重要ではない。例えば、もし特定のケースにおい
て、オブジェクト属性が、10秒間にわたる特有の一組の
値を有する場合には、最近と最古の値間の時間スタンプ
の差は10秒とすべきである。
【0224】入力データファイル このファイルはシェルが使用して実際のデータの到着を
シミュレートするデータからなる。入力データファイル
は、接尾辞.dat. によりそれとして識別される。ファイ
ル書式は図34に示す。
シミュレートするデータからなる。入力データファイル
は、接尾辞.dat. によりそれとして識別される。ファイ
ル書式は図34に示す。
【0225】入力データは一つの特定の時間スタンプを
有するすべてのデータが同一のデータセットの中でまと
められるように、構成されることを期待されている。オ
ブジェクト属性名は、黒板内の名称と正確に一致すべき
である。もし名称が不一致であった場合には、入力デー
タファイルを走査する際に、エラーを報告する。
有するすべてのデータが同一のデータセットの中でまと
められるように、構成されることを期待されている。オ
ブジェクト属性名は、黒板内の名称と正確に一致すべき
である。もし名称が不一致であった場合には、入力デー
タファイルを走査する際に、エラーを報告する。
【0226】入力データファイル内のデータは、最初の
データから最近のデータまで、時間的順序で現れるはず
である。
データから最近のデータまで、時間的順序で現れるはず
である。
【0227】ログファイル 診断内容を生成する各知識源は、連想づけられる優先度
及び重要度により、診断メッセージを表すエントリを用
いてログファイル(RLOGF またはCLOGF )に書き込む。
構文は図35に示す。
及び重要度により、診断メッセージを表すエントリを用
いてログファイル(RLOGF またはCLOGF )に書き込む。
構文は図35に示す。
【0228】診断ファイル 診断ファイル(DIAF)はセッションの実行結果を含む。
これは、関連する確信係数を含む診断のリストである。
構文は図36に示す。
これは、関連する確信係数を含む診断のリストである。
構文は図36に示す。
【0229】黒板ステータスファイル 黒板ステータスファイル(BSF )は、黒板を再現するた
めに必要な情報を含む点がBSDFと似ている。BSF ファイ
ルを使用して、黒板はその後のセッションの実行時に復
原可能である。構文は図37に示す。
めに必要な情報を含む点がBSDFと似ている。BSF ファイ
ルを使用して、黒板はその後のセッションの実行時に復
原可能である。構文は図37に示す。
【0230】プログラムの使用 ユーザはドメインシェル実行可能ファイルが存在するデ
ィレクトリ内になければならない。すべての入力ファイ
ルもまた、完全な経路名が、どこか他の場所に所在する
ファイルに使用されていない限り、このディレクトリ内
にあるべきである。また、出力ファイルも、このディレ
クトリ内に書き込まれる。プログラムは実行中最低五個
のウィンドウを開くので、現在開いている一個のウィン
ドウだけを表示させるようにした方がよい。このウィン
ドウは、表示のどこにあってもよいけれども下左隅に設
けることを推奨する。
ィレクトリ内になければならない。すべての入力ファイ
ルもまた、完全な経路名が、どこか他の場所に所在する
ファイルに使用されていない限り、このディレクトリ内
にあるべきである。また、出力ファイルも、このディレ
クトリ内に書き込まれる。プログラムは実行中最低五個
のウィンドウを開くので、現在開いている一個のウィン
ドウだけを表示させるようにした方がよい。このウィン
ドウは、表示のどこにあってもよいけれども下左隅に設
けることを推奨する。
【0231】プログラムは、プログラム名とそれに続け
てファイル名をタイプすることにより呼び出される。現
在内蔵されたままであれば、プログラム名は、user_in
t.である。もし望むならば、これはユーザが変更するこ
とができる。けれども、その他の実行可能ファイルの名
称は変更してはならない。
てファイル名をタイプすることにより呼び出される。現
在内蔵されたままであれば、プログラム名は、user_in
t.である。もし望むならば、これはユーザが変更するこ
とができる。けれども、その他の実行可能ファイルの名
称は変更してはならない。
【0232】ウィンドウは、ドメインシェルプロセス、
黒板、事象検知部、アジェンダマネージャ、マン−マシ
ンインターフェイス、及び、各知識源、のそれぞれに対
して開かれる。すべてのウィンドウは、X タームウィン
ドウであるので、大きさを変更し、移動しまたはアイコ
ン化される。各ウィンドウは、タイトルバー内で適当に
傾斜させられる。知識源ウィンドウは、それぞれの記述
ファイル名により識別される。
黒板、事象検知部、アジェンダマネージャ、マン−マシ
ンインターフェイス、及び、各知識源、のそれぞれに対
して開かれる。すべてのウィンドウは、X タームウィン
ドウであるので、大きさを変更し、移動しまたはアイコ
ン化される。各ウィンドウは、タイトルバー内で適当に
傾斜させられる。知識源ウィンドウは、それぞれの記述
ファイル名により識別される。
【0233】すべての知識源ファイルは、最初にアイコ
ン化される(NORMALウィンドウオプションがシステムフ
ァイル内に指定されていない限り)。ただし、ユーザが
望む時に開くことができる。ウィンドウ内では、ユーザ
はウィンドウ内にポインタを置き、Ctrlキーを押したま
ま左または中心のマウスボタンを打ち、かつ希望のオプ
ションを選ぶことにより、種々の観察及び追跡オプショ
ンを選択することができる。ウィンドウ用スクロールバ
ーは、Ctrl-Center-Mouse-Buttonを打ち、オプション"E
nable Scroll bar" を選択することにより使用可能とす
ることができる。
ン化される(NORMALウィンドウオプションがシステムフ
ァイル内に指定されていない限り)。ただし、ユーザが
望む時に開くことができる。ウィンドウ内では、ユーザ
はウィンドウ内にポインタを置き、Ctrlキーを押したま
ま左または中心のマウスボタンを打ち、かつ希望のオプ
ションを選ぶことにより、種々の観察及び追跡オプショ
ンを選択することができる。ウィンドウ用スクロールバ
ーは、Ctrl-Center-Mouse-Buttonを打ち、オプション"E
nable Scroll bar" を選択することにより使用可能とす
ることができる。
【0234】ウィンドウのタイトルバーは、その中で実
行中のプロセスを識別する(但し、ユーザインターフェ
イスウィンドウである)。知識源は、それに連想づけら
れる知識源記述ファイルの名称により識別される。ウィ
ンドウがアイコン化されている場合でも、知識源ウィン
ドウはやはり記述ファイル名によって識別される。その
他のプロセスは二文字略語、すなわち黒板はbb、事象検
知部はed、アジェンダマネージャはam、マン−マシンイ
ンターフェイスはmm、により識別される。
行中のプロセスを識別する(但し、ユーザインターフェ
イスウィンドウである)。知識源は、それに連想づけら
れる知識源記述ファイルの名称により識別される。ウィ
ンドウがアイコン化されている場合でも、知識源ウィン
ドウはやはり記述ファイル名によって識別される。その
他のプロセスは二文字略語、すなわち黒板はbb、事象検
知部はed、アジェンダマネージャはam、マン−マシンイ
ンターフェイスはmm、により識別される。
【0235】ユーザとの殆どの対話は、プログラムが始
まった第一ウィンドウ内で行われる。このウィンドウ
は、システムが作成された後にユーザに最上位オプショ
ンのメニューを示す。選択肢は四個ある。すなわち、デ
ータ開始、データ継続、オペレーティングパラメータ設
定、及びセッションの終了である。
まった第一ウィンドウ内で行われる。このウィンドウ
は、システムが作成された後にユーザに最上位オプショ
ンのメニューを示す。選択肢は四個ある。すなわち、デ
ータ開始、データ継続、オペレーティングパラメータ設
定、及びセッションの終了である。
【0236】データ開始オプション1 このオプションはユーザが選択すると、ユーザに入力デ
ータファイル名を教える。それから、それは、すべての
知識源にリセットし、セッションの実行の準備をするよ
うに通知する。入力データファイルを走査後、プログラ
ムはデータを実行するに要する時間の長さを、秒で表し
て表示する。ユーザは、それより短いか、または長い時
間で、一つのデータセットの処理を完了するために、タ
イムスケールを圧縮するオプションを与えられる。圧縮
係数はデータファイルから引き出した時間間隔に分割さ
れて、圧縮された間隔を決定する。圧縮係数が設定され
た後、データは入力データファイルから読み取られ、適
正な時間事象検知部宛に送信され、そこから黒板へ転送
される。システムは適宜、知識源を起動しながら、入力
データがなくなるまで動作する。情報メッセージは、当
該データセットの処理が進むにつれて、シェルウィンド
ウ内に現れる。処理が完了すると、ユーザは、ユーザイ
ンターフェイスウィンドウ内に最上位メニューを与えら
れる。
ータファイル名を教える。それから、それは、すべての
知識源にリセットし、セッションの実行の準備をするよ
うに通知する。入力データファイルを走査後、プログラ
ムはデータを実行するに要する時間の長さを、秒で表し
て表示する。ユーザは、それより短いか、または長い時
間で、一つのデータセットの処理を完了するために、タ
イムスケールを圧縮するオプションを与えられる。圧縮
係数はデータファイルから引き出した時間間隔に分割さ
れて、圧縮された間隔を決定する。圧縮係数が設定され
た後、データは入力データファイルから読み取られ、適
正な時間事象検知部宛に送信され、そこから黒板へ転送
される。システムは適宜、知識源を起動しながら、入力
データがなくなるまで動作する。情報メッセージは、当
該データセットの処理が進むにつれて、シェルウィンド
ウ内に現れる。処理が完了すると、ユーザは、ユーザイ
ンターフェイスウィンドウ内に最上位メニューを与えら
れる。
【0237】黒板動作の条件は、黒板ウィンドウ内で文
字'>' 及び'<' を使用して示される。データが黒板内に
置かれると、'>' キャラクタが表示される。データが黒
板から検索されると、'<' キャラクタが表示される。
字'>' 及び'<' を使用して示される。データが黒板内に
置かれると、'>' キャラクタが表示される。データが黒
板から検索されると、'<' キャラクタが表示される。
【0238】事象検知部は、事象の式の評価を継続しな
がら、'.' という三つの文字の組を表示する。アジェン
ダマネージャもまた、'.' という三つの文字の組を示し
て、活動の完了を表す。マン−マシンインターフェイス
は、黒板がデータを送信するにつれて、そのウィンドウ
内に受信したデータを表示する。送信された各データポ
イントは、オブジェクトと属性の名称と共に表示され
る。DEMON すなわちMMI-WRITE を有するオブジェクト属
性のみが、黒板が新しい値を一個受信した時に限って表
示される。もし、一組のデータが実行された後、「デー
タ開始」が再び選択された場合には、黒板内のすべての
データは廃棄されて、すべての知識源がリセットされ
る。これが、事実上、セッションの動作を再び開始す
る。その後のデータにより実行を継続するためには、
「データ継続」を使用する。
がら、'.' という三つの文字の組を表示する。アジェン
ダマネージャもまた、'.' という三つの文字の組を示し
て、活動の完了を表す。マン−マシンインターフェイス
は、黒板がデータを送信するにつれて、そのウィンドウ
内に受信したデータを表示する。送信された各データポ
イントは、オブジェクトと属性の名称と共に表示され
る。DEMON すなわちMMI-WRITE を有するオブジェクト属
性のみが、黒板が新しい値を一個受信した時に限って表
示される。もし、一組のデータが実行された後、「デー
タ開始」が再び選択された場合には、黒板内のすべての
データは廃棄されて、すべての知識源がリセットされ
る。これが、事実上、セッションの動作を再び開始す
る。その後のデータにより実行を継続するためには、
「データ継続」を使用する。
【0239】データ継続オプション2 このオプションは、オプション1−データ開始と同一の
方法で一組のデータを、システムに実行させる。けれど
も、データ継続オプションの場合は、リセットするため
のメッセージが知識源へ送られないので、黒板データは
以前の実行のまま維持される。これにより、ルールベー
スは直前のデータの組の実行中に、動作結果としてセッ
トされた現在の値を用いて、動作を継続することが可能
になる。オプション1については、ユーザは入力データ
ファイルの名前を教えられる。このファイル内のデータ
は、このオプションが正しく作動するために直前のデー
タの組の中の最後のデータよりも、時間的に新しい時間
スタンプを持つものから始まらなければならない。も
し、その後のデータが直前の実行からのデータよりも早
い時間スタンプを持って、黒板に送られる場合には、黒
板はそのデータを、履歴のない属性の現行値として、黒
板内に置く。けれども、ゼロではない履歴長を有する属
性については、黒板は、その値を、最新の値としてでは
なく、履歴の中のどこかに挿入する。検出器は、「新し
い」データの到着に応じて知識源を発火することがある
ので、上述の処置は、不確定挙動を引き起こす。つま
り、知識源が、黒板からデータを取り出す時、そのデー
タが隠されるので、知識源は、恐らく間違ったデータポ
イントを使用して起動する。
方法で一組のデータを、システムに実行させる。けれど
も、データ継続オプションの場合は、リセットするため
のメッセージが知識源へ送られないので、黒板データは
以前の実行のまま維持される。これにより、ルールベー
スは直前のデータの組の実行中に、動作結果としてセッ
トされた現在の値を用いて、動作を継続することが可能
になる。オプション1については、ユーザは入力データ
ファイルの名前を教えられる。このファイル内のデータ
は、このオプションが正しく作動するために直前のデー
タの組の中の最後のデータよりも、時間的に新しい時間
スタンプを持つものから始まらなければならない。も
し、その後のデータが直前の実行からのデータよりも早
い時間スタンプを持って、黒板に送られる場合には、黒
板はそのデータを、履歴のない属性の現行値として、黒
板内に置く。けれども、ゼロではない履歴長を有する属
性については、黒板は、その値を、最新の値としてでは
なく、履歴の中のどこかに挿入する。検出器は、「新し
い」データの到着に応じて知識源を発火することがある
ので、上述の処置は、不確定挙動を引き起こす。つま
り、知識源が、黒板からデータを取り出す時、そのデー
タが隠されるので、知識源は、恐らく間違ったデータポ
イントを使用して起動する。
【0240】データの組が実行中である時、シェルプロ
セスの外観はオプション1−データ開始の外観と同一で
ある。
セスの外観はオプション1−データ開始の外観と同一で
ある。
【0241】オペレーティングパラメータ設定オプショ
ン3 このオプションにより、ユーザはルールベース用パラメ
ータを設定することができる。もし、このオプションを
選択した場合には、ユーザはルールベースの名称を教え
られる。ルールベースのみが、動作用パラメータ設定に
関して選択可能である。ケースベース知識源は、パラメ
ータ設定に関する選択ができない。
ン3 このオプションにより、ユーザはルールベース用パラメ
ータを設定することができる。もし、このオプションを
選択した場合には、ユーザはルールベースの名称を教え
られる。ルールベースのみが、動作用パラメータ設定に
関して選択可能である。ケースベース知識源は、パラメ
ータ設定に関する選択ができない。
【0242】パラメータを設定するために、六つの選択
肢がある。トレース、ログ、ステップ、ブレークポイン
ト、α/β、及び、SF/NF である。
肢がある。トレース、ログ、ステップ、ブレークポイン
ト、α/β、及び、SF/NF である。
【0243】もし、ユーザがオプション3を選択する場
合には、ユーザは知識源ファイルの名称を記入するよう
に、教えられる。その記入により、パラメータを設定す
べき知識源が指定される。現在では、ルールベースのみ
が、セット可能なパラメータを有する。知識源ファイル
が指定された後、ユーザは、設定すべきパラメータに対
応するコードを記入するよう教えられる。
合には、ユーザは知識源ファイルの名称を記入するよう
に、教えられる。その記入により、パラメータを設定す
べき知識源が指定される。現在では、ルールベースのみ
が、セット可能なパラメータを有する。知識源ファイル
が指定された後、ユーザは、設定すべきパラメータに対
応するコードを記入するよう教えられる。
【0244】トレース−パラメータ オプション0:も
し、このオプションが選択されると、ユーザは追跡能力
を可能とするか、生かすか、いずれかを尋ねられる。生
かされた場合、ルールベース内の各ルールが発火された
時に、詳細記述が、ルールベースのウィンドウに表示さ
れることになる。
し、このオプションが選択されると、ユーザは追跡能力
を可能とするか、生かすか、いずれかを尋ねられる。生
かされた場合、ルールベース内の各ルールが発火された
時に、詳細記述が、ルールベースのウィンドウに表示さ
れることになる。
【0245】ログ−パラメータ オプション1:もし、
このオプションが選択されると、ユーザはロッギング
(記録)能力を不能とするか、生かすか、いずれかを尋
ねられる。生かされた場合、トレースオプションに対し
て生成されたものと同一の記述が、ファイルへ送られる
ことになる。ファイルは、それを作ったルールのベース
記述ファイルと同一のルート名に..log extension を付
けて、命名される。
このオプションが選択されると、ユーザはロッギング
(記録)能力を不能とするか、生かすか、いずれかを尋
ねられる。生かされた場合、トレースオプションに対し
て生成されたものと同一の記述が、ファイルへ送られる
ことになる。ファイルは、それを作ったルールのベース
記述ファイルと同一のルート名に..log extension を付
けて、命名される。
【0246】ステップ−パラメータ オプション2:も
し、このオプションが選択されると、ユーザはステップ
機能を不能とするか、生かすか、いずれかを尋ねられ
る。生かされた場合、ステップオプションは、一つのル
ールが発火されると、その都度、ルールベースを停止さ
せる。すなわち、ルールベースは、ユーザが、ルールベ
ースウィンドウ内で応答することにより、ルール発火を
認めた場合にのみ、継続する。それ故、このオプション
が生かされると、ユーザは、彼の関心の焦点を、ルール
ベースウィンドウに移すことが必要である。ルールベー
スが起動すると、処理動作は停止し、かつ、ユーザはル
ールベース内に選択肢を持つことになる。データは、黒
板に送り続けられ、かつ、その他のすべてのシェルプロ
セスは続行する。けれども、それ以後の知識源発火は、
ユーザがルールベース内のルール全部について歩進を完
了するまで遅延される。それ故、シェルの残りの部分の
実行は、不能とされる。ステップオプションの目的は、
ユーザがルールベース内のルール発火の順序を項目ごと
に追うことを可能にすることである。その使用は通常、
プロセス実行のタイミングを狂わせるので、それは、デ
バッギングのために、ただ一つの知識源のみの構成とし
て使用するべきである。
し、このオプションが選択されると、ユーザはステップ
機能を不能とするか、生かすか、いずれかを尋ねられ
る。生かされた場合、ステップオプションは、一つのル
ールが発火されると、その都度、ルールベースを停止さ
せる。すなわち、ルールベースは、ユーザが、ルールベ
ースウィンドウ内で応答することにより、ルール発火を
認めた場合にのみ、継続する。それ故、このオプション
が生かされると、ユーザは、彼の関心の焦点を、ルール
ベースウィンドウに移すことが必要である。ルールベー
スが起動すると、処理動作は停止し、かつ、ユーザはル
ールベース内に選択肢を持つことになる。データは、黒
板に送り続けられ、かつ、その他のすべてのシェルプロ
セスは続行する。けれども、それ以後の知識源発火は、
ユーザがルールベース内のルール全部について歩進を完
了するまで遅延される。それ故、シェルの残りの部分の
実行は、不能とされる。ステップオプションの目的は、
ユーザがルールベース内のルール発火の順序を項目ごと
に追うことを可能にすることである。その使用は通常、
プロセス実行のタイミングを狂わせるので、それは、デ
バッギングのために、ただ一つの知識源のみの構成とし
て使用するべきである。
【0247】ブレークポイント−パラメータ オプショ
ン3:もし、このオプションが選択されると、ユーザは
ルールベースウィンドウ内のルールに対して、ブレーク
ポイントを設定または除去することができる。このオプ
ションを使用するためには、ユーザは適切なルールベー
スウィンドウへ移動して、ブレークポイントをセットし
なければならない。ルールベースウィンドウにおいて
は、ユーザは、ルールベース内の任意のルールのための
ブレークポイントを設定し、かつ除去することができ
る。完了時には、ユーザは第一ウィンドウに戻って、最
上位オプションを選択しなければならない。ステップオ
プションの場合と同様に、もし、ブレークポイントが設
定されると、ルールベースオペレーションは、発火中、
中止される。ブレークポイントを使用することは、全体
として、シェルの性能よりもむしろ、ルールベースの動
作を観察するためである。換言すれば、これは、デバッ
ギングのために、ただ一つの知識源の構成として使用す
べきである。
ン3:もし、このオプションが選択されると、ユーザは
ルールベースウィンドウ内のルールに対して、ブレーク
ポイントを設定または除去することができる。このオプ
ションを使用するためには、ユーザは適切なルールベー
スウィンドウへ移動して、ブレークポイントをセットし
なければならない。ルールベースウィンドウにおいて
は、ユーザは、ルールベース内の任意のルールのための
ブレークポイントを設定し、かつ除去することができ
る。完了時には、ユーザは第一ウィンドウに戻って、最
上位オプションを選択しなければならない。ステップオ
プションの場合と同様に、もし、ブレークポイントが設
定されると、ルールベースオペレーションは、発火中、
中止される。ブレークポイントを使用することは、全体
として、シェルの性能よりもむしろ、ルールベースの動
作を観察するためである。換言すれば、これは、デバッ
ギングのために、ただ一つの知識源の構成として使用す
べきである。
【0248】α/β−パラメータ オプション4:も
し、このオプションが選択されると、特定のルールベー
スに対してα及びβ遮断用の大域的な値を設定すること
ができる。ユーザは、α及びβの値(-1.0ないし+1.0)
を記入するよう教えられる。次に、これらの値は、指定
されたルールベースに渡される。
し、このオプションが選択されると、特定のルールベー
スに対してα及びβ遮断用の大域的な値を設定すること
ができる。ユーザは、α及びβの値(-1.0ないし+1.0)
を記入するよう教えられる。次に、これらの値は、指定
されたルールベースに渡される。
【0249】SF/NF−パラメータ オプション5:
もし、このオプションが選択されると、特定のルールベ
ースに対してルールごとの充分性係数と必要性係数(SF
及びNF)の全体的な値を設定することができる。ユーザ
は、SF及びNFの値(-1.0ないし+1.0)を記入するよう教
えられる。これらの値は、次に、指定されたルールベー
スに渡される。
もし、このオプションが選択されると、特定のルールベ
ースに対してルールごとの充分性係数と必要性係数(SF
及びNF)の全体的な値を設定することができる。ユーザ
は、SF及びNFの値(-1.0ないし+1.0)を記入するよう教
えられる。これらの値は、次に、指定されたルールベー
スに渡される。
【0250】セッションの終了−オプション6:もし、
このオプションが選択されると、セッションの動作が終
了して、プログラムが存在する。出力ファイルは、SDD
について本明細書中で述べる通りに、書き込まれる。各
知識源は、診断リストを含む一個のログファイルを生成
した。黒板は黒板入力ファイルからの構造の情報を含む
出力ファイル及び黒板内に現在記憶されているすべての
データ値のスナップショットを書き込む。
このオプションが選択されると、セッションの動作が終
了して、プログラムが存在する。出力ファイルは、SDD
について本明細書中で述べる通りに、書き込まれる。各
知識源は、診断リストを含む一個のログファイルを生成
した。黒板は黒板入力ファイルからの構造の情報を含む
出力ファイル及び黒板内に現在記憶されているすべての
データ値のスナップショットを書き込む。
【0251】出力ファイル セッションの動作が終了すると、各知識源は、動作の結
果を含む最低一つの出力ファイルをプリントアウトす
る。一個のルールベースは、もし、そのパラメータが、
パラメータ設定オプションを通して設定されていた場合
には、一個のログファイルをプリントアウトすることが
可能である。
果を含む最低一つの出力ファイルをプリントアウトす
る。一個のルールベースは、もし、そのパラメータが、
パラメータ設定オプションを通して設定されていた場合
には、一個のログファイルをプリントアウトすることが
可能である。
【0252】一組のデータが実行された後、セッション
の動作が終了する都度、当該システム用のすべてのルー
ルベースは、診断の結果を用いて、一個の新たな出力フ
ァイルを作る。このファイルは、ルールベース記述ファ
イルと同一のルートファイル名を持つけれども、接尾
辞.out. が付けられる。ルールベースが発火される都度
生成された診断結果は、このファイル内に書き込まれ
る。書き込まれたデータには、診断の結果、発火された
ルール数、及び、発火されたルール数/秒が含まれる。
の動作が終了する都度、当該システム用のすべてのルー
ルベースは、診断の結果を用いて、一個の新たな出力フ
ァイルを作る。このファイルは、ルールベース記述ファ
イルと同一のルートファイル名を持つけれども、接尾
辞.out. が付けられる。ルールベースが発火される都度
生成された診断結果は、このファイル内に書き込まれ
る。書き込まれたデータには、診断の結果、発火された
ルール数、及び、発火されたルール数/秒が含まれる。
【0253】もし、当該ルールベースに対して、LOG オ
プションが選択された場合には、一個の新たな出力ログ
ファイルが作成される。このファイルは、ルールベース
記述ファイルと同一のルートファイル名を持つけれど
も、接尾辞.log. が付けられる。これには、ルールベー
スの動作順序を示す、詳細なメッセージが含まれる。
プションが選択された場合には、一個の新たな出力ログ
ファイルが作成される。このファイルは、ルールベース
記述ファイルと同一のルートファイル名を持つけれど
も、接尾辞.log. が付けられる。これには、ルールベー
スの動作順序を示す、詳細なメッセージが含まれる。
【0254】ケースベースプロセスは、ケース説明ファ
イル名のルートと同一のルート名及び接尾辞.out. を有
するファイル内に、ケースをスコアした結果を全部書き
込む。ファイルには、完全なデータセットの実行内容に
対してスコアした結果の記録が含まれる。
イル名のルートと同一のルート名及び接尾辞.out. を有
するファイル内に、ケースをスコアした結果を全部書き
込む。ファイルには、完全なデータセットの実行内容に
対してスコアした結果の記録が含まれる。
【0255】黒板は、入力ファイルからのすべてのオブ
ジェクト及び属性に関する情報、及び、黒板内に現在格
納されているすべてのデータを含む、一個の出力ファイ
ルを生成する。このファイルは、その後のセッションず
つのいくつかの動作のための入力ファイルとして、使用
することができる。この場合には、入力データセット
は、黒板内の最新データよりも、時間的に新しい時間ス
タンプを含むべきであり、さもないと不確実な挙動が生
じる。
ジェクト及び属性に関する情報、及び、黒板内に現在格
納されているすべてのデータを含む、一個の出力ファイ
ルを生成する。このファイルは、その後のセッションず
つのいくつかの動作のための入力ファイルとして、使用
することができる。この場合には、入力データセット
は、黒板内の最新データよりも、時間的に新しい時間ス
タンプを含むべきであり、さもないと不確実な挙動が生
じる。
【0256】エラー シェルを使用する場合に生じるエラーは、一般に、二つ
の種類に分けることができる。すなわち、構文/ローデ
ィングエラー、及び論理エラーである。もし、或る特定
の知識源がエラーに出会った場合、それは、エラーが存
在するファイル内の行数を明らかにする、エラーメッセ
ージを表示する。エラーメッセージは、ユーザインター
フェイスヘ送られる。これは、ユーザインターフェイス
に、シェルプロセスを無効化して排除しようとさせる。
の種類に分けることができる。すなわち、構文/ローデ
ィングエラー、及び論理エラーである。もし、或る特定
の知識源がエラーに出会った場合、それは、エラーが存
在するファイル内の行数を明らかにする、エラーメッセ
ージを表示する。エラーメッセージは、ユーザインター
フェイスヘ送られる。これは、ユーザインターフェイス
に、シェルプロセスを無効化して排除しようとさせる。
【0257】論理エラーは、知識源ファイルに含まれる
情報が、誤ったルール等により、所要の働きに対応しな
い場合に生じる。これらのエラーは、所在を突止めるの
が困難なことがある。シェルは、個々のシェルのプロセ
スの動作を理解するためにそれを見守るのに役立つ、数
種の手段を提供する。これには、ルールベース用のパラ
メータ設定オプションが含まれる。また、黒板にはられ
たオブジェクト属性の値は、DEMON の特徴を使用して、
マン−マシンウィンドウ内に表示させることができる。
すべての出力ファイルは、エラーを発見するのを助ける
ために使用することができる。
情報が、誤ったルール等により、所要の働きに対応しな
い場合に生じる。これらのエラーは、所在を突止めるの
が困難なことがある。シェルは、個々のシェルのプロセ
スの動作を理解するためにそれを見守るのに役立つ、数
種の手段を提供する。これには、ルールベース用のパラ
メータ設定オプションが含まれる。また、黒板にはられ
たオブジェクト属性の値は、DEMON の特徴を使用して、
マン−マシンウィンドウ内に表示させることができる。
すべての出力ファイルは、エラーを発見するのを助ける
ために使用することができる。
【0258】知識源 知識源とは、黒板構造におけるドメイン知識の実際の保
管場所である。この節では、知識源の一般的な特性をい
くつか詳細に説明し、その後知識源の三つの異なるクラ
スをある程度詳細に検証する。最初のクラスにおいて
は、ルールベースの二つの異なる知識源使用法を説明す
るが、そこで本質的に二つのタイプのルールベース知識
源が提示される。それぞれルールベースとモデルベース
の他の二つのクラスにおいては、各々一つのタイプを説
明する。知識源が制御モジュールおよびブラックボード
それ自身を用いて相互作用の要求事項を満足する限り、
任意のクラスに対してさらに多くのクラスおよびさらに
多くのタイプを付加することができる。
管場所である。この節では、知識源の一般的な特性をい
くつか詳細に説明し、その後知識源の三つの異なるクラ
スをある程度詳細に検証する。最初のクラスにおいて
は、ルールベースの二つの異なる知識源使用法を説明す
るが、そこで本質的に二つのタイプのルールベース知識
源が提示される。それぞれルールベースとモデルベース
の他の二つのクラスにおいては、各々一つのタイプを説
明する。知識源が制御モジュールおよびブラックボード
それ自身を用いて相互作用の要求事項を満足する限り、
任意のクラスに対してさらに多くのクラスおよびさらに
多くのタイプを付加することができる。
【0259】一般的特性 最も一般的にいって、ある知識源はある非常に大きなル
ール、IF(前提条件(THEN(知識源の本体を実行
する))とみなすことができる。
ール、IF(前提条件(THEN(知識源の本体を実行
する))とみなすことができる。
【0260】したがって、実行に際しては、先ずある知
識源が一組の前提条件を満たさなければならない。これ
らの前提条件は先験的に定義されなければならない。多
くの代表的な黒板アプリケーションにおいて、各制御サ
イクルは、各知識源の前提条件をチェックすることから
始まる。これは非常に非効率的なアプローチである。わ
れわれのドメインシェルは厳格に事象(イベント)駆動
型のそれであるため、さらにもう一つの前もって必要な
条件を先験的に定義しておかなければならない。すなわ
ち、前提条件のチェックを開始させる事象のリストであ
る。
識源が一組の前提条件を満たさなければならない。これ
らの前提条件は先験的に定義されなければならない。多
くの代表的な黒板アプリケーションにおいて、各制御サ
イクルは、各知識源の前提条件をチェックすることから
始まる。これは非常に非効率的なアプローチである。わ
れわれのドメインシェルは厳格に事象(イベント)駆動
型のそれであるため、さらにもう一つの前もって必要な
条件を先験的に定義しておかなければならない。すなわ
ち、前提条件のチェックを開始させる事象のリストであ
る。
【0261】知識源の規模は、強制されるものではな
い。本明細書のはじめに言及した通り、非常に小規模の
知識源は非常に高速で実行されるが、制御オーバーヘッ
ド対実行時比が低下してしまう。大規模の知識源ではこ
の比は改善されるが、応答特性の悪化を招く。大きな規
模を排除することはできないため、知識源はさらに割り
込み可能および再開可能と特徴づけられるものでなけれ
ばならない。割り込み可能な知識源は、割り込みが行わ
れるために発生していなければならない条件、および再
開されるための条件をアジェンダマネージャに分かるよ
うにするものでなければならない。いずれの作用も、し
たがって、タスク優先度あるいはコンテキスト変更で連
想づけることができる。
い。本明細書のはじめに言及した通り、非常に小規模の
知識源は非常に高速で実行されるが、制御オーバーヘッ
ド対実行時比が低下してしまう。大規模の知識源ではこ
の比は改善されるが、応答特性の悪化を招く。大きな規
模を排除することはできないため、知識源はさらに割り
込み可能および再開可能と特徴づけられるものでなけれ
ばならない。割り込み可能な知識源は、割り込みが行わ
れるために発生していなければならない条件、および再
開されるための条件をアジェンダマネージャに分かるよ
うにするものでなければならない。いずれの作用も、し
たがって、タスク優先度あるいはコンテキスト変更で連
想づけることができる。
【0262】知識源は“世界”の状態を推論するもので
あり、その状態は黒板のグローバルなデータ構造によっ
て表される。したがって、あらゆる知識源は黒板上の任
意のデータへの直接アクセスを有している。すべての知
識源はまた、黒板への書き込みアクセスをも有してい
る。しかしながら書き込みアクセスは間接的なものであ
り、制御モジュールの通信マネージャ/事象検知部によ
って行われる。これは標準的な黒板アーキテクチャの必
要な改変であって、ドメインの性質によって生じる。す
なわち、一つの知識源は他の知識源に対して事象を引き
起こす前提を生じさせることがある。知識源はそれぞれ
独立したものであるため、これらの状況を仲介するため
には手形交換所が必要である。
あり、その状態は黒板のグローバルなデータ構造によっ
て表される。したがって、あらゆる知識源は黒板上の任
意のデータへの直接アクセスを有している。すべての知
識源はまた、黒板への書き込みアクセスをも有してい
る。しかしながら書き込みアクセスは間接的なものであ
り、制御モジュールの通信マネージャ/事象検知部によ
って行われる。これは標準的な黒板アーキテクチャの必
要な改変であって、ドメインの性質によって生じる。す
なわち、一つの知識源は他の知識源に対して事象を引き
起こす前提を生じさせることがある。知識源はそれぞれ
独立したものであるため、これらの状況を仲介するため
には手形交換所が必要である。
【0263】さらに、知識源は拮抗する仮説を発生させ
るため、互いに打ち消し合うものとなってはならない。
したがって、仮説源が記録され、さらにそれらの仮説に
ついての推論をさらに他の知識源によって実行できるよ
うに黒板の開発には注意を払う必要がある。各知識源
は、逆に、次の繰り返しにおける継続性を与えるために
必要な“世界”の状態の一部のそれ自身のコピーを維持
しなければならないこともある。
るため、互いに打ち消し合うものとなってはならない。
したがって、仮説源が記録され、さらにそれらの仮説に
ついての推論をさらに他の知識源によって実行できるよ
うに黒板の開発には注意を払う必要がある。各知識源
は、逆に、次の繰り返しにおける継続性を与えるために
必要な“世界”の状態の一部のそれ自身のコピーを維持
しなければならないこともある。
【0264】一般的な基本的考え方として、知識源は、
単一レベルの抽出(すなわち、HAS−PART階層に
おける垂直交差は存在しない)において、かつその階層
の推論可能なサイズの一片の水平構成階層において推論
しなければならないであろう。一方、それを他の方法で
行うことを排除する何物もあってはならないであろう。
単一レベルの抽出(すなわち、HAS−PART階層に
おける垂直交差は存在しない)において、かつその階層
の推論可能なサイズの一片の水平構成階層において推論
しなければならないであろう。一方、それを他の方法で
行うことを排除する何物もあってはならないであろう。
【0265】ケースベース ケースベース推論は人間認識に関する理論によって立派
に一人立ちした人工知能(AI)の研究分野である。こ
れは、記憶,学習,計画及び問題解決に関する問題を扱
う。ケースベース推論の実用上の目的は、ケースベース
推論システム開発に当たって様々な試みから判るよう
に、事象の自動解釈と自動学習である。このアプローチ
は図38のフローチャートに図示されている。極めて簡
単に言えば、次の全てのステップが必要である。
に一人立ちした人工知能(AI)の研究分野である。こ
れは、記憶,学習,計画及び問題解決に関する問題を扱
う。ケースベース推論の実用上の目的は、ケースベース
推論システム開発に当たって様々な試みから判るよう
に、事象の自動解釈と自動学習である。このアプローチ
は図38のフローチャートに図示されている。極めて簡
単に言えば、次の全てのステップが必要である。
【0266】ケースベース推論のインプリメンテーショ
ン 1 新事象の特徴が特性インデックスとして割り当てら
れる。
ン 1 新事象の特徴が特性インデックスとして割り当てら
れる。
【0267】2 特性インデックスは、類似した過去の
ケースを検索するとき使用される。
ケースを検索するとき使用される。
【0268】3 古いケースは新事象とより良く適合す
るように修正される。
るように修正される。
【0269】4 新しいケースがテストされる。
【0270】5 テストが成功の場合、特性インデック
スが割り当てられ、新しいケースはメモリに追加され
る。
スが割り当てられ、新しいケースはメモリに追加され
る。
【0271】6 テストが失敗の場合、失敗が宣言され
て、新しいケースが修復され、テストが再開される。
て、新しいケースが修復され、テストが再開される。
【0272】図38に示すように、このようなインプリ
メンテーションには、次の5種類の知識が必要となる。
即ちインデックス規則、類似性測定値、修正規則、修復
規則、ケースメモリそれ自身である。
メンテーションには、次の5種類の知識が必要となる。
即ちインデックス規則、類似性測定値、修正規則、修復
規則、ケースメモリそれ自身である。
【0273】本発明において、自動修正(モディフィケ
イション)および修復(リペア)は設けられていない。
これは、これらについてまだ十分な開発が行われていな
いかその代わりとし、単純な直線(straightfoward)ア
プローチが使われるだろう。このアプローチでは、修正
と修復はシステムユーザの責任とされている。インデッ
クス付けもまた一部はシステムユーザの責任であり、イ
ンデックス付けでは、ケースの定義付けにケースを構成
する変数(特徴)の定義が必要となる。このようにし
て、本発明はユニークでより単純なケースベース理由付
け(リーズニング:reasoning)手法を提供す
る。
イション)および修復(リペア)は設けられていない。
これは、これらについてまだ十分な開発が行われていな
いかその代わりとし、単純な直線(straightfoward)ア
プローチが使われるだろう。このアプローチでは、修正
と修復はシステムユーザの責任とされている。インデッ
クス付けもまた一部はシステムユーザの責任であり、イ
ンデックス付けでは、ケースの定義付けにケースを構成
する変数(特徴)の定義が必要となる。このようにし
て、本発明はユニークでより単純なケースベース理由付
け(リーズニング:reasoning)手法を提供す
る。
【0274】ケースベース知識源の本体は、前もって蓄
積されたケース(知識ベース)の集合及び与えられた状
況(推論機構)において、“近似度”によってランク付
けすることができるアルゴリズムの集合である。
積されたケース(知識ベース)の集合及び与えられた状
況(推論機構)において、“近似度”によってランク付
けすることができるアルゴリズムの集合である。
【0275】知識源のそれぞれのケースは、アプリケー
ション開発者によって定義された汎用ケースフレームの
インスタンシェイトである。ケースフレームは変数をい
くつでも持つことが出来る。インスタンス(ケース)は
変数に値を割り当てることによって得られる。一方、知
識源のなかでは、全てのケースは同一フレームのインス
タンスとして定義されるので、表形式の蓄積方法は、ケ
ースメモリを選択するとき有効となる。加えて、時間の
概念が表現されなければならない。表を使用する本発明
の手法は、図39に示すように、表(ロー)の各行が1
つのケースフレームに対応している。列(カラム)はケ
ースを形成する値を持つ変数に対応している。すべての
変数は第3のディメンジョン、すなわち時間を持つ。ケ
ースの歴史的(ヒストリカル)値は、このディメンジョ
ンに沿って蓄積される。これらの値は、類似度計測アル
ゴリズムによって現在の歴史的値に合致(マッチ)され
る。もし、変数が第3のディメンジョンを持たない場合
は、変数の現在の値に対する類似度が計測され他と推測
され、歴史は保持されない。
ション開発者によって定義された汎用ケースフレームの
インスタンシェイトである。ケースフレームは変数をい
くつでも持つことが出来る。インスタンス(ケース)は
変数に値を割り当てることによって得られる。一方、知
識源のなかでは、全てのケースは同一フレームのインス
タンスとして定義されるので、表形式の蓄積方法は、ケ
ースメモリを選択するとき有効となる。加えて、時間の
概念が表現されなければならない。表を使用する本発明
の手法は、図39に示すように、表(ロー)の各行が1
つのケースフレームに対応している。列(カラム)はケ
ースを形成する値を持つ変数に対応している。すべての
変数は第3のディメンジョン、すなわち時間を持つ。ケ
ースの歴史的(ヒストリカル)値は、このディメンジョ
ンに沿って蓄積される。これらの値は、類似度計測アル
ゴリズムによって現在の歴史的値に合致(マッチ)され
る。もし、変数が第3のディメンジョンを持たない場合
は、変数の現在の値に対する類似度が計測され他と推測
され、歴史は保持されない。
【0276】この情報に加えて、それぞれの変数var
が、関数f とこれに付随した重みw を持つ事が図39に
示されている。類似性測定(照合)アルゴリズムは、類
似値を次のように計算する。
が、関数f とこれに付随した重みw を持つ事が図39に
示されている。類似性測定(照合)アルゴリズムは、類
似値を次のように計算する。
【0277】 類似値(Simularity Value) = F(wi,f(vari(t))) マッチング関数F 及びf は、原則として、様々に重み付
けられた“曖昧な”及び厳密な動作(即ち、比較)、ま
たは、これら療法の実行のために使用される。マッチン
グ方式の考えは、パターン認識、ファジー論理、また
は、特別な場合(ad-hoc)に見出すことが出来る。この
ような関数ライブラリは用意されているが、その他の関
数はユーザ自身が追加しなければならない。
けられた“曖昧な”及び厳密な動作(即ち、比較)、ま
たは、これら療法の実行のために使用される。マッチン
グ方式の考えは、パターン認識、ファジー論理、また
は、特別な場合(ad-hoc)に見出すことが出来る。この
ような関数ライブラリは用意されているが、その他の関
数はユーザ自身が追加しなければならない。
【0278】通常、新しいケースの蓄積は自動的または
エンドユーザのコントロールによって行なわれている。
ある応用例では、もし新しいケースの重要性(interest
ingness )、有効性(utility )を測定するアルゴリズ
ムが簡単に定義できるならば、自動アプローチが出来る
と考えられている。ユーティリティはケースが使用され
た回数等を調べて、最も使用されなかったケース−この
ケースは、あらかじめ決められたメモリの制限を超えた
ら新しいケースに置き換えられる−を決めるのに使うこ
とができる。
エンドユーザのコントロールによって行なわれている。
ある応用例では、もし新しいケースの重要性(interest
ingness )、有効性(utility )を測定するアルゴリズ
ムが簡単に定義できるならば、自動アプローチが出来る
と考えられている。ユーティリティはケースが使用され
た回数等を調べて、最も使用されなかったケース−この
ケースは、あらかじめ決められたメモリの制限を超えた
ら新しいケースに置き換えられる−を決めるのに使うこ
とができる。
【0279】ケースベース 一組のケースの関連パラメータ値の格納用表形式が開発
されるであろう。その形式によって、妥当な大きさのケ
ース用メモリをリアルタイムに動作させるために充分な
速度が得られるであろう。類似度は手続きに従って算出
されるであろう。個別データ用スロットは、リアルタイ
ム機能を表すために限定的な時間依存性を持つ。
されるであろう。その形式によって、妥当な大きさのケ
ース用メモリをリアルタイムに動作させるために充分な
速度が得られるであろう。類似度は手続きに従って算出
されるであろう。個別データ用スロットは、リアルタイ
ム機能を表すために限定的な時間依存性を持つ。
【0280】図39は知識源のケース用メモリの説明図
を示す。複数個の変数variで構成されるケース毎に、類
似度測定対策が算出される。プロトタイプでは四個の関
数fが与えられるが、それらは等値、比較小、比較大、
曲線上の対応点である。この最後の関数は、図40に示
すように、時間曲線上の選択点を現在の履歴点とマッチ
させる機能を発揮する。
を示す。複数個の変数variで構成されるケース毎に、類
似度測定対策が算出される。プロトタイプでは四個の関
数fが与えられるが、それらは等値、比較小、比較大、
曲線上の対応点である。この最後の関数は、図40に示
すように、時間曲線上の選択点を現在の履歴点とマッチ
させる機能を発揮する。
【0281】本発明のケースベースアプローチは、次の
考え方に基づくものである。すなわち、或る過去の格が
複数の時点に関する1個のパターンと、それらの過去の
時点を用いて得られた1個の最終結果を含む場合であっ
て、しかもそのパターン、または時間と大きさの点でそ
れと類似したパターンと再度遭遇することがあれば、そ
の同一の結果は真であると推論されるという考え方であ
る。先行技術では、大きさをスコアする方式だけが使用
されたが、その中で、類似度の比較結果は、大きさの尺
度だけで判定され、時間の尺度で判定されることはなか
った。本発明によって、類似度の比較結果を、大きさの
尺度だけではなく時間の尺度でも判定する方式が得られ
る。その方式を以下に説明する。
考え方に基づくものである。すなわち、或る過去の格が
複数の時点に関する1個のパターンと、それらの過去の
時点を用いて得られた1個の最終結果を含む場合であっ
て、しかもそのパターン、または時間と大きさの点でそ
れと類似したパターンと再度遭遇することがあれば、そ
の同一の結果は真であると推論されるという考え方であ
る。先行技術では、大きさをスコアする方式だけが使用
されたが、その中で、類似度の比較結果は、大きさの尺
度だけで判定され、時間の尺度で判定されることはなか
った。本発明によって、類似度の比較結果を、大きさの
尺度だけではなく時間の尺度でも判定する方式が得られ
る。その方式を以下に説明する。
【0282】ケースベース内の一つのケースの部分とし
て具体的に示された数値データの各値は、それで連想づ
けられる追加情報を有する。その情報によって、前記ケ
ースをスコアする際に前記データ値がどのように使われ
るかが明らかにされる。各データ値は、それぞれ黒板内
の特定オブジェクト/属性で連想づけられる。それによ
って、前記ケースベーススコア部は、前記黒板のどこか
ら前記データを取り出すべきかを知らされる。1個のス
コア関数(FEQ、FLT、またはFGT)が、前記ケ
ースベーススコア部に、どのようにしてライブデータを
前記データ値と比較すれば良いかを知らせる。ライブデ
ータとは、動作時に前記ケースベースがファイヤー(f
ired)される際に、前記黒板から取り出されるデー
タのことである。デルタ−タイムズが指定されている場
合は、単一のオブジェクト/属性で2個以上のデータ値
が連想づけられる場合があることに留意されたい。デル
タ−タイムズは、前記数値データ値を黒板内に記憶させ
てある最新値と比較せず、一つの古い値と比較するよう
に指定する。単一のオブジェクト/属性で複数の数値デ
ータ値が連想づけられている場合は、最初の1個を除い
た各数値データがそれぞれ一つのデルタ−タイムを指定
しなければならない。それによって、前記スコア部は、
前記ライフデータのセット中の最新の値から何秒分遡っ
て探せば、その特定の数値データ値をスコアするための
使用値が見つかるか、ということを知らされる。
て具体的に示された数値データの各値は、それで連想づ
けられる追加情報を有する。その情報によって、前記ケ
ースをスコアする際に前記データ値がどのように使われ
るかが明らかにされる。各データ値は、それぞれ黒板内
の特定オブジェクト/属性で連想づけられる。それによ
って、前記ケースベーススコア部は、前記黒板のどこか
ら前記データを取り出すべきかを知らされる。1個のス
コア関数(FEQ、FLT、またはFGT)が、前記ケ
ースベーススコア部に、どのようにしてライブデータを
前記データ値と比較すれば良いかを知らせる。ライブデ
ータとは、動作時に前記ケースベースがファイヤー(f
ired)される際に、前記黒板から取り出されるデー
タのことである。デルタ−タイムズが指定されている場
合は、単一のオブジェクト/属性で2個以上のデータ値
が連想づけられる場合があることに留意されたい。デル
タ−タイムズは、前記数値データ値を黒板内に記憶させ
てある最新値と比較せず、一つの古い値と比較するよう
に指定する。単一のオブジェクト/属性で複数の数値デ
ータ値が連想づけられている場合は、最初の1個を除い
た各数値データがそれぞれ一つのデルタ−タイムを指定
しなければならない。それによって、前記スコア部は、
前記ライフデータのセット中の最新の値から何秒分遡っ
て探せば、その特定の数値データ値をスコアするための
使用値が見つかるか、ということを知らされる。
【0283】時間−大きさ型スコア法の特徴を説明する
前に、ドメインシェル内のタイムスタンプの使用につい
て説明しなければならないが、それはタイムスタンプの
使用がケースベーススコアに関連しているからである。
前記黒板内の各データポイントは、1個のタイムスタン
プを有し、前記データ値が測定された時間、または記録
された時間を示すものである。前記ケースベース知識源
は、このタイムスタンプを使用して、前記ケース内の所
定ポイントを比較するために、前記黒板から取り出され
た値のセット中の、どの値を用いるかを判定する。タイ
ムスタンプは、一つの特定オブジェクト/属性に対する
複数の値が前記ケースの部分である(デルタ−タイムズ
が指定されている)場合に限って、意味を持つ。一つの
特定オブジェクト/属性に対して数値データが1個だけ
しか指定されていない場合は、黒板内に記憶させてある
最新の値が、自動的にスコアに使用される。
前に、ドメインシェル内のタイムスタンプの使用につい
て説明しなければならないが、それはタイムスタンプの
使用がケースベーススコアに関連しているからである。
前記黒板内の各データポイントは、1個のタイムスタン
プを有し、前記データ値が測定された時間、または記録
された時間を示すものである。前記ケースベース知識源
は、このタイムスタンプを使用して、前記ケース内の所
定ポイントを比較するために、前記黒板から取り出され
た値のセット中の、どの値を用いるかを判定する。タイ
ムスタンプは、一つの特定オブジェクト/属性に対する
複数の値が前記ケースの部分である(デルタ−タイムズ
が指定されている)場合に限って、意味を持つ。一つの
特定オブジェクト/属性に対して数値データが1個だけ
しか指定されていない場合は、黒板内に記憶させてある
最新の値が、自動的にスコアに使用される。
【0284】ライブデータセットのいずれのポイントに
ついても、そのセットの最新値のタイムスタンプとその
ポイント自体のタイムスタンプとの間の経過時間の差
が、デルタータイムの決定に使用される。例えば、次の
ように想定して貰いたい、特定オブジェクト/属性に対
して、最新値のタイムスタンプが1992NOV1110:0030であ
り、それより古い一つのデータ値のタイムスタンプが19
92NOV1109:58:30 であるとする。この場合、対応するデ
ルタ−タイムは120秒である。
ついても、そのセットの最新値のタイムスタンプとその
ポイント自体のタイムスタンプとの間の経過時間の差
が、デルタータイムの決定に使用される。例えば、次の
ように想定して貰いたい、特定オブジェクト/属性に対
して、最新値のタイムスタンプが1992NOV1110:0030であ
り、それより古い一つのデータ値のタイムスタンプが19
92NOV1109:58:30 であるとする。この場合、対応するデ
ルタ−タイムは120秒である。
【0285】アプリケーション開発者は、一つの特定オ
ブジェクト/属性に対する値(複数)の履歴が黒板内に
保有されるように、指定することができる。1個のケー
スベースが一つの特定オブジェクト/属性に対して複数
のデルタ−タイムを使用する場合には、前記黒板は受け
取る値について、少なくともその長さに相当する履歴を
記憶していなければならない、そうしなければケースの
スコアを行うことができな。例えば、1個のケースベー
ス内の一つの特定値に対して最長デルタ−タイム100
0秒が指定されている場合は、充分な量のデータを保有
するための黒板の履歴長は少なくとも1000秒なけれ
ばならない。たとえその長さがあるとしても、スコアが
行えるのは次の場合に限られる、すなわち前記ケースベ
ースが始動された時、そのオブジェクト/属性に関し
て、前記黒板内に少なくとも1000秒相当分のデータ
が記憶されている場合である。
ブジェクト/属性に対する値(複数)の履歴が黒板内に
保有されるように、指定することができる。1個のケー
スベースが一つの特定オブジェクト/属性に対して複数
のデルタ−タイムを使用する場合には、前記黒板は受け
取る値について、少なくともその長さに相当する履歴を
記憶していなければならない、そうしなければケースの
スコアを行うことができな。例えば、1個のケースベー
ス内の一つの特定値に対して最長デルタ−タイム100
0秒が指定されている場合は、充分な量のデータを保有
するための黒板の履歴長は少なくとも1000秒なけれ
ばならない。たとえその長さがあるとしても、スコアが
行えるのは次の場合に限られる、すなわち前記ケースベ
ースが始動された時、そのオブジェクト/属性に関し
て、前記黒板内に少なくとも1000秒相当分のデータ
が記憶されている場合である。
【0286】大きさスコア法を使用する場合、一つのラ
イブデータオブジェクト/属性値は、その値のタイムス
タンプによって示される時間から、前記黒板に記憶され
ている、その次の新しい値のタイムスタンプによって示
される時間まで有効であると仮定される。それ故、ケー
スに対して大きさスコア法を使用する時、黒板で受信さ
れたデータであって、最新のタイムスタンプを起点とし
て比較的小さなデルタ−タイム期間に対応するタイムス
タンプを持つものは、たとえそのライブデータ値が時間
軸上で、実際に使用されたライブデータ値より、前記ケ
ースベース値にずっと近くても、スコアに使用されるこ
とはない。次に示すものは一つの数値例である。60秒
というデルタ−タイムを持つケースデータポイントを考
えて貰いたい。黒板は、その最新値のタイムスタンプの
1000秒前のタイムスタンプを持つデータポイント、
および最新タイムスタンプの59秒前のタイムスタンプ
持つデータポイント含んでいると仮定する。最後に述べ
たポイントは、指定されたデルタ−タイムと1秒しか違
わないけれども、それよりずっと古い1000秒前の値
がスコアに用いられる。
イブデータオブジェクト/属性値は、その値のタイムス
タンプによって示される時間から、前記黒板に記憶され
ている、その次の新しい値のタイムスタンプによって示
される時間まで有効であると仮定される。それ故、ケー
スに対して大きさスコア法を使用する時、黒板で受信さ
れたデータであって、最新のタイムスタンプを起点とし
て比較的小さなデルタ−タイム期間に対応するタイムス
タンプを持つものは、たとえそのライブデータ値が時間
軸上で、実際に使用されたライブデータ値より、前記ケ
ースベース値にずっと近くても、スコアに使用されるこ
とはない。次に示すものは一つの数値例である。60秒
というデルタ−タイムを持つケースデータポイントを考
えて貰いたい。黒板は、その最新値のタイムスタンプの
1000秒前のタイムスタンプを持つデータポイント、
および最新タイムスタンプの59秒前のタイムスタンプ
持つデータポイント含んでいると仮定する。最後に述べ
たポイントは、指定されたデルタ−タイムと1秒しか違
わないけれども、それよりずっと古い1000秒前の値
がスコアに用いられる。
【0287】時間−大きさスコア法が使用されるとき
は、ケースベース内で一つのケースの内部の各数値デー
タ値ごとに、二つの時間間隔が指定される。それらの時
間間隔によって、各目的デルタ−タイムの前後の時間幅
が決まるが、その範囲内で前記ケースベーススコア部
が、黒板から取り出されたライブデータの中のデータ値
を探すことになる。換言すれば、各ポイントごとにデル
タ−タイム値の周りに1個のタイムウインドウが作られ
る。ライブデータが調べられる時、三つの可能性が存在
する。
は、ケースベース内で一つのケースの内部の各数値デー
タ値ごとに、二つの時間間隔が指定される。それらの時
間間隔によって、各目的デルタ−タイムの前後の時間幅
が決まるが、その範囲内で前記ケースベーススコア部
が、黒板から取り出されたライブデータの中のデータ値
を探すことになる。換言すれば、各ポイントごとにデル
タ−タイム値の周りに1個のタイムウインドウが作られ
る。ライブデータが調べられる時、三つの可能性が存在
する。
【0288】1.タイムウインドウ内に値が見つからな
かった。この場合は、スコア部が、比較のために使用す
るライブデータ値を得るために、時間的にさらに遡るこ
とになる。換言すれば、その特定数値データ値に対する
スコアは、大きさスコア法の場合と同様に行われること
になる。
かった。この場合は、スコア部が、比較のために使用す
るライブデータ値を得るために、時間的にさらに遡るこ
とになる。換言すれば、その特定数値データ値に対する
スコアは、大きさスコア法の場合と同様に行われること
になる。
【0289】2.前記タイムウインドウ内部で1個の値
が見つかった。この場合は、その値が比較のために使用
される。
が見つかった。この場合は、その値が比較のために使用
される。
【0290】3.タイムウインドウの内部に複数の値が
ある。比較のために使用されるライブデータ値は、その
数値データで連想づけられるスコア法の種類によって決
まる。FEQスコア法の場合は、そのタイムウインドウ
内のライブデータ値であって、大きさが当該ケースの数
値データ値に最も近いものが使用される。FLTスコア
法の場合は、タイムウインドウ内で最小のライブデータ
値が使用される。FGTスコア法の場合は、タイムウイ
ンドウ内で最大のライブデータ値が使用される。それら
3種類のスコア法(FEQ、FLT、およびFGT)の
各々に対して、これが楽観的または最良ケースのデータ
ポイント選択法になる。代案になる一つの選択モードを
使用することができる。それは、悲観的または最悪ケー
スの選択法である。FEQのスコア法の場合は、それ
は、タイムウインドウ内のライブデータ値であって、大
きさが当該ケースの数値データ値と最も大きく違うもの
が使用される。FLTスコア法の場合は、タイムウイン
ドウ内で最大のライブデータ値が使用される。FGTス
コア法の場合は、タイムウインドウ内で最小のライブデ
ータ値が使用される。
ある。比較のために使用されるライブデータ値は、その
数値データで連想づけられるスコア法の種類によって決
まる。FEQスコア法の場合は、そのタイムウインドウ
内のライブデータ値であって、大きさが当該ケースの数
値データ値に最も近いものが使用される。FLTスコア
法の場合は、タイムウインドウ内で最小のライブデータ
値が使用される。FGTスコア法の場合は、タイムウイ
ンドウ内で最大のライブデータ値が使用される。それら
3種類のスコア法(FEQ、FLT、およびFGT)の
各々に対して、これが楽観的または最良ケースのデータ
ポイント選択法になる。代案になる一つの選択モードを
使用することができる。それは、悲観的または最悪ケー
スの選択法である。FEQのスコア法の場合は、それ
は、タイムウインドウ内のライブデータ値であって、大
きさが当該ケースの数値データ値と最も大きく違うもの
が使用される。FLTスコア法の場合は、タイムウイン
ドウ内で最大のライブデータ値が使用される。FGTス
コア法の場合は、タイムウインドウ内で最小のライブデ
ータ値が使用される。
【0291】一旦ライブデータから適切なデータ値が選
ばれた後は、大きさスコア法の場合と同じ方法でスコア
が進められる。
ばれた後は、大きさスコア法の場合と同じ方法でスコア
が進められる。
【0292】時間−大きさスコア法は、データの到来時
間がはっきりしない場合に、ケースベースのスコアに役
立つ、なぜなら、それによって開発者が、スコア部に対
して名目的デルタータイムの周りの展望をどの程度に対
称的にするべきかを、教えることが可能になるからであ
る。大きさスコア法の場合は、その展望は固定され、非
対称的である、なぜなら開発者はそれを変えることがで
きないし、しかもその方法では、同じ時間かあるいは指
定されたデルタ−タイムより古い時間を持つデータだけ
を調べるからである。
間がはっきりしない場合に、ケースベースのスコアに役
立つ、なぜなら、それによって開発者が、スコア部に対
して名目的デルタータイムの周りの展望をどの程度に対
称的にするべきかを、教えることが可能になるからであ
る。大きさスコア法の場合は、その展望は固定され、非
対称的である、なぜなら開発者はそれを変えることがで
きないし、しかもその方法では、同じ時間かあるいは指
定されたデルタ−タイムより古い時間を持つデータだけ
を調べるからである。
【0293】時間−大きさスコア法は、ケースベースス
コア部が、ケースデータ値に近いライブデータ値のセッ
トの中から比較用の最良値を選べるようにするためにも
役立つ。それによって、大量のデータを用いるアプリケ
ーションのケース整合能力が高められる。大きさスコア
法の場合は、同じ時間か、あるいはデルタ−タイムより
僅かに古い時間を持ち、大きさが最も近い単一値だけが
使用される。しかし、各データポイントのタイムウイン
ドウを広くとり過ぎた場合は、動作時の性能が損なわれ
る、なぜならスコア部が各数値データ値を用いてスコア
するために、高い可能性を持つ候補として多数のポイン
トを検討しなければならなくなるからである。
コア部が、ケースデータ値に近いライブデータ値のセッ
トの中から比較用の最良値を選べるようにするためにも
役立つ。それによって、大量のデータを用いるアプリケ
ーションのケース整合能力が高められる。大きさスコア
法の場合は、同じ時間か、あるいはデルタ−タイムより
僅かに古い時間を持ち、大きさが最も近い単一値だけが
使用される。しかし、各データポイントのタイムウイン
ドウを広くとり過ぎた場合は、動作時の性能が損なわれ
る、なぜならスコア部が各数値データ値を用いてスコア
するために、高い可能性を持つ候補として多数のポイン
トを検討しなければならなくなるからである。
【0294】時間−大きさスコア法のもう一つの特徴
は、各数値データポイントに、種々のタイムウインドウ
を連想づけることが可能な点である。それによって、特
定のドメイン内部の性能向上を達成するためのケース整
合アルゴリズムの微調整が可能になる。
は、各数値データポイントに、種々のタイムウインドウ
を連想づけることが可能な点である。それによって、特
定のドメイン内部の性能向上を達成するためのケース整
合アルゴリズムの微調整が可能になる。
【0295】ここでは、本発明の限られた数の実施例を
説明してきたが、ここに至れば、添付する特許請求範囲
によって定義される本発明の範囲に含まれるものが、本
発明の実施例または修正例として他にも数多く考えられ
ることは、当業者にとって明白なはずである。
説明してきたが、ここに至れば、添付する特許請求範囲
によって定義される本発明の範囲に含まれるものが、本
発明の実施例または修正例として他にも数多く考えられ
ることは、当業者にとって明白なはずである。
【図1】本発明の全システム環境のブロック線図であ
る。
る。
【図2】図1の全システム環境のブロック線図の詳細を
示す図である。
示す図である。
【図3】黒板アーキテクチャのブロック線図である。
【図4】全システムのブロック線図である。
【図5】黒板データ構造のブロック線図である。
【図6】黒板用の値のタイプコードリストを示す説明図
である。
である。
【図7】事象検知データ構造のブロック線図である。
【図8】事象検知ソフトウェアの論理表を表す説明図で
ある。
ある。
【図9】活性化/アジェンダマネージャ論理フローリス
トを表す説明図である。
トを表す説明図である。
【図10】ルールネットワーク例の図である。
【図11】ルールベースのノード構造図である。
【図12】ルール構造図である。
【図13】ルール構造図である。
【図14】ルールベースの知識源論理フローリストを表
す説明図である。
す説明図である。
【図15】条件をルール信念と結合するための公式リス
トを表す説明図である。
トを表す説明図である。
【図16】ケースベースの知識源データ構造図である。
【図17】入力データ構造図である。
【図18】ユーザインタフェイスソフトウェアの論理フ
ローリストを表わす説明図である。
ローリストを表わす説明図である。
【図19】詳細システムのブロック線図である。
【図20】データメッセージタイプコードリストを表す
説明図である。
説明図である。
【図21】制御メッセージタイプコードリストを表す説
明図である。
明図である。
【図22】メッセージタイプコードリストを表す説明図
である。
である。
【図23】特定メッセージフォーマットリストを表す説
明図である。
明図である。
【図24】特定メッセージフォーマットリストを表す説
明図である。
明図である。
【図25】特定メッセージフォーマットリストを表す説
明図である。
明図である。
【図26】特定メッセージフォーマットリストを表す説
明図である。
明図である。
【図27】システムファイルフォーマットリストを表す
説明図である。
説明図である。
【図28】黒板・構造記述子ファイルフォーマットリス
トを表す説明図である。
トを表す説明図である。
【図29】ルールベースの記述子ファイルフォーマット
リストを表す説明図である。
リストを表す説明図である。
【図30】ルールベースの記述子ファイルフォーマット
リストを表す説明図である。
リストを表す説明図である。
【図31】ルールベースの記述子ファイルフォーマット
リストを表す説明図である。
リストを表す説明図である。
【図32】ケースベースの記述子ファイルフォーマット
リストを表す説明図である。
リストを表す説明図である。
【図33】ケースベースの記述子ファイルフォーマット
リストを表す説明図である。
リストを表す説明図である。
【図34】入力データファイルフォーマットリストを表
す説明図である。
す説明図である。
【図35】ログファイルフォーマットリストを表す説明
図である。
図である。
【図36】診断ファイルフォーマットリストを表す説明
図である。
図である。
【図37】黒板・ステータスファイルフォーマットリス
トを表す説明図である。
トを表す説明図である。
【図38】ケースベース推論・プロセスのフローチャー
トである。
トである。
【図39】ケースベースの診断表を表す説明図である。
【図40】モデルベース推論の単純例の図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート ダブリュー トンプソン ジュ ニア アメリカ合衆国 ペンシルバニア州 ピッ ツブルフ #507 ペン センター ブー ルバード 800 (72)発明者 ダグラス エイ バウマン アメリカ合衆国 ペンシルバニア州 アポ ロ ズーバルロード 809
Claims (45)
- 【請求項1】 プラント運転シミュレーション用の人工
知能ソフトウェアシェルであって、工場の構成要素と概
念とを表すオブジェクトを持つデータベースを備えた黒
板モジュールと、黒板モジュールとコミュニケーション
して、予め特定された黒板対象上で動作する時間強度を
計る人工知能動作スキムを含むケースベース知識モジュ
ールと、黒板モジュールおよび少なくとも1つの知識源
モジュールとコミュニケーションして、シェルにデータ
のインプットを許可する入力データモジュールと、前記
黒板モジュールならびに少なくとも一つの知識源と交信
しながら、入力データを受信し、少なくとも一つの知識
源の動作を制御する制御モジュールと、を含むことを特
徴とするプラント運転のための人工知能ソフトウェアシ
ェル。 - 【請求項2】 請求項1に記載のソフトウェアシェルで
あって、前記制御モジュールが、前記ユーザーインター
フェイスモジュールと交信しながら、すべての入力デー
タを受信すると共にケースベース知識源モジュールの動
作時期を決定する事象検知部モジュールと、少なくとも
一つの知識源モジュールならびに前記事象検知部モジュ
ールと交信しながら、予め定められた知識源優先スキム
に従い、知識源モジュールを実行させる活性化/アジェ
ンダマネージャモジュールと、を含むことを特徴とする
ソフトウェアシェル。 - 【請求項3】 請求項2に記載のソフトウェアシェルで
あって、信念のレベルについてのイフゼン形式のルール
を含む前方連鎖信念伝搬スキムを持つルールベース知識
源モジュールをさらに有することを特徴とするソフトウ
ェアシェル。 - 【請求項4】 請求項2に記載のソフトウェアシェルで
あって、ケースベース知識源モジュールは、ケースベー
ス知識源がその上で実行する予め定められたパターンお
よび条件含むスキムであって、この条件は受信データお
よびパターンに所定レベル以上の近似性がある場合に真
と推定されるデータ比較スキムをさらに含むことを特徴
とするソフトウェアシェル - 【請求項5】 請求項3に記載のソフトウェアシェルで
あって、ケースベース知識源モジュールは、ケースベー
ス知識源がその上で実行する予め定められたパターンお
よび条件含むスキムであって、この条件は受信データお
よびパターンに所定レベル以上の近似性がある場合に真
と推定されるデータ比較スキムをさらに含むことを特徴
とするスフトウェアシェル。 - 【請求項6】 請求項2または3に記載のソフトウェア
シェルであって、 上記データ比較スキムは、ケースベース知識源でのデー
タの強度およびタイミングの両方を比較することを特徴
とするソフトウェアシェル。 - 【請求項7】 請求項6に記載のソフトウェアシェルで
あって、その中で前記黒板モジュールのデータベース
が、垂直階層間接続群と水平リンク群を持つオブジェク
ト階層構造を一つ含むことを特徴とする前記ソフトウェ
アシェル。 - 【請求項8】 請求項7に記載のソフトウェアシェルで
あって、その中で黒板のオブジェクトの各々が属性を持
ち、しかも各属性が少なくとも一つの値と、ハッシュテ
ーブルを含むデータベースと、前記オブジェクトをそれ
らに対応する属性及び値と結合するための複数のポイン
タと、を有することを特徴とする前記ソフトウェアシェ
ル。 - 【請求項9】 請求項4に記載のソフトウェアシェルで
あって、その中で黒板モジュールのデータベースが、垂
直階層間接続群と水平リンク群を持つオブジェクトの階
層構造を含むことを特徴とする前記ソフトウェアシェ
ル。 - 【請求項10】 請求項9に記載のソフトウェアシェル
であって、その中で黒板オブジェクトの各々が属性を持
ち、しかも各属性が、少なくとも一つの値と、ハッシュ
テーブルを含むデータベースと、前記オブジェクトをそ
れらに対応する属性、及び値と結合するための複数のポ
インタと、を有することを特徴とする前記ソフトウェア
シェル。 - 【請求項11】 請求項7に記載のソフトウェアシェル
であって、その中で前記垂直階層間接続がIS-A階層間接
続とPART-OF 階層間接続を含むことを特徴とする前記ソ
フトウェアシェル。 - 【請求項12】 請求項9に記載のソフトウェアシェル
であって、その中で前記垂直階層間接続がIS-A階層間接
続とPART-OF 階層間接続を含むことを特徴とする前記ソ
フトウェアシェル。 - 【請求項13】 請求項2に記載されたソフトウェアシ
ェルであって、その中で前記活性化/アジェンダマネー
ジャモジュールが知識源の実行動作に割り込みをかけ
て、前記知識源優先スキムに従いその知識源より優先順
位の高い知識源を実行させる機構を含むことを特徴とす
る前記ソフトウェアシェル。 - 【請求項14】 請求項13に記載のソフトウェアシェ
ルであって、その中で前記活性化アジェンダマネージャ
モジュールが割り込みをかけられた知識源の実行を再開
させるべきかどうかを判定するための機構を含むことを
特徴とする前記ソフトウェアシェル。 - 【請求項15】 請求項2に記載のソフトウェアシェル
であって、その中で前記事象検知部モジュールがデータ
が受信されたとき、受信データ上で動作する知識源が実
行可能かどうかだけがチェックされるようなアルゴリズ
ムを有するデータ構造を含むことを特徴とする前記ソフ
トウェアシェル。 - 【請求項16】 請求項3に記載のソフトウェアシェル
であって、さらに、オブジェクトの名称及びオブジェク
トの属性/値の対を含む黒板構造記述ファイルと、前記
ルールベース知識源を形成するルールならびに前記ルー
ルベース知識源実行のための前提条件の記述を含むルー
ルベース記述ファイル、前記ケースベース知識源を形成
するケースならびに前記ケースベース知識源実行のため
の前提条件の記述を含むケースベース記述ファイルと、
連続的診断サイクルの入力データをシミュレートするデ
ータの複数の組とそれに対応する時間の表示記号を持つ
リンクされたリストを含む入力データファイルと、を含
み、 その中で前記黒板構造記述ファイル、前記ルールベース
記述ファイル、ケースベース記述ファイル及び前記入力
データファイルはユーザによって作成されることを特徴
とする前記ソフトウェアシェル。 - 【請求項17】 請求項16に記載のソフトウェアシェ
ルであって、さらに、各入力データファイルサイクルが
完了するたびに前記シェルによって作成される診断ファ
イルであって、前記ルールベース知識源によって作られ
る診断内容と、前記ケースベース知識源によって見出さ
れたケースの整合を含む診断ファイルと、前記シェルに
よって作成される黒板状態ファイルであって、各入力デ
ータファイルサイクルの完了後に、何らかの知識源によ
って修正される黒板情報を含む黒板状態ファイルと、を
有することを特徴とする前記ソフトウェアシェル。 - 【請求項18】 請求項4に記載のソフトウェアシェル
であって、ケースベース知識源モジュールは、すでに出
たデータを含む記憶ケースと、記憶ケース中のデータと
の近似性によって現在のデータのランク付けを行う近似
機能と、をさらに含むことを特徴とするソフトウェアシ
ェル。 - 【請求項19】 請求項18に記載のソフトウェアシェ
ルであって、ケースベース知識源は、列および行を有す
るテーブルと、テーブルの行中に記憶され、少なくとも
1つの変数を含む複数のケースフレームと、テーブルの
列中に記憶され、少なくとも1つの変数を含む複数のケ
ースと、 をさらに含むことを特徴とするソフトウェアシェル。 - 【請求項20】 請求項19に記載のソフトウェアシェ
ルであって、ケースベース知識源モジュールは、各変数
に関連付けられ、テーブル中に記憶された時間値をさら
に含むことを特徴とするソフトウェアシェル。 - 【請求項21】 請求項20に記載のソフトウェアシェ
ルであって、時間−強度スコアリングスキムは、予め特
定されたデータ比較が行われる時間のウィンドウを含む
ことを特徴とする前記ソフトウェアシェル。 - 【請求項22】 プラント運転シミュレーション用の人
工知能ソフトウェアのシェルであって、プラントの構成
要素と概念を表すオブジェクトを記憶させる手段と、記
憶手段と交信して、特定の予め定められたオブジェクト
上で動作する時間強度スコアリング人工知能動作スキム
と、記憶手段およびケースベース知識源モジュールと交
信してデータをシェルに入力可能とするイネーブル手段
と、上記イネーブル手段およびケースベース知識源モジ
ュールと交信してすべての入力データを受信すると共に
ケースベース知識源モジュールの動作を制御する手段
と、を含むことを特徴とする人工知能ソフトウェアシェ
ル。 - 【請求項23】 請求項22に記載されたソフトウェア
シェルであって、その中でデータを受信して制御する手
段が、イネーブル手段と交信しながら、少なくとも一つ
の知識源モジュールを実行させるべき時期を判定するた
めの手段と、少なくとも一つの知識源モジュール及び前
記判定手段と交信しながら、予め定められた知識源の優
先スキムに従い、少なくとも一つの知識源を実行させる
ための手段と、を有することを特徴とする前記ソフトウ
ェアシェル。 - 【請求項24】 請求項23に記載のソフトウェアシェ
ルであって、その中で少なくとも一つの知識源モジュー
ルが、連想づけられた信念のレベルを用いたif then el
se形式のルールを含む前向き連鎖信念伝播スキムを持つ
ルールベース知識源モジュールを含むことを特徴とする
ソフトウェアシェル。 - 【請求項25】 請求項24に記載のソフトウェアシェ
ルであって、前記記憶手段が垂直階層間接続群と水平リ
ンク群とを持つオブジェクトの階層構造を備えるデータ
ベースを含むことを特徴とする前記ソフトウェアシェ
ル。 - 【請求項26】 請求項25に記載のソフトウェアシェ
ルであって、各オブジェクトは属性を持ち、しかも各属
性が少なくとも一つの値と、ハッシュテーブルを含むデ
ータベースと、前記オブジェクトをそれらに対応する属
性及び値と結合するための複数のポインタと、を有する
ことを特徴とする前記ソフトウェアシェル。 - 【請求項27】 請求項26に記載のソフトウェアシェ
ルであって、知識源優先度スキムにしたがって、低い優
先度の知識源の実行を中断し、高い優先度の知識源の実
行する実行手段を含むことを特徴とするソフトウェアシ
ェル。 - 【請求項28】 請求項27に記載のソフトウェアシェ
ルであって、 決定手段は、入力データを受信し、何時知識源実行プレ
コンディションが合致するかを検出し、単に知識源の実
行プリコンディションが実行可能性に合致するかをチェ
ックする手段を含むことを特徴とするソフトウェアシェ
ル。 - 【請求項29】 請求項28に記載のソフトウェアシェ
ルであって、さらに、オブジェクトの名称及びオブジェ
クトの属性/値の対を含む、黒板構造記述ファイルと、
前記ルールベース知識源を形成するルールならびに前記
ルールベース知識源実行のための前提条件の記述を含む
ルールベース記述用ファイルと、前記ケースベース知識
源を形成するケースならびに前記ケースベース知識源実
行のための前提条件の記述を含む、一つのケースベース
記述用ファイルと、実行時診断サイクルの入力データを
シミュレートするデータの複数の組とそれに対応する時
間の常時記号を持つリンクされたリストを含む入力デー
タファイルと、を含み、ただしその中で前記黒板構造記
述ファイル、前記ルールベース記述ファイル及び前記入
力データファイルはユーザーによって作成されることを
特徴とする前記ソフトウェアシェル。 - 【請求項30】 請求項29に記載のソフトウェアシェ
ルであって、さらに、各入力データファイル作成サイク
ルが完了するたびに前記シェルによって作成される診断
ファイルであって、前記ルールベース知識源によって作
られる診断と、前記ケースベース知識源によって見出さ
れたケースの整合を含む診断ファイルと、前記シェルに
よって作成される黒板状態ファイルであって、ケースの
入力データファイル作成サイクルの完了後に何らかの知
識源によって修正される黒板情報を含む黒板情報ファイ
ルと、を有することを特徴とする前記ソフトウェアシェ
ル。 - 【請求項31】 請求項30に記載のソフトウェアシェ
ルであって、さらに相互接続のためのストリームソケッ
トを含み、そのソケットが一対の要求−応答の形式にな
っているメッセージの通信を行うことを特徴とする前記
ソフトウェアシェル。 - 【請求項32】 請求項22に記載のソフトウェアシェ
ルであって、ケースベース知識源モジュールは、ケース
ベース知識源がその上で実行する予め定められたパター
ンおよび条件含むスキムであって、この条件は受信デー
タおよびパターンに所定レベル以上の近似性がある場合
に真と推定されるデータ比較スキムをさらに含むことを
特徴とするソフトウェアスキム。 - 【請求項33】 請求項32に記載のソフトウェアシェ
ルであって、 上記データ比較スキムは、ケースベース知識源でのデー
タの強度およびタイミングの両方を比較することを特徴
とするソフトウェアシェル。 - 【請求項34】 請求項33に記載のソフトウェアのシ
ェルであって、ケースベース知識源モジュールは、すで
に出たデータを含む記憶ケースと、記憶ケース中のデー
タとの近似性によって現在のデータのランク付けを行う
近似機能と、 をさらに含むことを特徴とするソフトウェアシェル。 - 【請求項35】 請求項34に記載のソフトウェアシェ
ルであって、ケースベース知識源は、列および行を有す
るテーブルと、テーブルの行中に記憶され、少なくとも
1つの変数を含む複数のケースフレームと、テーブルの
列中に記憶され、少なくとも1つの変数を含む複数のケ
ースと、 をさらに含むことを特徴とするソフトウェアシェル。 - 【請求項36】 請求項35に記載のソフトウェアシェ
ルであって、ケースベース知識源モジュールは、書く変
数に関連付けられ、テーブル中に記憶された時間値をさ
らに含むことを特徴とするソフトウェアシェル。 - 【請求項37】 請求項36に記載のソフトウェアシェ
ルであって、時間−強度スコアリングスキムは、予め特
定されたデータ比較が行われる時間のウィンドウを含む
ことを特徴とする前記ソフトウェアシェル。 - 【請求項38】 人工知能のソフトウェアのシェルを用
いてプラント運転のシミュレーションを行う方法であっ
て、プラントの各種構成要素と概念とを表すオブジェク
トをデータベースに格納するステップと、入力データ源
から入力データを読み取るステップと、所定の知識源優
先度スキムにしたがって、入力データから、何時少なく
とも1つのケースベース人工知能知識源が実行すべきか
を決定するステップと、決定結果にしたがって、少なく
とも1つのケースベース知識源を所定のオブジェクトに
対し実行させるステップと、を含むことを特徴とする方
法。 - 【請求項39】 請求項38に記載の方法であって、そ
の中で知識源を実行させる前記ステップがオブジェクト
の値を更新するステップを含むことを特徴とする方法。 - 【請求項40】 請求項38に記載方法であって、その
中で知識源を実行させる前記ステップがさらに次のステ
ップ、すなわち、連想づけられた信念のレベルを用いて
if-then-else形式のルールを含む前向き連鎖信念伝播ス
キムを持つルールベースの知識源を実行させるステップ
と、予め定義されたパターンと条件を含むデータ比較ス
キムを持つケースベース知識源を実行するステップと、
を含むことを特徴とする方法。 - 【請求項41】 請求項40に記載の方法であって、そ
の中でケースベース知識源を実行させる前記ステップ
が、受け取られたデータと前記パターンとの間で所定の
一定レベルの近似度性が見出される場合に、前記条件が
真であると推論するステップを含むことを特徴とする方
法。 - 【請求項42】 請求項38または41に記載の方法で
あって、決定ステップは、受信データとケース内にすで
に記憶されているデータについて時間および強度の両方
における近似性を比較するステップを含むことを特徴と
する方法。 - 【請求項43】 請求項42に記載の方法であって、記
憶ステップは、オブジェクト、属性および値を記憶する
ステップを含み、各オブジェクトは属性を持ち、各属性
は少なくとも1つの値を持つことを特徴とする方法。 - 【請求項44】 請求項43に記載の方法であって、知
識源を実行させるステップは、知識源優先度スキムにし
たがって、低い優先度の知識源の実行を中断し、高い優
先度の知識源を実行させるステップを含むことを特徴と
する方法。 - 【請求項45】 請求項44に記載の方法であって、 決定ステップは、何時知識源実行プレコンディションが
合致するかを検出し、単に知識源の実行プリコンディシ
ョンが実行可能性に合致するかをチェックするステップ
を含むことを特徴とする方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/994,664 US5402524A (en) | 1992-12-22 | 1992-12-22 | Case-based knowledge source for artificial intelligence software shell |
| US994,664 | 1992-12-22 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06214615A true JPH06214615A (ja) | 1994-08-05 |
Family
ID=25540904
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5323519A Pending JPH06214615A (ja) | 1992-12-22 | 1993-12-22 | 人工知能ソフトウェアシェルのためのケースベース知識源 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5402524A (ja) |
| JP (1) | JPH06214615A (ja) |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546526A (en) * | 1993-12-10 | 1996-08-13 | International Business Machines Corporation | Reconfiguration of database by interactive manipulation of icons |
| EP0667586A3 (en) * | 1994-02-14 | 1996-08-28 | Digital Equipment Corp | Database creation system. |
| US6336106B1 (en) | 1994-02-15 | 2002-01-01 | R.R. Donnelley & Sons Company | System and method for partitioning a real-valued attribute exhibiting windowed data characteristics |
| US6507832B1 (en) | 1994-02-15 | 2003-01-14 | R.R. Donnelley & Sons Company | Using ink temperature gain to identify causes of web breaks in a printing system |
| US5899985A (en) * | 1994-09-05 | 1999-05-04 | Kabushiki Kaisha Toshiba | Inference method and inference system |
| US5734585A (en) * | 1994-11-07 | 1998-03-31 | Norand Corporation | Method and apparatus for sequencing power delivery in mixed supply computer systems |
| US5943673A (en) * | 1996-05-10 | 1999-08-24 | General Signal Corporation | Configuration programming system for a life safety network |
| US7903029B2 (en) | 1996-09-09 | 2011-03-08 | Tracbeam Llc | Wireless location routing applications and architecture therefor |
| US7274332B1 (en) | 1996-09-09 | 2007-09-25 | Tracbeam Llc | Multiple evaluators for evaluation of a purality of conditions |
| US7714778B2 (en) * | 1997-08-20 | 2010-05-11 | Tracbeam Llc | Wireless location gateway and applications therefor |
| WO1998010307A1 (en) * | 1996-09-09 | 1998-03-12 | Dennis Jay Dupray | Location of a mobile station |
| US9134398B2 (en) | 1996-09-09 | 2015-09-15 | Tracbeam Llc | Wireless location using network centric location estimators |
| US5822743A (en) * | 1997-04-08 | 1998-10-13 | 1215627 Ontario Inc. | Knowledge-based information retrieval system |
| US20020128990A1 (en) * | 1997-05-01 | 2002-09-12 | Kaminskas Paul A. | Control methodology and apparatus for reducing delamination in a book binding system |
| US5983364A (en) * | 1997-05-12 | 1999-11-09 | System Soft Corporation | System and method for diagnosing computer faults |
| US6928559B1 (en) * | 1997-06-27 | 2005-08-09 | Broadcom Corporation | Battery powered device with dynamic power and performance management |
| US6192355B1 (en) * | 1997-09-09 | 2001-02-20 | Baan Development B.V. | Method of configuring a set of objects in a computer |
| US6223170B1 (en) * | 1997-09-09 | 2001-04-24 | Baan Development B.V. | Method and apparatus for inference of partial knowledge in interactive configuration |
| US6295092B1 (en) | 1998-07-30 | 2001-09-25 | Cbs Corporation | System for analyzing television programs |
| US6631361B1 (en) | 1998-10-02 | 2003-10-07 | Ncr Corporation | Method and apparatus for providing explanations of automated decisions applied to user data |
| US6606740B1 (en) * | 1998-10-05 | 2003-08-12 | American Management Systems, Inc. | Development framework for case and workflow systems |
| US8135413B2 (en) * | 1998-11-24 | 2012-03-13 | Tracbeam Llc | Platform and applications for wireless location and other complex services |
| US20030146871A1 (en) * | 1998-11-24 | 2003-08-07 | Tracbeam Llc | Wireless location using signal direction and time difference of arrival |
| US6304833B1 (en) * | 1999-04-27 | 2001-10-16 | The United States Of America As Represented By The Secretary Of The Navy | Hypothesis selection for evidential reasoning systems |
| US6502084B1 (en) | 1999-06-22 | 2002-12-31 | General Electric Company | Method of electronic knowledge extraction, transfer and use |
| US6460025B1 (en) * | 1999-07-27 | 2002-10-01 | International Business Machines Corporation | Intelligent exploration through multiple hierarchies using entity relevance |
| WO2002000316A1 (en) | 1999-09-24 | 2002-01-03 | Goldberg Sheldon F | Geographically constrained network services |
| US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
| US10684350B2 (en) | 2000-06-02 | 2020-06-16 | Tracbeam Llc | Services and applications for a communications network |
| US9875492B2 (en) | 2001-05-22 | 2018-01-23 | Dennis J. Dupray | Real estate transaction system |
| US10641861B2 (en) | 2000-06-02 | 2020-05-05 | Dennis J. Dupray | Services and applications for a communications network |
| US8082096B2 (en) | 2001-05-22 | 2011-12-20 | Tracbeam Llc | Wireless location routing applications and architecture therefor |
| US20050108598A1 (en) * | 2003-11-14 | 2005-05-19 | Casebank Technologies Inc. | Case-based reasoning system and method having fault isolation manual trigger cases |
| CA2525729A1 (en) * | 2004-11-08 | 2006-05-08 | At&T Corp. | System and method for compiling rules created by machine learning program |
| US20100063829A1 (en) * | 2008-09-08 | 2010-03-11 | Dupray Dennis J | Real estate transaction system |
| US9436912B1 (en) * | 2013-01-04 | 2016-09-06 | The United States Of America As Represented By The Secretary Of The Navy | Symmetric schema instantiation method for use in a case-based reasoning system |
| US9667786B1 (en) | 2014-10-07 | 2017-05-30 | Ipsoft, Inc. | Distributed coordinated system and process which transforms data into useful information to help a user with resolving issues |
| CN112334917A (zh) * | 2018-12-31 | 2021-02-05 | 英特尔公司 | 对采用人工智能的系统进行防护 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH043203A (ja) * | 1990-04-20 | 1992-01-08 | Mitsubishi Electric Corp | プロセス監視制御装置 |
-
1992
- 1992-12-22 US US07/994,664 patent/US5402524A/en not_active Expired - Fee Related
-
1993
- 1993-12-22 JP JP5323519A patent/JPH06214615A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US5402524A (en) | 1995-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06214615A (ja) | 人工知能ソフトウェアシェルのためのケースベース知識源 | |
| JP3234077B2 (ja) | 人工知能を用いたプラント運転シミュレータ及びプラント運転シミュレーション方法 | |
| US5402526A (en) | Interruptibility/priority control scheme for artificial intelligence software shell | |
| US7437703B2 (en) | Enterprise multi-agent software system with services able to call multiple engines and scheduling capability | |
| US5398304A (en) | Control process for artificial intelligence software shell | |
| US5535389A (en) | Business process objects with associated attributes such as version identifier | |
| Casati et al. | Deriving active rules for workflow enactment | |
| US5961610A (en) | Systems, methods and apparatus for generating and controlling display of medical images | |
| US6233570B1 (en) | Intelligent user assistance facility for a software program | |
| EP2246787B1 (en) | Systems and methods for identifying the root cause of an application failure in a mainframe environment based on relationship information between interrelated applications | |
| US20060010258A1 (en) | Dynamic object validation | |
| US20050160431A1 (en) | Method and mechanism for debugging a series of related events within a computer system | |
| US5831612A (en) | Cell overlap detection and correction in a medical imaging system | |
| US8108829B2 (en) | Method for automating variables in end-user programming system | |
| Couch | Graphical representations of program performance on hypercube message-passing multiprocessors | |
| Xu et al. | Everything is context: Agentic file system abstraction for context engineering | |
| Olsen Jr et al. | Research directions for user interface software tools | |
| Mandal et al. | Helion: Enabling natural testing of smart homes | |
| Årén | A survey of commercial real-time expert system environments | |
| Wilkins | Using the sipe-2 planning system | |
| Laventhal | A constructive approach to reliable synchronization code | |
| Chin | Knowledge-based system techniques for pilot aiding | |
| Fleury et al. | Methodology and tools for system analysis of parallel pipelines | |
| Bourdeau et al. | An object-oriented toolkit for constructing specification editors | |
| Forde | An application of selected artificial intelligence techniques to engineering analysis |