JPH06222923A - 並行オブジェクト指向言語実行方法および装置 - Google Patents

並行オブジェクト指向言語実行方法および装置

Info

Publication number
JPH06222923A
JPH06222923A JP1123993A JP1123993A JPH06222923A JP H06222923 A JPH06222923 A JP H06222923A JP 1123993 A JP1123993 A JP 1123993A JP 1123993 A JP1123993 A JP 1123993A JP H06222923 A JPH06222923 A JP H06222923A
Authority
JP
Japan
Prior art keywords
return value
message
declaration
distributor
execution
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
JP1123993A
Other languages
English (en)
Inventor
Shingo Fukui
眞吾 福井
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP1123993A priority Critical patent/JPH06222923A/ja
Publication of JPH06222923A publication Critical patent/JPH06222923A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】 並行オブジェクト指向言語実行システムにお
いて、各プロセスがどの返り値(return val
ue)の計算に関与しているかを特定できるようにす
る。 【構成】 あらかじめオブジェクトの定義の中に、返り
値組み立て方法の宣言と、返り値分割方法の宣言を含め
ておき、メソッド起動時に合流器生成手段7が返り値の
合流器を生成し、メッセージ送信時に分配器生成手段8
が返り値分配器を生成する。 【効果】 メソッド起動時と実行時に返り値合流器,分
配器が生成されるので、合流器と分配器を順にたどるこ
とによって、どのプロセスが返り値の計算に関与してい
るかがわかる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並行処理が可能なオブ
ジェクト指向言語の実行方法および装置に関する。
【0002】
【従来の技術】並行オブジェクト指向言語においては、
オブジェクトと呼ばれるデータ構造が用いられる。この
オブジェクトの構造および動作は、クラスによって定め
られる。クラスは、オブジェクトの構造を定めるインス
タンス変数の定義と、オブジェクトの動作を定めるメソ
ッドの定義から構成される。図7はオブジェクト定義の
一例を示す図である。これは銀行を表すオブジェクトの
オブジェクト定義である。図の中で1行目のBankは
クラス名の宣言、2行目の(account−DB,b
ank−network)はインスタンス変数の宣言、
3行目から13行目まではtransferというメソ
ッドの定義である。メソッド定義の中で、3行目はメッ
セージパターンの宣言であり、4行目から13行目が目
メソッド本体である。
【0003】図8は従来の並行オブジェクト指向言語実
行装置の一例を示す構成図で、1は主記憶装置、2はオ
ブジェクト実行手段であり、オブジェクト実行手段2
は、メッセージ受信手段3,メソッド起動手段4,メソ
ッド実行手段5,メッセージ送信手段6から構成されて
いる。
【0004】オブジェクトに対してメッセージが送信さ
れると、メッセージ受信手段3がそのメッセージを受信
し、メソッド起動手段4に渡す。メソッド起動手段4は
主記憶装置1からオブジェクト定義を検索し、メソッド
実行手段5に渡す。メソッド実行手段5は、オブジェク
ト定義に記述されているメソッド本体を実行する。メソ
ッド本体にメッセージ送信文があれば、メッセージ送信
手段6にメッセージ送信を命令する。
【0005】
【発明が解決しようとする課題】オブジェクトに送信さ
れるメッセージには、計算のための引数と、計算結果を
送り返す宛先(返り値の宛先)が含まれている。図7の
場合、:transferというメッセージには、am
ount,from−account,bank,to
−accountという4つの引数と、result,
endという2つの返り値宛先が含まれている。したが
って、:transferというメソッドを起動する
と、result,endという2つの計算結果(返り
値(return value))が送り返される。
【0006】図9は、bankオブジェクトに:tra
nsferというメッセージを送信した際に生成される
プロセスの構造を示す図である。
【0007】:transferというメッセージがb
ankオブジェクトに到着すると、図8のメッセージ受
信手段3がメッセージを受信する。メッセージはメソッ
ド起動手段4に渡され、オブジェクト定義が主記憶装置
1から検索されメソッド実行手段5に渡される。メソッ
ド実行手段5はプロセスを生成してメソッドを実行す
る。図9(a)は、この段階でのプロセスの構造を表す
図である。:transfer/bankというプロセ
ス(901)は、resultとendという2つの返
り値宛先(図の中での矢印)を持っている。メソッド実
行手段5は、次に図7の5行目〜6行目のメッセージ送
信文を実行し、:withdrawableというメッ
セージがaccount−DBオブジェクトに送信され
る。account−DBオブジェクトでは、:wit
hdrawable/account−DBというプロ
セス(902)が生成される。このプロセス902から
プロセス901へは、withdrawableという
返り値が返される(図9(b))。図7の9行目〜10
行目では、account−DBオブジェクトに:wi
thdrawというメッセージが送信され、新たなプロ
セスが生成される(図9(c)903)。このプロセス
はend1という返り値をbankオブジェクトに返
す。図7の11行目〜12行目ではbank−netw
orkオブジェクトに:transferというメッセ
ージが送信され、あらたなプロセスが生成される(図9
(d)904)。このプロセスは、end2という返り
値をbankオブジェクトに返す。図9(d)が最終的
なプロセスの構造である。
【0008】この図からは、プロセス901がresu
lt,endという返り値を返すことはわかるが、実際
に計算を行うプロセスがプロセス901,902,90
3,904のいずれなのかわからない。
【0009】本発明の目的は、どのプロセスが返り値の
計算に関与しているかを判定することができる並行オブ
ジェクト指向言語実行方法および装置を提供することに
ある。
【0010】
【課題を解決するための手段】本発明の並行オブジェク
ト指向言語実行方法は、オブジェクトの定義の中に返り
値の組み立て方法の宣言と、返り値の分割方法の宣言を
持ち、メソッドが起動される際に、前記オブジェクト定
義に返り値組み立て方法の宣言があれば、その宣言で指
定されたタイプの合流器を作成し、メッセージを送信す
る際に、返り値分割方法の宣言があれば、分配器を作成
することを特徴とする。
【0011】本発明は、主記憶手段とオブジェクト実行
手段とを備える並行オブジェクト指向言語実行装置にお
いて、前記オブジェクト実行手段は、オブジェクトに対
して送信されてきたメッセージを受信するメッセージ受
信手段と、前記メッセージ受信手段が受信したメッセー
ジに基づいて、前記主記憶手段からオブジェクト定義を
検索するメソッド起動手段と、前記メソッド起動手段に
よって検索されたオブジェクト定義中に返り値の組み立
て方法宣言が含まれているかを調べ、含まれている場合
には合流器を生成する合流器生成手段と、前記合流器生
成手段から渡されたオブジェクト定義に記述されている
メソッド本体を実行するメソッド実行手段と、前記メソ
ッド実行手段から渡されたメソッド送信文中に返り値の
分割方法の宣言が含まれているかを調べ、含まれている
場合には分配器を生成する分配器生成手段と、前記分配
器生成手段から渡されたメッセージ送信文にしたがって
メッセージを送信するメッセージ送信手段とを有する、
ことを特徴とする。
【0012】
【作用】オブジェクトの定義に、返り値組み立て方法の
宣言と返り値分割方法の宣言を含めておくことによっ
て、メソッド起動時に返り値合流器を作成すること、お
よび、メッセージ送信時に返り値分配器を生成すること
が可能になり、返り値合流器,分配器を順にたどること
によって、どのプロセスが返り値の計算を行うのかを判
定することができる。
【0013】
【実施例】次に本発明について図面を参照して説明す
る。図1は本発明の原理を示すフローチャートである。
まず、あらかじめ返り値の組み立て方法と分割方法を宣
言しておく(ステップ101)。メソッドを起動してメ
ソッドを実行する際に、ステップ101で宣言された返
り値の組み立て方法,分割方法にしたがって合流器,分
配器を生成する(ステップ102)。
【0014】返り値の組み立て方法宣言,分割方法宣
言、および、合流器,分配器の生成手順を例を用いて説
明する。
【0015】図4は本発明の方法によるオブジェクト定
義の一例を示す図である。これは銀行を表すオブジェク
トのオブジェクト定義である。図の中で1行目のBan
kはクラス名の宣言、2行目の(account−D
B,bank−network)はインスタンス変数の
宣言、3行目から13行目までは:transferと
いうメソッドの定義である。メソッド定義の中で、3行
目〜4行目はメッセージパターンの宣言であり、5行目
から13行目がメソッド本体である。
【0016】メッセージパターンの宣言の中で、4行目
の部分は返り値を宣言している。この例では、resu
lt,endとう2つの返り値が宣言されている。en
dの宣言には、 :and{&end1&end2} という返り値の組み立て方法の宣言がつけられている。
この宣言は、endという返り値がend1,end2
という返り値をand型の合流器で合流して作り出され
ることを意味している。
【0017】メソッド本体の6行目〜7行目は、返り値
分割方法の宣言を含んだメッセージ送信文である。
【0018】 {&result&withdrawable} は、分配器を用いて返り値をresultとwithd
rawableという2つに分配することを意味してい
る。
【0019】図5は本発明の並行オブジェクト指向言語
実行装置の一実施例を示す構成図で、1は主記憶装置、
2はオブジェクト実行手段であり、オブジェクト実行手
段2は、メッセージ受信手段3,メソッド起動手段4,
合流器生成手段7,メソッド実行手段5,分配器生成手
段8,メッセージ送信手段6から構成されている。
【0020】オブジェクトに対してメッセージが送信さ
れると、メッセージ受信手段3がそのメッセージを受信
し、メソッド起動手段4に渡す。メソッド起動手段4は
主記憶装置1からオブジェクト定義を検索し、合流器生
成手段7に渡す。図2は、合流器生成手段のフローチャ
ートである。返り値の組み立て方法宣言がメソッド宣言
に含まれているかを調べ(ステップ201)、含まれて
いる場合にはステップ202で合流器を生成する。含ま
れていない場合には生成しない。ステップ203ではオ
ブジェクト定義をメソッド実行手段5に渡す。メソッド
実行手段5は、オブジェクト定義に記述されているメソ
ッド本体を実行する。メソッド本体にメッセージ送信文
があれば、分配器生成手段8にメッセージを渡す。図3
は、分配器生成手段のフローチャートである。返り値の
分割方法の宣言がメッセージ送信文に含まれているかを
調べ(ステップ301)、含まれている場合にはステッ
プ302で分配器を生成する。含まれていない場合には
生成しない。ステップ303では、メッセージ送信文を
メッセージ送信手段6に渡す。メッセージ送信手段6
は、受けとったメッセージ送信文にしたがってメッセー
ジを送信する。
【0021】図6は、図4で定義されたbankオブジ
ェクトに:transferというメッセージを送信し
た際に生成されるプロセスの構造を示す図である。
【0022】:transferというメッセージがb
ankオブジェクトに到着すると、図5のメッセージ受
信手段3がメッセージを受信する。メッセージはメソッ
ド起動手段4に渡され、オブジェクト定義が主記憶装置
1から検索され合流器生成手段7に渡される。図4の3
行目〜4行目のメッセージパターン宣言には、 :and{&end1&end2} という返り値の組み立て方法の宣言があるので、and
型の合流器(602)が生成される(図2ステップ20
2)。そして、オブジェクト定義は、メソッド実行手段
5に渡される。メソッド実行手段5は、プロセス(60
1)を生成してメソッドを実行する。図6(a)は、こ
の段階でのプロセスの構造を表す図である。メソッド実
行手段5は、次に、図4の6行目〜7行目のメッセージ
送信文を分配器生成手段8に渡す。このメッセージ送信
文には {&result&withdrawable} という返り値分割方法の宣言が含まれているので、分配
器(604)を作成する(図3ステップ302)。そし
てメッセージ送信文はメッセージ送信手段6に渡され
て、実際にメッセージ送信が行われる。:withdr
awableというメッセージは、account−D
Bに送られプロセス(603)が生成される(図9
(b))。次にメソッド実行手段5は、図4の9行目〜
10行目のaccount−DBへのメッセージ送信文
を処理する。このメッセージ送信文には返り値分割方法
の宣言が含まれないので、そのままメッセージ送信手段
6に渡され、送信される。図4の11行目〜12行目に
はbank−networkへのメッセージ送信文があ
り、同様に処理される。図6(c)はこの段階でのプロ
セスの構造を表す図である。
【0023】図6(c)に示すように、どのプロセスが
返り値の計算に関与しているかを判定することができ
る。返り値resultは、返り値分配器604を経由
してプロセス603にのみつながっているのでプロセス
603が計算を行っているのがわかる。また、返り値e
ndは、合流器602を経由してプロセス605とプロ
セス606につながっているので、これら2つのプロセ
スが計算に関与していることがわかる。
【0024】
【発明の効果】返り値組み立て方法の宣言と分割方法の
宣言を行い、メソッド起動時と実行時に返り値合流器,
分配器を生成することによって、どのプロセスが返り値
の計算に関与しているかを判定することができる。
【図面の簡単な説明】
【図1】本発明の原理を示すフローチャートである。
【図2】合流器生成手段のフローチャートである。
【図3】分配器生成手段のフローチャートである。
【図4】本発明の方法によるオブジェクト定義の一例を
示す図である。
【図5】本発明の装置の一実施例の構成を示す図であ
る。
【図6】プロセス生成の一例を示す図である。
【図7】従来の方法によるオブジェクト定義の一例を示
す図である。
【図8】従来の装置の一例の構成を示す図である。
【図9】従来の方法によるプロセス生成の一例を示す図
である。
【符号の説明】
1 主記憶装置 2 オブジェクト実行手段 3 メッセージ受信手段 4 メソッド起動手段 5 メソッド実行手段 6 メッセージ送信手段 7 合流器生成手段 8 分配器生成手段

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】オブジェクトの定義の中に返り値の組み立
    て方法の宣言と、返り値の分割方法の宣言を持ち、メソ
    ッドが起動される際に、前記オブジェクト定義に返り値
    組み立て方法の宣言があれば、その宣言で指定されたタ
    イプの合流器を作成し、メッセージを送信する際に、返
    り値分割方法の宣言があれば、分配器を作成することを
    特徴とする並行オブジェクト指向言語実行方法。
  2. 【請求項2】前記返り値の組み立て方法の宣言は、前記
    オブジェクト定義中のメッセージパターンの宣言の中に
    含め、 前記返り値の分割方法の宣言は、前記オブジェクト定義
    中のメッセージ送信文の中に含めることを特徴とする請
    求項1記載の並行オブジェクト指向言語実行方法。
  3. 【請求項3】主記憶手段とオブジェクト実行手段とを備
    える並行オブジェクト指向言語実行装置において、 前記オブジェクト実行手段は、 オブジェクトに対して送信されてきたメッセージを受信
    するメッセージ受信手段と、 前記メッセージ受信手段が受信したメッセージに基づい
    て、前記主記憶手段からオブジェクト定義を検索するメ
    ソッド起動手段と、 前記メソッド起動手段によって検索されたオブジェクト
    定義中に返り値の組み立て方法宣言が含まれているかを
    調べ、含まれている場合には合流器を生成する合流器生
    成手段と、 前記合流器生成手段から渡されたオブジェクト定義に記
    述されているメソッド本体を実行するメソッド実行手段
    と、 前記メソッド実行手段から渡されたメソッド送信文中に
    返り値の分割方法の宣言が含まれているかを調べ、含ま
    れている場合には分配器を生成する分配器生成手段と、 前記分配器生成手段から渡されたメッセージ送信文にし
    たがってメッセージを送信するメッセージ送信手段とを
    有する、ことを特徴とする並行オブジェクト指向言語実
    行装置。
JP1123993A 1993-01-27 1993-01-27 並行オブジェクト指向言語実行方法および装置 Pending JPH06222923A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1123993A JPH06222923A (ja) 1993-01-27 1993-01-27 並行オブジェクト指向言語実行方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1123993A JPH06222923A (ja) 1993-01-27 1993-01-27 並行オブジェクト指向言語実行方法および装置

Publications (1)

Publication Number Publication Date
JPH06222923A true JPH06222923A (ja) 1994-08-12

Family

ID=11772387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1123993A Pending JPH06222923A (ja) 1993-01-27 1993-01-27 並行オブジェクト指向言語実行方法および装置

Country Status (1)

Country Link
JP (1) JPH06222923A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6274102B1 (en) 1997-08-07 2001-08-14 Praxair Technology, Inc. Compact deoxo system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6274102B1 (en) 1997-08-07 2001-08-14 Praxair Technology, Inc. Compact deoxo system

Similar Documents

Publication Publication Date Title
EP0648354B1 (en) Method and system for implementation-independent interface specification
Burkhard Ordered firing in Petri nets
EP1636969A1 (en) System and method for modifying data transferred from a source to a destination
JPH06222923A (ja) 並行オブジェクト指向言語実行方法および装置
JPH09107387A (ja) プロトコル変換ゲートウェイシステム
WO2000026765A2 (en) Method and apparatus for evaluating a data processing request performed by distributed processes
JP2002342078A (ja) プログラム開発システム及び方法
JPH0628322A (ja) 情報処理装置
Arts et al. Verifying Generic Erlang Client—Server Implementations
RU2710302C1 (ru) Способ организации работы компонентов сетевого оборудования для обработки сетевых пакетов (4 варианта)
JP2757760B2 (ja) 自然言語による問い合わせの解釈方法
JP3708560B2 (ja) データフロー型情報処理装置
JPH0512334A (ja) 文生成方式
JPH1185548A (ja) 情報を送る方法、装置、およびコンピュータ・プログラム製品
JP3588439B2 (ja) データコンテナによる通信処理装置及び通信処理システム
Balzer A language-independent programmer's interface
JPH03262045A (ja) ハードウエア設計言語からのテストデータ生成方式
JPH04259071A (ja) グラフ生成装置
JPS60235243A (ja) デ−タ処理装置
JP2897539B2 (ja) ハードウェア記述自動生成方法とその装置
JPH0922371A (ja) 試験データ生成装置
JPH0520351A (ja) ベクトル演算装置
Engel et al. PENCIL/C concurrent programming of high speed communication protocols
JPS5916303B2 (ja) デ−タ処理装置
Borkowski Region-based Petri nets for modeling interrupts and cancellations