JPH06161785A - モジュール間通信装置 - Google Patents

モジュール間通信装置

Info

Publication number
JPH06161785A
JPH06161785A JP4318290A JP31829092A JPH06161785A JP H06161785 A JPH06161785 A JP H06161785A JP 4318290 A JP4318290 A JP 4318290A JP 31829092 A JP31829092 A JP 31829092A JP H06161785 A JPH06161785 A JP H06161785A
Authority
JP
Japan
Prior art keywords
message
communication
execution
module
buffer
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
JP4318290A
Other languages
English (en)
Inventor
Asako Kitamura
麻子 北村
Tetsuo Hasegawa
哲夫 長谷川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP4318290A priority Critical patent/JPH06161785A/ja
Publication of JPH06161785A publication Critical patent/JPH06161785A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【目的】本発明は、プログラムの変更を行うことなく簡
単にデバックのための再実行を可能にしたモジュール間
通信装置を提供する。 【構成】モジュール間メッセージ通信により処理を進め
る計算機システムにおいて、各マシン2は実行時に到着
したメッセージの順番を記録バッファ22に記録してお
き、デバックのための再実行によりメッセージが到着す
ると、各マシン2は受信演算部212で到着メッセージ
が記録バッファ22に記録した順番に一致しているか確
認し、一致しない場合に該当メッセージをメッセージバ
ッファ23に一時記憶するとともに、これら記憶された
メッセージ群から記録した順番に合ったメッセージを検
索する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数モジュール間でメ
ッセージ通信を行いながら処理を進める計算機システム
において、デバックのための再実行機能を有するモジュ
ール間通信装置に関するものである。
【0002】
【従来の技術】シーケンシャルプログラムの実行の場
合、同じ入力に対して同じ結果を繰り返す決定的な動作
であるのに対し、複数モジュール間でメッセージ通信を
行いながら処理を進める並行プログラムの場合には、メ
ッセージの到着する順番が変わるため、その動作は非決
定的である。
【0003】従って、このような複数モジュールで処理
するプログラムについて、そのデバックを行おうとする
と、もう一度同じ実行を再現しようとしても再現できる
保証はない。
【0004】このため従来の並行プログラムのデバック
では、再実行を実現するために最初の実行時に通信歴を
記憶する機能と、再実行時に受け取る通信の順番を管理
する機能の2つをプログラムにリンクする方法がとられ
ている。
【0005】
【発明が解決しようとする課題】ところが、この方法に
よると、通信歴を記録する機能と、再実行を管理する機
能をプログラム中のメッセージ送受信要求の前後に付加
するようになるため、オリジナルプログラムを一部変更
しなければならず、また、このような機能を持つモジュ
ールをプログラムにリンクするため、プログラム実行の
際の計算機負荷も大きくなるという問題点があった。
【0006】本発明は、上記事情に鑑みてなされたもの
で、プログラムの変更を行うことなく、簡単にデバック
のための再実行を可能にしたモジュール間通信装置を提
供することを目的とする。
【0007】
【課題を解決するための手段】本発明は、複数モジュー
ル間でメッセージ通信を行いながら処理を進める計算機
システムにおいて、前記モジュール間のメッセージ通信
により到着したメッセージの順番を記録する手段と、デ
バックのための再実行により到着したメッセージが前記
記録したメッセージの順番に一致しているか確認する手
段と、この手段で不一致を確認すると前記再実行の際に
到着したメッセージを一時記憶する手段と、この手段で
一時記憶したメッセージから前記記録した順番に合うメ
ッセージを検索する手段とにより構成されている。
【0008】
【作用】この結果、本発明によれば、モジュール間メッ
セージ通信により処理を進める計算機システムにおい
て、実行時に到着したメッセージの順番を記録してお
き、デバックのための再実行によりメッセージが到着す
ると、このメッセージが実行時に記録した順番に一致し
ているか確認し、一致しない場合に該当メッセージを一
時記憶するとともに、これら記憶されたメッセージ群か
ら記録した順番に合ったメッセージを検索するようにし
ている。これによりオリジナルプログラムを変更するこ
となく、デバックのための再実行時も実行時と同じ順番
で通信を宛先モジュールに到着させることができるよう
になる。
【0009】
【実施例】以下、本発明の一実施例を図面に従い説明す
る。
【0010】図1は同実施例の概略構成を示している。
図において、1はLANで、このLAN1には、複数
台、ここでは#1〜#3の3台のマシン(計算機)2が
接続されている。この場合、各マシン2は、通信装置2
1、記録バッファ22、メッセージバッファ23、処理
装置24から構成されている。
【0011】ここで、通信装置21は、通信処理を行う
送信演算部211と受信処理を行う受信演算部212を
有し、このうちの受信演算部212は、信号SIGM0Dによ
って通信履歴記録モード、再実行モード、通常実行モー
ドの各モードの切り換えを行うようになっている。記録
バッファ22は、通信履歴を記録するものである。メッ
セージバッファ23は、メッセージを一時的に記録する
ものである。処理装置24は、通信装置21から各種メ
ッセージを読取り、必要に応じて記録バッファ22やメ
ッセージバッファ23に記憶するようにしている。
【0012】図2は、通信装置21のハードウェア構成
例を示している。この場合、上述の送信演算部211と
受信演算部212は、LAN制御CPU213からなっ
ていて、このLAN制御CPU213をLANインター
フェース214を介してLAN1に接続している。LA
Nインターフェース214は、LAN1に対するメッセ
ージの送信および受信を行うようにしている。また、L
AN制御CPU213は、RAM215とROM216
を接続している。RAM215は、LANインターフェ
ース214からの受信メッセージを記憶するものであ
る。ROM216は、LAN制御CPU213の制御プ
ログラムを記憶している。
【0013】この場合、図3に示すように各マシン2に
対してモジュールM11、M12、M21、M22、M
31、M32がそれぞれ置かれたものとして、これらモ
ジュール群について図4に示す通信履歴モードの通信順
番[1]〜[7]により、図5に示すような順序でメッ
セージ通信が実行されたものと仮定している。
【0014】そして、このような通信履歴に対しデバッ
ク手順として再実行モードで記録した実行を再現するこ
とになるが、この時の処理の流れを図6に示し、同図の
中での再実行モードでの処理の流れを図7に示してい
る。まず、信号SIGM0Dによって通信履歴記録モードを設
定すると、図4および図5で示す通信履歴が、以下の手
順で記録される。
【0015】最初に通信[1]によりモジュールM11
からモジュールM21にメッセージが送信される。この
場合、#1のマシン2からの送信は、送信演算部211
がメッセージに生成して送り出すという処理が行われる
が、ここでの送信処理は、モードに関係なく同じなの
で、以降の送信処理については説明を省略する。
【0016】通信[1]での受信処理は、#2のマシン
2の通信装置21でメッセージを受け取ると(ステップ
601)、通常実行モードかを判断する(ステップ60
2)。この場合、通信履歴記録モードが設定されてお
り、NOと判断するので、ステップ603に進む。そし
て、ここでは、YESと判断し、ステップ604に進
む。これにより、#2のマシン2の受信演算部212に
より受け取ったメッセージIDの送信モジュール名と受
信モジュール名を処理装置24に渡し、記録バッファ2
2に記録する(ステップ605)。
【0017】次に、通信[2]の受信処理によりモジュ
ールM11からモジュールM31にメッセージが送信さ
れる。すると、この場合も通信[1]と同様な処理が実
行され、#3のマシン2の受信演算部212により受け
取ったメッセージIDを記録バッファ22に記録する。
【0018】以下、同様にして、通信[3]のモジュー
ルM21からモジュールM22の通信では、#2のマシ
ン2の記録バッファ22に、通信[4]のモジュールM
31からモジュールM32の通信では、#3のマシン2
の記録バッファ22に、通信[5]のモジュールM22
からモジュールM12の通信では、#1のマシン2の記
録バッファ22に、通信[6]のモジュールM12から
モジュールM11の通信では、#1のマシン2の記録バ
ッファ22に、通信[7]のモジュールM32からモジ
ュールM12の通信では、#1のマシン2の記録バッフ
ァ22にそれぞれメッセージIDを記録するようにな
る。
【0019】以上述べた処理により、#1〜#3のマシ
ン2の各記録バッファ22には、それぞれ図8、図9お
よび図10に示すようなメッセージIDが記録されるこ
とになる。ここまでが、通信履歴記録モードの処理であ
る。次に、信号SIGM0Dによって再実行モードを設定する
と、通信履歴記録モードで記録された実行が再現され
る。
【0020】この場合、説明のために今回は、前回の実
行と異なる図11に示す順で実行が行われるものと仮定
する。つまり、ここでは、前回[1]から[7]の順番
で送信された通信が、今回は、[1]、[2]、
[4]、[7]、[3]、[6]、[5]の順で行われ
たとする。
【0021】この場合、プログラムを実行すると、ま
ず、モジュールM11からモジュールM21への通信
[1]が行われる。この場合も通信履歴記録モードのと
きと同様に、送信処理はモードによらず送信処理演算部
によって処理される。
【0022】モジュールM11からメッセージを受け取
った#2のマシン2の受信演算部212では、図6のス
テップ602、ステップ603を介して再実行モードを
判断し、再実行モード処理に移行する(ステップ60
6)。
【0023】そして、再実行モード処理では、図7に示
すように、まずステップ701で今回届く予定のメッセ
ージIDを記録バッファ22から取り出し、ステップ7
03で、この予定メッセージIDと実際に届いたメッセ
ージIDを比較する。ここで同一メッセードということ
になると、このメッセージIDを処理装置24に渡し、
新たに記録バッファ22から、次に届く予定の通信
[3]のメッセージIDを取り出す。そして、ステップ
705でメッセージバッファ23の中を検索する。この
時、メッセージバッファ23は空なので、ステップ70
7で取り出した予定メッセージIDを記録バッファ22
に戻し、処理を終了する。従って、次に記録バッファ2
2の取り出しを行った時の予定メッセージIDは、通信
[3]のもののままになる。
【0024】次のモジュールM11からモジュールM3
1への通信[2]については、#3のマシン2では、記
録バッファ22に記録された予定していた通信[2]と
一致するため、メッセージを処理装置24に渡して、次
の予定の通信[4]のメッセージIDを取り出すように
なる。しかし、この場合も、メッセージバッファ23が
空なので、ステップ707で、このメッセージIDも記
録バッファ22に戻される。
【0025】次の通信[4]について、#3のマシン2
では、記録バッファ22から取り出した予定メッセージ
IDと一致するため、メッセージIDは処理装置24に
渡される。これで記録バッファ22は空となる。
【0026】次の通信[7]については、モジュールM
32からモジュールM12の通信で#1のマシン2の受
信演算部212がメッセージIDを受け取るが、この
時、ステップ701で取り出された予定していたメッセ
ージIDは通信[5]のもので、実際に届いたメッセー
ジIDと予定していたメッセージIDと一致しないの
で、ステップ704に移行する。ステップ704では、
通信[7]をメッセージバッファ23に格納し、ステッ
プ705で予定していたメッセージが既に到着していな
いかを検索する。ここで、メッセージバッファ23に
は、通信[5]のメッセージIDが存在しないので、メ
ッセージIDの処理装置24への引き渡しはなく、ステ
ップ707において、このメッセージIDを記録バッフ
ァ22に戻し、受信処理は終了する。
【0027】次の通信[3]については、#2のマシン
2の記録バッファ22から取り出した予定しているメッ
セージIDと通信[3]のそれが一致するするので、ス
テップ710に従ってメッセージIDを処理装置24に
引き渡す。これで記録バッファ22は空となる。
【0028】次の通信[6]については、モジュールM
12からモジュールM11への通信なので、#1のマシ
ン2の記録バッファ22から予定しているメッセージI
Dを取り出す。この時、予定メッセージは、前回の通信
[5]のままなので一致せず、メッセージIDはステッ
プ704によってメッセージバッファ23に格納され
る。従って、メッセージバッファ23の中は、通信
[6]と[7]のメッセージIDになるが、この中には
今回予定している通信[5]のメッセージIDと一致す
るものがないので、再び通信[5]のメッセージIDは
記録バッファ22に戻され、受信処理を終了する。
【0029】次の、モジュールM22からモジュールM
12の通信[5]については、#1のマシン2では、ス
テップ701によって記録バッファ22から予定してい
る通信[5]のメッセージIDを取り出し比較する。こ
の場合、実際に届いたメッセージIDと一致するので、
ステップ710に従ってメッセージIDを処理装置24
に引き渡す。次に、ステップ708によって次の予定の
メッセージID、ここでは通信[6]のメッセージID
を取り出し、再びメッセージバッファ23の検索を行
う。この場合、メッセージバッファ23には、通信
[7]と[6]のメッセージIDが格納され、通信
[6]のメッセージIDが一致するので、ステップ70
5に従って通信[6]のメッセージIDを処理装置24
に引き渡し、ステップ708によって記録バッファ22
から再び次の予定の、通信[7]のメッセージIDを取
り出す。
【0030】そして、ステップ705でメッセージバッ
ファ23を検索して、最後に残っている通信[7]のメ
ッセージIDを見付けて、これを処理装置24に引き渡
す。その後、ステップ708で次の予定のメッセージI
Dを取り出し、記録バッファ22が空のことを検出して
受信処理を終了する。この通信が、最後の通信となり、
再実行はすべて終了する。
【0031】従って、このようにすれば、各マシン2
は、実行時に到着したメッセージの順番を記録バッファ
22に記録しておき、デバックのための再実行によりメ
ッセージが到着すると、各マシン2は、受信演算部21
2で到着メッセージが記録バッファ22に記録した順番
に一致しているか確認し、一致しない場合に該当メッセ
ージをメッセージバッファ23に一時記憶するととも
に、これら記憶されたメッセージ群から記録した順番に
合ったメッセージを検索するようにしたので、実行時に
記録した順番の通信を再実行できるようになり、非決定
的な動作の並行プログラムのデバックが実現できること
になる。なお、本発明は、上記実施例にのみ限定され
ず、要旨を変更しない範囲で、適宜変形して実施でき
る。
【0032】
【発明の効果】本発明によれば、プログラムの書き換え
やプログラムにコントロール機能を持たせることなく、
実行を容易に再現することができ、非決定的な動作の並
行プログラムのデバックが実現できる。
【図面の簡単な説明】
【図1】本発明の一実施例の概略構成を示す図。
【図2】一実施例の通信装置のハードウェア構成例を示
す図。
【図3】一実施例のモジュールの配置例を示す図。
【図4】一実施例の通信履歴モードでの通信順番の例を
示す図。
【図5】一実施例の通信履歴モードでの実行例を示す
図。
【図6】一実施例の通信装置での処理を示すフローチャ
ート。
【図7】一実施例の再実行モードの処理を示すフローチ
ャート。
【図8】一実施例の記録バッファの内容例を示す図。
【図9】一実施例の記録バッファの内容例を示す図。
【図10】一実施例の記録バッファの内容例を示す図。
【図11】一実施例の再実行モード時に実際に起きた通
信順番の例を示す図。
【符号の説明】
1…LAN、2…マシン、21…通信装置、211…送
信演算部、212…受信演算部、22…記録バッファ、
23…メッセージバッファ、24…処理装置。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04L 12/40

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数モジュール間でメッセージ通信を行
    いながら処理を進める計算機システムにおいて、 前記モジュール間のメッセージ通信により到着したメッ
    セージの順番を記録する手段と、 デバックのための再実行により到着したメッセージが前
    記記録したメッセージの順番に一致しているか確認する
    手段と、 この手段で不一致を確認すると前記再実行の際に到着し
    たメッセージを一時記憶する手段と、 この手段で一時記憶したメッセージから前記記録した順
    番に合うメッセージを検索する手段とを具備したことを
    特徴とするモジュール間通信装置。
JP4318290A 1992-11-27 1992-11-27 モジュール間通信装置 Pending JPH06161785A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4318290A JPH06161785A (ja) 1992-11-27 1992-11-27 モジュール間通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4318290A JPH06161785A (ja) 1992-11-27 1992-11-27 モジュール間通信装置

Publications (1)

Publication Number Publication Date
JPH06161785A true JPH06161785A (ja) 1994-06-10

Family

ID=18097556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4318290A Pending JPH06161785A (ja) 1992-11-27 1992-11-27 モジュール間通信装置

Country Status (1)

Country Link
JP (1) JPH06161785A (ja)

Similar Documents

Publication Publication Date Title
JPS62285170A (ja) 分散処理システムの入力メッセージ整合化方法
EP0258650B1 (en) Parallel computer system capable of asynchronous data transmission
JPH01161566A (ja) 分散処理システムにおけるデータ処理方式
JPH06161785A (ja) モジュール間通信装置
EP0578496B1 (en) Job execution method in multi-CPU system
EP0319132B1 (en) Interrupt handling in a parallel data processing
JP2650247B2 (ja) 分散処理システム
JP3313655B2 (ja) データ送受信方式、データ送受信方法、および記録媒体
JP2536081B2 (ja) 多重スケジュ―リング制御方式
JP2509936B2 (ja) 出力制御装置
JPH02118841A (ja) 入力待ち行列管理方式
JP2656471B2 (ja) 分散処理システムおよびその情報処理方法
JPH06295247A (ja) リアルタイム処理実現方法
CA1217566A (en) Real-time data processing system for processing time period commands
JPH07182261A (ja) 情報処理装置
JP3588439B2 (ja) データコンテナによる通信処理装置及び通信処理システム
JPS6385825A (ja) ソフトウエア・モジユ−ル間関係認識方式
JPH0695896A (ja) タスク処理システムおよびタスク間通信制御方法
JPH0394334A (ja) ジョブ起動制御方法
JP2507871B2 (ja) 並列処理方式
JP2845694B2 (ja) データ処理装置
JP2907665B2 (ja) 獲得記憶領域の管理方式
JPS63195763A (ja) 分散処理システム
JPH0348315A (ja) タイマ管理方式
JPH1011346A (ja) データベースの更新装置