JPH03137730A - オブジエクト指向コンピユータ・システム - Google Patents

オブジエクト指向コンピユータ・システム

Info

Publication number
JPH03137730A
JPH03137730A JP2220128A JP22012890A JPH03137730A JP H03137730 A JPH03137730 A JP H03137730A JP 2220128 A JP2220128 A JP 2220128A JP 22012890 A JP22012890 A JP 22012890A JP H03137730 A JPH03137730 A JP H03137730A
Authority
JP
Japan
Prior art keywords
storage device
data storage
volatile data
specified object
volatile
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.)
Granted
Application number
JP2220128A
Other languages
English (en)
Other versions
JPH0833862B2 (ja
Inventor
Robert L Abraham
ロバート・ロア・アブラハム
Richard E Moore
リチヤード・ユージン・ムア
William L Rich
ウイリアム・ローレンス・リツチ
Floyd W Shackelford
フロイド・ウエイン・シヤツケルフオード
Jr John R Tiller
ジヨン・ラツセル・テイラー・ジユニア
Jr Richard S Briggs
リチヤード・スミス・ブリツグス
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH03137730A publication Critical patent/JPH03137730A/ja
Publication of JPH0833862B2 publication Critical patent/JPH0833862B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F9/4493Object persistence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はオブジェクト指向プログラミング・システム、
より詳細に言えば、オブジェクト指向プログラミング・
システムにおいて、非揮発性メモリ中にストアされたオ
ブジェクトを処理する装置及び方法に関する。
B、従来の技術 オブジェクト指向プログラミング・システム及びその処
理方法は、データ処理の分野の現状において多くの調査
対象となり、大きな関心が向けられている。オブジェク
ト指向プログラミングは、再使用可能で、且つ容易に拡
張可能なプログラムを与えるコンピュータ・プログラム
のパッケージ技術である。新しい機能的な要求や、新し
いタイプのデータに対して容易に適用することが出来な
い従来の機能的なプログラミング技術とは対照的に、オ
ブジェクト指向プログラムは、新しい要求が生じた時、
再使用可能で、拡張可能である。コンピュータ・ベース
のシステムが非常に複雑化してきたので、オブジェクト
指向プログラミングは多くの関心と調査の対象になって
いる。
オブジェクト指向プロゲラミンク・システムにおいて、
主な関心は機能ではなく、データに向けられている。オ
ブジェクト指向プログラミング・システムは多数の「オ
ブジェクト」で構成されている。1つのオブジェクトは
1つのデータ・ストラフチャと、そのデータ・ストラフ
チャをアクセスすることの出来る1組の動作(オペレー
ション)、即ち、1組の機能(ファンクション)を含ん
でいる。データ・ストラフチャは「フレーム」として表
わすことが出来る。フレームは多くの「スロット」を有
し、各スロットはスロット中のデータの「属性」を含ん
でいる。データの属性は原始的なもの(プリミティブ)
(即ち、完全体、またはストリング)または、他のオブ
ジェクトのインスタンス(1nstance ) (以
下に説明する)のポインタであるオブジェクト・リファ
レンス(0bject Reference )である
。データ・ストラフチャをアクセスすることの出来る各
動作(機能)は「メソッドJ (method )と呼
ばれる。
第1図はフレームがそのメソッドに取り囲まれているオ
ブジェクトの模式的な図形を示している。
第2図はオブジェクトの1例を示しており、この例にお
けるデータ・ストラフチャは従業員のデータと、このデ
ータ・ストラフチャを取り囲む複数個のメソッドとに関
している。例えば、1つのメソッドは従業員の年齢を取
り出すものである0通常、定義された各オブジェクトは
幾つかのインスタンス中に表示されている。各インスタ
ンスはオブジェクトの特定の例に対して特定のデータ・
ストラフチャを含んでいる。例えば個人である従業員の
氏名、ジョイス・スミス(Joyce Sm1th )
は「従業員」オブジェクトのインスタンスである。
オブジェクト指向ブロクラミング・システムは、柔軟性
を有し、且つ再使用可能なプログラムが作成出来る2つ
の主要な特性を与える。これらの特性は「取り囲みJ 
(encapsulation )及び「継承」(1n
heritance )と呼ばれる。第1図から判るよ
うに、フレームはそのメソッド(機能)によって取り囲
まれている。コードの壁はデータの各部分を取り囲んで
位置付けられている。すべてのフレームへのアクセスは
、取り囲んでいるメソッドによって処理される。オブジ
ェクトのデータ・ストラフチャはそのメソッドによって
のみアクセスされるので、データは独立して与えられる
。関連したメソッドだけが内部のデータ・ストラフチャ
を知っている。このことはデータの一貫性(integ
urity )を保証する。
オブジェクト指向プロゲラミンク・システムの「継承」
の特長は、オブジェクトの新しいスーパークラス(上位
クラス)及びサブクラス(下位クラス)を作成するため
に前に書かれたプログラムを拡張することが出来ること
である。新しいオブジェクトが、事前に存在するオブジ
ェクトに対して、どのように相異しているかに応じて、
新しいオブジェクトが記載されるので、新しいタイプの
データを処理し、または新しい機能を行うための新しい
プログラム全体を書く必要はない。
第3図は継承の特性を示している。図を容易に理解する
ために、オブジェクトは、円ではなく、矩形の上部にオ
ブジェクト名を持つ矩形として示されており、フレーム
はオブジェクト名の下にあり、そしてメソッドはフレー
ムの下にある。第3図を参照すると、3つのオブジェク
ト・クラスは「セールスマン」、「従業員」及び「人間
」について記載されており、この中で、セールスマンは
従業員の「範躊J (kind of )であり、従業
員は人間の「箱鳴」であるとして示されている。換言す
れば、セールスマンは従業員のサブクラスであり、従業
員はセールスマンのスーパークラスであるということで
ある。同様に、従業員は人間のサブクラスであり、人間
は従業員のスーパークラスである。図示された各クラス
は3つのインスタンスを含んである。B、ソーター、W
、チップ及びB。
G、ブルーはセールスマンである。B、アブラハム、K
、イエーツ及びR,ムーアは従業員である。
J、マツケンロー R,ナダー及びR,リーガンは人間
である。換言すれば、インスタンスは「××である」関
係によってそのクラスに関連付けられていると言うこと
である。
各サブクラスはフレーム及びそのスーパークラスのメソ
ッドを「継承」する、従って、例えばセールスマンのフ
レームは年齢及び採用年月日オブジェクトと、従業員サ
ブクラスからの昇進のメソッドとを継承する。また、セ
ールスマンはそれ独自のコータ(quota )の属性
と、奨励金支払のメソッドとを含んでいる。各インスタ
ンスはそのスーパークラスのすべてのメソッド及びフレ
ームをアクセスすることが出来るので、例えばB、G、
ブルーを昇進することが出来る。
オブジェクト指向システムにおいて、高いレベルのルー
チンは、オブジェクトに何をするかを知らせる「メツセ
ージ」をオブジェクトに送ることによって、そのオブジ
ェクトのメソッドの1つを遂行するためにオブジェクト
に対して要求を行う。
受取ったオブジェクトは、メツセージ塩により指定され
たメソッドを選び、そして、そのメソッドを実行するこ
とによってメツセージに応答し、その後、メソッドを実
行した結果と共に、呼出した高いレベルのルーチンに制
御を戻す。
オブジェクト指向プロゲラミンク・システムは、消去さ
れ、または書き重ねられる揮発性メモリ、即ちメモリと
、直接アクセス・ストレージ装置(DASD−ディスク
・ファイル)のような非揮発性メモリとを含むデータ・
プロセッサによって実行されることは、この道の専門家
には自明のことである。揮発性メモリは、セツションが
終了した時とか、またはデータ・プロセッサの電源がオ
フにされた時にはデータが消去されるものであり、弊揮
発性メモリは、データが半永久的にストアされるもので
ある。揮発性メモリはランダム・アクセス・メモリ(R
AM)、または単に「メモリ」と言われる。非揮発性メ
モリはデータベースとも言われるが、本明細書において
、術語「データベース」とは、特定のデータベース技術
とか、特定のデータベース製品ではなく、物理的な非揮
発性データ・ストレージ媒体を意味する。
オブジェクト指向プログラミング・システムは、特定の
セツションの間だけ使用され、その後は破棄される臨時
的なオブジェクトと、特定のラン時間のセツションにお
いて、後で生き返えらせる必要のある半永久的に保存す
るオブジェクトとを含んでいることはこの道の専門家に
は自明のことである0通常、臨時のオブジェクトはRA
Mにストアされ、永久的に保存されるオブジェクトはデ
ータベースにストアされる。半永久的に保存されるオブ
ジェクトは、「持続性」オブジェクトと言われる。
オブジェクト指向プロゲラミンク・システムにおいて、
持続性オブジェクトは、システムのデータの一貫性(i
ntegrity )を保証するために適正に処理しな
ければならない。オブジェクト指向プログラミング・シ
ステムにおいて、持続性オブジェクトが存在しているこ
とは広く知られているけれども、これに関する従来の技
術は、オブジェクト指向プログラミング・システムにお
いて、持続性オブジェクトを定義し、且つ処理するため
のインターフェースを与えていない、従来の技術におい
て、オブジェクトが持続性を持つようにされた時、デー
タベースの一貫性を保つために、特別のメソッドが開発
されねばならず、しかも、データベースからのオブジェ
クトを読み取り、そして、データベースにオブジェクト
を書き込む際に、特別のメソッドが使用されねばならな
かった。これらの特別のメソッドは、オブジェクト指向
プログラミング・システムを非常に複雑なものにしてい
る。
更に、データベースにオブジェクトを移動し、そして、
データベースからオブジェクトを移動する時を、ユーザ
が決定しなければならないので、これらの特別のメソッ
ドは持続性オブジェクトが適正に操作されないと言う可
能性が大きい。
C0発明が解決しようとする課題 本発明の目的は、オブジェクト指向プログラミング・シ
ステムにおいて、持続性オブジェクトを処理するための
インターフェースを提供することにある。
本発明の他の目的は、オブジェクト毎に特別のメソッド
を作る必要がないように持続性オブジェクトを処理する
ための方法及び装置を提供することにある。
本発明の他の目的は、持続性データベースのデータの一
貫性を自動的に具備させるための持続性オブジェクトの
処理方法及び装置を提供することにある。
00課題を解決するための手段 上述の目的は、本発明に従ったオブジェクト指向プログ
ラミング・システムにおいて、オブジェクトの「持続的
クラス」を与えることによって達成される。持続的クラ
スは、持続性オブジェクトが適正に処理されることを保
証するために必要なすべてのメソッドを含んでいる。任
意のラン時間のセツションにおいて生き返えらせる必要
のあるすべてのオブジェクトは、持続的クラスから継承
(1nherit )される。オブジェクト指向プログ
ラミング・システムの基本的なコンセプトに従って、持
続的クラスから継承したオブジェクトは、自動的に持続
性オブジェクトになる。
本発明に従って、少なくとも2つのメソッドが持続的ク
ラスに関連される。これらのメソッドは、「マテリアラ
イズJ (Materialize )メソッドと、「
デマテリアライズJ (Dematerialize 
)メソッドである。「マチリアライス」メソッドは、若
し、持続性オブジェクトがRAMの中になければ、非揮
発性メモリ(データベース)から持続性オブジェクトを
自動的に検索し、そして、検”索された持続性オブジェ
クトを、揮発性メモリ(RAM)中に導入するメソッド
である。若し、持続性オブジェクトをデータベース中に
おいて見付けることが出来なければ、処理の失敗を表わ
す標識が与えられる。
「デマテリアライズ」メソッドは、揮発性メモリからオ
ブジェクトを除去したり、あるいは、オブジェクトが揮
発性メモリ中にある間にオブジェクトに変更が加えられ
たか否かに応じて、非揮発性メモリ中の対応するオブジ
ェクトに対して所定のアクションを遂行するメソッドで
ある。持続性オブジェクトを「デマテリアライズ」する
ために、データベースから持続性オブジェクトを読み取
った後に、持続性オブジェクトがRAM中で変更された
か否かを見るために、先ず、テストが行われる。若し、
変更が加えられていなければ、持続性オブジェクトはR
AMから除去(remove )される。
若し、持続性オブジェクトが新規に作成され、且つ現在
、データベース中に存在していなければ、その持続性オ
ブジェクトはデータベース中に書き込まれ、そしてRA
Mから除去される。また、若し、持続性オブジェクトに
変更が加えられたならば、変更された持続性オブジェク
トは、データベース中に存在する持続性オブジェクトの
位置に書き込まれ、そしてRAMから除去される。若し
、持続性オブジェクトが削除(delete )される
時には、持続性オブジェクトはRAM及びデータベース
から除去される。
持続性オブジェクト・クラスは、オブジェクト指向プロ
グラミング・システム中の持続性オブジェクトを自動的
に処理するための簡単なインターフェース処理方法及び
装置を与える。システムのデータの一貫性がこれによっ
て与えられる。持続的クラスが参照(リファレンス)さ
れたならば、持続的クラスは、データベース中の持続性
オブジェクトを自動的にRAMに出現させ、そして、R
AMにコピーされた持続性オブジェクトに対して行われ
たすべての変更を、データベースに自動的に反映させる
ことを保証する。オブジェクト指向ブロクラミング・シ
ステムのための持続性データのインターフェースは、こ
のようにして与えられる。また、本発明に従って、通常
の方法でプログラムされたコンピュータ・システムに対
する持続性データのインターフェースも与えられる。
E、実施例 本発明の実施例を示す添付図面を参照して、本発明を以
下に詳細に説明する。然しながら、本発明は図示の実施
例にのみ限定して解釈されるべきではない。添付図面中
において、同様な素子には同じ参照数字を使用して説明
の冗長を避けている。
オブジェクト指向コンピュータ・システムオブジェクト
指向データベース管理システムにおいて、仕事は、デー
タを含む(取り囲む)(encapsulate )オ
ブジェクトに対してアクションを要求するメツセージを
送ることによって達成される。オブジェクトは、要求さ
れたアクションを、予め定義されているメソッドに従っ
てデータに対して遂行する。アクションのりクエスター
(requester )は、実際のデータがどのよう
な形式であるかとか、オブジェクトがデータを何のよう
に処理するかとかを知る必要がない。
オブジェクト・クラスは、データのタイプ及びデータの
意味と、オブジェクトが与えるアクション要求(メツセ
ージ)とを定義する。データを含む個々のオブジェクト
は、インスタンス・クラスと呼ばれる。通常、インスタ
ンス・クラスは実務上の事柄に開運している。以下の例
において、インスタンス・クラスとして「部分品」の例
を用いる。1つの部分品のデータのエレメント(スロッ
ト)は部品番号、部品の状態及び部品のタイプであって
よい、このインスタンス・クラスは個々の部分品を表わ
し、夫々のインスタンスはそれ自身の部品番号、状態及
びタイプについての情報を表わしている。要求されたア
クションを遂行するプログラムはメソッド・クラスと呼
ばれる。
オブジェクト・クラスは他のクラスのサブクラスである
ように定義することが出来る。サブクラスは親のクラス
のすへてのデータの特性及びメソッドを継承する。サブ
クラスは付加的なデータ及びメソッドを加えることが出
来、そして、それらは親のクラスの任意のエレメント、
またはメソッドを超越する(再定義する)ことが出来る
。殆どのメツセージはオブジェクトのインスタンスに送
られるけれども、新規のインスタンスを作成することを
要求したメツセージは、他のオブジェクト・クラスに送
られる。そのオブジェクト・クラスは、新規のインスタ
ンスを作成し、そして、そのオブジェクトを認知するた
めのオブジェクト識別子を返還する。
アクションを要求したセンダー(5ender )は、
メツセージを送るためのオブジェクトの正確なりラスを
知る必要はない。目標のオブジェクトがメツセージを処
理するためのメソッドを定義するが、または、目標のオ
ブジェクトがそのようなメンツドを定義する親クラスを
持っているかの何れかである限り、メツセージは、その
クラス、またはその親クラス中のオブジェクトのインス
タンス及びメソッド中のデータを使用して処理される。
メツセージは、そのメツセージの直接の親である必要は
なく、親の親、親の親の親、等々であってよい。
メソッドのセンダーは受取ったオブジェクト識別子を持
つだけでよい。オブジェクト指向プログラミングのこの
特長は「継承J (1nheritance )と呼ば
れる。継承の特長は本発明に使用される。
第4図を参照すると、オブジェクト指向コンピュータ・
システム10が示されている。システム10はメーン・
フレーム・コンピュータ、または、ミニコンピユータ、
即ちパーソナル・コンピュータであるデータ・プロセッ
サ11を含んでいる。
複数のユーザを有する大型のデータベースの場合には、
通常、メーン・フレーム・コンピュータが用いられる。
この道の専門家には明らかであるように、データ・プロ
セッサ11はアクティブ・データ及び中間的な結果のた
めの実行用の記憶装置を与えるために、通常、ランダム
・アクセス・メモリ(RAM)である揮発性のデータ・
ストレージ装置13を含んでいる。データ・プロセッサ
11の電源がオフにされた時とか、または、新しいユー
ザのセツションがオーブンされた時には、RA M2S
中のデータは消失する。また、システム10はオブジェ
クトを永久的に記憶するための非揮発性データ・ストレ
ージ装置14を含んでいる。装置14は直接アクセス・
ストレージ装置(DASD、即ちディスク・ファイル)
、磁気テープ装置、消去可能の光ディスク、または公知
の他の同様な装置である0本明細書において、非揮発性
データ・ストレージ装置14は「データベース」と同じ
意味として扱うことが出来る。また、揮発性データ・ス
トレージ装置13は「メモリ」と呼ばれる。陰極線管(
CRT)、または他のデイスプレー、そしてキーボード
を含むデイスプレー・ターミナル15も示されている。
オブジェクト指向オペレーティング・プログラム12は
データ・プロセッサ11中に含まれている。オブジェク
ト指向オペレーティング・プログラムは、例えば「C」
言語、または「スモールトークJ (smalltal
k )ランゲージ、またはそのバリエーション、または
フォートラン、またはコボルなどの通常のプログラム・
ランゲージなどのオブジェクト指向ランゲージでプログ
ラムすることが出来る。オブジェクト指向オペレーティ
ング・プログラム12のデザインは、オブジェクト指向
プログラミング・システムの分野の専門家には公知であ
り、以下に簡単に述べる。
第5図を参照すると、オブジェクト指向プログラム(第
4図の12)の主コンポーネントを以下に説明する。オ
ブジェクト指向プログラムのデザイン及び動作のより詳
細な説明は1988年にプレンティス・ホール(Pre
ntice Hall )で刊行されたメーヤー(B、
Meyer )の「オブジェクト指向ソフトウェアの構
造J (0bject 0riented Softw
areConstruction )と題する刊行物に
記載されている。
第5図を参照すると、オブジェクト指向プログラム12
は3つの主要な構成要素、メツセンジャ51、オブジェ
クト・マネージャ(オブジェクト管理テーブル)52及
びローデツド・クラス(1oaded class )
のテーブル53とを含んでいる。
メツセンジャ51は呼び出したメツセージ及び呼び出さ
れたメツセージと、オブジェクト・マネージャ52と、
ローデツド・クラスのテーブル53との間のコミュニケ
ーションを制御する。オブジェクト・マネージャ52は
すべてのアクティブなオブジェクト・インスタンスに対
するポインタのリストを含んでいる。ローデツド・クラ
スのテーブル53はアクティブなオブジェクト・クラス
のすべてのメソッドに対するポインタのリストを含んで
いる。
オブジェクトのメソッドA(ブロック54)がオブジェ
クトのメソッドB(ブロック55)へメツセージを送る
第5図に示された例を参照して、オブジェクト指向プロ
グラム12の動作を説明する。メソッドAはメツセンジ
ャ51を呼び出すことによって、メソッドBにメツセー
ジを送る。このメツセージは、(1)メツセージを受は
取るためのオブジェクト・リファレンスのインスタンス
と、(2)要求されたオブジェクト・インスタンスの取
り囲みを行うデータに対して動作するためのメソッドと
、(3)受は取ったメソッドによって必要とされるすべ
てのパラメータとを含んでいる。メツセンジャ51は、
オブジェクト・インスタンスのオブジェクト・マネージ
ャ52をサーチすることによって、メソッドAにより特
定されるオブジェクト・インスタンスのデータ・フレー
ム56に対するポインタを取り出す。若し、特定された
オブジェクトのインスタンスを見出すことが出来なかっ
たならば、オブジェクト・マネージャ52はテーブルに
そのオブジェクト・インスタンスを加え、そして、デー
タベースからそのデータをマチリアライス(mater
 ia l i ze )するためにインスタンスを呼
び出す。インスタンスのテーブルに加えられた後は、オ
ブジェクト・マネージャ52はマテリアライズされたオ
ブジェクト・インスタンスにポインタを戻す。
次に、メツセンジャ51はローデツド・クラスのテーブ
ル53からメソッドBのアドレスを取り出す。若し、イ
ンスタンス・クラスがロードされていなければ、ローデ
ツド・クラスのテーブル53は、そのデータをマテリア
ライズするために、この時点でそれをロードする。ロー
デツド・クラスのテーブル53は特定されたメソッド(
メソッドB)のためのサーチを行い、そしてメツセンジ
ャ51にそのメソッドのアドレスを戻す。
その後、メツセンジャ51はメソッドBtr:呼び出し
て、ポインタと、メソッドAにより行われた呼び出しの
パラメータとをシステム・データの領域に送る。メソッ
ドBは、ポインタを使用してデータ・フレーム56をア
クセスする。その後、メソッドBはメツセンジャ51に
制御を戻し、これはメソッドAに制御を戻す。
持続的オブジェクト・クラス オブジェクト指向プログラミング・システムの中で、臨
時的に使用するオブジェクトと、後で使用するために、
任意のラン時間のセツションで生き返″えらせる必要の
あるオブジェクトがある。ラン時間のセツションで生き
返えらせる必要のあるオブジェクトは持続性オブジェク
トと呼ばれる。
持続性オブジェクト及び非持続性オブジェクトは、それ
らがRAM13にストアされた時、オブジェクト指向オ
ベレーテインク・プログラム12によって処理される。
然しながら、ラン時間のセツションの結果において、持
続性オブジェクトはRAM13から単純に消去すること
が出来る。更に、持続性オブジェクトがオブジェク指向
のオベレーテインク・プログラム12によって参照(リ
ファレンス)された時は、持続性オブジェクトはRAM
13中に自動的に現われねばならず、且つRAM13中
の持続性オブジェクトに行われたすべての変更は、デー
タベース14中の対応する持続性オブジェクトにも変更
が行われねばならない。
従来のオブジェクト指向プロゲラミンク・システムは、
オブジェクトを持続性にする自動的な方法を与えていな
かった。システム・プロクラマーは、データベースから
オブジェクトを読み取り、そしてデータベースにオブジ
ェクトを書き込む特別の方法を開発しなければならなか
った。更に、オブジェクトのユーザは、オブジェクトを
何時データベースに入れるか、そして、何時データベー
スから取り出すかについて決定をしなければならなかっ
た。
本発明に従って、持続性オブジェクトの一貫性(int
egurity )維持するのに必要なすべての動作を
サポートするために、持続性オブジェクト・クラスが与
えられる。持続性を持たせる必要のあるすべてのオブジ
ェクトは本発明の持続性オブジェクト・クラスから継承
するように配列される。換言すると、親のオブジェクト
から見て、すべての持続性オブジェクトは親の持続性オ
ブジェクトの子供であると言うことである。従って、オ
ブジェクトは持続的クラスから継承することによって、
単純に持続性を持つようになる。持続的クラスの子(子
供)は少数の延期される( deferred )メソ
ッドを定義することのみを必要とするだけであって、こ
れらの延期されるメソッドを使用することは、持続的ク
ラスのメソッドが自動的に世話をする。
持続的クラスのメソッド 本発明の持続的クラスは、データベースの中のオブジェ
クトを検索し、そしてデータベース内のオブジェクトを
更新するためのメツセージによって用いられる2つのメ
ソッドを含んでいる。これらのメソッドはマテリアライ
ズ(materialize )メソッドと、デマテリ
アライズ(demater ia l ize )メソ
ッドである。また、延期されるメソッドは、持続性デー
タ・インターフェースを自動的に実施することによって
決められる。この道の専門家には自明のように、延期さ
れるメソッドはクラスによって決められるが、但しクラ
スの降順(子)によって実行される。延期されるメソッ
ドの機能は持続的クラスの子′供によって実行されるけ
れども、延期されるメソッドの機能は本発明の持続的ク
ラスによって確実に特定されている。持続的クラスのメ
ソッドは以下の通りである。
dematerlal lzeメソッド「デマテリアラ
イズ」メソッドは、各子クラスによって定義される3つ
の延期されるメソッドを含んでいる。即ち、それらは、
DB(データベース)  Updateメソッド(DB
−更新メソッド)、DB  Deleteメソッド(D
B  削除メソッド)及びDB  In5ertメソツ
ド(DB  挿入メソッド)である。デマテリアライズ
・メソッドがメツセージによって呼び出された時、デマ
テリアライズ・メソッドは3つの延期されるメソッドの
内のどのメソッドを呼び出すかを決定する。各延期され
るメソッドは、データベース中のオブジェクトを「更新
」するか、「削除」するか、または「挿入」するかの何
れかを必要とするデータベースのすべてのアクセス・コ
ードを取り囲む。
materializeメソッド 「マテリアライズ」メソッドは、子クラスのによって定
義される1つの延期されるメソッドを含んでいる。即ち
、それは、DB  5electメソツド(DB  選
択メソッド)である。
「マチリアライス」メソッドがメツセージによって呼び
出された時、マチリアライス・メソッドは、特定の子オ
ブジェクトのDB  選択メソッドを呼び出す。このD
B  選択メソッドは、オブジェクト指向オベレーテイ
ンク・プログラムによって既に割当てられていフレーム
を満たすために必要するデータベースのすべてのアクセ
ス・コードを取り囲む。
DB  削除メソッド この延期されるメソッドはデータベースから取り出した
特別のインスタンスを削除するに必要な低レベルのコー
ドを含んでいる。
DB  挿入メソッド この延期されるメソッドはデータベースから取り出した
特別のインスタンスを挿入するに必要な低レベルのコー
ドを含んでいる。
DB  選択メソッド この延期されるメソッドはデータベースから取り出した
特別のインスタンスを検索するに必要な低レベルのコー
ドを含んでいる。
DB  更新メソッド この延期されるメソッドはデータベースから取り出した
特別のインスタンスを更新するに必要な低レベルのコー
ドを含んでいる。
Delete(削除)メソッド このメソッドはインスタンスの削除を望む要求者によっ
て使用される。これは、特定のインスタンスを「削除」
するために、単にDemat  5tate(デマテリ
アライズ 状態)をセットするだけである。
Demat  5tate このインスタンスの属性はインスタンスの状態の標識と
して使用される。これは以下の4つの状態を持っている
−−”delete’(削除) このインスタンスは、デマテリアライズされた時、デー
タベースから削除され、そしてメモリから除去される。
一−’ I nse r t ’ (挿入)このインス
タンスは、デマテリアライズされた時、データベースに
挿入され、そしてメモリから除去される。
一−’nothlng” (無し) このインスタンスは、デマテリアライズされた時、デー
タベースから除去される。このインスタンスのデータベ
ースのコピーは変更することなく維持される。
−−update’(更新) このインスタンスは、デマテリアライズされた時、デー
タベース中のインスタンスを更新し、そしてメモリから
除去される。
La5t  tJpdate  DTS(最新の更新の
日付) この属性はLast−Update−Time−5ta
mp(最新の更新の時間のスタンプ)である、複数ユー
ザのデータベース中のインスタンスのロック保護を与え
るのに用いられる。
インスタンスがデマテリアライズされる毎に、RAM中
のインスタンスのLa5t  Update  DTS
は、データベース中のインスタンスのLa5t  Up
date  DTSに対してチエツクされる。若し、そ
れらが一致していれば、デマテリアライゼーションが進
行するようにされる。若し、それらが異なっていれば、
インスタンスは、現在、メモリ中にあるコピーが行われ
た後に更新され、そして、デマテリアライズは許容され
ない。
Notlfy(通知)メソッド このメソッドは、持続性インスタンスの修正を必要とす
る持続性インスタンスのメソッドによって使用される。
このメソッドは、単純に、Demat  5tateを
Updateにセットする。
持続的クラスのメソッドの詳細な説明 持続的クラスのメソッドの詳細な動作を説明するために
、これらのメソッドの動作を6つの例を挙げて以下に説
明する。第1の例は、参照されたオブジェクトがデータ
ベース中にあるが、併しRAM(メモリと言う)中には
ない場合におけるマテリアライズ・メソッドを説明して
いる。第2の例は、参照されたオブジェクトがデータベ
ース中にはなく、そのオブジェクトを作成しなければな
らない場合におけるマチリアライス・メソッドを説明し
ている。第3の例は、参照されたオブジェクトはRAM
にあり、変更は加えられなかった場合におけるデマテリ
アライズ・メソッドを説明している。第4の例は、持続
性オブジェクトが新規に作成される場合におけるデマテ
リアライズ・メソッドを説明している。第5の例は、持
続性オブジェクトがFtAM中で修正される場合におけ
るデマテリアライズ・メソッドを説明している。最後に
、第6の例は、持続性オブジェクトがデータベースから
削除される場合におけるデマテリアライズ・メソッドを
説明している。
以下に説明する各側においで、メモリ中に既に存在し、
且つオブジェクト・リファレンス(略して0REFと呼
ばれる)を有するオブジェクト・タイプのクラス Aの
インスタンス Aと呼ばれるインスタンスと、オブジェ
クト・タイプのクラス Bのインスタンス Bと呼ばれ
るインスタンスとがあるものと仮定する。加えて、本発
明の「持続的クラス」から、クラス A及びクラスBを
継承させる。特に、クラス Aは「人間」タイプであり
、インスタンス Aはこの人間タイプのインスタンスで
ある。つまり、インスタンスAは人間である。クラス 
Bは「扉」タイプであり、インスタンス Bはこの扉タ
イプのインスタンスである。つまり、インスタンス B
は扉である。インスタンス Aである人間はインスタン
スBである扉を知っている。以下の各側は、インスタン
ス B(扉)がインスタンス A(人間)からのメツセ
ージによって動作された時、インスタンス Bがどのよ
うにして持続的クラスによって自動的に処理されるかを
説明している。
すべての例において、術語「データベース」は非揮発性
データ・ストレージ装置14(第4図)を意味するもの
として用いられている。術語「RAMJまたは、「メモ
リ」は揮発性データ・ストレージ装置13(第4図)を
意味するのに使用されている。第7図、第9図、第11
図、第13図、第16図、第19図及び第22図の「メ
モリのアドレス」は便宜上決めたものであるから、これ
らの特定のアドレスによって本発明を限定的に解釈され
るべきではない。
る場合。
この例は、インスタンス Aが、その0REFを用いて
、オブジェクト・タイプのクラス Bのインスタンス 
Bにメツセージを送る場合を説明している。加えて、イ
ンスタンス Bはデータベース中にあり、現在、メモリ
中にはない。自動的なマテリアライゼーションによって
、持続的クラスから、すべてのクラスに対して継承が与
えられているインスタンス へのメツセージは、インス
タンス Bに継承する。
(1) システムの状態は最初に、第6図に示されてい
るように現われる。
(2) インスタンス AがインスタンスBにメツセー
ジを送るものとする0例えば「人間」オブジェクトは「
扉」を開くよう求められる。人間クラスのメソッド中の
メツセージは以下の通りである。
MyDoor、0pen; であり、ここで、MyDoor、0penはインスタン
ス Bに対するインスタンス Aの0REFであり、0
pen(開く)はクラスBのインスタンスのメソッドで
ある。
(3) このメツセージの実行をすると、メツセンジャ
ー(第5図の参照数字51)はインスタンス B、lを
メモリ中に位置付ける。オブジェクト・マネージャ(第
5図の参照数字52)は、メモリ内のすへてのオブジェ
クトのリストを維持している。然しながら、現在は、テ
ブルは第7図に示されたように現われており、xxxx
xxxxは、この時点においてメモリ中にある他の無関
係のオブジェクトである。メツセンジャはオブジェクト
・マネージャのテーブル中にインスタンス Bを位置付
けることは出来ない。
(4) メツセンジャは、オブジェクト・マネージャの
メモリ内オブジェクトのテーブル中にインスタンス B
を見出すことが出来ないし、且つクラス Bは持続的ク
ラスから継承しているから、次に、メツセンジャは、オ
ブジェクトそれ自身にメツセージを送る。そのメツセー
ジは以下の通りである。
Qt)ject、Materialize;持続的クラ
スはこのメソッドを含み、そして、クラス Bは持続性
を継承していると言う事実によって、インスタンス B
はこのメツセージの呼び出しを受は取ることが出来る。
(5) マテリアライズ・メソッドは、下位のDB  
検索メソッドに持続性インターフェースを与えるDB 
 検索メソッドは、子供のクラスに延期される。従って
、マチリアライス・メソッドは、以下のようなりB  
検索メソッドに呼び出しを送る。
5ELF、DB Retrieve; (6) オブジェクト・クラスのタイプ BのDB  
検索メソッドは、どのようにして(a)オブジェクト・
タイプのクラス Bのインスタンスのためにデータベー
スをサーチするかということと、(b)メモリ中にオブ
ジェクト・タイプのクラス Bのインスタンス Bをロ
ードするかということとを知っている。
インスタンス Bはオブジェクト・タイプのクラス B
のインスタンスである。従って、DB s索メソッドは
、インスタンス Bが実際にデータベース中にあること
を決定し、メモリ中にインスタンス Bをロードし、そ
して、継承を表示するマチリアライス・メソッドに戻す
システムの状態は第8図に示したように現われる。
(7) 次にマチリアライス・メソッドは持続的クラス
のD e m a t  状態インスタンスの属性をr
NothlngJにセットし、そしてメツセンジャに動
作が成功したことの標識を戻す。
(8) その結果、メツセンジャはマチリアライス・メ
ソッドが成功裡に動作したことを理解し、メツセンジャ
は、オブジェクト・マネージャがそのテーブル中に記入
を行うことにより、現在、インスタンス Bがメモリ中
にあることを表示するようオブジェクト・マネージャに
要求する。メモリ内オブジェクトのテーブルは第9図に
示したように現われる。
(9) 最後に、メツセンジャはインスタンス Bの開
始(オーブン)メソッドにメツセージを送る。
この例は、インスタンス Aが、その0REFを用いて
、オブジェク小・クラスのタイプ Bのインスタンス 
Bにメツセージを送る場合を説明している。加えて、イ
ンスタンス Bは現在、メモリ中にも、データベース(
第10図)中にもない、その特定のオブジェクトの識別
子を持つオブジェクトはメモリにも、データベースにも
ないから、インスタンス Aのメツセージをインスタン
ス−Bに送ることは失敗に終わる。このようなことは、
インスタンス Bを削除することをインスタンス−Aに
知らせることなしに、インスタンスBを削除した場合に
生じる。
(1) システムの状態は、最初に、第10図に示した
ように現われる。
(2) インスタンス AがインスタンスBにメツセー
ジを送るものとする0例えば、大オブジェクトが扉を開
くよう求めるものとする。
人間クラスのメソッド中のメツセージは以下の通りであ
る。
MyDoor、0pen; ここで、MyDoorはインスタンス Bに対するイン
スタンス Aの0REFであり、0penはクラス B
のインスタンスのメソッドである。
(3) このメツセージの実行をすると、メツセンジャ
ー(第5図の参照数字51)はインスタンス−B、扉を
メモリ中に位置付けるよう試みる。オブジェクト・マネ
ージャ(第5図の参照数字52)はメモリ内のすべての
オブジェクトのリストを維持している。然しながら、現
在、テーブルは第11図に示されたように現われており
、xxxxxxxxは、この時点においてメモリ中にあ
る他の無闇係のオブジェクトである。メツセンジャはオ
ブジェクト・マネージャのテーブル中にインスタンス 
Bを導入することは出来ない。
(4) メツセンジャは、オブジェクト・マネージャの
メモリ内オブジェクトのテーブル中にインスタンス B
を見出すことが出来ないが、併し、クラス Bは持続的
クラスから継承しているから、メツセンジャは、次に、
オブジェクトそれ自身にメツセージを送る。そのメツセ
ージは以下の通りである。
0bjeet、Materialfze;持続的クラス
はこのメソッドを含み、且つ、クラス Bは持続性を継
承していると言う事実によって、インスタンス Bはこ
のメツセージ・セルを受は取ることが出来る。
(5) マチリアライス・メソッドは、各クラスの子供
に、延期される下位のDB  検索メソッドに対して持
続性インターフェースを与える。従って、マチリアライ
ス・メソッドはDB検索メソッドに呼び出しを送る。
5ELF、DB Retrieve; (6) クラス BのDB  検索メソッドは、どのよ
うにして(a)オブジェクト・タイプのクラス Bのイ
ンスタンスのためにデータベースをサーチするかという
ことと、(b)メモリ中にオブジェクト・タイプのクラ
ス Bのインスタンスをロードするかということとを知
っている。
インスタンス Bはオブジェクト・タイプのクラス B
のインスタンスである。従って、DB 検索メソッドは
、インスタンス Bがデータベース中にはないことを決
定する。これは、検索が失敗したことを表示して、マチ
リアライス・メソッドに戻す、システムの状態は変化無
く維持される。
(7) 次に、マチリアライス・メソッドは失敗したこ
との表示をメツセンジャに戻す。
(8) メツセンジャはマテリアライズ・メソッドが成
功しなかったことを知るので、メツセンジャはrlnv
alld  0bjectIDJ(無効なオブジェクト
識別子)除外(ex−ception )によってメツ
セージの処理を無効にする。
場合。
この例は、データベースから既にマテリアライズされて
いるオブジェクトが、それ自身デマテリアライズするよ
うに要求されるが、但し、オブジェクトがメモリ中にあ
る間、オブジェクトには変更は加えられない場合を説明
している。
(1) 最初に、システムの状態は第12図に示したよ
うに現われている。
(2) メツセンジャは、然るべき理由によって、持続
性オブジェクトをデマテリアライズする時間であること
を決定する。従って、メツセンジャはインスタンス A
に、以下のようなデマテリアライズ要求を送る。
0bject、Dematerjalize;(3) 
インスタンス Aのメモリ標識はデータベースから最初
に読み取られた標識なので、デマテリアライズ・メソッ
ドは、インスタンスAのメモリ標識が変更されずに維持
されていることを、インスタンス AのDemat−8
tateを見ることによって決定する。このことは、イ
ンスタンス Aをデータベースに対して物理的に書き戻
す必要はないことを意味する。
従って、デマテリアライズ・メソッドはメモリからその
オブジェクトを単純に除去し、「OK」状態をメツセン
ジャに戻す。
(4) その後、メツセンジャはメモリ中のオブジェク
トのリストからインスタンス Aを取り除くようオブジ
ェクト・マネージャに要求する。
(5) オブジェクト・マネージャのテーブルは第13
図に示されたように現われ、第13図において、xxx
xxxxxは、この時点においてメモリ中にある他の無
関係のオブジェクトを示している。
(6) システムの状態は第13図に示したような状態
である。
この例は、現在、データベース中に存在しておらず、新
規に作成されるオブジェクトが、それ自身、デマテリア
ライズされるよう求められる場合を説明している。(第
15図) (1) 最初のシステム状態は第11図に示したように
現われる。
(2) ある必然的な理由に基いて、メツセンジャは、
持続性オブジェクトをデマテリアライズする時であるこ
とを決定する。従って、メツセンジャはインスタンス 
Aに下記のようなデマテリアライズ要求を送る。
0bject、Dematerialize;(3) 
デマテリアライズ・メソッドは、イ5tateを見るこ
とによって決定する。
このことは、インスタンス Aは、まだデータベース中
に存在しておらず、新しい行として「挿入」されねばな
らないことを意味する。従って、デマテリアライズ・メ
ソッドはDB  挿入メソッドを呼び出す。このメツセ
ージは以下の通りである。
5ELF、DB In5ert (4) クラス AのDB  挿入メソッドは、クラス
 Aの新しいインスタンスを、データベースの中にどの
ようにして付加するかを知っている。従って、DB  
挿入メソッドは、データベース中にインスタンス Aを
加え、そして挿入動作が成功したことを表わす標識子を
デマテリアライズ・メソッドに戻す。
(5) 同様に、デマテリアライズ・メソッドは、メツ
センジャに成功を表わす標識子を戻す。
(6) 次に、メツセンジャはメモリ中のオブジェクト
のテーブルからインスタンス−Aを消去するようオブジ
ェクト・マネージャに要求する。
(7) オブジェクト・マネージャは第16図に示した
ように現われ、第16図において、xxxxxxxxは
、この時点においてメモリ中にある他の無関係のオブジ
ェクトを示している。
(8) システムの状態は第17図に示したような状態
である。
この例は、データベースから既にマテリアライズされた
オブジェクトそれ自身が、デマテリアライズされるよう
求められ、オブジェクトがメモリにある間に変更される
場合を説明している。(第18図) (1) 最初のシステムの状態は第11図に示されたよ
うに現われており、この場合、インスタンス A′はイ
ンスタンス Aに更新され、または修正されたバージョ
ンである。インスタンス A及びインスタンス A′は
同じインスタンスであり、このことは、それらが、同じ
オブジェクト標識子を持っていることを意味する。
然しながら、インスタンス A′はインスタンス Aよ
りも遅い時間状態のオブジェクトを表示している。
(2) 然るべき理由によって、メツセンジャは持続性
オブジェクトをデマテリアライズする時間であることを
決定する。従って、メツセンジャはインスタンス A′
に対して以下のデマテリアライズ要求を送る。
0bject、Material ize;(3) デ
マテリアライズ・メソッドは、インスタンス A′が既
にデータベース中に既に存在している(インスタンス 
Aの形式で)ことを、インスタンス A′のDemat
  5taleを見ることによって決定する。このこと
は、データベース中のインスタンス−Aがインスタンス
 A′からのデータによって「更新」されねばならない
ことを意味する。従って、デマテリアライズ・メソッド
は、DB−更新メソッドを呼び出す、このメツセージは
以下の通りである。
5ELF、DB Update; (4) クラス A′のDB−更新メソッドはデータベ
ース中のクラス−Aをどのように更新するかを知ってい
る。従って、DB−更新メソッドは、データベース中の
インスタンス−Aを更新しく更新後は、インスタンス−
A′ と全く同じである)、そして、更新動作が成功し
たことを示す標識子をデマテリアライズ・メソッドに戻
す。
(5) デマテリアライ芥・メソッドは、同様に、成功
したことを示す標識子をメツセンジャに戻す。
(6) その後、メツセンジャはメモリ中のオブジェク
トのテーブルからインスタンス−A′を除去するようオ
ブジェクト・マネージャに要求する。
(7) オブジェクト・マネージャは第19図に示した
ように現われ、第19図において、xxxxxxxxは
、この時点においてメモリ中にある他の無関係のオブジ
ェクトを示している。
(8) システムの状態は第20図に示したような状態
である。
この例においては、データベースから既にマテリアライ
ズされたオブジェクトそれ自身がデマテリアライズされ
ることを要求され、そしてオブジェクトはそれ自身削除
されるよう求められる。
(1) 最初に、システム状態は第11図に示されたよ
うに現われ、ここで、インスタンスAは、インスタンス
 Aの「削除されるべき」バージョンである。
(2) 然るべき理由の下で、メツセンジャは持続性オ
ブジェクトをデマテリアライズする時間であることを決
定する。従って、メツセンジャはインスタンス Aに対
して以下のデマテリアライズ要求を送る。
0bject、Material :ze:(3) デ
マテリアライズ・メソッドは、データベースからインス
タンス Aを削除することを、インスタンス AのDe
mat  5tateを見ることによって決定する。従
って、デマテリアライズ・メソッドは、DB  削除メ
ソッドを呼び出す。このメツセージは以下の通りである
5ELF、DB Delete; (4) クラス AのDB  削除メソッドはデータベ
ース中のクラス Aをどのように削除するかを知ってい
る。従って、DB  削除メソッドは、データベース中
のインスタンス Aを削除し、そして、削除動作が成功
したことを示す標識子をデマテリアライズ・メソッドに
戻す。
(5) 同様に、デマテリアライズ・メソッドは、動作
が成功したことを示す標識子をメツセンジャに戻す。
(6) 次に、メツセンジャはメモリ中のオブジェクト
のテーブルからインスタンス Aを除去するようオブジ
ェクト・マネージャに要求する。
(7) オブジェクト・マネージャは第22図に示した
ように現われ、第22図において、xxxxxxxxは
、この時点においてメモリ中にある他の無関係のオブジ
ェクトである。
(8) システム収態は第23図に示したような収態で
ある。
擬似コードの付表 以下に示す別表はオブジェクト指向コンピュータ・シス
テムにおいて、本発明の持続的クラスを実施する擬似コ
ードのリストを示している。このような擬似コードのリ
ストはIBMの公知の「構造化された問い合せランゲー
ジJ (5tructuredQuery Langa
uge−3QL )で動作するようデザインされている
。SQLについては、IBMの刊行物番号5C26−4
380−0のrlBMのデータベース2バージヨン2の
SQLリファレンス・レリーズI J (IBM Da
tabase 2 Version 2 SQL Re
ferencel)に記載されている。
(以下余白) コ4  コ一  8  )4 8 8 8 8 24 
8  只  81i 前 # ヰ 諸− 醗 ト ぐ 高 量 肴 ト 八 ト 和    。
X−L6 シ 、ヤ ■  iプ 4 一 必 必 卜 # Ω へ )喀  X  只 1 コ 1ト 17 〉 茄 イン U へ 絽 絽 椰 セ 勢 * 任 勢 * 伜 脅 養 砦 脅 兇 ジ 勢
 答 う6 畳+111111111111111 1111111111111111 副 星 口 ■ 1 1 1 II Uへ一生 −L べ 2 如 :X /N  L 旨 塾 へ 襄 躯 aW444al 脣 曽 k 斗 些 些 栃 困 勢 う6 曽 持 
妊 脅 勢 冊1111111111111111 1111111111111111 1 111   示 F1発明の効果 本発明はオブジェクト指向ブロクセラミンク・システム
のインターフェースを与える。
【図面の簡単な説明】
第1図はオブジェクトの模式的に表わした図、第2図は
オブジェクトの例を模式的に表わした図、第3図はオブ
ジェクトの継承的な特長を説明するための図、第4図は
本発明に従ったオブジェクト指向コンピュータ・システ
ムの模式的ブロック図、第5図は本発明に従ったオブジ
ェク指向のプログラムの模式的なブロック図、第6図乃
至第9図は本発明に従った「マチリアライス」メソッド
の第1の例に間して、揮発性メモリと非揮発性メモリの
内容とオブジェクのリストとを示す図、第10図及び第
11図は本発明に従った「マチリアライス」メソッドの
第2の例に関して、揮発性メモリと非揮発性メモリの内
容とオブジェクのリストとを示す図、第12図乃至第1
4図は本発明に従った「デマテリアライズ」メソッドの
第1の例に間して、揮発性メモリと非揮発性メモリの内
容とオブジェクのリストとを示す図、第15図乃至第1
7図は本発明に従った「デマテリアライズ」メソッドの
第2の例に関して、揮発性メモリと非押発性メモリの内
容とオブジェクのリストとを示す図、第18図乃至第2
0図は本発明に従った「デマテリアライズ」メソッドの
第3の例に関して、揮発性メモリと非揮発性メモリの内
容とオブジェクのリストとを示す図、第21図乃至第2
3図は本発明に従った「デマテリアライズ」メソッドの
第4の例に関して、揮発性メモリと鼻揮発性メモリの内
容とオブジェクのリストとを示す図である。 10・・・・オブジェクト指向コンピュータ・システム
、11・・・・データ・プロセッサ、12・・・・オブ
ジェクト指向プログラム、18・・・・揮発性メモリ、
14・・・・非揮発性データ・ストレージ、15・・・
・デイスプレー装置、51・・・・メツセンジャ、52
・・・・オブジェクト・マネージャ、53・・・・ロー
ドされたクラスのテーブル、54・・・・メソッドA1
55・・・・メソッド 8156・・・・データ・フレ
ーム。 第4図 11113図 第5図 第6因 @7図 第10囚 第11囚 第8因 第9■ 第12図 第165iIl 11114図 第+81Z 第49囚 第16図 第20図 111H図

Claims (39)

    【特許請求の範囲】
  1. (1)非揮発性データ・ストレージ装置と、揮発性デー
    タ・ストレージ装置と、 上記非揮発性データ・ストレージ装置及び上記揮発性デ
    ータ・ストレージ装置に接続されているオブジェクト指
    向データ・プロセッサと を含むオブジェクト指向コンピュータ・システムにおい
    て、上記オブジェクト指向データ・プロセッサは、 複数個のオブジェクトと、各オブジェクトはフレームと
    少なくとも1つのメソッドとを含み、上記フレームは上
    記オブジェクトの複数個の属性を含み、上記少なくとも
    1つのメソッドは関連するフレーム中の選択された属性
    に遂行される少なくとも1つの機能を含むことと、 上記複数個のオブジェクトは親オブジェクト及び子オブ
    ジェクトの階層的構成に配列されており、子オブジェク
    トは親オブジェクトの属性及びメソッドを継承すること
    と、 持続的クラスのオブジェクトを含む上記複数個のオブジ
    ェクトは上記非揮発性データ・ストレージ装置中に位置
    付けられ指定されたオブジェクトを上記揮発性データ・
    ストレージ装置にストアし、且つ上記揮発性データ・ス
    トレージ装置中に位置付けられ指定されたオブジェクト
    を上記非揮発性データ・ストレージ装置にストアするた
    めの少なくとも1つの持続的クラスのメソッドを含むこ
    とと、 上記持続的クラスのオブジェクトから継承させるため、
    上記複数個のオブジェクトの選択された1つのオブジェ
    クトは上記持続的クラスのオブジェクトの子オブジェク
    トであるように配列し、これにより、上記複数個のオブ
    ジェクトの上記選択された1つのオブジェクトの持続性
    が与えられることと を具備するオブジェクト指向コンピュータ・システム。
  2. (2)請求項(1)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記少なくとも1つの持続的
    クラスのメソッドは、 指定されたオブジェクトを上記揮発性データ・ストレー
    ジ装置にマテリアライズするための第1のメソッドと、 指定されたオブジェクトを上記非揮発性データ・ストレ
    ージ装置からデマテリアライズするための第2のメソッ
    ドと を含むことを特徴とするオブジェクト指向コンピュータ
    ・システム。
  3. (3)請求項(2)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられているならば、上
    記非揮発性データ・ストレージ装置中に位置付けられて
    いる上記指定されたオブジェクトを上記揮発性データ・
    ストレージ装置中にストアする手段と を含むことを特徴とするオブジェクト指向コンピュータ
    ・システム。
  4. (4)請求項(2)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを発生する手段とを含むことを特徴とする
    オブジェクト指向コンピュータ・システム。
  5. (5)請求項(3)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第1のメソッドは、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを発生する手段を含むことを特徴とするオ
    ブジェクト指向コンピュータ・システム。
  6. (6)請求項(2)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間で、上記指定され
    たオブジェクトに変更が加えられたか否かを決定する手
    段と、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられなければ、上記
    指定されたオブジェクトを上記揮発性データ・ストレー
    ジ装置から除去する手段と を含むことを特徴とするオブジェクト指向コンピュータ
    ・システム。
  7. (7)請求項(2)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間で、上記指定され
    たオブジェクトに変更が加えられたか否かを決定する手
    段と、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを、上記揮発性データ・ストレージ装置中の
    上記指定されたオブジェクトに置換する手段と を含むことを特徴とするオブジエクト指向コンピュータ
    ・システム。
  8. (8)請求項(6)に記載のオブジエクト指向コンピュ
    ータ・システムにおいて、上記第2のメソッドは、 上記指定されたオブジエクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換する手段を含むことを
    特徴とするオブジェクト指向コンピュータ・システム。
  9. (9)請求項(2)に記載のオブジェクト指向コンピュ
    ータ・システムにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中で新規に作成されたか否かを決定する手段
    と、 若し、上記指定されたオブジェクトが上記揮発性データ
    ・ストレージ装置中で新規に作成されたならば、上記非
    揮発性データ・ストレージ装置中の上記指定されたオブ
    ジェクトをストアする手段と を含むことを特徴とするオブジェクト指向コンピュータ
    ・システム。
  10. (10)請求項(2)に記載のオブジェクト指向コンピ
    ュータ・システムにおいて、上記第2のメソッドは、 上記指定されたオブジェクトは上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、上
    記指定されたオブジェクトを上記非揮発性データ・スト
    レージ装置中にストアする手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていれば、上記指
    定されたオブジェクトが、上記揮発性データ・ストレー
    ジ装置中に位置付けられている間に変更されたか否かを
    決定する手段と、若し、上記指定されたオブジェクトが
    上記揮発性データ・ストレージ装置中に位置付けられて
    いる間に、変更されなかつたならば、上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置から消
    去する手段と、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを、上記揮発性データ・ストレージ装置中の
    上記指定されたオブジェクトに置換する手段を含むこと
    を特徴とするオブジェクト指向コンピュータ・システム
  11. (11)請求項(1)に記載のオブジェクト指向コンピ
    ュータ・システムにおいて、上記揮発性データ・ストレ
    ージ装置はランダム・アクセス・メモリであることを特
    徴とするオブジェクト指向コンピュータ・システム。
  12. (12)請求項(1)に記載のオブジェクト指向コンピ
    ュータ・システムにおいて、上記非揮発性データ・スト
    レージ装置は直接アクセス・ストレージ装置であること
    を特徴とするオブジェクト指向コンピュータ・システム
  13. (13)請求項(1)に記載のオブジェクト指向コンピ
    ュータ・システムにおいて、上記複数個のオブジェクト
    の上記選択された1つのオブジェクトは持続性データを
    取り囲むオブジェクトを含むことを特徴とするオブジェ
    クト指向コンピュータ・システム。
  14. (14)揮発性データ・ストレージ装置と、非揮発性デ
    ータ・ストレージ装置と、上記揮発性データ・ストレー
    ジ装置及び上記非揮発性データ・ストレージ装置とに接
    続されたオブジェクト指向データ・プロセッサと、フレ
    ーム及び少なくとも1つのメソッドを含む複数個のオブ
    ジェクトとで構成されるオブジエクト指向コンピュータ
    ・システムにおいて、上記複数個のオブジエクトの選択
    された1つのオブジエクトの一貫性を維持するための方
    法は、 持続的クラスのオブジェクトを与えるステップと、 上記持続的クラスのオブジエクトから継承するために、
    上記複数個のオブジエクトの上記選択されたオブジエク
    トを配列するステップとからなり、上記複数個のオブジ
    ェクトの上記選択されたオブジェクトは上記持続的クラ
    スのオブジェクトの属性及びメソッドを継承すること を特徴とするオブジェクトの一貫性を維持する方法。
  15. (15)請求項(14)に記載のオブジェクトの一貫性
    を維持する方法において、 持続的クラスのオブジェクトを与える上記ステップは、
    上記非揮発性データ・ストレージ装置中に位置付けられ
    指定されたオブジェクトを上記揮発性データ・ストレー
    ジ装置中にストアするステップと、上記揮発性データ・
    ストレージ装置中に位置付けられ指定されたオブジェク
    トを上記非揮発性データ・ストレージ装置中にストアす
    るステップとを遂行するメソッド有する持続的クラスの
    オブジェクトを与えるステップを含むことを特徴とする
    オブジェクトの一貫性を維持する方法。
  16. (16)請求項(14)に記載のオブジェクトの一貫性
    を維持する方法において、 持続的クラスのオブジェクトを与える上記ステップは、
    指定されたオブジェクトを上記非揮発性データ・ストレ
    ージ装置中にマテリアライズするステップを遂行する第
    1のメソッドと、上記非揮発性データ・ストレージ装置
    から指定されたオブジェクトをデマテリアライズするス
    テップを遂行する第2のメソッドとを有する持続的クラ
    スのオブジェクトを与えるステップを含むことを特徴と
    するオブジェクトの一貫性を維持する方法。
  17. (17)持続的クラスのオブジェクトを与える上記ステ
    ップが、第1のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    ステップと、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていれば、上記非
    揮発性データ・ストレージ装置中に位置付けられている
    上記指定されたオブジェクトを上記揮発性データ・スト
    レージ装置中にストアするステップと を含むことを特徴とするオブジェクトの一貫性を維持す
    る方法。
  18. (18)持続的クラスのオブジェクトを与える上記ステ
    ップが、第1のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    ステップと、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを与えるステップとを含むことを特徴とす
    るオブジェクトの一貫性を維持する方法。
  19. (19)持続的クラスのオブジェクトを与える上記ステ
    ップが、第1のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(18)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    1のメソッドは、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを与えるステップを含むことを特徴とする
    オブジェクトの一貫性を維持する方法。
  20. (20)持続的クラスのオブジエクトを与える上記ステ
    ップが、第2のメソッドを有する持続的クラスのオブジ
    エクトを与えるステップを含む請求項(16)に記載の
    オブジエクトの一貫性を維持する方法において、上記第
    2のメソッドは、 上記指定されたオブジエクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、上記指定され
    たオブジエクトに変更が行われたか否かを決定するステ
    ップと、 上記指定されたオブジエクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジエクトに変更が行われなければ、上記揮
    発性データ・ストレージ装置から上記指定されたオブジ
    ェクトを除去するステップと を含むことを特徴とするオブジェクトの一貫性を維持す
    る方法。
  21. (21)持続的クラスのオブジェクトを与える上記ステ
    ップが、第2のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、上記指定され
    たオブジェクトに変更が行われたか否かを決定するステ
    ップと、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換するステップと を含むことを特徴とするオブジェクトの一貫性を維持す
    る方法。
  22. (22)持続的クラスのオブジェクトを与える上記ステ
    ップが、第2のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換するステップを含むこ
    とを特徴とするオブジェクトの一貫性を維持する方法。
  23. (23)持続的クラスのオブジェクトを与える上記ステ
    ップが、第2のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中で新規に作成されたか否かを決定するステ
    ップと、 若し、上記指定されたオブジェクトが上記揮発性データ
    ・ストレージ装置中で新規に作成されたならば、上記非
    揮発性データ・ストレージ装置中の上記指定されたオブ
    ジェクトをストアするステップと を含むことを特徴とするオブジェクトの一貫性を維持す
    る方法。
  24. (24)持続的クラスのオブジェクトを与える上記ステ
    ップが、第2のメソッドを有する持続的クラスのオブジ
    ェクトを与えるステップを含む請求項(16)に記載の
    オブジェクトの一貫性を維持する方法において、上記第
    2のメソッドは、 上記指定されたオブジェクトは上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    ステップと、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、上
    記指定されたオブジェクトを上記非揮発性データ・スト
    レージ装置中にストアするステップと、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていれば、上記揮
    発性データ・ストレージ装置中に位置付けられている間
    に、上記指定されたオブジェクトが変更されたか否かを
    決定するステップと、若し、上記揮発性データ・ストレ
    ージ装置中に位置付けられている間に、上記指定された
    オブジェクトが変更されなかつたならば、上記指定され
    たオブジェクトを上記揮発性データ・ストレージ装置か
    ら消去するステップと、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換するステップを含むこ
    とを特徴とするオブジェクトの一貫性を維持する方法。
  25. (25)非揮発性データ・ストレージ装置と、揮発性デ
    ータ・ストレージ装置と、上記非揮発性データ・ストレ
    ージ装置及び上記揮発性データ・ストレージ装置に接続
    されているオブジェクト指向データ・プロセッサとから
    なるオブジェクト指向コンピュータ・システムのための
    持続的クラスのオブジェクトにおいて、上記持続性オブ
    ジェクトは、上記非揮発性データ・ストレージ装置中に
    位置付けられている指定されたオブジェクトを上記揮発
    性データ・ストレージ装置中にマテリアライズするため
    の第1の持続的クラスのメソッドと、上記揮発性データ
    ・ストレージ装置中に位置付けられている指定されたオ
    ブジェクトを上記非揮発性データ・ストレージ装置中に
    デマテリアライズするための第1の持続的クラスのメソ
    ッドとを含むことを特徴とする持続的クラスのオブジェ
    クト。
  26. (26)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられているならば、上
    記非揮発性データ・ストレージ装置中に位置付けられて
    いる上記指定されたオブジェクトを上記揮発性データ・
    ストレージ装置中にストアする手段と を含むことを特徴とする持続的クラスのオブジェクト。
  27. (27)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第1のメソッドは、 上記指定されたオブジェクトが上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを発生する手段とを含むことを特徴とする
    持続的クラスのオブジェクト。
  28. (28)請求項(26)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第1のメソッドは、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、エ
    ラー・コードを発生する手段を含むことを特徴とする持
    続的クラスのオブジェクト。
  29. (29)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間で、上記指定され
    たオブジェクトに変更が加えられたか否かを決定する手
    段と、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられなければ、上記
    指定されたオブジェクトを上記揮発性データ・ストレー
    ジ装置から除去する手段と を含むことを特徴とする持続的クラスのオブジェクト。
  30. (30)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間で、上記指定され
    たオブジエクトに変更が加えられたか否かを決定する手
    段と、 上記指定されたオブジエクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジエクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジエクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジエクトに置換する手段と を含むことを特徴とする持続的クラスのオブジエクト。
  31. (31)請求項(29)に記載の持続的クラスのオブジ
    エクトにおいて、上記第2のメソッドは、 上記指定されたオブジエクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換する手段を含むことを
    特徴とする持続的クラスのオブジェクト。
  32. (32)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第2のメソッドは、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中で新規に作成されたか否かを決定する手段
    と、 若し、上記指定されたオブジェクトが上記揮発性データ
    ・ストレージ装置中で新規に作成されたならば、上記非
    揮発性データ・ストレージ装置中の上記指定されたオブ
    ジェクトをストアする手段と を含むことを特徴とする持続的クラスのオブジェクト。
  33. (33)請求項(25)に記載の持続的クラスのオブジ
    ェクトにおいて、上記第2のメソッドは、 上記指定されたオブジェクトは上記非揮発性データ・ス
    トレージ装置中に位置付けられているか否かを決定する
    手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていなければ、上
    記指定されたオブジェクトを上記非揮発性データ・スト
    レージ装置中にストアする手段と、 若し、上記指定されたオブジェクトが上記非揮発性デー
    タ・ストレージ装置中に位置付けられていれば、上記揮
    発性データ・ストレージ装置中に位置付けられている間
    に、上記指定されたオブジェクトが変更されたか否かを
    決定する手段と、若し、上記揮発性データ・ストレージ
    装置中に位置付けられている間に、上記指定されたオブ
    ジェクトが変更されなかつたならば、上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置から消
    去する手段と、 上記指定されたオブジェクトが上記揮発性データ・スト
    レージ装置中に位置付けられている間に、若し、上記指
    定されたオブジェクトに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記指定されたオ
    ブジェクトを上記揮発性データ・ストレージ装置中の上
    記指定されたオブジェクトに置換する手段を含むことを
    特徴とする持続的クラスのオブジェクト。
  34. (34)揮発性データ・ストレージ装置と、非揮発性デ
    ータ・ストレージ装置と、上記揮発性データ・ストレー
    ジ装置中にストアされている複数個のデータ・エレメン
    トを処理するために、上記非揮発性データ・ストレージ
    装置及び上記揮発性データ・ストレージ装置に接続され
    ているデータ・プロセッサとからなるコンピュータ・シ
    ステムにおいて、上記揮発性データ・ストレージ装置中
    にストアされている上記複数個のデータ・エレメントの
    選択された1つのデータ・エレメントの一貫性を維持す
    る方法が、 上記揮発性データ・ストレージ装置中にストアされてい
    る第1のデータ・エレメントが上記揮発性データ・スト
    レージ装置から消去されるべきことを決定するステップ
    と、 上記データ・エレメントが上記データ・エレメントの内
    の上記選択された1つを含んでいるか否かを決定するス
    テップと、 若し、上記第1のデータ・エレメントが上記データ・エ
    レメントの選択された1つを含んでいるならば、上記非
    揮発性データ・ストレージ装置中に上記第1のデータ・
    エレメントをストアするステップと を含むことを特徴とするデータ・エレメントの一貫性を
    維持する方法。
  35. (35)請求項(34)に記載のデータ・エレメントの
    一貫性を維持する方法において、上記ストアするステッ
    プは、 上記第1のデータ・エレメントは上記非揮発性データ・
    ストレージ装置中にもストアされているか否かを決定す
    るステップと、 上記第1のデータ・エレメントが上記揮発性データ・ス
    トレージ装置内で変更されたか否かを決定するステップ
    と、 若し、上記第1のデータ・エレメントが上記揮発性デー
    タ・ストレージ装置内で変更されたならば、上記非揮発
    性データ・ストレージ装置中の上記第1のデータ・エレ
    メントを上記揮発性データ・ストレージ装置内の上記第
    1のデータ・エレメントに置換するステップと を含むことを特徴とするデータ・エレメントの一貫性を
    維持する方法。
  36. (36)請求項(34)に記載のデータ・エレメントの
    一貫性を維持する方法において、上記ストアするステッ
    プは、 上記第1のデータ・エレメントが上記非揮発性データ・
    ストレージ装置中にもあるか否かを決定するステップと
    、 若し、上記第1のデータ・エレメントが上記非揮発性デ
    ータ・ストレージ装置中になければ、上記非揮発性デー
    タ・ストレージ装置中の上記第1のデータ・エレメント
    をストアするステップと、若し、上記第1のデータ・エ
    レメントが上記非揮発性データ・ストレージ装置中にも
    あれば、上記第1のデータ・エレメントは変更されたか
    否かを決定するステップと、 若し、上記第1のデータ・エレメントが上記非揮発性デ
    ータ・ストレージ装置中になければ、上記揮発性データ
    ・ストレージ装置から上記第1のデータ・エレメントを
    消去するステップと、若し、上記第1のデータ・エレメ
    ントが上記揮発性データ・ストレージ装置中において変
    更されたならば、上記非揮発性データ・ストレージ装置
    中の上記第1のデータ・エレメントを上記揮発性データ
    ・ストレージ装置中の上記第1のデータ・エレメントに
    置換するステップと を含むことを特徴とするデータ・エレメントの一貫性を
    維持する方法。
  37. (37)揮発性データ・ストレージ装置と、非揮発性デ
    ータ・ストレージ装置と、 上記揮発性データ・ストレージ装置中にストアされてい
    るデータ・エレメントを処理するために、上記非揮発性
    データ・ストレージ装置及び揮発性データ・ストレージ
    装置とに接続されているデータ・プロセッサとからなる
    コンピュータ・システムにおいて、上記データ・エレメ
    ントの選択されたデータ・エレメントの一貫性を維持す
    るための持続性データ処理手段を含む上記データ・プロ
    セッサは、 上記揮発性データ・ストレージ装置中にストアされてい
    る第1のデータ・エレメントが上記揮発性データ・スト
    レージ装置から消去されるべきものであることを決定す
    る手段と、上記第1のデータ・エレメントが上記データ
    ・エレメントの上記選択されたデータ・エレメントの1
    つを含んでいるか否かを決定する手段と、若し、上記第
    1のデータ・エレメントが上記データ・エレメントの上
    記選択されたデータ・エレメントの1つを含んでいれば
    、上記非揮発性データ・ストレージ装置中に上記第1の
    データ・エレメントをストアする手段と を含むことを特徴とするコンピュータ・システム。
  38. (38)請求項(37)に記載のコンピュータ・システ
    ムにおいて、 上記第1のデータ・エレメントは上記非揮発性データ・
    ストレージ装置中にもストアされているか否かを決定す
    る手段と、 上記第1のデータ・エレメントが上記揮発性データ・ス
    トレージ装置中で変更された否かを決定する手段と、 若し、上記揮発性データ・ストレージ装置中の上記第1
    のデータ・エレメントに変更が加えられたならば、上記
    非揮発性データ・ストレージ装置中の上記第1のデータ
    ・エレメントを上記揮発性データ・ストレージ装置中の
    上記第1のデータ・エレメントに置換する手段と を含むことを特徴とするコンピュータ・システム。
  39. (39)請求項(37)に記載のコンピュータ・システ
    ムにおいて、 上記第1のデータ・エレメントは上記非揮発性データ・
    ストレージ装置中にもストアされているか否かを決定す
    る手段と、 若し、上記第1のデータ・エレメントが上記非揮発性デ
    ータ・ストレージ装置中になければ、上記非揮発性デー
    タ・ストレージ装置中の上記第1のデータ・エレメント
    をストアする手段と、若し、上記第1のデータ・エレメ
    ントが上記非揮発性データ・ストレージ装置中にもあれ
    ば、上記第1のデータ・エレメントは変更されたか否か
    を決定する手段と、 若し、上記第1のデータ・エレメントが上記非揮発性デ
    ータ・ストレージ装置中になければ、上記揮発性データ
    ・ストレージ装置から上記第1のデータ・エレメントを
    消去する手段と、 若し、上記第1のデータ・エレメントが上記揮発性デー
    タ・ストレージ装置中において変更されたならば、上記
    非揮発性データ・ストレージ装置中の上記第1のデータ
    ・エレメントを上記揮発性データ・ストレージ装置中の
    上記第1のデータ・エレメントに置換する手段と を含むことを特徴とするコンピュータ・システム。
JP2220128A 1989-10-23 1990-08-23 オブジエクト指向コンピユータ・システム Expired - Fee Related JPH0833862B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42582489A 1989-10-23 1989-10-23
US425824 1989-10-23

Publications (2)

Publication Number Publication Date
JPH03137730A true JPH03137730A (ja) 1991-06-12
JPH0833862B2 JPH0833862B2 (ja) 1996-03-29

Family

ID=23688181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2220128A Expired - Fee Related JPH0833862B2 (ja) 1989-10-23 1990-08-23 オブジエクト指向コンピユータ・システム

Country Status (3)

Country Link
US (1) US5247669A (ja)
EP (1) EP0425420A3 (ja)
JP (1) JPH0833862B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0798649A (ja) * 1993-06-14 1995-04-11 Internatl Business Mach Corp <Ibm> 固定オブジェクト記憶システム

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291593A (en) * 1990-10-24 1994-03-01 International Business Machines Corp. System for persistent and delayed allocation object reference in an object oriented environment
US5822590A (en) * 1991-10-31 1998-10-13 Texas Instruments Incorporated dbX: a persistent programming language model
DE69328800D1 (de) * 1992-03-24 2000-07-13 Canon Kk Verfahren und Verwaltung einer sowohl dauerhafte als auch zeitweilige Daten enthaltenden Datenstruktur
US5528261A (en) * 1992-06-09 1996-06-18 Apple Computer, Inc. Operating system software architecture and methods for supporting color processing
US5404525A (en) * 1992-09-30 1995-04-04 International Business Machines Corporation Efficient method router that supports multiple simultaneous object versions
JP2597460B2 (ja) * 1992-11-12 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 複合データ構造を生成及び記憶する方法及び装置
US5603030A (en) * 1993-01-07 1997-02-11 Microsoft Corporation Method and system for destruction of objects using multiple destructor functions in an object-oriented computer system
US5394523A (en) * 1993-01-22 1995-02-28 Taligent, Inc. Polymorphic graphic device
US5613099A (en) * 1993-02-17 1997-03-18 International Business Machines Corporation Persistent object storage system with modifiable group skeletal formats
US5640546A (en) * 1993-02-23 1997-06-17 Network Programs, Inc. Composition of systems of objects by interlocking coordination, projection, and distribution
US5652879A (en) * 1993-05-12 1997-07-29 Apple Computer, Inc. Dynamic value mechanism for computer storage container manager enabling access of objects by multiple application programs
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
US5870764A (en) * 1993-05-12 1999-02-09 Apple Computer, Inc. Method of managing a data structure for concurrent serial and parallel revision of a work
US5581761A (en) * 1993-07-20 1996-12-03 Sun Microsystems, Inc. Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system
JP2986051B2 (ja) * 1993-08-04 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
WO1995012848A1 (en) * 1993-11-03 1995-05-11 Eo, Inc. Recovery boot process
US5623657A (en) * 1993-12-30 1997-04-22 International Business Machines Corporation System for processing application programs including a language independent context management technique
AU1560195A (en) * 1994-01-05 1995-08-01 Apple Computer, Inc. Update mechanism for computer storage container manager
FR2717280B1 (fr) * 1994-03-10 1996-04-05 Bull Sa Procédé de gestion de l'héritage multiple d'objets persistants et partagés.
AU1747395A (en) * 1994-03-30 1995-10-23 Apple Computer, Inc. Object oriented message passing system and method
CA2202614A1 (en) * 1994-10-25 1996-05-02 Taligent, Inc. Object-oriented system for servicing windows
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
US5727203A (en) * 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US6715148B1 (en) 1995-04-03 2004-03-30 International Business Machines Corporation Efficient method router that supports multiple simultaneous object versions
US5778387A (en) * 1995-05-19 1998-07-07 Sprint Communications Co., L.P. Database automated recovery system
EP0783733B1 (en) * 1995-06-07 2001-11-14 International Business Machines Corporation Methodology for generating object structures for accessing conventional, non-object-oriented business applications
US5732263A (en) * 1995-10-03 1998-03-24 International Business Machines Corporation Systems, methods and computer program products for generating and validating user defined object classes in an object oriented programming environment after build time
US5822587A (en) * 1995-10-20 1998-10-13 Design Intelligence, Inc. Method and system for implementing software objects
US5809506A (en) * 1996-01-22 1998-09-15 International Business Machines Corporation Method for creating an object base of persisent application objects in an object oriented programming environment and apparatus related thereto
US6128771A (en) * 1996-02-09 2000-10-03 Sun Microsystems, Inc. System and method for automatically modifying database access methods to insert database object handling instructions
US6269407B1 (en) 1996-03-14 2001-07-31 International Business Machines Corporation Method and system for data filtering within an object-oriented data
US5870742A (en) * 1996-03-20 1999-02-09 International Business Machines Corporation Method and apparatus for enabling persistent attributes in an object oriented environment
US5870753A (en) * 1996-03-20 1999-02-09 International Business Machines Corporation Method and apparatus for enabling a persistent metastate for objects in an object oriented environment
AU2828997A (en) * 1996-05-07 1997-11-26 Electronic Data Systems Corporation Persistent object support method and system
US5715413A (en) * 1996-06-25 1998-02-03 International Business Machines Corporation Dragging and dropping with an instantiation object
US5809507A (en) * 1996-07-01 1998-09-15 Sun Microsystems, Inc. Method and apparatus for storing persistent objects on a distributed object network using a marshaling framework
US5787413A (en) * 1996-07-29 1998-07-28 International Business Machines Corporation C++ classes for a digital library
US5751613A (en) * 1996-09-03 1998-05-12 Doty; Douglas E. Persistent heap for dynamic picture objects
US6219717B1 (en) 1996-11-20 2001-04-17 Merrill Lynch & Co., Inc. Method and apparatus for implementing object transparent invocation
US6121964A (en) * 1996-12-09 2000-09-19 Microsoft Corporation Method and system for automatic persistence of controls in a windowing environment
US6097708A (en) * 1996-12-31 2000-08-01 Ericsson Inc. Frequency assigning method for an eight cell frequency re-use plan providing cellular communications system without adjacent frequency channels
US5905987A (en) 1997-03-19 1999-05-18 Microsoft Corporation Method, data structure, and computer program product for object state storage in a repository
DE69812340T2 (de) 1997-04-18 2003-10-16 Atoma Int Corp Dekorationsinnenbekleidigungselemente für kraftfahrzeuge mit einer gegossenen, lichtstabilen bedeckung und verfahren zu deren herstellung
US6263492B1 (en) * 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6125364A (en) * 1997-11-06 2000-09-26 International Business Machines Corporation Flexible object persistence framework using data cursor objects loaded from superclasses
US6070168A (en) * 1997-12-31 2000-05-30 Nortel Networks Corporation Platform-independent object memory manager
KR100280820B1 (ko) 1998-03-19 2001-02-01 정선종 C++ 객체지향 프로그래밍 시스템에서의 객체에 영속성부여 방법
DE19819205A1 (de) * 1998-04-29 1999-11-04 Siemens Ag Datenhaltungssystem für persistente Daten
US6351751B1 (en) * 1998-05-14 2002-02-26 Sun Microsystems, Inc. Persistent storage managers for configuring client/server environments
JP4135220B2 (ja) * 1998-07-01 2008-08-20 株式会社デンソー 車両用電子制御装置
US6792606B2 (en) 1998-07-17 2004-09-14 International Business Machines Corporation Method and apparatus for object persistence
US6769124B1 (en) * 1998-07-22 2004-07-27 Cisco Technology, Inc. Persistent storage of information objects
US6505211B1 (en) 1999-01-26 2003-01-07 International Business Machines Corporation Method for providing for persistence of java classes where the persistence semantics may be orthogonal to the class definition
US6247027B1 (en) * 1999-05-17 2001-06-12 Sun Microsystems, Inc. Facilitating garbage collection during object versioning for space and time dimensional computing
US7069540B1 (en) 2001-07-02 2006-06-27 Unisys Corporation COM persistence model
JP2003173246A (ja) * 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
US8291375B2 (en) * 2004-03-29 2012-10-16 Sybase, Inc. Attribute-based component programming system and methodology for object-oriented languages
US9435029B2 (en) 2010-08-29 2016-09-06 Advanced Energy Industries, Inc. Wafer chucking system for advanced plasma ion energy processing systems
US11615941B2 (en) 2009-05-01 2023-03-28 Advanced Energy Industries, Inc. System, method, and apparatus for controlling ion energy distribution in plasma processing systems
US9767988B2 (en) 2010-08-29 2017-09-19 Advanced Energy Industries, Inc. Method of controlling the switched mode ion energy distribution system
US9287086B2 (en) 2010-04-26 2016-03-15 Advanced Energy Industries, Inc. System, method and apparatus for controlling ion energy distribution
US9309594B2 (en) 2010-04-26 2016-04-12 Advanced Energy Industries, Inc. System, method and apparatus for controlling ion energy distribution of a projected plasma
US9362089B2 (en) 2010-08-29 2016-06-07 Advanced Energy Industries, Inc. Method of controlling the switched mode ion energy distribution system
US9210790B2 (en) 2012-08-28 2015-12-08 Advanced Energy Industries, Inc. Systems and methods for calibrating a switched mode ion energy distribution system
US9685297B2 (en) 2012-08-28 2017-06-20 Advanced Energy Industries, Inc. Systems and methods for monitoring faults, anomalies, and other characteristics of a switched mode ion energy distribution system
US9105447B2 (en) 2012-08-28 2015-08-11 Advanced Energy Industries, Inc. Wide dynamic range ion energy bias control; fast ion energy switching; ion energy control and a pulsed bias supply; and a virtual front panel
JP7289313B2 (ja) 2017-11-17 2023-06-09 エーイーエス グローバル ホールディングス, プライベート リミテッド プラズマ処理のためのイオンバイアス電圧の空間的および時間的制御
CN114339353B (zh) * 2021-12-31 2023-09-29 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质
US11942309B2 (en) 2022-01-26 2024-03-26 Advanced Energy Industries, Inc. Bias supply with resonant switching
US11670487B1 (en) 2022-01-26 2023-06-06 Advanced Energy Industries, Inc. Bias supply control and data processing
US11978613B2 (en) 2022-09-01 2024-05-07 Advanced Energy Industries, Inc. Transition control in a bias supply

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62115533A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd 知識処理システム
JPS62219124A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd デ−タベ−スにおける項目属性遺伝処理方式

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4509119A (en) * 1982-06-24 1985-04-02 International Business Machines Corporation Method for managing a buffer pool referenced by batch and interactive processes
US4506326A (en) * 1983-02-28 1985-03-19 International Business Machines Corporation Apparatus and method for synthesizing a query for accessing a relational data base
US4631664A (en) * 1983-07-19 1986-12-23 Bachman Information Systems, Inc. Partnership data base management system and method
US4604686A (en) * 1984-01-27 1986-08-05 Martin Marietta Corporation Associative data access method (ADAM) and its means of implementation
US4642762A (en) * 1984-05-25 1987-02-10 American Chemical Society Storage and retrieval of generic chemical structure representations
US4791550A (en) * 1985-02-13 1988-12-13 Rational Higher order language-directed computer
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US4747072A (en) * 1985-08-13 1988-05-24 Fairchild Camera And Instrument Corporation Pattern addressable memory
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4821220A (en) * 1986-07-25 1989-04-11 Tektronix, Inc. System for animating program operation and displaying time-based relationships
US4841433A (en) * 1986-11-26 1989-06-20 American Telephone And Telegraph Company, At&T Bell Laboratories Method and apparatus for accessing data from data attribute tables
US4811199A (en) * 1987-05-08 1989-03-07 Kuechler William L System for storing and manipulating information in an information base
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US4989132A (en) * 1988-10-24 1991-01-29 Eastman Kodak Company Object-oriented, logic, and database programming tool with garbage collection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62115533A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd 知識処理システム
JPS62219124A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd デ−タベ−スにおける項目属性遺伝処理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0798649A (ja) * 1993-06-14 1995-04-11 Internatl Business Mach Corp <Ibm> 固定オブジェクト記憶システム

Also Published As

Publication number Publication date
EP0425420A3 (en) 1992-09-23
JPH0833862B2 (ja) 1996-03-29
US5247669A (en) 1993-09-21
EP0425420A2 (en) 1991-05-02

Similar Documents

Publication Publication Date Title
JPH03137730A (ja) オブジエクト指向コンピユータ・システム
US6339782B1 (en) Persistence mechanism and method for objects
US6360230B1 (en) Method and system for uniformly accessing multiple directory services
US6601023B1 (en) Method for impact analysis of a model
US5682536A (en) Method and system for referring to and binding to objects using identifier objects
US6704743B1 (en) Selective inheritance of object parameters in object-oriented computer environment
US5771384A (en) Method and system for replacement and extension of container interfaces
US6366921B1 (en) System and method for data manipulation in a dynamic object-based format
US6243709B1 (en) Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies
US6477564B1 (en) Process for transforming and routing data between agent servers present in some machines and a central agent server present in another machine
JPH0997204A (ja) 分散オブジェクト操作環境において透明性のある不変性を提供する方法および装置
US6792606B2 (en) Method and apparatus for object persistence
JPH0833863B2 (ja) データベース管理装置及び方法
US6088739A (en) Method and system for dynamic object clustering
JPH03138734A (ja) オブジエクト指向データベース管理システム
US7451434B1 (en) Programming with shared objects in a shared memory
JPH04230530A (ja) オブジェクトの管理方法及びシステム
US6859919B1 (en) Object modeling tool with meta model semantic registry (rules) a meta data manager for object(s) properties an object/property interface for instance(s) of objects/properties received via object/property interface of the object factory registry
WO1999032998A1 (en) Method and apparatus for loading stored procedures in a database corresponding to object-oriented data dependencies

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees