JPH03209526A - オブジェクト指向コンピュータシステム - Google Patents

オブジェクト指向コンピュータシステム

Info

Publication number
JPH03209526A
JPH03209526A JP2251671A JP25167190A JPH03209526A JP H03209526 A JPH03209526 A JP H03209526A JP 2251671 A JP2251671 A JP 2251671A JP 25167190 A JP25167190 A JP 25167190A JP H03209526 A JPH03209526 A JP H03209526A
Authority
JP
Japan
Prior art keywords
slot
frame
area
slot object
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2251671A
Other languages
English (en)
Inventor
W Shackelford Floyd
フロイド、ウェイン、シャケルフォード
L Abraham Robert
ロバート、ロー、エイブラハム
Richard E Moore
リチャード、ユージーン、ムーア
William L Rich
ウイリアム、ローレンス、リッチ
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 JPH03209526A publication Critical patent/JPH03209526A/ja
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はオブジェクト指向プログラミングシステムに関
し、詳細にはオブジェクト指向プログラミングシステム
におけるオブジェクトを直接にマニピュレートするため
のプロセスおよび装置に関する。
〔従来の技術〕
オブジェクト指向プログラミングシステム(objec
t orienteal programing sy
stem)およびプロセスは現在のデータ処理の分野に
おける研究開発の主題となっている。オブジェクト指向
プログラミングは再使用可能であって容易に拡張しうる
プログラムを与えるコンピュータプログラムパッケージ
ング技術である。新しい機能要求および新しい形式のデ
ータには容易には適合しえない従来の機能プログラミン
グ技術とは異なり、オブジェクト指向プログラムは再使
用可能でありそして新しい要求が生じたとき拡張可能で
ある。コンビ二一夕を用いるシステムの複雑性は常に増
大するため、オブジェクト指向プログラミングは注目さ
れそして研究されている。
オブジェクト指向プログラミングシステムでは機能では
なくむしろデータが注目される。オブジェクト指向プロ
グラミングシステムは多数の「オブジェクト」から成る
。オブジェクトはデータ構造およびそのデータ構造にア
クセスしうる一群の動作または機能である。このデータ
構造を「フレーム(frase)Jと呼ぶことが出来る
。フレームは多くの「スロット(slot) Jを有し
、夫々のスロットにそのスロット内のデータの「属性」
が含まれる。属性はプリミティブ(すなわぢ整数または
ストリング〕であるかあるいは他のオブジェクトのイン
スタンス(1n5tance)に対するポインタである
オブジェクトリファレンス(object refer
e−nce)である(後述)。データ構造にアクセスし
うる夫々の動作(機能)を「メソッド(iethod)
 Jと呼ぶ。
第1図はオブジェクトの概略表示であってフレームはそ
のメソッドに囲まれている(encapsu[a、−1
ed)。第2図はオブジェクトの一例であってデータ構
造が従業者のデータに関係しており、そして多数のメソ
ッドがこのデータ構造を囲んでいる。
一つのメソッドは例えば従業者の年齢を含んでいる。夫
々限定されたオブジェクトは一般に多数のインスタスで
表現される。夫々のインスタンスはそのオブジェクトの
特定の例についての特定のデータ構造を含んでいる。例
えば、ジョイス・スミスなる名前を有する個々の従業者
についてのオブジェクトは「従業者」オブジェクトの一
つのインスタンスである。
オブジェクト指向プログラミングシステムはフレキシブ
ルで再使用可能なプログラムを開発し、うるようにする
2つの主特徴を与える。これらの特徴は「エンキャプシ
ュレーション(eneapsulati−On)」およ
び[インへりタンス(inberitance)Jと呼
ばれる。第1図に示すように、フレームはそのメソッド
(機能)によりとり囲まれている。夫々のデータ片のま
わりにコードの壁が配置されている。このフレームへの
すべてのアクセスはそれを囲むメソッドにより処理され
る。一つのオブジェクトのデータ構造はそのメソッドに
よってのみアクセスされるから、データの独立性が与え
られる。関連するメソッドのみが内部のデータ構造を知
ることになる。これがデータの安全性を保証する。
オブジェクト指向プログラミングシステムのこの「イン
へりタンス」特性により、前に書込まれたプログラムが
オブジェクトの新しいスーパクラスとサブクラスをつく
ることによって拡張しうるようになる。新しいオブジェ
クトは予め存在しているオブジェクトとそれがいかに異
なるかということにより記述され、新しい形式のデータ
または機能を扱うために新プログラムのすべてを書込む
必要をなくしている。
第3図はインへりタンス特性を示す。便宜上、オブジェ
クトを円ではなく矩形で示しており、矩形の上部にオブ
ジェクトのネームを、オブジェクトのネームの下にフレ
ームを、そしてフレームの下にメソッドを配置しである
。第3図において、3つのオブジェトクのクラスを「セ
ールスマン」、「従業員」および「人」で示しており、
セールスマンは−「種(kind or)」の従業員で
ありこれは−「種(kind or’)Jの人である。
云い換えると、セールスマンは従業員のサブクラスであ
り、従業員はセールスマンのスーパクラスである。同様
に、従業員は人のサブクラスであり、人は従業員のスー
パクラスである。図示の各クラスは3個のインスタンス
を含む。B、メツター、W、ティップおよびB、  G
、ブルーはセールスマンである。B。
アブラハム、K、イエーツおよびR,テープは従業員で
ある。J、マツケン口、R,ネーダ、R。
リーガンは人である。云い換えると、インスタンスはそ
のクラスに「の内の−(isa)Jなる関係をもって関
係づけられている。
各サブクラスはそのスーパクラスのフレームとメソッド
を「受は継ぐ」。従って例えばセールスマンのフレーム
は従業員のスーパクラスから「年齢および雇用臼」オブ
ジェクト並びに「プロモート」メソッドを受は継ぐ。セ
ールスマンはまた「固有の取り分」属性および「コミッ
ション支払い」メソッドを含んでいる。夫々のインスタ
ンスはそのスーパクラスのすべてのメソッドとフレーム
にアクセス出来、それ故、例えばB、 G、ブルーはプ
ロモートされうる。
オブジェクト指向システムでは、高級ルーチンは一つの
オブジェクトにそのオブジェクトがなすべきことを伝え
る「メツセージ」を送ることによりそのオブジェクトに
そのメソッドの内の19を実行するような要求を出す。
これを受けるオブジェクトはメツセージネームを履行す
るメソッドを選びそ1.てこのメソッドを実行しそして
そのメソッドの結果にもとづき、要求を出す高級ルーチ
ンに制御をもどすことによりそのメツセージに応答する
オブジェクト指向プログラミングシステムは揮発性メモ
リ、すなわち一つのセツションが終了し、あるいはデー
タプロセサから電源がはずされるときに消去または重ね
書込みされるメモリ、およびデータを永久的に記憶する
直接アクセス記憶装置(DASD−ディスクファイル)
またはテープファイルのような不揮発性メモリを含むデ
ータプロセサにもとづき通常動作することは当業者には
明らかである。揮発性メモリは通常ランダムアクセスメ
モリ(RAM)または単に「メモリ」と呼ばれる。不揮
発性メモリは「データベース」と呼ばれる。ここで用い
る「データベース」は特定のデータベース技術または製
品ではなく、任意の物理的な不揮発性データ記憶媒体を
意味する。
〔発明が解決1.ようとする課局〕 上述のようにオブジェクト指向プログラミングシステム
は複雑なプログラムのエンキャプシュレーションとイン
へりタンスを与え、プログラムのフレキシビリティと再
使用性を実現する。しかしながら多数のオブジェクトを
含む複雑なプログラムは3つの主なる面すなわちオブジ
ェクト管理、メツセージオーバヘッド(message
 overhead)およびメモリフラグメンテーショ
ン(fragmentati−on) 、においてシス
テムの性能に影響する。
オブジェクトの数が多いとオブジェクト管理は、オブジ
ェクトのマネジャが必要なオブジェクトネームとそれら
のロケーションへのポインタを含む大きなオブジェクト
テーブルを維持しなければならないから異常に大きい量
のシステムリリースを消費する。オブジェクトテーブル
は大きな記憶量を占めそしてそれへのアクセスも時間の
かがるものである。更に、多数のオブジェクトはそれら
オブジェクトについての動作に多数のメツセージを必要
とする。複雑なメッセージマネジャがこれらメツセージ
を管理しなければならない。最後に、すべてのオブジェ
クトはメモリの夫々のセグメントを占有する。それ故メ
モリは効率良く利用することが困難な小さいチャンクに
分けられることになる。
それ数本発明の目的は改良されたオブジェクト指向コン
ピュータシステムを提供することである。
本発明の他の目的はオブジェクト指向コンピュータシス
テムにおいてオブジェクトをマニピュレートするための
プロセスおよび装置を提供することである。
本発明の他の目的はオブジェクト指向コンピュータシス
テムにおいて、オブジェクトの管理要件を簡略化する、
オブジェクトのマニピュレートのためのプロセスおよび
装置を提供することである。
本発明の他の目的はオブジェクト指向コンピュータシス
テムにおいて、オブジェクトをマニピュレートするため
の、メツセージオーバヘッドを減少させるプロセスおよ
び装置を提供することである。
本発明の他の目的はオブジェクト指向コンピュータシス
テムにおいて、オブジェクトをコンビニレートするため
の、メモリフラグメンテーションを減少させるプロセス
および装置を提供することである。
本発明の更に他の目的はオブジェクト指向コンピュータ
システムにおいて、オブジェクトのエンキャプシュレー
ションとインへりタンスを劣化させることなくオブジェ
クトをマニピュレートするためのプロセスと装置を提供
することである。
c課遅を解決するための手段〕 本発明によれば上記の目的は、オブジェクト指向コンピ
ュータシステムについて少くとも1個のスロットオブジ
ェクトを与えることにより達成される。スロットオブジ
ェクトはそのフレームに少くとも1個の関連するインス
タンスについて予定のデータを有する領域を含む。関連
するインスタンスの属性を含むだけ2フレームを有する
他のオブジェクトとは対照的にこのスロットオブジェク
トはそこに実際のデータを含む。云いがえると、19の
スロットがデクレアされると、そのデータに対するリフ
ァレンスを得ることが出来ず、インラインで含まれる全
データ構造を得ることになる。
〔作 用〕
スロットオブジェクト内のデータはスロットオブジェク
ト内で直接にマニピュレートしうる。従って、このデー
タはオブジェクトマネジャ内にエンタブライズ規模のオ
ブジェクト識別子を必要としないばかりでなく、別のメ
ツセージを介して直接にアクセス可能とする必要もない
。オブジェクト管理とメツセージでオーバヘッドはその
ために著しく簡単になる。更に、メモリを固有のオブジ
ェクトに割り振られる必要がないばかりかオブジェクト
が自由とされるときにメモリの割り振りをはずす必要も
ない。そのためメモリの細分化は低下する。従って、ス
ロットオブジェクトは、より一般的なオブジェクト識別
法のオーバヘッドを必要とせずに完全に用意の完了した
オブジェクトとして多くのデータクラスをマニピュレー
トしうるようにする。
本発明のスロットオブジェクトは、一般のオブジェクト
指向システムが簡単であってサイズまたは内容を大きく
変えることがなく、ある種のより複雑なオブジェクトの
コンティンメント内でのみ存在し、そしてそれを含むオ
ブジェクトの範囲内でネームによってのみ選択可能な多
くのオブジェクトを含むという事実にもとづく。スロッ
トオブジェクトとしてこれら簡単で厳密に限定されるオ
ブジェクトをデクレアすることにより、データのエンキ
ャプシュレーションとインへりタンスが保存され、オブ
ジェクト管理とメツセージオーバヘッドとメモリ細分化
についてのシステム性能ヲ改善する。
本発明によれば、オブジェクト指向コンピュータシステ
ムについてのスロットオブジェクトは対応するスロット
オブジェクトインスタンスのデータ属性を有する少くと
も1個のスロットと、関連するインスタンスからのデー
タ群を有する少くとも1個のスロットとを含む。この関
連するインスタンスはこのデータを含まず、すなわちこ
のデータはスロットオブジェクト内にあるためこのデー
タを有しない。
スロットオブジェクトはそのスロットオブジェクト内に
エンキャブシュレートされたデータに対するオブジェク
トリファレンス(OREF)を含む。オブジェクトテー
ブル内のオブジェクト位置に対するポインタを含む従来
のオブジェクトにおける0REFとは異なり、スロット
オブジェクトのREFはスロットオブジェクトにエンキ
ャブシュレートされたデータの第1部分のアドレスに対
するポインタを含む。この0REFは「セルフリファレ
ンス(Self−Reference) Jと呼ばれる
本発明の一実施例においてはスロットオブジェクトはス
ロットオブジェクトフレーム内に可変長さの領域を含み
、そこに予定のデータが含まれる。
従って、可変長さの予定のデータが適合しうる。
スロットオブジェクトは、アドレス、全体として与えら
れる長さおよび使用されている全体の長さのような可変
領域についての情報を含む多数の可変領域リファレンス
を含む。
〔実施例〕
本発明の好適な実施例を示す添付図面について本発明を
詳述する。しかしながら、本発明は多くの異なった形で
具体化しうるちのであるから、ここに述べる実施例に限
定されるものではなく、むしろこの実施例はこの明細書
が充分且つ完全であって本発明の範囲を当業者に完全に
明らかにするために用いられるものである。図面全体に
って同じ参照数字は同様の要素を示している。
オブジェクト指向コンピュータシステムにおいてはデー
タを含む(エンキャブシュレートする)オブジェクトに
対しアクション要求メツセージを送ることによりワーク
を行う。このオブジェクトはその予め定義されたメソッ
ドに従ってデータについての要求されたアクションを行
うことになる。
アクションのりクエスタは実際のデータがどのようなも
のかあるいはそのオブジェクトがどのようにしてそれを
マニピュレートするかを知る必要はない。
オブジェクトのクラスはそのデータのタイプと意味およ
びそのオブジェクトに与えられるアクション要求(メツ
セージ)を定義する。データを含む個々のオブジェクト
はそのクラスのインスタンスと呼ばれる。クラスは一般
に実世界の事象に関する。例えば「部品」は一つのクラ
スである。
つの部品のデータエレメント(スロット)は部品の番号
、状態および部品のタイプであってもよい。
このクラスのインスタンスは個々の部品を表わし、その
夫々がそれ自体の部品番号、状態およびタイプの情報を
有する。要求されたアクションを行うプログラムはその
クラスのメソッドと呼ばれる。
オブジェクトのクラスは他のクラスのサブクラスと定義
しうる。サブクラスは親クラスのデータの特性とメソッ
ドのすべてを受は継ぐ。これらは付加的なデータとメソ
ッドを付加することが出来、そして親クラスの任意のデ
ータエレメントまたはメソッドを書換え(再定義)する
ことが出来る。
殆どのメツセージがオブジェクトのインスタンスに送ら
れる間に新しいインスタンスの発生を要求するメツセー
ジが一つのオブジェクトのクラスに送られる。このクラ
スは新しいインスタンスを発生させそして、そのオブジ
ェクトを知らしめるオブジェクト識別子をもどす。
アクション要求メツセージのセンダはメツセージを送っ
ているオブジェクトの正確なりラスを知る必要がない。
目的とするオブジェクトがそのメツセージを扱うメソッ
ドを定義するかあるいはそのようなメソッドを定義する
親クラスを有していれば、そのメツセージはオブジェク
トインスタンス内のデータおよびそのクラスまたは親ク
ラスのメソッドを用いて処理される。事実、それは直接
の親である必要はなく、親の親、等でもよい。メソッド
要求のセンダはそれを受けるオブジェクトのオブジェク
トIDを有するだけでよい。オブジェクト指向システム
のこの特性を「インへりタンス」と呼ぶ。このインへり
タンス特性が本発明で用いられる。
第4図をみるに、オブジェクト指向コンピュータシステ
ム10の概略的ブロック図が示されている。システム1
0はメインフレームコンピュータ、ミニコンピユータま
たはパーソナルコンピュータであるデータプロセサ11
を含む。複数のユーザを有する大型データベースについ
ては1個のメインフレームコンピュータが一般に用いら
れる。当業者には周知のように、データプロセサ10は
一般には活性のデータについてのワーキング記憶と中間
結果を与えるためのランダムアクセスメモリ(RAM)
である揮発性データ記憶装置13を含む。RAM13内
のデータはデータプロセサ11への電力が切られあるい
は新しいユーザミッションが開始されるときに消却され
る。システム10はまたオブジェクトの永久記憶用の不
揮発性データ記憶装置14を含む。装置14は直接アク
セス記憶装置(DASD−一種のディスクファイル)、
テープファイル、消去可能光ディスクまたは他の周知の
装置である。不揮発性データ記憶装置14はここでは「
データベース」と呼ぶことにする。
揮発性データ記憶装置13を「メモリ」と呼ぶことにす
る。陰極線管(CRT)または抽の表示装置およびキー
ボードを含む表示端末15も示しである。
オブジェクト指向動作プログラム12もこのデータプロ
セサ11に含まれている。オブジェクト指向動作プログ
ラム12はrCJまたは「スモールトーク」またはその
変形のようなオブジェクト指向言語またはフォートラン
やコボμのような従来のプログラム言語でプログラム出
来る。オブジェクト指向動作プログラム12の設計は当
業者には周知であるから、概略だけを次に述べる。
第5図において、オブジェクト指向プログラム12(第
4図)の主要素を次に述べる。オブジェクト指向プログ
ラムの設計および動作の詳細は1988、プレンティス
ホール(Prentice Hall)版のパートラン
ドメーヤー(Bertrand Meyer)著「オブ
ジェクト指向ソフトウェア構成 (Object 0riented Software
 Con5truct1on) Jにあり、それをここ
にも参照のために引用する。
第5図において、オブジェクト指向プログラム12は3
個の主要素、メツセンジャ51、オブジェクト管理テー
ブル52および充填された( Ioa=ded)クラス
テーブル53、を含む。メツセンジャ51はオブジェク
ト管理テーブル52と充填クラステーブル53の間の呼
および被呼メツセージ間の通信を制御する。オブジェク
ト管理テーブル52はすべての活性オブジェクトインス
タンスに対するポインタのリストを含む。充填クラステ
ーブル(ロードされたクラステーブル)53は活性オブ
ジェクトクラスのすべてのメソッドに対するポインタの
リストを含む。
オブジェクト指向プログラム12の動作を第5図に示す
例についてここに説明する。第5図においては一つのオ
ブジェクトのメソッドA(ブロック54)が一つのオブ
ジェクトのメソッドB(ブロック55)にメツセージを
送るごとくなっている。メソッドAはメツセンジャ51
を呼ぶことによりメソッドBにメツセージを送る。この
メツセージは(1)そのメツセージを受けるためのイン
スタンスのオブジェクトリファレンス、(2)オブジェ
クトインスタンスがエンキャブシュレートするデータを
実行することをそのオブジェクトインスタンスが要求す
るメソッド、(3)受は入れメソッドに必要な任意のパ
ラメータ、を含む。メツセンジャ51はそのインスタン
スのオブジェクトについてオブジェクト管理テーブル5
2を検索することによりメソッドAによって特定された
インスタンスオブジェクトのデータフレーム56に対す
るポインタを得る。この特定されたインスタンスオブジ
ェクトが見つからないのであれば、オブジェクト管理テ
ーブル52はそのインスタンスオブジェクトをそのテー
ブルに加えそしてデータベ・−スからのそのデータを具
体化するためにそのインスタンスを呼び出す。このイン
スタンステーブル内で1回、オブジェクト管理テーブル
52はこの具体化されたインスタンスオブジェクトにポ
インタをもどす。
メツセンジャ51は次に充填クラステーブル53からメ
ソッドBのアドレスを得る。このインスタンスのクラス
が充填されていなければ充填クラステーブル53はその
ときそれを、そのデータの具体化のために充填する。充
填クラステーブル53はこの特定されたメソッド(メソ
ッドB)を検索しそしてそのメソッドのアドレスをメツ
センジャ51にもどす。
次に、メツセンジャ51は、それをシステムデータエリ
アに渡すメソッドBと、ポインタを含むメソッドAによ
って作られるコールからのパラメータをコールする。メ
ソッドBはこのポインタを用いてデータフレーム56に
アクセスする。次にメソッドBは制御をメツセンジャ5
1にもどし、このメツセンジャがそれをメソッドAにも
どす。
スロットオブジェクトクラス 本発明のスロットオブジェクトクラスは通常のオブジェ
クトと同じ機能を与えつつ改善された性能を与える。本
発明によれば、スロットオブジェクトはサイズまたは内
容を動的に変えることのない単純なオブジェクトについ
て利用される。スロットオブジェクトはメソッドを有す
るデータ領域である。オブジェクト指向コンピュータシ
ステムにおける従来のオブジェクトとは異なり、スロッ
トオブジェクトはそれを囲むオブジェクトまたはインス
タンス内にのみ、あるいはメソッド内のローカルデータ
として存在する。本発明によれば他のオブジェクトイン
スタンスにより排他的に用いられる任意のオブジェクト
インスタンスはスロットオブジェクトとして与えること
が出来る。スロットオブジェクトはそれらのまわりのイ
ンスタンスまたはメソッドの外側では不可視である。む
しろ、これらは含有するオブジェクト内からのネームに
よってのみ選択可能である。
スロットオブジェクトはオブジェクト管理テーブルのエ
ントリを有せず、またオブジェクト管理テーブルエント
リを必要としない。一つのスロットオブジェクトがデク
レアされると、全データ構造がデータへのリファレンス
のみではなくインラインに含まれる。スロットオブジェ
クトのオブジェクトリファレンスはスロットオブジェク
トのデータ領域内のはじめのデータ部分である。がくし
て、スロットオブジェクトは通常のオブジェクトではな
くスマートデータ領域として生じる。
本発明によるスロットオブジェクトの使用はエンキャプ
シュレーションとダイナミックメッセージングの利点を
与えつつ、一般的なオブジェクトの使用の比較してオブ
ジェクト指向コンピュータシステムにおける著しい性能
の節約を与える。これらは一般的なオブジェクト識別法
のオーバヘッドを伴わずにデータの多くのクラスを完全
にフレッジした(fledged)オブジェクトとして
マニピュレートしつるようにする。サイズが2〜3バイ
トの非常に小さいオブジェクトがインラインで含まれる
から、メモリが小さな、使用不能なチャンク(chis
k)に細分化されることが少い。「ヒープ(Heap)
 Jメモリ(すなわち−時記憶用にユーザに提供しうる
RAMの部分)は、スロットオブジェクトがつくられる
ときに割当てられる必要はなく、またはフリーとされた
とき回復される必要もない。すべてのオブジェクトはイ
ンラインで含まれそしてオブジェクトロケーションテー
ブルに配置されないから、データアドレスを分解する必
要はない。かくしてオブジェクトを、メツセージが完成
されうる前にこのテーブルに置く必要はない。
オブジェクトマネジヤはスロットオブジェクト用のテー
ブルポインタおよびその他を維持する必要がない。かく
して実際のデータ用のメモリの利用と記憶オーバヘッド
が促進される。ポインタ等を用いての間接アドレシング
を分解する必要がないからアクセス時間も短縮される。
スロットオブジェクト用のオブジェクトリファレンスは
そのスロットオブジェクトを保持するスロットの内容の
はじめの部分として生じる。それ故、スロットオブジェ
クトはリファレンスとデータの両方を含む。スロットオ
ブジェクトがデータベースに書込まれると、全スロット
オブジェクトデータ構造がコピーされる。
本発明の他の特徴によれば、可変領域がスロットオブジ
ェクトについてのフレーム内に使用に供される。これら
可変領域を使用するためにはそれらに適正なスペースを
割当て、あるいはそれを必要に応じて再割当てしなけれ
ばならない。
可変領域を有するスロットオブジェクトは直接には割当
て得ない。夫々の可変領域スロットオブジェクトは異な
った記憶量を処理するから、同様のタイプのスロットオ
ブジェクトのみが割当て可能である。可変領域について
の成る知識が失われつるから、スロットオブジェクト内
の値は直接割当てを防止することになる。例えばスロッ
トオブジェクトBをスロットオブジェクトAに割当てる
には[^、 Copy−3lot−Object(B)
; Jがコード化される。これは可変領域およびBから
Aに更新可能な値をコピーする。Aが割当てた可変領域
にBの可変領域がフィツトしないならば、Aの可変領域
の部分を越えて伸びるBの可変領域の部分が切られ、そ
れ散失われる。
スロットオブジェクトについての割当ての可能性の他の
例は標準的な5ELFステートメントを利用するもので
ある。rS E L FJは現在の全構造を示すもので
あり現在のオブジェクトに対するリファレンスではない
。それ故raニー5ELF;Jは通常のオブジェクトに
ついてのオブジェクトリファレンス割当てではなく、ス
ロットオブジェクトクラスメソッド内にスロットオブジ
ェクト構造割当てを生じさせる。
スロットオブジェクトクラス:属性 スロットオブジェクトクラスのインスタンスは次の属性
を含む。
自己参照(Salf−Reference)  :オブ
ジェクト参照(object−reference) 
 ;可変領域スロットオブジェクトのインスタンスも次
の属性を含む。
可変領域オフセット(Var−Area−Offset
) :アクセスバイト(access byte) ;
可変領域全長(Var−Area−Total−Len
)  : o >グ(long) ; 可変領域使用長(Var−Area−Len−Used
) :ロング(long) ; 可変領域アドレス(War−Area−Addres)
 :アクセスバイト(access byte) ;自
己参照(Set f−Reference)自己参照は
スロットオブジェクトを呼び出すために用いられるオブ
ジェクトリファレンスである。
これはスロットオブジェクトについてのデータ領域のは
じめの部分である。
可変領域オフセット(Variable−Area−O
ffset)可変領域オフセットは囲んでいるフレーム
のトップからそのフレームのボトム近辺の可変領域まで
のオフセットである。第6図にスロットオブジェクトを
有するフレームを示す。そのフレーム内に囲まれたスロ
ットオブジェクトについての可変領域オフセットはアド
レスBからアドレスAを引いたその差を表わす。連続的
な記憶が表わされることに注意され度い。この属性は囲
まれたスロットオブジェクトの可変領域アドレスを計算
するときにメツセンジャによってのみ用いられる。これ
は発生時にセットされて更新されることはない。
可変領域全長(Variable−Area−Tota
l−Length)可変領域全長は可変領域の全体のサ
イズ(バイト)である。この属性はスロットオブジェク
トがその可変領域の境界を越えてメモリの更新を行わな
いようにするためにスロットオブジェクトメソッドによ
り用いられる。これは発生時にセットされ、更新される
ことがない。第8図において、可変領域全長はボックス
Aの全体のサイズを表わす。
可変領域使用長(Variable−Area−LOn
gth−1lsed)可変領域使用長は使用されている
可変領域の現在の量である。これは発生時に0にセット
されそしてこの可変領域に値が入れられるときに更新さ
れる。第8図について可変領域使用長はボックスAの上
部を表わす。
可変領域アトレア、 (Variable−Area−
Addres)可変領域アドレスはスロットオブジェク
トの可変領域に対する直接アドレスとしてスロットオブ
ジェクトメソッドにより用いられる。これは囲まれてい
ない可変領域スロットオブジェクトについて発生時にセ
ットされる。囲まれている可変領域スロットオブジェク
トについてはこれはそのスロットオブジェクトに対する
呼出し毎にメツセンジャにより再計算される。
スロットオブジェクトメソッドはそれらのデータに対し
て直接ポインタを使用し、フレームオブジェクトメソッ
ドは間接アドレス指定を用いる。
スロットオブジェクトも「囲む領域」の表示法を有する
。スロットオブジェクトの囲む領域はそれが含まれる(
それがフレームオブジェクト内にあれば)フレームオブ
ジェクトかスロットオブジェクト構造自体(それがフレ
ームオブジェクト内に含まれないのであれば)かである
。フレヘムオブジェクトは「囲む領域」の概念を有しな
い。オブジェクトマネジャはそれらのデータのアドレス
および「囲む領域」のアドレスをメソッドに与えるよう
に応答する。スロットオブジェクトとインスタンスオブ
ジェクトの間のこれらの相異のためにオブジェクトマネ
ジャはオブジェクトのタイプにより異なるセットアツプ
コードを実行するように準備されねばならない。例えば
スロットオブジェクトを具体化する必要はない。
スロットオブジェクトの他の特徴は属性のタイプとルー
チンパラメータの再定義である。スロットオブジェクト
属性のタイプを再定義するためには新しいスロットオブ
ジェクト構造タイプが元のスロットオブジェクト構造タ
イプより大きいスペースを占めてはならない。すなわち
、スペースは固定であるからである。他の実施例ではス
ロットオブジェクト構造に別の記憶を与えあるいはスロ
ットオブジェクトである属性の再定義を許さないように
する。スロットオブジェクトであるルーチンパラメータ
を再定義するためには新しいスロットオブジェクト構造
は元のタイプと同じ記憶量をスタックに占めなければな
らない。他の実施例はスロットオブジェクト属性につい
て上記したこと、すなわちスロットオブジェクト構造へ
の別の記憶の付加または再定義不許可を含む。
例 本発明のこれら特徴を三つの例により更に説明する。例
1は本発明のスロットオブジェクトを用いずに通常のオ
ブジェクトを処理するためのメツセージおよび記憶サポ
ートを説明する。例2は本発明のスロットオブジェクト
を処理するためのメツセージおよび記憶サポートを説明
する。例3は可変領域を有するスロットオブジェクトを
処理するためのメツセージおよび記憶サポートを説明す
る。
これら例において、用語「データベース」は不揮発性デ
ータ記憶装置を指している。用語rRAMJと「メモリ
」は揮発性データ記憶装置を指すために用いられている
例1:3フレーム−スロットオブジェクトなしこの第1
の例は第3フレーム、フレーム3、に対するオブジェク
トリファレンス0REFを含む第2フレーム、フレーム
2、に対し、0REFを含む第1フレーム、フレーム1
をマニピュレートするに必要なメツセージおよび記憶サ
ポートを明らかにするものである。これらフレームは例
えばフレーム1については「ドアー」、フレーム2につ
いては「ドアーのノブ」、フレーム3については「錠」
のような特定のネームで考えることが出来る。
例1ではスロットオブジェクトは用いられない。
従って、3個のフレームの夫々はオブジェクト−イン−
メモリーテーブル(Objeet−In−Memory
−Ta−ble)とも呼ばれるオブジェクト管理テーブ
ル(第5図の52)のエントリ(entry)を占めな
ければならない。このテーブルはオブジェクトおよび対
応するアドレスを保持する。一方、これはメツセンジャ
(第5図の51)に夫々のメツセージ呼出しでこのテー
ブル内のアドレスから実際のデータアドレスを決定させ
ることを要求する。この例についてのインメモリ(1n
1e*oy)表示を第9図に示す。
オブジェクト指向プログラミングでは、フレームはオブ
ジェクトの概念的表示である。まず、フレーム1に対す
る0REFを含むメソッドがフレーム1にメツセージを
送る。フレーム1のオブジェクトインメモリテーブルエ
ントリはこの0REF内に含まれる。メツセンジャはこ
の0REFを受けそしてオブジェクトインメモリテーブ
ルを、そのオブジェクト(フレーム1)がメモリにある
かどうかを決定するためにチエツクする。フレーム1が
メモリにあればメツセンジャはメソッドテーブルから得
られるメソッドアドレスを決定する。次にメツセンジャ
はオブジェクトインメモリテーブルエントリによりデー
タのアドレス指定を行う。この特定のメソッドはそのと
き呼び込まれる。
次に、フレーム1内のこの呼び込まれたメソッドはフレ
ーム2にメツセージを送る。メツセンジャはその0RE
Fを受けてオブジェクトインメモリテーブルをチエツク
し、そのオブジェクト(フレーム2)がメモリにあるか
どうかを決定する。
フレーム2がメモリにあればメツセンジャはそのメソッ
ドアドレスを決定する。そしてメツセンジャはオブジェ
クトインメモリテーブルエントリによりデータアドレス
指定を行う。このメソッドはこのとき呼び込まれる。
最後に、フレーム2のこの呼び込まれたメソッドがフレ
ーム3にメツセージを送る。メツセンジャはその0RE
Fを受けてオブジェクトインメモリテーブルをチエツク
し、オブジェクト(フレーム3)がメモリにあるかどう
かを決定する。フレーム3がメモリにあればメツセンジ
ャはメソッドアドレスを決定する。次にメツセンジャは
オブジェクトインメモリテーブルエントリによりデータ
アドレス指定を行う。このメソッドは次に呼び込まれる
例2ニスロットオブジェクトを有するフレーム例2は本
発明によるスロットオブジェクトの使用を示すものであ
る。例2は、スロットオブジェクト、5lot−Obj
−2を含んだスロットオブジェクト、5lot−Obj
−1を含むフレーム1をマニピュレートするに必要なメ
ツセージおよび記憶サポートを与える。この例は例えば
フレーム1についてドアー81ot−Obj−1につい
てドアーのノブ、5lot−Obj−2について錠のよ
うな具体的な事象で容易に考えることが出来る。
この例は本発明のスロットオブジェクトをフレーム2と
フレーム3の代りに用いることを除き3フレームの例1
と同じである。例2はメモリ利用度、オブジェクト管理
テーブルおよびメツセージオーバヘッドについてスロッ
トオブジェクトが通常のオブジェクトを越えて与える拡
張パフォーマンスを示す。この例の物理的なインメモリ
表示を第10図に示す。
まず、フレーム1(オブジェクト)に対する0REFを
含むメソッドがメツセージをフレーム1(オブジェクト
)に送る。フレーム1のオブジェクトインメモリテーブ
ルエントリのアドレスが、:(7)OREF内に含まれ
る。メツセンジャはこの0REFを受けてオブジェクト
インメモリテーブルをチエツクし、オブジェクト(フレ
ーム1)がメモリにあるかどうかを決定する。フレーム
1がメモリにあれば、メッセジャはそのメソッドアドレ
スを決定する。メツセンジャはオブジェクトマネジャの
テーブルエントリによりデータアドレス指定を行う。最
後にフレーム1のこの特定のメソッドが呼び込まれる。
例2についてはオブジェクトがスロットオブジェクトで
あり得るものとしそしてスロットオブジェクトとされて
いるものとする。フレーム1内の呼び込まれたメソッド
は5lot−Obj−1にメツセージを送る。メツセン
ジャがこの0REFを受ける。
この0REFはスロットオブジェクトについてのもので
あるから、オブジェクトインメモリテーブルにはエント
リがなく、それ故そのテーブルのチエツクは不要である
。スロットオブジェクトはそのフレーム内にインライン
でデータ構造を与えるから、すべてのスロットはそれら
の囲むフレームとして同時に具体化され抽象化される。
それ故、そのフレームはインメモリであるからスロット
オブジェクトである。アドレスの決定も外部的なアクセ
スも不要である。
次に、メツセンジャはメソッドアドレスを決定する。メ
ツセンジャは5lot−Obj−1のスタートからデー
タアドレスをセットアツプする。スロットオブジェクト
はスロットオブジェクト自体のはじめに対し直接アドレ
ス指定を用いるから、オブジェクトインメモリテーブル
を介しての間接アドレス指定を用いる従来のフレームの
場合のようにアドレス分解を行う必要はない。5lot
−Obj−1のこのメソッドが呼び込まれる。
51ot−Obj−1内のメソッドは5lot−Obj
−2にメツセージを送る。メツセンジャはその0REF
を受ける。この0REFはスロットオブジェクトについ
てのものであるから、オブジェクトインメモリテーブル
にはエントリがなく、それ故このテーブルのチエツクは
不要である。スロットオブジェクトはフレームとインラ
インでデータ構造を与えるから、すべてのスロットがそ
れらの囲むフレームと同時に具体化され抽象化される。
それ故、囲むフレームはインメモリであるからスロット
オブジェクトである。かくして、アドレスの分解も外的
なメモリアクセスも不要である。
次にメツセンジャはメソッドアドレスを分解する。メツ
センジャは更に5lot−Obj−2のスタートからデ
ータアドレスをセットアツプする。スロットオブジェク
トは直接アドレス指定を用いるから、オブジェクトイン
メモリテーブルを介しての間接アドレス指定を用いる従
来のフレームのようなアドレスの分解は不要である。最
後に5lot−Obj−2のメソッドが呼び込まれる。
ここに示さないもう一つの利点は搬出されるスロット属
性を、メツセージを送るこなく直接構造リファレンスに
よりアクセスしう石ことである。
当業者には明らかなように、搬出属性は内部的な使用だ
けでなく、他のオブジェクトに対しても使用しうる属性
である。フレームオブジェクトはそれらの搬出属性を得
るためのメツセージを要求する。
例3:可変領域を有するスロットオブジェクトを含むフ
レーム この例はフレームの可変領域を利用する囲まれスロット
オブジェクト5lot−Obj−1をフレーム1が有す
る場合の動作を示す。この例は例えばフレーム1につい
て「人J 、5lot−Obj−1について「名前」の
ような特定の例で考えることが出来る。名前はサイズ(
長さ)において変化しうるから、5lot−Obj−1
は名前の記憶用に囲みフレームの可変領域を利用するも
のとする。この例のインメモリ表示を第11図に示す。
まず、フレーム1に対する0REFを含むメソッドがフ
レーム1(オブジェクト)にメツセンジャ ブルエントリのアドレスはこの0REFに含まれる。メ
ツセンジャはこの0REFを受けてオブジェクトマネジ
ャのオブジェクトインメモリテーブルをチエツクしてそ
のオブジェクト(フレーム1)がインメモリかどうかを
決定する。フレーム1がインメモリであるとするとメツ
センジャはそのメソッドアドレスを分解する。次にメツ
センジャはオブジェクトマネジャのテーブルエントリに
よりデータアドレス指定をセットアツプする。最後にフ
レーム1のこのメソッドが呼び込まれる。
フレーム1のこのメソッドは5lot−Obj−1にメ
ツセージを送る。メツセンジャは0REFを受ける。
この0REFはスロットオブジェクトについてであるか
らオブジェクトマネジャのオブジェクトインメモリテー
ブルにエントリはなく、それ故このテーブルのチエツク
は不要である。スロットオブジェクトはフレーム内でイ
ンラインにデータ構造を与えるから、すべてのスロット
はそれらの囲みフレームと同時に具体化され抽象化され
る。更に、このフレームはインメモリであるからスロッ
トオブジェクトである。従って、アドレスの分解も外部
アクセスも不要である。
次に、メツセンジャはメソッドアドレスを分解する。次
にメツセンジャは5lot−Obj−1のスタートから
データアドレスをセットアツプする。スロットオブジェ
クトはそれ自体のはじめに対し直接アドレス指定を用い
るから、オブジェクトインメモリテーブルを用いての間
接アドレス指定を用いる従来のフレームにおけるような
アドレス分解は不要である。5lot−Obj−1内の
可変領域アドレスはフレーム1内の可変領域の直接アク
セスのために用いられる。そして5lot−Ojb−1
のメソッドが呼び込まれる。
【図面の簡単な説明】
第1図はオブジェクトの概略表示、 第2図はオブジェクトの一例の概略表示、第3図はオブ
ジェクトのインへりタンス特性を示す図、 第4図は本発明によるオブジェクト指向コンピュータシ
ステムの概略的ブロック図、 第5図は本発明によるオブジェクト指向プログラムの概
略的ブロック図、 第6図は本発明によるスロットオブジェクトを示す図、 第7図は本発明による他のスロットオブジェクトを示す
図、 第8図は本発明による更に他のスロットオブジェクトを
示す図、 第9図は本発明のスロットオブジェクトを含まない従来
のフレームのマニピユレーションを示す図、 第10図は本発明のスロットオブジェクトを有するフレ
ームのマニピユレーションを示す図、第11図は本発明
の可変領域スロットオブジェクトを有するフレームのマ
ニピユレーションを示す図である。 10・・・オブジェクト指向コンピュータシステム、1
1・・・データプロセサ、12・・・オブジェクト指向
動作プログラム、13・・・揮発性データ記憶装置、1
4・・・不揮発性データ記憶装置、15・・・表示端末
、51・・・メツセンジャ、52・・・オブジェクト管
理テーブル、53・・・充填クラステーブル、54.5
5・・・メソッド、56・・・データフレーム。 復代理人 佐 藤 雄 FIG、 3 FIG、 8

Claims (1)

  1. 【特許請求の範囲】 1、データ記憶装置と、 上記データ記憶装置内にあって夫々がオブジェクトフレ
    ームと少くとも1個のオブジェクトメソッドを含む複数
    のオブジェクトであり、上記オブジェクトフレームは夫
    々上記オブジェクトの属性を含む複数のスロットを含み
    、上記少くとも1個のオブジェクトメソッドは上記オブ
    ジェクトフレーム内の上記スロットの内の選ばれたもの
    について行われる少くとも1個のメソッドを含む、オブ
    ジェクトと、 夫々上記複数のオブジェクトの内の1個に関連すると共
    に複数のスロットを含むインスタンスフレームを含む複
    数のインスタンスであって、上記スロットの夫々は上記
    複数のオブジェクトの上記関連する1個の対応する属性
    に関係したデータを含む、インスタンスと、スロットオ
    ブジェクトフレームと少くとも1個のスロットオブジェ
    クトメソッドを含む少くとも1個のスロットオブジェク
    トと、を含み、 上記スロットオブジェクトフレームは上記スロットオブ
    ジェクトの属性を含む少くとも1個のスロットと予定の
    データを有するスロットオブジェクト領域を含み、 上記少くとも1個のスロットオブジェクトメソッドは上
    記スロットオブジェクトフレーム内の上記スロット内の
    選ばれたものについて行われる少くとも1個の第1のメ
    ソッドと上記スロットオブジェクト領域内の上記予定の
    データについて行われる少くとも第2のメソッドとを含
    んでおり、上記予定のデータが上記少くとも1個の第2
    のスロットオブジェクトメソッドにより直接にマニピュ
    レートしうるようになった、オブジェクト指向コンピュ
    ータシステム。 2、前記スロットオブジェクトフレームは更に、前記予
    定のデータを有する前記スロットオブジェクト領域に対
    するポインタを含む少くとも1個のスロットを含むごと
    くなった請求項1記載のオブジェクト指向コンピュータ
    システム。 3、前記スロットオブジェクト領域は可変長領域を含み
    、前記スロットオブジェクトフレームは上記可変長領域
    に対するポインタと上記可変長領域の長さの標識を含む
    少くとも1個のスロットを更に含むごとくなった請求項
    1記載のオブジェクト指向コンピュータシステム。 4、前記スロットオブジェクト領域は第2スロットオブ
    ジェクトを含むごとくなった請求項1記載のオブジェク
    ト指向コンピュータシステム。 5、データ記憶装置と、 上記データ記憶装置内にあって夫々がオブジェクトフレ
    ームと少くとも1個のオブジェクトメソッドを含む複数
    のオブジェクトであり、上記オブジェクトフレームは夫
    々上記オブジェクトの属性を含む複数のスロットを含み
    、上記少くとも1個のオブジェクトメソッドは上記オブ
    ジェクトフレーム内の上記スロットの内の選ばれたもの
    について行われる少くとも1個のメソッドを含むごとく
    なった上記オブジェクトの複数を発生する手段と、夫々
    上記複数のオブジェクトの内の1個に関連すると共に複
    数のスロットを含むインスタンスフレームを含む複数の
    インスタンスであって、上記スロットの夫々は上記複数
    のオブジェクトの上記関連する1個の対応する属性に関
    係したデータを含むごとくなった上記インスタンスの複
    数を発生する手段と、 スロットオブジェクトフレームと少くとも1個のスロッ
    トオブジェクトメソッドを含む少くとも1個のスロット
    オブジェクトを発生する手段と、を含み、 上記スロットオブジェクトフレームは上記スロットオブ
    ジェクトの属性を含む少くとも1個のスロットと予定の
    データを有するスロットオブジェクト領域を含むごとく
    なっており、 上記少くとも1個のスロットオブジェクトメソッドは上
    記スロットオブジェクトフレーム内の上記スロット内の
    選ばれたものについて行われる少くとも1個の第1のメ
    ソッドと上記スロットオブジェクト領域内の上記予定の
    データについて行われる少くとも1個の第2のメソッド
    とを含んでおり、 上記予定のデータが上記少くとも第2のスロットオブジ
    ェクトメソッドにより直接にマニピュレートしうるよう
    になった、オブジェクト指向コンピュータシステム。 6、前記スロットオブジェクトフレームは更に、前記予
    定のデータを有する前記スロットオブジェクト領域に対
    するポインタを含む少くとも1個のスロットを含むごと
    くなった請求項5記載のオブジェクト指向コンピュータ
    システム。 7、前記スロットオブジェクト領域は可変長領域を含み
    、前記スロットオブジェクトフレームは上記可変長領域
    に対するポインタと上記可変長領域の長さの標識を含む
    少くとも1個のスロットを更に含むごとくなった請求項
    5記載のオブジェクト指向コンピュータシステム。 8、前記スロットオブジェクト領域は第2スロットオブ
    ジェクトを含むごとくなった請求項5記載のオブジェク
    ト指向コンピュータシステム。 9、前記記憶装置に接続するオブジェクト指向データプ
    ロセサを更に含み、前記複数のオブジェクトを発生する
    手段と前記複数のインスタンスを発生する手段と、前記
    少くとも1個のスロットオブジェクトを発生する手段と
    は上記オブジェクト指向データプロセサ内に含まれるご
    とくなった請求項5記載のオブジェクト指向コンピュー
    タシステム。 10、データ記憶装置を有するオブジェクト指向コンピ
    ュータシステムにおいて、予定のデータを直接的にマニ
    ュピレートするための下記段階を含むプロセス。 上記データ記憶装置内にあって夫々がオブジェクトフレ
    ームと少くとも1個のオブジェクトメソッドを含む複数
    のオブジェクトであり、上記オブジェクトフレームは夫
    々上記オブジェクトの属性を含む複数のスロットを含み
    、上記少くとも1個のオブジェクトメソッドは上記オブ
    ジェクトフレーム内の上記スロットの内の選ばれたもの
    について行われる少くとも1個のメソッドを含むごとく
    なった上記オブジェクトの複数を発生する段階、夫々上
    記複数のオブジェクトの内の1個に関連すると共に複数
    のスロットを含むインスタンスフレームを含む複数のイ
    ンスタンスであって、上記スロットの夫々は上記複数の
    オブジェクトの上記関連する1個の対応する属性に関係
    したデータを含むごとくなった上記インスタンスの複数
    を発生する段階、 スロットオブジェクトフレームと少くとも1個のスロッ
    トオブジェクトメソッドを含む少くとも1個のスロット
    オブジェクトを発生する段階、上記スロットオブジェク
    トフレームは上記スロットオブジェクトの属性を含む少
    くとも1個のスロットと予定のデータを有するスロット
    オブジェクト領域を含むごとくなっており、 上記少くとも1個のスロットオブジェクトメソッドは上
    記スロットオブジェクトフレーム内の上記スロット内の
    選ばれたものについて行われる少くとも1個の第1のメ
    ソッドと上記スロットオブジェクト領域内の上記予定の
    データについて行われる少くとも1個の第2のメソッド
    とを含んでおり、 上記予定のデータが上記少くとも第2のスロットオブジ
    ェクトメソッドにより直接にマニピュレートしうるよう
    になっている。 11、前記スロットオブジェクトフレームは更に、前記
    予定のデータを有する前記スロットオブジェクト領域に
    対するポインタを含む少くとも1個のスロットを含むご
    とくなった請求項10記載のプロセス。 12、前記スロットオブジェクト領域は可変長領域を含
    み、前記スロットオブジェクトフレームは上記可変長領
    域に対するポインタと上記可変長領域の長さの標識を含
    む少くとも1個のスロットを更に含むごとくなった請求
    項10記載のプロセス。 13、前記スロットオブジェクト領域は第2スロットオ
    ブジェクトをさらに含むごとくなった請求項10記載の
    プロセス。 14、その属性を含む少くとも1個のスロットと予定の
    データを含むスロットオブジェクト領域とを含むスロッ
    トオブジェクトクラスフレームと、 上記少くとも1個のスロットについて行われる少くとも
    1個の第1のメソッドと上記スロットオブジェクト領域
    内の上記予定のデータについて行われる少くとも1個の
    第2メソッドとを含む少くとも1個のスロットオブジェ
    クトクラスメソッドと、 を含むオブジェクト指向コンピュータシステムにおける
    スロットオブジェクトクラス。 15、前記スロットオブジェクトフレームは更に、前記
    予定のデータを有する前記スロットオブジェクト領域に
    対するポインタを含む少くとも1個のスロットを含むご
    とくなった請求項14記載のスロットオブジェクトクラ
    ス。。 16、前記スロットオブジェクト領域は可変長領域を含
    み、前記スロットオブジェクトフレームは上記可変長領
    域に対するポインタと上記可変長領域の長さの標識を含
    む少くとも1個のスロットを更に含むごとくなった請求
    項14記載のスロットオブジェクトクラス。。 17、前記スロットオブジェクト領域は第2スロットオ
    ブジェクトを含むごとくなった請求項14記載のスロッ
    トオブジェクトクラス。 18、オブジェクト指向コンピュータシステムにおける
    予定のデータの直接マニピュレートのための下記段階を
    含むプロセス。 複数のスロットを含むフレームを有するスロットオブジ
    ェクトを発生する段階、 上記オブジェクトの少くとも1個の属性を上記複数のス
    ロットの内の少くとも1個の第1のスロットに置く段階
    、 上記予定のデータを上記フレーム内のスロットオブジェ
    クト領域に置く段階、 上記オブジェクトの上記少くとも1個の属性をマニピュ
    レートするための少くとも1個のスロットオブジェクト
    メソッドを与える段階、 上記スロットオブジェクト領域内の上記予定のデータを
    直接にマニピュレートするための少くとも1個のスロッ
    トオブジェクトクラスメソッドを与える段階。 19、前記スロットオブジェクトフレーム内の前記複数
    のスロットの内の前記少くとも1個が前記予定のデータ
    を含む前記スロットオブジェクト領域に対するポインタ
    を含むごとくなった請求項18記載のプロセス。 20、前記スロットオブジェクト領域は可変長領域を含
    み、前記スロットオブジェクトフレーム内の前記複数の
    スロットの内の前記少くとも1個は上記可変長領域に対
    するポインタと上記可変長領域の長さの標識とを含むご
    とくなった請求項18記載のプロセス。 21、前記スロットオブジェクト領域は第2スロットオ
    ブジェクトを含むごとくなった請求項18記載のプロセ
    ス。
JP2251671A 1989-10-23 1990-09-20 オブジェクト指向コンピュータシステム Pending JPH03209526A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42574689A 1989-10-23 1989-10-23
US425746 1989-10-23

Publications (1)

Publication Number Publication Date
JPH03209526A true JPH03209526A (ja) 1991-09-12

Family

ID=23687847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2251671A Pending JPH03209526A (ja) 1989-10-23 1990-09-20 オブジェクト指向コンピュータシステム

Country Status (3)

Country Link
US (1) US5410702A (ja)
EP (1) EP0425417A3 (ja)
JP (1) JPH03209526A (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3660366B2 (ja) * 1993-12-28 2005-06-15 富士通株式会社 図形を用いたプログラミングシステム
US5742826A (en) * 1994-11-09 1998-04-21 International Business Machines Corporation Object encapsulation protection apparatus
US6202098B1 (en) * 1995-01-04 2001-03-13 International Business Machines Corporation Method and system for object oriented notification
DE69523939T2 (de) * 1995-06-07 2002-05-29 International Business Machines Corp., Armonk Verfahren zur erzeugung von objektstrukturen für den zugriff auf konventionelle, nicht objekt-orientierte geschäftsanwendungen
US5884097A (en) * 1997-05-17 1999-03-16 Intertop Corporation Data structure and methods for defining and using attribute data blocks to instantiate objects and describe changes to objects
US5943496A (en) * 1997-05-17 1999-08-24 Intertop Corporation Methods for developing and instantiating object classes using a java virtual machine extension
US6070169A (en) * 1998-02-12 2000-05-30 International Business Machines Corporation Method and system for the determination of a particular data object utilizing attributes associated with the object
CN114339353B (zh) * 2021-12-31 2023-09-29 晶晨半导体科技(北京)有限公司 音视频同步方法和装置及电子设备和计算机可读存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4622633A (en) * 1983-12-06 1986-11-11 Tri Sigma Corporation Object building method for self configuring computer network
US4697242A (en) * 1984-06-11 1987-09-29 Holland John H Adaptive computing system capable of learning and discovery
US4675829A (en) * 1984-07-27 1987-06-23 Intellicorp Corporation Method and apparatus for building knowledge-based systems
US4635208A (en) * 1985-01-18 1987-01-06 Hewlett-Packard Company Computer-aided design of systems
US4791550A (en) * 1985-02-13 1988-12-13 Rational Higher order language-directed computer
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service
JPS6326726A (ja) * 1986-07-21 1988-02-04 Toshiba Corp 情報処理装置
JPH01134628A (ja) * 1987-11-20 1989-05-26 Hitachi Ltd データベースの知識化利用方式
JPH01134630A (ja) * 1987-11-20 1989-05-26 Toshiba Corp 推論システム
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database

Also Published As

Publication number Publication date
EP0425417A3 (en) 1992-10-07
EP0425417A2 (en) 1991-05-02
US5410702A (en) 1995-04-25

Similar Documents

Publication Publication Date Title
US5291593A (en) System for persistent and delayed allocation object reference in an object oriented environment
US6275916B1 (en) Object oriented program memory management system and method using fixed sized memory pools
US5737605A (en) Data processing system for sharing instances of objects with multiple processes
CA2145923C (en) Computer operating system providing means for formatting information in accordance with specified cultural preferences
US5247669A (en) Persistent data interface for an object oriented programming system
US5161225A (en) Persistent stream for processing time consuming and reusable queries in an object oriented database management system
JP3949180B2 (ja) 基底システムオブジェクトモデルを備えたシステム管理サービスの統合
US5689664A (en) Interface sharing between objects
US5202981A (en) Process and apparatus for manipulating a boundless data stream in an object oriented programming system
US6339782B1 (en) Persistence mechanism and method for objects
EP0777177B1 (en) A method for object-oriented programming using dynamic interfaces
US7376942B2 (en) Method of managing memory for class variables
US5692183A (en) Methods and apparatus for providing transparent persistence in a distributed object operating environment
US6629153B1 (en) Method and apparatus for providing peer ownership of shared objects
EP0569861A1 (en) A method for implementing virtual function tables in a compliler for an object-oriented programming language
US6792606B2 (en) Method and apparatus for object persistence
JPH02201653A (ja) アプリケーシヨン・プログラム・インターフエース方法
EP1016963A2 (en) Run-time addition of interfaces
JP2005063449A (ja) オブジェクトからオブジェクトへのJavaネイティブインタフェースマッピングの方法及び装置
US20020054124A1 (en) Hosting objects in a windowed environment
US6829761B1 (en) Method and apparatus for managing shared memory in a run-time environment
US20030208492A1 (en) System and method of using extensions in a data structure without interfering with applications unaware of the extensions
JPH03209526A (ja) オブジェクト指向コンピュータシステム
US6751796B1 (en) Integration of systems management services with an underlying system object model
US6711657B1 (en) Methods for managing memory in a run-time environment including registration of a deallocation routine at explicit, lazy initialization