JPH03257530A - Execution processing system for object-based program - Google Patents

Execution processing system for object-based program

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
Application number
JP5603390A
Other languages
Japanese (ja)
Inventor
Satoru Torii
悟 鳥居
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5603390A priority Critical patent/JPH03257530A/en
Publication of JPH03257530A publication Critical patent/JPH03257530A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To attain a fast search even if the description of the method definition is shared with objects by taking out the method definition while referencing to the method selection information on an object when the method of the object is called out at the execution of a program. CONSTITUTION:A class and a method are defined or set in a preprocessing step, and the classes forming an object to be generated are designated for the acquisition of a class list. Then the method selection information are collected from each class for the production of the method selection information on the object. An editing operation needed in an postprocessing step is carried out for the generation of an object having a prescribed internal structure. When a method is called out, the required method is checked in order to check the presence or absence of methods of the same form. Thus it is possible to prevent the increase of the program code capacity in this processing system and to select the optimum method definition in accordance with the state of a method call instruction. Then the method calling speed is increased, that is, the executing speed of an object-based program is increased.

Description

【発明の詳細な説明】 〔概 要〕 オブジェクト指向プログラムの処理システムにおける効
率的なメソッドの実行処理方式に関し。
[Detailed Description of the Invention] [Summary] This invention relates to an efficient method execution processing method in an object-oriented program processing system.

メソッド定義のコード量の爆発的増大を防ぎ。Prevent the explosive increase in the amount of code for method definitions.

オブジェクト間でメソッド定義の記述の共用を行っても
実際に実行すべきメソッド定義の高速な探索を可能にす
ることを目的とし。
The purpose is to enable high-speed search for method definitions that should actually be executed even if method definition descriptions are shared between objects.

各クラスを、クラス識別情報と、メソッド定義と、メソ
ッド定義を選択するためのメソッド選択情報とにより構
成し、オブジェクト生成時に、当該オブジェクトを構成
する各クラスからメソッド選択情報を収集して重複する
ものを整理し、オブジェクトを、オブジェクトa別情報
および前記整理したメソッド選択情報により構成し、プ
ログラム実行時に、オブジェクトのメソッド呼出しが行
われたとき、当該オブジェクトのメソッド選択情報を参
照し、メソッド定義の取り出しを行うように構成した。
Each class is configured with class identification information, a method definition, and method selection information for selecting a method definition, and when an object is created, method selection information is collected from each class that makes up the object and is duplicated. , and configures the object with the information for each object a and the method selection information organized above, and when a method is called for the object during program execution, the method selection information for the object is referred to and the method definition is retrieved. It was configured to do this.

〔産業上の利用分野〕[Industrial application field]

本発明は、オブジェクト指向プログラムの処理システム
における効率的なメソッドの実行処理方式に関する。
The present invention relates to an efficient method execution processing method in an object-oriented program processing system.

近年、プログラミングスタイル、プログラムの部品化、
知識表現との親和性2等から、オブジェクト指向型言語
が注目されている。
In recent years, programming style, program componentization,
Object-oriented languages are attracting attention because of their affinity with knowledge representation.

一般に、オブジェクト指向プログラムは、第8図に概念
的に示されているように、複数の「クラス」から構成さ
れた「オブジェクト」の集まりとなっている。
Generally, an object-oriented program is a collection of "objects" made up of a plurality of "classes", as conceptually shown in FIG.

各クラス内には、「メソッド」と呼ばれる処理の記述が
定義されている。つまり、オブジェクトは、そのオブジ
ェクトを構成する複数のクラス内で定義されているメソ
ッドを実行する(処理を行う)能力を持つ。
Within each class, processing descriptions called "methods" are defined. In other words, an object has the ability to execute (perform processing) methods defined in multiple classes that constitute the object.

オブジェクト指向プログラムの実行に先立ち。Prior to execution of an object-oriented program.

クラスを定義しそこにメソッド定義を記述しておく、実
行開始直前、又は、実行時に、適当なりラスからオブジ
ェクトを生成する。オブジェクトに対してメソッドを呼
出し、そこで定義された処理を行うことで、プログラム
の実行が進行する。
Define a class and write method definitions in it, and generate an object from an appropriate class just before or during execution. Program execution progresses by calling methods on objects and performing the processing defined there.

ひとつのオブジェクト内では、メソッド呼出し命令を受
は取ると、クラスの継承規則に基づいて。
Within an object, method invocation instructions are received and based on the inheritance rules of the class.

受は取ったメソッド呼出し命令に適合する定義を検索し
、その処理を行う。メソッド呼出し命令に付随する引数
の値、タイプ9等によっても、メソッド定義の選択に影
響を与えることもある。
The receiver searches for a definition that matches the received method call instruction and processes it. The selection of method definition may also be influenced by the value, type 9, etc. of the argument accompanying the method call instruction.

エキスパートシステム、等の大規模なオブジェクト指向
型プログラムが開発されるようになり。
Large-scale object-oriented programs such as expert systems began to be developed.

オブジェクトを構成するクラス、メソッドが、多様化、
大量化されてきている。このような、大規模なオブジェ
クト指向型プログラムを高速に実行するには、オブジェ
クト内のメソッド処理、特にメソッド呼出し命令に対応
するメソッド定義を素早く検索して、その処理を行う必
要がある。
The classes and methods that make up objects are becoming more diverse.
It is becoming mass-produced. In order to execute such a large-scale object-oriented program at high speed, it is necessary to quickly search for method processing within an object, particularly a method definition corresponding to a method call instruction, and perform the processing.

〔従来の技術〕[Conventional technology]

従来のオブジェクト指向型言語の処理系において、メソ
ッド呼出しに対する処理には、大きく分けて2つの方式
がある。
In conventional object-oriented language processing systems, there are roughly two methods for processing method calls.

fa+  オブジェクト内に、それを構成する全てのク
ラスの全てのメソッド定義コードをコピーする(取り込
む)方式。
fa+ A method of copying (incorporating) all method definition codes of all the classes that make up the object into the object.

(bl  rメソッドモジュール」と呼ばれる7メソノ
ド名の一覧とその定義のある場所(クラス)との対応表
を、オブジェクト内に持たせる方式。
A method in which an object contains a correspondence table between a list of 7 method names and the location (class) where they are defined, called a bl r method module.

(4)の方式では、オブジェクト自身が処理の記述を持
っているので、各クラスに対してメソッド定義の記述が
あるかどうかの検索を行う必要がない。
In method (4), since the object itself has a processing description, there is no need to search for each class to see if there is a method definition description.

しかし、多量のクラスから構成されているオブジェクト
や、複数のオブジェクト間で同じクラスを共有している
場合(たとえば、第8図のオブジェクトA、8間)など
では、定義コードの量が膨大になってしまう。
However, in cases where an object consists of a large number of classes, or where the same class is shared between multiple objects (for example, objects A and 8 in Figure 8), the amount of definition code becomes enormous. It ends up.

また、 (blの方式では、複数のオブジェクトでクラ
スを共有していても、コード量の増加はあまりない。し
かし、この「メソッドモジュール1は。
Also, (with the bl method, even if multiple objects share a class, the amount of code does not increase much. However, this method module 1...

単に、“′どのクラスがどのメモリの処理の記述を定義
しているか”の情報しかない。
There is simply information about "which class defines which memory processing description."

このため、ひとつのオブジェクト内で同し形式のメソッ
ドを、複数のクラスで定義していた場合。
Therefore, if methods of the same format are defined in multiple classes within one object.

メソッドモジュールを探索し、対応するメソ・ンドを探
し当て、その各メソッドを順番に実行する。
It searches the method module, finds the corresponding method, and executes each method in turn.

上記従来技術0))の方式について1次に第9図および
第10図により具体例を説明する。
A specific example of the method of the prior art 0)) will be explained first with reference to FIGS. 9 and 10.

第9図はオブジェクト指向プログラムの例であり、クラ
ス(class)  a、  b、  cで定義される
オブジェクト(Object) Aについて質問〔ゴー
ル〕 ? −: method−1(Obj、  3)を充足
する解を求めるものである。
Figure 9 is an example of an object-oriented program, and asks a question [goal] about object A defined by classes a, b, and c. -: Finds a solution that satisfies method-1 (Obj, 3).

クラスaは、述語rmethod −I Jの後のカッ
コ内に引数「1」と引数「−1」をそれぞれ含む2つの
メソッド定義をもち、クラスbは、引数「2」を含む1
つのメソッド定義をもち、そしてクラスCは、引数「3
」を含む1つのメソ・ンド定義をもつ。
Class a has two method definitions containing arguments "1" and "-1", respectively, in parentheses after the predicate rmethod -I J, and class b has two method definitions containing arguments "1" and "-1", respectively.
class C has three method definitions, and class C has three method definitions.
” has one method/end definition.

第10図は、従来技術(b)の方式により第9図のプロ
グラムを処理する場合の処理ステップを、■ないし■で
示している。図示のように、オブジェクトAには、メソ
ッド名とその定義がなされているクラスを指示する情報
の一覧をもつメソッドモジュールが設定されている。
In FIG. 10, processing steps in the case of processing the program in FIG. 9 using the method of the prior art (b) are indicated by ■ to ■. As shown in the figure, a method module is set in object A that has a list of method names and information indicating the class in which the methods are defined.

メソッド呼出しく命令)が発行されると(■)。When a method call command) is issued (■).

オブジェクトモジュールの最初のエントリを参照しく■
)、まずクラスaのメソッド定義場所を求めて(■)、
クラスaのメソッド定義をアクセスし、ユニフィケーシ
ョン処理を行う(■)。ここでは、質問が充足されない
。次にオブジェクトモジュールの次のエントリを参照し
く■)、クラスbのメソッド定義場所を求めて(■)、
クラスbのメソッド定義についてユニフィケーション処
理を行う、ここでも質問は充足されない、その後さらに
オブジェクトモジュールの続くエントリを参照しく■)
、クラスCのメソッド定義場所を求め(■)、クラスC
のメソッド定義についてユニフイケーシヨン処理を行う
、ここでは、質問を充足する解が得られる。
See the first entry in the object module.■
), first find the method definition location of class a (■),
Access the method definition of class a and perform unification processing (■). The question is not satisfied here. Next, refer to the next entry in the object module (■), find the method definition location of class b (■),
Perform unification processing on the method definition of class b, the question is not satisfied here either, then please refer to the following entry in the object module ■)
, find the method definition location of class C (■), and find the method definition location of class C
We perform unification processing on the method definition of , and here we obtain a solution that satisfies the question.

ところで、メソッドは、渡された引数のチエツクを行い
、そのチエツクが満たされたら2本来の処理を行うとい
う形式で定義されることが多い。
By the way, methods are often defined in such a way that they check the arguments passed to them, and if the check is satisfied, they perform the original processing.

方式(alでは2全でのメソッド定義が一箇所に集めら
れるため、引数の値やタイプ、等によるインデキシング
などの最適化により、所望のメソッド定義を素早く見つ
けることが可能である。しかし。
In the method (al), all method definitions in 2 are collected in one place, so it is possible to quickly find a desired method definition by optimization such as indexing based on argument values, types, etc. However.

方式Cb)では、メソッド定義がクラス毎に分かれてい
るため、このような最適化が不可能であった。
In method Cb), such optimization is impossible because method definitions are separated for each class.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

オブジェクト内に全てのメソッドの定義コードを取り込
む従来技術1alの方式では、メソッド実行の高速化を
図ることができるものの、大規模なプログラムの場合に
は、定義コードの記述量が爆発的に増大して、オブジェ
クト間での重複する定義コードの持ち合いなども生して
、メモリの使用効率が低下するという欠点があった。
Conventional technology 1al, which incorporates definition codes of all methods into an object, can speed up method execution, but in the case of large-scale programs, the amount of definition code to be written increases explosively. This has the disadvantage that memory usage efficiency decreases due to the sharing of duplicate definition codes between objects.

また、オブジェクト内に「メソッドモジュール」のみを
もち、これにより実際のメソッド定義場所をアクセスす
る従来技術(b)の方式では、メモリの使用効率は良い
が、メソッド呼出し命令の状態(たとえば、引数の値や
タイプなど)の区別によってメソッド定義を選択する方
法をとることができず、各メソッド定義を順番に実行し
なければならないため、メソッド実行の高速化を図るこ
とができないという欠点があった。
In addition, the method of conventional technology (b), which has only a "method module" in the object and accesses the actual method definition location, has good memory usage efficiency, but the state of the method call instruction (for example, the argument It is not possible to select method definitions based on distinctions (value, type, etc.), and each method definition must be executed in sequence, which has the drawback of not being able to speed up method execution.

本発明は、メソッド定義のコード量の爆発的増大を防ぎ
、オブジェクト間でメソッド定義の記述の共用を行って
も実際に実行すべきメソッド定義の高速な探索を可能に
することを目的としている。
An object of the present invention is to prevent an explosive increase in the amount of code for method definitions, and to enable high-speed search for method definitions to be actually executed even if method definition descriptions are shared among objects.

本発明は、オブジェクト内に全てのクラスのメソッド定
義コードのコピーを取り込む代りに、実際のメソッド定
義コードが存在する場所へのポインタと、メソッド定義
コードを探索するインデフクスとなる関連情報を含むメ
ソッド選択情報をオブジェクトに持たせるものである。
Instead of including a copy of the method definition code for every class in an object, the present invention provides method selection that includes a pointer to where the actual method definition code resides and related information that serves as an index for searching the method definition code. It allows objects to hold information.

このメソッド選択情報は、メソッド定義コードが存在す
る場所を直接指すポインタだけではなくたとえばそのメ
ソッド定義の引数の値や引数の値のタイプ(定数か、構
造体かなど)のような関連情報を持っているため、実際
のメソッド定義コードをアクセスする必要なしにこの関
連情報のみで有効なメソッド定義を選択することを可能
にする。
This method selection information includes not only a pointer directly pointing to the location where the method definition code exists, but also related information such as the value of the argument of the method definition and the type of the argument value (constant, struct, etc.). This makes it possible to select a valid method definition using only this relevant information without having to access the actual method definition code.

第1図は3本発明の原理説明図である。FIG. 1 is an explanatory diagram of the principle of the present invention.

図において。In fig.

1−1ないし1−nは、生成しようとするオブジェクト
を構成するクラスであり、それぞれクラス識別情報と、
任意数のメソッド定義と、各メソッド定義を選択するた
めに有用な関連情報およびポインタの対からなるメソッ
ド選択情報とにより構成されている。
1-1 to 1-n are classes constituting the object to be generated, and each includes class identification information,
It consists of an arbitrary number of method definitions and method selection information consisting of a pair of relevant information and pointers useful for selecting each method definition.

2は、オブジェクトの生成段階であり、クラス1−1な
いし1−nの各々からメソッド選択情報を収集し、クラ
ス間で同一形式のメソッド定義がなされているときには
それらのメソッド選択情報を1つに整理統合する。
Step 2 is the object generation stage, in which method selection information is collected from each of classes 1-1 to 1-n, and when methods are defined in the same format between classes, the method selection information is combined into one. Organize and integrate.

3は、生成されたオブジェクトであり、オブジェクト識
別情報と整理統合されたメソッド選択情報とをもつ。
3 is a generated object, which has object identification information and integrated method selection information.

4は、プログラム実行の段階であり、メソッド呼出し要
求が行われたとき、要求されたメソッドの形式に一致す
るメソッドがあれば、さらにそのメソッド選択情報につ
いて関連情報が適合するものを探索し、適合するものが
あればその関連情報と対になっているポインタにより指
示されているクラスのメソッド定義を呼出し、実行する
Step 4 is the program execution stage. When a method call request is made, if there is a method that matches the requested method format, the method selection information is searched for a method whose related information matches, and a matching method is found. If there is something to do, call and execute the method definition of the class pointed to by the pointer paired with the related information.

〔作 用〕[For production]

本発明では1図2.0ように、各クラス内の同一形式の
メソンド毎に3選択情報を用意する。この選択情報には
1メソッド選択のための関連情報と、それに対応するメ
ソッド定義の場所へのポインタが格納されている。
In the present invention, three pieces of selection information are prepared for each method of the same format in each class, as shown in Figure 2.0. This selection information stores related information for selecting one method and a pointer to the location of the corresponding method definition.

オブジェクトを生成する時、このオブジェクトを構成す
るクラスの全てのメソッドの選択情報をとりだし、オブ
ジェクトに持たせる。この時、複数のクラスから収集し
た。同一形式メソッドの選択情報は統合され、ひとつの
選択情報となる。
When an object is created, the selection information of all the methods of the classes that make up this object is extracted and the object has it. At this time, data were collected from multiple classes. Selection information for methods of the same format is integrated to become one selection information.

従って、オブジェクトに対して発行されたメソッド呼出
しは、まず、同一形式のメソッドに対する選択情報を捜
し出す。そして、そのメソッド呼出し命令の状態により
、対応するメソッド定義記述へのアドレスを選択情報か
ら得ることができ直接、そのメソッドのコードを実行す
ることが出来る。
Thus, a method call issued to an object first looks for selection information for a method of the same type. Then, depending on the state of the method call instruction, the address to the corresponding method definition description can be obtained from the selection information, and the code of the method can be directly executed.

また、オブジェクト指向型言語には、「インスタンス」
という、オブジェクトとは別の、プログラム実行中に動
的に生成されるクラスの集まりがある。これに対しても
、オブジェクトと同様にメソッド呼出しが発行され、メ
ソッド選択の処理が行われる。
Also, in object-oriented languages, there is an "instance"
There is a collection of classes that are created dynamically during program execution, separate from objects. For this as well, a method call is issued in the same way as for objects, and method selection processing is performed.

オブジェクトとインスタンスとの違いは、プログラム実
行前に静的に生成されるか、実行中に動的に生成される
かの違いであり、内部のメソッド呼出しの処理は同等で
ある。
The difference between an object and an instance is whether they are statically generated before program execution or dynamically generated during program execution, and the processing of internal method calls is the same.

この、インスタンスにおける5メソッド呼出し処理も1
本発明を適用することが可能である。
This 5 method call process in the instance is also 1
It is possible to apply the present invention.

〔実施例〕〔Example〕

以下1第2図ないし第7図にしたがって1本発明の詳細
な説明する。
The present invention will be described in detail below with reference to FIGS. 2 to 7.

第2図と第3図は、それぞれクラスとオブジェクトの内
部構造を示したものである。
Figures 2 and 3 show the internal structures of classes and objects, respectively.

第2図において。In fig.

11は、クラスを示す。11 indicates a class.

12は、メソッドの選択情報であり、同名のメソッドご
とに用意され、メソッド呼出し命令の実行時に、実行す
べきメソッドを選択するための情報と、定義の存在する
場所の情報との対応表である。
Reference numeral 12 is method selection information, which is prepared for each method with the same name and is a correspondence table between information for selecting a method to be executed when a method call instruction is executed and information on the location where the definition exists. .

13は、メソッド定義である。13 is a method definition.

14は、クラス識別情報域であり、クラス名等が格納さ
れる。
14 is a class identification information area in which class names and the like are stored.

15は、メソッド選択情報域であり、メソッド選択情報
が格納される。
15 is a method selection information area in which method selection information is stored.

16は、メソッド定義域であり、メソッド定義が格納さ
れる。
16 is a method definition area in which method definitions are stored.

第3図において。In fig.

17は、オブジェクトを示す。17 indicates an object.

18は、オブジェクトが生成された時、それを槽底する
クラスの選択情報群から生成された。オブジェクトの為
のメソッド選択情報である。
18 is generated from the selection information group of the class that covers the object when the object is generated. This is method selection information for the object.

19は、オブジェクト識別情報域であり、オブジェクト
名1等が格納される。
19 is an object identification information area in which object name 1 and the like are stored.

20は、メソッド選択情報域であり、メソッド選択情報
が格納される。
20 is a method selection information area in which method selection information is stored.

第4図は、オブジェクト生成の手順を示す流れ図である
FIG. 4 is a flowchart showing the procedure for generating an object.

前処理で、クラスおよびメソッドの定義あるいは設定を
行い、生成しようとするオブジェクトを槽底するクラス
を指定してクラス−覧を得る0次にそれらの各クラスか
らメソッド選択情報を収集してオブジェクトのメソッド
選択情報を作威し。
In preprocessing, define or set the class and method, specify the class that will contain the object to be generated, and obtain a class list.Next, collect method selection information from each of those classes and create the object. Create method selection information.

後処理での必要な編集を行って、定められた内部構造を
もつオブジェクトを生成する。
Perform necessary editing in post-processing to generate an object with a defined internal structure.

第5図は、メソッド呼出し処理の手順を示す流れ図であ
る。
FIG. 5 is a flowchart showing the procedure of method calling processing.

メソッド呼出しがあると、要求されたメソッドの形式を
チエツクし、同一形式のメソッドの有無を調べる。該当
するものが無ければ質問は失敗し。
When a method is called, the format of the requested method is checked to see if there is a method with the same format. If there is no matching question, the question will fail.

有れば次に呼出し命令の状S(条件)をチエツクし、そ
れに基づきメソッド選択情報をサーチして該当するもの
が無ければ質問は失敗し、有ればメソッド定義が記述さ
れている場所のアドレス(ポインタ)を得る。そのアド
レスによりメソッド定義の処理(ユニフィケーシ3ン)
を行い、失敗すれば他のメソッド選択情報をサーチして
同様な手順を繰り返し2威功すれば終了する。
If there is, then check the state S (condition) of the calling command, search for method selection information based on it, and if there is no matching information, the query will fail, and if it exists, the address of the place where the method definition is written. Get (pointer). Method definition processing based on that address (unification 3)
If it fails, search for other method selection information and repeat the same procedure until the process is completed twice.

第6図は、オブジェクト生成後の各オブジェクトとクラ
スの全体的な内部構成を例示的に示したものである。
FIG. 6 exemplarily shows the overall internal structure of each object and class after object generation.

図示された例は、オブジェクトAがクラスaとクラスb
とによって構成され、オブジェクトBがクラスbとクラ
スCとによって構成される。クラスbは、オブジェクト
AとオブジェクトBによって共用されている。
In the illustrated example, object A has classes a and b.
Object B is composed of class b and class C. Class b is shared by object A and object B.

クラスaには、メソッド形式r method −I 
Jの定義とメソッド形式r method −2Jの定
義が記述され、クラスbにもメソッド形式rmetho
d −I Jとr+ethod  2 Jの定義が記述
されている。
Class a has method format r method -I
Definition of J and method format r method -2 Definition of J is described, and class b also has method format r method
Definitions of d −I J and r+ethod 2 J are described.

クラスCには、メソッド形式rmethod −1」と
rmethod  3 Jの定義が記述されている。そ
して各クラスa、b、cには、それぞれのメソッド定義
に対するメソッド選択情報が設定されている。
In class C, definitions of method formats rmethod -1 and rmethod 3 J are described. Method selection information for each method definition is set for each class a, b, and c.

オブジェクトAとオブジェクトBには、それぞれの構成
要素のクラスから収集したメソッド選択情報が設定され
9図中に矢線で示すように、該当するメソッド定義を直
接参照可能にする。
Object A and Object B are set with method selection information collected from the classes of their respective constituent elements, so that the corresponding method definitions can be directly referenced, as shown by the arrows in Figure 9.

第7図は、第9図に示されているプログラム例における
オブジェクトAとクラスa、b、cを用いた場合のメソ
ッド呼出し処理の具体例を示す。
FIG. 7 shows a specific example of method calling processing when object A and classes a, b, and c are used in the program example shown in FIG. 9.

先ず、オブジェクトを生成する時、(a)〜(C)内の
メモリ選択情報を収集し、統合することで、(d)のオ
ブジェクトの為のメソッド選択情報を作成する。
First, when generating an object, method selection information for the object in (d) is created by collecting and integrating memory selection information in (a) to (C).

通常、オブジェクトに対してメソッド呼出しが発行され
ると(■)、呼出しされるメソッドの形式から、対応す
るメソッドの選択情報を得る(■)そこで、更に、メソ
ッド呼出しの状態(ここでは。
Normally, when a method call is issued to an object (■), selection information for the corresponding method is obtained from the format of the method to be called (■).

メソッドの引数の値)のチエツクを行い(■〉。method argument value) is checked (■>.

その結果を基に対応するメソッド定義のアドレスを得る
(■〉。そして、得られた定義の記述の処理を行う (
■)。
Based on the result, obtain the address of the corresponding method definition (■>. Then, process the description of the obtained definition (
■).

上記の例では、メソッド選択情報として、メソッド定義
の引数の値を用いたが、これは、引数の値である必要は
無く2引数の取りうる値の範囲を示すものでも良い。
In the above example, the value of the argument in the method definition is used as the method selection information, but this does not have to be the value of the argument and may indicate the range of possible values of the two arguments.

また、引数の値のタイプ(定数、構造体9等)をメソッ
ド選択情報として用いても良い。
Furthermore, the type of argument value (constant, structure 9, etc.) may be used as method selection information.

〔発明の効果〕〔Effect of the invention〕

以上説明したように9本発明によれば、処理系内のプロ
グラムコード容量の増大を防ぎ、メソッド呼出し命令の
状態により最適なメソッド定義を選択することが出来、
メソッド呼出し処理の高速化、つまり、オブジェクト指
向プログラムの実行の高速化に寄与するところが大きい
As explained above, according to the present invention, it is possible to prevent an increase in program code capacity within a processing system, and to select an optimal method definition depending on the state of a method call instruction.
It greatly contributes to speeding up method call processing, that is, speeding up the execution of object-oriented programs.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の原理説明図、第2図ないし第7図は本
発明実施例の説明図であって、第2図はクラスの内部構
造説明図、第3図はオブジェクトの内部構造説明図、第
4図はオブジェクト1威の流れ図、第5図はメソッド呼
出し処理の流れ図。 第6図はオブジェクト生成後の全体の内部構成図第7図
はメソッド呼出し処理の具体例の説明図第8図はオブジ
ェクト指向プログラムの概念図5第9図はオブジェクト
指向プログラムの例の説明図、第1O図は従来技術−)
による処理ステツプの説明図である。 第1図中 1−1〜1−n:クラス 2:オブジェクト生成段階 3:オブジェクト 4ニブログラム実行段階
Fig. 1 is an explanatory diagram of the principle of the present invention, Figs. 2 to 7 are explanatory diagrams of embodiments of the present invention, Fig. 2 is an explanatory diagram of the internal structure of a class, and Fig. 3 is an explanatory diagram of the internal structure of an object. 4 is a flowchart of object 1 processing, and FIG. 5 is a flowchart of method call processing. FIG. 6 is the overall internal configuration after object generation. FIG. 7 is an explanatory diagram of a specific example of method call processing. FIG. 8 is a conceptual diagram of an object-oriented program.5 FIG. 9 is an explanatory diagram of an example of an object-oriented program. Figure 1O is the conventional technology-)
FIG. 1-1 to 1-n in Figure 1: Class 2: Object generation stage 3: Object 4 Niprogram execution stage

Claims (1)

【特許請求の範囲】 オブジェクト指向プログラムの処理システムにおいて、 各クラスを、クラス識別情報と、メソッド定義と、メソ
ッド定義を選択するために有用な関連情報およびメソッ
ド定義場所を指すポインタからなるメソッド選択情報と
により構成し、 オブジェクト生成時に、当該オブジェクトを構成する各
クラスからメソッド選択情報を収集して、重複するもの
を整理し、オブジェクトを、オブジェクト識別情報およ
び前記整理したメソッド選択情報により構成し、 プログラム実行時に、オブジェクトのメソッド呼出しが
行われたとき、当該オブジェクトのメソッド選択情報を
参照し、メソッド定義の取出しを行うことを特徴とする
オブジェクト指向プログラムの実行処理方式。
[Claims] In an object-oriented program processing system, method selection information is provided for each class, including class identification information, method definition, related information useful for selecting the method definition, and a pointer pointing to the method definition location. When an object is generated, method selection information is collected from each class that constitutes the object, duplicates are sorted out, the object is configured from the object identification information and the sorted method selection information, and the program An object-oriented program execution processing method characterized in that when a method of an object is called during execution, method selection information of the object is referred to and a method definition is retrieved.
JP5603390A 1990-03-07 1990-03-07 Execution processing system for object-based program Pending JPH03257530A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5603390A JPH03257530A (en) 1990-03-07 1990-03-07 Execution processing system for object-based program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5603390A JPH03257530A (en) 1990-03-07 1990-03-07 Execution processing system for object-based program

Publications (1)

Publication Number Publication Date
JPH03257530A true JPH03257530A (en) 1991-11-18

Family

ID=13015765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5603390A Pending JPH03257530A (en) 1990-03-07 1990-03-07 Execution processing system for object-based program

Country Status (1)

Country Link
JP (1) JPH03257530A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266564A (en) * 1992-11-12 1994-09-22 Internatl Business Mach Corp <Ibm> Method and apparatus for generation and storage of composite data structure
JPH06266563A (en) * 1992-09-30 1994-09-22 Internatl Business Mach Corp <Ibm> Efficient router for support of plurality of simultaneous object versions
JPH07319700A (en) * 1994-05-27 1995-12-08 Nec Corp View management system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266563A (en) * 1992-09-30 1994-09-22 Internatl Business Mach Corp <Ibm> Efficient router for support of plurality of simultaneous object versions
JPH06266564A (en) * 1992-11-12 1994-09-22 Internatl Business Mach Corp <Ibm> Method and apparatus for generation and storage of composite data structure
JPH07319700A (en) * 1994-05-27 1995-12-08 Nec Corp View management system

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 (en) How to configure information from different sources on the network
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
US5819255A (en) System and method for database query optimization
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 (en) Database management method and parallel database management system
WO1998026360A1 (en) System and method for optimizing database queries
JPH09269898A (en) Method and system for improving execution efficiency of executable file
US4964063A (en) System and method for frame and unit-like symbolic access to knowledge represented by conceptual structures
CN101377806A (en) Information flow analysis method based on system source code searching concealed channel
Goguen et al. Software component search
Harris et al. Recognizers for extracting architectural features from source code
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 (en) Indexing means and its system based on Plcient interactive mode engines
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