JPH09245005A - 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法 - Google Patents

分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法

Info

Publication number
JPH09245005A
JPH09245005A JP5166796A JP5166796A JPH09245005A JP H09245005 A JPH09245005 A JP H09245005A JP 5166796 A JP5166796 A JP 5166796A JP 5166796 A JP5166796 A JP 5166796A JP H09245005 A JPH09245005 A JP H09245005A
Authority
JP
Japan
Prior art keywords
duplicate
message
performance
source code
function
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
JP5166796A
Other languages
English (en)
Inventor
Mitsuharu Takemoto
充治 武本
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP5166796A priority Critical patent/JPH09245005A/ja
Publication of JPH09245005A publication Critical patent/JPH09245005A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 分散システムにおけるオブジェクトを高機能
化する方法及びそのためのソースコードの自動生成方法
を提供する。 【解決手段】 管理オブジェクトが生成され、管理オブ
ジェクトが内部のメソッドを起動する時に、高機能オブ
ジェクトが生成される。高機能オブジェクトの外部に対
する動作は全て管理オブジェクトが、管理オブジェクト
の名前によって行い、高機能オブジェクトが複製オブジ
ェクトの存在と管理を外部に隠蔽する。高機能オブジェ
クトのソースコードを自動的に生成する際、目的機能に
加え、用意された付加機能毎に必要なソースコードの雛
型を適用して付加機能を実現する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大規模なソフトウ
ェアの構築を行う場合に、目的とする機能部分のプログ
ラミングをアプリケーションプログラマが行い、動作の
実体の複製によって実現されている付加機能部分のプロ
グラミングをアプリケーションプログラマが行わなくて
も、本来のプログラミングとは別の指示情報として選択
するだけで、言語処理系により目的機能と必要な付加機
能を実現するソースコードを自動的に生成する方法に関
するものである。
【0002】
【従来の技術】コンピュータシステムの上で動作するア
プリケーションの中には、外部に影響を与える目的とす
る目的機能の他に、そのアプリケーションの動作そのも
のに影響を与える付加機能がある。例としては、耐故障
性能を増加させる高信頼化機構、実行速度を上げるため
の負荷分散機構、通信網遅延を隠蔽するための実行実体
の移動等が挙げられる。これらのうち、高信頼化或いは
動的負荷分散のような機構は、実行実体を複数設けるこ
とによって実現される。
【0003】しかし、目的機能だけに注目すると、その
複製の存在は外部からは観測されない。他の例として
は、数値計算を行う場合に、必要なデータの配置の仕方
により処理を行うプロセスの配置を決定することがあ
る。これは、遠隔のデータを通信網を介してアクセスす
ることを避けるため、処理を行う実行実体であるプロセ
スを移動してしまい、通信網遅延を排除するものであ
る。しかし、計算結果を必要とする外部からは、この実
行実体のプロセスの配置は見える必要はない。
【0004】従来は、目的機能と付加機能との協調をア
プリケーションプログラマが意識してソースコードをプ
ログラムしていた。これは類型的な作業であり、目的機
能の実現のための入出力が決定すれば、ほぼテンプレー
ト的に構築することができた。しかしながら、アプリケ
ーションプログラマが目的機能のソースコードのみを実
装し、付加機能を実現する部分の自動生成を行って全機
能を実現するソースコードを得るということは困難であ
った。つまり、外部に影響を与える動作がプログラム毎
に異なるために、人間の判断によって付加機能を実現し
ていた。
【0005】プログラム開発時に、アプリケーションプ
ログラマが目的機能の実行実体の複製の存在を意識する
ことは、複製間の協調動作を意識してプログラムするこ
とであり、これはプログラムを複雑化させることであ
り、開発コストの増加につながる。また、試験を行う場
合にも、目的機能を実現する部分にプログラム上のミス
があるのか又は複製管理機能を実現する部分にプログラ
ム上のミスがあるのか、いずれかを決定することが困難
であり、これは開発コストだけでなく、保守コストの増
加にもなる。
【0006】また、従来システムでは、こういった付加
機能の複製の存在が外部から観測することができた。こ
の実行時に複製の存在が外部から見えることは、その実
行実体を移動する等の柔軟な取扱いの障害になる。
【0007】これら2つの問題点を解決するためには、
目的機能と付加機能との分離を行うことができればよ
い。この分離のためには、目的機能の実現をベースレベ
ルで行い、付加機能の実現をメタレベルで行うという考
えに基づいたリフレクションをシステムに導入する方法
もある。リフレクションとは、或る動作の実行結果がそ
のシステムそのものの実行方法に反映される動作のこと
である(日本ソフトウェア科学会論文誌「コンピュータ
ソフトウェア」1994年5月号第5-14頁参照)。
【0008】これは、目的機能と付加機能とを分離はし
ているが、アプリケーションプログラマがシステムの動
作をメタレベルで記述することを容認しているため、プ
ログラムの試験及び保守が困難になる。また、特に大規
模システムでは顕著になるが、変更可能な実行環境を構
築するために実行性能も悪くなる。
【0009】
【発明が解決しようとする課題】大規模なシステムで付
加機能を持つ目的機能を柔軟に実現する場合、上記の問
題点は大きな影響を持つ。大規模なシステムではソフト
ウェアの開発コストと保守コストが重要な項目である
が、その他に実行性能も重要な項目になる。
【0010】本発明の目的は、アプリケーションプログ
ラマにとって人手がかかる部分をできる限り少なくする
ことによって開発コストと保守コストを下げ、付加機能
の実現の内部機構を外部に隠蔽することによって実行実
体の柔軟な取扱いを可能にし、また、性能の劣化をでき
る限り小さくするようなソースコードの自動生成を行う
方法を提供することにある。
【0011】
【課題を解決するための手段】本発明の分散システムに
おけるオブジェクトの高機能化方法は、上記の目的を達
成するため、管理オブジェクト(複製オブジェクト(基
本オブジェクト(目的機能だけを実現するオブジェク
ト)と同一機能を実現する1つ又は複数のオブジェク
ト)を管理するオブジェクト)が生成され、管理オブジ
ェクトが内部のメソッドを起動する時に、高機能オブジ
ェクト(目的機能(或るオブジェクトが目的とする機
能)の他に付加機能(目的機能以外にオブジェクトの動
作そのものに対して付加する機能)を実現する動作の仮
想的な単位)が生成され、高機能オブジェクトの外部
(或る機能の外の空間)に対する動作は全て管理オブジ
ェクトが担当し、管理オブジェクトが高機能オブジェク
トのメッセージの出入口となり、高機能オブジェクトへ
のメッセージは管理オブジェクトが受信し、目的機能を
実行している複製オブジェクトが1つの時は、その内容
をその複製オブジェクトに、目的機能を実行している複
製オブジェクトが複数ある時は、その内容を複製してそ
れぞれの複製オブジェクトに、それぞれ送信し、高機能
オブジェクトからのメッセージは、複製オブジェクトの
動作の結果発生した複製オブジェクトからのメッセージ
に宛先のオブジェクトを識別するものを付加したメッセ
ージを管理オブジェクトに送信し、管理オブジェクトは
目的機能を実行している複製オブジェクトが1つの時は
その内容を、目的機能を実行している複製オブジェクト
が複数ある時は、多数決又は先頭採用によって処理して
その結果を、宛先のオブジェクトに送信し、高機能オブ
ジェクトの内部状態は目的機能を実行している複製オブ
ジェクトの内部状態とし、高機能オブジェクトの動作の
結果生じた高機能オブジェクトの内部状態の変化を管理
オブジェクトを経由して他の複製オブジェクトに通知
し、複数の複製オブジェクト間で内部状態を一致させ、
高機能オブジェクトの削除は、目的機能を実行している
複製オブジェクトが、管理オブジェクトに高機能オブジ
ェクトの削除を要求するメッセージを送信し、管理オブ
ジェクトが受信し、管理オブジェクトはその高機能オブ
ジェクトの中に存在する全ての複製オブジェクトを削除
し、それが終了した後に、管理オブジェクトを削除する
ことによって行い、高機能オブジェクトの外部からの識
別を、高機能オブジェクトのメッセージの出入口となる
管理オブジェクトの名前によって行い、高機能オブジェ
クトが複製オブジェクトの存在と管理を外部に隠蔽する
ことを特徴とする。
【0012】機能分割により大規模なシステムのソフト
ウェアを効率よく開発するためには、機構の隠蔽効果に
優れ、システム運用時の保守のコストも低くできるオブ
ジェクト指向に基づくシステムで行うのが適している。
また、オブジェクト指向に基づくシステムでは、機能の
単位であるオブジェクトの間で影響を及ぼすのは基本的
にはメッセージのみであり、メッセージの他に影響を与
えるのは、実行環境に依頼して処理を行う特殊な関数呼
出しの場合である。そのために、オブジェクトの外に影
響を与える動作の解析は容易である。
【0013】本発明においては、このようなオブジェク
ト指向に基づいたシステムで付加機能を構成する機能を
選択肢で用意し、それをアプリケーションプログラマが
必要に応じて選択すれば付加機能が実現できるようなコ
ードの自動生成の機構を提供する。例えば、実行実体が
3以上の奇数n個の複製を持ち、それらの実行結果の多
数決を採ることによって高信頼動作を行うオブジェクト
を高機能オブジェクトとして実現する場合は、選択肢と
して、n個の複製オブジェクトを持つこと、同時に全て
の複製を動作させること、複製の実行結果は多数決を採
ること、n個の複製オブジェクトの内部状態は常に同じ
ものとすること等といった複製管理機構を選択すること
となる。これらの選択肢は、個々の複製管理機能であ
り、これらを組合せることにより、必要とする付加機能
を実現することになる。
【0014】上記の例においても、複製の内部状態は常
に同じとしなくてもよい、という選択肢を選択すること
も可能である。これにより、柔軟な付加機能を実現する
ことができる。選択肢で指定するために、リフレクショ
ンシステムのような不要なオーバーヘッドは発生しな
い。
【0015】本発明においては、目的機能を実現する部
分は、基本オブジェクトのソースコードを引継ぎ、言語
処理系により変更を加えられた複製オブジェクトとして
持つ。また、複製オブジェクトを管理する部分を、基本
オブジェクトのメッセージインタフェースを引継ぎ、追
加した管理オブジェクトとして持つ。これらの自動生成
は、アプリケーションのソースコードからそのオブジェ
クトの外部に対して影響を与える部分の抽出を行い、オ
ブジェクトのそれぞれの動作毎に定められた変換規則に
基づいて雛型として用意されたコードを参照しながら行
われる。このため、アプリケーションプログラマは目的
機能の実装を行い、付加機能を選択するだけで高機能オ
ブジェクトを開発することが可能となり、開発コストと
保守コストとの削減が可能になる。
【0016】この複製オブジェクトと管理オブジェクト
とのソースコードの自動生成は、外部とのインタフェー
スを全て管理オブジェクトとすることで、複製オブジェ
クトの存在を外部に対して隠蔽するように行う。これに
より、アプリケーションプログラマは、高機能オブジェ
クトを基本オブジェクトと同様の1つのオブジェクトで
あるかのように取扱うことが可能となり、オブジェクト
の柔軟な運用を実現する。或る高機能オブジェクトを取
扱う場合には、対応する基本オブジェクトを取扱うのと
同じに行うことができる。付加機能が実現されているか
どうかは関係ない。
【0017】
【発明の実施の形態】本発明により機能を付加され高機
能動作を行うようになったオブジェクトは、外部のオブ
ジェクトからメッセージを通じて観測する限り、内部に
複製オブジェクトを持つことは認識することはできな
い。つまり、外部からは、管理オブジェクトと複製オブ
ジェクトの協調で1つのオブジェクトとして動作してい
るように観測される。このため、分散オブジェクトシス
テムにおける他のオブジェクトと同様に、高機能オブジ
ェクトの配置場所の自由性を維持することができる。ま
た、開発コストの面からも、複製動作実体と管理動作実
体との複雑な協調動作のソースコードをアプリケーショ
ンプログラマが実装する必要がなくなるので、ソースコ
ードの開発コストを下げることができる。これは、大規
模システムで重要になる運用時の保守等も容易になるこ
とにつながる。
【0018】
【実施例】次に、本発明の実施例を図面を用いで詳細に
説明する。 〔高機能オブジェクトの実行時の内部構造〕大規模なシ
ステム開発に適しているオブジェクト指向システムで
は、実行単位はオブジェクトとなる。オブジェクトと
は、或る機能の手続きと取扱うデータとをカプセル化し
たものである。本発明は、高機能オブジェクトの外部へ
の影響は全て管理オブジェクトを窓口として行うもので
ある。図1にその構成を示す。
【0019】外部オブジェクト1が高機能オブジェクト
2と通信をやりとりする場合に、実際は目的機能を実現
しない管理オブジェクト3と通信をしていても、高機能
オブジェクト2と通信しているように観測される。実際
には、目的機能を実現するのは複製オブジェクト4であ
るが、これは外部のオブジェクトからは判別することは
できない。システムによっては、位置透過の分散システ
ムであってもオブジェクトがどこに存在しているかを意
識できる実装もある。このような場合には、外部から
は、管理オブジェクトが存在している場所に高機能オブ
ジェクトが存在しているように観測される。
【0020】〔基本オブジェクトと高機能オブジェクト
のソースコード構造〕オブジェクト指向システムにおい
ては、オブジェクト単位で複製を行うことができる。外
部とのやりとりをメッセージ単位で行い、オブジェクト
間は共有データを持たないため、外部に影響を与えるの
はメッセージ送信若しくは実行環境に依頼する処理の関
数の実行である。前者はメッセージの送信というソース
コード上の記述で他と判別され、後者は特定の関数を呼
出して記述されるため他と区別される。また、外部から
の影響はメッセージの受信である。これもソースコード
上の記述で他と判別される。
【0021】即ち、ソースコード中から変換に必要な部
分の抽出が容易である。抽出した必要な部分の情報に基
づいてコードを変換する。図2は本発明によるコードの
変換の方法を示す図である。基本オブジェクト5にある
メソッド(メソッド名100,101,102 )に管理のためのメ
ソッド(メソッド名110,111 及びメソッド名120,121)
を追加し、基本オブジェクト5にあるインスタンス変数
に管理のためのインスタンス変数を追加したものが、管
理オブジェクト3と複製オブジェクト4である。
【0022】ここで、基本オブジェクト5、管理オブジ
ェクト3及び複製オブジェクト4の中に同じ名前のメソ
ッドが存在する。これらは同じメッセージインタフェー
スを持つが中身は異なっている。それぞれ追加するメソ
ッド又はインスタンス変数は、アプリケーションプログ
ラマにより選択された管理機構によって異なるが、全て
雛型を用意することが可能である。これらの詳細は後に
個々のコード変換について説明する。
【0023】〔外部に影響を与えるオブジェクトの動
作〕次に、本発明のオブジェクトの動作単位毎の変換方
法について詳細に説明する。オブジェクトの動作は、オ
ブジェクトの生成、メッセージの送信、メッセージの受
信、内部状態の変化及びオブジェクトの削除からなる。
基本オブジェクトが実現している目的機能は、高機能オ
ブジェクトにおいては複製オブジェクトが実現する。一
方、管理オブジェクトは複製オブジェクトの管理動作が
主になる。従って、以下の詳細な説明では、基本オブジ
ェクトで実現している目的機能については複製オブジェ
クトにそのまま引継がれており、それ以外についての追
加又は変更すべき点について述べる。
【0024】〔高機能オブジェクトの生成〕オブジェク
トは外部からの要求によって生成されてその動作を始め
る。高機能オブジェクトの生成法をここで説明する。外
部から観測すると、ソースコードの観点からも実行環境
によるオブジェクトの名前の管理の面からも、管理オブ
ジェクトの生成と起動を契機として、高機能オブジェク
トの生成と起動が行われるべきである。そのために、本
発明では高機能オブジェクトの中に存在する複製オブジ
ェクトは管理オブジェクトにより生成される。従って、
複製オブジェクトを生成するコードを管理オブジェクト
に追加することにより、管理オブジェクトが生成後、メ
ソッドを初めて起動してオブジェクトとしての動作を開
始する時に、高機能オブジェクトが生成される。
【0025】オブジェクトの動作は最初に起動されたメ
ソッドの実行により開始する。従って、最初に起動され
るメソッドを決める必要がある。しかし、オブジェクト
指向言語では、一般に、1つのオブジェクトのクラスの
ソースコードから最初に起動されるメソッドを決定する
ことはできない。そのため、各メソッドの先頭に、最初
に起動されたメソッドであるか否かを判別するコードを
追加する。オブジェクトの起動時のインスタンス変数の
最初の値が一般には決定できないために、例えば図3の
フローチャートに示すように、オブジェクトが使用する
メモリー領域へのポインタを用いて、最初に起動された
メソッドであるか否かを判別する。
【0026】図3では、メッセージを受信してメッセー
ジの中の引数の値をメソッドの中の変数にバインドする
(ステップ10)。その後、この変数を使用してメソッド
の中身が実行され(ステップ11)、インスタンス変数が
示すメモリー領域が割当て済みか否かをチェックし(ス
テップ12)、回答がイエスの場合は既に複製オブジェク
トが生成されているので、これにメッセージを転送する
(ステップ13)。ステップ12の回答がノーの場合はその
メソッドの最初の起動であるため、複製オブジェクトを
生成し(ステップ14)、インスタンス変数が示すメモリ
ー領域を割当てた(ステップ15)後、ステップ13に移
る。
【0027】この方式の利点はどのようなオブジェクト
指向言語であっても使用することができるという点の他
に、実行時の実行クロック数のオーバーヘッド数が極め
て少ないことが挙げられる。インスタンス変数の領域が
割当て済みか否かのチェックはCPUが実行する機械語
レベルで数ステップで実現することができる。
【0028】言語仕様により、又はアプリケーションの
構造により、最初に起動されるメソッドが決定している
場合にはこのコードを追加することは不要であり、高機
能オブジェクト生成時のオーバーヘッドの削減の最適化
ができる。
【0029】本発明においては、複製オブジェクトの管
理のために、管理オブジェクトと複製オブジェクトが、
複製オブジェクトを管理するために必要になる変数をイ
ンスタンス変数としてオブジェクト内に持つ(図2参
照)。例えば、管理オブジェクトには、どのような付加
機能を実現する場合にも、管理オブジェクトが生成し管
理する複製オブジェクトのオブジェクト識別子が必須と
なる。また、複製オブジェクトには、複製オブジェクト
を管理する管理オブジェクトの識別子が必須となる。
【0030】複製管理の他の変数は管理機構の方式によ
り種々存在するが、これはアプリケーションプログラマ
が選択する機構毎に一意に決まり、全て雛型を用意して
それから自動生成することができる。例えば、複数の複
製オブジェクトを持つ場合、通常の動作はそれらの内1
つだけにメッセージを送るが、周期的に複製オブジェク
トを切替えることにより負荷分散を行うことができる。
この場合には、管理オブジェクトが現在動作している複
製オブジェクトを示すインスタンス変数を持つ。
【0031】〔高機能オブジェクトからのメッセージ送
信〕高機能オブジェクトも動作上は通常のオブジェクト
と同様にメッセージを送信する。メッセージ送信はオブ
ジェクトの外部に対する影響を及ぼす処理である。これ
に対する変換方法を以下に説明する。
【0032】他のオブジェクトへのメッセージ送信は、
ソースコード上では送信先のオブジェクトを識別するも
の、メッセージ送信の記号、送信先のオブジェクトのメ
ソッドの名前及びメッセージの内容をそれぞれの言語仕
様に従って並べることによって行われる。図4は変換前
及び変換後のメッセージ送信を説明する図である。図の
例では、上段は変換前の場合で、基本オブジェクト50が
クラス(4) のオブジェクト51にメッセージ20を送信す
る。送信先のオブジェクト51のメソッドの名前は131 で
あり、メッセージ20の内容が引数240 である。
【0033】図4の下段のコード変換後では、送信先を
オブジェクト51から管理オブジェクト52に変更し、メッ
セージ送信の記号は変更せず、メソッドの名前131 を、
送信先のオブジェクトのクラス名(4) とメソッドの名前
131 からなるメソッド132 に変更し、メッセージの内容
240 に送信先のオブジェクト51を識別する内容を追加し
て引数241 に変更し、複製オブジェクト53を得る。クラ
ス名(4) とメソッドの名前131 からなるメソッドの名前
132 のメッセージ21としては、管理オブジェクトのソー
スコード上でコンパイラが混乱しないものであればよ
く、単純にテキストで連続するもの(例えば、4_13
2)でもよい。引数241 は引数240 と送信先オブジェク
ト51とを並べることになる。
【0034】管理オブジェクト52は、メソッド名132 の
メソッドを追加する。このメソッド132 には、付加する
機能に応じて、多数決処理、最初のメッセージ採用処理
等を行う複製管理機構260 を含む。この複製管理機構26
0 の動作は、複製オブジェクト管理機構雛型ソースコー
ドから複製オブジェクトと管理オブジェクトとのソース
コードを生成する。管理オブジェクト52は外部へ送信す
べきメッセージの引数240 を複製オブジェクト53からの
メッセージの引数241 の中から得ることができ、送信先
オブジェクト51も複製オブジェクト53からのメッセージ
の引数241 の中から得ることができる。
【0035】〔高機能オブジェクトのメッセージ受信〕
外部のオブジェクトは、高機能オブジェクトの管理オブ
ジェクトを目指してメッセージを送信する。高機能オブ
ジェクト側では、高機能オブジェクトが基本オブジェク
トからメッセージを受信できるように、管理オブジェク
トと複製オブジェクトを生成する必要がある。
【0036】メッセージ受信に関するコード変換の概念
を図5に示す。管理オブジェクト57は基本オブジェクト
56と同じメッセージインタフェースを持つ。それらの各
メソッドの中身は、複製オブジェクト58へのメッセージ
の転送である。詳細は基本オブジェクト56と同じメソッ
ド名136 を持つメソッドの中で、選択肢により指示され
た管理方式によって決まる複製管理機構261 を、複製オ
ブジェクト管理機構雛型ソースコード中から付け加え、
複製オブジェクト58のメソッド名136 のメソッドへのメ
ッセージ送信を行うようになっている。メッセージの内
容は外部のオブジェクト55から送信された内容(引数24
5 )と同じ内容(引数245 )をそのまま複製オブジェク
ト58へ送信する。
【0037】複製オブジェクト58は、基本オブジェクト
56が持つメッセージインタフェースを全て持つ。それら
の各メソッドの中身は基本オブジェクトとほぼ同じであ
る。更に、複製管理のために管理オブジェクトとのやり
とりを行うためのメッセージインタフェースを持つ。異
なる部分は、メッセージ送信、インスタンス変数へのア
クセス及び実行環境に依頼して処理を行う部分のみであ
る。管理オブジェクト57の名前が高機能オブジェクト59
の名前と同一にすることにより、外部のオブジェクト55
は高機能オブジェクト59と通信しているように動作させ
る。
【0038】〔高機能オブジェクトの内部状態変化〕オ
ブジェクトは内部状態を持つ。1つの高機能オブジェク
トの中の複製オブジェクトの間では、同じ内部状態を持
つべきであるという要求があることが考えられる。例え
ば、実行時の動的負荷分散を付加機能として持つ高機能
オブジェクトの中では、目的機能の実行を或る複製オブ
ジェクトから他の複製オブジェクトに委譲する場合、複
製オブジェクト間で内部状態だけを常に同じものを持つ
ようにしておけば、委譲動作のプロセスが簡略化でき
る。内部状態管理動作は以下のとおりである。
【0039】本発明での内部状態管理のコードの実現を
図6に示す。内部状態はインスタンス変数で実現されて
いるため、複製オブジェクト62の中でのインスタンス変
数へのアクセスを契機として、複製管理機構の動作を実
行するように基本オブジェクトのコードを追加し、複製
オブジェクト62のコードを実現する。複製オブジェクト
62の中でインスタンス変数が変更されると、それの値を
管理オブジェクト61に通知する。この通知もオブジェク
ト間の相互作用であるので、管理オブジェクト61のメソ
ッド名141 のメソッドの内容が引数248 のメッセージ26
を介することになる。従って、管理オブジェクト61にも
インスタンス変数に応じたメソッド名141 のメソッドが
必要になる。また、これらの動作は高機能オブジェクト
63の外部からは観測されない。
【0040】本発明では、高機能オブジェクトの内部状
態を維持する方式でも、雛型を用意することにより、複
数の方針から容易に適当な方針を選択することができ
る。例えば、全ての複製オブジェクトから受けた内部状
態の多数決処理を行い、その結果を複製オブジェクトに
通知する方法、内部状態を複製オブジェクト間で一貫性
を維持する必要が出て来た時に初めて通知する方法等が
考えられるが、これらは全て雛型を作成することが可能
であり、それらから自動生成を行うことができる。この
選択は開発者が行うことができるので、付加機能の実装
方法をアプリケーションの開発者が意識することなく取
込むことが可能になる。
【0041】〔高機能オブジェクトの削除〕本発明にお
いて対象としている高機能オブジェクトは、実際はオブ
ジェクトではなく、管理オブジェクトと複数の複製オブ
ジェクトから成り立っている。従って、高機能オブジェ
クトを削除する作業では、管理オブジェクトと複製オブ
ジェクトとの削除が必要になる。オブジェクトの削除は
実装上は後述の実行環境に処理を依頼する場合とメッセ
ージ送信による場合とがある。これらはソースコード上
で検出可能であり、どちらの場合も以下に記載する方法
でオブジェクトの削除のコードを実現することができ
る。
【0042】この動作を実現するコードの生成方法を図
7に示す。複製オブジェクト67は基本オブジェクト65の
処理を基本的に引継いでいるが、オブジェクト削除の部
分だけを管理オブジェクト66のメソッド名146 のメソッ
ドへのメッセージ27の送信に置き換える。このメッセー
ジ27の意味は高機能オブジェクト自身の削除である。更
に複製オブジェクト67には複製オブジェクト67自身を削
除する機構を実装したメソッド名147 のメソッドを追加
する。
【0043】複製オブジェクト67を削除するための動作
として、管理オブジェクト66は、上述の高機能オブジェ
クトの削除の内容を持つメソッド146 の中で、複製オブ
ジェクト67に対し、複製オブジェクト67自身を削除する
ためのメソッド名147 のメソッドにメッセージ28を送信
する。また、その後、管理オブジェクト66自身の削除を
行う。
【0044】〔実行環境に依頼する処理〕上記のメッセ
ージを介する動作の他に、外部に影響を及ぼす方式とし
て、言語によっては関数の形で実行環境に処理を依頼す
る形式を取っているものもある。例えば、オブジェクト
の生成を行う場合、多くの言語ではオブジェクト生成の
プリミティブを用いてオブジェクトを生成している。こ
の場合、ソースコード上にはメッセージを送信する形は
出て来ない。本発明では、これらの高機能オブジェクト
が実行環境に処理を依頼する場合の変換も行うことがで
きる。関数の形で実行環境に処理を依頼する時に、戻り
値がない場合の変換の動作を以下に説明する。
【0045】本発明では仮想的な実行環境オブジェクト
を一時的にコード生成の過程に導入する。そして、実行
環境に依頼する特殊な処理を、実行環境オブジェクトへ
のメッセージ送信の形式に変換し、その後既に述べた他
のオブジェクトへのメッセージ送信の変換法でコードを
得、それを更に最初の変換の逆変換を行う。
【0046】この場合の変換方法を図8に示す。基本オ
ブジェクト70の中のメソッド名150のメソッドで実行環
境に依頼して処理を行う関数300 (引数255 )があるコ
ードを変換する。先ず、この関数300 を仮想実行環境オ
ブジェクト72のメソッド名151 のメソッドへのメッセー
ジ29の引数255 のメッセージ送信に置き換える。この置
き換えた基本オブジェクト71は、外部のオブジェクトに
メッセージ送信を行っているので、それを上述のメッセ
ージ送信の変換法(図4参照)に従って変換し、管理オ
ブジェクト73と複製オブジェクト74からなる高機能オブ
ジェクト75を得る。
【0047】複製オブジェクト74の中にはメソッド名15
0 のメソッドがあり、その中で管理オブジェクト73のメ
ソッド名152 のメソッドに引数256 のメッセージ30の送
信を行っている。この時、メソッド名152 は仮想実行環
境オブジェクト72のクラス(5) とメソッド名151 とを組
合せたものになっている。また、引数256 の内容は、仮
想実行環境オブジェクト72と引数255 とを組合せたもの
になっている。管理オブジェクト73の中にはメソッド名
152 のメソッドが存在し、そのメソッドの中で、仮想実
行環境オブジェクト72のメソッド名151 のメソッドへの
メッセージ31(引数255 )を送信する。
【0048】最後に、仮想実行環境オブジェクト72を逆
変換によって消去する。即ち、管理オブジェクト73のメ
ソッド名152 のメソッドの中のメッセージ送信を実行環
境依頼300 の関数に変換する。これによって得られた管
理オブジェクト76はメソッド名152 のメソッドを持ち、
このメソッドは、複製オブジェクト74のメソッド名150
のメソッドからメッセージ32(引数256 )の送信によっ
て起動される。引数256 の中には引数255 の内容が入っ
ているので、管理オブジェクト76のメソッド名152 のメ
ソッドでの実行環境依頼300 の関数呼出しを実行するこ
とも可能である。引数256 の中には存在しないクラス
(5) の内容も入っているので、引数256 から引数255 に
置き換える処理を行う。
【0049】関数の形で実行環境に処理を依頼する時に
戻り値がある場合は、仮想実行環境オブジェクト72から
基本オブジェクト71へのメッセージ送信があるように変
換することにより、同様に変換することができる。例え
ば、他のオブジェクトの生成の場合、本発明によれば、
外部から見て高機能オブジェクトが存在しているように
観測される場所、即ち管理オブジェクトが存在している
場所に、新しいオブジェクトを生成することが可能にな
る。このコード生成法を採用しなければ、実行実体は複
製オブジェクトであるので、複製オブジェクトが存在し
ている場所に新しいオブジェクトを生成することにな
る。実行効率のために、オブジェクトが存在する位置を
指定したいアプリケーションの場合に有効な手段であ
る。
【0050】〔高機能オブジェクトの実行時のメッセー
ジと管理オブジェクト及び複製オブジェクトの動作〕図
9乃至図14に高機能オブジェクトの動作を示す。図9
は、高機能オブジェクト生成の場合の動作である。管理
オブジェクト3が生成され、次いで最初のメッセージ35
を受信すると、それを契機に複製オブジェクト4を生成
する。これにより高機能オブジェクトが生成されたこと
になる。その後メッセージ35のコピーを複製オブジェク
ト4に送信する。動作させる複製オブジェクトが1つと
指示された場合は、1つの複製オブジェクトを指定し、
それに対してメッセージを送信する。
【0051】図10はメッセージ受信の場合の動作であ
る。管理オブジェクト3が受信したメッセージ36は管理
オブジェクト3でコピーされ、目的機能の実行実体であ
る複製オブジェクト4に転送される。動作させる複製オ
ブジェクトが1つと指示された場合は、1つの複製オブ
ジェクトを指定し、それに対してメッセージを送信す
る。
【0052】図11はメッセージ送信の場合の動作であ
る。複製オブジェクト4が目的機能を実行した結果、外
部にメッセージを送信する場合は常に管理オブジェクト
3を経由する。複製オブジェクトが複数存在する時は、
管理オブジェクト3は各複製オブジェクトから受け取っ
たメッセージ37及び38に対して処理及び管理を行い、外
部メッセージ39として送信する。ここでの管理方式の例
としては、メッセージの多数決を取ること、最も早かっ
たメッセージを送信すること等があり、これらの選択は
付加機能毎に異なり、その指定はアプリケーションプロ
グラマが行う。目的機能動作を行う複製オブジェクトが
1つの場合は、このメッセージ37と38の処理が不要にな
るので、単純な構造になる。
【0053】図12は内部状態が変化する場合の動作で
ある。オブジェクトの中では、内部状態はインスタンス
変数で実現されている。そのインスタンス変数の変更を
契機として、複製オブジェクト4は管理オブジェクト3
に、内部状態管理のメッセージ40又は41を送信する。こ
のタイミングも選択肢が多く考えられるが、それらは全
て雛型を作成することができ、それに従って自動生成を
行うことができる。選択肢の例としては、ソースコード
上でインスタンス変数への代入の直後に内部状態管理の
メッセージを送信するコードを挿入するもの、各メソッ
ドの終了時にそのメソッドの中で変更された可能性のあ
るインスタンス変数に関する内部状態の管理のメッセー
ジを送信するコードを挿入するもの等、いくつかの種類
が考えられるが、それらも全て雛型を作成することがで
きる。
【0054】図13は高機能オブジェクトが削除される
場合の動作である。高機能オブジェクトは複製オブジェ
クト4と管理オブジェクト3とから成り立っているた
め、これを削除する場合の処理は複雑である。複製オブ
ジェクト4が目的機能の実行の結果自身を削除する場合
は、管理オブジェクト3に対して高機能オブジェクト削
除のメッセージ42を送信する。管理オブジェクト3は全
ての複製オブジェクト4に複製オブジェクト自身の削除
を行うメソッドに削除動作の実行を要求するメッセージ
43を送信し、その後管理オブジェクト3自身を削除す
る。この一連の動作はメッセージの往復があること等に
より、他の動作と比較すると実行時のコストが大きい。
しかし、オブジェクトを削除する時に一度だけ実行され
るものであるため、メッセージが氾濫するようなことに
はならない。
【0055】実行環境に依頼して行う処理の動作の例と
して、他のオブジェクトを生成する動作を図14に示
す。複製オブジェクト4が目的機能の実行の結果他のオ
ブジェクトを生成する場合は、他のオブジェクトの生成
の要求メッセージ44又は45を管理オブジェクト3に送信
する。管理オブジェクト3はそのメッセージを管理し、
その後管理オブジェクトの権限で新しいオブジェクト3'
を生成する。これにより、外部から見て、管理オブジェ
クトが存在している場所に高機能オブジェクトが存在し
ているように見えるという性質を壊すことなく、新しい
オブジェクトを生成することができる。即ち、仮に、ア
プリケーションプログラマが、実行しているオブジェク
トの位置に関する場所に新しいオブジェクトを生成する
ようにソースコードを実装していても、その要求にも応
えられる点が本発明の特長である。このコードを得るた
めには図8に示した方式を用いることができる。
【0056】〔高機能オブジェクトの例〕高機能オブジ
ェクトの例として、図15に、3個の複製オブジェクト
(81、82、83)を持ち、そのうち1個(図では81)に対
して動作を行い、他の2個を予備として使用して全体と
して高信頼性の動作を実現している例を示す。高機能オ
ブジェクト84が外部のオブジェクト85と通信する場合に
は、基本オブジェクト86が外部のオブジェクト85と通信
する場合と区別できないようにする。即ち、高機能オブ
ジェクト84の名前と基本オブジェクトの名前とを同一に
し、メッセージの内容である引数を同一にすればよい。
【0057】この動作のために、動作中の複製オブジェ
クト81から管理オブジェクト80へメッセージ47を送信す
る時のメッセージの内容である引数は、メッセージ46の
内容と宛先オブジェクト85を識別するものから成ってい
る。しかし、内部にこのメッセージの変換があることは
外部からは観測されない。従って、高機能化(ここでは
高信頼化)を行っても外部からは区別が付かない。目的
機能の実装を行い、付加機能である高機能化のための複
製オブジェクトの個数、内部状態の管理の方法等の必要
事項を指定するだけでこのためのソースコードを実現で
きる。
【0058】高機能オブジェクトの他の例として、図1
6に付加機能として動的負荷分散を持つ高機能オブジェ
クト94を示す。管理オブジェクト90が3つの複製オブジ
ェクト91、92、93を管理している。複製オブジェクト91
が外部オブジェクト1からのメッセージ48を受けて目的
機能を実行している場合、待機状態の複製オブジェクト
92及び93は、常に管理オブジェクト90から送られた複製
オブジェクト91の内部状態のコピーを持っている。
【0059】複製オブジェクト91を実行しているCPU
の負荷が高まって処理が遅くなることが見込まれると、
管理オブジェクト90は複製オブジェクト91から92への目
的機能動作の委譲を要求する。この時に、管理オブジェ
クト90は現在目的機能を実行している複製オブジェクト
を識別する値を複製オブジェクト91から複製オブジェク
ト92に変更することにより、以降の外部オブジェクト1
からのメッセージ48が複製オブジェクト91ではなく複製
オブジェクト92に送信されるようにするだけで、目的機
能を実現している複製オブジェクトの切替え49ができ
る。本発明においては、1つの複製オブジェクトの内部
状態を常に複製オブジェクト間でコピーを共有すること
も、管理オブジェクトにコピーを保存することも、選択
肢から適当な機構を選択するだけで実現できる。
【0060】
【発明の効果】本発明によれば、アプリケーションプロ
グラマが、目的機能を実現するソースコードを開発し、
付加機能を選択すれば自動的にその付加機能を実現する
コードを組み込んだ目的機能を実現するソースコードを
得ることができる。即ち、プログラマは、開発時に目的
機能だけのプログラム実装を行えばよく、これにより、
ソースコードの可読性が上がり、大規模システムの設
計、デバグ、保守等が極めて容易になる。これは、機能
を目的機能と付加機能とに分離していることによる。付
加機能のプログラム実装を行うのはコンパイラ開発者等
の開発システム開発者であり、目的機能のプログラム実
装を行うのはアプリケーションプログラマである。ま
た、機構を選択式にしているために、適切な機構をアプ
リケーションプログラマが指定することができる。これ
により、アプリケーションプログラマが不要なオーバー
ヘッドを削減することもできる。
【0061】本発明によれば、更に、内部に複製がある
ことを外から隠蔽できるソースコードを実現しているた
め、高機能オブジェクトは、機能実行時に基本オブジェ
クトと同様に位置分散透過性を維持している。これによ
り、分散システムにおいて他のオブジェクトとの組合せ
を容易に行うことができる。即ち、分散透過性を損ねる
ことなく、オブジェクトに付加機能を追加することがで
きる。高機能オブジェクトを外から見ると、生成時には
管理オブジェクトの生成だけで良く、分散システムにお
ける名前の登録も管理オブジェクトだけについて行えば
充分なので、開発コストを低くすることができる。
【0062】本発明によれば、更に、管理オブジェクト
と複製オブジェクトから高機能オブジェクトが構成され
ているために、基本オブジェクトを高機能オブジェクト
に置き換えれば、実行時には総メッセージ数は増加す
る。しかし、外部からのメッセージは全て管理オブジェ
クト宛に送信される。それを外部から観測できない高機
能オブジェクト内部で処理を行い、付加機能を実現して
いる。付加機能の実現に必要なメッセージは高機能オブ
ジェクトの外には出ないために、不要なメッセージの氾
濫等は発生しない。
【図面の簡単な説明】
【図1】本発明による高機能オブジェクトの構成を示す
図である。
【図2】本発明によるコード変換の概念図である。
【図3】複製オブジェクトの生成が完了しているか否か
をチェックする方法の一例のフローチャートである。
【図4】本発明によるメッセージ送信のコード変換を示
す図である。
【図5】本発明によるメッセージ受信のコード変換を示
す図である。
【図6】本発明によるオブジェクトの内部状態を維持す
るためのコード変換を示す図である。
【図7】本発明によるオブジェクトの削除のためのコー
ド変換を示す図である。
【図8】本発明による実行環境に依頼して他のオブジェ
クトに影響を及ぼす処理を行うためのコード変換を示す
図である。
【図9】本発明による高機能オブジェクトを生成する動
作の例を示す図である。
【図10】本発明による高機能オブジェクトのメッセー
ジ受信の動作の例を示す図である。
【図11】本発明による高機能オブジェクトのメッセー
ジ送信の動作の例を示す図である。
【図12】本発明による高機能オブジェクトの内部状態
管理操作の動作の例を示す図である。
【図13】本発明による高機能オブジェクトの削除の動
作を示す図である。
【図14】本発明による高機能オブジェクトの他のオブ
ジェクトの生成の動作を示す図である。
【図15】本発明による高機能化の例として高信頼化を
説明する図である。
【図16】本発明による高機能化の例として動的負荷分
散を説明する図である。
【符号の説明】
1、55、85 外部オブジェクト 2、54、59、63、68、75、77、84、94
高機能オブジェクト 3、52、57、61、66、73、76、80、90
管理オブジェクト 4、53、58、62、67、74、81〜83、91
〜93 複製オブジェクト 5、50、56、60、65、70、71、86 基本
オブジェクト 10〜15 フローチャートの各ステップ 20〜48 メッセージ 49 切替え 51 送信先オブジェクト 72 仮想実行環境オブジェクト 100、101、102、110、111、120、1
21、130、131、132、135、136、14
0、141、145、146、147、150、15
1、152 メソッド 260、261 複製管理機構 300 関数

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 実行機能単位であるオブジェクトの協調
    により全体として目的とする動作を実現する分散システ
    ムにおけるオブジェクトの高機能化方法において、 管理オブジェクトが生成され、管理オブジェクトが内部
    のメソッドを最初に起動する時に、高機能オブジェクト
    が生成され、 高機能オブジェクトの外部に対する動作は全て管理オブ
    ジェクトが担当し、 管理オブジェクトが高機能オブジェクトのメッセージの
    出入口となり、 高機能オブジェクトへのメッセージは管理オブジェクト
    が受信し、目的機能を実行している複製オブジェクトが
    1つの時は、その内容をその複製オブジェクトに、目的
    機能を実行している複製オブジェクトが複数ある時は、
    その内容を複製してそれぞれの複製オブジェクトに、そ
    れぞれ送信し、 高機能オブジェクトからのメッセージは、複製オブジェ
    クトの動作の結果発生した複製オブジェクトからのメッ
    セージに宛先のオブジェクトを識別するものを付加した
    メッセージを管理オブジェクトに送信し、管理オブジェ
    クトは目的機能を実行している複製オブジェクトが1つ
    の時はその内容を、目的機能を実行している複製オブジ
    ェクトが複数ある時は、多数決又は先頭採用によって処
    理してその結果を、宛先のオブジェクトに送信し、 高機能オブジェクトの内部状態は目的機能を実行してい
    る複製オブジェクトの内部状態とし、高機能オブジェク
    トの動作の結果生じた高機能オブジェクトの内部状態の
    変化を管理オブジェクトを経由して他の複製オブジェク
    トに通知し、複数の複製オブジェクト間で内部状態を一
    致させ、 高機能オブジェクトの削除は、目的機能を実行している
    複製オブジェクトが、管理オブジェクトに高機能オブジ
    ェクトの削除を要求するメッセージを送信し、管理オブ
    ジェクトが受信し、管理オブジェクトはその高機能オブ
    ジェクトの中に存在する全ての複製オブジェクトを削除
    し、それが終了した後に、管理オブジェクトを削除する
    ことによって行い、 高機能オブジェクトの外部からの識別を、高機能オブジ
    ェクトのメッセージの出入口となる管理オブジェクトの
    名前によって行い、高機能オブジェクトが複製オブジェ
    クトの存在と管理を外部に隠蔽することを特徴とする分
    散システムにおけるオブジェクトの高機能化方法。
  2. 【請求項2】 請求項1に記載の高機能オブジェクトの
    ソースコードを自動的に生成する方法において、 付加機能毎に必要なソースコードの雛型を用意し、 アプリケーションプログラマによって記述された目的機
    能の基本オブジェクトのソースコードと、基本オブジェ
    クトのソースコード内の指示情報に従い、 或るオブジェクトがその外部と相互作用を行う動作であ
    る、オブジェクトの生成、メッセージの送信、メッセー
    ジの受信、オブジェクトの削除、又は、実行環境に依頼
    する処理のいずれであるかを、言語処理系が判断し、 言語処理系が、その判断結果をソースコードの雛型に適
    用することにより、付加機能として、基本オブジェクト
    のソースコードに追加及び変更を加え、目的機能と付加
    機能を実現する複製オブジェクト及び管理オブジェクト
    のソースコードを生成することを特徴とするソースコー
    ド自動生成方法。
  3. 【請求項3】 実行されるオブジェクトの存在している
    場所が性能に影響を与えるアプリケーションに対して、
    請求項1に記載の高機能オブジェクトのソースコードを
    自動的に生成する方法において、 基本オブジェクトの中で実行環境に依頼して処理を行う
    関数を呼出すためのソースコードの部分を言語処理系に
    よってメッセージ送信の形に自動変換し、請求項2に記
    載の方法により付加機能を実現する変換を施した後、 言語処理系により関数呼出しの形に自動変換することに
    より、 基本オブジェクトのソースコードと基本オブジェクトの
    ソースコード内の指示情報から、言語処理系により付加
    機能を実現する複製オブジェクト及び管理オブジェクト
    のソースコードを生成することを特徴とするソースコー
    ド自動生成方法。
JP5166796A 1996-03-08 1996-03-08 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法 Pending JPH09245005A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5166796A JPH09245005A (ja) 1996-03-08 1996-03-08 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5166796A JPH09245005A (ja) 1996-03-08 1996-03-08 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法

Publications (1)

Publication Number Publication Date
JPH09245005A true JPH09245005A (ja) 1997-09-19

Family

ID=12893243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5166796A Pending JPH09245005A (ja) 1996-03-08 1996-03-08 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法

Country Status (1)

Country Link
JP (1) JPH09245005A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249987A (ja) * 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
US6654799B1 (en) 1998-05-27 2003-11-25 Nec Corporation Network management system uses managed object instances which are hierarchically organized in inclusion relation for recursively creating processing object and recuresively returning information

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11249987A (ja) * 1998-03-05 1999-09-17 Nec Corp メッセージ処理装置およびその方法ならびにメッセージ処理制御プログラムを格納した記憶媒体
US6654799B1 (en) 1998-05-27 2003-11-25 Nec Corporation Network management system uses managed object instances which are hierarchically organized in inclusion relation for recursively creating processing object and recuresively returning information
US6895435B2 (en) 1998-05-27 2005-05-17 Nec Corporation Network management system creating managed object instances which are hierarchically organized in inclusion relation for recursively creating processing object and recuresively returning information

Similar Documents

Publication Publication Date Title
Popek et al. The LOCUS distributed system architecture
JP2779587B2 (ja) コンピュータシステムに用いる名前スペースの一部分を別の名前スペースの一部分として利用可能にするための装置及びその方法
EP0475600B1 (en) System and method for communication between windowing environments
JP2724256B2 (ja) コンピュータシステム
US5475817A (en) Object oriented distributed computing system processing request to other object model with code mapping by object managers located by manager of object managers
US5014192A (en) System for locating a file in a logical ring by sequentially forwarding access request with file system name and file name
Presotto et al. Plan 9, a distributed system
JPH08339355A (ja) 分散形システムでの処理タスク実行呼び出し方法及び装置
WO1994010628A1 (en) Data processing system and operating system
JP4005739B2 (ja) エージェントシステム、情報処理方法及び情報処理用ソフトウェアを記録した記録媒体
JPH09245005A (ja) 分散システムにおけるオブジェクトの高機能化方法及びソースコード自動生成方法
Millstein The national software works: a distributed processing system
O'Grady Flexible data sharing in a groupware toolkit.
JPH09160847A (ja) クライアント・サーバ型分散処理システム
JP4060890B2 (ja) 階層化ドライバ入出力システム内の複数ドライバによる入出力要求の再処理を可能にするファイル・システム・プリミティブ
JPH08297573A (ja) オブジェクトデータ処理装置
Boule et al. Chorus distributed operating systems
JPH0922348A (ja) プログラム作成方法およびプログラム管理方法
JP3496800B2 (ja) オブジェクトの高機能化方法およびその処理プログラムを記録した記録媒体
US6032176A (en) Data-independent type computer system: processing machine, data machine and man-machine interface therein
JPH1196054A (ja) データベース統合アプリケーション構築システム
Caceres Process Control in a Distributed Berkeley UNIX Environment
King The HELIOS Distributed Operating System
KR100482316B1 (ko) 운영체제상에서의콘솔서버방법및장치
Armand et al. Chorus Distributed Operating Systems