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

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

Info

Publication number
JPH0833862B2
JPH0833862B2 JP2220128A JP22012890A JPH0833862B2 JP H0833862 B2 JPH0833862 B2 JP H0833862B2 JP 2220128 A JP2220128 A JP 2220128A JP 22012890 A JP22012890 A JP 22012890A JP H0833862 B2 JPH0833862 B2 JP H0833862B2
Authority
JP
Japan
Prior art keywords
volatile data
data storage
storage device
instance
specific object
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.)
Expired - Fee Related
Application number
JP2220128A
Other languages
English (en)
Other versions
JPH03137730A (ja
Inventor
ロバート・ロア・アブラハム
リチヤード・ユージン・ムア
ウイリアム・ローレンス・リツチ
フロイド・ウエイン・シヤツケルフオード
ジヨン・ラツセル・テイラー・ジユニア
リチヤード・スミス・ブリツグス
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明はオブジエクト指向プログラミング・システ
ム、より詳細に言えば、オブジエクト指向プログラミン
グ・システムにおいて、非揮発性メモリ中にストアされ
たオブジエクトを処理する装置及び方法に関する。
B.従来の技術 オブジエクト指向プログラミング・システム及びその
処理方法は、データ処理の分野の現状において多くの調
査対象となり、大きな関心が向けられている。オブジエ
クト指向プログラミングは、再使用可能で、且つ容易に
拡張可能なプログラムを与えるコンピユータ・プログラ
ムのパツケージ技術である。新しい機能的な要求や、新
しいタイプのデータに対して容易に適用することが出来
ない従来の機能的なプログラミング技術とは対照的に、
オブジエクト指向プログラムは、新しい要求が生じた
時、再使用可能で、拡張可能である。コンピユータ・ベ
ースのシステムが非常に複雑化してきたので、オブジエ
クト指向プログラミングは多くの関心と調査の対象にな
つている。
オブジエクト指向プログラミング・システムにおい
て、主な関心は機能ではなく、データに向けられてい
る。オブジエクト指向プログラミング・システムは多数
の「オブジエクト」で構成されている。1つのオブジエ
クトは1つのデータ・ストラクチヤと、そのデータ・ス
トラクチヤをアクセスすることの出来る1組の動作(オ
ペレーシヨン)、即ち、1組の機能(フアンクシヨン)
を含んでいる。データ・ストラクチヤは「フレーム」と
して表わすことが出来る。フレームは多くの「スロツ
ト」を有し、各スロツトはスロツト中のデータの「属
性」を含んでいる。データの属性は原始的なもの(プリ
ミテイブ)(即ち、完全体、またはストリング)また
は、他のオブジエクトのインスタンス(instance)(以
下に説明する)のポインタであるオブジエクト・リフア
レンス(Object Reference)である。データ・ストラク
チヤをアクセスすることの出来る各動作(機能)は「メ
ソツド」(method)と呼ばれる。
第1図はフレームがそのメソツドに取り囲まれている
オブジエクトの模式的な図形を示している。第2図はオ
ブジエクトの1例を示しており、この例におけるデータ
・ストラクチヤは従業員のデータと、このデータ・スト
ラクチヤを取り囲む複数個のメソツドとに関している。
例えば、1つのメソツドは従業員の年齢を取り出すもの
である。通常、定義された各オブジエクトは幾つかのイ
ンスタンス中に表示されている。各インスタンスはオブ
ジエクトの特定の例に対して特定のデータ・ストラクチ
ヤを含んでいる。例えば個人である従業員の氏名、ジヨ
イス・スミス(Joyce Smith)は「従業員」オブジエク
トのインスタンスである。
オブジエクト指向プログラミング・システムは、柔軟
性を有し、且つ再使用可能なプログラムが作成出来る2
つの主要な特性を与える。これらの特性は「カプセル
化」(encapsulation)及び「継承」(inheritance)と
呼ばれる。第1図から判るように、フレームはそのメソ
ツド(機能)によつて取り囲まれている。コードの壁は
データの各部分を取り囲んで位置付けられている。すべ
てのフレームへのアクセスは、取り囲んでいるメソツド
によつて処理される。オブジエクトのデータ・ストラク
チヤはそのメソツドによつてのみアクセスされるので、
データは独立して与えられる。関連したメソツドだけが
内部のデータ・ストラクチヤを知つている。このことは
データの一貫性(integurity)を保証する。
オブジエクト指向プログラミング・システムの「継
承」の特長は、オブジエクトの新しいスーパークラス
(上位クラス)及びサブクラス(下位クラス)を作成す
るために前に書かれたプログラムを拡張することが出来
ることである。新しいオブジエクトが、事前に存在する
オブジエクトに対して、どのように相異しているかに応
じて、新しいオブジエクトが記載されるので、新しいタ
イプのデータを処理し、または新しい機能を行うための
新しいプログラム全体を書く必要はない。
第3図は継承の特性を示している。図を容易に理解す
るために、オブジエクトは、円ではなく、矩形の上部に
オブジエクト名を持つ矩形として示されており、フレー
ムはオブジエクト名の下にあり、そしてメソツドはフレ
ームの下にある。第3図を参照すると、3つのオブジエ
クト・クラスは「セールスマン」、「従業員」及び「人
間」について記載されており、この中で、セールスマン
は従業員の「範疇」(kind of)であり、従業員は人間
の「範疇」であるとして示されている。換言すれば、セ
ールスマンは従業員のサブクラスであり、従業員はセー
ルスマンのスーパークラスであるということである。同
様に、従業員は人間のサブクラスであり、人間は従業員
のスーパークラスである。図示された各クラスは3つの
インスタンスを含んである。B.ソーター、W.チツプ及び
B.G.ブルーはセールスマンである。B.アブラハム、K.イ
エーツ及びR.ムーアは従業員である。J.マツケンロー、
R.ナダー及びR.リーガンは人間である。換言すれば、イ
ンスタンスは「××である」関係によつてそのクラスに
関連付けられていると言うことである。
各サブクラスはフレーム及びそのスーパークラスのメ
ソツドを「継承」する。従つて、例えばセールスマンの
フレームは年齢及び採用年月日オブジエクトと、従業員
サブクラスからの昇進のメソツドとを継承する。また、
セールスマンはそれ独自のコータ(quota)の属性と、
奨励金支払のメソツドとを含んでいる。各インスタンス
はそのスーパークラスのすべてのメソツド及びフレーム
をアクセスすることが出来るので、例えばB.G.ブルーを
昇進することが出来る。
オブジエクト指向システムにおいて、高いレベルのル
ーチンは、オブジエクトに何をするかを知らせる「メツ
セージ」をオブジエクトに送ることによつて、そのオブ
ジエクトのメソツドの1つを遂行するためにオブジエク
トに対して要求を行う。受取つたオブジエクトは、メツ
セージ名により指定されたメソツドを選び、そして、そ
のメソツドを実行することによつてメツセージに応答
し、その後、メソツドを実行した結果と共に、呼出した
高いレベルのルーチンに制御を戻す。
オブジエクト指向プログラミング・システムは、消去
され、または書き重ねられる揮発性メモリ、即ちメモリ
と、直接アクセス・ストレージ装置(DASD−デイスク・
フアイル)のような非揮発性メモリとを含むデータ・プ
ロセツサによつて実行されることは、この道の専門家に
は自明のことである。揮発性メモリは、セツシヨンが終
了した時とか、またはデータ・プロセツサの電源がオフ
にされた時にはデータが消去されるものであり、非揮発
性メモリは、データが半永久的にストアされるものであ
る。揮発性メモリはランダム・アクセス・メモリ(RA
M)、または単に「メモリ」と言われる。非揮発性メモ
リはデータベースとも言われるが、本明細書において、
術語「データベース」とは、特定のデータベース技術と
か、特定のデータベース製品ではなく、物理的な非揮発
性データ・ストレージ媒体を意味する。
オブジエクト指向プログラミング・システムは、特定
のセツシヨンの間だけ使用され、その後は破棄される臨
時的なオブジエクトと、特定のラン時間のセツシヨンに
おいて、後で生き返えらせる必要のある半永久的に保存
するオブジエクトとを含んでいることはこの道の専門家
には自明のことである。通常、臨時のオブジエクトはRA
Mにストアされ、永久的に保存されるオブジエクトはデ
ータベースにストアされる。半永久的に保存されるオブ
ジエクトは、「持続性」オブジエクトと言われる。
オブジエクト指向プログラミング・システムにおい
て、持続性オブジエクトは、システムのデータの一貫性
(integrity)を保証するために適正に処理しなければ
ならない。オブジエクト指向プログラミング・システム
において、持続性オブジエクトが存在していることは広
く知られているけれども、これに関する従来の技術は、
オブジエクト指向プログラミング・システムにおいて、
持続性オブジエクトを定義し、且つ処理するためのイン
ターフエースを与えていない。従来の技術において、オ
ブジエクトが持続性を持つようにされた時、データベー
スの一貫性を保つために、特別のメソツドが開発されね
ばならず、しかも、データベースからのオブジエクトを
読み取り、そして、データベースにオブジエクトを書き
込む際に、特別のメソツドが使用されねばならなかつ
た。これらの特別のメソツドは、オブジエクト指向プロ
グラミング・システムを非常に複雑なものにしている。
更に、データベースにオブジエクトを移動し、そして、
データベースからオブジエクトを移動する時を、ユーザ
が決定しなければならないので、これらの特別のメソツ
ドは持続性オブジエクトが適正に操作されないと言う可
能性が大きい。
C.発明が解決しようとする課題 本発明の目的は、オブジエクト指向プログラミング・
システムにおいて、持続性オブジエクトを処理するため
のインターフエースを提供することにある。
本発明の他の目的は、オブジエクト毎に特別のメソツ
ドを作る必要がないように持続性オブジエクトを処理す
るための方法及び装置を提供することにある。
本発明の他の目的は、持続性データベースのデータの
一貫性を自動的に具備させるための持続性オブジエクト
の処理方法及び装置を提供することにある。
D.課題を解決するための手段 上述の目的は、本発明に従つたオブジエクト指向プロ
グラミング・システムにおいて、オブジエクトの「持続
性クラス」を与えることによつて達成される。持続的ク
ラスは、持続性オブジエクトが適正に処理されることを
保証するために必要なすべてのメソツドを含んでいる。
任意のラン時間のセツシヨンにおいて生き返えらせる必
要のあるすべてのオブジエクトは、持続的クラスから継
承(inherit)される。オブジエクト指向プログラミン
グ・システムの基本的なコンセプトに従つて、持続的ク
ラスから継承したオブジエクトは、自動的に持続性オブ
ジエクトになる。
本発明に従つて、少なくとも2つのメソツドが持続的
クラスに関連される。これらのメソツドは、「マテリア
ライズ」(Materialize)メソツドと、「デマテリアラ
イズ」(Dematerialize)メソツドである。「マテリア
ライズ」メソツドは、若し、持続性オブジエクトがRAM
の中になければ、非揮発性メモリ(データベース)から
持続性オブジエクトを自動的に検索し、そして、検索さ
れた持続性オブジエクトを、揮発性メモリ(RAM)中に
導入するメソツドである。若し、持続性オブジエクトを
データベース中において見付けることが出来なければ、
処理の失敗を表わす標識が与えられる。
「デマテリアライズ」メソツドは、揮発性メモリから
オブジエクトを除去したり、あるいは、オブジエクトが
揮発性メモリ中にある間にオブジエクトに変更が加えら
れたか否かに応じて、非揮発性メモリ中の対応するオブ
ジエクトに対して所定のアクシヨンを遂行するメソツド
である。持続性オブジエクトを「デマテリアライズ」す
るために、データベースから持続性オブジエクトを読み
取つた後に、持続性オブジエクトがRAM中で変更された
か否かを見るために、先ず、テストが行われる。若し、
変更が加えられていなければ、持続性オブジエクトはRA
Mから除去(remove)される。若し、持続性オブジエク
トが新規に作成され、且つ現在、データベース中に存在
していなければ、その持続性オブジエクトはデータベー
ス中に書き込まれ、そしてRAMから除去される。また、
若し、持続性オブジエクトに変更が加えられたならば、
変更された持続性オブジエクトは、データベース中に存
在する持続性オブジエクトの位置に書き込まれ、そして
RAMから除去される。若し、持続性オブジエクトが削除
(delete)される時には、持続性オブジエクトはRAM及
びデータベースから除去される。
持続性オブジエクト・クラスは、オブジエクト指向プ
ログラミング・システム中の持続性オブジエクトを自動
的に処理するための簡単なインターフエース処理方法及
び装置を与える。システムのデータの一貫性がこれによ
つて与えられる。持続的クラスが参照(リフアレンス)
されたならば、持続的クラスは、データベース中の持続
性オブジエクトを自動的にRAMに出現させ、そして、RAM
にコピーされた持続性オブジエクトに対して行われたす
べての変更を、データベースに自動的に反映させること
を保証する。オブジエクト指向プログラミング・システ
ムのための持続性データのインターフエースは、このよ
うにして与えられる。また、本発明に従つて、通常の方
法でプログラムされたコンピユータ・システムに対する
持続性データのインターフエースも与えられる。
E.実施例 本発明の実施例を示す添付図面を参照して、本発明を
以下に詳細に説明する。然しながら、本発明は図示の実
施例にのみ限定して解釈されるべきではない。添付図面
中において、同様な素子には同じ参照数字を使用して説
明の冗長を避けている。
オブジエクト指向コンピユータ・システム オブジェクト指向データベース管理システムにおい
て、仕事は、データをカプセル化するオブジエクトに対
してアクシヨンを要求するメツセージを送ることによつ
て達成される。オブジエクトは、要求されたアクシヨン
を、予め定義されているメソツドに従つてデータに対し
て遂行する。アクシヨンのリクエスター(requester)
は、実際のデータがどのような形式であるかとか、オブ
ジエクトがデータを何のように処理するかとかを知る必
要がない。
オブジエクト・クラスは、データのタイプ及びデータ
の意味と、オブジエクトが与えるアクシヨン要求(メツ
セージ)とを定義する。データを含む個々のオブジエク
トは、インスタンス・クラスと呼ばれる。通常、インス
タンス・クラスは実務上の事柄に関連している。以下の
例において、インスタンス・クラスとして「部分品」の
例を用いる。1つの部分品のデータのエレメント(スロ
ツト)は部品番号、部品の状態及び部品のタイプであつ
てよい。このインスタンス・クラスは個々の部分品を表
わし、夫々のインスタンスはそれ自身の部品番号、状態
及びタイプについての情報を表わしている。要求された
アクシヨンを遂行するプログラムはメソツド・クラスと
呼ばれる。
オブジエクト・クラスは他のクラスのサブクラスであ
るように定義することが出来る。サブクラスは親のクラ
スのすべてのデータの特性及びメソツドを継承する。サ
ブクラスは付加的なデータ及びメソツドを加えることが
出来、そして、それらは親のクラスの任意のエレメン
ト、またはメソツドを超越する(再定義する)ことが出
来る。殆どのメツセージはオブジエクトのインスタンス
に送られるけれども、新規のインスタンスを作成するこ
とを要求したメツセージは、他のオブジエクト・クラス
に送られる。そのオブジエクト・クラスは、新規のイン
スタンスを作成し、そして、そのオブジエクトを認知す
るためのオブジエクト識別子を返還する。
アクシヨンを要求したセンダー(sender)は、メツセ
ージを送るためのオブジエクトの正確なクラスを知る必
要はない。目標のオブジエクトがメツセージを処理する
ためのメソツドを定義するか、または、目標のオブジエ
クトがそのようなメソツドを定義する親クラスを持つて
いるかの何れかである限り、メツセージは、そのクラ
ス、またはその親クラス中のオブジエクトのインスタン
ス及びメソツド中のデータを使用して処理される。メツ
セージは、そのメツセージの直接の親である必要はな
く、親の親、親の親の親、等々であつてよい。メソツド
のセンダーは受取つたオブジエクト識別子を持つだけで
よい。オブジエクト指向プログラミングのこの特長は
「継承」(inheritance)と呼ばれる。継承の特長は本
発明に使用される。
第4図を参照すると、オブジエクト指向コンピユータ
・システム10が示されている。システム10はメーン・フ
レーム・コンピユータ、または、ミニコンピユータ、即
ちパーソナル・コンピユータであるデータ・プロセツサ
11を含んでいる。複数のユーザを有する大型のデータベ
ースの場合には、通常、メーン・フレーム・コンピユー
タが用いられる。この道の専門家には明らかであるよう
に、データ・プロセツサ11はアクテイブ・データ及び中
間的な結果のための実行用の記憶装置を与えるために、
通常、ランダム・アクセス・メモリ(RAM)である揮発
性のデータ・ストレージ装置13を含んでいる。データ・
プロセツサ11の電源がオフにされた時とか、または、新
しいユーザのセツシヨンがオープンされた時には、RAM1
3中のデータは消失する。また、システム10はオブジエ
クトを永久的に記憶するための非揮発性データ・ストレ
ージ装置14を含んでいる。装置14は直接アクセス・スト
レージ装置(DASD、即ちデイスク・フアイル)、磁気テ
ープ装置、消去可能の光デイスク、または公知の他の同
様な装置である。本明細書において、非揮発性データ・
ストレージ装置14は「データベース」と同じ意味として
扱うことが出来る。また、揮発性データ・ストレージ装
置13は「メモリ」と呼ばれる。陰極線管(CRT)、また
は他のデイスプレー、そしてキーボードを含むデイスプ
レー・ターミナル15も示されている。
オブジエクト指向オペレーテイング・プログラム12は
データ・プロセツサ11中に含まれている。オブジエクト
指向オペレーテイング・プログラムは、例えば「C」言
語、または「スモールトーク」(smalltalk)ランゲー
ジ、またはそのバリエーシヨン、またはフオートラン、
またはコボルなどの通常のプログラム・ランゲージなど
のオブジエクト指向ランゲージでプログラムすることが
出来る。オブジエクト指向オペレーテイング・プログラ
ム12のデザインは、オブジエクト指向プログラミング・
システムの分野の専門家には公知であり、以下に簡単に
述べる。
第5図を参照すると、オブジエクト指向プログラム
(第4図の12)の主コンポーネントを以下に説明する。
オブジエクト指向プログラムのデザイン及び動作のより
詳細な説明は1988年にプレンテイス・ホール(Prentice
Hall)で刊行されたメーヤー(B.Meyer)の「オブジエ
クト指向ソフトウエアの構造」(Object Oriented Soft
ware Construction)と題する刊行物に記載されてい
る。
第5図を参照すると、オブジエクト指向プログラム12
は3つの主要な構成要素、メツセンジヤ51、オブジエク
ト・マネージヤ(オブジエクト管理テーブル)52及びロ
ーデツド・クラス(loaded class)のテーブル53とを含
んでいる。メツセンジヤ51は呼び出したメツセージ及び
呼び出されたメツセージと、オブジエクト・マネージヤ
52と、ローテツド・クラスのテーブル53との間のコミユ
ニケーシヨンを制御する。オブジエクト・マネージヤ52
はすべてのアクテイブなオブジエクト・インスタンスに
対するポインタのリストを含んでいる。ローテツド・ク
ラスのテーブル53はアクテイブなオブジエクト・クラス
のすべてのメソツドに対するポインタのリストを含んで
いる。
オブジエクトのメソツドA(ブロツク54)がオブジエ
クトのメソツドB(ブロツク55)へメツセージを送る第
5図に示された例を参照して、オブジエクト指向プログ
ラム12の動作を説明する。メソツドAはメツセンジヤ51
を呼び出すことによつて、メソツドBにメツセージを送
る。このメツセージは、(1)メツセージを受け取るた
めのオブジエクト・リフアレンスのインスタンスと、
(2)要求されたオブジエクト・インスタンスの取り囲
みを行うデータに対して動作するためのメソツドと、
(3)受け取つたメソツドによつて必要とされるすべて
のパラメータとを含んでいる。メツセンジヤ51は、オブ
ジエクト・インスタンスのオブジエクト・マネージヤ52
をサーチすることによつて、メソツドAにより特定され
るオブジエクト・インスタンスのデータ・フレーム56に
対するポインタを取り出す。若し、特定されたオブジエ
クトのインスタンスを見出すことが出来なかつたなら
ば、オブジエクト・マネージヤ52はテーブルにそのオブ
ジエクト・インスタンスを加え、そして、データベース
からそのデータをマテリアライズ(materialize)する
ためにインスタンスを呼び出す。インスタンスのテーブ
ルに加えられた後は、オブジエクト・マネージヤ52はマ
テリアライズされたオブジエクト・インスタンスにポイ
ンタを戻す。
次に、メツセンジヤ51はローデツト・クラスのテーブ
ル53からメソツドBのアドレスを取り出す。若し、イン
スタンス・クラスがロードされていなければ、ローデツ
ド・クラスのテーブル53は、そのデータをマテリアライ
ズするために、この時点でそれをロードする。ローデツ
ド・クラスのテーブル53は特定されたメソツド(メソツ
ドB)のためのサーチを行い、そしてメツセンジヤ51に
そのメソツドのアドレスを戻す。
その後、メツセンジヤ51はメソツドBを呼び出して、
ポインタと、メソツドAにより行われた呼び出しのパラ
メータとをシステム・データの領域に送る。メソツドB
は、ポインタを使用してデータ・フレーム56をアクセス
する。その後、メソツドBはメツセンジヤ51に制御を戻
し、これはメソツドAに制御を戻す。
持続的オブジエクト・クラス オブジエクト指向プログラミング・システムの中で、
臨時的に使用するオブジエクトと、後で使用するため
に、任意のラン時間のセツシヨンで生き返えらせる必要
のあるオブジエクトがある。ラン時間のセツシヨンで生
き返えらせる必要のあるオブジエクトは持続性オブジエ
クトと呼ばれる。持続性オブジエクト及び非持続性オブ
ジエクトは、それらがRAM13にストアされた時、オブジ
エクト指向オペレーテイング・プログラム12によつて処
理される。然しながら、ラン時間のセツシヨンの結果に
おいて、持続性オブジエクトはRAM13から単純に消去す
ることが出来る。更に、持続性オブジエクトがオブジエ
ク指向のオペレーテイング・プログラム12によつて参照
(リフアレンス)された時は、持続性オブジエクトはRA
M13中に自動的に現われねばならず、且つRAM13中の持続
性オブジエクトに行われたすべての変更は、データベー
ス14中の対応する持続性オブジエクトにも変更が行われ
ねばならない。
従来のオブジエクト指向プログラミング・システム
は、オブジエクトを持続性にする自動的な方法を与えて
いなかつた。システム・プログラマーは、データベース
からオブジエクトを読み取り、そしてデータベースにオ
ブジエクトを書き込む特別の方法を開発しなければなら
なかつた。更に、オブジエクトのユーザは、オブジエク
トを何時データベースに入れるか、そして、何時データ
ベースから取り出すかについて決定をしなければならな
かつた。
本発明に従つて、持続性オブジエクトの一貫性(inte
gurity)維持するのに必要なすべての動作をサポートす
るために、持続性オブジエクト・クラスが与えられる。
持続性を持たせる必要のあるすべてのオブジエクトは本
発明の持続性オブジエクト・クラスから継承するように
配列される。換言すると、親のオブジエクトから見て、
すべての持続性オブジエクトは親の持続性オブジエクト
の子供であると言うことである。従つて、オブジエクト
は持続的クラスから継承することによつて、単純に持続
性を持つようになる。持続的クラスの子(子供)は少数
の延期される(deferred)メソツドを定義することのみ
を必要とするだけであつて、これらの延期されるメソツ
ドを使用することは、持続的クラスのメソツドが自動的
に世話をする。
持続的クラスのメソツド 本発明の持続的クラスは、データベースの中のオブジ
エクトを検索し、そしてデータベース内のオブジエクト
を更新するためのメツセージによつて用いられる2つの
メソツドを含んでいる。これらのメソツドはマテリアラ
イズ(materialize)メソツドと、デマテリアライズ(d
ematerialize)メソツドである。また、延期されるメソ
ツドは、持続性データ・インターフエースを自動的に実
施することによつて決められる。この道の専門家には自
明のように、延期されるメソツドはクラスによつて決め
られるが、但しクラスの降順(子)によつて実行され
る。延期されるメソツドの機能は持続的クラスの子供に
よつて実行されるけれども、延期されるメソツドの機能
は本発明の持続的クラスによつて確実に特定されてい
る。持続的クラスのメソツドは以下の通りである。
dematerializeメソツド 「デマテリアライズ」メソツドは、各子クラスによつ
て定義される3つの延期されるメソツドを含んでいる。
即ち、それらは、DB(データベース)_Updateメソツド
(DB_更新メソツド)、DB_Deleteメソツド(DB_削除メ
ソツド)及びDB_Insertメソツド(DB_挿入メソツド)で
ある。デマテリアライズ・メソツドがメツセージによつ
て呼び出された時、デマテリアライズ・メソツドは3つ
の延期されるメソツドの内のどのメソツドを呼び出すか
を決定する。各延期されるメソツドは、データベース中
のオブジエクトを「更新」するか、「削除」するか、ま
たは「挿入」するかの何れかを必要とするデータベース
のすべてのアクセス・コードを取り囲む。
materializeメソツド 「マテリアライズ」メソツドは、子クラスのによつて
定義される1つの延期されるメソツドを含んでいる。即
ち、それは、DB_Selectメソツド(DB_選択メソツド)で
ある。
「マテリアライズ」メソツドがメツセージによつて呼
び出された時、マテリアライズ・メソツドは、特定の子
オブジエクトのDB_選択メソツドを呼び出す。このDB_選
択メソツドは、オブジエクト指向オペレーテイング・プ
ログラムによつて既に割当てられていフレームを満たす
ために必要するデータベースのすべてのアクセス・コー
ドをカプセル化する。
DB_削除メソツド この延期されるメソツドはデータベースから取り出し
た特別のインスタンスを削除するに必要な低レベルのコ
ードを含んでいる。
DB_挿入メソツド この延期されるメソツドはデータベースから取り出し
た特別のインスタンスを挿入するに必要な低レベルのコ
ードを含んでいる。
DB_選択メソツド この延期されるメソツドはデータベースから取り出し
た特別のインスタンスを検索するに必要な低レベルのコ
ードを含んでいる。
DB_更新メソツド この延期されるメソツドはデータベースから取り出し
た特別のインスタンスを更新するに必要な低レベルのコ
ードを含んでいる。
Delete(削除)メソツド このメソツドはインスタンスの削除を望む要求者によ
つて使用される。これは、特定のインスタンスを「削
除」するために、単にDemat_State(デマテリアライズ
_状態)をセツトするだけである。
Demat_State このインスタンスの属性はインスタンスの状態の標識
として使用される。これは以下の4つの状態を持つてい
る。
−−“delete"(削除) このインスタンスは、デマテリアライズされた時、デ
ータベースから削除され、そしてメモリから除去され
る。
−−“insert"(挿入) このインスタンスは、デマテリアライズされた時、デ
ータベースに挿入され、そしてメモリから除去される。
−−“nothing"(無し) このインスタンスは、デマテリアライズされた時、デ
ータベースから除去される。このインスタンスのデータ
ベースのコピーは変更することなく維持される。
−−“update"(更新) このインスタンスは、デマテリアライズされた時、デ
ータベース中のインスタンスを更新し、そしてメモリか
ら除去される。
Last_Update_DTS(最新の更新の日付) この属性はLast−Update−Time−Stamp(最新の更新
の時間のスタンプ)である。複数ユーザのデータベース
中のインスタンスのロツク保護を与えるのに用いられ
る。インスタンスがデマテリアライズされる毎に、RAM
中のインスタンスのLast_Update_DTSは、データベース
中のインスタンスのLast_Update_DTSに対してチエツク
される。若し、それらが一致していれば、デマテリアラ
イゼーシヨンが進行するようにされる。若し、それらが
異なつていれば、インスタンスは、現在、メモリ中にあ
るコピーが行われた後に更新され、そして、デマテリア
ライズは許容されない。
Notify(通知)メソツド このメソツドは、持続性インスタンスの修正を必要と
する持続性インスタンスのメソツドによつて使用され
る。このメソツドは、単純に、Demat_StateをUpdateに
セツトする。
持続的クラスのメソツドの詳細な説明 持続的クラスのメソツドの詳細な動作を説明するため
に、これらのメソツドの動作を6つの例を挙げて以下に
説明する。第1の例は、参照されたオブジエクトがデー
タベース中にあるが、併しRAM(メモリと言う)中には
ない場合におけるマテリアライズ・メソツドを説明して
いる。第2の例は、参照されたオブジエクトがデータベ
ース中にはなく、そのオブジエクトを作成しなければな
らない場合におけるマテリアライズ・メソツドを説明し
ている。第3の例は、参照されたオブジエクトはRAMに
あり、変更は加えられなかつた場合におけるデマテリア
ライズ・メソツドを説明している。第4の例は、持続性
オブジエクトが新規に作成される場合におけるデマテリ
アライズ・メソツドを説明している。第5の例は、持続
性オブジエクトがRAM中で修正される場合におけるデマ
テリアライズ・メソツドを説明している。最後に、第6
の例は、持続性オブジエクトがデータベースから削除さ
れる場合におけるデマテリアライズ・メソツドを説明し
ている。
以下に説明する各例において、メモリ中に既に存在
し、且つオブジエクト・リフアレンス(略してOREFと呼
ばれる)を有するオブジエクト・タイプのクラス_Aのイ
ンスタンス_Aと呼ばれるインスタンスと、オブジエクト
・タイプのクラス_Bのインスタンス_Bと呼ばれるインス
タンスとがあるものと仮定する。加えて、本発明の「持
続的クラス」から、クラス_A及びクラス_Bを継承させ
る。特に、クラス_Aは「人間」タイプであり、インスタ
ンス_Aはこの人間タイプのインスタンスである。つま
り、インスタンス_Aは人間である。クラス_Bは「扉」タ
イプであり、インスタンス_Bはこの扉タイプのインスタ
ンスである。つまり、インスタンス_Bは扉である。イン
スタンス_Aである人間はインスタンス_Bである扉を知つ
ている。以下の各例は、インスタンス_B(扉)がインス
タンス_A(人間)からのメツセージによつて動作された
時、インスタンス_Bがどのようにして持続的クラスによ
つて自動的に処理されるかを説明している。
すべての例において、術語「データベース」は非揮発
性データ・ストレージ装置14(第4図)を意味するもの
として用いられている。術語「RAM」または、「メモ
リ」は揮発性データ・ストレージ装置13(第4図)を意
味するのに使用されている。第7図、第9図、第11図、
第13図、第16図、第19図及び第22図の「メモリのアドレ
ス」は便宜上決めたものであるから、これらの特定のア
ドレスによつて本発明を限定的に解釈されるべきではな
い。
第1の例−−マテリアライズ・メソツド:リフアレンス
されたオブジエクトがデータベース中にある場合。
この例は、インスタンス_Aが、そのOREFを用いて、オ
ブジエクト・タイプのクラス_Bのインスタンス_Bにメツ
セージを送る場合を説明している。加えて、インスタン
ス_Bはーはデータベース中にあり、現在、メモリ中には
ない。自動的なマテリアライゼーシヨンによつて、持続
的クラスから、すべてのクラスに対して継承が与えられ
ているインスタンス_Aのメツセージは、インスタンス_B
に継承する。
(1)システムの状態は最初に、第6図に示されている
ように現われる。
(2)インスタンス_Aがインスタンス_Bにメツセージを
送るものとする。例えば「人間」オブジエクトは「扉」
を開くよう求められる。人間クラスのメソツド中のメツ
セージは以下の通りである。
MyDoor.Open; であり、ここで、MyDoor.Openはインスタンス_Bに対
するインスタンス_AのOREFであり、Open(開く)はクラ
ス_Bのインスタンスのメソツドである。
(3)このメツセージの実行をすると、メツセンジヤー
(第5図の参照数字51)はインスタンス_B、扉をメモリ
中に位置付ける。オブジエクト・マネージヤ(第5図の
参照数字52)は、メモリ内のすべてのオブジエクトのリ
ストを維持している。然しながら、現在は、テブルは第
7図に示されたように現われており、××××××××
は、この時点においてメモリ中にある他の無関係のオブ
ジエクトである。メツセンジヤはオブジエクト・マネー
ジヤのテーブル中にインスタンス_Bを位置付けることは
出来ない。
(4)メツセンジヤは、オブジエクト・マネージヤのメ
モリ内オブジエクトのテーブル中にインスタンス_Bを見
出すことが出来ないし、且つクラス_Bは持続的クラスか
ら継承しているから、次に、メツセンジヤは、オブジエ
クトそれ自身にメツセージを送る。そのメツセージは以
下の通りである。
Object.Materialize; 持続的クラスはこのメソツドを含み、そして、クラス
_Bは持続性を継承していると言う事実によつて、インス
タンス_Bはこのメツセージの呼び出しを受け取ることが
出来る。
(5)マテリアライズ・メソツドは、下位のDB_検索メ
ソツドに持続性インターフエースを与えるDB_検索メソ
ツドは、子供のクラスに延期される。従つて、マテリア
ライズ・メソツドは、以下のようなDB_検索メソツドに
呼び出しを送る。
SELF.DB_Retrieve; (6)オブジエクト・クラスのタイプ_BのDB_検索メソ
ツドは、どのようにして(a)オブジエクト・タイプの
クラス_Bのインスタンスのためにデータベースをサーチ
するかということと、(b)メモリ中にオブジエクト・
タイプのクラス_Bのインスタンス_Bをロードするかとい
うこととを知つている。
インスタンス_Bはオブジエクト・タイプのクラス_Bの
インスタンスである。従つて、DB_検索メソツドは、イ
ンスタンス_Bが実際にデータベース中にあることを決定
し、メモリ中にインスタンス_Bをロードし、そして、継
承を表示するマテリアライズ・メソツドに戻す。システ
ムの状態は第8図に示したように現われる。
(7)次にマテリアライズ・メソツドは持続的クラスの
Demat_状態インスタンスの属性を「Nothing」にセツト
し、そしてメツセンジヤに動作が成功したことの標識を
戻す。
(8)その結果、メツセンジヤはマテリアライズ・メソ
ツドが成功裡に動作したことを理解し、メツセンジヤ
は、オブジエクト・マネージヤがそのテーブル中に記入
を行うことにより、現在、インスタンス_Bがメモリ中に
あることを表示するようオブジエクト・マネージヤに要
求する。メモリ内オブジエクトのテーブルは第9図に示
したように現われる。
(9)最後に、メツセンジヤはインスタンス_Bの開始
(オープン)メソツドにメツセージを送る。
第2の例−−マテリアライズ・メソツド:データベース
中にないオブジエクトがリフアレンスされた場合。
この例は、インスタンス_Aが、そのOREFを用いて、オ
ブジエクト・クラスのタイプ_Bのインスタンス_Bにメツ
セージを送る場合を説明している。加えて、インスタン
ス_Bは現在、メモリ中にも、データベース(第10図)中
にもない。その特定のオブジエクトの識別子を持つオブ
ジエクトはメモリにも、データベースにもないから、イ
ンスタンス_Aのメツセージをインスタンス_Bに送ること
は失敗に終わる。このようなことは、インスタンス_Bを
削除することをインスタンス_Aに知らせることなしに、
インスタンス_Bを削除した場合に生じる。
(1)システムの状態は、最初に、第10図に示したよう
に現われる。
(2)インスタンス_Aがインスタンス_Bにメツセージを
送るものとする。例えば、人オブジエクトが扉を開くよ
う求めるものとする。人間クラスのメソツド中のメツセ
ージは以下の通りである。
MyDoor.Open; ここで、MyDoorはインスタンス_Bに対するインスタン
ス_AのOREFであり、Openはクラス_Bのインスタンスのメ
ソツドである。
(3)このメツセージの実行をすると、メツセンジヤー
(第5図の参照数字51)はインスタンス_B、扉をメモリ
中に位置付けるよう試みる。オブジエクト・マネージヤ
(第5図の参照数字52)はメモリ内のすべてのオブジエ
クトのリストを維持している。然しながら、現在、テー
ブルは第11図に示されたように現われており、××××
××××は、この時点においてメモリ中にある他の無関
係のオブジエクトである。メツセンジヤはオブジエクト
・マネージヤのテーブル中にインスタンス_Bを導入する
ことは出来ない。
(4)メツセンジヤは、オブジエクト・マネージヤのメ
モリ内オブジエクトのテーブル中にインスタンス_Bを見
出すことが出来ないが、併し、クラス_Bは持続的クラス
から継承しているから、メツセンジヤは、次に、オブジ
エクトそれ自身にメツセージを送る。そのメツセージは
以下の通りである。
Object.Materialize; 持続的クラスはこのメソツドを含み、且つ、クラス_B
は持続性を継承していると言う事実によつて、インスタ
ンス_Bはこのメツセージ・セルを受け取ることが出来
る。
(5)マテリアライズ・メソツドは、各クラスの子供
に、延期される下位のDB_検索メソツドに対して持続性
インターフエースを与える。従つて、マテリアライズ・
メソツドはDB_検索メソツドに呼び出しを送る。
SELF.DB_Retrieve; (6)クラス_BのDB_検索メソツドは、どのようにして
(a)オブジエクト・タイプのクラス_Bのインスタンス
のためにデータベースをサーチするかということと、
(b)メモリ中にオブジエクト・タイプのクラス_Bのイ
ンスタンスをロードするかということとを知つている。
インスタンス_Bはオブジエクト・タイプのクラス_Bの
インスタンスである。従つて、DB_検索メソツドは、イ
ンスタンス_Bがデータベース中にはないことを決定す
る。これは、検索が失敗したことを表示して、マテリア
ライズ・メソツドに戻す。システムの状態は変化無く維
持される。
(7)次に、マテリアライズ・メソツドは失敗したこと
の表示をメツセンジヤに戻す。
(8)メツセンジヤはマテリアライズ・メソツドが成功
しなかつたことを知るので、メツセンジヤは「Invalid_
Object_ID」(無効なオブジエクト識別子)除外(ex−c
eption)によつてメツセージの処理を無効にする。
第3の例−−デマテリアライズ・メソツド:リフアレン
スされたオブジエクトが変更されなかつた場合。
この例は、データベースから既にマテリアライズされ
ているオブジエクトが、それ自身デマテリアライズする
ように要求されるが、但し、オブジエクトがメモリ中に
ある間、オブジエクトには変更は加えられない場合を説
明している。
(1)最初に、システムの状態は第12図に示したように
現われている。
(2)メツセンジヤは、然るべき理由によつて、持続性
オブジエクトをデマテリアライズする時間であることを
決定する。従つて、メツセンジヤはインスタンス_Aに、
以下のようなデマテリアライズ要求を送る。
Object.Damaterialize; (3)インスタンス_Aのメモリ標識はデータベースから
最初に読み取られた標識なので、デマテリアライズ・メ
ソツドは、インスタンス_Aのメモリ標識が変更されずに
維持されていることを、インスタンス_AのDemat−State
を見ることによつて決定する。このことは、インスタン
ス_Aをデータベースに対して物理的に書き戻す必要はな
いことを意味する。従つて、デマテリアライズ・メソツ
ドはメモリからそのオブジエクトを単純に除去し、「O
K」状態をメツセンジヤに戻す。
(4)その後、メツセンジヤはメモリ中のオブジエクト
のリストからインスタンス_Aを取り除くようオブジエク
ト・マネージヤに要求する。
(5)オブジエクト・マネージヤのテーブルは第13図に
示されたように現われ、第13図において、××××××
××は、この時点においてメモリ中にある他の無関係の
オブジエクトを示している。
(6)システムの状態は第13図に示したような状態であ
る。
第4の例−−デマテリアライズ・メソツド:持続性オブ
ジエクトが新規に作成される場合。
この例は、現在、データベース中に存在しておらず、
新規に作成されるオブジエクトが、それ自身、デマテリ
アライズされるよう求められる場合を説明している。
(第15図) (1)最初のシステム状態は第11図に示したように現わ
れる。
(2)ある必然的な理由に基いて、メツセンジヤは、持
続性オブジエクトをデマテリアライズする時であること
を決定する。従つて、メツセンジヤはインスタンス_Aに
下記のようなデマテリアライズ要求を送る。
Object.Damaterialize; (3)デマテリアライズ・メソツドは、インスタンス_A
がクラス_Aの新規なインスタンスであることを、クラス
_AのDemat_Stateを見ることによつて決定する。
このことは、インスタンス_Aは、まだデータベース中
に存在しておらず、新しい行として「挿入」されねばな
らないことを意味する。従つて、デマテリアライズ・メ
ソツドはDB_挿入メソツドを呼び出す。このメツセージ
は以下の通りである。
SELF.DB_Insert (4)クラス_AのDB_挿入メソツドは、クラス_Aの新し
いインスタンスを、データベースの中にどのようにして
付加するかを知つている。従つて、DB_挿入メソツド
は、データベース中にインスタンス_Aを加え、そして挿
入動作が成功したことを表わす標識子をデマテリアライ
ズ・メソツドに戻す。
(5)同様に、デマテリアライズ・メソツドは、メツセ
ンジヤに成功を表わす識別子を戻す。
(6)次に、メツセンジヤはメモリ中のオブジエクトの
テーブルからインスタンス_Aを消去するようオブジエク
ト・マネージヤに要求する。
(7)オブジエクト・マネージヤは第16図に示したよう
に現われ、第16図において、××××××××は、この
時点においてメモリ中にある他の無関係のオブジエクト
を示している。
(8)システムの状態は第17図に示したような状態であ
る。
第5の例−−デマテリアライズ・メソツド:持続性オブ
ジエクトが変更される場合。
この例は、データベースから既にマテリアライズされ
たオブジエクトそれ自身が、デマテリアライズされるよ
う求められ、オブジエクトがメモリにある間に変更され
る場合を説明している。(第18図) (1)最初のシステムの状態は第11図に示されたように
現われており、この場合、インスタンス_A′はインスタ
ンス_Aに更新され、または修正されたバージヨンであ
る。インスタンス_A及びインスタンス_A′は同じインス
タンスであり、このことは、同じオブジエクト識別子を
持つていることを意味する。然しながら、インスタンス
_A′はインスタンス_Aよりも遅い時間状態のオブジエク
トを表示している。
(2)然るべき理由によつて、メツセンジヤは持続性オ
ブジエクトをデマテリアライズする時間であることを決
定する。従つて、メツセンジヤはインスタンス_A′に対
して以下のデマテリアライズ要求を送る。
Object.Materialize; (3)デマテリアライズ・メソツドは、インスタンス_
A′が既にデータベース中に既に存在している(インス
タンス_Aの形式で)ことを、インスタンス_A′のDemat_
Stateを見ることによつて決定する。このことは、デー
タベース中のインスタンス_Aがインスタンス_A′からの
データによつて「更新」されねばならないことを意味す
る。従つて、デマテリアライズ・メソツドは、DB_更新
メソツドを呼び出す。このメツセージは以下の通りであ
る。
SELF.DB_Update; (4)クラス_A′のDB_更新メソツドはデータベース中
のクラス_Aをどのように更新するかを知つている。従つ
て、DB_更新メソツドは、データベース中のインスタン
ス_Aを更新し(更新後は、インスタンス_A′と全く同じ
である)、そして、更新動作が成功したことを示す標識
子をデマテリアライズ・メソツドに戻す。
(5)デマテリアライズ・メソツドは、同様に、成功し
たことを示す標識子をメツセンジヤに戻す。
(6)その後、メツセンジヤはメモリ中のオブジエクト
のテーブルからインスタンス_A′を除去するようオブジ
エクト・マネージヤに要求する。
(7)オブジエクト・マネージヤは第19図に示したよう
に現われ、第19図において、××××××××は、この
時点においてメモリ中にある他の無関係のオブジエクト
を示している。
(8)システムの状態は第20図に示したような状態であ
る。
第6の例−−デマテリアライズ:データベースから削除
されたオブジエクト。
この例においては、データベースから既にマテリアラ
イズされたオブジエクトそれ自身がデマテリアライズさ
れることを要求され、そしてオブジエクトはそれ自身削
除されるよう求められる。
(1)最初に、システム状態は第11図に示されたように
現われ、ここで、インスタンス_Aは、インスタンス_Aの
「削除されるべき」バージヨンである。
(2)然るべき理由の下で、メツセンジヤは持続性オブ
ジエクトをデマテリアライズする時間であることを決定
する。従つて、メツセンジヤはインスタンス_Aに対して
以下のデマテリアライズ要求を送る。
Object.Materialize; (3)デマテリアライズ・メソツドは、データベースか
らインスタンス_Aを削除することを、インスタンス_Aの
Demat_Stateを見ることによつて決定する。従つて、デ
マテリアライズ・メソツドは、DB_削除メソツドを呼び
出す。このメツセージは以下の通りである。
SELF.DB_Delete; (4)クラス_AのDB_削除メソツドはデータベース中の
クラス_Aをどのように削除するかを知つている。従つ
て、DB_削除メソツドは、データベース中のインスタン
ス_Aを削除し、そして、削除動作が成功したことを示す
標識子をデマテリアライズ・メソツドに戻す。
(5)同様に、デマテリアライズ・メソツドは、動作が
成功したことを示す標識子をメツセンジヤに戻す。
(6)次に、メツセンジヤはメモリ中のオブジエクトの
テーブルからインスタンス_Aを除去するようオブジエク
ト・マネージヤに要求する。
(7)オブジエクト・マネージヤは第22図に示したよう
に現われ、第22図において、××××××××は、この
時点においてメモリ中にある他の無関係のオブジエクト
である。
(8)システム状態は第23図に示したような状態であ
る。
擬似コードの付表 以下に示す別表はオブジエエト指向コンピユータ・シ
ステムにおいて、本発明の持続的クラスを実施する擬似
コードのリストを示している。このような擬似コードの
リストはIBMの公知の「構造化された問い合せランゲー
ジ」(Structured Query Langauge−SQL)で動作するよ
うデザインされている。SQLについては、IBMの刊行物番
号SC26−4380−0の「IBMのデータベース2バージヨン
2のSQLリフアレンス・レリーズ1」(IBM Database 2
Version 2 SQL Reference1)に記載されている。
F.発明の効果 本発明はオブジエクト指向プロクセラミング・システ
ムのインターフエースを与える。
【図面の簡単な説明】 第1図はオブジエクトの模式的に表わした図、第2図は
オブジエクトの例を模式的に表わした図、第3図はオブ
ジエクトの継承的な特長を説明するための図、第4図は
本発明に従つたオブジエクト指向コンピユータ・システ
ムの模式的ブロツク図、第5図は本発明に従つたオブジ
エク指向のプログラムの模式的なブロツク図、第6図乃
至第9図は本発明に従つた「マテリアライズ」メソツド
の第1の例に関して、揮発性メモリと非揮発性メモリの
内容とオブジエクのリストとを示す図、第10図及び第11
図は本発明に従つた「マテリアライズ」メソツドの第2
の例に関して、揮発性メモリと非揮発性メモリの内容と
オブジエクのリストとを示す図、第12図乃至第14図は本
発明に従つた「デマテリアライズ」メソツドの第1の例
に関して、揮発性メモリと非揮発性メモリの内容とオブ
ジエクのリストとを示す図、第15図乃至第17図は本発明
に従つた「デマテリアライズ」メソツドの第2の例に関
して、揮発性メモリと非揮発性メモリの内容とオブジエ
クのリストとを示す図、第18図乃至第20図は本発明に従
つた「デマテリアライズ」メソツドの第3の例に関し
て、揮発性メモリと非揮発性メモリの内容とオブジエク
のリストとを示す図、第21図乃至第23図は本発明に従つ
た「デマテリアライズ」メソツドの第4の例に関して、
揮発性メモリと非揮発性メモリの内容とオブジエクのリ
ストとを示す図である。 10……オブジエクト指向コンピユータ・システム、11…
…データ・プロセツサ、12……オブジエクト指向プログ
ラム、13……揮発性メモリ、14……非揮発性データ・ス
トレージ、15……デイスプレー装置、51……メツセンジ
ヤ、52……オブジエクト・マネージヤ、53……ロードさ
れたクラスのテーブル、54……メソツド_A、55……メソ
ツド_B、56……データ・フレーム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 フロイド・ウエイン・シヤツケルフオード アメリカ合衆国ジヨージア州バフオード、 ハノーバー・ドライブ3510番地 (72)発明者 ジヨン・ラツセル・テイラー・ジユニア アメリカ合衆国ジヨージア州ピーチトリ ー・シテイ、ウオーム・ストーン・パス 102番地 (72)発明者 リチヤード・スミス・ブリツグス アメリカ合衆国イリノイ州ブルーミンクデ ール、ローレイン・サークル213番地 (56)参考文献 「IEEE COMPUTER」Vo l.21,No.12P.57−69(1988−12) 「Proc of ACM SIGMO D Int.cof.on mavage ncent of Date」P.36−45 (1989−6)

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】非揮発性データ記憶装置と、 揮発性データ記憶装置と、 上記非揮発性データ記憶装置と揮発性データ記憶装置と
    に接続するオブジェクト指向データ・プロセッサと、 を有するオブジェクト指向コンピュータ・システムであ
    って、 上記オブジェクト指向データ・プロセッサは、各々がフ
    レームと上記フレームをカプセル化するための少なくと
    も1つのメソッドを持つ複数のオブジェクトを含み、上
    記フレームは上記オブジェクトの複数の属性を含み、上
    記フレームをカプセル化するための上記少なくとも1つ
    のメソッドは、カプセル化されたフレーム内の選択され
    る属性に対して実行される少なくとも1つの機能を含ん
    でおり、 上記複数のオブジェクトは、親オブジェクトおよび子オ
    ブジェクトという階層的構成に配列され、子オブジェク
    トは、親オブジェクトの属性とカプセル化されたメソッ
    ドとを継承するものであり、 上記複数のオブジェクトは、上記非揮発性データ記憶装
    置にある特定のオブジェクトを上記揮発性データ記憶装
    置に記憶するため、および、上記揮発性データ記憶装置
    にある特定のオブジェクトを上記非揮発性データ記憶装
    置に記憶するための、少なくとも1つの持続的クラスの
    メソッドを有する持続的クラスのオブジェクトを含んで
    おり、 上記複数のオブジェクトのうち選ばれたオブジェクト
    は、上記持続的クラスのオブジェクトの子オブジェクト
    とされて、上記持続的クラスのオブジェクトの属性とメ
    ソッドとを継承し、従って、上記複数のオブジェクトの
    うち選ばれたオブジェクトは、参照される度毎に自動的
    に揮発性データ記憶装置に記憶され、該複数のオブジェ
    クトのうち選ばれたオブジェクトに対するすべての変更
    は、自動的に非揮発性データ記憶装置に記憶されるよう
    にした、 オブジェクト指向コンピュータ・システム。
  2. 【請求項2】上記少なくとも1つの持続的クラスのメソ
    ッドが、 ある特定オブジェクトを上記揮発性データ記憶装置にマ
    テリアライズする第1のメソッドと、 ある特定オブジェクトを上記非揮発性データ記憶装置か
    らデマテリアライズする第2のメソッドと、 を含む請求項1記載のオブジェクト指向コンピュータ・
    システム。
  3. 【請求項3】上記第1のメソッドが、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    あるか否かを判定する手段と、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    ある場合、上記非揮発性データ記憶装置にある上記特定
    オブジェクトを上記揮発性データ記憶装置に記憶する手
    段と、 を含む請求項2記載のオブジェクト指向コンピュータ・
    システム。
  4. 【請求項4】上記第1のメソッドが、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    あるか否かを判定する手段と、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    ない場合、エラー・コードを生成する手段と、 を含む請求項2記載のオブジェクト指向コンピュータ・
    システム。
  5. 【請求項5】上記第2のメソッドが、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間に上記特定オブジェクトに対する変更が行われた
    か否かを判定する手段と、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間にいっさい変更が行なわれていない場合に限って
    上記揮発性データ記憶装置から上記特定オブジェクトを
    消去する手段と、 を含む請求項2記載のオブジェクト指向コンピュータ・
    システム。
  6. 【請求項6】上記第2のメソッドが、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間に上記特定オブジェクトに対する変更が行われた
    か否かを判定する手段と、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間上記特定オブジェクトに対する変更が行なわれた
    場合に限り上記非揮発性データ記憶装置上の上記特定オ
    ブジェクトを上記揮発性データ記憶装置上の上記特定オ
    ブジェクトと置き換える手段を含む請求項2記載のオブ
    ジェクト指向コンピュータ・システム。
  7. 【請求項7】上記第2のメソッドが、 上記特定オブジェクトが上記揮発性データ記憶装置にお
    いて新たに作成されたか否かを判定する手段と、 上記特定オブジェクトが上記揮発性データ記憶装置にお
    いて新たに作成された場合は、上記特定オブジェクトを
    上記非揮発性データ記憶装置に記憶する手段と、 を含む請求項2記載のオブジェクト指向コンピュータ・
    システム。
  8. 【請求項8】上記第2のメソッドが、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    あるか否かを判定する手段と、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    ない場合、上記特定オブジェクトを上記非揮発性データ
    記憶装置に記憶する手段と、 上記特定オブジェクトが上記非揮発性データ記憶装置に
    ある場合上記特定オブジェクトが上記揮発性データ記憶
    装置にあった間に変更が行われたか否かを判定する手段
    と、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間変更が行なわれなかった場合上記非揮発性データ
    記憶装置から上記特定オブジェクトを消去する手段と、 上記特定オブジェクトが上記揮発性データ記憶装置にあ
    った間変更が行なわれた場合上記非揮発性データ記憶装
    置上の上記特定オブジェクトを上記揮発性データ記憶装
    置上の上記特定オブジェクトと置き換える手段と、 を含む請求項2記載のオブジェクト指向コンピュータ・
    システム。
  9. 【請求項9】非揮発性データ記憶装置と、 揮発性データ記憶装置と、 上記非揮発性データ記憶装置と揮発性データ記憶装置と
    に接続し、各々がフレームと上記フレームをカプセル化
    するための少なくとも1つのメソッドとを持つ複数のオ
    ブジェクトを有するオブジェクト指向データ・プロセッ
    サと、 からなるオブジェクト指向コンピュータ・システムにお
    いて、 上記オブジェクト指向データ・プロセッサにおいて持続
    的クラスのオブジェクトを備え持つステップと、 上記複数のオブジェクトから選択されるオブジェクト
    が、参照される度毎に自動的に揮発性データ記憶装置に
    記憶され、該上記複数のオブジェクトから選択されるオ
    ブジェクトに対するすべての変更が、自動的に非揮発性
    データ記憶装置に記憶されるように、上記オブジェクト
    指向データ・プロセッサにおける上記複数のオブジェク
    トから選択されるオブジェクトをして、上記オブジェク
    ト指向データ・プロセッサにおける上記持続的オブジェ
    クトの属性とメソッドとを継承させるステップと、 から構成される、上記オブジェクト指向コンピュータ・
    システムによって実行される方法。
  10. 【請求項10】ある特定オブジェクトを上記揮発性デー
    タ記憶装置にマテリアライズするステップを実行する第
    1の持続的クラスのメソッドと、ある特定オブジェクト
    を上記非揮発性データ記憶装置からデマテリアライズす
    るステップを実行する第2の持続的クラスのメソッドと
    を含む持続的クラスのメソッドを含む、請求項9記載の
    オブジェクト指向コンピュータ・システムによって実行
    される方法。
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 JPH03137730A (ja) 1991-06-12
JPH0833862B2 true 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)

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
EP0562822B1 (en) * 1992-03-24 2000-06-07 Canon Kabushiki Kaisha Method of managing data structure containing both persistent data and transient data
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
US5873097A (en) * 1993-05-12 1999-02-16 Apple Computer, Inc. Update mechanism for computer storage container manager
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
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
US5797007A (en) * 1993-06-14 1998-08-18 International Business Machines Corporation Persistent object storage system with default object encoder/decoder
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
WO1995019001A1 (en) * 1994-01-05 1995-07-13 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.
WO1995027248A1 (en) * 1994-03-30 1995-10-12 Apple Computer, Inc. Object oriented message passing system and method
WO1996013026A1 (en) * 1994-10-25 1996-05-02 Taligent, Inc. Object-oriented system for servicing windows
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
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
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
JP3652376B2 (ja) * 1995-06-07 2005-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 従来の非オブジェクト指向業務アプリケーションをアクセスするためのオブジェクト構造を生成するための方法論
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
EP0977657B1 (en) 1997-04-18 2003-03-19 Atoma International Corp. Decorative automotive interior trim articles with cast integral light stable covering and process for making the same
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
US9767988B2 (en) 2010-08-29 2017-09-19 Advanced Energy Industries, Inc. Method of controlling the switched mode ion energy distribution system
US9435029B2 (en) 2010-08-29 2016-09-06 Advanced Energy Industries, Inc. Wafer chucking system for advanced plasma ion energy processing systems
US9287086B2 (en) 2010-04-26 2016-03-15 Advanced Energy Industries, Inc. System, method and apparatus for controlling ion energy distribution
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
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
KR102085496B1 (ko) 2012-08-28 2020-03-05 에이이에스 글로벌 홀딩스 피티이 리미티드 넓은 다이내믹 레인지 이온 에너지 바이어스 제어; 고속 이온 에너지 스위칭; 이온 에너지 제어와 펄스동작 바이어스 서플라이; 및 가상 전면 패널
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
CN111788655B (zh) 2017-11-17 2024-04-05 先进工程解决方案全球控股私人有限公司 对等离子体处理的离子偏置电压的空间和时间控制
CN114339353B (zh) * 2021-12-31 2023-09-29 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质
US11670487B1 (en) 2022-01-26 2023-06-06 Advanced Energy Industries, Inc. Bias supply control and data processing
US11942309B2 (en) 2022-01-26 2024-03-26 Advanced Energy Industries, Inc. Bias supply with resonant switching

Family Cites Families (16)

* 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
JPS62115533A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd 知識処理システム
JPS62219124A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd デ−タベ−スにおける項目属性遺伝処理方式
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
「IEEECOMPUTER」Vol.21,No.12P.57−69(1988−12)
「ProcofACMSIGMODInt.cof.onmavagencentofDate」P.36−45(1989−6)

Also Published As

Publication number Publication date
US5247669A (en) 1993-09-21
EP0425420A2 (en) 1991-05-02
EP0425420A3 (en) 1992-09-23
JPH03137730A (ja) 1991-06-12

Similar Documents

Publication Publication Date Title
JPH0833862B2 (ja) オブジエクト指向コンピユータ・システム
EP1121639B1 (en) Impact analysis of a model
US5161225A (en) Persistent stream for processing time consuming and reusable queries in an object oriented database management system
US6360230B1 (en) Method and system for uniformly accessing multiple directory services
JP2531846B2 (ja) オブジェクト指向デ―タベ―ス管理システム及び方法
EP0425421B1 (en) Process and apparatus for manipulating a boundless data stream in an object oriented programming system
EP0425415B1 (en) Process and apparatus for preserving data integrity of a database
US6366921B1 (en) System and method for data manipulation in a dynamic object-based format
US5893912A (en) Thread context manager for relational databases, method and computer program product for implementing thread context management for relational databases
JP2708294B2 (ja) オブジェクト指向環境においてオブジェクトを処理する方法
US6049807A (en) Technique for maintaining object integrity during modification of a persistent store of objects
US8015561B2 (en) System and method for managing memory of Java session objects
US6792606B2 (en) Method and apparatus for object persistence
JPH0997204A (ja) 分散オブジェクト操作環境において透明性のある不変性を提供する方法および装置
US7451434B1 (en) Programming with shared objects in a shared memory
JPH07121424A (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
EP0603880A2 (en) Method and system for aggregating objects
US5410702A (en) Slot objects for an object oriented programming system

Legal Events

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