JPH03257530A - オブジェクト指向プログラムの実行処理方式 - Google Patents
オブジェクト指向プログラムの実行処理方式Info
- Publication number
- JPH03257530A JPH03257530A JP5603390A JP5603390A JPH03257530A JP H03257530 A JPH03257530 A JP H03257530A JP 5603390 A JP5603390 A JP 5603390A JP 5603390 A JP5603390 A JP 5603390A JP H03257530 A JPH03257530 A JP H03257530A
- Authority
- JP
- Japan
- Prior art keywords
- class
- definition
- selection information
- program
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概 要〕
オブジェクト指向プログラムの処理システムにおける効
率的なメソッドの実行処理方式に関し。
率的なメソッドの実行処理方式に関し。
メソッド定義のコード量の爆発的増大を防ぎ。
オブジェクト間でメソッド定義の記述の共用を行っても
実際に実行すべきメソッド定義の高速な探索を可能にす
ることを目的とし。
実際に実行すべきメソッド定義の高速な探索を可能にす
ることを目的とし。
各クラスを、クラス識別情報と、メソッド定義と、メソ
ッド定義を選択するためのメソッド選択情報とにより構
成し、オブジェクト生成時に、当該オブジェクトを構成
する各クラスからメソッド選択情報を収集して重複する
ものを整理し、オブジェクトを、オブジェクトa別情報
および前記整理したメソッド選択情報により構成し、プ
ログラム実行時に、オブジェクトのメソッド呼出しが行
われたとき、当該オブジェクトのメソッド選択情報を参
照し、メソッド定義の取り出しを行うように構成した。
ッド定義を選択するためのメソッド選択情報とにより構
成し、オブジェクト生成時に、当該オブジェクトを構成
する各クラスからメソッド選択情報を収集して重複する
ものを整理し、オブジェクトを、オブジェクトa別情報
および前記整理したメソッド選択情報により構成し、プ
ログラム実行時に、オブジェクトのメソッド呼出しが行
われたとき、当該オブジェクトのメソッド選択情報を参
照し、メソッド定義の取り出しを行うように構成した。
本発明は、オブジェクト指向プログラムの処理システム
における効率的なメソッドの実行処理方式に関する。
における効率的なメソッドの実行処理方式に関する。
近年、プログラミングスタイル、プログラムの部品化、
知識表現との親和性2等から、オブジェクト指向型言語
が注目されている。
知識表現との親和性2等から、オブジェクト指向型言語
が注目されている。
一般に、オブジェクト指向プログラムは、第8図に概念
的に示されているように、複数の「クラス」から構成さ
れた「オブジェクト」の集まりとなっている。
的に示されているように、複数の「クラス」から構成さ
れた「オブジェクト」の集まりとなっている。
各クラス内には、「メソッド」と呼ばれる処理の記述が
定義されている。つまり、オブジェクトは、そのオブジ
ェクトを構成する複数のクラス内で定義されているメソ
ッドを実行する(処理を行う)能力を持つ。
定義されている。つまり、オブジェクトは、そのオブジ
ェクトを構成する複数のクラス内で定義されているメソ
ッドを実行する(処理を行う)能力を持つ。
オブジェクト指向プログラムの実行に先立ち。
クラスを定義しそこにメソッド定義を記述しておく、実
行開始直前、又は、実行時に、適当なりラスからオブジ
ェクトを生成する。オブジェクトに対してメソッドを呼
出し、そこで定義された処理を行うことで、プログラム
の実行が進行する。
行開始直前、又は、実行時に、適当なりラスからオブジ
ェクトを生成する。オブジェクトに対してメソッドを呼
出し、そこで定義された処理を行うことで、プログラム
の実行が進行する。
ひとつのオブジェクト内では、メソッド呼出し命令を受
は取ると、クラスの継承規則に基づいて。
は取ると、クラスの継承規則に基づいて。
受は取ったメソッド呼出し命令に適合する定義を検索し
、その処理を行う。メソッド呼出し命令に付随する引数
の値、タイプ9等によっても、メソッド定義の選択に影
響を与えることもある。
、その処理を行う。メソッド呼出し命令に付随する引数
の値、タイプ9等によっても、メソッド定義の選択に影
響を与えることもある。
エキスパートシステム、等の大規模なオブジェクト指向
型プログラムが開発されるようになり。
型プログラムが開発されるようになり。
オブジェクトを構成するクラス、メソッドが、多様化、
大量化されてきている。このような、大規模なオブジェ
クト指向型プログラムを高速に実行するには、オブジェ
クト内のメソッド処理、特にメソッド呼出し命令に対応
するメソッド定義を素早く検索して、その処理を行う必
要がある。
大量化されてきている。このような、大規模なオブジェ
クト指向型プログラムを高速に実行するには、オブジェ
クト内のメソッド処理、特にメソッド呼出し命令に対応
するメソッド定義を素早く検索して、その処理を行う必
要がある。
従来のオブジェクト指向型言語の処理系において、メソ
ッド呼出しに対する処理には、大きく分けて2つの方式
がある。
ッド呼出しに対する処理には、大きく分けて2つの方式
がある。
fa+ オブジェクト内に、それを構成する全てのク
ラスの全てのメソッド定義コードをコピーする(取り込
む)方式。
ラスの全てのメソッド定義コードをコピーする(取り込
む)方式。
(bl rメソッドモジュール」と呼ばれる7メソノ
ド名の一覧とその定義のある場所(クラス)との対応表
を、オブジェクト内に持たせる方式。
ド名の一覧とその定義のある場所(クラス)との対応表
を、オブジェクト内に持たせる方式。
(4)の方式では、オブジェクト自身が処理の記述を持
っているので、各クラスに対してメソッド定義の記述が
あるかどうかの検索を行う必要がない。
っているので、各クラスに対してメソッド定義の記述が
あるかどうかの検索を行う必要がない。
しかし、多量のクラスから構成されているオブジェクト
や、複数のオブジェクト間で同じクラスを共有している
場合(たとえば、第8図のオブジェクトA、8間)など
では、定義コードの量が膨大になってしまう。
や、複数のオブジェクト間で同じクラスを共有している
場合(たとえば、第8図のオブジェクトA、8間)など
では、定義コードの量が膨大になってしまう。
また、 (blの方式では、複数のオブジェクトでクラ
スを共有していても、コード量の増加はあまりない。し
かし、この「メソッドモジュール1は。
スを共有していても、コード量の増加はあまりない。し
かし、この「メソッドモジュール1は。
単に、“′どのクラスがどのメモリの処理の記述を定義
しているか”の情報しかない。
しているか”の情報しかない。
このため、ひとつのオブジェクト内で同し形式のメソッ
ドを、複数のクラスで定義していた場合。
ドを、複数のクラスで定義していた場合。
メソッドモジュールを探索し、対応するメソ・ンドを探
し当て、その各メソッドを順番に実行する。
し当て、その各メソッドを順番に実行する。
上記従来技術0))の方式について1次に第9図および
第10図により具体例を説明する。
第10図により具体例を説明する。
第9図はオブジェクト指向プログラムの例であり、クラ
ス(class) a、 b、 cで定義される
オブジェクト(Object) Aについて質問〔ゴー
ル〕 ? −: method−1(Obj、 3)を充足
する解を求めるものである。
ス(class) a、 b、 cで定義される
オブジェクト(Object) Aについて質問〔ゴー
ル〕 ? −: method−1(Obj、 3)を充足
する解を求めるものである。
クラスaは、述語rmethod −I Jの後のカッ
コ内に引数「1」と引数「−1」をそれぞれ含む2つの
メソッド定義をもち、クラスbは、引数「2」を含む1
つのメソッド定義をもち、そしてクラスCは、引数「3
」を含む1つのメソ・ンド定義をもつ。
コ内に引数「1」と引数「−1」をそれぞれ含む2つの
メソッド定義をもち、クラスbは、引数「2」を含む1
つのメソッド定義をもち、そしてクラスCは、引数「3
」を含む1つのメソ・ンド定義をもつ。
第10図は、従来技術(b)の方式により第9図のプロ
グラムを処理する場合の処理ステップを、■ないし■で
示している。図示のように、オブジェクトAには、メソ
ッド名とその定義がなされているクラスを指示する情報
の一覧をもつメソッドモジュールが設定されている。
グラムを処理する場合の処理ステップを、■ないし■で
示している。図示のように、オブジェクトAには、メソ
ッド名とその定義がなされているクラスを指示する情報
の一覧をもつメソッドモジュールが設定されている。
メソッド呼出しく命令)が発行されると(■)。
オブジェクトモジュールの最初のエントリを参照しく■
)、まずクラスaのメソッド定義場所を求めて(■)、
クラスaのメソッド定義をアクセスし、ユニフィケーシ
ョン処理を行う(■)。ここでは、質問が充足されない
。次にオブジェクトモジュールの次のエントリを参照し
く■)、クラスbのメソッド定義場所を求めて(■)、
クラスbのメソッド定義についてユニフィケーション処
理を行う、ここでも質問は充足されない、その後さらに
オブジェクトモジュールの続くエントリを参照しく■)
、クラスCのメソッド定義場所を求め(■)、クラスC
のメソッド定義についてユニフイケーシヨン処理を行う
、ここでは、質問を充足する解が得られる。
)、まずクラスaのメソッド定義場所を求めて(■)、
クラスaのメソッド定義をアクセスし、ユニフィケーシ
ョン処理を行う(■)。ここでは、質問が充足されない
。次にオブジェクトモジュールの次のエントリを参照し
く■)、クラスbのメソッド定義場所を求めて(■)、
クラスbのメソッド定義についてユニフィケーション処
理を行う、ここでも質問は充足されない、その後さらに
オブジェクトモジュールの続くエントリを参照しく■)
、クラスCのメソッド定義場所を求め(■)、クラスC
のメソッド定義についてユニフイケーシヨン処理を行う
、ここでは、質問を充足する解が得られる。
ところで、メソッドは、渡された引数のチエツクを行い
、そのチエツクが満たされたら2本来の処理を行うとい
う形式で定義されることが多い。
、そのチエツクが満たされたら2本来の処理を行うとい
う形式で定義されることが多い。
方式(alでは2全でのメソッド定義が一箇所に集めら
れるため、引数の値やタイプ、等によるインデキシング
などの最適化により、所望のメソッド定義を素早く見つ
けることが可能である。しかし。
れるため、引数の値やタイプ、等によるインデキシング
などの最適化により、所望のメソッド定義を素早く見つ
けることが可能である。しかし。
方式Cb)では、メソッド定義がクラス毎に分かれてい
るため、このような最適化が不可能であった。
るため、このような最適化が不可能であった。
オブジェクト内に全てのメソッドの定義コードを取り込
む従来技術1alの方式では、メソッド実行の高速化を
図ることができるものの、大規模なプログラムの場合に
は、定義コードの記述量が爆発的に増大して、オブジェ
クト間での重複する定義コードの持ち合いなども生して
、メモリの使用効率が低下するという欠点があった。
む従来技術1alの方式では、メソッド実行の高速化を
図ることができるものの、大規模なプログラムの場合に
は、定義コードの記述量が爆発的に増大して、オブジェ
クト間での重複する定義コードの持ち合いなども生して
、メモリの使用効率が低下するという欠点があった。
また、オブジェクト内に「メソッドモジュール」のみを
もち、これにより実際のメソッド定義場所をアクセスす
る従来技術(b)の方式では、メモリの使用効率は良い
が、メソッド呼出し命令の状態(たとえば、引数の値や
タイプなど)の区別によってメソッド定義を選択する方
法をとることができず、各メソッド定義を順番に実行し
なければならないため、メソッド実行の高速化を図るこ
とができないという欠点があった。
もち、これにより実際のメソッド定義場所をアクセスす
る従来技術(b)の方式では、メモリの使用効率は良い
が、メソッド呼出し命令の状態(たとえば、引数の値や
タイプなど)の区別によってメソッド定義を選択する方
法をとることができず、各メソッド定義を順番に実行し
なければならないため、メソッド実行の高速化を図るこ
とができないという欠点があった。
本発明は、メソッド定義のコード量の爆発的増大を防ぎ
、オブジェクト間でメソッド定義の記述の共用を行って
も実際に実行すべきメソッド定義の高速な探索を可能に
することを目的としている。
、オブジェクト間でメソッド定義の記述の共用を行って
も実際に実行すべきメソッド定義の高速な探索を可能に
することを目的としている。
本発明は、オブジェクト内に全てのクラスのメソッド定
義コードのコピーを取り込む代りに、実際のメソッド定
義コードが存在する場所へのポインタと、メソッド定義
コードを探索するインデフクスとなる関連情報を含むメ
ソッド選択情報をオブジェクトに持たせるものである。
義コードのコピーを取り込む代りに、実際のメソッド定
義コードが存在する場所へのポインタと、メソッド定義
コードを探索するインデフクスとなる関連情報を含むメ
ソッド選択情報をオブジェクトに持たせるものである。
このメソッド選択情報は、メソッド定義コードが存在す
る場所を直接指すポインタだけではなくたとえばそのメ
ソッド定義の引数の値や引数の値のタイプ(定数か、構
造体かなど)のような関連情報を持っているため、実際
のメソッド定義コードをアクセスする必要なしにこの関
連情報のみで有効なメソッド定義を選択することを可能
にする。
る場所を直接指すポインタだけではなくたとえばそのメ
ソッド定義の引数の値や引数の値のタイプ(定数か、構
造体かなど)のような関連情報を持っているため、実際
のメソッド定義コードをアクセスする必要なしにこの関
連情報のみで有効なメソッド定義を選択することを可能
にする。
第1図は3本発明の原理説明図である。
図において。
1−1ないし1−nは、生成しようとするオブジェクト
を構成するクラスであり、それぞれクラス識別情報と、
任意数のメソッド定義と、各メソッド定義を選択するた
めに有用な関連情報およびポインタの対からなるメソッ
ド選択情報とにより構成されている。
を構成するクラスであり、それぞれクラス識別情報と、
任意数のメソッド定義と、各メソッド定義を選択するた
めに有用な関連情報およびポインタの対からなるメソッ
ド選択情報とにより構成されている。
2は、オブジェクトの生成段階であり、クラス1−1な
いし1−nの各々からメソッド選択情報を収集し、クラ
ス間で同一形式のメソッド定義がなされているときには
それらのメソッド選択情報を1つに整理統合する。
いし1−nの各々からメソッド選択情報を収集し、クラ
ス間で同一形式のメソッド定義がなされているときには
それらのメソッド選択情報を1つに整理統合する。
3は、生成されたオブジェクトであり、オブジェクト識
別情報と整理統合されたメソッド選択情報とをもつ。
別情報と整理統合されたメソッド選択情報とをもつ。
4は、プログラム実行の段階であり、メソッド呼出し要
求が行われたとき、要求されたメソッドの形式に一致す
るメソッドがあれば、さらにそのメソッド選択情報につ
いて関連情報が適合するものを探索し、適合するものが
あればその関連情報と対になっているポインタにより指
示されているクラスのメソッド定義を呼出し、実行する
。
求が行われたとき、要求されたメソッドの形式に一致す
るメソッドがあれば、さらにそのメソッド選択情報につ
いて関連情報が適合するものを探索し、適合するものが
あればその関連情報と対になっているポインタにより指
示されているクラスのメソッド定義を呼出し、実行する
。
本発明では1図2.0ように、各クラス内の同一形式の
メソンド毎に3選択情報を用意する。この選択情報には
1メソッド選択のための関連情報と、それに対応するメ
ソッド定義の場所へのポインタが格納されている。
メソンド毎に3選択情報を用意する。この選択情報には
1メソッド選択のための関連情報と、それに対応するメ
ソッド定義の場所へのポインタが格納されている。
オブジェクトを生成する時、このオブジェクトを構成す
るクラスの全てのメソッドの選択情報をとりだし、オブ
ジェクトに持たせる。この時、複数のクラスから収集し
た。同一形式メソッドの選択情報は統合され、ひとつの
選択情報となる。
るクラスの全てのメソッドの選択情報をとりだし、オブ
ジェクトに持たせる。この時、複数のクラスから収集し
た。同一形式メソッドの選択情報は統合され、ひとつの
選択情報となる。
従って、オブジェクトに対して発行されたメソッド呼出
しは、まず、同一形式のメソッドに対する選択情報を捜
し出す。そして、そのメソッド呼出し命令の状態により
、対応するメソッド定義記述へのアドレスを選択情報か
ら得ることができ直接、そのメソッドのコードを実行す
ることが出来る。
しは、まず、同一形式のメソッドに対する選択情報を捜
し出す。そして、そのメソッド呼出し命令の状態により
、対応するメソッド定義記述へのアドレスを選択情報か
ら得ることができ直接、そのメソッドのコードを実行す
ることが出来る。
また、オブジェクト指向型言語には、「インスタンス」
という、オブジェクトとは別の、プログラム実行中に動
的に生成されるクラスの集まりがある。これに対しても
、オブジェクトと同様にメソッド呼出しが発行され、メ
ソッド選択の処理が行われる。
という、オブジェクトとは別の、プログラム実行中に動
的に生成されるクラスの集まりがある。これに対しても
、オブジェクトと同様にメソッド呼出しが発行され、メ
ソッド選択の処理が行われる。
オブジェクトとインスタンスとの違いは、プログラム実
行前に静的に生成されるか、実行中に動的に生成される
かの違いであり、内部のメソッド呼出しの処理は同等で
ある。
行前に静的に生成されるか、実行中に動的に生成される
かの違いであり、内部のメソッド呼出しの処理は同等で
ある。
この、インスタンスにおける5メソッド呼出し処理も1
本発明を適用することが可能である。
本発明を適用することが可能である。
以下1第2図ないし第7図にしたがって1本発明の詳細
な説明する。
な説明する。
第2図と第3図は、それぞれクラスとオブジェクトの内
部構造を示したものである。
部構造を示したものである。
第2図において。
11は、クラスを示す。
12は、メソッドの選択情報であり、同名のメソッドご
とに用意され、メソッド呼出し命令の実行時に、実行す
べきメソッドを選択するための情報と、定義の存在する
場所の情報との対応表である。
とに用意され、メソッド呼出し命令の実行時に、実行す
べきメソッドを選択するための情報と、定義の存在する
場所の情報との対応表である。
13は、メソッド定義である。
14は、クラス識別情報域であり、クラス名等が格納さ
れる。
れる。
15は、メソッド選択情報域であり、メソッド選択情報
が格納される。
が格納される。
16は、メソッド定義域であり、メソッド定義が格納さ
れる。
れる。
第3図において。
17は、オブジェクトを示す。
18は、オブジェクトが生成された時、それを槽底する
クラスの選択情報群から生成された。オブジェクトの為
のメソッド選択情報である。
クラスの選択情報群から生成された。オブジェクトの為
のメソッド選択情報である。
19は、オブジェクト識別情報域であり、オブジェクト
名1等が格納される。
名1等が格納される。
20は、メソッド選択情報域であり、メソッド選択情報
が格納される。
が格納される。
第4図は、オブジェクト生成の手順を示す流れ図である
。
。
前処理で、クラスおよびメソッドの定義あるいは設定を
行い、生成しようとするオブジェクトを槽底するクラス
を指定してクラス−覧を得る0次にそれらの各クラスか
らメソッド選択情報を収集してオブジェクトのメソッド
選択情報を作威し。
行い、生成しようとするオブジェクトを槽底するクラス
を指定してクラス−覧を得る0次にそれらの各クラスか
らメソッド選択情報を収集してオブジェクトのメソッド
選択情報を作威し。
後処理での必要な編集を行って、定められた内部構造を
もつオブジェクトを生成する。
もつオブジェクトを生成する。
第5図は、メソッド呼出し処理の手順を示す流れ図であ
る。
る。
メソッド呼出しがあると、要求されたメソッドの形式を
チエツクし、同一形式のメソッドの有無を調べる。該当
するものが無ければ質問は失敗し。
チエツクし、同一形式のメソッドの有無を調べる。該当
するものが無ければ質問は失敗し。
有れば次に呼出し命令の状S(条件)をチエツクし、そ
れに基づきメソッド選択情報をサーチして該当するもの
が無ければ質問は失敗し、有ればメソッド定義が記述さ
れている場所のアドレス(ポインタ)を得る。そのアド
レスによりメソッド定義の処理(ユニフィケーシ3ン)
を行い、失敗すれば他のメソッド選択情報をサーチして
同様な手順を繰り返し2威功すれば終了する。
れに基づきメソッド選択情報をサーチして該当するもの
が無ければ質問は失敗し、有ればメソッド定義が記述さ
れている場所のアドレス(ポインタ)を得る。そのアド
レスによりメソッド定義の処理(ユニフィケーシ3ン)
を行い、失敗すれば他のメソッド選択情報をサーチして
同様な手順を繰り返し2威功すれば終了する。
第6図は、オブジェクト生成後の各オブジェクトとクラ
スの全体的な内部構成を例示的に示したものである。
スの全体的な内部構成を例示的に示したものである。
図示された例は、オブジェクトAがクラスaとクラスb
とによって構成され、オブジェクトBがクラスbとクラ
スCとによって構成される。クラスbは、オブジェクト
AとオブジェクトBによって共用されている。
とによって構成され、オブジェクトBがクラスbとクラ
スCとによって構成される。クラスbは、オブジェクト
AとオブジェクトBによって共用されている。
クラスaには、メソッド形式r method −I
Jの定義とメソッド形式r method −2Jの定
義が記述され、クラスbにもメソッド形式rmetho
d −I Jとr+ethod 2 Jの定義が記述
されている。
Jの定義とメソッド形式r method −2Jの定
義が記述され、クラスbにもメソッド形式rmetho
d −I Jとr+ethod 2 Jの定義が記述
されている。
クラスCには、メソッド形式rmethod −1」と
rmethod 3 Jの定義が記述されている。そ
して各クラスa、b、cには、それぞれのメソッド定義
に対するメソッド選択情報が設定されている。
rmethod 3 Jの定義が記述されている。そ
して各クラスa、b、cには、それぞれのメソッド定義
に対するメソッド選択情報が設定されている。
オブジェクトAとオブジェクトBには、それぞれの構成
要素のクラスから収集したメソッド選択情報が設定され
9図中に矢線で示すように、該当するメソッド定義を直
接参照可能にする。
要素のクラスから収集したメソッド選択情報が設定され
9図中に矢線で示すように、該当するメソッド定義を直
接参照可能にする。
第7図は、第9図に示されているプログラム例における
オブジェクトAとクラスa、b、cを用いた場合のメソ
ッド呼出し処理の具体例を示す。
オブジェクトAとクラスa、b、cを用いた場合のメソ
ッド呼出し処理の具体例を示す。
先ず、オブジェクトを生成する時、(a)〜(C)内の
メモリ選択情報を収集し、統合することで、(d)のオ
ブジェクトの為のメソッド選択情報を作成する。
メモリ選択情報を収集し、統合することで、(d)のオ
ブジェクトの為のメソッド選択情報を作成する。
通常、オブジェクトに対してメソッド呼出しが発行され
ると(■)、呼出しされるメソッドの形式から、対応す
るメソッドの選択情報を得る(■)そこで、更に、メソ
ッド呼出しの状態(ここでは。
ると(■)、呼出しされるメソッドの形式から、対応す
るメソッドの選択情報を得る(■)そこで、更に、メソ
ッド呼出しの状態(ここでは。
メソッドの引数の値)のチエツクを行い(■〉。
その結果を基に対応するメソッド定義のアドレスを得る
(■〉。そして、得られた定義の記述の処理を行う (
■)。
(■〉。そして、得られた定義の記述の処理を行う (
■)。
上記の例では、メソッド選択情報として、メソッド定義
の引数の値を用いたが、これは、引数の値である必要は
無く2引数の取りうる値の範囲を示すものでも良い。
の引数の値を用いたが、これは、引数の値である必要は
無く2引数の取りうる値の範囲を示すものでも良い。
また、引数の値のタイプ(定数、構造体9等)をメソッ
ド選択情報として用いても良い。
ド選択情報として用いても良い。
以上説明したように9本発明によれば、処理系内のプロ
グラムコード容量の増大を防ぎ、メソッド呼出し命令の
状態により最適なメソッド定義を選択することが出来、
メソッド呼出し処理の高速化、つまり、オブジェクト指
向プログラムの実行の高速化に寄与するところが大きい
。
グラムコード容量の増大を防ぎ、メソッド呼出し命令の
状態により最適なメソッド定義を選択することが出来、
メソッド呼出し処理の高速化、つまり、オブジェクト指
向プログラムの実行の高速化に寄与するところが大きい
。
第1図は本発明の原理説明図、第2図ないし第7図は本
発明実施例の説明図であって、第2図はクラスの内部構
造説明図、第3図はオブジェクトの内部構造説明図、第
4図はオブジェクト1威の流れ図、第5図はメソッド呼
出し処理の流れ図。 第6図はオブジェクト生成後の全体の内部構成図第7図
はメソッド呼出し処理の具体例の説明図第8図はオブジ
ェクト指向プログラムの概念図5第9図はオブジェクト
指向プログラムの例の説明図、第1O図は従来技術−)
による処理ステツプの説明図である。 第1図中 1−1〜1−n:クラス 2:オブジェクト生成段階 3:オブジェクト 4ニブログラム実行段階
発明実施例の説明図であって、第2図はクラスの内部構
造説明図、第3図はオブジェクトの内部構造説明図、第
4図はオブジェクト1威の流れ図、第5図はメソッド呼
出し処理の流れ図。 第6図はオブジェクト生成後の全体の内部構成図第7図
はメソッド呼出し処理の具体例の説明図第8図はオブジ
ェクト指向プログラムの概念図5第9図はオブジェクト
指向プログラムの例の説明図、第1O図は従来技術−)
による処理ステツプの説明図である。 第1図中 1−1〜1−n:クラス 2:オブジェクト生成段階 3:オブジェクト 4ニブログラム実行段階
Claims (1)
- 【特許請求の範囲】 オブジェクト指向プログラムの処理システムにおいて、 各クラスを、クラス識別情報と、メソッド定義と、メソ
ッド定義を選択するために有用な関連情報およびメソッ
ド定義場所を指すポインタからなるメソッド選択情報と
により構成し、 オブジェクト生成時に、当該オブジェクトを構成する各
クラスからメソッド選択情報を収集して、重複するもの
を整理し、オブジェクトを、オブジェクト識別情報およ
び前記整理したメソッド選択情報により構成し、 プログラム実行時に、オブジェクトのメソッド呼出しが
行われたとき、当該オブジェクトのメソッド選択情報を
参照し、メソッド定義の取出しを行うことを特徴とする
オブジェクト指向プログラムの実行処理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5603390A JPH03257530A (ja) | 1990-03-07 | 1990-03-07 | オブジェクト指向プログラムの実行処理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5603390A JPH03257530A (ja) | 1990-03-07 | 1990-03-07 | オブジェクト指向プログラムの実行処理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03257530A true JPH03257530A (ja) | 1991-11-18 |
Family
ID=13015765
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5603390A Pending JPH03257530A (ja) | 1990-03-07 | 1990-03-07 | オブジェクト指向プログラムの実行処理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03257530A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06266563A (ja) * | 1992-09-30 | 1994-09-22 | Internatl Business Mach Corp <Ibm> | 複数同時オブジェクト・バージョンをサポートする効率的ルータ |
| JPH06266564A (ja) * | 1992-11-12 | 1994-09-22 | Internatl Business Mach Corp <Ibm> | 複合データ構造を生成及び記憶する方法及び装置 |
| JPH07319700A (ja) * | 1994-05-27 | 1995-12-08 | Nec Corp | ビュー管理システム |
-
1990
- 1990-03-07 JP JP5603390A patent/JPH03257530A/ja active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06266563A (ja) * | 1992-09-30 | 1994-09-22 | Internatl Business Mach Corp <Ibm> | 複数同時オブジェクト・バージョンをサポートする効率的ルータ |
| JPH06266564A (ja) * | 1992-11-12 | 1994-09-22 | Internatl Business Mach Corp <Ibm> | 複合データ構造を生成及び記憶する方法及び装置 |
| JPH07319700A (ja) * | 1994-05-27 | 1995-12-08 | Nec Corp | ビュー管理システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6697835B1 (en) | Method and apparatus for high speed parallel execution of multiple points of logic across heterogeneous data sources | |
| US7007275B1 (en) | Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources | |
| Selinger et al. | Access path selection in a relational database management system | |
| US6490585B1 (en) | Cellular multiprocessor data warehouse | |
| JP4264118B2 (ja) | ネットワーク上の異なる情報源から情報を構成する方法 | |
| US5535389A (en) | Business process objects with associated attributes such as version identifier | |
| US5819282A (en) | Database generator | |
| US5937409A (en) | Integrating relational databases in an object oriented environment | |
| US6338069B1 (en) | Method and apparatus for managing functions | |
| US6760719B1 (en) | Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources | |
| US5606699A (en) | Storing and querying execution information for object-oriented programs | |
| WO1996018159B1 (en) | Implementation independent extensible query architecture for information retrieval systems | |
| JPH10232875A (ja) | データベース管理方法および並列データベース管理システム | |
| WO1998026360A1 (en) | System and method for optimizing database queries | |
| JPH09269898A (ja) | 実行可能ファイルの実行効率を改善するための方法及びシステム | |
| US4964063A (en) | System and method for frame and unit-like symbolic access to knowledge represented by conceptual structures | |
| Harris et al. | Recognizers for extracting architectural features from source code | |
| CN101377806A (zh) | 一种基于系统源代码搜索隐通道的信息流分析方法 | |
| Goguen et al. | Software component search | |
| EP0435476B1 (en) | Database system | |
| US5696973A (en) | Index-based method for supporting multimethod function overloading with compile-time type checking and run-time dispatch | |
| EP1696349A1 (en) | Composable query building API and query language | |
| CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
| US6353819B1 (en) | Method and system for using dynamically generated code to perform record management layer functions in a relational database manager | |
| Atkinson et al. | Aspects of implementing CLU |