JPH04101225A - オブジェクト指向エキスパートシステムにおけるスロットアクセス方法 - Google Patents

オブジェクト指向エキスパートシステムにおけるスロットアクセス方法

Info

Publication number
JPH04101225A
JPH04101225A JP2218737A JP21873790A JPH04101225A JP H04101225 A JPH04101225 A JP H04101225A JP 2218737 A JP2218737 A JP 2218737A JP 21873790 A JP21873790 A JP 21873790A JP H04101225 A JPH04101225 A JP H04101225A
Authority
JP
Japan
Prior art keywords
slot
instance
value
referenced
rule
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
Application number
JP2218737A
Other languages
English (en)
Inventor
Mitsuru Honma
充 本間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2218737A priority Critical patent/JPH04101225A/ja
Priority to US07/743,251 priority patent/US5241622A/en
Publication of JPH04101225A publication Critical patent/JPH04101225A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は所定の知識に関する複数のルールを実行して推
論を行うオブジェクト指向エキスパートシステムにおけ
るスロットアクセス方法に関する。
〔従来の技術〕
近年、所定の知識に関する複数のルールを蓄積した知識
ベースと、問題対象をモデル化したクラス構造とを有し
、蓄積されたルールを実行して推論を行うオブジェクト
指向エキスパートシステムが実現されている。
周知のように、オブジェクト指向言語においては、クラ
スとインスタンスという概念を用いて問題対象をモデル
化することができる。クラスには、複数のスロット(属
性)を定義することができる。
このスロットの値には、文字列、数字、リスト、クラス
やインスタンスなどのオブジェクトを与えることかでき
る。また、スロットアクセス(値の参照および代入)の
副作用を簡単に実現する手段としてアクティブバリュー
という機構かある。この機構は、スロット値にクラスr
アクティブバリュー」のインスタンスを持つスロットの
アクセスでは、参照時にアクティブバリューの参照関数
が起動し、代入時にアクティブバリューの代入関数か起
動するようになっている。
なお、周知のように、アクティブバリューとは、スロッ
トがアクセスされるときに副作用を生しさせる値のこと
である。
次に、アクティブバリューの機構を用いたスロットアク
セスの動作を第19図〜第21図に基づき簡単に説明す
る。
第19図は、クラス1世帯」のインスタンスの一例を示
している。同図において、インスタンス1a〜4aにそ
れぞれ対応してスロット1b〜4bか設定されている。
また第20図は、クラス「アクティブバリュー」のイン
スタンスの一例を示している。同図において、インスタ
ンス5a〜8aにそれぞれ対応してスロット5b〜8b
か設定されている。
なお、第19図に示したインスタンスla(インスタン
ス日中)のスロットには、スロット「貯蓄額J、スロッ
ト「収入」、スロット「支出」、スロット「保険料」に
それぞれ対応して、第2n図に示したインスタンス5a
、・・・ 8aか与えられている。
第21図は階層的な参照ルールの一例を示している。
この図に示した参照ルールでは、参照ルール1〜4が設
定されており、それぞれ異なったルール内容となってい
る。
さて、第19図において、インスタンス1a(インスタ
ンス日中)のスロット1bのスロット「貯蓄額」の参照
時には、第20図に示−される、クラス「アクティブバ
リュー」のインスタンス5a(インスタンスAVI)の
参照関数である参照ルール1が呼び出される。この参照
ルール1が実行されると、第21図に示した参照ルール
により、インスタンスAV2の参照関数である参照ルー
ル2及びインスタンスAV3の参照関数である参照ルー
ル3が、呼び出され実行される。またインスタンスAV
3の参照ルール3が実行されると、第21図に示した参
照ルールにより、インスタンスAV4の参照関数である
参照ルール4か、呼び出され実行される。
このように階層的な参照ルールか呼び出され実行される
ことにより、インスタンスla(インスタンス日中)の
スロット1bのスロット「貯蓄額」を求めることができ
る。
〔発明が解決しようとする課題〕
ところか、上記従来のエキスパートシステムでは、第2
1図に示した参照ルール1〜4から構成された階層的な
参照ルールを持つスロットへアクティブバリューを適用
すると、常に参照ルール1〜4の4つのルールが起動さ
れてしまう。
この様に階層的な参照ルールを持つスロットへアクティ
ブバリューを適用すると、不必要なスロット値の再計算
を繰り返すことになり、スロット値の参照時に多くの処
理時間がかかってしまうという欠点があった。
この発明は、上記欠点を解消し、スロット値の参照時の
参照処理を迅速に行うことのできるオブジェクト指向エ
キスパートシステムにおけるスロットアクセス方法を提
供することを目的とする。
〔課題を解決するための手段〕
上述した目的を達成するため、この発明は、所定の知識
に関する複数のルールを蓄積した知識ヘスと、問題対象
をモデル化したクラス構造とを記憶し、蓄積されたルー
ルを実行して推論を行うオブジェクト指向エキスパート
システムにおいて、参照ルールを有するオブジェクトの
スロット値の参照の際に、被参照スロットと参照スロッ
トとの依存関係に基づく、スロット値を再旧算するか否
かを示す情報に基づいて、参照スロットのスロット値を
再計算するか否かを判断するようにしたことを特徴とす
る。
〔作用〕
この発明では、参照ルールを有するオブジェクトのスロ
ットに、被参照スロットと参照スロットとの依存関係に
応して生成される、スロット値を再計算するか否かを示
す情報(例えばフラグ)か、保持される。
そして、参照ルールを有するオブジェクトのスロット値
の参照の際に、そのスロットに保持されているフラグを
参照し、該参照結果、再計算すべき旨のフラグの場合に
は、スロット値の再計算を行い、一方、再計算しない旨
のフラグの場合は、スロット値の再計算を行わない。
〔実施例〕
以下、本発明の実施例を添付図面を参照して説明する 第1図は、本発明に係わるスロットアクセス方法を適用
したオブジェクト指向エキスパートシステムを実施する
ための装置の一実施例をブロック図で示したものである
。この実施例では、ワークステーションを用いて実現し
ている。
第1図において、ワークステーションは、ブタや指令等
を入力するキーホード11と、メニュの選択なとを行う
ためのマウス12と、キーボード11及びマウス12か
ら入力された命令やデ夕なとの入出力制御を行うキーボ
ード/マウス制御部13と、デイスプレィ14と、デイ
スプレィ14を制御して、スロット値や推論結果なとの
ウィンドウを表示させるデイスプレィ制御部]5と、ク
ラス、インスタンスのデータ及び知識へ一スが格納され
ているディスク16と、ディスク16へのデータの入出
力を制御するディスク制御部17と、オペレーティング
システムやキーホード11およびマウス12から入力さ
れた命令やデータなどが格納されている主メモリ18と
、バス]9に接続され、バス19を介して、このバス1
つに接続された上記各制御部及び主メモリ18を制御す
るとともに、スロット参照ルールの実行や推論を行うプ
ロセッサ部20とを有して構成されている。
上述したディスク16には、クラスデータとしてクラス
「世帯」、クラス「アクティブバリュー」の各データが
格納されており、またインスタンスデータとして、第1
9図に示したインスタンスの構成において、インスタン
スla(インスタンス日中)を第2図に示すインスタン
ス3]a(インスタンスデータ中)に変更し、インスタ
ンス3a(インスタンス配偶者)を第3図に示すインス
タンス32a (インスタンス配偶者)に変更した構成
のインスタンスのデータ、及び第4図に示すクラス「ア
クティブバリュー」の各インスタンスのブタか格納され
ており、さらに知識ヘースとして第21図に示した階層
的な参照ルールか格納されている。
第2図に示したインスタンス31aには、スロット31
bが対応付けられており、このスロット31bの各スロ
ット41〜45の値として、それぞれクラス「アクティ
ブバリュー」のインスタンスAVI〜AV5か与えられ
ている。また第3図に示したインスタンス32aには、
スロット32bが対応付けられており、このスロット3
2bのスロット46の値としてクラス「アクティブバリ
ュー」のインスタンスAV6が与えられている。
第4図に示したクラス「アクティブバリュー」のインス
タンスの構成においては、インスタンス51a 〜56
a (インスタンスAV ]−AV6)にそれぞれ対応
してスロット5]b〜56bか設定されている。これら
の各スロットは、スロット51bに示すように、スロッ
ト61〜65から構成されている。なお、同図に示した
インスタンスの構成は、第20に示した各インスタンス
の構成において、スロット「再31算フラク」 (スロ
ット64)及びスロワ)r?を参照スロット」(スロッ
ト65)を追加した構成になっている。なお、第4図に
示したインスタンスのスロット値は、初期時(また参照
されていない状態)の値を示している。
スロット「再計算フラグ」 (スロット64)には、被
参照スロットのスロット値か変更になったときに、参照
スロットのスロット値を再計算するか否かを示す情報か
格納される。なお、スロット「再計算フラグ」には、再
計算する場合(参照関数を起動し実行する場合)には”
T”が格納され、再計算しない場合(参照関数を起動し
ない場合)は“NIL”が格納される。
スロット「被参照スロット」 (スロット65)には、
被参照スロットと参照スロットとの依存関係(詳細は後
述する)を示す情報が格納される。
この情報としては、参照スロットを参照した被参照スロ
ットのスロット特定子があり、このスロット特定子は、
インスタンス名とスロット名から構成されている。なお
参照されているインスタンス(参照スロット)のスロッ
ト「被参照スロット」には、被参照スロットから参照さ
れている場合にはその参照スロットのスロット特定子が
格納され、何も参照されていない場合は“NIL”が格
納される。また複数の被参照スロットが同一の参照スロ
ットを参照することか可能なので、この場合は、スロッ
ト「被参照スロット」には、参照している複数の被参照
スロットのスロット特定子が格納される。
この実施例においては、クラス「アクティブバリュー」
のインスタンスをスロット値としているスロット(つま
りクラス「世帯」のインスタンスのスロット)が被参照
(参照元)スロットであり、クラス「アクティブバリュ
ー」のインスタンスのスロットが参照(参照先)スロッ
トである。
そして被参照スロットと参照スロットとの依存関係は、
第21図に示した参照ルールに基づいて決定される。
例えば、第2図に示すクラス「世帯」のインスタンス日
中のスロット「貯蓄額」、スロット「収入」、スロット
「支出」の各被参照スロットと、参照先である参照スロ
ットとの依存関係は次のようになる。
すなわち ◆インスタンス日中のスロット「貯蓄額」を参照した場
合、スロット「貯蓄額」が被参照(参照元)スロットで
あり、参照ルール1(第21図参照)により、第4図に
示される、インスタンスAv2のスロット及びインスタ
ンスAV3のスロットがそれぞれ参照スロットとなる。
◆また、インスタンス日中のスロット「収入」を参照し
た場合、スロット「収入」が被参照(参照元)スロット
であり、参照ルール2(第21図参照)により、第4図
に示される、インスタンスAV6のスロットが参照スロ
ットとなる。
◆さらに、インスタンス日中のスロット「支出」を参照
した場合、スロット「支出」が被参照(参照元)スロッ
トであり、参照ルール3(第21図参照)により、第4
図に示される、インスタンスAV2のスロット及びイン
スタンスAV3のスロットがそれぞれ参照スロットとな
る。
次に、上述した構成において、プロセッサ部20による
スロットアクセス処理を説明する。
なお、第5図及び第6図はスロット値の参照処理を説明
するためのクラス「アクティブバリュー」のインスタン
スのスロット状態を示している。
また第7図はスロット値の参照時の参照処理動作を示す
フローチャートであり、第8図(a)はスロット値の代
入時の代入処理動作を示すメインフローを示しており、
第8図(b)は代入処理動作を示すサブルーチンを示し
ている。
さて、第7図に示すように、参照処理対象のインスタン
スのスロット「参照関数jに参照関数が設定されている
かとうか調べ(ステップ101)、設定されている場合
は、さらに、スロット「再工1算フラグ」の値は“T゛
であるか“N I L”であるか調べる(ステップ10
2)。
ここで、値が“T”の場合は、スロット「参照関数」に
設定されている参照関数を実行しくステップ103)、
その後、他のインスタンスのスロットを参照したかどう
か調べ(ステップ104)、参照した場合は、被参照ス
ロットのスロット特定子を、参照したスロット(参照ス
ロット)のスロット「被参照スロット」にブツシュする
(ステップ105)。
このステップ105を終了した場合、上記ステップ10
4で他のスロットを参照していない場合は、参照処理対
象のインスタンスのスロット「参照関数」に設定されて
いる参照関数のリターン値をスロット「現在値」へ代入
しくステップ106)さらに、スロット「再計算フラグ
」へ“NIL”を代入しくステップ107)、その後、
スロット「現在値」の値を表示する(ステップ108)
なお、上記ステップ101て参照関数か設定されていな
い場合、上記ステップ102て値か“NIL”の場合は
、上記ステップ108に進む。
続いて、プロセッサ部20によるスロット値の代入時の
代入処理を説明する。
第8図(a)に示すように、最初に、代入処理対象のイ
ンスタンスのスロット「参照関数」に参照関数が設定さ
れているかどうか調べる(ステップ201)。
ここで、設定されている場合は、スロット「参照関数」
へ“NIL”を代入する(ステップ202)。
このステップ202を終了した場合、上記ステップ20
1で参照関数か設定されていない場合は、rPIag 
upルーチン」が呼び出れ、このルーチンが実行される
(ステップ203)。
rFIag upルーチン」か呼ばれると、第8図(b
)に示すように、スロット「被参照スロット」の値はあ
るかどうか調べ(ステップ301)、あれば値をポツプ
しくステップ302)、次に、その値からクラス「アク
ティブバリュー(AV)Jのインスタンスを特定しくス
テップ303)、さらに、特定したインスタンスのスロ
ット「再計算フラグ」へ“T”を代入する(ステップ3
04)。
そして特定したインスタンスに対して、上記ステップ3
01〜304の処理を実行すべく、「Fag Upルー
チン」を起動しくステップ305)、上記ステップ30
1に戻りこのステップ以降を実行する。
なお、ステップ301でスロット「被参照スロット」の
値がない場合は、メインフロー(メインルーチン)にリ
ターンする。
すると、第8図(a)に示すように、代入処理対象のイ
ンスタンスのスロット「現在値」へ新しい値を代入しく
ステップ204) 、その値を表示する(ステップ20
5)。
次に、インスタンス日中のスロット「貯蓄額」の初回の
参照時における参照処理を、第7図を参照しながら説明
する。
この場合、クラス「アクティブバリュー」の各インスタ
ンスのスロット値は、第4図に示した状態になっている
ので、各インスタンスのスロットには、スロット「再計
算フラグ」に“T′が設定されており、またインスタン
スAVI〜AV4の各インスタンスのスロット「参照関
数」に参照ルールが設定されている。
従って、参照処理対象であるインスタンス日中のスロッ
ト「貯蓄額」 (被参照スロット)(第2図参照)の初
回参照時には、スロット「再計算フラグ」の値が“T”
なので、インスタンスAVIの参照関数である参照ルー
ル1が呼び出される。
また、参照ルール1からインスタンスAV2、インスタ
ンスAV3が参照され、このときそれぞれのインスタン
スのスロット「再計算フラグ」の値が“T2なので、イ
ンスタンスAv2、インスタンスAV3の参照関数であ
る参照ルール2及び参照ルール3が呼び出される(第4
図参照)。
さらに、参照ルール3からインスタンスAV4が参照さ
れ、このときそのインスタンスのスロット「再計算フラ
グ」の値が“T”なので、インスタンスAV4の参照関
数である参照ルール4か呼び出される(第4図参照)(
第7図のステップ101〜103参照)。
なお、参照ルール1の実行時においては、インスタンス
AVIかインスタンスAV2およびAV3を参照してい
るいるので、これらのインスタンスノスロット「被参照
スロット」に、被参照スロットの特定子「(日中、貯蓄
額)」かプソンユされる。
同様に、参照ルール2の実行時においては、インスタン
スAV6のスロット「被参照スロット」に、被参照スロ
ットのスロット特定子「(日中、収入)」がブツシュさ
れる。参照ルール3の実行時においては、インスタンス
AV4およびAV5のスロット「被参照スロット」に、
被参照スロットのスロット特定子「(日中、支出)」か
ブツシュされる。参照ルール4の実行時においては、第
4図には図示していないが、クラス1世帯」の全インス
タンスのスロット「保険料」が参照されるので、これら
のインスタンスのスロット「被参照スロット」に、被参
照スロットのスロット特定子「(日中、保険料)」がブ
ツシュされることになる(第7図のステップ104〜1
07参照)。
このようにしてクラス「アクティブバリュー」の各イン
スタンスが参照され、参照ルール1〜4が呼び出され実
行されると、クラス「アクティブバリュー」の各インス
タンスは、第4図に示す内容から第5図に示す内容に変
更される。
続いて、第5図に示したクラス「アクティブバリュー」
の各インスタンスのスロット値の状態で、クラス「世帯
」のインスタンス「配偶者」のスロット「収入」 (第
3図参照)を「8万円」から「6万円」に変更する場合
の代入処理を、再度、第8図(a)、(b)を参照しな
がら説明する。
この場合は、最初にインスタンスAV6が呼ばれる。
なお、インスタンスAV6 (インスタンス56a)の
スロット値は第5図に示す内容になっている。
最初に、代入処理対象としてのインスタンスAv6のス
ロット「参照関数」に参照関数か設定されていないので
、rFIag Upルーチン」が呼び出され実行される
(第8図(a)のステップ201.203参照)。
このrFIagUp処理」においては、インスタンスA
V6のスロット「被参照スロット」に値として「(日中
、収入)」(つまりインスタンスAV2)が存在するの
で、その値「(日中、収入)」をポツプし、次に「(日
中、収入)」からインスタンスAV2を特定し、さらに
特定したインスタンスAV2のスロット「再計算フラグ
」へ“T′を代入する(第8図(b)のステ・ツブ30
1〜304参照)。その後、このインスタンスAV2に
対しても、上記ステップ301〜304を実行すべく、
rFIag Upルーチン」を起動して、上記ステップ
301に戻りこのステップ以降を実行する(第8図(a
)のステップ305参照)。
インスタンスAV2 (インスタンス52a)のrFl
ag Up処理」においては、第5図に示すようにスロ
ット「被参照スロット」に値として「(日中、貯蓄額)
」か設定されているので、この値「(日中、貯蓄額)」
をポツプし、その値からインスタンスAVIを特定し、
さらにインスタンスAVIのスロット「再計算フラグ」
へ“T”を代入した後、rPlagUpルーチン」を起
動する(第8図(b)のステップ301〜305参照)
そしてインスタンスAVI (インスタンス51a)の
rFlag up処理」の際に、スロット「被参照スロ
ット」に値として“NIL”が設定されているので、メ
インフローにリターンする。
すると、第8図(a)に示すように、インスタンスAV
6のスロット「現在値」に新しい値(6万円)を代入し
、その値を表示する(第8図(a)のステップ204〜
205参照)。
第6図は、上記インスタンス[配偶者Jのスロット「収
入」に値を代入した際の処理結果を示している。
次に、第6図に示したインスタンスのスロット値の状態
で、再び、インスタンス日中のスロット「貯蓄額」を参
照(スロット「貯蓄額」の2回目の参照)した場合の参
照処理を、再度、第7図を参照しながら説明する。
この場合、最初にインスタンスAVIか参照される。な
お、インスタンスAVI(インスタンス51a)のスロ
ット値は第6図に示した内容になっている。
最初に、参照処理対象としてのインスタンスAV1のス
ロット「参照関数」には参照ルール1が設定されており
、またスロット「再計算フラグ」には“T′が設定され
ているので、参照関数(参照ルール1)が呼ばれ実行さ
れる(第7図のステップ101〜103参照)。
参照ルール1が起動されると、インスタンスAv2及び
AV3が参照される。この時、インスタンスAV2及び
AV3についても、上記第7図のステップ101〜10
8の処理が実行されることになる。
ここで、インスタンスAV2の参照時には、「再計算フ
ラグ」の値が“T”なので、参照関数としての参照ルー
ル2か呼ばれ実行され、この参熱関数のリターン値とし
てスロット「現在値」の値(36万円)か、スロット「
貯蓄額」に返される。
一方、インスタンスAV3の参照時には、スロット値「
再計算フラグ」の値か“NIL“なので、スロット値の
再計算は行われず、スロット「現在値」の値(30万円
)が、スロット「貯蓄額」に返される。
このように、インスタンスAV2のスロット「現在値J
の値(36万円)を再計算するたけて、インスタンスA
V3のスロット「現在値」を再計算せずに、インスタン
スAVIのスロット「現在値」の値(6万円)を求める
ことができる。
なお、参照ルールを実行終了後(ステップ103終了後
)の処理においては、スロット「貯蓄額」の初回の参照
処理と同様な処理(ステップ104〜108)が行われ
る。
以上説明したように、この実施例によれば、参照ルール
を有するオブジェクト(クラス)のスロットに、「再計
算フラグ」と「被参照スロット」というスロットを追加
することにより、そのスロット値の再計算を行うかどう
かを判断するようにし、スロット「再計算フラグ」に再
計算すべき旨の情報(例えば、“T”)が設定されてい
た場合のみ、スロット値の再計算を行うようにしたので
、スロット値の参照時の参照処理を迅速に行うことがで
きる。
次に、本発明に係わるスロットアクセス方法を適用した
オブジェクト指向エキスパートシステムを実施するため
の装置の他の実施例を説明する。
この実施例においても、ワークステーションを用いて実
現しており、このワークステーションは、第1図に示し
たワークステーションの構成と同様の構成になっている
なおディスク16(第1図参照)には、基本的には上記
一実施例で説明したデータと同様のものが格納されてい
る。しかし、上記一実施例で説明したデータを一部変更
したものもあるので、その変更した内容について説明す
る。
最初に、上記第2図及び第3図に示したインスタンスの
構成を、それぞれ第9図及び第10図に示したインスタ
ンスの構成に変更している。
第9図及び第10図に示したインスタンスは、第2図及
び第3図に示したインスタンスのスロット31 ’bお
よび32bの構成において、それぞれ「参照テーブル」
というスロット71及び72を追加した構成になってい
る。
各スロット「参照テーブル」には、スロット値の代入時
に利用される、被参照スロットと参照スロットとの依存
関係に関する情報、例えば、ハツシュテーブルを示す情
報としての“< HashTable〉°が登録されて
いる。
第11図はスロット「参照テーブル」 (スロット71
)の“< )IashTable >−に対応するハツ
シュテーブル81の一例を、第12図はスロット「参照
テーブル」 (スロット72)の“< HashTab
le >”に対応するハツシュテーブル82の一例を、
それぞれ示している。
これらのハツシュテーブルは、スロット値の代入時に、
被参照スロットと参照スロットとの依存関係に基づいて
、スロット「再計算フラグ」に設定される、スロット値
を再計算するか否かを示す情報(“NIL”か“T”)
を生成する際に、利用される。
次に、上記第4図に示したクラス「アクティブバリュー
」の各インスタンスの構成を、第13図に示す各インス
タンスの構成に変更している。
第13図に示した各インスタンスは、第4図に示した各
インスタンスの構成において、スロット「参照スロット
」を削除し、スロット「インスタンス名J  (スロッ
ト91)、及びスロット「スロット名」 (スロット9
2)を追加した構成になっている。なおこの図に示した
インスタンスのスロット値は、初期時(また参照されて
いない状態)の値を示している。
第13図において、各インスタンスのスロット「再計算
フラグ」には、被参照スロットのスロット値が変更にな
ったときに、参照スロットのスロット値を再計算するか
否かを示す情報か、あるいは、参照ルールを有するオブ
ジェクトのスロットへの値の代入時に、参照ルールを無
効にする情報が格納される。なお、スロット「再計算フ
ラグ」には、再計算する場合(参照関数を起動し実行す
る場合)には“T”が格納され、また再計算しない場合
(参照関数を起動しない場合)はフラグ“NIL”が格
納され、さらに参照ルールを無効にする場合は“DON
T″が格納される。
また、各インスタンスのスロット「インスタンス名」及
びスロット「スロット名」は、クラス「アクティブバリ
ュー」のインスタンスをスロット値としているスロット
を特定するために設けられいる。スロット「インスタン
ス名」には、クラス「アクティブバリュー」のインスタ
ンスをスロット値としているスロットが属するインスタ
ンスのインスタンス名が格納され、スロット「スロット
名」には、当該スロット値としているスロットのスロッ
ト名が格納される。例えば、第13図において、インス
タンスAVl(インスタンス51a)では、インスタン
ス名として「日中」、スロット名として「貯蓄額」が設
定されているが、これはインスタンス日中のスロット「
貯蓄額J (第9図参照)が、当該インスタンスAVI
をスロット値として持っていることを意味する。また、
インスタンスAV2〜AV6についても同様のことが言
える。
なお、この実施例においても、上記一実施例で説明した
被参照スロットと参照スロットとの依存関係は成立する
次に、上述した構成において、プロセッサ部20による
スロットアクセス処理を説明する。
なお、第14図〜第16図はスロット値の参照処理を説
明するためのクラスrアクティブバリュー」のインスタ
ンスのスロット値の状態を示している。
また第17図はスロット値の参照時の参照処理動作を示
すフローチャートであり、第18図(a)はスロット値
の代入時の代入処理動作を示すメインフローを示してお
り、第18図(b)代入処理動作を示すサブルーチンを
示している。
さて、第17図に示すように、参照処理対象のインスタ
ンスのスロット「参照関数」に参照関数(参照ルール)
が設定されているかどうか調べ(ステップ401)、設
定されている場合は、次に、スロット「再計算フラグ」
の値は“T”が否かを判断しくステップ402)、“T
oの場合はスロット「参照関数」に設定されている参照
関数を実行する(ステップ403)。
ステップ403を終了したら、他のインスタンスのスロ
ットを参照したか否かを判断しくステップ404)、参
照していれば、被参照スロット(他のインスタンス)の
「参照テーブル」のハツシュテーブルを特定する(ステ
ップ4o5)。
ステップ405を終了した場合、上記ステップ404で
他のスロットを参照していない場合は、該当するハツシ
ュテーブルに被参照スロット名がキーとして登録−され
ているが否かを判断する(ステップ406)。
ここで、登録されていれば、登録されている値にクラス
「アクティブバリューJのインスタンスをブツシュしく
ステップ407)、一方、登録されていなければ、ハツ
シュテーブルに被参照スロット名をキーとしてクラス「
アクティブバリュー」のインスタンスのリストを登録す
る(ステップ408)。
ステップ407あるいはステップ408を終了したら、
参照処理対象のインスタンスに設定されている参照関数
のリターン値をスロット「現在値」へ代入しくステップ
409)、次にスロット「再計算フラグ」へ“NIL”
を代入しくステップ410)、さらにスロット「現在値
」の値を表示する(ステップ411)。
なお、上記ステップ401でスロット「参照関数」に参
照関数か設定されていない場合、ステップ402てスロ
ット「再計算フラグ」の値が“T”でない場合(つまり
“NIL”が“DONT”の場合)は、ステップ411
に進む。
続いて、プロセッサ部2oによるスロット値の代入時の
代入処理を説明する。
第18図(a)に示すように、最初に、代入処理対象の
インスタンスのスロット「参照関数」に参照関数(参照
ルール)が設定されているかどうか調べる(ステップ5
01)。
ここで、設定されている場合は、スロット「再計算フラ
グ」へ“DONT”を代入する(ステ、。
プ502)。
このステップ502を終了した場合、上記ステップ40
1で参照関数が設定されていない場合は、rFlag 
Upルーチン」を呼び、このルーチンを実行する(ステ
ップ503)。
ここて、rFIagUpルーチン」が呼ばれると、第1
8図(b)に示すように、最初に、代入処理対象のイン
スタンスから被参照スロットのインスタンスを特定しく
ステップ601)、さらに特定したインスタンスのスロ
ット「参照テーブル」のハツシュテーブルを特定する(
ステップ602)。
次に、特定したハツシュテーブルに被参照スロット名が
キーとして登録されているかどうか調べる(ステップ6
03)。
ここで、登録されている場合は、登録されている値から
クラス「アクティブバリュー」のインスタンスをポツプ
しくステップ604) 、そのインスタンスのスロット
「再討算フラグ」を“NIL”から“T”に変更する(
ステップ605)。
そして、特定したインスタンスに対して、上記ステップ
601〜605の処理を実行すべく、rF!agUpル
ーチン」を起動しくステップ606)このルーチンを実
行すべく、上記ステップ601に戻りこのステップ以降
を実行する。
なお、ステップ603で、キーに登録されていない場合
は、メインフロー(メインルーチン)にリターンする。
すると、第18図(a)に示すように、代入処理対象の
インスタンスのスロット「現在値」へ新しい値を代入し
くステップ504)、その値を表示する(ステップ50
5)。
次に、インスタンス日中のスロット値の初回の参照時に
おける参照処理を説明する。
この場合、クラス「アクティブバリュー」の各インスタ
ンスは、第13図に示した状態になっているので、各イ
ンスタンスのスロット「再計算フラグ」には“T”の値
が設定されており、またインスタンスAVI〜AV4の
スロットr参照関数Jには参照ルールか設定されている
従って、インスタンス日中のスロットr 貯Ki KN
 Jの初回参照時には、上記一実施例で説明したように
、スロット「再計算フラグ」の値が“T”なので、イン
スタンスAVIの参照関数である参照ルール1が呼び出
される。
また、参照ルール1からインスタンスAV2、インスタ
ンスAV3の参照関数である参照ルール2及び参照ルー
ル3が呼び出される。
さらに、参照ルール3からインスタンスAV4の参照関
数である参照ルール4が呼び出される。
このようにしてクラス「アクティブバリュー」の各イン
スタンスが参照され、参照ルール1〜4が呼び出され実
行されると、クラス「アクティブバリュー」の各インス
タンスは、第13図に示す内容から第14図に示す内容
に変更される。
続いて、第14図に示したクラス「アクティブバリュー
」の各インスタンスの状態で、クラスr 世Mr Jの
インスタンス「配偶者」のスロット「収入」 (第10
図に示すスロット46参照)を「8万円」から「6万円
」に変更する場合の代入処理を、再度、第18図(a)
、(b)を参照しながら説明する。
この場合は、最初に代入処理対象のインスタンスAV6
か呼ばれることになる。このインスタンスAV6 (イ
ンスタンス56a)のスロット値は、第14図に示す内
容になっている。
さて、このインスタンスAV6には、スロット「参照関
数」に参照関数か設定されていないので、rFIag 
Upルーチン」か呼ばれ実行される(第18図(a)の
ステップ501.503参照)。
このrFlag up処理」においては、スロット「イ
ンスタンス名」に登録されている値から、被参照スロッ
トのインスタンスとしてインスタンス配偶者(第14図
参照)を特定するとともに、そのインスタンス配偶者の
スロット「参照テーブル」(スロット72)(第10図
参照)からハツシュテーブルを特定する(第18図(b
)のステップ601〜602参照)。
ここで、特定したノ\ツシュテーブルが、第12図に示
すような内容であると仮定する。このノ\、。
シュテーブル82に、スロット「スロット名」に登録さ
れているスロット名「収入」がキーとして登録されてい
るか調べる(第18図(b)のステップ603参照)。
この場合は、ハツシュテーブル82にスロット名「収入
」がキーとして登録されているので、該当するインスタ
ンスAV2をポツプし、そのインスタンスAV2のスロ
ットr再計算フラグ」ヲ“T”に変更する(第18図(
b)のステップ604〜605参照)。
続いて、インスタンスAV2についても上記ステップ6
01〜605と同様の処理を行うべく、rPlag u
pルーチン」を起動する(第18図(b)のステップ6
06参照)。
インスタンスAV2 (インスタンス52a)のスロッ
ト値は、第14図に示す内容になっているので、インス
タンスAV2のrFlag up処理」においては、ま
ず、被参照スロットのインスタンスとしてインスタンス
日中(第14図参照)を特定し、ハツシュテーブルとし
てインスタンス日中のハツシュテーブルを特定する。
ここで、特定したハツシュテーブルが、第11図に示す
ような内容であったと仮定する。このI\ッシュテーブ
ル81から、スロット名「収入」に対応するインスタン
スAVIをポツプし、次にインスタンスAVIのスロッ
ト「再計算フラグ」を“T”に変更しく第18図(b)
のステップ604〜605参照)、さらに、インスタン
スAVIについても上記ステップ601〜605と同様
の処理を行うべく、rFlagUpルーチン」を起動す
る(第18図(b)のステップ601〜606参照)。
インスタンスAVI(インスタンス51a)のrFIa
g up処理」の際には、ハツシュテーブルとして、イ
ンスタンス日中のハツシュテーブル81(第11図参照
)を特定(この時点ては、ハツシュテーブルからは、ス
ロット名「収入」及びこれに対応するアクティブバリュ
ーのリストが削除されている)するが、このテーブル8
1には、スロット名「貯蓄額」がキーとして登録されて
いないので、メインフロー(メインルーチン)にリター
ンする。すると、インスタンスAV6のスロット「現在
値」に6万円が代入され、その値が表示される。
第15図は、上記インスタンスAV6のスロット「現在
値」に値を代入した際の処理結果を示している。
第15図に示したインスタンスの状態で、再び、インス
タンス日中のスロット「貯蓄額」を参照(スロット「貯
蓄額」の2回目の参照)した場合の参照処理を、再度、
第17図を参照しながら説明する。
この場合、最初にインスタンスAVIが参照される。こ
のインスタンスAVIのスロット値は、第15図に示し
た内容になっている。
よって、参照関数として“参照ルール1“が設定されて
おり、またスロット「再計算フラグ」の値が“T′にな
っているので、“参照ルール1”が呼び出され実行され
る(第17図のステップ401〜403参照)。
“参照ルール1”が実行されると、インスタンスAV2
及びAV3が参照される。なお、この時、インスタンス
AV2及びAV3についても、上記第17図のステップ
401〜411の処理か実行されることになる。これら
のインスタンスの参照結果はインスタンスAVIに返さ
れる。
ところで、インスタンスAVIは、インスタンスAV2
及びAV3のスロットを参照し、いずれもインスタンス
日中のハツシュテーブル81であると特定する(第17
図のステップ404.405参照)。この特定したハツ
シュテーブル81においては、インスタンス「配偶者」
のスロット「収入」の代入時にスロット名「収入」がポ
ツプされているので、ハツシュテーブル81にはインス
タンスAV2のスロット名「収入」はキーとして登録さ
れていないので、ハツシュテーブル81に、スロット名
「収入」と、アクティブバリューのインスタンスのリス
ト(($Al)を登録する。
一方、インスタンスAV3のスロット名「支出」はキー
として登録されているので、それに対応してリスト((
$AVI))をブツシュする(第17図のステップ40
6〜408参照)。
なお、参照関数(参照ルール1)が実行された際には、
上述したようにインスタンスAV2及びAV3が参照さ
れることになり、インスタンスAV2の参照の際には、
スロット「再計算フラグ」の値が“T”なので、参照関
数としての参照ルール2が呼ばれ実行され、この参照関
数のリターン値としてスロット「現在値」の値(36万
円)が、スロット「貯蓄額」に返される。一方、インス
タンスAV3参照の際には、スロット「再計算フラグ」
の値か“NIL”なので、スロット値の再計算は行われ
ず、スロット「現在値」の値(30万円)がスロット「
貯蓄額」に返される。
ところで、参照関数の実行を終了すると、参照関数(参
照ルール1)のリターン値=貯蓄額−収入−支出−36
万円−30万円=6万円を、インスタンスAVIのスロ
ット「現在値」に代入し、さらにスロット「再計算フラ
グ」へ“NIL”を代入し、その後、スロット「現在値
」の値(6万円)を表示する(第17図のステップ40
9〜411参照)。
以上説明したように、インスタンスAVIの参照ルール
1が呼ばれ実行された場合であっても、インスタンスA
V2のスロット「現在値」の値(36万円)を再計算す
るたけて、インスタンスAV3のスロット「現在値」を
再計算せずに、インスタンスAVlのスロット「現在値
」の値(6万円)を求めることができる。
今度は、第14図に示したクラス「アクティブバリュー
」の各インスタンスの状態で、クラス1世帯」のインス
タンス国中のスロット「保険料」(第9図参照)に6万
円を代入した場合の代入処理を、再度、第18図(a)
、(b)を参照しなから説明する。
この状態においては、インスタンス国中のハツシュテー
ブルは、第12図に示した内容になっている。
この場合は、最初に代入処理対象のインスタンスAV4
が呼ばれることになる。このインスタンスAV4 (イ
ンスタンス54a)のスロット値は、第14図に示す内
容になっている。
さて、このインスタンスAV4には、スロット「参照関
数」に参照関数(参照ルール4)が設定されているので
、スロット「再計算フラグ」へ“DONT”を代入し、
次に「FIagUpルーチン」を呼び実行する(第18
図(a)のステップ501〜503参照)。
このインスタンスAV4のrFlag up処理」にお
いては、被参照スロットのインスタンスとしてインスタ
ンス国中(第14図参照)を特定するとともに、そのイ
ンスタンス国中のハツシュテーブル81(第11図参照
)を特定する。その特定したハツシュテーブル81は、
スロット名「保険料」をキーとして、インスタンスAV
3が登録されているので、そのインスタンスAV3のス
ロット「再計算フラグ」へ“T゛を代入する。さらにそ
のインスタンスAV3に対して、上記ステップ601〜
605の処理を実行すべく、rPlaglJpルチンJ
を起動する(第18図(b)のステップ601〜606
参照)。
インスタンスAV3 (インスタンス53a)のrFl
agUp処理」においては、インスタンス[T、I中、
及びそのハツシュテーブル81を特定し、このハツシュ
テーブル81 (第11図参照)からスロット名「支出
」をキーとして、インスタンスAVIか登録されている
ので、このインスタンスAVIのスロット「再計算フラ
グ」に“T″を代入する。
さらにそのインスタンスAVIに対して、上記ステップ
601〜605の処理を実行すべく、rFIag Up
ルーチン」を起動する(第18図(b)のステップ60
1〜606参照)。
このインスタンスAV1 (インスタンス51a)の「
FlagUp処理」の際に、インスタンス国中及びその
ハツシュテーブル81が特定されるが、そノハッシュー
r−プル(第11図参照)には、スロット名「貯蓄額」
をキーとして、インスタンスが登録されていないので、
メインフロー(メインルーチン)にリターンする(第1
8図(b)のステップ601〜603参照)。
すると、第18図(a)に示すように、インスタンスA
V3のスロット「現在値」へ新しい値(6万円)が代入
され、その値が表示される(第18図(a)のステップ
504〜505参照)。
第16図は、上記インスタンス日中のスロット「保険料
」に6万円を代入した際の処理結果を示している。
次に、第16図に示したインスタンスの状態で、インス
タンス日中のスロット「支出」 (第9図参照)の値の
参照を行った場合の参照処理を、再度、第17図を参照
しながら説明する。
この場合、最初にインスタンスAV3が参照される。こ
のインスタンスAV3 (インスタンス53a)のスロ
ット値は、第16図に示した内容になっている。
よって、参照関数として参照ルール3が設定されており
、またスロット「再計算フラグ」の値が“T“になって
いるので、参照ルール3が呼び出され実行される(第1
7図のステップ401〜403参照)。
参照ルール3か実行されると、インスタンスAV4及び
AV5が参照される。なお、この時、インスタンスAV
4及びAV5についても、上記第17図のステップ40
1〜411の処理が実行されることになる。これらのイ
ンスタンスの実行結果はインスタンスAVIに返される
ここで、インスタンスAV4の参照の際には、「再計算
フラグ」の値が“DONT″なので、参照関数としての
参照ルール4は呼ばれず、スロット「現在値」の値(6
万円)が、スロット「支出」に返される。一方、インス
タンスAV5の参照の際には、参照関数が“NIL”な
ので、スロット「現在値」の値(25万円)が、スロッ
ト「支出」に返される。
ところで、参照関数の実行を終了すると、参照関数(参
照ルール3)のリターン値−支出−生活費+保険料−2
5万円+6万円−31万円を、インスタンスAV3のス
ロット「現在値」に代入し、さらにスロット「再計算フ
ラグ」へ“NIL”を代入し、その後、スロット「現在
値」の値(31万円)を表示する(第17図のステップ
409〜411参照)。
なお、上記参照ルール終了後(ステップ403終了後)
の処理においては、インスタンス日中のスロット「貯蓄
額」の2回目の参照時の参照処理と同様の処理(ステッ
プ404〜408)が行われる。
以上説明したように、参照ルール3が呼ばれ実行された
場合であっても、インスタンスAV4のスロット「再計
算フラグ」が“DONT”なので参照関数は呼ばれず、
スロット「保険料」は、スロット「現在値」の値(6万
円)をスロット「支出」に返すので、スロット「支出」
の値は31万円になる。
以上説明したように、この実施例によれば、参照ルール
を有するオブジェクト(クラス)のスロットに、「再計
算フラグ」と「インスタンス名」と「スロット名」とい
うスロットを追加することにより、そのスロット値の再
計算を行うかどうかを判断するようにし、スロット「再
計算フラグ」に再計算すべき旨の情報(例えば“T”)
が設定されていた場合のみ、再計算を行うようにしたの
で、スロット値の参照時の参照処理を迅速に行うことが
できる。
また、参照ルールを有するオブジェクト(クラス)のス
ロットへの値の代入時に、参照ルールを無効にすること
により、次回の当該オブジェクト(クラス)のスロット
の値の参照時に、再計算を行わないようにさせることが
でき、参照処理を迅速に行うことができる。
〔発明の効果〕
以上説明したように本発明によれば、参照ルールを有す
るオブジェクトのスロットの参照の際に、スロット値を
再計算するか否かを示す情報に基づいて、スロット値の
再計算を行うようにしたので、参照されているオブジェ
クトに参照ルールが設定されていた場合であっても、ス
ロット値の再計算は不要である旨の情報が設定されてい
た場合は、再計算しなくてもよいこととなり、スロット
値の参照時の参照処理を迅速に行うことかできる。
従って、問題対象の推論を迅速に行うことが可能となる
【図面の簡単な説明】
第1図は本発明に係るスロットアクセス方法を適用した
オブジェクト指向エキスパートシステムを実施するため
の装置の一実施例を示すブロック図、第2図及び第3図
は一実施例におけるクラス「世帯」の一部のインスタン
スの構成を示す構成図、第4図乃至第6図は一実施例に
おけるクラス「アクティブバリュー」の各インスタンス
の値の状態を示す図、第7図は一実施例におけるスロッ
ト値の参照時の参照処理動作を示すフローチャート、第
8図は一実施例におけるスロット値の代入時の代入処理
動作を示すフローチャート、第9図及び第10図は他の
実施例におけるクラス1世帯」の一部のインスタンスの
構成を示す構成図、第11図は及び第12図はハツシュ
テーブルの一例を示す図、第13図乃至第16図は他の
実施例におけるクラス「アクティブバリュー」の各イン
スタンスの値の状態を示す図、第17図は他の実施例に
おけるスロット値の参照時の参照処理動作を示すフロー
チャート、第18図は他の実施例におけるスロット値の
代入時の代入処理動作を示すフローチャート、第19図
は従来のスロットアクセス方法におけるクラス1世帯」
の各インスタンスの構成を示す構成図、第20図は従来
のスロットアクセス方法におけるクラス「アクティブバ
リュー」の各インスタンスの構成を示す構成図、第21
図は階層的な参照ルールを示す図である。 11・・・キーボード、12・・・マウス、13・・・
キーボード/マウス制御部、14・・・デイスプレィ、
15・・・デイスプレィ制御部、16・・ディスク、1
7・・・ディスク制御部、]8・・主メモリ、19・・
・バス、20・・−プロセッサ部、64・・・スロット
「再計算フラグ」、65・・・スロット「被参照スロッ
ト」、71.72・・・スロット「参照テーブル」、8
1.82・・・ハツシュテーブル、 91・・・スロット「インスタンス名」、92・・・ス
ロット、「スロット名」。 第7図 第 凶 (b)

Claims (1)

  1. 【特許請求の範囲】 所定の知識に関する複数のルールを蓄積した知識ベース
    と、問題対象をモデル化したクラス構造とを記憶し、蓄
    積されたルールを実行して推論を行うオブジェクト指向
    エキスパートシステムにおいて、 参照ルールを有するオブジェクトのスロット値の参照の
    際に、被参照スロットと参照スロットとの依存関係に基
    づく、スロット値を再計算するか否かを示す情報に基づ
    いて、参照スロットのスロット値を再計算するか否かを
    判断するようにした ことを特徴とするオブジェクト指向エキスパートシステ
    ムにおけるスロットアクセス方法。
JP2218737A 1990-08-20 1990-08-20 オブジェクト指向エキスパートシステムにおけるスロットアクセス方法 Pending JPH04101225A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2218737A JPH04101225A (ja) 1990-08-20 1990-08-20 オブジェクト指向エキスパートシステムにおけるスロットアクセス方法
US07/743,251 US5241622A (en) 1990-08-20 1991-08-09 Slot accessing method in object-oriented expert system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2218737A JPH04101225A (ja) 1990-08-20 1990-08-20 オブジェクト指向エキスパートシステムにおけるスロットアクセス方法

Publications (1)

Publication Number Publication Date
JPH04101225A true JPH04101225A (ja) 1992-04-02

Family

ID=16724642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2218737A Pending JPH04101225A (ja) 1990-08-20 1990-08-20 オブジェクト指向エキスパートシステムにおけるスロットアクセス方法

Country Status (2)

Country Link
US (1) US5241622A (ja)
JP (1) JPH04101225A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3310116B2 (ja) * 1994-08-31 2002-07-29 株式会社東芝 知識ベースシステム
US5561740A (en) * 1994-12-13 1996-10-01 International Business Machines Corporation Method and system for providing multiple instances in a single multiple-instance object
CN102414235B (zh) 2009-04-30 2013-09-04 陶氏环球技术有限责任公司 用于高尔夫球壳的可流延聚脲组合物

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01134630A (ja) * 1987-11-20 1989-05-26 Toshiba Corp 推論システム
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database

Also Published As

Publication number Publication date
US5241622A (en) 1993-08-31

Similar Documents

Publication Publication Date Title
US6574791B1 (en) Component based designer for modifying and specializing wizards
US6502234B1 (en) Component based wizard for creating wizards
US7181694B2 (en) Software customization objects for programming extensions associated with a computer system
US7209911B2 (en) Synchronization of databases using filters
US9412071B2 (en) Rules execution platform system and method
US8954950B2 (en) Web portal application customization method and system using profiles
US20100005074A1 (en) System and method for accessing data
US6397384B1 (en) Run-time addition of interfaces
JPH05101072A (ja) エンジニアリング変更の管理を制御する方法とシステム
JPH10116185A (ja) リソース・ファイル・ビルダ・ツール及びコンピュータ可読コード
JPH07175730A (ja) オブジェクト指向環境においてデータを転送するためのシステム及び方法
JPH1173320A (ja) フレームワークおよびソフトウェア・システムを開発する方法
JPH0855019A (ja) 視覚的プログラミング方法
JPH0764778A (ja) オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US7603624B2 (en) System and method for styling content in a graphical user interface control
US20090031229A1 (en) Method and Apparatus for Customizing a Model Entity Presentation Based on a Presentation Policy
US6223185B1 (en) Method for defining composed object methods and attributes by dynamically presenting composite values and options
US6931599B1 (en) Page sub-component prerequisite control mechanism
JPH06231268A (ja) Dag構造ネットワークのトラバーサル状態属性値を保管しかつ復元する方法及び装置
US6922813B1 (en) Page prerequisite control mechanism
JPH04101225A (ja) オブジェクト指向エキスパートシステムにおけるスロットアクセス方法
WO1999033006A1 (en) Evolution of object-relational mapping through source code merging
US6405360B1 (en) Property container type objects
WO2007045860A1 (en) System and method for accessing data
JPH06230957A (ja) チェックリストシステム