JPH0836486A - 分散プログラム記述支援装置 - Google Patents
分散プログラム記述支援装置Info
- Publication number
- JPH0836486A JPH0836486A JP17386894A JP17386894A JPH0836486A JP H0836486 A JPH0836486 A JP H0836486A JP 17386894 A JP17386894 A JP 17386894A JP 17386894 A JP17386894 A JP 17386894A JP H0836486 A JPH0836486 A JP H0836486A
- Authority
- JP
- Japan
- Prior art keywords
- description
- distributed
- client
- distributed object
- proxy
- 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
- 238000006243 chemical reaction Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 241000347391 Umbrina cirrosa Species 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 ネットワーク結合された計算機上に構築され
たCORBA仕様に準拠した分散オブジェクト環境にお
いて、その環境上で動作する分散オブジェクト、及び分
散オブジェクトを利用するクライアントプログラムの記
述を簡易化する。 【構成】 オブジェクト記述部1はC++言語によって
オブジェクトを記述する。オブジェクト変換プリプロセ
ッサ部2は、オブジェクトの記述から分散オブジェクト
インプリメンテーションの記述や、分散オブジェクトイ
ンタフェース記述や、クライアント用代理オブジェクト
記述などを自動生成させる。
たCORBA仕様に準拠した分散オブジェクト環境にお
いて、その環境上で動作する分散オブジェクト、及び分
散オブジェクトを利用するクライアントプログラムの記
述を簡易化する。 【構成】 オブジェクト記述部1はC++言語によって
オブジェクトを記述する。オブジェクト変換プリプロセ
ッサ部2は、オブジェクトの記述から分散オブジェクト
インプリメンテーションの記述や、分散オブジェクトイ
ンタフェース記述や、クライアント用代理オブジェクト
記述などを自動生成させる。
Description
【0001】
【産業上の利用分野】この発明は分散プログラム記述支
援装置に関し、計算機システムや情報処理システムなど
の中に分散オブジェクト環境を実現し得るものである。
援装置に関し、計算機システムや情報処理システムなど
の中に分散オブジェクト環境を実現し得るものである。
【0002】
【従来の技術】近年、分散システムの研究開発が盛んに
行われている。従来、複数の計算機をネットワーク結合
した分散コンピュータ環境において、データや計算機資
源などをオブジェクトという統一的な形で表現し、各オ
ブジェクト間のメッセージ通信(処理の要求とそれに対
する応答)によって処理を進めていくような環境を、分
散オブジェクト環境と呼んでいる。
行われている。従来、複数の計算機をネットワーク結合
した分散コンピュータ環境において、データや計算機資
源などをオブジェクトという統一的な形で表現し、各オ
ブジェクト間のメッセージ通信(処理の要求とそれに対
する応答)によって処理を進めていくような環境を、分
散オブジェクト環境と呼んでいる。
【0003】また、分散オブジェクトを利用するプログ
ラムのことをクライアントプログラム、又は略してクラ
イアントと呼んでいる。
ラムのことをクライアントプログラム、又は略してクラ
イアントと呼んでいる。
【0004】このような分散オブジェクトを実現する技
術としては、OMG(ObjectManagemen
t Group)が策定したCORBA(Common
Object Request Broker Arc
hitecture)と呼ばれる仕様が標準になりつつ
ある。
術としては、OMG(ObjectManagemen
t Group)が策定したCORBA(Common
Object Request Broker Arc
hitecture)と呼ばれる仕様が標準になりつつ
ある。
【0005】このCORBA仕様では、分散オブジェク
ト環境上でどこかに存在するオブジェクトとの間のメッ
セージ通信を、ORB(Object Request
Broker)と呼ばれる仲介者が配送するものであ
る。
ト環境上でどこかに存在するオブジェクトとの間のメッ
セージ通信を、ORB(Object Request
Broker)と呼ばれる仲介者が配送するものであ
る。
【0006】このORBは自動的に各オブジェクトの位
置を探すもので、ユーザ(又はクライアント)は、各オ
ブジェクトの位置を知らなくてもよく、オブジェクトを
位置透過的に利用できるものである。
置を探すもので、ユーザ(又はクライアント)は、各オ
ブジェクトの位置を知らなくてもよく、オブジェクトを
位置透過的に利用できるものである。
【0007】このようなCORBA仕様を適用して実現
された代表的な分散オブジェクト環境として、ハイパー
デスクコーポレーション社が発表した下記の分散オブジ
ェクト管理ソフトウエア製品がある。
された代表的な分散オブジェクト環境として、ハイパー
デスクコーポレーション社が発表した下記の分散オブジ
ェクト管理ソフトウエア製品がある。
【0008】『The HyperDesk』(登録商
標),『DistributedObject Man
agement System』(登録商標)、A T
echnical Overview。
標),『DistributedObject Man
agement System』(登録商標)、A T
echnical Overview。
【0009】このソフトウエアは、SunOS(サンマ
イクロシステムズ社)や、Windows(マイクロソ
フト社)等のオペレーティングシステム上で使用するこ
とができるものである。
イクロシステムズ社)や、Windows(マイクロソ
フト社)等のオペレーティングシステム上で使用するこ
とができるものである。
【0010】
【発明が解決しようとする課題】上述の従来のCORB
A仕様では、分散オブジェクトを記述する際に2種類の
プログラミング言語を用いる必要がある。先ず第1にI
DL(Interface Definition L
anguage)と呼ばれる言語で分散オブジェクトの
持つ機能、属性などについての外部インタフェースを記
述する。そして、更に、第2として既存のプログラミン
グ言語、例えば、C言語や、C++言語などで分散オブ
ジェクトの持つ機能の、実際の処理内容(インプレメン
テーション)を記述するものである。
A仕様では、分散オブジェクトを記述する際に2種類の
プログラミング言語を用いる必要がある。先ず第1にI
DL(Interface Definition L
anguage)と呼ばれる言語で分散オブジェクトの
持つ機能、属性などについての外部インタフェースを記
述する。そして、更に、第2として既存のプログラミン
グ言語、例えば、C言語や、C++言語などで分散オブ
ジェクトの持つ機能の、実際の処理内容(インプレメン
テーション)を記述するものである。
【0011】また、クライアント側から分散オブジェク
トの機能を呼び出す際には、呼び出しに伴う付帯的な処
理の記述を必要とする。このような従来の技術では、次
のような具体的な問題があった。
トの機能を呼び出す際には、呼び出しに伴う付帯的な処
理の記述を必要とする。このような従来の技術では、次
のような具体的な問題があった。
【0012】(問題点1)先ず、分散オブジェクトを記
述するために、既存のプログラミング言語とIDLとの
2種類の言語を使用するため、分散オブジェクトの記述
が容易ではなく、手間が非常にかかる問題があった。
述するために、既存のプログラミング言語とIDLとの
2種類の言語を使用するため、分散オブジェクトの記述
が容易ではなく、手間が非常にかかる問題があった。
【0013】特に単一の言語環境に慣れているユーザに
とっては、新たにIDLを習得しなければ十分に分散オ
ブジェクトを記述することは困難であった。
とっては、新たにIDLを習得しなければ十分に分散オ
ブジェクトを記述することは困難であった。
【0014】(問題点2)更に、クライアントプログラ
ムの記述において、分散オブジェクトの機能の呼び出し
の際に、呼び出し側の記述はクライアントを記述した既
存のプログラミング言語で行うが、呼び出される分散オ
ブジェクトの外部インタフェースはIDLで記述されて
いるので、何等かの変換が必要となり、クライアントの
記述が面倒になっていた。
ムの記述において、分散オブジェクトの機能の呼び出し
の際に、呼び出し側の記述はクライアントを記述した既
存のプログラミング言語で行うが、呼び出される分散オ
ブジェクトの外部インタフェースはIDLで記述されて
いるので、何等かの変換が必要となり、クライアントの
記述が面倒になっていた。
【0015】また、これに関連するものとして、分散オ
ブジェクトの機能呼び出しに伴って、分散オブジェクト
に渡すパラメータのパッキング等の付帯的な記述が必要
となり、クライアントの記述量が増加するという問題が
あった。
ブジェクトの機能呼び出しに伴って、分散オブジェクト
に渡すパラメータのパッキング等の付帯的な記述が必要
となり、クライアントの記述量が増加するという問題が
あった。
【0016】以上のようなことから、ネットワーク結合
された計算機上に構築されたCORBA仕様に準拠した
分散オブジェクト環境において、その環境上で動作する
分散オブジェクト、及び分散オブジェクトを利用するク
ライアントプログラムの記述を簡易化し得る仕組みの提
供が要請されている。
された計算機上に構築されたCORBA仕様に準拠した
分散オブジェクト環境において、その環境上で動作する
分散オブジェクト、及び分散オブジェクトを利用するク
ライアントプログラムの記述を簡易化し得る仕組みの提
供が要請されている。
【0017】
(1)そこで、この発明は、オブジェクト指向プログラ
ミング言語によるオブジェクト記述から分散オブジェク
ト環境における分散オブジェクト又はクライアントプロ
グラムの記述への支援を行う分散プログラム記述支援装
置において、以上の特徴的な構成とした。
ミング言語によるオブジェクト記述から分散オブジェク
ト環境における分散オブジェクト又はクライアントプロ
グラムの記述への支援を行う分散プログラム記述支援装
置において、以上の特徴的な構成とした。
【0018】つまり、オブジェクト指向プログラミング
言語によるオブジェクトの記述から、分散オブジェクト
の定義に必要な記述を生成するオブジェクト変換手段を
備えて、上述の課題を解決するものである。
言語によるオブジェクトの記述から、分散オブジェクト
の定義に必要な記述を生成するオブジェクト変換手段を
備えて、上述の課題を解決するものである。
【0019】(2)また、上述の(1)の構成におい
て、クライアントプログラムの記述の中で、分散オブジ
ェクトの代理として使用するための代理オブジェクトを
定義し、この代理オブジェクトをクライアントプログラ
ム記述言語と同じプログラミング言語で生成する代理オ
ブジェクト生成手段を備えることが好ましい。
て、クライアントプログラムの記述の中で、分散オブジ
ェクトの代理として使用するための代理オブジェクトを
定義し、この代理オブジェクトをクライアントプログラ
ム記述言語と同じプログラミング言語で生成する代理オ
ブジェクト生成手段を備えることが好ましい。
【0020】(3)更に、上述の(1)又は(2)の構
成において、オブジェクト変換手段は、オブジェクト指
向プログラミング言語によるオブジェクトの記述から構
文解析を行う構文解析手段と、構文解析した結果から、
一旦別の内部表現に変換する内部表現手段と、この内部
表現から分散オブジェクトのインタフェース記述又はイ
ンプレメンテーション記述を生成する生成手段とから構
成することが好ましい。
成において、オブジェクト変換手段は、オブジェクト指
向プログラミング言語によるオブジェクトの記述から構
文解析を行う構文解析手段と、構文解析した結果から、
一旦別の内部表現に変換する内部表現手段と、この内部
表現から分散オブジェクトのインタフェース記述又はイ
ンプレメンテーション記述を生成する生成手段とから構
成することが好ましい。
【0021】(4)更にまた、上述の(2)又は(3)
の構成において、代理オブジェクトを生成する際に、代
理オブジェクトの内部記述の分散オブジェクトの機能呼
び出しを行う部分に、分散オブジェクトの機能を呼び出
す際に必要な付帯的な処理の記述を付加することが好ま
しい。
の構成において、代理オブジェクトを生成する際に、代
理オブジェクトの内部記述の分散オブジェクトの機能呼
び出しを行う部分に、分散オブジェクトの機能を呼び出
す際に必要な付帯的な処理の記述を付加することが好ま
しい。
【0022】
【作用】上述の発明の(1)の構成において、オブジェ
クト指向プログラミング言語によるオブジェクトの記述
は、ユーザが通常の言語(例えば、C言語など)によっ
てなされる。また、分散オブジェクトの定義に必要な記
述とは、例えば、分散オブジェクトインプレメンテーシ
ョン記述や分散オブジェクトインタフェース記述などを
挙げることができる。
クト指向プログラミング言語によるオブジェクトの記述
は、ユーザが通常の言語(例えば、C言語など)によっ
てなされる。また、分散オブジェクトの定義に必要な記
述とは、例えば、分散オブジェクトインプレメンテーシ
ョン記述や分散オブジェクトインタフェース記述などを
挙げることができる。
【0023】そして、このオブジェクト変換手段によっ
て、ユーザは自身でIDLを用いて分散オブジェクトの
外部インタフェースを記述する必要がなくなり、分散オ
ブジェクトを容易に作成することができると考えられ
る。
て、ユーザは自身でIDLを用いて分散オブジェクトの
外部インタフェースを記述する必要がなくなり、分散オ
ブジェクトを容易に作成することができると考えられ
る。
【0024】また、上述の(2)の構成において、この
代理オブジェクトとは、別の言葉でいうと、ユーザ使用
プログラミング言語によるオブジェクトの記述である。
そして、この代理オブジェクトを用いることによって、
クライアントプログラムと分散オブジェクトとが見掛け
上、同じ言語で記述されていることとすることができ
る。更に、分散オブジェクトの機能呼び出しをより自然
な形で記述することができる。
代理オブジェクトとは、別の言葉でいうと、ユーザ使用
プログラミング言語によるオブジェクトの記述である。
そして、この代理オブジェクトを用いることによって、
クライアントプログラムと分散オブジェクトとが見掛け
上、同じ言語で記述されていることとすることができ
る。更に、分散オブジェクトの機能呼び出しをより自然
な形で記述することができる。
【0025】更に、上述の(3)の構成においては、オ
ブジェクト変換手段を構文解析手段と、内部表現手段
と、生成手段とから構成することで、より具体的に実現
を可能とすることができる。
ブジェクト変換手段を構文解析手段と、内部表現手段
と、生成手段とから構成することで、より具体的に実現
を可能とすることができる。
【0026】更にまた、上述の(4)の構成をとること
で、クライアントプログラムからの分散オブジェクトの
機能呼び出しが簡易化され、且つクライアントプログラ
ムの記述量を削減することができると考えられる。
で、クライアントプログラムからの分散オブジェクトの
機能呼び出しが簡易化され、且つクライアントプログラ
ムの記述量を削減することができると考えられる。
【0027】
【実施例】次にこの発明の好適な実施例を図面を用いて
説明する。 『基本的な考え方』: そこで、この実施例では、オ
ブジェクト変換プリプロセッサを導入することによっ
て、分散オブジェクトやクライアントの記述の一部を自
動化したり、それらの記述を簡易化するためのライブラ
リを自動生成するように構成するものである。
説明する。 『基本的な考え方』: そこで、この実施例では、オ
ブジェクト変換プリプロセッサを導入することによっ
て、分散オブジェクトやクライアントの記述の一部を自
動化したり、それらの記述を簡易化するためのライブラ
リを自動生成するように構成するものである。
【0028】具体的には、既存の単一のオブジェクト指
向プログラミング言語によるオブジェクトの記述から、
分散オブジェクトの定義に必要な二つの記述を自動生成
するように構成するものである。
向プログラミング言語によるオブジェクトの記述から、
分散オブジェクトの定義に必要な二つの記述を自動生成
するように構成するものである。
【0029】また、同時にクライアントからの分散オブ
ジェクトの機能呼び出しを簡易化するライブラリを生成
し、ユーザによる分散オブジェクト及びクライアントの
記述における負担を削減できるように構成するものであ
る。
ジェクトの機能呼び出しを簡易化するライブラリを生成
し、ユーザによる分散オブジェクト及びクライアントの
記述における負担を削減できるように構成するものであ
る。
【0030】『基本的な構成』: そこで、この実施
例では、ネットワーク結合された計算機上に構築された
CORBA仕様の分散オブジェクト環境において、CO
RBA仕様の分散オブジェクトと、それを利用するクラ
イアントの記述を簡易化する仕組みとして、『オブジェ
クト変換プリプロセッサ』を用い、且つそれに以下の機
能を備える。
例では、ネットワーク結合された計算機上に構築された
CORBA仕様の分散オブジェクト環境において、CO
RBA仕様の分散オブジェクトと、それを利用するクラ
イアントの記述を簡易化する仕組みとして、『オブジェ
クト変換プリプロセッサ』を用い、且つそれに以下の機
能を備える。
【0031】(a)先ず、単一のオブジェクト指向プロ
グラミング言語によるオブジェクト記述から、CORB
A仕様の分散オブジェクトのインタフェース記述(ID
L)及びインプレメンテーション記述(ユーザ使用言
語)の両者を自動生成する機能を備えるものである。
グラミング言語によるオブジェクト記述から、CORB
A仕様の分散オブジェクトのインタフェース記述(ID
L)及びインプレメンテーション記述(ユーザ使用言
語)の両者を自動生成する機能を備えるものである。
【0032】(b)また、分散オブジェクトと同様の外
部インタフェースを持ち、内部に分散オブジェクトへの
機能呼び出しと、それに伴うパラメータパッキング等の
付帯的な処理の記述を自動的に付加した、ユーザ使用言
語による代理オブジェクトの記述を生成する機能を備え
るものである。
部インタフェースを持ち、内部に分散オブジェクトへの
機能呼び出しと、それに伴うパラメータパッキング等の
付帯的な処理の記述を自動的に付加した、ユーザ使用言
語による代理オブジェクトの記述を生成する機能を備え
るものである。
【0033】以上のような基本的な仕組みで、以下の分
散オブジェクト及ぶクライアントプログラムの記述支援
の仕組みを説明するものである。
散オブジェクト及ぶクライアントプログラムの記述支援
の仕組みを説明するものである。
【0034】『装置の構成』: 図1はこの一実施例
の処理装置の機能構成図である。この図1において、こ
の処理装置は、ユーザが作成するオブジェクトの記述を
行うオブジェクト記述部1と、オブジェクト変換プリプ
ロセッサ部2と、分散オブジェクトインプレメンテーシ
ョン記述部3と、分散オブジェクトインタフェース記述
部4と、クライアント用代理オブジェクト記述部5と、
分散オブジェクト環境登録部6と、クライアント記述部
7とから構成されている。
の処理装置の機能構成図である。この図1において、こ
の処理装置は、ユーザが作成するオブジェクトの記述を
行うオブジェクト記述部1と、オブジェクト変換プリプ
ロセッサ部2と、分散オブジェクトインプレメンテーシ
ョン記述部3と、分散オブジェクトインタフェース記述
部4と、クライアント用代理オブジェクト記述部5と、
分散オブジェクト環境登録部6と、クライアント記述部
7とから構成されている。
【0035】『各部の機能』: 先ず、オブジェクト
記述部1はユーザが例えば、C++等の通常のオブジェ
クト指向プログラミング言語(ユーザ使用言語)によっ
てオブジェクトを記述し、オブジェクト変換プリプロセ
ッサ部2に与えるものである。
記述部1はユーザが例えば、C++等の通常のオブジェ
クト指向プログラミング言語(ユーザ使用言語)によっ
てオブジェクトを記述し、オブジェクト変換プリプロセ
ッサ部2に与えるものである。
【0036】また、オブジェクト変換プリプロセッサ部
2は、分散オブジェクトインプレメンテーション記述部
3と、分散オブジェクトインタフェース記述部4と、ク
ライアント用代理オブジェクト記述部5とに対して自動
生成を促し出力させるものである。
2は、分散オブジェクトインプレメンテーション記述部
3と、分散オブジェクトインタフェース記述部4と、ク
ライアント用代理オブジェクト記述部5とに対して自動
生成を促し出力させるものである。
【0037】つまり、分散オブジェクトインプレメンテ
ーション記述部3は、ユーザが使用しているプログラム
言語によって、分散オブジェクトインプレメンテーショ
ンを記述させ、分散オブジェクト環境登録部6に与え
る。このオブジェクトインプリメンテーションは、サー
バに相当するネットワークの資源で、オブジェクトを実
際に実現するコード及びデータから構成されるものであ
る。
ーション記述部3は、ユーザが使用しているプログラム
言語によって、分散オブジェクトインプレメンテーショ
ンを記述させ、分散オブジェクト環境登録部6に与え
る。このオブジェクトインプリメンテーションは、サー
バに相当するネットワークの資源で、オブジェクトを実
際に実現するコード及びデータから構成されるものであ
る。
【0038】更に、分散オブジェクトインタフェース記
述部4は、IDL(Interface Defini
tion Language)によって、分散オブジェ
クトインタフェースを記述し、分散オブジェクト環境登
録部6に与える。これによって、分散オブジェクト環境
登録部6は、ユーザが通常のオブジェクト指向プログラ
ミング言語によってオブジェクト記述部1で記述したオ
ブジェクトをCORBA仕様の分散オブジェクトとする
ことができるものである。
述部4は、IDL(Interface Defini
tion Language)によって、分散オブジェ
クトインタフェースを記述し、分散オブジェクト環境登
録部6に与える。これによって、分散オブジェクト環境
登録部6は、ユーザが通常のオブジェクト指向プログラ
ミング言語によってオブジェクト記述部1で記述したオ
ブジェクトをCORBA仕様の分散オブジェクトとする
ことができるものである。
【0039】このようにして、『ユーザは自分でIDL
(Interface Definition Lan
guage)を用いて分散オブジェクトの外部インタフ
ェースを記述する必要がなくなり、分散オブジェクトを
容易に作成することができるものである』。
(Interface Definition Lan
guage)を用いて分散オブジェクトの外部インタフ
ェースを記述する必要がなくなり、分散オブジェクトを
容易に作成することができるものである』。
【0040】また、クライアント記述部7では、ユーザ
がオブジェクトを記述したものと同じプログラミング言
語によってクライアントを記述するものである。尚、こ
のときにクライアント用代理オブジェクト記述部5は、
『代理オブジェクト』を記述するものである。
がオブジェクトを記述したものと同じプログラミング言
語によってクライアントを記述するものである。尚、こ
のときにクライアント用代理オブジェクト記述部5は、
『代理オブジェクト』を記述するものである。
【0041】この『代理オブジェクト』とは、ユーザ使
用プログラミング言語によるオブジェクトの記述であ
る。このオブジェクトは、分散オブジェクト環境登録部
6で登録された分散オブジェクトの外部インタフェース
と同様の外部インタフェースを持つものである。
用プログラミング言語によるオブジェクトの記述であ
る。このオブジェクトは、分散オブジェクト環境登録部
6で登録された分散オブジェクトの外部インタフェース
と同様の外部インタフェースを持つものである。
【0042】このクライアントの記述の中では、分散オ
ブジェクトに対する機能呼び出しを記述する代わりに、
このオブジェクトに対する機能呼び出しを記述するもの
である。このように分散オブジェクトの代理として使用
することから、このオブジェクトを『代理オブジェク
ト』と呼ぶものである。
ブジェクトに対する機能呼び出しを記述する代わりに、
このオブジェクトに対する機能呼び出しを記述するもの
である。このように分散オブジェクトの代理として使用
することから、このオブジェクトを『代理オブジェク
ト』と呼ぶものである。
【0043】また、クライアントを作成するユーザの立
場から見れば、元来CORBA仕様では分散オブジェク
トの外部インタフェースはIDL(Interface
Definition Language)で記述さ
れているため、分散オブジェクトの機能呼び出しを記述
する際に、自分がクライアントの記述に用いているプロ
グラミング言語とIDLとの間の変換が必要であった。
場から見れば、元来CORBA仕様では分散オブジェク
トの外部インタフェースはIDL(Interface
Definition Language)で記述さ
れているため、分散オブジェクトの機能呼び出しを記述
する際に、自分がクライアントの記述に用いているプロ
グラミング言語とIDLとの間の変換が必要であった。
【0044】しかしながら、上述の『代理オブジェクト
を用いることによって、クライアントと分散オブジェク
トが見掛け上、同じ言語で記述されていることとなり、
機能呼び出しを、より自然な形で記述することができ
る』ものである。尚、代理オブジェクトの記述は、ライ
ブラリとしてクライアントプログラムに取り込んで使用
することが好ましい。
を用いることによって、クライアントと分散オブジェク
トが見掛け上、同じ言語で記述されていることとなり、
機能呼び出しを、より自然な形で記述することができ
る』ものである。尚、代理オブジェクトの記述は、ライ
ブラリとしてクライアントプログラムに取り込んで使用
することが好ましい。
【0045】更に、クライアントが代理オブジェクトの
持つ各機能を呼び出すと、代理オブジェクトの内部では
その呼び出しを分散オブジェクトへの呼び出しに変換
し、対応する分散オブジェクトの機能を呼び出すもので
ある。
持つ各機能を呼び出すと、代理オブジェクトの内部では
その呼び出しを分散オブジェクトへの呼び出しに変換
し、対応する分散オブジェクトの機能を呼び出すもので
ある。
【0046】この際に通常はクライアントの記述で必要
となる、分散オブジェクトの機能を呼び出す際に必要な
付帯的な処理(パラメータのパッキング等)の記述を、
代理オブジェクトの内部に隠蔽してしまうものである。
となる、分散オブジェクトの機能を呼び出す際に必要な
付帯的な処理(パラメータのパッキング等)の記述を、
代理オブジェクトの内部に隠蔽してしまうものである。
【0047】即ち、オブジェクト変換プリプロセッサ部
2で代理オブジェクトを自動生成する際に、代理オブジ
ェクトの内部記述の、分散オブジェクトの機能呼び出し
を行う部分に、上述の付帯的な処理の記述を自動的に付
加してしまうものである。これによって、『クライアン
トからの分散オブジェクトの機能呼び出しが簡易化さ
れ、且つクライアントの記述量を削減することができ
る』ものである。
2で代理オブジェクトを自動生成する際に、代理オブジ
ェクトの内部記述の、分散オブジェクトの機能呼び出し
を行う部分に、上述の付帯的な処理の記述を自動的に付
加してしまうものである。これによって、『クライアン
トからの分散オブジェクトの機能呼び出しが簡易化さ
れ、且つクライアントの記述量を削減することができ
る』ものである。
【0048】『分散オブジェクトの機能呼び出しの動
作』: また、図2はクライアントからの代理オブジ
ェクトを経由しての分散オブジェクトの機能呼び出しの
動作を表す説明図である。
作』: また、図2はクライアントからの代理オブジ
ェクトを経由しての分散オブジェクトの機能呼び出しの
動作を表す説明図である。
【0049】この図2において、クライアント記述部7
はユーザ使用言語によって、代理オブジェクトの機能呼
び出し(ステップS1)を、クライアント用代理オブジ
ェクト記述部5に対して与える。すると、クライアント
用代理オブジェクト記述部5は、ユーザ使用言語によっ
て付帯的な処理によって、分散オブジェクト機能呼び出
し(S2)を、分散オブジェクト記述部8に対して行
う。これによって、分散オブジェクト記述部8は目的と
する機能(S3)を実現するものである。
はユーザ使用言語によって、代理オブジェクトの機能呼
び出し(ステップS1)を、クライアント用代理オブジ
ェクト記述部5に対して与える。すると、クライアント
用代理オブジェクト記述部5は、ユーザ使用言語によっ
て付帯的な処理によって、分散オブジェクト機能呼び出
し(S2)を、分散オブジェクト記述部8に対して行
う。これによって、分散オブジェクト記述部8は目的と
する機能(S3)を実現するものである。
【0050】『オブジェクト変換プリプロセッサ部2の
構成』: 更に、オブジェクト変換プリプロセッサ部
2を構築する技術は、既存のコンパイラ技術などを利用
して実現することができる。そこで、具体的に説明す
る。図3はオブジェクト変換プリプロセッサ部2の一実
施例の機能構成図である。
構成』: 更に、オブジェクト変換プリプロセッサ部
2を構築する技術は、既存のコンパイラ技術などを利用
して実現することができる。そこで、具体的に説明す
る。図3はオブジェクト変換プリプロセッサ部2の一実
施例の機能構成図である。
【0051】このオブジェクト変換プリプロセッサ部2
は、構文解析部2aと、内部表現部2bと、変換部2c
とから構成されている。
は、構文解析部2aと、内部表現部2bと、変換部2c
とから構成されている。
【0052】先ず、構文解析部2aは、オブジェクト記
述部1からユーザ使用オブジェクト指向プログラミング
言語のソースを入力し、構文解析を行うものである。そ
して、構文解析した結果を内部表現に変換し内部表現部
2bに与えるものである。
述部1からユーザ使用オブジェクト指向プログラミング
言語のソースを入力し、構文解析を行うものである。そ
して、構文解析した結果を内部表現に変換し内部表現部
2bに与えるものである。
【0053】次に、内部表現部2bは、ユーザが記述し
たソースを直接インタフェース/インプリメンテーショ
ン記述に変換するのは効率が悪いため、一旦別の表現に
変換したものである。そして、構文解析部2aで生成
し、オブジェクト変換プリプロセッサ2内にストアした
後、変換部2cで使用するものである。
たソースを直接インタフェース/インプリメンテーショ
ン記述に変換するのは効率が悪いため、一旦別の表現に
変換したものである。そして、構文解析部2aで生成
し、オブジェクト変換プリプロセッサ2内にストアした
後、変換部2cで使用するものである。
【0054】更に、変換部2cは構文解析部2aで生成
した内部表現を用い、目的とするインタフェース/イン
プリメンテーションの記述を生成し、インタフェース記
述部4へIDLによるインタフェース記述を出力する。
更に、インプリメンテーション記述部3に対して例え
ば、C++等の言語によるインプリメンテーション記述
を出力する。更にまた、代理オブジェクト記述部5に対
して例えば、C++言語などによる代理オブジェクト記
述を出力するものである。
した内部表現を用い、目的とするインタフェース/イン
プリメンテーションの記述を生成し、インタフェース記
述部4へIDLによるインタフェース記述を出力する。
更に、インプリメンテーション記述部3に対して例え
ば、C++等の言語によるインプリメンテーション記述
を出力する。更にまた、代理オブジェクト記述部5に対
して例えば、C++言語などによる代理オブジェクト記
述を出力するものである。
【0055】『ハードウエア構成』: 次に上述の分
散オブジェクトの記述支援の仕組みを例えば、ワークス
テーションなどで実現する上での一例のハードウエア構
成図を図4に示している。
散オブジェクトの記述支援の仕組みを例えば、ワークス
テーションなどで実現する上での一例のハードウエア構
成図を図4に示している。
【0056】即ち、CPU41と、RAM42と、RO
M43と、入力部44と、ディスプレイ45と、磁気デ
ィスク装置46と、インタフェース部47とから構成さ
れている。
M43と、入力部44と、ディスプレイ45と、磁気デ
ィスク装置46と、インタフェース部47とから構成さ
れている。
【0057】更に、入力部44には、キーボードやマウ
スなどが接続される。更にまた、インタフェース部47
は外部のネットワークに接続し、結合し得るように構成
されている。
スなどが接続される。更にまた、インタフェース部47
は外部のネットワークに接続し、結合し得るように構成
されている。
【0058】磁気ディスク装置46は基本的なプログラ
ムやデータをRAM42にロードするものである。そし
て、上述の図1で説明したユーザ使用言語によるオブジ
ェクトの記述は入力部44から入力してCPU41から
の制御に従いRAM42で行う。また、磁気ディスク装
置46から入力することもできる。
ムやデータをRAM42にロードするものである。そし
て、上述の図1で説明したユーザ使用言語によるオブジ
ェクトの記述は入力部44から入力してCPU41から
の制御に従いRAM42で行う。また、磁気ディスク装
置46から入力することもできる。
【0059】更に、ユーザ使用言語によるクライアント
記述データの入力は入力部44又は磁気ディスク装置4
6から行うこともできる。ROM43にはオブジェクト
変換プリプロセッサ部2の機能を実現するためのプログ
ラムが記憶されていて、オブジェクト記述のデータがC
PU41の命令によって与えられると、分散オブジェク
トインプリメンテーション記述データや、分散オブジェ
クトインタフェース記述データや、代理オブジェクト記
述データなどを得る。
記述データの入力は入力部44又は磁気ディスク装置4
6から行うこともできる。ROM43にはオブジェクト
変換プリプロセッサ部2の機能を実現するためのプログ
ラムが記憶されていて、オブジェクト記述のデータがC
PU41の命令によって与えられると、分散オブジェク
トインプリメンテーション記述データや、分散オブジェ
クトインタフェース記述データや、代理オブジェクト記
述データなどを得る。
【0060】これらの記述データはRAM42に記憶さ
れると共にディスプレイ45にも出力されるものであ
る。また、磁気ディスク装置46に出力することもでき
る。更に、図1の分散オブジェクト環境登録部6の機能
はCPU41の命令に基づき、RAM42の中に形成す
ることができる。
れると共にディスプレイ45にも出力されるものであ
る。また、磁気ディスク装置46に出力することもでき
る。更に、図1の分散オブジェクト環境登録部6の機能
はCPU41の命令に基づき、RAM42の中に形成す
ることができる。
【0061】以上のようなハードウエア構成を一例とし
て採ることで、上述の分散オブジェクト及びクライアン
トの記述支援の仕組みを実現することができるものであ
る。
て採ることで、上述の分散オブジェクト及びクライアン
トの記述支援の仕組みを実現することができるものであ
る。
【0062】(一実施例の効果): 以上の一実施例
の処理装置によれば、オブジェクト変換プリプロセッサ
2を備えることで、CORBA仕様の分散オブジェクト
とそれを利用するクライアントを記述する際に、分散オ
ブジェクトの記述が単一言語によって可能になるため、
二つの言語を使用する従来の方法よりも分散オブジェク
トを簡単に作成することができる。
の処理装置によれば、オブジェクト変換プリプロセッサ
2を備えることで、CORBA仕様の分散オブジェクト
とそれを利用するクライアントを記述する際に、分散オ
ブジェクトの記述が単一言語によって可能になるため、
二つの言語を使用する従来の方法よりも分散オブジェク
トを簡単に作成することができる。
【0063】また、クライアント記述言語と同一のプロ
グラミング言語によって代理オブジェクトを生成し、そ
れをクライアントの記述に使用することによって、クラ
イアントの記述も単一言語の枠組で可能となり、記述が
容易になるものである。
グラミング言語によって代理オブジェクトを生成し、そ
れをクライアントの記述に使用することによって、クラ
イアントの記述も単一言語の枠組で可能となり、記述が
容易になるものである。
【0064】更に、代理オブジェクト内部に、分散オブ
ジェクトの機能呼び出しに伴う処理の記述を自動生成し
て隠蔽することによって、分散オブジェクトの機能呼び
出しも簡易化でき、クライアントの記述量も削減するこ
とができた。
ジェクトの機能呼び出しに伴う処理の記述を自動生成し
て隠蔽することによって、分散オブジェクトの機能呼び
出しも簡易化でき、クライアントの記述量も削減するこ
とができた。
【0065】これによって、分散オブジェクト環境での
種々のメッセージなどを効率的に記述することができる
ものと考えられる。
種々のメッセージなどを効率的に記述することができる
ものと考えられる。
【0066】(他の実施例): (1)尚、以上の一
実施例においてオブジェクトの記述、クライアントの記
述、インプリメンテーションの記述、代理オブジェクト
の記述をC++言語によって行おうとしたが、これに限
定するものではなく、例えば、他のC、Smallta
lk、FORTRAN、COBOL、BASIC、Pa
scal、Ada、アセンブラなどを使用することも可
能である。
実施例においてオブジェクトの記述、クライアントの記
述、インプリメンテーションの記述、代理オブジェクト
の記述をC++言語によって行おうとしたが、これに限
定するものではなく、例えば、他のC、Smallta
lk、FORTRAN、COBOL、BASIC、Pa
scal、Ada、アセンブラなどを使用することも可
能である。
【0067】(2)また、図4のハードウエア構成図
は、一例であって、計算機システム又は情報処理システ
ムなどによるメッセージ通信などを実現する上で、他に
専用又は汎用のハードウエア装置が組み込まれることも
好ましい。
は、一例であって、計算機システム又は情報処理システ
ムなどによるメッセージ通信などを実現する上で、他に
専用又は汎用のハードウエア装置が組み込まれることも
好ましい。
【0068】(3)更に、構文解析部2aは、レキシカ
ルアナライザ(字句解析部)とパーサ(parser:
狭義の構文解析部)などで実現することもできる。そし
て、このような構文解析に、例えば、YACC(Yet
Another Compiler Compile
r)やYACC++(Compiler Resour
ces社の製品)などの構文解析ツールを利用すること
で実現することもできると考えられる
ルアナライザ(字句解析部)とパーサ(parser:
狭義の構文解析部)などで実現することもできる。そし
て、このような構文解析に、例えば、YACC(Yet
Another Compiler Compile
r)やYACC++(Compiler Resour
ces社の製品)などの構文解析ツールを利用すること
で実現することもできると考えられる
【0069】
【発明の効果】以上述べた様にこの発明の分散プログラ
ム記述支援装置によれば、オブジェクト指向プログラミ
ング言語によるオブジェクトの記述から、分散オブジェ
クトの定義に必要な記述を生成するオブジェクト変換手
段を備えたことで、ネットワーク結合された計算機上に
構築された分散オブジェクト環境において、その環境上
で動作する分散オブジェクト、及び分散オブジェクトを
利用するクライアントプログラムの記述を簡易化するこ
とができる。
ム記述支援装置によれば、オブジェクト指向プログラミ
ング言語によるオブジェクトの記述から、分散オブジェ
クトの定義に必要な記述を生成するオブジェクト変換手
段を備えたことで、ネットワーク結合された計算機上に
構築された分散オブジェクト環境において、その環境上
で動作する分散オブジェクト、及び分散オブジェクトを
利用するクライアントプログラムの記述を簡易化するこ
とができる。
【0070】これによって、分散オブジェクト環境での
種々のメッセージなどを効率的に記述することができる
ものと考えられる。
種々のメッセージなどを効率的に記述することができる
ものと考えられる。
【図1】この発明の一実施例の処理装置の機能構成図で
ある。
ある。
【図2】一実施例の分散オブジェクト機能呼び出しの動
作説明図である。
作説明図である。
【図3】一実施例のオブジェクト変換プリプロセッサの
機能構成図である。
機能構成図である。
【図4】一実施例の処理装置をワークステーションに適
用した場合のハードウエア構成図である。
用した場合のハードウエア構成図である。
1…オブジェクト記述部、2…オブジェクト変換プリプ
ロセッサ部、3…分散オブジェクトインプリメンテーシ
ョン記述部、4…分散オブジェクトインタフェース記述
部、5…クライアント用代理オブジェクト記述部、6…
分散オブジェクト環境登録部、7…クライアント記述
部。
ロセッサ部、3…分散オブジェクトインプリメンテーシ
ョン記述部、4…分散オブジェクトインタフェース記述
部、5…クライアント用代理オブジェクト記述部、6…
分散オブジェクト環境登録部、7…クライアント記述
部。
Claims (4)
- 【請求項1】 オブジェクト指向プログラミング言語に
よるオブジェクト記述から分散オブジェクト環境におけ
る分散オブジェクト又はクライアントプログラムの記述
への支援を行う分散プログラム記述支援装置において、 オブジェクト指向プログラミング言語によるオブジェク
トの記述から、分散オブジェクトの定義に必要な記述を
生成するオブジェクト変換手段を備えたことを特徴とす
る分散プログラム記述支援装置。 - 【請求項2】 請求項1記載の分散プログラム記述支援
装置において、 クライアントプログラムの記述の中で、分散オブジェク
トの代理として使用するための代理オブジェクトを定義
し、この代理オブジェクトをクライアントプログラム記
述言語と同じプログラミング言語で生成する代理オブジ
ェクト生成手段を備えたことを特徴とした分散プログラ
ム記述支援装置。 - 【請求項3】 請求項1又は2記載の分散プログラム記
述支援装置において、 オブジェクト変換手段は、 オブジェクト指向プログラミング言語によるオブジェク
トの記述から構文解析を行う構文解析手段と、 構文解析した結果から、一旦別の内部表現に変換する内
部表現手段と、 この内部表現から分散オブジェクトのインタフェース記
述又はインプレメンテーション記述を生成する生成手段
とから構成されていることを特徴とする分散プログラム
記述支援装置 - 【請求項4】 請求項2又は3記載の分散プログラム記
述支援装置において、 代理オブジェクトを生成する際に、代理オブジェクトの
内部記述の分散オブジェクトの機能呼び出しを行う部分
に、分散オブジェクトの機能を呼び出す際に必要な付帯
的な処理の記述を付加することを特徴とする分散プログ
ラム記述支援装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17386894A JPH0836486A (ja) | 1994-07-26 | 1994-07-26 | 分散プログラム記述支援装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17386894A JPH0836486A (ja) | 1994-07-26 | 1994-07-26 | 分散プログラム記述支援装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0836486A true JPH0836486A (ja) | 1996-02-06 |
Family
ID=15968628
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17386894A Pending JPH0836486A (ja) | 1994-07-26 | 1994-07-26 | 分散プログラム記述支援装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0836486A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6148339A (en) * | 1997-04-09 | 2000-11-14 | Nec Corporation | Health check system in network control system utilizing CORBA's event service |
-
1994
- 1994-07-26 JP JP17386894A patent/JPH0836486A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6148339A (en) * | 1997-04-09 | 2000-11-14 | Nec Corporation | Health check system in network control system utilizing CORBA's event service |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7111077B1 (en) | Method and apparatus for passing service requests and data from web based workstations directly to online transaction processing (OLTP) server systems | |
| US7000238B2 (en) | Development system providing extensible remoting architecture | |
| US7404177B1 (en) | Automated web interface generation for software coded applications | |
| US6263485B1 (en) | Method and apparatus for describing an interface definition language-defined interface, operation, and data type | |
| US6324681B1 (en) | Automated development system for developing applications that interface with both distributed component object model (DCOM) and enterprise server environments | |
| US20050216880A1 (en) | Automatic system for updating data | |
| US6434598B1 (en) | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system | |
| US5848246A (en) | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system | |
| US8359570B2 (en) | Adaptive scripting tool | |
| US5940075A (en) | Method for extending the hypertext markup language (HTML) to support enterprise application data binding | |
| US6424991B1 (en) | Object-oriented system, method and article of manufacture for a client-server communication framework | |
| US6446137B1 (en) | Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends | |
| US7120897B2 (en) | User control objects for providing server-side code generation from a user-defined dynamic web page content file | |
| US6993585B1 (en) | Method and system for handling transaction requests from workstations to OLTP enterprise server systems utilizing a common gateway | |
| US6253282B1 (en) | Object-oriented system, method and article of manufacture for a client-server with a client program cache | |
| US20060167981A1 (en) | Web application architecture | |
| US6721776B1 (en) | Generic DCOM server | |
| US20060149746A1 (en) | Web application communication protocol | |
| EP0827074A2 (en) | A system, method and article of manufacture for a distributed computer system framework | |
| US6643679B1 (en) | WebTx gateway preprocessing hook | |
| US20030226110A1 (en) | Method for dynamically generating structured documents | |
| US8347265B1 (en) | Method and apparatus for generating a command line interpreter | |
| US6308225B1 (en) | Method for performing distributed object calls | |
| US20010011215A1 (en) | Network device simulation system and method | |
| Jouault et al. | Building DSLs with AMMA/ATL, a case study on SPL and CPL telephony languages |