JPH033039A - オブジエクトロード処理方法 - Google Patents
オブジエクトロード処理方法Info
- Publication number
- JPH033039A JPH033039A JP13604089A JP13604089A JPH033039A JP H033039 A JPH033039 A JP H033039A JP 13604089 A JP13604089 A JP 13604089A JP 13604089 A JP13604089 A JP 13604089A JP H033039 A JPH033039 A JP H033039A
- Authority
- JP
- Japan
- Prior art keywords
- objects
- reference information
- instance
- area
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000007430 reference method Methods 0.000 claims abstract description 24
- 238000011156 evaluation Methods 0.000 claims abstract description 13
- 238000003672 processing method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 239000002131 composite material Substances 0.000 abstract description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000012854 evaluation process Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、オブジェクト指向データベース管理システム
における。オブジェクトのロード処理方法に関する。特
に複合オブジェクトのロード処理に好適である。
における。オブジェクトのロード処理方法に関する。特
に複合オブジェクトのロード処理に好適である。
スモールトーク(smalltalk) −80システ
ムに代表される′オブジェクト指向システムでは、個々
のオブジェクトは主記憶上の保護された領域(オブジェ
クト領域)にあり、オブジェクト間の関連は、関連する
オブジェクトへのポインタをインスタンス変数に格納す
ることによって表現している。
ムに代表される′オブジェクト指向システムでは、個々
のオブジェクトは主記憶上の保護された領域(オブジェ
クト領域)にあり、オブジェクト間の関連は、関連する
オブジェクトへのポインタをインスタンス変数に格納す
ることによって表現している。
一方オブジェクトといった場合、インスタンス変数が指
すオブジェクトも含めて1つのオブジェクト(複合オブ
ジェクト)と考える場合もある。
すオブジェクトも含めて1つのオブジェクト(複合オブ
ジェクト)と考える場合もある。
オブジェクト指向データベース管理システムの有望な適
用光と考えられているCAD/CAM(Compute
r Aided Design/Con+puter
AidedManufacturiB)や文書処理等の
分野では、このような複合オブジェクトの処理が主にな
ると考えられている。
用光と考えられているCAD/CAM(Compute
r Aided Design/Con+puter
AidedManufacturiB)や文書処理等の
分野では、このような複合オブジェクトの処理が主にな
ると考えられている。
従来のデータベース管理システムにおいては、応答性能
を向上させるため主記憶にバッファを持ち、外部記憶装
置からデータをロードしてこのバッファに保持している
。オブジェクト指向データベース管理システムにおいて
は、このようなバッファがオブジェクト領域に相当する
。従って、オブジェクト指向データベース管理システム
においては、主記憶上のバッファ(オブジェクト領域)
に複合オブジェクトを単位としてロードすることにより
、使用される可能性の高いオブジェクトを主記憶に置く
ことができる。
を向上させるため主記憶にバッファを持ち、外部記憶装
置からデータをロードしてこのバッファに保持している
。オブジェクト指向データベース管理システムにおいて
は、このようなバッファがオブジェクト領域に相当する
。従って、オブジェクト指向データベース管理システム
においては、主記憶上のバッファ(オブジェクト領域)
に複合オブジェクトを単位としてロードすることにより
、使用される可能性の高いオブジェクトを主記憶に置く
ことができる。
従来のデータベース管理システムのバッファ管理機能に
おいては、同時に処理される可能性の高いデータを一緒
にバッファにロードするためには、このようなデータを
まとめてロードの単位(例えばページ)を構成するとい
うような方法がとられている。
おいては、同時に処理される可能性の高いデータを一緒
にバッファにロードするためには、このようなデータを
まとめてロードの単位(例えばページ)を構成するとい
うような方法がとられている。
〔発明が解決しようとする;it!131a)一般に、
一つのオブジェクトは複数のオブジェクトから共有され
るため、複数の複合オブジェクトの構成要素となり得る
。従って、複合オブジェクトを構成するオブジェクトを
ロードの単位にまとめて格納するという従来の方法は適
用が難しい。
一つのオブジェクトは複数のオブジェクトから共有され
るため、複数の複合オブジェクトの構成要素となり得る
。従って、複合オブジェクトを構成するオブジェクトを
ロードの単位にまとめて格納するという従来の方法は適
用が難しい。
また、オブジェクト領域に複合オブジェクトを単位とし
てロードし、使用される可能性の高いオブジェクトを主
記憶に置く場合、(1)主記憶上のオブジェクト領域に
は限界があり、常に複合オブジェクト全体をロードでき
るとは限らない、(2)また使用される可能性が高いと
はいえ、全てのオブジェクトが使用されるわけではない
、(3)さらにオブジェクトのロードのためのオーバヘ
ットも無視できない、等の問題がある。従って、オブジ
ェクトをオブジェクトデータベースからオブジェクト領
域にロードする場合、より使用されるIIf能性の高い
オブジェクトをロートする必要があり、複合オブジェク
トを構成するオブジェクトの中から、さらにロードすべ
きオブジェクトを絞りこむ必要がある。
てロードし、使用される可能性の高いオブジェクトを主
記憶に置く場合、(1)主記憶上のオブジェクト領域に
は限界があり、常に複合オブジェクト全体をロードでき
るとは限らない、(2)また使用される可能性が高いと
はいえ、全てのオブジェクトが使用されるわけではない
、(3)さらにオブジェクトのロードのためのオーバヘ
ットも無視できない、等の問題がある。従って、オブジ
ェクトをオブジェクトデータベースからオブジェクト領
域にロードする場合、より使用されるIIf能性の高い
オブジェクトをロートする必要があり、複合オブジェク
トを構成するオブジェクトの中から、さらにロードすべ
きオブジェクトを絞りこむ必要がある。
本発明の目的は、上記問題に鑑み複合オブジェクトを構
成するオブジェクトの中から、さらに使用される0I能
性の高いオブジェクトを限定し、これを主記憶上のオブ
ジェクト領域にロードする方法を提供することにある。
成するオブジェクトの中から、さらに使用される0I能
性の高いオブジェクトを限定し、これを主記憶上のオブ
ジェクト領域にロードする方法を提供することにある。
上記目的を達成するために本発明の方θ;は、データ
(インスタンスオブジェクト)、データの属性やデータ
間の関連(インスタンス変数)を表す定義情報(クラス
オブジェクト)、オよびデータに対する操作(メソッド
オブジェクト)を蓄積するオブジェクトデータベースを
保持し、メソッドとメソッドの適用対象およびメソッド
に対するパラメータを含む外部からのメツセージを受取
り、該メソッドを実行するメツセージ処理、メツセージ
処理からの要求により、オブジェクトを外部記憶装置上
のオブジェクトデータベースから検索し、主記憶上のオ
ブジェクト領域にロードするオブジェクト管理、メソッ
ド登録時に当該メソッド中で参照されているインスタン
ス変数(参照インスタンス変数)に関する情報と当該メ
ソッド中で参照されている他のメソッド(参照メソッド
)に関する情報を参照情報として出力し、該参照情報を
オブジェクトデータベースに登録するオブジェクト定義
から構成される。
(インスタンスオブジェクト)、データの属性やデータ
間の関連(インスタンス変数)を表す定義情報(クラス
オブジェクト)、オよびデータに対する操作(メソッド
オブジェクト)を蓄積するオブジェクトデータベースを
保持し、メソッドとメソッドの適用対象およびメソッド
に対するパラメータを含む外部からのメツセージを受取
り、該メソッドを実行するメツセージ処理、メツセージ
処理からの要求により、オブジェクトを外部記憶装置上
のオブジェクトデータベースから検索し、主記憶上のオ
ブジェクト領域にロードするオブジェクト管理、メソッ
ド登録時に当該メソッド中で参照されているインスタン
ス変数(参照インスタンス変数)に関する情報と当該メ
ソッド中で参照されている他のメソッド(参照メソッド
)に関する情報を参照情報として出力し、該参照情報を
オブジェクトデータベースに登録するオブジェクト定義
から構成される。
本発明によると、オブジェクトは、メソッドの参照情報
を用いて以下のように処理される。
を用いて以下のように処理される。
まず、メツセージ処理部は、外部からのメツセージを受
は取ると、レシーバに指定されたオブジェクトをオブジ
ェクト管理部に要求する、オブジェクト管理部はメツセ
ージ処理部からのオブジェクト要求に対し、要求された
オブジェクトを外部記憶装置上のオブジェクトデータベ
ースから主記憶上のオブジェクト領域にロードした後、
セレクタに指定されたメソッド(実行メソッド)の参照
情報(1次参照情報)より該メソッドの参照インスタン
ス変数(1次参照インスタンス変数)を調べ、上記要求
オブジェクトが該インスタンス変数に保持しているオブ
ジェクト(1次評価オブジェクト)について、該オブジ
ェクトをオブジェクトデータベースからオブジェクト領
域にロードする。
は取ると、レシーバに指定されたオブジェクトをオブジ
ェクト管理部に要求する、オブジェクト管理部はメツセ
ージ処理部からのオブジェクト要求に対し、要求された
オブジェクトを外部記憶装置上のオブジェクトデータベ
ースから主記憶上のオブジェクト領域にロードした後、
セレクタに指定されたメソッド(実行メソッド)の参照
情報(1次参照情報)より該メソッドの参照インスタン
ス変数(1次参照インスタンス変数)を調べ、上記要求
オブジェクトが該インスタンス変数に保持しているオブ
ジェクト(1次評価オブジェクト)について、該オブジ
ェクトをオブジェクトデータベースからオブジェクト領
域にロードする。
さらに、実行メソッドの参照情報より該メソッドが参照
する参照メソッドを調べ、該参照メソッドの参照情報(
2次参照情報)より該参照メソッドの参照インスタンス
変数(2次参照インスタンス)を調に、上記要求オブジ
ェクトあるいは上記1次評価オブジェクトが該インスタ
ンス変数に保持しているオブジェクト(2次評価オブジ
ェクト)について、該オブジェクトをオブジェクトデー
タベースからオブジェクト領、域にロードする。
する参照メソッドを調べ、該参照メソッドの参照情報(
2次参照情報)より該参照メソッドの参照インスタンス
変数(2次参照インスタンス)を調に、上記要求オブジ
ェクトあるいは上記1次評価オブジェクトが該インスタ
ンス変数に保持しているオブジェクト(2次評価オブジ
ェクト)について、該オブジェクトをオブジェクトデー
タベースからオブジェクト領、域にロードする。
上記の通り、本発明においてはメソッドの参照情報に関
する処理を、参照メソッドが保持する参照情報について
も再帰的に行い、1〜n次評価オブジェクトについて、
該オブジェクトをオブジェクトデータベースからオブジ
ェクト領域にロードする。
する処理を、参照メソッドが保持する参照情報について
も再帰的に行い、1〜n次評価オブジェクトについて、
該オブジェクトをオブジェクトデータベースからオブジ
ェクト領域にロードする。
このように、メソッドの参照情報を再帰的に評価してい
くことにより、要求オブジェクトを頂点とする複合オブ
ジェクトを構成する個々のインスタンスオブジェクトの
ロードを制御することができる。しかも本発明によれば
、複合オブジェクトを構成する全オブジェクトの中から
、メソッドの中で参照されているインスタンス変数が保
持するインスタンスオブジェクトを限定してロードする
ことができる。
くことにより、要求オブジェクトを頂点とする複合オブ
ジェクトを構成する個々のインスタンスオブジェクトの
ロードを制御することができる。しかも本発明によれば
、複合オブジェクトを構成する全オブジェクトの中から
、メソッドの中で参照されているインスタンス変数が保
持するインスタンスオブジェクトを限定してロードする
ことができる。
〔実施例J
以下、本発明の実施例を図面を引用しながら説明する。
第1図は、本発明による複合オブジェクト処理機能を備
えたオブジェクト指向データベース管理システム11を
中心とするデータベースシステムのソフトウェア構成の
1実施例を示す図である。
えたオブジェクト指向データベース管理システム11を
中心とするデータベースシステムのソフトウェア構成の
1実施例を示す図である。
第2図は、第1図を実現するためのハードウェア構成を
示す図である。
示す図である。
第1図のオブジェクト指向データベース管理システム1
1は、メツセージ処理部12.オブジェクト管理部14
.オブジェクト定義部13から構成される。メツセージ
処理部12は、アプリケーションプログラム18から送
られたメツセージを解釈し、該メツセージに従ってオブ
ジェクトの処理を行う。メツセージ(図示せず)は、オ
ブジェクトに適用するメソッドを指定するセレクタと、
適用対象のオブジェクトを指定するレシーバ、及び上記
メソッドに対するパラメータからなる。
1は、メツセージ処理部12.オブジェクト管理部14
.オブジェクト定義部13から構成される。メツセージ
処理部12は、アプリケーションプログラム18から送
られたメツセージを解釈し、該メツセージに従ってオブ
ジェクトの処理を行う。メツセージ(図示せず)は、オ
ブジェクトに適用するメソッドを指定するセレクタと、
適用対象のオブジェクトを指定するレシーバ、及び上記
メソッドに対するパラメータからなる。
メツセージ処理部12は、レシーバに指定されたオブジ
ェクトやパラメータの設定等、上記メソッドの実行!!
J#tを準備し、該メソッドを実行する。
ェクトやパラメータの設定等、上記メソッドの実行!!
J#tを準備し、該メソッドを実行する。
オブジェクト管理部14は、メツセージ処理部12から
の依頼により、レシーバに指定されたオブジェクトをオ
ブジェクトデータベースから検索し、オブジェクト領域
17にロードする。オブジェクトデータベース16は第
2図の外部記憶装置24に、オブジェクト領域17は第
2図の主記憶装置22にそれぞれ存在する。
の依頼により、レシーバに指定されたオブジェクトをオ
ブジェクトデータベースから検索し、オブジェクト領域
17にロードする。オブジェクトデータベース16は第
2図の外部記憶装置24に、オブジェクト領域17は第
2図の主記憶装置22にそれぞれ存在する。
オブジェクト定義部13は、オブジェクトの定義情報を
人力し、クラスオブジェクトや該クラス内のオブジェク
トに対して適用されるメソッドオブジェクトを生成し、
オブジェクトデータベース16に格納する。オブジェク
ト定義部J3は、ソース形式のオブジェクト定義情報か
らオブジェクト指向データベース管理システム11で処
理し易い実行形式への変換も行う。
人力し、クラスオブジェクトや該クラス内のオブジェク
トに対して適用されるメソッドオブジェクトを生成し、
オブジェクトデータベース16に格納する。オブジェク
ト定義部J3は、ソース形式のオブジェクト定義情報か
らオブジェクト指向データベース管理システム11で処
理し易い実行形式への変換も行う。
第3図は、オブジェクト領域17上でのオブジェクトの
構造を示す図である。オブジェクト領域は、オブジェク
トテーブルとオブジェクトブールからなる。オブジェク
トプールには、実際のオブジェクトが存在する。オブジ
ェクトテーブルの各エントリ(オブジェクトテーブル・
エントリ)は、オブジェクトプールに存在するオブジェ
クトに対するアドレスを保持している。オブジェクト間
の関連は、関連するオブジェクトを直接参照するのでは
なく、関連するオブジェクトに対するオブジェクトテー
ブル・エントリを参照する。クラス。
構造を示す図である。オブジェクト領域は、オブジェク
トテーブルとオブジェクトブールからなる。オブジェク
トプールには、実際のオブジェクトが存在する。オブジ
ェクトテーブルの各エントリ(オブジェクトテーブル・
エントリ)は、オブジェクトプールに存在するオブジェ
クトに対するアドレスを保持している。オブジェクト間
の関連は、関連するオブジェクトを直接参照するのでは
なく、関連するオブジェクトに対するオブジェクトテー
ブル・エントリを参照する。クラス。
インスタンス、及びメソッドは、オブジェクト領域17
においては、全て第3図に示したオブジェクトとして存
在している。
においては、全て第3図に示したオブジェクトとして存
在している。
上記オブジェクト領域17に対し、オブジェクトデータ
ベース16に存在するオブジェクトをアロケートするた
めには、以下に示す一連の処理を必要とする。
ベース16に存在するオブジェクトをアロケートするた
めには、以下に示す一連の処理を必要とする。
(1)オブジェクトテーブル・エントリを確保する。
(2)オブジェクトブールにオブジェクト用エリアを確
保する。
保する。
(3) (1)で確保したエントリに(2)で確保した
オブジェクト用エリアのアドレスをセットする。
オブジェクト用エリアのアドレスをセットする。
(4)オブジェクトデータベース16からオブジェクト
を検索し、これを(2)で確保したオブジェクト用エリ
アにセットする。
を検索し、これを(2)で確保したオブジェクト用エリ
アにセットする。
以後、この一連の処理をまとめてオブジェクトのロード
と呼ぶ。
と呼ぶ。
第4図〜第8図は5本発明によるオブジェクトロード処
理方法を説明するための図である。
理方法を説明するための図である。
第4図は、複合オブジェクトの例を示す図である。楕円
は、個々のインスタンスを表している。
は、個々のインスタンスを表している。
インスタンスとインスタンスを結ぶ矢印は、矢印の始点
側のインスタンスのインスタンス少数を表し、矢印の終
点側のインスタンスを該インスタンス変数に保持してい
ることを示している。楕円内及び矢印の側の文字列は、
それぞれインスタンス及びインスタンス変数の識別子を
示している。インスタンスの右肩の文字列は、該インス
タンスのドメインを表すクラスの識別子を示している。
側のインスタンスのインスタンス少数を表し、矢印の終
点側のインスタンスを該インスタンス変数に保持してい
ることを示している。楕円内及び矢印の側の文字列は、
それぞれインスタンス及びインスタンス変数の識別子を
示している。インスタンスの右肩の文字列は、該インス
タンスのドメインを表すクラスの識別子を示している。
破線の矢印は、簡単のための省略である。
第5図は、第4図の各オブジェク1−間の関連を一部省
略してオブジェクト領1:+@17−ヒで示したIAで
ある。第5図のメソッド(a+athod) A、 m
ethodB 、 methodcは、それぞれクラス
(class) A。
略してオブジェクト領1:+@17−ヒで示したIAで
ある。第5図のメソッド(a+athod) A、 m
ethodB 、 methodcは、それぞれクラス
(class) A。
classB 、 clas+acのメソッドを表して
いる。
いる。
第6図は1本発明で用いるメソッドの参照情報の内容を
示す図である。第6図のref A 、 ref B
*rafCは、それぞれmethod A 、 met
hod B 、 method Cの参照情報を示して
いる。メソッドの参照情報は、当該メソッドが参照して
いるインスタンス変数(参照インスタンス変数)の個数
とそれぞれの識別子、及び当該メソッドが参照している
他のメソッド(参照メソッド)の個数とそれぞれの識別
子を保持している。
示す図である。第6図のref A 、 ref B
*rafCは、それぞれmethod A 、 met
hod B 、 method Cの参照情報を示して
いる。メソッドの参照情報は、当該メソッドが参照して
いるインスタンス変数(参照インスタンス変数)の個数
とそれぞれの識別子、及び当該メソッドが参照している
他のメソッド(参照メソッド)の個数とそれぞれの識別
子を保持している。
例えば、mcthod Aに注目すると、第4図〜第6
図は、当該メソッドがclass A のインスタンス
に対して適用されるメソッドであり、該インスタンスの
インスタンス変数バリアプル(variable)
b及びvariable eを参照し、さらに当該メ
ソッド内から+nethod Bを実行することを表し
ている。
図は、当該メソッドがclass A のインスタンス
に対して適用されるメソッドであり、該インスタンスの
インスタンス変数バリアプル(variable)
b及びvariable eを参照し、さらに当該メ
ソッド内から+nethod Bを実行することを表し
ている。
メソッドの参照情報は、実行形式のメソッドと同様、ソ
ース形式のメソッドから得られる。参照情報は、ソース
形式のメソッドあるいは実行形式のメソッドと同一のオ
ブジェクトとして生成してもよいし、生成光のメソッド
との関連を保持していれば、単独のオブジェクトとして
生成してもよい。ただし実行形式メソッドと参照情報は
、同一のソース形式メソッドから生成されでいなければ
ならない。従って、本実施例では、オブジェクト定義部
13においてソース形式のメソッドを実行形式に変換す
る時に同時に参照情報を生成し、実行形式メソッドとと
もにオブジェクトデータベース16に格納しておく、従
ってオブジェクト領域17上では、各メソッドの参照情
報は、各実行形式メソッドオブジェクトに含まれている
。
ース形式のメソッドから得られる。参照情報は、ソース
形式のメソッドあるいは実行形式のメソッドと同一のオ
ブジェクトとして生成してもよいし、生成光のメソッド
との関連を保持していれば、単独のオブジェクトとして
生成してもよい。ただし実行形式メソッドと参照情報は
、同一のソース形式メソッドから生成されでいなければ
ならない。従って、本実施例では、オブジェクト定義部
13においてソース形式のメソッドを実行形式に変換す
る時に同時に参照情報を生成し、実行形式メソッドとと
もにオブジェクトデータベース16に格納しておく、従
ってオブジェクト領域17上では、各メソッドの参照情
報は、各実行形式メソッドオブジェクトに含まれている
。
第7図は、オブジェクト管理部14における、上記参照
情報を用いた本発明による複合オブジェクトのロード処
理の処理フローを示す図である。
情報を用いた本発明による複合オブジェクトのロード処
理の処理フローを示す図である。
オブジェクト管理部14は、まずメツセージ処理部12
から要求されたオブジェクト(以下、要求オブジェクト
と呼ぶ)が既にオブジェクト領域17に存在するかどう
かをチエツクする(ステップ701)。既に存在する場
合、そのアドレスを返し処理を終了する(ステップ70
5)、オブジェクト領域に存在しない場合、要求オブジ
ェクトをオブジェクト領域17ヘロードする(ステップ
702)。
から要求されたオブジェクト(以下、要求オブジェクト
と呼ぶ)が既にオブジェクト領域17に存在するかどう
かをチエツクする(ステップ701)。既に存在する場
合、そのアドレスを返し処理を終了する(ステップ70
5)、オブジェクト領域に存在しない場合、要求オブジ
ェクトをオブジェクト領域17ヘロードする(ステップ
702)。
次に要求オブジェクトをレシーバとするメソッド(以ト
、実行メソッドと呼ぶ)が参照情報を持っているかどう
かをチエツクする(ステップ703)。
、実行メソッドと呼ぶ)が参照情報を持っているかどう
かをチエツクする(ステップ703)。
当該メソッドが参照情報を持っていない場合、ロードし
た要求オブジェクトのアドレスを返し処理を終了する(
ステップ705)。当該メソッドが参照情報を持ってい
る場合、次の複合オブジェクトのロード処理を行う(ス
テップ704)、当該処理の後、最初にロードした要求
オブジェクトのアドレスを返し処理を終了する(ステッ
プ705)。
た要求オブジェクトのアドレスを返し処理を終了する(
ステップ705)。当該メソッドが参照情報を持ってい
る場合、次の複合オブジェクトのロード処理を行う(ス
テップ704)、当該処理の後、最初にロードした要求
オブジェクトのアドレスを返し処理を終了する(ステッ
プ705)。
第8図は、第7図の複合オブジェクトのロード処理(ス
テップ704)の内容を示す図である。
テップ704)の内容を示す図である。
複合オブジェクトのロード処理は、メソッドの参照情味
評価処理(ステップ800)を、参照情報に記述された
参照メソッドに対して再帰的に行うことにより実現され
る。メソッドの参照情報評価処理は、参照インスタンス
変数評価処理(ステップ810)と参照メソッド評価処
理(ステップ820)より成る。
評価処理(ステップ800)を、参照情報に記述された
参照メソッドに対して再帰的に行うことにより実現され
る。メソッドの参照情報評価処理は、参照インスタンス
変数評価処理(ステップ810)と参照メソッド評価処
理(ステップ820)より成る。
参照インスタンス変数評価処理は、まず参照情報の参照
インスタンス変数の有無をチエツクする(ステップ81
1)。参照インスタンス変数がなければ1次に参照メソ
ッド評価処理を行う(ステップ820)、参照インスタ
ンス変数がある場合、参照インスタンス変数を評価する
(ステップ812)。
インスタンス変数の有無をチエツクする(ステップ81
1)。参照インスタンス変数がなければ1次に参照メソ
ッド評価処理を行う(ステップ820)、参照インスタ
ンス変数がある場合、参照インスタンス変数を評価する
(ステップ812)。
参照インスタンス変数の評価結果は、当該参照情報を保
持するメソッドとドメインを同じにするインスタンスに
関して、該インスタンスが参照指定されたインスタンス
変数に保持しているインスタンスである。参照インスタ
ンス変数の評価後、該評価結果オブジェクトをオブジェ
クト領域17にロードする(ステップ813)。
持するメソッドとドメインを同じにするインスタンスに
関して、該インスタンスが参照指定されたインスタンス
変数に保持しているインスタンスである。参照インスタ
ンス変数の評価後、該評価結果オブジェクトをオブジェ
クト領域17にロードする(ステップ813)。
次に、参照メソッド評価処理を行う。参照メソッド評価
処理は、まず参照情報の参照メソッドの有無をチエツク
する(ステップ821)。参照メソッドがない場合、参
照情報評価処理を終了する。
処理は、まず参照情報の参照メソッドの有無をチエツク
する(ステップ821)。参照メソッドがない場合、参
照情報評価処理を終了する。
参照メソッドがある場合、当該参照メソッドが参照情報
を保持しているかどうかをチエツクする(ステップ82
2)。参照情報を保持していない場合、参照情報評価処
理を終了する。当該参照メソッドが参照情報を保持して
いる場合、当該参照メソッドについて参照情報評価処理
を行う(ステップ823)。
を保持しているかどうかをチエツクする(ステップ82
2)。参照情報を保持していない場合、参照情報評価処
理を終了する。当該参照メソッドが参照情報を保持して
いる場合、当該参照メソッドについて参照情報評価処理
を行う(ステップ823)。
以下、第4図〜第6図を例に、上記処βIIを具体的に
説明する。
説明する。
メツセージのセレクタにmethodA、レシーバにo
bjAl が4賛定され、第4図に示した各インスタ
ンスオブジェクトはオブジェクト領域上に存在していな
いことを仮定する6オブジ工クト管理部14は、まずメ
ツセージ処理部12の依頼によりobjAl を口〜
ドする。次にmethod Aの参照情報ref A
を以下の通り評価する。methodAは、vari
able bとvariable eを参照してい
る。従ってobjAl が、これらのインスタンス変
数に保持しているobjBL とobj El
をロードする。さらにmethod Aは、metho
d Bを参照している。
bjAl が4賛定され、第4図に示した各インスタ
ンスオブジェクトはオブジェクト領域上に存在していな
いことを仮定する6オブジ工クト管理部14は、まずメ
ツセージ処理部12の依頼によりobjAl を口〜
ドする。次にmethod Aの参照情報ref A
を以下の通り評価する。methodAは、vari
able bとvariable eを参照してい
る。従ってobjAl が、これらのインスタンス変
数に保持しているobjBL とobj El
をロードする。さらにmethod Aは、metho
d Bを参照している。
従って次に1llethod Bの参照情報ref B
を以下の通り評価する。method Bは、va
riable cを参照しているから、objBl
が該インスタンス変数に保持しているobjcl
をロードする。以下同様にmethod Bが参照して
いるmethod Cの参照情報rof Cを評価し、
objDl をロードする。
を以下の通り評価する。method Bは、va
riable cを参照しているから、objBl
が該インスタンス変数に保持しているobjcl
をロードする。以下同様にmethod Bが参照して
いるmethod Cの参照情報rof Cを評価し、
objDl をロードする。
このように、メソッドの参照情報を再帰的に評価してい
くことにより、要求オブジェクトを頂点とする複合オブ
ジェクトを構成する個々のインスタンスオブジェクトの
ロードを制御することができる。しかも本発明によれば
、複合オブジェクトを構成する全オブジェクトの中から
、メソッドの中で参照されているインスタンス変数が保
持するインスタンスオブジェクトを限定してロードする
ことができる。
くことにより、要求オブジェクトを頂点とする複合オブ
ジェクトを構成する個々のインスタンスオブジェクトの
ロードを制御することができる。しかも本発明によれば
、複合オブジェクトを構成する全オブジェクトの中から
、メソッドの中で参照されているインスタンス変数が保
持するインスタンスオブジェクトを限定してロードする
ことができる。
また、本実施例では前提としていないが、メツセージ処
理部12とオブジェクト管理部14が並行して動作でき
るオブジェクト指向データベース管理システt111に
おいては、オブジェクト管理部14は、第7図の要求オ
ブジェクトのロード処理(ステップ702)を実行した
後、直ちにメツセージ処理部12に対して要求オブジェ
クトのアドレスを返しくステップ705)、その後メツ
セージ処理部12が要求オブジェクトに対してメソッド
を実行している間に、メツセージ処理部12が次に要求
する可能性の高いオブジェクトの先行ロード処理(ステ
ップ703〜ステツプ704)を、並行して行うことが
できるため、上記システムの性能向上に対する本発明に
よるオブジェクトロード処理方法の効果か、より1#l
″I著に現れる。
理部12とオブジェクト管理部14が並行して動作でき
るオブジェクト指向データベース管理システt111に
おいては、オブジェクト管理部14は、第7図の要求オ
ブジェクトのロード処理(ステップ702)を実行した
後、直ちにメツセージ処理部12に対して要求オブジェ
クトのアドレスを返しくステップ705)、その後メツ
セージ処理部12が要求オブジェクトに対してメソッド
を実行している間に、メツセージ処理部12が次に要求
する可能性の高いオブジェクトの先行ロード処理(ステ
ップ703〜ステツプ704)を、並行して行うことが
できるため、上記システムの性能向上に対する本発明に
よるオブジェクトロード処理方法の効果か、より1#l
″I著に現れる。
以上説明したように本発明によると、メツセージ処理が
要求したオブジェクトを頂点とする複合オブジェクトに
関して、該複合オブジェクトを構成する全オブジェクト
の中から、メソッドの中で参照されているインスタンス
変数が保持するオブジェクトを限定してロードすること
ができるため、使用される可能性の非常に高いオブジェ
クトをオブジェクト領域におくことができる。すなわち
オブジェクト領域の使用効率が向上し、それにより外部
記憶装置との入出力回数を削減できるため、システム全
体の性能向上が図れる。
要求したオブジェクトを頂点とする複合オブジェクトに
関して、該複合オブジェクトを構成する全オブジェクト
の中から、メソッドの中で参照されているインスタンス
変数が保持するオブジェクトを限定してロードすること
ができるため、使用される可能性の非常に高いオブジェ
クトをオブジェクト領域におくことができる。すなわち
オブジェクト領域の使用効率が向上し、それにより外部
記憶装置との入出力回数を削減できるため、システム全
体の性能向上が図れる。
第1Ij!Iは本発明の実施例のソフトウェア構成を示
すブロック図、第2図は本発明の実施に用いられるハー
ドウェア構成を示す図、第3図は第1図のオブジェクト
領域17におけるオブジェクト管理構造を示す説明図、
第4図は複合オブジェクトの例を示す説明図、第5図は
、第4図に示したオブジェクト間の関連をオブジェク1
−領域17において示した説明図、第6図は、参照情報
の内容を第5図のメソッドについて示した説明図、第4
図〜第6図は、本発明によるメソッドの参照情報を用い
た複合オブジェクトのロード処理の動作を説明するため
の処理フロー図である。 冶 7ト舌p記’I!’afL 不 1フン’x7’pナー7L オ1ジエ7トブーノム 回 第 困 乞 舅 図
すブロック図、第2図は本発明の実施に用いられるハー
ドウェア構成を示す図、第3図は第1図のオブジェクト
領域17におけるオブジェクト管理構造を示す説明図、
第4図は複合オブジェクトの例を示す説明図、第5図は
、第4図に示したオブジェクト間の関連をオブジェク1
−領域17において示した説明図、第6図は、参照情報
の内容を第5図のメソッドについて示した説明図、第4
図〜第6図は、本発明によるメソッドの参照情報を用い
た複合オブジェクトのロード処理の動作を説明するため
の処理フロー図である。 冶 7ト舌p記’I!’afL 不 1フン’x7’pナー7L オ1ジエ7トブーノム 回 第 困 乞 舅 図
Claims (1)
- 【特許請求の範囲】 1、データ(インスタンスオブジエクト)の属性および
データ間の関連(インスタンス変数)を表す定義情報(
クラスオブジェクト)、およびデータに対する操作(メ
ソッドオブジェクト)を蓄積するオブジェクトデータベ
ースを保持し、上記クラスオブジェクトおよびメソッド
オブジェクトを登録するオブジェクト定義部、メソッド
とメソッドの適用対象およびメソッドに対するパラメー
タを含む外部からのメッセージを受取り、該メソッドを
実行するメッセージ処理部、メッセージ処理部からの要
求により、オブジェクトを外部記憶装置上のオブジェク
トデータベースから検索し、主記憶上のオブジェクト領
域へロードし、オブジェクト領域上のオブジェクトを管
理するオブジェクト管理部からなるオブジェクト指向デ
ータベース管理システムにおいて、上記オブジェクト定
義部は、メソッド登録時に当該メソッド中で参照されて
いるインスタンス変数に関する情報および該メソッド中
で参照されている他のメソッドに関する情報を参照情報
として出力し、該参照情報をオブジェクトデータベース
に登録し、上記オブジェクト管理部は、該参照情報を用
いて、オブジェクトと該オブジェクトに関連を持つ複数
のオブジェクトのオブジェクト領域へのロードを処理す
ることを特徴とするオブジェクトロード処理方法。 2、上記オブジェクト管理部はメッセージ処理部からの
オブジェクト要求に対し、要求されたオブジェクトをオ
ブジェクトデータベースからオブジェクト領域にロード
した後、実行中のメソッドの参照情報(1次参照情報)
より該メソッドの参照インスタンス変数(1次参照イン
スタンス変数)を調べ、上記要求オブジェクトが該イン
スタンス変数に保持しているオブジェクト(1次評価オ
ブジェクト)についてもオブジェクトデータベースから
オブジエクト領域にロードすることを特徴とする特許請
求の範囲第1項記載のオブジェクトロード処理方法。 3、上記オブジェクト管理部はメッセージ処理部からの
オブジェクト要求に対し、要求されたオブジェクトをオ
ブジェクトデータベースからオブジェクト領域にロード
した後、要求オブジェクトに適用されるメソッドの参照
情報より該メソッドが参照する参照メソッドを調べ、該
参照メソッドの参照情報(2次参照情報)より該参照メ
ソッドの参照インスタンス変数(2次参照インスタンス
変数)を調べ、上記要求オブジェクトあるいは上記1次
評価オブジェクトが該インスタンス変数に保持している
オブジェクト(2次評価オブジェクト)についてもオブ
ジェクトデータベースからオブジェクト領域にロードす
ることを特徴とする特許請求の範囲第1項記載のオブジ
ェクトロード処理方法。 4、上記オブジェクト管理部はメッセージ処理部からの
オブジェクト要求に対し、要求されたオブジェクトをオ
ブジェクトデータベースからオブジェクト領域にロード
した後、要求オブジェクトに適用されるメソッドの参照
メソッドの参照インスタンス変数に関する処理を、該参
照メソッドの参照メソッドについても再帰的に行い、n
次評価オブジェクトについてもオブジェクトデータベー
スからオブジェクト領域にロードすることを特徴とする
特許請求の範囲第1項記載のオブジェクトロード処理方
法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13604089A JPH033039A (ja) | 1989-05-31 | 1989-05-31 | オブジエクトロード処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP13604089A JPH033039A (ja) | 1989-05-31 | 1989-05-31 | オブジエクトロード処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH033039A true JPH033039A (ja) | 1991-01-09 |
Family
ID=15165774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP13604089A Pending JPH033039A (ja) | 1989-05-31 | 1989-05-31 | オブジエクトロード処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH033039A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029421A1 (fr) * | 1996-02-05 | 1997-08-14 | Athena Telecom Lab, Inc. | Procede et equipement de gestion d'objets |
-
1989
- 1989-05-31 JP JP13604089A patent/JPH033039A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997029421A1 (fr) * | 1996-02-05 | 1997-08-14 | Athena Telecom Lab, Inc. | Procede et equipement de gestion d'objets |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9223628B2 (en) | Task scheduling based on dependencies and resources | |
US9003425B2 (en) | Optimizing workflow engines | |
KR101759266B1 (ko) | 프로세서들에 걸쳐 데이터-병렬 쓰레드들을 지닌 프로세싱 로직을 매핑하는 방법 | |
JPH03138735A (ja) | データベース管理装置及び方法 | |
US8626799B2 (en) | Mapping data structures | |
US8615729B2 (en) | Extending existing model-to-model transformations | |
CN113010286A (zh) | 并行任务调度方法、装置、计算机设备和存储介质 | |
US5430870A (en) | Saving and restoring traversal state attributes of a directed acyclic graph structure network for a parent structure when it invokes a child structure for traversal | |
US7933948B2 (en) | Computer-readable medium to multiplex multiple application server requests over a single database connection | |
US10768902B2 (en) | Actor model programming | |
US20180060391A1 (en) | Concurrent processing of data sources | |
JPH033039A (ja) | オブジエクトロード処理方法 | |
JP2000148699A (ja) | ネットワークマネージメントシステム | |
JPH02113350A (ja) | ファイル処理装置 | |
JP3637606B2 (ja) | データ処理装置 | |
Yip | WRL Research Report 91/8 | |
Suzuki et al. | A Cache-based Approach to Dynamic Switching between Different Dataflows in Crowdsourcing | |
Ospina et al. | Defining Parallel Local Search Procedures with Neighborhood Combinators | |
Bertout et al. | Automated runnable to task mapping | |
JPS63285649A (ja) | 空き領域管理処理方法 | |
CN116701438A (zh) | 数据关联分析方法、装置、电子设备和计算机存储介质 | |
CN117453739A (zh) | 配置数据查询方法、装置、服务器及存储介质 | |
WO2020005596A1 (en) | Actor model programming | |
JPH05342007A (ja) | オブジェクト指向コンピュータシステム | |
JPH02112030A (ja) | 排他制御方式 |