JPH02231638A - オブジエクト指向データベース管理システムにおけるメツセージ処理方法 - Google Patents

オブジエクト指向データベース管理システムにおけるメツセージ処理方法

Info

Publication number
JPH02231638A
JPH02231638A JP1051943A JP5194389A JPH02231638A JP H02231638 A JPH02231638 A JP H02231638A JP 1051943 A JP1051943 A JP 1051943A JP 5194389 A JP5194389 A JP 5194389A JP H02231638 A JPH02231638 A JP H02231638A
Authority
JP
Japan
Prior art keywords
message
class
time
messages
message 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
JP1051943A
Other languages
English (en)
Inventor
Yoichi Yamamoto
洋一 山本
Miyoko Namioka
浪岡 美予子
Kazuhiro Sato
和洋 佐藤
Keiji Mogi
茂木 啓次
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Ltd
Hitachi Microcomputer Engineering 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 Hitachi Ltd, Hitachi Microcomputer Engineering Ltd filed Critical Hitachi Ltd
Priority to JP1051943A priority Critical patent/JPH02231638A/ja
Publication of JPH02231638A publication Critical patent/JPH02231638A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,オブジェクト指向データベース管理システム
のメッセージ処理方法に係わり、特にメツセージ処理の
高速化に関する. 〔発明が解決しようとする課題〕 プログラミング言語の世界では、スモールトーク8 0
 (Smalltalk − 8 0 )に代表される
ような,データの型を持たず実行時にメッセージと、そ
れを処理するメソッドの対応付けを行う処理と、C++
に代表されるようなデータの型を持ち,データの整合性
をコンパイル時にチェックし、メッセージとメソッドの
対応付けを決め、実行時の負荷を軽くする処理の2つが
ある.前者の方法であると、実行時に対応付けが行われ
るためオブジェクトに対する変更が後者よりも柔軟に行
えるという利点がある.前老の方式をレートパインデイ
ング(late binding) .後者の方式をア
ーリーバインデイング(early binding)
と呼ぶ.データベースについて考えると,データの整合
性を保つうえでデータの型のチェックは、必須である.
もし,late binding方式を行う場合、実行
時に全てこのチェックを行わなければならない.これは
,実行時負荷を増大させる原因となる.もし. ear
ly binding方式を行う場合、データの型チェ
ックなどは,大部分コンパイル時に行うことができ,実
行時の負荷は軽くできる.この場合、コンパイル時には
,全ての情報が確定していなければならない.ところが
,従来のスキーマ情報にあたるクラスは,作成された後
にも変更される可能性がある.その場合、メッセージが
正しく処理される保証は無くなってしまう. 〔課題を解決するための手段〕 本発明においては上記問題点を解決するために、ear
ly bindingとlate bindingを併
用し、状況に応じて、それを切り替えて使用する.その
ために、(1)それぞれのメッセージに対して、コンパ
イル時にearly binding とlate b
indingの両者を用意する,1 early bi
ndingの場合、データの型チェックなどをコンパイ
ル時に行う. (2)それぞれのメッセージには,それを発行したオブ
ジェクトのクラスがコンパイルされた時刻、それぞれの
メソッドを含んだクラスには,それがコンパイルされた
時刻を付加する. (3)メッセージが送信された時点でメッセージ中のコ
ンパイル時刻とそれに対応するメソッドを含むクラスの
コンパイル時刻を比較し、メッセージのコンパイル時刻
が新しいなら実行時負荷の軽いearly bind1
ngで直接メソッドを実行する,そうでないなら,メッ
セージを動的に解析し、型チェックなどを行なった後、
メソッドを実行する. 〔作用〕 メッセージを両者のbinding方式に対応できるよ
うに用意することで、できるかぎり負荷の軽いearl
y bindintlを用いて処理速度を向上させ,ま
たクラスの変更時にはlate bindingを適用
し,変更に柔軟に対応できるようになり,それらの切り
替えをシステムが自動的に行うため,ユーザに対して負
担にならない. 〔実施例〕 ・以下第1図〜第4図に示す実施例により、本発明の要
旨を具体的に説明する. 第1図け、本発明の一実施例のシステムのブロツク図で
ある, 従来のスキーマ定義にあたるクラス定義は、クラス定義
部11で行わ九、それがクラスコンパイラl2により解
析され.オブジェクト管理部13に格納される.データ
の追加・更新・削除などの操作はメッセージ処理部l4
を通じて,システムに存在するオブジェクトに対してメ
ッセージを発行することで行われる. 第2図は,クラスコンパイラが出力するクラス情報の一
例である.クラスコンパイラは、latabindin
g処理のために必要な,メソッド名,その引数の型チェ
ックのための情報、そのメソッドの実行コードの情報を
クラスに持たせる.また、このクラスがコンパイルされ
た時刻を持たせる.第3図は,オブジェクト間で送信さ
れるメッセージの一般形式の一例である.メッセージ名
には、発行されたメッセージの名称が入れられ.メッセ
ージコンパイル時刻は,このメッセージを発行したオブ
ジェクトのクラスがコンパイルされた時刻が入れられる
.メッセージがearly bindingされている
場合,それを示す旨の情報と、このメッセージを処理す
るメソッドが、メッセージを受けるオブジェクトのクラ
スの何番目のメソッドであるかの情報がメソッドへのポ
インタの位置情報として入れられる.また,このメッセ
ージの引数も入れられる. 第4図は,メッセージ処理の概要を表すフローチャート
である.まず,メッセージが発行されると,それを受け
取るオブジェクトが特定される(20).メッセージの
中身を調べて、それがearly bindingされ
ているかどうか判定する(21).early bin
dingされていたらその正当性を判定するために、そ
のメッセージを受け取るオブジェクトのクラスのコンパ
イル時刻とメッセージ中のコンパイル時刻を比較する(
22.23).メッセージのコンパイル時刻がクラスの
コンパイル時刻より新しいならそのearly bin
dingを正当と見なし,メッセージ中のメソッドへの
ポインタの位置情報を用いてメソッドへのポインタを特
定し、それが指すメソッドのコードを実行する(24)
.メッセージのコンパイル時刻がクラスのコンパイル時
刻より古いなら、クラスが変更されたのでearly 
binding を不正とみなし、late bind
ingに切り替える(25). early bindingが、始めから作成されてい
ない場合は、late bindingの処理を行う.
まず、メッセージ中のメッセージ名と一致するメソッド
名をクラスから選択する(25).そのメソッドに対応
する型チェック情報を用いてメッセージの引数のチェッ
クを行う(26.27).チェック結果が不正であるな
ら、メッセージをエラー(28)とする.チェック結果
が正常であるなら,そのメッセージに対応するメソッド
へのポインタからメソッドのコードを得,それを実行す
る(29).不正となったsarly binding
メッセージを持つオブジェクトに対しては、そのクラス
を再度コンパイルすることによってearly bin
dingを正常にすることができる. 【発明の効果〕 以上説明のように本発明によって、earlybind
ingを使用することにより,実行時のメソッドの選択
,データの型チェックなどをコンパイル時に行い,実行
時の負荷を軽減し,メッセージ処理を高速化することが
できる.また,クラスの変更などでearly bin
dingが使用できなくなる場合でも1Bto bin
dingによってメッセージ処理は正常に行われるため
オブジェクト指向の特徴である柔軟性を損なうことがな
い.
【図面の簡単な説明】
第1図は、本発明の一実施例のシステムのブロック図,
第2図は、クラスコンパイラが出力するクラス情報の一
例を示す説明図、第3図は、オブジェクト間で送られる
メッセージの一般形式の一例を示す説明図、第4wIは
本発明の実施例における処理フロー図である. 第1図 メッセージ jlr2図 w4図

Claims (1)

  1. 【特許請求の範囲】 1、データベース管理システムにおけるスキーマ定義に
    相当するクラス定義部と、クラス定義を内部形式に変換
    するクラスコンパイラと、クラス定義に従つて従来のデ
    ータベースのデータに相当するオブジェクトを蓄積管理
    するオブジェクト管理部と、該オブジェクトに対する操
    作要求をメッセージとして受け取り、該メッセージに対
    応したクラス定義内のメソッドの実行によりデータ操作
    を実行するメッセージ管理部からなるオブジェクト指向
    データベース管理システムにおいて、クラスがコンパイ
    ルされた時刻をクラスに持ち、メッセージを発行する際
    にこの時刻をメッセージに設定し、メッセージをうけた
    オブジェクトは自分のクラスのコンパイル時刻と該メッ
    セージの持つ時刻とを比較することによつて、該メッセ
    ージの正当性の判定を行うことを特徴とするメッセージ
    処理方法。 2、請求項第1項記載のオブジェクト指向データベース
    管理システムにおいて、コンパイル時のデータ整合性チ
    ェック済みのコードと、実行時にメッセージを解釈しデ
    ータ整合性をチェックするために必要な情報を有するコ
    ードの両者を含むメッセージを出力するクラスコンパイ
    ラと、実行時にメッセージを解析しデータの整合性をチ
    ェックする機能を有するメッセージ処理部からなり、実
    行時にメッセージが正当であると判定されると、メソッ
    ドのコードを直接実行し、メッセージが不正と判定され
    た場合、メッセージを解析しデータの整合性をチェック
    した後にメソッドを実行することを特徴とするメッセー
    ジ処理方式。
JP1051943A 1989-03-06 1989-03-06 オブジエクト指向データベース管理システムにおけるメツセージ処理方法 Pending JPH02231638A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1051943A JPH02231638A (ja) 1989-03-06 1989-03-06 オブジエクト指向データベース管理システムにおけるメツセージ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1051943A JPH02231638A (ja) 1989-03-06 1989-03-06 オブジエクト指向データベース管理システムにおけるメツセージ処理方法

Publications (1)

Publication Number Publication Date
JPH02231638A true JPH02231638A (ja) 1990-09-13

Family

ID=12900954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1051943A Pending JPH02231638A (ja) 1989-03-06 1989-03-06 オブジエクト指向データベース管理システムにおけるメツセージ処理方法

Country Status (1)

Country Link
JP (1) JPH02231638A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04253271A (ja) * 1991-01-29 1992-09-09 Nec Corp 関係データベースシステムにおける表制約方法
US5579518A (en) * 1993-03-19 1996-11-26 Fuji Xerox Co., Ltd. Message compiler for object-oriented language that statically produces object code by provisionally identifying a set of candidate types

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04253271A (ja) * 1991-01-29 1992-09-09 Nec Corp 関係データベースシステムにおける表制約方法
US5579518A (en) * 1993-03-19 1996-11-26 Fuji Xerox Co., Ltd. Message compiler for object-oriented language that statically produces object code by provisionally identifying a set of candidate types

Similar Documents

Publication Publication Date Title
US7571427B2 (en) Methods for comparing versions of a program
EP0648352B1 (en) System and method for dynamic run-time binding of software modules in a computer system
US5287444A (en) Message processing system
US6901579B1 (en) Generation of source code from classes and maintaining the comment that indicates the role of the class in the generated source code
CN107665216B (zh) 一种数据库访问方法及中间件
JPH02272627A (ja) デイジタル・コンピユータ・システムとその手続呼び出し方法
JP2001508909A (ja) バーチャルマシン命令を処理するためのデータ処理装置
US20030028860A1 (en) Compiler and debugging device
JP4638484B2 (ja) データ処理装置におけるデータ整合性
JP2002502516A (ja) 変換後命令を使用する選択的エミュレーションインタープリテーション
US6675377B1 (en) Program conversion apparatus
CA2167306C (en) Multiple entry point method dispatch
US5150474A (en) Method for transferring arguments between object programs by switching address modes according to mode identifying flag
JPH02231638A (ja) オブジエクト指向データベース管理システムにおけるメツセージ処理方法
US6233732B1 (en) Compiling system using intermediate codes to store a plurality of values
US7334221B1 (en) System and method for encoding trace framework enabling in an object file
CN114489683B (zh) 一种类java语言基于JVM的函数式编程语法实现方法
Collavizza Functional semantics of microprocessors at the microprogram level and correspondence with the machine instruction level
CN117251169A (zh) 动态类型语言的提前编译方法、装置、智能汽车及介质
Prywes et al. Reengineering Concurrent Software into Ada,"
JPH0193826A (ja) 高級言語プログラムのダイナミックステップカウント方式
JPH02271430A (ja) プログラム実行装置
INDUSTRIEANLAGEN-BETRIEBSGESELLSCHAFT MBH OTTOBRUNN (GERMANY FR) Ada Compiler Validation Summary Report: Certificate Number: 911028I1. 11229 Telesoft, Telegen2, Ada Development System, for VAX to 1750, Version 3.25, MicroVAX 3800 under VAX/VMS Version V5. 4 (Host) to MIL-STD-1750A ECSPO ITS RAID Simulator, Version 6.0 (Target)
IABG-AVF REPOF A 246 508
JPH05216683A (ja) 非言語依存のファイル化手順自動生成方法