JP2000259450A - オブジェクト指向メッセージ通信テスト装置及び記憶媒体 - Google Patents
オブジェクト指向メッセージ通信テスト装置及び記憶媒体Info
- Publication number
- JP2000259450A JP2000259450A JP11061448A JP6144899A JP2000259450A JP 2000259450 A JP2000259450 A JP 2000259450A JP 11061448 A JP11061448 A JP 11061448A JP 6144899 A JP6144899 A JP 6144899A JP 2000259450 A JP2000259450 A JP 2000259450A
- Authority
- JP
- Japan
- Prior art keywords
- message
- test
- destination
- handler
- communication
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
のオブジェクトへのメッセージ通信があるような場合で
もテストプログラムを続行可能とする。 【解決手段】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセス21を
生成させ、かつ、データと手続きとをカプセル化した一
以上のオブジェクト29をプロセスが有するように、当
該プロセスを生成させるためのプログラムに対し、オブ
ジェクト間のメッセージ通信をテストするオブジェクト
指向メッセージ通信テスト装置にあって、テスト対象と
なる最初のオブジェクトにメッセージを送出するととも
に、このテストにより何れかのオブジェクトから出力さ
れた送信メッセージの受取先が非生成状態である場合に
は、当該受取先に代えて送信メッセージを受信するメッ
セージ代理受信手段25を備えたオブジェクト指向メッ
セージ通信テスト装置。
Description
メッセージ通信テスト装置、更に詳しくはプログラムの
並行動作が可能なマルチプロセス/マルチスレッド環境
において、複数のオブジェクト間のメッセージ通信によ
り所定の機能を実現可能なソフトウエアをテストする部
分に特徴のあるオブジェクト指向メッセージ通信テスト
装置及び記憶媒体に関する。
語を用いてプログラム作成が行われるようになってい
る。このオブジェクト指向言語においては、データ処理
等を行う手続きとその対応データとを一体(カプセル
化)としてオブジェクトという単位を構成し、あるオブ
ジェクトのデータは、当該オブジェクトの手続きのみを
介して操作するようにしている。
ジェクトのデータに関連して何らかの処理を行う場合に
は、当該一のオブジェクトの手続きが当該他のオブジェ
クトの手続きに対して処理を依頼することになる。具体
的には、オブジェクト間でメッセージ通信が行われるこ
とで依頼処理等が実現される。ここで、オブジェクト指
向の概念におけるメッセージ通信とは、オブジェクトは
自律的に動作しており、必要に応じてメッセージを送信
することである。
チプロセス/マルチスレッド環境を実現するUNIX等
のOS(オペレーティングシステム)が広く用いられる
ようになっている。
タスクOSでは、プログラムはプロセスという単位で実
行されるとともに、さらにスレッドというプロセスより
も細かい実行単位を導入してスケジューリングを行って
いる。
する並行環境でオブジェクト指向言語のプログラムを実
行させる場合、一般に、プロセスは複数のオブジェクト
を有することとなり、オブジェクトはスレッドに対応す
る場合が多い。また、マルチタスクOSでは、プロセス
は複数存在するのが一般的である。
ージ通信は図27に示すようなメソッドにより行われ
る。なお、メソッドとは、C++言語におけるクラスの
中で定義される操作の実装である。
る従来のプログラム記述方法の例を示す図である。
ジェクトが同一プロセス内にある場合(同図(a))
と、異なるプロセス内にある場合(同図(b),
(c))とを示している。
は、図48(a)に示すように直接メッセージを送信す
ることができる。一方、他プロセス内のオブジェクトに
対しては、図48(b)に示すようにそのオブジェクト
が存在するプロセスの位置を指定することによって、メ
ッセージを送信することになる。
を行うのでは、プログラム作成時に各オブジェクトがど
のプロセスに配置されているのかを意識する必要が生じ
る。これではシステム開発に多大な労力がかかることに
なり、さらにその保守、変更等を行う場合にも負担が大
きい。かかる事情は、システム開発者の労力を大きくす
るばかりでなく、プログラムミスの少ない信頼性の高い
システムを容易に構築できるようにする上でも不都合で
ある。
って、オブジェクトBのプロセス配置が変更されるよう
な場合には、図48(c)に示すようにオブジェクトA
のメソッドを修正する必要があり、プログラム作成上の
負荷がますます大きくなる。
行う必要のある複数のプロセスが、複数の計算機上に分
散して配置される場合には、上記負担は更に過大とな
る。
28065号において送信先オブジェクトのプロセス配
置等を送信元オブジェクトにおいて意識することなく、
オブジェクト間のメッセージ通信を実現可能とする技術
が提案されている。
手段が設けられている。そして、このメッセージ通信制
御手段によって、あるオブジェクトから他のオブジェク
トへのオブジェクト宛メッセージの引き渡し制御が実行
され、上記オブジェクト間のメッセージ通信が実現され
るものである。
10−328065号に示される技術であっても、その
ソフトウエア開発段階において、作成途中のオブジェク
ト間メッセージ通信をいかにテストするかという問題が
ある。
通信テストの様子を示す図である。
に、テスト対象となるオブジェクトが生成された上で、
図49(a)に示すテストルーチンが記述される。さら
にテストを実行するのに同テストルーチンがコンパイル
・リンクされる。この場合には、オブジェクトAにメッ
セージAを送信するシナリオとなっている。
は、図49(b)に示すように先に作成したテストルー
チンを変更し、テストプログラムを再コンパイル・リン
クする必要がある。すなわちこのテスト方法では、テス
トシナリオを変更するたびに、テストルーチンを変更
し、その都度テストプログラムを再コンパイル・リンク
することになる。
パイル・リンクしながらテスト作業を行うのでは、テス
トに時間が掛かることになり効率が悪いものとなる。
トがメッセージを受け取ったことにより、テスト対象外
のオブジェクトにメッセージを送信する際には、テスト
プログラムが途中で異常終了してしまう可能性があり、
テストを効果的に行い得ないという問題もある。
中で異常終了してしまう場合を示す図である。
ェクトがオブジェクトAであった場合を考える。このオ
ブジェクトAは、同図(b)に示すようにメッセージA
を受け取ると、メソッドA(メッセージAに対応する処
理)の中でオブジェクトXへメッセージXを送信するよ
うになっている。
状態でテストを実行すると、オブジェクトAのメソッド
AによってオブジェクトXへメッセージXが送信され、
この時点でテストプログラムが異常終了してしまう。こ
のとき、あらかじめオブジェクトXを生成しておけば問
題は発生しないが、システムを開発途中の場合には、す
べてのオブジェクトが開発済みであるとは限らない。
れたもので、その第1の目的は、開発したオブジェクト
をテストするためのテストシナリオを柔軟に選択・変更
でき、ひいてはシステム開発途上時のオブジェクトのテ
ストを効率的に行い、システムを効率的に開発できるオ
ブジェクト指向メッセージ通信テスト装置及び記憶媒体
を提供することにある。
ェクトからテスト対象外のオブジェクトへのメッセージ
通信があるような場合でもテストプログラムを続行可能
とし、ひいてはシステム開発途上時のオブジェクトのテ
ストを効率的に行い、システムを効率的に開発できるオ
ブジェクト指向メッセージ通信テスト装置及び記憶媒体
を提供することにある。
に、請求項1に対応する発明は、マルチプロセス機能を
有するオペレーティングシステムにて実行される一以上
のプロセスを生成させ、かつ、データと手続きとをカプ
セル化した一以上のオブジェクトをプロセスが有するよ
うに、当該プロセスを生成させるためのプログラムに対
し、オブジェクト間のメッセージ通信をテストするオブ
ジェクト指向メッセージ通信テスト装置についてなされ
たものである。
ト装置にはメッセージ代理受信手段が設けられている。
スト対象となる最初のオブジェクトにメッセージが送出
されるとともに、このテストにより何れかのオブジェク
トから出力された送信メッセージの受取先が非生成状態
である場合には、当該受取先に代えて前記送信メッセー
ジが受信される。
生じることがなく、テスト対象のオブジェクトからテス
ト対象外のオブジェクトへのメッセージ通信があるよう
な場合でもテストプログラムを続行可能とし、ひいては
システム開発途上時のオブジェクトのテストを効率的に
行い、システムを効率的に開発することができる。
プロセス機能を有するオペレーティングシステムにて実
行される一以上のプロセスを生成させ、かつ、データと
手続きとをカプセル化した一以上のオブジェクトをプロ
セスが有するように、当該プロセスを生成させるための
プログラムに対し、オブジェクト間のメッセージ通信を
テストするオブジェクト指向メッセージ通信テスト装置
についてなされたものである。
ト装置には、まず、テストシナリオ格納手段が設けら
れ、同手段に、送信元オブジェクト、送信先オブジェク
ト及びメッセージ種類の各情報を含む少なくとも一つの
シナリオからなるテストシナリオが格納されている。
テストシナリオから送信元オブジェクト、送信先オブジ
ェクト及びメッセージ種類がテストアイテムとして抽出
される。
オの何れか若しくはテストアイテムの指定された組み合
わせに基づくメッセージ通信テストが実行される。
トするためのテストシナリオを柔軟に選択・変更でき、
ひいてはシステム開発途上時のオブジェクトのテストを
効率的に行い、システムを効率的に開発することができ
る。
プロセス機能を有するオペレーティングシステムにて実
行される一以上のプロセスを生成させ、かつ、データと
手続きとをカプセル化した一以上のオブジェクトをプロ
セスが有するように、当該プロセスを生成させるための
プログラムに対し、オブジェクト間のメッセージ通信を
テストするオブジェクト指向メッセージ通信テスト装置
についてなされたものである。
ト装置には、メッセージ送受表示入力手段が設けられて
いる。
て、以下の表示及び入力受付が行われる。すなわちま
ず、送信元オブジェクト、送信先オブジェクト及びメッ
セージ種類の各情報を含む少なくとも一つのシナリオか
らなるテストシナリオが表示され、テストシナリオから
抽出される送信元オブジェクト、送信先オブジェクト及
びメッセージ種類がテストシナリオの表示とは別途に表
示される。
アイテムの指定された組み合わせを、メッセージ通信テ
ストの内容として実行するよう入力させる実行ボタンが
表示される。
ボタンからの入力が受け付けられるようになっている。
で、請求項2に係る発明と同様な作用効果を得ることが
できる。
2又は3に対応する発明において、テスト対象となる最
初のオブジェクトにメッセージを送出するとともに、こ
のテストにより何れかのオブジェクトから出力された送
信メッセージの受取先が非生成状態である場合には、当
該受取先に代えて前記送信メッセージを受信するメッセ
ージ代理受信手段を備えたオブジェクト指向メッセージ
通信テスト装置である。
求項1及び請求項2又は3の発明を組み合わせた効果を
得ることができる。
1〜4に対応する発明において、プロセスは、自プロセ
ス又は他プロセスのオブジェクトが出力するオブジェク
ト宛のメッセージを受け取るとともに、そのメッセージ
の宛先が自プロセス内であるときはその宛先オブジェク
トにメッセージを引き渡し、宛先が他のプロセス内とな
るときは、当該他のプロセスにメッセージを引き渡すメ
ッセージ通信制御手段を備えたオブジェクト指向メッセ
ージ通信テスト装置である。
求項1〜4に係る発明と同様な効果が得られる他、メッ
セージ通信制御手段により、送信先オブジェクトのプロ
セス配置等を送信元オブジェクトにおいて考慮すること
なく、オブジェクト間のメッセージ通信を実現すること
ができる。
5に対応する発明において、メッセージ通信制御手段
は、各オブジェクトがどのプロセスに属するかの情報を
記録するプロセス対応記録手段と、プロセス対応記録手
段を検索し、受け取ったメッセージの宛先オブジェクト
がどのプロセスに属するを判定する判定手段とを備えた
オブジェクト指向メッセージ通信テスト装置である。
求項1〜5に係る発明と同様な効果が得られる他、請求
項5に対応する発明を効率的にかつ確実に実現すること
ができる。
5又は6に対応する発明において、メッセージ通信制御
手段は、各オブジェクトが元々有する論理的なオブジェ
クト識別情報と、オペレーティングシステムに生成され
たときに各オブジェクトに付された動作時オブジェクト
識別情報との対応情報を記録するオブジェクト対応記録
手段を備えるとともに、メッセージの宛先情報として論
理的なオブジェクト情報のみが付されているときであっ
ても、オブジェクト対応記録手段を検索して動作時オブ
ジェクト識別情報を取得することにより、宛先オブジェ
クトにメッセージを引き渡し可能とするオブジェクト指
向メッセージ通信テスト装置である。
求項1〜6に係る発明と同様な効果が得られる他、送信
元オブジェクトのメゾットにおいて、送信先オブジェク
トのプロセス位置等を考慮することなく、論理的なオブ
ジェクト識別情報を指定しておくのみで、メッセージ送
信先を特定することができる。したがって、オブジェク
トに割り当てられるプロセスが変更された場合でも、柔
軟かつ容易に対応することができる。例えばプロセス配
置の変更に伴うプログラムの変更量を軽減し、システム
を効率的に開発することができる。
1に対応する発明をコンピュータに実現させるプログラ
ムを記録した記録媒体である。
により制御されるコンピュータは、請求項1のオブジェ
クト指向メッセージ通信テスト装置として機能する。
2に対応する発明をコンピュータに実現させるプログラ
ムを記録した記録媒体である。
により制御されるコンピュータは、請求項2のオブジェ
クト指向メッセージ通信テスト装置として機能する。
項3に対応する発明をコンピュータに実現させるプログ
ラムを記録した記録媒体である。
により制御されるコンピュータは、請求項3のオブジェ
クト指向メッセージ通信テスト装置として機能する。
て説明する。
の第1の実施の形態における計算機システムの一例を示
す構成図である。この計算機システムのために開発され
るプログラムが、第2の実施形態以降で説明するオブジ
ェクト指向メッセージ通信テスト装置にてテストされる
ものである。
ンピュータやワークステーション等の計算機上でマルチ
プロセス/マルチスレッド環境を実現するUNIX等の
OSが動作し、さらに当該OS上に複数のプロセス21
−1〜21−2(プロセス#1〜#2)が設けられてな
っている。以下、本明細書において各機能構成部分を示
す符号における「−1」,「−2」,..部分を削除し
て例えば「プロセス21」等と示した場合には、その機
能構成部分の一般的な場合を意味する。
ェクト指向言語で記述されたプログラムをもとに生成さ
れたものであり、それぞれメッセージ通信制御部23お
よびアクタ部24で構成されている。逆にそのオブジェ
クト指向言語は、本実施形態のプロセス21を構成でき
るような仕様となっている。
理を行うための主たるオブジェクトが配置される。ここ
で、プロセス21−1のアクタ部24には、オブジェク
ト29−1〜29−2(オブジェクトA〜B)が存在す
る。また、プロセス21−2のアクタ部24には、オブ
ジェクト29−3〜29−4(オブジェクトC〜D)が
存在する。
4に配置された各オブジェクト29が他のオブジェクト
と通信するために、メッセージハンドラ30等の各機能
を有している。なお、メッセージ通信制御部23の機能
構成部分も基本的にはオブジェクトから構成される。
マップ31及びオブジェクト対応マップ32を参照して
アクタ部24内のオブジェクト29が出力するメッセー
ジ通信の取り扱いを管理する。すなわち直接メッセージ
通信の引き渡しを管理するか、プロセスメッセージハン
ドラ等の他の機能構成部分にメッセージ通信の送信を依
頼し、あるいは他の機能構成部分から自プロセス21宛
のメッセージ通信を受け取る。
〜30−2は、システム内に唯一存在するプロセス対応
マップ31を参照し、送信先オブジェクト29−1〜2
9−4が存在するプロセスを識別する。
図である。
な構成(フォーマット)を示し、同図(b)は本実施形
態の場合におけるプロセス対応マップ31の構成を示し
ている。
成例を示す図である。
般的な構成(フォーマット)を示し、同図(b)は本実
施形態の場合におけるオブジェクト対応マップ32−1
の構成を示す。さらに、同図(c)は本実施形態の場合
におけるオブジェクト対応マップ32−2の構成を示し
ている。
同一プロセス内での通信であることが判定された場合に
は、メッセージハンドラ30−1は、さらに図3に示す
オブジェクト対応マップ32−1,32−2(オブジェ
クト対応マップP1,P2)をそれぞれ参照し、送信先
オブジェクトの識別番号(動作時オブジェクトID)を
取得する。さらに取得したオブジェクトIDをもとに、
アクタ部24内でのメッセージの引き渡しを行う。
構成例を示すブロック図である。
は各オブジェクト29に対応して、メッセージキュー3
8及びメッセージマップ39が設けられている。詳細は
後述するが、このメッセージキュー38及びメッセージ
マップ39によりメッセージ通信の引き渡しが実現され
る。
である。
構成(フォーマット)を示し、同図(b)は本実施形態
の場合におけるメッセージマップ39−1の構成を示
す。さらに、同図(c),(d),(e)は、それぞれ
本実施形態の場合におけるメッセージマップ39−2,
39−3,39−4の構成を示している。
るプロセスメッセージハンドラ34からメッセージの取
り扱い通知を受けたときも上記と同様にしてアクタ部2
4のオブジェクトIDを取得して、メッセージの引き渡
しを行う。
結果、異なるプロセス間での通信であることが判定され
た場合には、メッセージハンドラ30−1は、このメッ
セージ通信を図6に示すプロセスメッセージハンドラ3
4に依頼する。
部の詳細構成例を示すブロック図である。
とオブジェクト29−3〜29−4との間のメッセージ
通信は、プロセスメッセージハンドラ34−1〜34−
2(プロセスメッセージハンドラP1−P2〜P2−P
1)が取り扱う。
−2との間は、共有メモリ37−1(共有メモリP1−
P2:プロセス#1からプロセス#2へのメッセージ通
信)及び共有メモリ37−2(共有メモリP2−P1:
プロセス#2からプロセス#1へのメッセージ通信)が
設けられ、これらの共有メモリ37−1〜37−2を介
して、オブジェクト29−1〜29−2とオブジェクト
29−3〜29−4との間のメッセージ通信が可能とな
っている。
−2、プロセスメッセージハンドラ34−1〜34−
2、オブジェクト29−1〜29−4は、それぞれ自律
的に動作し一つのスレッドが割り当てられており、この
スレッドが自分自身のキューを監視している。アクタ部
24のオブジェクト29−1〜29−4の存在するプロ
セス21−1〜21−2を表現したプロセス対応マップ
31は、あらかじめ図2(b)に示す内容でファイルや
共有メモリなどシステム稼動時に参照できるような形態
で保管しておく。
における計算機システムの動作について説明する。
て説明する。
ッセージ通信について図8を用いて説明する。
メッセージ通信処理の様子を示す流れ図である。
1によってオブジェクト29−2に向けてメッセージA
を送信することを考える。
1の内容例を示す図である。
グラム中の論理的な番号を意味し、以下、論理オブジェ
クトID101と呼ぶ。この論理オブジェクトID10
1は、図2,図3に示すプロセス対応マップ31及びオ
ブジェクト対応マップ32に対応するものである。な
お、この論理オブジェクトID101と区別するため
に、生成された動作中のオブジェクトに付けられるオブ
ジェクトIDを動作時オブジェクトID102と呼ぶ
(図3)。動作時オブジェクトID102は当該オブジ
ェクトが計算機におけるメモリ上の位置を示し、具体的
にはポインタ等を意味している。
1からオブジェクト29−2に向けてメッセージAが送
信されると、メソッドm1によって送信先のオブジェク
ト29−2の論理オブジェクトID101と送信メッセ
ージAがメッセージハンドラ30−1に渡され、メッセ
ージハンドラキュー33−1に格納される(T13)。
らオブジェクト29−2の論理オブジェクトID101
とメッセージAとがメッセージハンドラ30−1によっ
て取り出され(T14)、プロセス対応マップ31(図
2)に記述されたオブジェクト29−2の論理オブジェ
クトID101に対応するプロセスが検索される(T1
5)。
がオブジェクト29−1と同一プロセス21−1(プロ
セス#1)に存在するかどうかが判定される(T1
6)。
が判明するので、ステップT17に進む。ステップT2
1に進む場合は後述する。
り、メッセージAがスレッド終了メッセージでないこと
が確認される(T17)。さらに、メッセージハンドラ
30−1がオブジェクト対応マップ32−1を検索する
ことで(T18)オブジェクト29−2の論理オブジェ
クトID101(オブジェクト識別子)に基づき動作時
オブジェクトID102(オブジェクト)が取り出され
る(T19)。
D102に基づき、メッセージハンドラ30−1による
送信先オブジェクト29−2へのメッセージAの送信が
行われる(T20)。
スレッドによる処理に移る。
よるメッセージ通信処理を示す図である。
れると、送信メッセージAが送信先オブジェクト29−
2に渡され、メッセージキュー38−2に格納される
(T24)。
29−2によってメッセージキュー38−2から取り出
され(T25)、スレッド終了メッセージでないことが
確認される(T26)。さらに、当該オブジェクト29
−2によってメッセージAに対応するメソッドAが図5
のメッセージマップ39−2から検索される(T2
7)。
セージAがメソッドAに対応しているので、このメソッ
ドAがオブジェクト29−2によって呼び出され、実行
される(T28)。
ッセージ通信であるが、次に、別プロセスに属するオブ
ジェクト間でのメッセージ通信について説明する。
ェクト29−4に向けてメッセージAを送信する場合を
考える。この通信においても、その通信用メゾットでは
図9のメゾットm1と同一の形式で通信相手が規定され
る。すなわち通信相手オブジェクトの論理オブジェクト
ID101のみが指定されている。
らT15までの動作は上述と同様である。
ジェクトID101はID_Dでありプロセス21−2
(#2)に属するためオブジェクト29−1とは異なる
プロセスに存在することが判明する(T16)。したが
って、この場合は図7においてステップT21に進む。
り、プロセス21−2に対応するプロセスメッセージハ
ンドラ34−1が取り出される(T21)。ついで、オ
ブジェクト29−4の論理オブジェクトIDとメッセー
ジAとがプロセスメッセージハンドラ34−1に送信さ
れる(T22)。この論理オブジェクトIDとメッセー
ジAとは、プロセスメッセージハンドラ34−1によっ
てプロセス送信用メッセージキュー35−1に格納され
る(T23)。続いて共有メモリ37−1上にオブジェ
クト29−4の論理オブジェクトIDとメッセージAが
置かれる。
タはプロセス#2によって以下のように処理される。
ージがプロセスメッセージハンドラにより処理される様
子を示す流れ図である。
するプロセス21−2(#2)内のプロセスメッセージ
ハンドラ34−2によって、共有メモリ37−1に置か
れたオブジェクト29−4の論理オブジェクトIDとメ
ッセージAが取り出され、プロセス受信用メッセージキ
ュー36−2に格納される(T29)。
クトIDとメッセージAとはプロセスメッセージハンド
ラ34−2によって、プロセス受信用メッセージキュー
36−2から取り出される(T30)。さらにメッセー
ジAがスレッド終了メッセージでないことが確認された
上で(T31)、メッセージハンドラ30−2に送信さ
れる(T32)。
ージとは、プロセス#2のメッセージハンドラ30−2
により、メッセージハンドラキュー33−2に格納され
る(図7:T13)。
ジAとはメッセージハンドラ30−2によってメッセー
ジハンドラキュー33−2から取り出され(T14)、
プロセス対応マップ31によってこの論理オブジェクト
ID101に対応するプロセスが検索される(T1
5)。
ジェクト29−4の論理オブジェクトID102は、メ
ッセージハンドラ30−2と同一プロセス21−2に存
在することが判明するため(T16)、ステップT17
に進む。
て、プロセス#1から受け取った論理オブジェクトID
を調べたところ、そのメッセージの送信先がプロセス#
2であることがメッセージハンドラ30−2により判定
されたものである。両プロセス#1,#2内のメッセー
ジハンドラ30−1,30−2は同様な動作を行うた
め、以降の処理は、上述した同一プロセス内でのメッセ
ージ通信と同様である。
いことが確認された上(T17)オブジェクト対応マッ
プ32−2から動作時オブジェクトID102が検索さ
れ(T18)、取り出され(T19)、送信先オブジェ
クト29−4にメッセージAが送信される(T20)。
メッセージAが送信先オブジェクト29−4のメッセー
ジキュー38−4に一旦格納された後(T24)、メッ
セージAが取り出される(T25)。さらに、メッセー
ジAがスレッド終了メッセージでないことが確認され
(T26)、メッセージAに対応するメソッドAをメッ
セージマップ39−4から検索される(T27)。そし
て、メッセージAに対応するメソッドAが呼び出され実
行される(T28)。
ト間メッセージ通信が実現される。
メッセージ通信、及び異なるプロセス間でのオブジェク
ト間メッセージ通信の何れも、論理オブジェクトID1
01のみが指定されたメゾットm1と同一形式のメゾッ
トにより実現される。すなわち通信相手のオブジェクト
の所属するプロセスや動作時プロセスIDを全く考慮す
ることなく、通信可能となっている。
る計算機システムは、プログラムの並行処理が可能なマ
ルチプロセス/マルチスレッド環境において、データと
手続きをカプセル化した複数のオブジェクト間のメッセ
ージ通信装置を提供するようにしたので、オブジェクト
指向の概念におけるメッセージ通信、およびオブジェク
トの自律的な動作を実現し、さらにオブジェクト間のメ
ッセージ通信において送信先オブジェクトのプロセス配
置を意識しないようにすることができる。
おいては、第1の実施形態の計算機システムに用いられ
るオブジェクト指向プログラムをテストするためのオブ
ジェクト指向メッセージ通信テスト装置について説明す
る。
オブジェクト指向メッセージ通信テスト装置の一例を示
す構成図であり、図1〜図10と同一部分には同一符号
を付して説明を省略し、ここでは異なる部分についての
み述べる。
信テスト装置20′は、第1の実施形態の計算機システ
ム20と同様な計算機上に構成されるものであり、第1
の実施形態では図示を省略した入力装置99が示される
とともに、プロセス21−1(#1)がメッセージ通信
テスト用のプロセスとなっている他、第1の実施形態と
同様に構成されている。
1)及びプロセス21−2(#2)の2つのプロセスが
設けられ、本実施形態のプロセス21−2(#2)は第
1の実施形態のプロセス21−1(#1)に相当する。
したがって、これに対応し、以降の図面においては、符
号の「−1」,「−2」部分が修正されている。
テスト用のプロセスであり、アクタ部24に代えてテス
ト制御部22が設けられる他、第1の実施形態と同様に
構成されている。なお、テスト制御部22は本発明にお
いて改良を施したアクタ部24の一形態である。
指向メッセージ通信テスト装置におけるメッセージ通信
制御部の詳細構成例を示すブロック図であり、図1〜図
11と同一部分には同一符号を付して説明を省略する。
ト指向メッセージ通信テスト装置におけるテスト制御部
並びにアクタ部の詳細構成例を示すブロック図であり、
図1〜図12と同一部分には同一符号を付して説明を省
略する。
すように、テストハンドラ25,テストシナリオ26,
テストアイテムリスト27,メッセージ送受表示GUI
28及びメッセージキュー38−0から構成されてい
る。なお、メッセージ送受表示GUI28の出力先であ
り表示装置は図示を省略している。
ドラ25によってテストシナリオ7を駆動するプロセス
であって、プロセス21−2はそのテスト対象となるオ
ブジェクト29−1〜29−2(オブジェクトA〜B)
を含むプロセスである。
信手段、テストアイテム抽出手段及びテスト実行手段と
して機能するものである。すなわちメッセージ送受表示
GUI28の指令に従い、メッセージハンドラ30−1
とメッセージを送受することでメッセージ送信テストを
実行し、また、そのテスト結果をメッセージ送受表示G
UI28に引き渡す。メッセージハンドラ30−1以降
の処理はプロセス対応マップ31及びオブジェクト対応
マップ32に従い第1の実施形態と同様に扱われる。
は、メッセージ送受表示GUI28に指定されたテスト
シナリオ26に従う場合、テストアイテムリスト27を
利用しメッセージ送受表示GUI28から直接指示入力
する場合等がある。
又は入力装置99により設定入力される少なくとも1種
類のメッセージ送信テストのシナリオが保持されてお
り、このシナリオは送信先オブジェクトとメッセージを
表現したものである。
すような内容でファイルや共有メモリなどシステム稼動
時に参照できるような形で保管しておく。
であり、同図(a)は一般形、同図(b)は本実施形態
に対応する内容例を示している。
ェクト名やメッセージ名等のテストパターンを組むため
の情報が格納されている。この情報は、システム立ち上
げ時にテストシナリオ26から抽出されて保存される
が、立ち上げ後に入力することも可能である。テストシ
ナリオ26にないシナリオパターンでテストする場合等
にこのテストアイテムリスト27に格納された各情報が
使用される。
置99からの設定情報や指令入力を受け付けるととも
に、表示装置に結果出力し、また、テストシナリオ26
あるいはテストアイテムリスト27に設定情報を出力す
るとともに、テストハンドラ25に対してテスト指令を
出力するようになっている。
いて行き先のないメッセージを戻す戻し先に用いられる
ものである。
−2、プロセスメッセージハンドラ34−1〜34−
2、テストハンドラ25、オブジェクト29−1〜29
−2は、それぞれ自律的に動作し一つのスレッドが割り
当てられており、このスレッドが自分自身のキューを監
視している。テスト制御部22のテストハンドラ25お
よびアクタ部24のオブジェクト29−1〜29−2の
存在するプロセス21−1〜21−2を表現したプロセ
ス対応マップ31は、あらかじめ図15に示す内容でフ
ァイルや共有メモリなどシステム稼動時に参照できるよ
うな形態で保管しておく。次に、プロセス対応マップ3
1,オブジェクト対応マップ32及びメッセージマップ
39の構成例を示す。
マップの構成を示す図である。
対応マップの構成を示す図であり、同図(a)はオブジ
ェクト対応マップ32−1、同図(b)はオブジェクト
対応マップ32−2の構成を示している。
ップの構成を示す図であり、同図(a)はメッセージマ
ップ39−1、同図(b)はメッセージマップ39−2
の構成を示している。
一般的な構成は、第1の実施形態と同様であるので省略
している。
のオブジェクトCがプロセス#1に論理オブジェクトI
D101として割り付けられている。これに対応し、図
16のオブジェクト対応マップ32ではオブジェクトC
の論理オブジェクトID101に対する動作時オブジェ
クトID102としてテストハンドラが割り付けられて
いる。このようなマップ構成とすることで未だに作成さ
れていないオブジェクトにメッセージを発信する場合が
あってもエラーを生じずにテストできるようになってい
る。
ジテスト用に予め作成されるものであり、メッセージマ
ップ29もメソッドとメッセージの関係に対応して予め
作成されている。しかし、オブジェクト対応マップ32
は後述するように、テストシステム生成時に作成される
ものである。
におけるオブジェクト指向メッセージ通信テスト装置の
動作について説明する。
のプロセスの動作、メッセージ通信制御部23、テスト
制御部22およびアクタ部24の動作を図18及び図1
9のフロー図を参照して説明する。
の際の立ち上げ処理を説明する第1の図である。
の際の立ち上げ処理を説明する第2の図である。
を含むプロセスが起動される場合には、まず始めに、メ
ッセージハンドラ30−1が生成される(図18
(a):S1)。次に、テストシナリオ26を駆動する
テストハンドラ25が生成される(S2)。さらに、シ
ナリオ情報およびテストアイテム(送信先オブジェクト
IDとメッセージ)を表示するメッセージ送受表示GU
I28が生成される(S3)。
29−2を含むプロセスが起動される場合には、まず始
めに、メッセージハンドラ30−2(図18(b):S
4)が生成される。次に、プロセスに存在するべきオブ
ジェクト29−1〜29−2が生成される(S5)。
セージハンドラ30−1〜30−2の生成について説明
する。この場合は、まずメッセージハンドラキュー33
−1〜33−2が生成され(図18(c):S6)、メ
ッセージハンドラキュー33−1〜33−2を監視する
ためのスレッドが起動される(S7)。さらに、プロセ
ス対応マップ31が読み込まれ(S8)、プロセスメッ
セージハンドラ34−1〜34−2が生成される(S
9)。
セージハンドラ34−1〜34−2の生成時には、まず
プロセス送信用メッセージキュー35−1〜35−2が
生成され(図19(d):S10)、プロセス受信用メ
ッセージキュー36−1〜36−2が生成される(S1
1)。さらに、プロセス受信用メッセージキュー36−
1〜36−2を監視するためのスレッドが起動される
(S12)。
ラ25の生成時には、テストシナリオ26からシナリオ
情報が読み込まれ(図19(e):S13)、テストシ
ナリオ26から送信先オブジェクトおよびメッセージを
抽出したテストアイテムリスト27が作成される(S1
4)。次に、読み込んだシナリオ情報と作成したテスト
アイテムがメッセージ送受表示GUI28に表示され
(S15)、メッセージキュー38−0が生成される
(S16)。さらに、メッセージキュー38−0を監視
するためのスレッドが起動され(S17)、メッセージ
ハンドラ30−1に自分自身が登録される(ステップS
18)。
クト対応マップ32−1に未だ作成されていないオブジ
ェクトについても登録がなされることになる。ここで、
当該オブジェクトの代わりになるのはテストハンドラ2
5である。すなわちプロセス対応マップ31の情報から
プロセス#1にオブジェクトCが存在することとなる。
しかし、実際には同オブジェクトCが存在しないため、
オブジェクトCの論理オブジェクトID101にテスト
ハンドラの動作時オブジェクトID102が割り付けら
れることになるようオブジェクト対応マップ32−1が
生成される。
ト対象となるオブジェクト29−1〜29−2の生成時
には、まずメッセージキュー38−1〜38−2が生成
され(図19(f):S19)、メッセージキュー38
−1〜38−2を監視するためのスレッドが起動される
(S20)。さらに、メッセージハンドラ30−2に自
分自身が登録される(S21)。以上により図16に示
すように、オブジェクト対応マップ32−1〜32−2
にオブジェクトが登録される。
して、テストハンドラ25が生成されると、テストシナ
リオ26が読み込み、送信先のオブジェクトIDと送信
メッセージとが取得され、シーケンシャルなシナリオ情
報としてメッセージ送受表示GUI28に表示される。
一方、任意の送信先オブジェクトIDと任意の送信メッ
セージを選択できるように、テストシナリオ6から送信
先オブジェクトおよびメッセージが抽出されてテストア
イテムリスト7が作成され、メッセージ送受表示GUI
8に先のシーケンシャルなシナリオ情報とは別にこれら
の情報が表示される(後述の図24)。こうして、メッ
セージ通信テストの準備が整うことになる。
いは任意の送信先オブジェクトIDと任意の送信メッセ
ージを選択すると、テストハンドラ25によりメッセー
ジ通信テストが開始される。本実施形態ではテストシナ
リオ26を用いてテストする場合を説明し、任意組み合
わせモードによるテストは後述の第4の実施形態で説明
する。
はテストハンドラ25からオブジェクトAにメッセージ
Aを送信するようになっている。この最初のメッセージ
送信の結果、オブジェクトAからオブジェクトBへ通信
メッセージBが送信され、さらにオブジェクトBからオ
ブジェクトCへメッセージCが送信されるように、それ
ぞれのオブジェクトA,Bがプログラムされている場合
を考える。
に、オブジェクトA及びBはテストハンドラとは異なる
同一プロセス#2内に存在し、オブジェクトC自体は未
だ作成されていない。
プロセス21−1からテスト対象プロセス21−2への
メッセージ通信(テストハンドラ25からオブジェクト
29−1〜29−2へのメッセージ通信)、同一プロセ
ス内のテスト対象オブジェクト間のメッセージ通信(オ
ブジェクト29−1からオブジェクト29−2へのメッ
セージ通信)、テスト対象プロセス21−2からテスト
ハンドラプロセス21−2へのメッセージ通信(オブジ
ェクト29−2からテスト対象外オブジェクトへのメッ
セージ通信)の各メッセージ通信テストについて、図2
0〜図23のフロー図を用いて順に説明する。
ンドラスレッドメッセージ通信の動作を示す流れ図であ
り、図21は本実施形態におけるプロセスメッセージハ
ンドラスレッドメッセージ通信の動作を示す流れ図であ
る。
ハンドラスレッドメッセージ通信の動作を示す流れ図で
あり、図23は本実施形態におけるオブジェクトスレッ
ドメッセージ通信の動作を示す流れ図である。
からオブジェクト29−1〜29−2へのメッセージ通
信 まず、テストハンドラプロセス21−1からテスト対象
プロセス21−2へのメッセージ通信に関し、メッセー
ジ通信制御部23のメッセージハンドラ30−1および
テスト制御部22のテストハンドラ25の動作を説明す
る。
リオ27は、図14(a)に示すフォーマットであらか
じめ与えられている。図14(b)は本実施例における
具体例である。
報]、[オブジェクト名対応]、[メッセージ名対応]
の三種類の情報が記述されている。最初の[シナリオ情
報]には、送信元オブジェクト名(“テストハンド
ラ”)、送信先オブジェクト名(“オブジェクト
A”)、メッセージ名(“メッセージA”)を順に記述
する。次の[オブジェクト名対応]と[メッセージ名対
応]は、テストハンドラ25がメッセージ送受表示GU
I28にシナリオ情報やメッセージ送受状況を表示する
ために利用される。[オブジェクト名対応]とは、オブ
ジェクトIDとオブジェクト名の対応を表し、[メッセ
ージ名対応]とは、メッセージIDとメッセージ名の対
応を表す。なお、図14において、左側の番号(1,
2,3,..等)がID(論理オブジェクトID101
等に相当)を示し、番号の右側の名称(オブジェクト
A,メッセージA等)がオブジェクト名等を示してい
る。
る際には、実際には送信元オブジェクトIDとメッセー
ジIDを格納したものを作成する。以下では、説明を簡
略化するため、メッセージの送信はメッセージ名(メッ
セージAなど)で記述する。
て表示されるメッセージ通信テスト環境画面を示す図で
ある。
発者によりシナリオ読み込みボタン111が指定入力さ
れると(マウスクリック等による)、テストハンドラ2
5によりテストシナリオ26が読み込まれ、メッセージ
送受表示GUI28のシナリオ一覧112にシナリオ情
報が表示される。また、このときオブジェクトおよびメ
ッセージ一覧113にはシナリオ26から抽出されテス
トアイテムリスト27に格納された情報が表示される。
報が選択され、連続送信ボタン114が押されると、テ
ストハンドラ25により一定間隔でテストシナリオ26
に沿ったメッセージ送信が行われる。
ト29−1に向けてメッセージAを送信することを考え
る。
ッドは、図25(a)に示す内容になっている。
いはオブジェクトに対応する各メゾット内容例を示す図
である。
クト29−1(オブジェクトA)に向けてメッセージA
が送信されると、まず送信先オブジェクト29−1の論
理オブジェクトIDと送信メッセージAが図12のメッ
セージハンドラ30−1に渡され、メッセージハンドラ
キュー33−1に格納される(図20;S22)。
セージハンドラキュー33−1からオブジェクト29−
1の論理オブジェクトID101とメッセージAが取り
出され(S23)、図15のプロセス対応マップ31に
記述されたオブジェクト29−1の論理オブジェクトI
D101に対応するプロセスが検索される(ステップS
24)。
セージハンドラ30−1と同一プロセス21−1に存在
するかどうかが調べられる(S25)。この場合、図1
5にあるように、オブジェクトAがテストハンドラ25
とは異なるプロセス#2に存在することが判明する。し
たがって、メッセージハンドラ30−1により、プロセ
ス21−2(#2)に対応するプロセスメッセージハン
ドラ34−1が取り出され(S30)、オブジェクト2
9−2の論理オブジェクトID101とメッセージAが
プロセスメッセージハンドラ34−1に送信される(S
31)。オブジェクト29−2の論理オブジェクトID
101とメッセージAが送信されると、これらがプロセ
ス送信用メッセージキュー35−1に格納され(S3
2)、続いて共有メモリ27−1上にオブジェクト29
−1の論理オブジェクトID101とメッセージAとが
置かれる。
するプロセス21−2内のプロセスメッセージハンドラ
34−2により共有メモリ37−1に置かれたオブジェ
クト29−1の論理オブジェクトID101とメッセー
ジAが取り出され、プロセス受信用メッセージキュー3
6−2に格納される(図21;S33)。プロセスメッ
セージハンドラ34−2により、プロセス受信用メッセ
ージキュー36−2からオブジェクト29−1の論理オ
ブジェクトID101とメッセージAが取り出される
(S34)。このメッセージAがスレッド終了メッセー
ジでないことが確認された上で(S35)、これらがメ
ッセージハンドラ30−3に送信される(S36)。
ブジェクトIDとメッセージAは、メッセージハンドラ
30−2によりメッセージハンドラキュー33−2に一
旦格納される(図20;S22)。メッセージハンドラ
30−2により、メッセージハンドラキュー33−2か
らオブジェクト29−1のオブジェクトIDとメッセー
ジAが取り出され(S23)、図15のプロセス対応マ
ップ31に記述されたオブジェクト29−1の論理オブ
ジェクトID101に対応するプロセスが検索される
(S24)。この場合、オブジェクト29−1がメッセ
ージハンドラ30−2と同一プロセス21−2に存在す
るかどうかが調べられる(S25)。
ス#2に存在することが判明するので、メッセージAが
スレッド終了メッセージでないことが確認された上で
(S26)、メッセージハンドラ30−2によって、図
16のオブジェクト対応マップ32−2からオブジェク
ト29−1の論理オブジェクトID101に対応するオ
ブジェクト29−1の動作時オブジェクトID102が
検索される(S27)。
理オブジェクトID101に対応する動作時オブジェク
ト102がオブジェクト対応マップ32から取り出され
(S28)、送信先オブジェクト29−1にメッセージ
Aが送信される(S29)。
ージAが送信先オブジェクト29−1に渡され、送信先
オブジェクト29−1のメッセージキュー38−1に格
納される(図23;S41)。このメッセージAは送信
先オブジェクト29−1によってメッセージキュー38
−1から取り出され(S42)、メッセージAがスレッ
ド終了メッセージでないことが確認された上で(S4
3)、メッセージAに対応するメソッドAが図17のメ
ッセージマップ39−1から検索される(S44)。そ
してメッセージAに対応するメソッドAが呼び出され、
実行される(S45)。
信に基づく正常なオブジェクト動作がなされたか否かが
確認される。なお、このメッセージ通信状況は、例えば
図24に示すようにメッセージ送受表示GUI28のメ
ッセージ送受信状況115に表示される。
1からオブジェクト29−2へのメッセージ通信 次に、同一プロセス内のテスト対象オブジェクト間のメ
ッセージ通信に関し、メッセージ通信制御部23のメッ
セージハンドラ30−2およびアクタ部24のオブジェ
クト29−1〜29−2の動作を説明する。
オブジェクト29−2に向けてメッセージBを送信する
こととなる場合を考える。この場合、オブジェクト29
−1のメソッドAは、図25(b)に示す内容になる。
ト29−2に向けてメッセージBを送信すると、送信先
のオブジェクト29−2のオブジェクトIDと送信メッ
セージBがメッセージハンドラ30−2に渡され、メッ
セージハンドラキュー33−2に格納される(図20;
S22)。メッセージハンドラ30−2により、メッセ
ージハンドラキュー33−2からオブジェクト29−2
の論理オブジェクトID101とメッセージBが取り出
される(S23)。さらに、図15のプロセス対応マッ
プ31に記述されたオブジェクト29−2のオブジェク
トIDに対応するプロセスが検索される(S24)。こ
れによりオブジェクト29−2がオブジェクト29−1
と同一プロセス21−2(プロセス#2)に存在するか
どうかが調べられる(S25)。
ェクト20−1,29−2が同一プロセスに存在するこ
とが判明するので、メッセージBがスレッド終了メッセ
ージでないことが確認された上で(S26)、メッセー
ジハンドラ30−2により、図16(b)のオブジェク
ト対応マップ32−2からオブジェクト29−2のオブ
ジェクトIDに対応するオブジェクトが検索される(S
27)。
−2により、オブジェクト29−2の論理オブジェクト
ID101から動作時オブジェクト102が取り出され
(S28)、送信先オブジェクト29−2にメッセージ
Bが送信される(S29)。
ジェクト29−2に渡され、メッセージキュー38−2
に格納される(図23;S41)。送信先オブジェクト
29−2により、メッセージキュー38−2からメッセ
ージBが取り出され(S42)、メッセージBはスレッ
ド終了メッセージでないことが確認され(S43)、メ
ッセージBに対応するメソッドBが図17(b)のメッ
セージマップ39−2から検索される(S44)。
Bが呼び出され、オブジェクトBにより実行される(ス
テップS45)。
オブジェクトAからオブジェクトBへのメッセージ送信
という形で説明したが、例えば送信側オブジェクトAと
してテストハンドラ25を用いれば同一プロセス内のオ
ブジェクト間通信の場合であってもメッセージ通信テス
トを実行できることになる。
2からテスト対象外オブジェクトへのメッセージ通信 次に、テスト対象プロセス21−2からテストハンドラ
プロセス21−2へのメッセージ通信に関し、テスト制
御部22、メッセージ制御部23およびアクタ部24の
動作を説明する。
ドBによりテスト対象外のオブジェクトCに向けてメッ
セージCを通信することとなる場合を考える。オブジェ
クト29−2のメソッドBは、図25(c)に示す内容
になる。
をテストハンドラ25に受信させるために、図15にあ
るように、プロセス対応マップ31では、オブジェクト
Cが存在するプロセスをテストハンドラ25が存在する
プロセス21−1(プロセス#1)としている。一方、
テストハンドラ25が生成された際に、メッセージハン
ドラ30−1に自分自身が登録される(図19(e);
S18)。この時プロセス対応マップ31でテストハン
ドラ25が存在するプロセス21−1に送信先オブジェ
クト(この場合はオブジェクトC)が対応付けられてい
るときは、該当するオブジェクトIDもテストハンドラ
25自身として登録される。これは、テスト対象外であ
るオブジェクトCへのメッセージ送信をテストハンドラ
25が受け取るための仕組みである。
9−2(オブジェクトB)がオブジェクトCに向けてメ
ッセージCが送信されると、図20のステップS25ま
では先と同様な動作が行われる。
ェクトCが存在するプロセスは、テストハンドラ25が
存在するプロセス21−1であるため、メッセージハン
ドラ30−2によって、プロセス21−1に対応するプ
ロセスメッセージハンドラ34−2が取り出される(S
30)。さらに、オブジェクトCの論理オブジェクトI
D101(テストハンドラ25の動作時オブジェクトI
D102に対応)とメッセージCがプロセスメッセージ
ハンドラ34−2に送信される(S31)。
クトID101とメッセージCは、プロセス送信用メッ
セージキュー35−2に格納され(S32)、続いて共
有メモリ37−2上に置かれる。
ブジェクトCが存在すると記述されたプロセス21−1
内のプロセスメッセージハンドラ34−1によって、共
有メモリ37−2に置かれたオブジェクトCの論理オブ
ジェクトID101とメッセージAが取り出され、プロ
セス受信用メッセージキュー36−1に格納される(図
21;S33)。オブジェクトCの論理オブジェクトI
D101とメッセージAはプロセスメッセージハンドラ
34−1によってプロセス受信用メッセージキュー36
−1から取り出される(S34)。さらに、メッセージ
Aがスレッド終了メッセージでないことが確認された上
で(S35)、メッセージハンドラ30−1に送信され
る(S36)。
クトID101とメッセージAは、メッセージハンドラ
30−1によって、メッセージハンドラキュー33−1
に格納される(図20;S22)。さらに、メッセージ
ハンドラ30−1によって、メッセージハンドラキュー
33−1からオブジェクトCの論理オブジェクトID1
01とメッセージCが取り出される(S23)。
ブジェクトID101に対応するプロセスが、図15の
プロセス対応マップ31から検索される(S24)。こ
れにより、オブジェクトCがメッセージハンドラ30−
1と同一プロセス21−1に存在するかどうか調べられ
る(S25)。この場合は、同一プロセスに存在するこ
とが判明するので、メッセージCがスレッド終了メッセ
ージでないことが確認された上で(S26)、メッセー
ジハンドラ30−1によって、図16(a)のオブジェ
クト対応マップ32−1からオブジェクトCの論理オブ
ジェクトID101に対応する動作時オブジェクトID
102が検索される(S27)。
対応マップ32−1においてはオブジェクトCの論理オ
ブジェクトID101に対してはテストハンドラ25の
動作時オブジェクトID102が割り付けられている。
したがって、テストハンドラ25の動作時オブジェクト
ID102が取り出され(S28)、オブジェクトCの
代用としてのテストハンドラ25にメッセージCが送信
される(プS29)。
25に渡され、テストハンドラ25のメッセージキュー
38−0に格納される(図22;S37)。このメッセ
ージCは、テストハンドラ25によってメッセージキュ
ー38−0から取り出され(S38)、スレッド終了メ
ッセージでないことが確認される(S39)。さらに、
同メッセージCに基づき、メッセージ送受表示GUI2
8によって、送信元オブジェクト29−2(オブジェク
トB)の名前、送信先オブジェクトCの名前、メッセー
ジCの名前がメッセージ送受信状況115に表示される
(S40)。
などの理由により存在しない場合でも異常終了とならず
にメッセージ通信テストが可能となる。
する際のプロセスの動作、テスト制御部22、メッセー
ジ通信制御部23およびアクタ部24の動作を図26及
び図27のフロー図を用いて説明する。
の流れ図である。
の流れ図である。
停止するときには、まず始めに、プロセスに存在してい
るオブジェクト29−1〜29−2が破壊される(図2
6(a);S46)。次に、メッセージハンドラ30−
2が破壊される(S47)。
を停止するときには、まず始めに、メッセージ送受表示
GUI28が破壊される(図26(b);S48)。次
に、テストハンドラ25が破壊される(ステップS4
9)、最後に、メッセージハンドラ30−1が破壊され
る(S50)。
く説明する。
−1〜29−2の破壊時には、まず論理オブジェクトI
Dの登録がメッセージハンドラ30−2から抹消される
(図26(c);ステップS51)。続いて、自分自身
にスレッド終了メッセージが送信され(S52)、メッ
セージキュー38−1〜38−2を監視していたスレッ
ドの終了が待たれたのち(S53)、メッセージキュー
38−1〜38−2が破壊される(ステップS54)。
5の破壊時には、オブジェクトIDの登録がメッセージ
ハンドラ30−1から抹消される(図27(d);S5
5)さらに、自分自身にスレッド終了メッセージが送信
され(S56)、メッセージキュー38−0を監視して
いたスレッドの終了が待たれたのち(S57)、メッセ
ージキュー38−0が破壊される(ステップS58)。
ジハンドラ30−1〜30−2の破壊時には、まず、プ
ロセスメッセージハンドラ34−1〜34−2が削除さ
れる(図27(e);S59)。さらに、自分自身にス
レッド終了メッセージが送信され(S60)、メッセー
ジハンドラキュー33−1〜33−2を監視していたス
レッドの終了が待たれたのち(S61)、メッセージハ
ンドラキュー33−1〜33−2が破壊される(S6
2)。
におけるステップS59のプロセスメッセージハンドラ
34−1〜34−2の破壊時には、まず自分自身にスレ
ッド終了メッセージが送信される(図27(f);S6
3)。次に、プロセス受信用メッセージキュー36−1
〜36−2を監視していたスレッドの終了が待たれたの
ち(S64)、プロセス受信用メッセージキュー36−
1〜36−2が破壊される(S65)。さらに、プロセ
ス送信用メッセージキュー35−1〜35−2が破壊さ
れる(S66)。
テムが終了する。
るオブジェクト指向メッセージ通信テスト装置は、第1
の実施形態と同様な構成を設けた他、メッセージ通信テ
スト装置を提供するようにしたので、開発したオブジェ
クトをテストするためのテストシナリオを柔軟に選択・
変更できるとともに、テスト対象のオブジェクトからテ
スト対象外へのオブジェクトへのメッセージ通信がある
ような場合でもテストプログラムを続行可能とすること
ができる。
プログラムの変更量を軽減するとともに、システム開発
途上時のオブジェクトのテストを効率的に行い、システ
ムを効率的に開発することができる。
おいては、第1の実施形態の計算機システムに用いられ
るオブジェクト指向プログラムをテストするためのオブ
ジェクト指向メッセージ通信テスト装置について説明す
る。また、第2の実施形態ではプロセス21が2つの場
合について説明したが、本実施形態ではプロセス21が
3つの場合を説明する。
オブジェクト指向メッセージ通信テスト装置の一例を示
す構成図であり、図11〜図27と同一部分には同一符
号を付して説明を省略し、ここでは異なる部分について
のみ述べる。
信テスト装置20”は、第1及び第2の実施形態と同様
な計算機上に構成されるものであり、オブジェクト29
−3(オブジェクトC)を含むプロセス21−3(#
3)が設けられる他、第2の実施形態と同様に構成され
ている。
でテスト対象外であったオブジェクトCがオブジェクト
29−3として新たに別のプロセス#3に配置されてい
る。
部23及びプロセスCを含むアクタ部24を備えるとと
もに、共有メモリ37−3,37−4を介してプロセス
21−1と通信できるようになっている。
指向メッセージ通信テスト装置におけるメッセージ通信
制御部の詳細構成例を示すブロック図であり、図11〜
図28と同一部分には同一符号を付して説明を省略す
る。
ト指向メッセージ通信テスト装置におけるテスト制御部
並びにアクタ部の詳細構成例を示すブロック図であり、
図11〜図29と同一部分には同一符号を付して説明を
省略する。
(C)及びメッセージマップ29−3(C)が示される
が、これらは第2実施形態のメッセージキュー28−1
(A),28−2(B)及びメッセージマップ29−1
(A),29−2(B)と同様なものである。
同様に、テストハンドラ25からオブジェクト49−1
(オブジェクトA)に向けてメッセージAが送信される
場合を考える。つまり本実施形態は、第2の実施形態に
示された状況からプログラム開発が進み、オブジェクト
Cを含むプロセス21−3(#3)が完成し、このプロ
セス#3も含めてテストをしようとする場合である。
ドラ25→オブジェクトA→オブジェクトB→オブジェ
クトC→オブジェクトXという順でメッセージ送信が進
行することになる。
いはオブジェクトに対応する各メゾット内容例を示す図
である。
トCのメゾットCが加えられており(図31(d))、
同メゾットCではオブジェクトXに対してメッセージX
を送信するようになっている。
在するプロセスを追加したことによる修正の必要が生じ
るのは図32に示すプロセス対応マップ31のみであ
り、テストプログラム自体を修正する必要はない。した
がって、テスト対象のオブジェクトが増えて、オブジェ
クトのプロセス配置が変更されても、オブジェクトのプ
ロセス配置を意識する必要はない。第2の実施形態に説
明したように、オブジェクト対応マップは、プロセス対
応マップ31等の情報からテスト環境に適合するように
自動生成されるためであり、メッセージマップ39はそ
もそも変更する必要がないためである。
マップの構成を示す図である。
対応マップの構成を示す図であり、同図(a)はオブジ
ェクト対応マップ32−1、同図(b)はオブジェクト
対応マップ32−2、同図(c)はオブジェクト対応マ
ップ32−3、の構成を示している。
ップの構成を示す図であり、同図(a)はメッセージマ
ップ39−1、同図(b)はメッセージマップ39−
2、同図(c)はメッセージマップ39−3の構成を示
している。
うに、本システムではオブジェクト対応マップ32は、
オブジェクトが生成される際の立ち上げ処理時に登録さ
れるため、これらのマップを事前に修正する必要はな
い。ただし、オブジェクト49−3(オブジェクトC)
を追加する際には、先の実施形態と同様に図34に示す
ようなメッセージマップをオブジェクトCに用意する。
におけるオブジェクト指向メッセージ通信テスト装置の
動作について説明する。
メッセージ送受表示GUI28からテスト者が連続送信
ボタン114をクリックすることで開始される。
25からプロセス#2のオブジェクトAにメッセージが
送信される。なお、メッセージ制御部24やアクタ部2
3等における処理は図32,図33及び図34に示すプ
ロセス対応マップ31、オブジェクト対応マップ32及
び39に従い、第1,第2の実施形態と同様にして行わ
れる。
ジを受け取ったオブジェクトAからは、図31(b)に
示すメソッドAに従い、同一プロセス#2内のオブジェ
クトBに対してメッセージBが出力される。ここまで
は、第2の実施形態と同様である。
Bを受け取ったオブジェクトBからは、図31(c)に
示すメソッドBに従い、プロセス#3のオブジェクトC
に対してメッセージCが出力される。第2の実施形態で
はプロセス#3が存在しなかったため、このメッセージ
Cはプロセス#1のテストハンドラ25に戻されたが、
本実施形態ではプロセス対応マップ31に従い、現実に
存在するプロセス#3に送信される。
を受け取ったオブジェクトCからは、図31(d)に示
すメソッドCに従い、オブジェクトXに対してメッセー
ジXが出力される。本実施形態においては、オブジェク
トXは未だ存在しないので、オブジェクトXは、図3
2,図33のプロセス対応マップ31及びオブジェクト
対応マップ32−1からわかるようにプロセス#1のテ
ストハンドラ25に割り付けられている。
ハンドラ25に送信され、これを受け取ったテストハン
ドラ25からの通知により、その通信結果がメッセージ
送受表示GUI28のメッセージ送受状況115に表示
される。
るオブジェクト指向メッセージ通信テスト装置は、第2
の実施形態と同様な構成を設けた他、新たなオブジェク
トCを含むプロセス#3を設けたが、オブジェクト対応
マップ32はプロセス対応マップ31等の情報からテス
ト環境に適合するように自動生成されるので、オブジェ
クトCが存在するプロセスを追加したことによる修正の
必要が生じるのは図32に示すプロセス対応マップ31
のみとすることができる。
増えて、オブジェクトのプロセス配置が変更されても、
オブジェクトのプロセス配置を意識する必要はなく、適
宜の段階毎の繰り返しテストを容易に実行することがで
きる。
に増やした場合を説明したが、例えばオブジェクトBを
オブジェクトAとは別プロセスに配置してテストするこ
とも容易に実現できる。すなわち、図28でオブジェク
ト49−2(オブジェクトB)を別のプロセス#4に再
配置し、プロセス間にオブジェクト49−1(オブジェ
クトA)とのメッセージ通信を可能にするための共有メ
モリを設け、プロセス対応マップ31を修正すればよ
い。
構成を図35〜図41に示す。
1は、本実施形態のプロセス21に対応し、同様に、テ
スト制御部2,メッセージ通信制御部3,アクタ部4,
テストハンドラ5,テストシナリオ6,テストアイテム
リスト7,メッセージ送受表示GUI8,オブジェクト
9,メッセージハンドラ10,プロセス対応マップ1
1,オブジェクト対応マップ12,メッセージハンドラ
キュー13,プロセスメッセージハンドラ14,プロセ
ス送信用メッセージキュー15,プロセス受信用メッセ
ージキュー16,共有メモリ17,メッセージキュー1
8,メッセージマップ19は、それぞれ本実施形態のテ
スト制御部22,メッセージ通信制御部23,アクタ部
24,テストハンドラ25,テストシナリオ26,テス
トアイテムリスト27,メッセージ送受表示GUI2
8,オブジェクト29,メッセージハンドラ30,プロ
セス対応マップ31,オブジェクト対応マップ32,メ
ッセージハンドラキュー33,プロセスメッセージハン
ドラ34,プロセス送信用メッセージキュー35,プロ
セス受信用メッセージキュー36,共有メモリ37,メ
ッセージキュー38,メッセージマップ39に対応す
る。
ッセージ通信テストを実現させることができる。
態では、本発明に係るオブジェクト指向メッセージ通信
テスト装置においては、テストシナリオ26に従う場合
と、テストアイテムリスト27を利用しメッセージ送受
表示GUI28から直接指示入力する場合とについてテ
ストが可能である旨説明している。このうち、第2,第
3実施形態においては、テストシナリオ26に従う場合
を説明した。本実施形態では、第3の実施形態と同様な
構成において、テストアイテムリスト27を利用しメッ
セージ送受表示GUI28から直接テスト指示入力する
場合について説明する。
施実施形態のテスト環境を含むマルチプロセス/マルチ
スレッドシステムの構造を示す計算機システムを利用す
る。
メッセージ通信テスト装置においては、まずシステム生
成時の処理により、テストシナリオ26からオブジェク
トおよびメッセージを抽出したテストアイテムリスト2
7が作成される。さらに、本実施形態では、このテスト
アイテムリスト27より任意のオブジェクトおよびメッ
セージが選択されてテストが実行されるようになってい
る。
ェクト指向メッセージ通信テスト装置におけるテストシ
ナリオを示す図である。ここで、図42(a)はテスト
シナリオ26の一般フォーマットであり、同図(b)は
本実施例における具体例としてのテストシナリオ26で
ある。
生成されると、同テストハンドラ25の処理によりテス
トシナリオ26の[オブジェクト名対応]の欄から送信
元オブジェクトおよび送信先オブジェクトが、[メッセ
ージ名対応]の欄からメッセージの候補が抽出される。
すように、オブジェクトの候補として“テストハンド
ラ”、“オブジェクトA”、“オブジェクトB”、“オ
ブジェクトC”が、メッセージの候補として“メッセー
ジA”、“メッセージB”、“メッセージC”、“メッ
セージX”が抽出される。
ト名対応]の欄からオブジェクトIDとオブジェクト名
の対応が、[メッセージ名対応]の欄からメッセージI
Dとメッセージ名の対応が識別される。これらの情報に
基づき、テストハンドラ25によって、テストシナリオ
26からテストアイテムリスト27が作成される。な
お、テストアイテムリスト27とは、送信元オブジェク
トおよび送信先オブジェクトの候補となるオブジェクト
を列挙したオブジェクトリストと、送信メッセージの候
補となるメッセージを列挙したメッセージリストとから
なる。
リストの構成例を示す図である。ここで、オブジェクト
リストは、図43(a)に示すフォーマットの情報であ
り、同図(b)は本実施例における具体例を示す。
ストの構成例を示す図である。メッセージリストは、図
44(a)に示すフォーマットの情報であり、同図
(b)は本実施例における具体例を示す。
によって表示されるメッセージ通信テスト環境画面を示
す図であり、図24と同一部分には同一符号を付して詳
細説明を省略する。
が上記のようになっている結果、メッセージ送受表示G
UI28によって、図45に示すメッセージ通信テスト
環境のオブジェクトおよびメッセージ一覧113に、送
信元オブジェクト121、送信先オブジェクト122、
およびメッセージ123が表示されることになる。
テスト環境を用い、開発者が任意選択モードでテストを
行う場合を考える。
クト121を“テストハンドラ”とし、送信先オブジェ
クト122を“オブジェクトA”とし、送信メッセージ
123を“メッセージB”として選び送信ボタン124
を押して、テストを開始したことを想定する。
25の送信メソッドにより、オブジェクトAにメッセー
ジBが送信される。この後、メッセージBがオブジェク
トAに到達するまでの動作は、既に示した実施形態と同
様であるので省略する。
例を示す図である。
A,Bのメッセージマップを示す図である。なお、メッ
セージマップの一般形は先の実施形態と同様であるので
省略する。
送信先であるオブジェクトAには、図47(a)に示す
ようなメッセージマップが用意されている。ここでオブ
ジェクトAには、メッセージBに対応するメソッドBが
存在する。
が実行されることになる。図46(b)のメソッドによ
り、オブジェクトAからオブジェクトBにメッセージX
が送信される。
に基づき、オブジェクトBのメゾットX(図46
(c))が実行され、テストが継続されていくことにな
る。
るオブジェクト指向メッセージ通信テスト装置は、第
2,第3の実施形態と同様な構成を設け、テストシナリ
オ26のシナリオ情報からテストアイテムリスト27を
抽出し、これを用いて任意の組み合わせでテストを行い
得るようにしたので、テスト開始段階において開発者が
動的にシナリオを組み立てることができ、より効率的な
メッセージ通信テストを実施することができる。
覧113に示される各要素を、テストシステム立ち上げ
後に自在に組み替えてテストを実行することが可能にな
る。
ジェクト指向メッセージ通信テスト装置を利用すること
により、オブジェクトに割り当てられるプロセスが変更
されても柔軟に対応することが可能であり、テストプロ
グラムを変更することなしにテストシナリオを柔軟に修
正・追加することが可能であり、シナリオに沿ってテス
トを行うだけでなく任意のオブジェクトに任意のメッセ
ージを送信することも可能となる。
されるものでなく、その要旨を逸脱しない範囲で種々に
変形することが可能である。
のシステムをテストする場合に対応して本発明を適用し
たが、本発明の適用範囲はこれに限られるものではな
い。板発明は、第1の実施形態のシステム以外のオブジ
ェクト指向プログラムに対しても適宜変形して適用させ
ることができる。
ロセスを生成する場合について説明したが、本発明は同
一計算機内にてメッセージ送信テストを実行する場合に
限られるものではない。例えばLAN等のネットワーク
上の複数計算機に跨って各プロセスを設け、データ伝送
路を介するメッセージ送信テストを実行するようにして
もよい。
体に格納したプログラムをコンピュータに読み込ませる
ことで実現させることができる。
磁気ディスク、フロッピーディスク、ハードディスク、
光ディスク(CD−ROM、CD−R、DVD等)、光
磁気ディスク(MO等)、半導体メモリ等、プログラム
を記憶でき、かつコンピュータが読み取り可能な記憶媒
体であれば、その記憶形式は何れの形態であってもよ
い。
トールされたプログラムの指示に基づきコンピュータ上
で稼働しているOS(オペレーティングシステム)や、
データベース管理ソフト、ネットワークソフト等のMW
(ミドルウェア)等が本実施形態を実現するための各処
理の一部を実行してもよい。
ピュータと独立した媒体に限らず、LANやインターネ
ット等により伝送されたプログラムをダウンロードして
記憶又は一時記憶した記憶媒体も含まれる。
体から本実施形態における処理が実行される場合も本発
明における記憶媒体に含まれ、媒体構成は何らの構成で
あってもよい。
憶媒体に記憶されたプログラムに基づき、本実施形態に
おける各処理を実行するものであって、パソコン等の1
つからなる装置、複数の装置がネットワーク接続された
システム等の何れの構成であってもよい。
パソコンに限らず、情報処理機器に含まれる演算処理装
置、マイコン等も含み、プログラムによって本発明の機
能を実現することが可能な機器、装置を総称している。
ストシナリオから情報を抽出し任意選択モード用のテス
ト情報を作成するようにしたので、開発したオブジェク
トをテストするためのテストシナリオを柔軟に選択・変
更でき、ひいてはシステム開発途上時のオブジェクトの
テストを効率的に行い、システムを効率的に開発できる
オブジェクト指向メッセージ通信テスト装置及び記憶媒
体を提供することができる。
クトの通信先をテストハンドラに割り当てるようにした
ので、テスト対象のオブジェクトからテスト対象外のオ
ブジェクトへのメッセージ通信があるような場合でもテ
ストプログラムを続行可能とし、ひいてはシステム開発
途上時のオブジェクトのテストを効率的に行い、システ
ムを効率的に開発できるオブジェクト指向メッセージ通
信テスト装置及び記憶媒体を提供することができる。
テムの一例を示す構成図。
すブロック図。
成例を示すブロック図。
通信処理の様子を示す流れ図。
を示す図。
ージ通信処理を示す図。
セスメッセージハンドラにより処理される様子を示す流
れ図。
ト指向メッセージ通信テスト装置の一例を示す構成図。
信テスト装置におけるメッセージ通信制御部の詳細構成
例を示すブロック図。
信テスト装置におけるテスト制御部並びにアクタ部の詳
細構成例を示すブロック図。
成を示す図。
の構成を示す図。
を示す図。
上げ処理を説明する第1の図。
上げ処理を説明する第2の図。
ッドメッセージ通信の動作を示す流れ図。
ドラスレッドメッセージ通信の動作を示す流れ図。
メッセージ通信の動作を示す流れ図。
ッセージ通信の動作を示す流れ図。
るメッセージ通信テスト環境画面を示す図。
ェクトに対応する各メゾット内容例を示す図。
ト指向メッセージ通信テスト装置の一例を示す構成図。
信テスト装置におけるメッセージ通信制御部の詳細構成
例を示すブロック図。
信テスト装置におけるテスト制御部並びにアクタ部の詳
細構成例を示すブロック図。
ェクトに対応する各メゾット内容例を示す図。
成を示す図。
の構成を示す図。
を示す図。
の一般的な構成例を示すブロック図。
スト装置におけるプロセス#1のメッセージ通信制御部
の詳細構成例を示すブロック図。
スト装置におけるプロセス#2のメッセージ通信制御部
の詳細構成例を示すブロック図。
スト装置におけるプロセス#nのメッセージ通信制御部
の詳細構成例を示すブロック図。
スト装置におけるプロセス#1のテスト制御部の詳細構
成例を示すブロック図。
スト装置におけるプロセス#2のアクタ部の詳細構成例
を示すブロック図。
スト装置におけるプロセス#nのアクタ部の詳細構成例
を示すブロック図。
メッセージ通信テスト装置におけるテストシナリオを示
す図。
成例を示す図。
例を示す図。
るメッセージ通信テスト環境画面を示す図。
図。
ジマップを示す図。
ログラム記述方法の例を示す図。
の様子を示す図。
了してしまう場合を示す図。
n 13−1〜13−3…メッセージハンドラキューP1〜
P3 14−1〜14−6…プロセスメッセージハンドラP1
−P2〜Pn−Pn−1 15−1〜15−6…プロセス送信用メッセージキュー
P1−P2〜Pn−Pn−1 16−1〜16−6…プロセス受信用メッセージキュー
P2−P1〜Pn−1−Pn 17−1〜17−12…共有メモリP1−P2〜Pn−
Pn−1−Pn 18−0〜18−4…メッセージキューA〜F 19−1〜19−4…メッセージマップA〜F 20…計算機システム 20′,20”…オブジェクト指向メッセージ通信テス
ト装置 21−1〜21−2…プロセス#1〜#2 22…テスト制御部 23…メッセージ通信制御部 24…アクタ部 25…テストハンドラ 26…テストシナリオ 27…テストアイテムリスト 28…メッセージ送受表示GUI 29−1〜29−2…オブジェクトA〜B 30−1〜30−2…メッセージハンドラP1〜P2 31…プロセス対応マップ 32−1〜32−2…オブジェクト対応マップP1〜P
2 33−1〜33−2…メッセージハンドラキューP1〜
P2 34−1〜34−2…プロセスメッセージハンドラP1
−P2〜P2−P1 35−1〜35−2…プロセス送信用メッセージキュー
P1−P2〜P2−P1 36−1〜36−2…プロセス受信用メッセージキュー
P2−P1〜P1−P2 37−1〜37−2…共有メモリP1−P2〜P2−P
1 38−0〜38−2…メッセージキューA〜B 39−1〜39−2…メッセージマップA〜B 101…論理オブジェクトID 102…動作時オブジェクトID
Claims (10)
- 【請求項1】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセスを生成
させ、かつ、データと手続きとをカプセル化した一以上
のオブジェクトをプロセスが有するように、当該プロセ
スを生成させるためのプログラムに対し、前記オブジェ
クト間のメッセージ通信をテストするオブジェクト指向
メッセージ通信テスト装置にあって、 テスト対象となる最初のオブジェクトにメッセージを送
出するとともに、このテストにより何れかのオブジェク
トから出力された送信メッセージの受取先が非生成状態
である場合には、当該受取先に代えて前記送信メッセー
ジを受信するメッセージ代理受信手段を備えたことを特
徴とするオブジェクト指向メッセージ通信テスト装置。 - 【請求項2】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセスを生成
させ、かつ、データと手続きとをカプセル化した一以上
のオブジェクトをプロセスが有するように、当該プロセ
スを生成させるためのプログラムに対し、前記オブジェ
クト間のメッセージ通信をテストするオブジェクト指向
メッセージ通信テスト装置にあって、 送信元オブジェクト、送信先オブジェクト及びメッセー
ジ種類の各情報を含む少なくとも一つのシナリオからな
るテストシナリオを格納するテストシナリオ格納手段
と、 前記テストシナリオから送信元オブジェクト、送信先オ
ブジェクト及びメッセージ種類をテストアイテムとして
抽出するテストアイテム抽出手段と、 前記シナリオの何れか若しくは前記テストアイテムの指
定された組み合わせに基づき、メッセージ通信テストを
実行するテスト実行手段とを備えたことを特徴とするオ
ブジェクト指向メッセージ通信テスト装置。 - 【請求項3】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセスを生成
させ、かつ、データと手続きとをカプセル化した一以上
のオブジェクトをプロセスが有するように、当該プロセ
スを生成させるためのプログラムに対し、前記オブジェ
クト間のメッセージ通信をテストするオブジェクト指向
メッセージ通信テスト装置にあって、 送信元オブジェクト、送信先オブジェクト及びメッセー
ジ種類の各情報を含む少なくとも一つのシナリオからな
るテストシナリオを表示し、前記テストシナリオから抽
出される送信元オブジェクト、送信先オブジェクト及び
メッセージ種類を前記テストシナリオの表示とは別途に
表示し、さらに、前記シナリオの何れか若しくは前記テ
ストアイテムの指定された組み合わせを、メッセージ通
信テストの内容として実行するよう入力させる実行ボタ
ンを表示するとともに、前記テストアイテムの指定並び
に前記実行ボタンからの入力を受け付けるメッセージ送
受表示入力手段を備えたことを特徴とするオブジェクト
指向メッセージ通信テスト装置。 - 【請求項4】 テスト対象となる最初のオブジェクトに
メッセージを送出するとともに、このテストにより何れ
かのオブジェクトから出力された送信メッセージの受取
先が非生成状態である場合には、当該受取先に代えて前
記送信メッセージを受信するメッセージ代理受信手段を
備えたことを特徴とする請求項2又は3記載のオブジェ
クト指向メッセージ通信テスト装置。 - 【請求項5】 前記プロセスは、自プロセス又は他プロ
セスのオブジェクトが出力するオブジェクト宛のメッセ
ージを受け取るとともに、そのメッセージの宛先が自プ
ロセス内であるときはその宛先オブジェクトに前記メッ
セージを引き渡し、前記宛先が他のプロセス内となると
きは、当該他のプロセスに前記メッセージを引き渡すメ
ッセージ通信制御手段を備えたことを特徴とする請求項
1乃至4のうち何れか1項に記載のオブジェクト指向メ
ッセージ通信テスト装置。 - 【請求項6】 前記メッセージ通信制御手段は、各オブ
ジェクトがどのプロセスに属するかの情報を記録するプ
ロセス対応記録手段と、前記プロセス対応記録手段を検
索し、受け取ったメッセージの宛先オブジェクトがどの
プロセスに属するを判定する判定手段とを備えたことを
特徴とする請求項5記載のオブジェクト指向メッセージ
通信テスト装置。 - 【請求項7】 前記メッセージ通信制御手段は、各オブ
ジェクトが元々有する論理的なオブジェクト識別情報
と、前記オペレーティングシステムに生成されたときに
各オブジェクトに付された動作時オブジェクト識別情報
との対応情報を記録するオブジェクト対応記録手段を備
えるとともに、前記メッセージの宛先情報として前記論
理的なオブジェクト情報のみが付されているときであっ
ても、前記オブジェクト対応記録手段を検索して動作時
オブジェクト識別情報を取得することにより、宛先オブ
ジェクトに前記メッセージを引き渡し可能とすることを
特徴とする請求項5又は6記載のオブジェクト指向メッ
セージ通信テスト装置。 - 【請求項8】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセスを生成
させ、かつ、データと手続きとをカプセル化した一以上
のオブジェクトをプロセスが有するように、当該プロセ
スを生成させるためのプログラムに対し、前記オブジェ
クト間のメッセージ通信をテストさせるテストプログラ
ムであって、 テスト対象となる最初のオブジェクトにメッセージを送
出させるとともに、このテストにより何れかのオブジェ
クトから出力された送信メッセージの受取先が非生成状
態である場合には、当該受取先に代えて前記送信メッセ
ージを受信させるメッセージ代理受信手段として機能す
るテストプログラムを記憶したコンピュータ読み取り可
能な記憶媒体。 - 【請求項9】 マルチプロセス機能を有するオペレーテ
ィングシステムにて実行される一以上のプロセスを生成
させ、かつ、データと手続きとをカプセル化した一以上
のオブジェクトをプロセスが有するように、当該プロセ
スを生成させるためのプログラムに対し、前記オブジェ
クト間のメッセージ通信をテストさせるテストプログラ
ムであって、 送信元オブジェクト、送信先オブジェクト及びメッセー
ジ種類の各情報を含む少なくとも一つのシナリオからな
るテストシナリオから送信元オブジェクト、送信先オブ
ジェクト及びメッセージ種類をテストアイテムとして抽
出させるテストアイテム抽出手段と、 前記シナリオの何れか若しくは前記テストアイテムの指
定された組み合わせに基づき、メッセージ通信テストを
実行させるテスト実行手段として機能するテストプログ
ラムを記憶したコンピュータ読み取り可能な記憶媒体。 - 【請求項10】 マルチプロセス機能を有するオペレー
ティングシステムにて実行される一以上のプロセスを生
成させ、かつ、データと手続きとをカプセル化した一以
上のオブジェクトをプロセスが有するように、当該プロ
セスを生成させるためのプログラムに対し、前記オブジ
ェクト間のメッセージ通信をテストさせるテストプログ
ラムであって、 送信元オブジェクト、送信先オブジェクト及びメッセー
ジ種類の各情報を含む少なくとも一つのシナリオからな
るテストシナリオを表示させ、前記テストシナリオから
抽出される送信元オブジェクト、送信先オブジェクト及
びメッセージ種類を前記テストシナリオの表示とは別途
に表示させ、さらに、前記シナリオの何れか若しくは前
記テストアイテムの指定された組み合わせを、メッセー
ジ通信テストの内容として実行させるよう入力させる実
行ボタンを表示させるとともに、前記テストアイテムの
指定並びに前記実行ボタンからの入力を受け付けさせる
メッセージ送受表示入力手段として機能するテストプロ
グラムを記憶したコンピュータ読み取り可能な記憶媒
体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06144899A JP3791876B2 (ja) | 1999-03-09 | 1999-03-09 | オブジェクト指向メッセージ通信テスト装置及び記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06144899A JP3791876B2 (ja) | 1999-03-09 | 1999-03-09 | オブジェクト指向メッセージ通信テスト装置及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000259450A true JP2000259450A (ja) | 2000-09-22 |
JP3791876B2 JP3791876B2 (ja) | 2006-06-28 |
Family
ID=13171363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06144899A Expired - Fee Related JP3791876B2 (ja) | 1999-03-09 | 1999-03-09 | オブジェクト指向メッセージ通信テスト装置及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3791876B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331023A (ja) * | 2005-05-25 | 2006-12-07 | Mitsubishi Electric Corp | オブジェクト再構成試験装置 |
JP2007026306A (ja) * | 2005-07-20 | 2007-02-01 | Nec Corp | プログラムテスト装置、方法、及び、プログラム |
JP2021118961A (ja) * | 2021-05-19 | 2021-08-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177959A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177956A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177957A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
-
1999
- 1999-03-09 JP JP06144899A patent/JP3791876B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331023A (ja) * | 2005-05-25 | 2006-12-07 | Mitsubishi Electric Corp | オブジェクト再構成試験装置 |
JP2007026306A (ja) * | 2005-07-20 | 2007-02-01 | Nec Corp | プログラムテスト装置、方法、及び、プログラム |
JP4696744B2 (ja) * | 2005-07-20 | 2011-06-08 | 日本電気株式会社 | プログラムテスト装置、方法、及び、プログラム |
JP2021118961A (ja) * | 2021-05-19 | 2021-08-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7049509B2 (ja) | 2021-05-19 | 2022-04-06 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177959A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177956A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP2022177957A (ja) * | 2021-05-19 | 2022-12-02 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7360193B2 (ja) | 2021-05-19 | 2023-10-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7360194B2 (ja) | 2021-05-19 | 2023-10-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
JP7360195B2 (ja) | 2021-05-19 | 2023-10-12 | 株式会社ユニバーサルエンターテインメント | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
JP3791876B2 (ja) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hunter et al. | Java servlet programming: Help for server side Java developers | |
Kim | APIs for real-time distributed object programming | |
US7650397B2 (en) | Plug-in configuration manager | |
US6640255B1 (en) | Method and apparatus for generation and installation of distributed objects on a distributed object system | |
US8521359B1 (en) | Application-independent and component-isolated system and system of systems framework | |
KR100301274B1 (ko) | 컴퓨터시스템및프로그램제품전송방법 | |
CA2539433C (en) | Systems and methods for dynamically linking application software into a running operating system kernel | |
EP0859314A2 (en) | Distributed make methods, apparatus, and computer program products | |
JPH08286926A (ja) | 一般フロントエンド、及び動的にロード可能なバックエンドを有するコンパイラ | |
US20040138847A1 (en) | Stress testing at low cost through parallel execution of unit tests | |
CN114756357B (zh) | 一种基于jvm的非阻塞分布式计划任务调度方法 | |
Cicirelli et al. | Seamless development in Java of distributed real-time systems using actors | |
JP3791876B2 (ja) | オブジェクト指向メッセージ通信テスト装置及び記憶媒体 | |
JPH09114693A (ja) | プログラム開発支援装置及びプログラム実行装置 | |
Karlsen | An Adaptive Transactional System–Framework and Service Synchronization | |
US7167894B1 (en) | Self-contained tasks | |
Bardaro et al. | From models to software through automatic transformations: An AADL to ROS end-to-end toolchain | |
Wood et al. | Triton: a domain specific language for cyber-physical systems | |
Tauber et al. | Compiling IOA without global synchronization | |
CN110716748B (zh) | 业务处理方法、装置、计算机可读介质及电子设备 | |
JP2000155692A (ja) | 計算機システム及びネットワークシステム並びに記録媒体 | |
WO2007144891A1 (en) | A method for the distribution of software processes to a plurality of computers | |
Hendrickx | A generic way to production machinery context of CIMOSA | |
JPH0749819A (ja) | サーバ/クライアント方式の通信方法 | |
Yilmaz | Scheduling Extensions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050428 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050620 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060313 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060403 |
|
LAPS | Cancellation because of no payment of annual fees |