(57)【要約】【課題】タスク間通信を行うプログラムの動作検証の容易化。【解決手段】シナリオチャート編集手段１０１を用いて、シナリオチャート編集画面上に、試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力し、シナリオチャートを作成する。次に、シナリオ及びソースコード生成手段１０４により、変換ライブラリ１０３を参照して、シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する。この試験対象プログラムと擬似プログラムのソースコードとから、実行モジュールを生成する。実行モジュールを実行し、試験対象プログラムと擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成する。実行ログは、各タスク間の処理タイミングや処理精度の向上のために使用される。【選択図】図２
2008305003.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証方法であって、
前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、
前記コンピュータが、変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する生成ステップと、
前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、
前記コンピュータが、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行ステップと、を含むこと、
を特徴とするマルチタスク通信を行うプログラムの動作検証方法。
【請求項２】
前記生成ステップにおいて、前記コンピュータが、更に、前記変換ライブラリを参照して、前記作成されたシナリオチャートを所定のタグで記述したシナリオファイルを生成すること、
を特徴とする請求項１に記載のマルチタスク通信を行うプログラムの動作検証方法。
【請求項３】
更に、前記コンピュータが、生成ステップにて生成されたシナリオファイルを修正した修正シナリオファイル又は擬似プログラムのソースコードを修正した修正ソースコードの入力を受け付けるとともに、前記変換ライブラリを参照して、前記修正内容に基づいてシナリオチャートを更新する更新ステップと、
前記コンピュータが、前記更新されたシナリオチャートに対応する擬似プログラムのソースコード又はシナリオファイルを再生成する再生成ステップと、を含むこと、
を特徴とする請求項２に記載のマルチタスク通信を行うプログラムの動作検証方法。
【請求項４】
コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証を行う検証プログラムの生成方法であって、
前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細と、を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、
前記コンピュータが、変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する生成ステップと、
前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、を含むこと、
を特徴とするマルチタスク通信を行うプログラムの動作検証を行う検証プログラムの生成方法。
【請求項５】
上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証システムであって、
シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、
変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、
前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段と、
前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段と、を備えること、
を特徴とするマルチタスク通信を行うプログラムの動作検証システム。
【請求項６】
更に、前記変換ライブラリを参照して、前記作成されたシナリオチャートを所定のタグで記述したシナリオファイルを生成するシナリオファイル生成手段を備えること、
を特徴とする請求項５に記載のマルチタスク通信を行うプログラムの動作検証システム。
【請求項７】
更に、前記シナリオファイルを修正した修正シナリオファイル又は擬似プログラムのソースコードを修正した修正ソースコードの入力を受け付けるとともに、前記変換ライブラリを参照して、前記修正内容に基づいてシナリオチャートを更新するシナリオ又はソースコード解析手段を備えること、
を特徴とする請求項６に記載のマルチタスク通信を行うプログラムの動作検証システム。
【請求項８】
上位又は下位レイヤとマルチタスク通信を行うプログラムの検証用プログラム生成システムであって、
シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、
変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、を備えること、
を特徴とする検証用プログラム生成システム。
【請求項９】
更に、前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段を備えること、
を特徴とする請求項８に記載の検証用プログラム生成システム。
【請求項１０】
請求項９に記載の検証用プログラム生成システムにより生成された実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段を備えたこと、
を特徴とするシナリオ実行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの動作検証方法及び動作検証システムに関し、特に、上位又は下位のレイヤとマルチタスク通信を行うプログラムの動作検証方法及び動作検証システムに関する。
【背景技術】
【０００２】
特開２００２−３６６３８７号公報に、インタフェース仕様やデータ長といった定義情報と画面の基本仕様からスタブ・ドライバを生成し、標準シナリオ（標準のテスト処理順序と個々の処理詳細）と標準スクリプト（スタブ・ドライバ画面の操作シミュレーションプログラム）から期待値、テストデータ、スクリプトを自動生成し、これら期待値、テストデータ、スクリプトを元に、前記スタブ・ドライバを用いて試験対象プログラムのテストを行う自動テストシステムが開示されている。また、同公報では、定義情報と標準シナリオとからテストシナリオを生成し、該テストシナリオを用いてテストに用いる期待値、テストデータ、スクリプトを生成することが記載されている。同公報の自動テストシステムによれば、試験仕様やプログラム仕様の変更に対してシナリオ等の若干の修正で対応することが可能になるとされている。
【０００３】
【特許文献１】特開２００２−３６６３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した特許文献１に記載の技術により生成したスタブ・ドライバのプログラムやシナリオ等では、マルチタスク間の同期・非同期型のメッセージ処理を表現したり、メッセージ処理を実行できないという問題点がある。特許文献１に記載の技術は、画面の基本仕様からスタブ・ドライバを生成している点からも明らかなとおり、画面を基点として画面遷移を行うプログラムの入出力動作の検証を目的とするものであり、マルチタスク通信を行うプログラムの動作検証は考慮に入れられていない。
【０００５】
本発明は、上記した事情に鑑みてなされたものであって、タスク間通信を行うプログラムの動作検証方法、タスク間通信を行うプログラムの動作検証システム及びこれらに用いる検証プログラムの生成方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の第１の視点によれば、コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証方法であって、前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、前記コンピュータが、変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成する生成ステップと、前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、前記コンピュータが、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行ステップと、を含むこと、を特徴とするマルチタスク通信を行うプログラムの動作検証方法が提供される。
【０００７】
本発明の第２の視点によれば、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証システムであって、シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段と、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段と、を備えること、を特徴とするマルチタスク通信を行うプログラムの動作検証システムが提供される。
【０００８】
本発明の第３の視点によれば、マルチタスク通信を行うプログラムの動作検証に用いる検証用プログラム（擬似プログラム）の生成方法、及び、検証用プログラム生成システムが提供される。
【０００９】
本発明の第４の視点によれば、上記検証用プログラム（擬似プログラム）生成システムにて生成された実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行システムが提供される。
【発明の効果】
【００１０】
本発明によれば、マルチタスク通信を行う試験対象プログラムの動作を検証するための検証用（擬似）プログラムの作成が容易化され、プログラムの生成に要する工数のみならず、試験全体の工数を削減することが可能となる。その理由は、グラフィカルな入力手段にてシナリオチャートを作成し、ソースコードを自動生成できるよう構成したことにある。
【発明を実施するための最良の形態】
【００１１】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。始めに、通信プロトコルや組込みシステム等におけるマルチタスク間通信を行うプログラムについて説明する。図１は、これらのマルチタスク間通信を行うプログラムによる通信シーケンスを模式的に表した図である。
【００１２】
図１に表されたように、タスク間の要求や応答は、共有メモリ上のメールボックスを利用して、メッセージの送受信で行うことが一般的である。マルチタスク間通信の動作検証は、これらのメッセージを監視することで可能となる。
【００１３】
メッセージの送受信シーケンスは、要求／送信と応答／受信の繰り返しで進行するが、送受信のタイミングによって、同期通信（図１の破線１０、２０）と非同期通信（図１の二重破線３０）に分けられる。同期通信は、送信メッセージの受信後、同期するタイミングで応答を返すものであり、非同期通信は、送信メッセージへの同期ではなく、何らかの条件が整うタイミングでメッセージを送信するものである。
【００１４】
図１を参照すると、試験対象タスク１に対して、上位の擬似タスク２と下位の擬似タスク３が存在する。図１の破線で表した同期通信１０は、上位の擬似タスク２からの試験対象タスク１に対するメッセージ送信に同期するタイミングで試験対象タスク１よりメッセージが返されていることを表している。
【００１５】
図１の破線で表した同期通信２０も同様に、試験対象タスク１から下位の擬似タスク３に対するメッセージ送信に同期するタイミングで下位の擬似タスク３からメッセージが返されていることを表している。
【００１６】
一方、図１の破線で表した非同期通信３０は、非同期通信を表している。図１の例では、ある条件が整うタイミングで、試験対象タスク１が上位の擬似タスク２に対しメッセージ送信を行ない、これ応答して上位の擬似タスク２からメッセージが返されている。
【００１７】
これらの同期・非同期動作を含む送受信シーケンスは、予め定められた手順に沿って進行しており、各タスクが実行するシナリオと呼べるものである。このシナリオを図形エディタの様なグラフィカルな入力手段で編集し、かつ、シームレスな手順で上位の擬似タスク２及び下位の擬似タスク３のソースコードを生成することができれば、試験対象タスク１のタスク間通信動作の検証を効率的に進めることが可能となる。以下、上記観点で、効率的なプログラムの動作検証を実現する本発明の実施例を説明する。
【００１８】
［第１実施例］
図２は、上記したシナリオの編集と、シナリオからソースコードの生成するためのチャートエディタ（検証用プログラム生成システム）の構成を表した図である。図２を参照すると、チャートエディタ１００は、シナリオチャート編集手段１０１と、シナリオ又はソースコード解析手段１０２と、変換ライブラリ１０３と、シナリオ及びソースコード生成手段１０４と、を含んでいる。なお、シナリオチャート編集手段１０１と、シナリオ又はソースコード解析手段１０２と、シナリオ及びソースコード生成手段１０４は、後記する処理を実行させるプログラムによって実現することができる。
【００１９】
シナリオチャート編集手段１０１は、チャートエディタ１００として機能するコンピュータの入力装置１４０と、表示装置１５０とを使用してシナリオチャートの生成・編集操作を受けつける手段である。
【００２０】
シナリオ及びソースコード生成手段１０４は、シナリオチャート編集手段１０１にて編集されたシナリオチャートを、シナリオデータ、シナリオマップ、ソースコードへの変換に必要なデータが格納された変換ライブラリ１０３を参照して、生成シナリオ１６０、シナリオマップ１７０、生成ソースコード１８０に変換・出力する手段である。シナリオマップ１７０とは、擬似タスクと対応するシナリオ、メールボックス、メッセージとのマッピング情報であり、擬似タスク名と、対応するシナリオ名と、シナリオの内容とを表示する際に使用される。
【００２１】
シナリオ又はソースコード解析手段１０２は、生成したシナリオやソースコードを修正して、シナリオチャートに反映させ、当該シナリオチャートからソースコードやシナリオを再度生成する場合に使用される手段である。シナリオやソースコードを修正し修正シナリオ１２０や修正ソースコード１３０を生成するコード修正手段１１０としては、テキストエディタ等を用いることができる。
【００２２】
図３は、シナリオチャート編集手段１０１によって表示装置１５０上に表示されるシナリオチャート編集画面の一例である。図３を参照すると、シナリオチャート編集画面６００は、図２のシナリオチャート編集手段１０１のフロントエンドになっている。図３の例では、「同期：電源ｏｎ＜ＳＴＡＲＴ＞」から「同期：電源ｏｎ＜ＥＮＤ＞」までのアイコン群が同期シナリオ６０１を表している。また、「非同期：測定＜ＳＴＡＲＴ＞」から「非同期：測定＜ＥＮＤ＞」までが非同期シナリオ６０２を表している。
【００２３】
上記シナリオチャート上のアイコンは、後記する同期／非同期メッセージ処理のタグ要素にそれぞれ対応しており、シナリオチャートの編集が完了し、選択ボタン６３０にてシナリオ又はソースコードのいずれかを選択し、生成ボタン６１０を押下すると、シナリオやソースコードが自動生成される。
【００２４】
また、シナリオやソースコードを修正する場合は、選択ボタン６３０にてシナリオ又はソースコードのいずれかを選択し、読込ボタン６２０を押下すると、選択ボタン６３０で選択したシナリオ又はソースコードが所定の記録媒体から読み込まれ、再編集可能とされる。
【００２５】
図４は、シナリオチャート編集手段１０１によって、シナリオチャート編集画面と同時に表示装置１５０上に表示されるシナリオチャート編集パレットの一例である。図４を参照すると、シナリオチャート編集パレット７００には、同期シナリオアイコン７０１と、非同期シナリオアイコン７０２と、送信アイコン７０３と、受信アイコン７０４と、タスク制御アイコン７０５と、コネクタアイコン７０６と、ループアイコン７０７と、条件分岐アイコン７０８と、フリーテキストアイコン７０９とが用意されており、それぞれをクリックし、シナリオチャート編集画面上の位置を指定することで、シナリオチャート上にアイコンを配置することが可能となっている。
【００２６】
以下、各アイコンが表す動作等を説明する。同期シナリオアイコン７０１は、同期シナリオの開始と終了を表す。非同期シナリオアイコン７０２は、非同期シナリオの開始と終了を表す。送信アイコン７０３は、メッセージ送信処理を表す。受信アイコン７０４は、メッセージ受信処理を表す。タスク制御アイコン７０５は、タスクの一時停止やｂｒｅａｋ、ｃｏｎｔｉｎｕｅ等のタスクの制御を表す。コネクタアイコン７０６は、連続する処理同士を結ぶ際に使用される。ループアイコン７０７は、処理の繰り返しを表す。条件分岐アイコン７０８は、Ｃ言語のｓｗｉｔｃｈ〜ｃａｓｅ文に相当する。フリーテキストアイコン７０９は、コードを直接記述する際に使用される。これらのアイコンに対して、マウスの右クリック等の操作を加えることにより、プロパティ設定画面を表示し詳細設定を行うことが可能となっている。以下、上記各アイコンに対して、設定可能な項目について説明する。
【００２７】
図５は、同期シナリオアイコン７０１のプロパティ設定画面８００の設定例である。図５の例では、図３の同期シナリオアイコンに相当する内容が設定され、シナリオタイトル欄８１０に、同期シナリオのタイトルとして「電源ｏｎ」が入力されている。タスク名欄８２０には、同期シナリオを実行する擬似タスクのタスク名として「ｕｐｐｅｒ＿ｐｏｗｅｒｏｎ」が入力されている。メールボックス名欄８３０には、同期シナリオを実行する擬似タスクのメールボックス名として、「ＵＰ０１」が入力されている。試験対象タスク名欄８４０には、試験対象タスクのタスク名として「ｔｅｓｔ＿ｔａｓｋ」が入力されている。試験対象タスクのメールボックス名欄８５０には、試験対象タスクのメールボックス名として「ＴＥＳＴ」が入力されている。
【００２８】
図６は、非同期シナリオアイコン７０２のプロパティ設定画面９００の設定例である。図６の例では、図３の非同期シナリオアイコンに相当する内容が設定され、シナリオタイトル欄９１０に、非同期シナリオのタイトルとして、「測定」が入力されている。メッセージ名欄９２０には、非同期シナリオを実行するトリガとなるメッセージ名として「ＭＥＡＳＵＲＥ＿ＲＥＱ」が入力されている。
【００２９】
図７は、送信アイコン７０３のプロパティ設定画面１０００の設定例である。図７の例では、図３の同期シナリオアイコンの下に配された送信アイコンに相当する内容が設定され、送信元タスク名欄１０１０に、メッセージの送信元の擬似タスク名として「ｕｐｐｅｒ＿ｐｏｗｅｒｏｎ」が入力されている。送信先タスク名欄１０２０には、メッセージの送信先の試験対象タスク名「ｔｅｓｔ＿ｔａｓｋ」が入力される。メールボックス名欄１０３０には、メッセージの送信先の試験対象タスクのメールボックス名として「ＴＥＳＴ」が入力されている。送信データ欄１０４０には、メッセージとともに送信する送信データが入力されている。メッセージ名欄１０５０には、送信するメッセージのメッセージ名として「ＡＣＴＩＶＡＴＥ＿ＲＥＱ」が入力されている。
【００３０】
図８は、受信アイコン７０４のプロパティ設定画面１１００の設定例である。図８の例では、図３の送信アイコンの下に配された受信アイコンに相当する内容が設定され、送信元タスク名欄１１１０に、メッセージの送信元の試験対象タスク名として「ｔｅｓｔ＿ｔａｓｋ」が入力されている。送信先タスク名欄１１２０には、メッセージの送信先となりメッセージを受信する擬似タスク名「ｕｐｐｅｒ＿ｐｏｗｅｒｏｎ」が入力される。メールボックス名欄１１３０には、メッセージを受信する擬似タスクのメールボックス名として「ＵＰ０１」が入力されている。受信データ欄１１４０には、メッセージとともに受信する受信データが入力されている。メッセージ名欄１１５０には、受信するメッセージのメッセージ名として「ＡＣＴＩＶＡＴＥ＿ＣＮＦ」が入力されている。受信待ち時間欄１１６０には、メッセージを受信するまでの待ち時間が入力されている。
【００３１】
図９は、タスク制御アイコン７０５のプロパティ設定画面１２００の設定例である。停止時間欄１２１０、起動タスク名欄１２２０、終了タスク名欄１２３０、ｂｒｅａｋ挿入欄１２４０、ｃｏｎｔｉｎｕｅ挿入欄１２５０の左側にチェックボックスをチェックすることで、各欄を有効にすることができる。図９の例では、図３の受信アイコンの下に配されたタスク制御アイコンに相当する内容が設定され、停止時間欄１２１０に、タスクが処理を停止する時間が入力されている。起動タスク名欄１２２０には、新たに起動するタスク名として「ｕｐｐｅｒ＿ｔｘ１」が入力されている。終了タスク名欄１２３０には、終了させるタスク名として「ｌｏｗｅｒ＿ｔａｓｋ」が入力されている。ｂｒｅａｋ挿入欄１２４０及びｃｏｎｔｉｎｕｅ挿入欄１２５０は、Ｃ言語のｂｒｅａｋ、ｃｏｎｔｉｎｕｅの実行を意味する。図９の例では、停止時間欄１２１０のチェックボックスにチェックがされているので、タスク制御アイコン７０５では、同欄に設定された時間だけタスクの停止処理が行われることになる。
【００３２】
また、図４のコネクタアイコン７０６、ループアイコン７０７、条件分岐アイコン７０８、フリーテキストアイコン７０９についても、各々処理に必要な項目の設定が可能となっており、これらを用いて、図３に示したシナリオチャートを生成することができる。
【００３３】
図１０は、本発明に係るチャートエディタ（検証用プログラム生成システム）にて生成されるシナリオを構成するタグ要素を説明するための図（タグレファレンス）である。タグ要素欄３００に規定された各内容は、各タグ要素の表記フォーマットであり、ＨＴＭＬ／ＸＭＬタグの様な扱いやすい形式になっている。属性欄３１０は、タグ要素３００の内部に記述される属性項目を示している。使用例欄３２０の記載は、生成されたシナリオ内のタグ要素と属性の使用例である。例えば、図７の送信アイコンのプロパティ設定画面１０００に設定された内容を図１０の２行目の＜ｓｅｎｄ＞タグで表すと、「＜ｓｅｎｄ  ｔｏ＝”ｔｅｓｔ＿ｔａｓｋ”  ｆｒｏｍ＝”ｕｐｐｅｒ＿ｐｏｗｅｒｏｎ”  ｍｓｇ＝”ＡＣＴＩＶＡＴＥ＿ＲＥＱ”  ｍｂｏｘｉｄ＝”ＴＥＳＴ”＞  ０１  ０Ａ  ０２  ０Ｂ  ０３  ０Ｃ」となる。
【００３４】
図１１は、上記したタグ要素への変換を行ない、図３のシナリオチャートと、変換ライブラリ１０３とを用いて生成されるシナリオである。図１１の生成シナリオ２００では、擬似タスクの同期・非同期メッセージ処理が、予め定義されたタグ要素及び属性を用いて表現されている。例えば、図１１の同期シナリオの開始タグ２１０は、擬似タスクが実行する同期メッセージ処理の開始を表しており、図５の同期シナリオアイコンのプロパティ設定画面８００で設定された内容に相当する。送信タグ２２０は、メッセージ送信処理を表しており、図７の送信アイコンのプロパティ設定画面１０００で設定された内容に相当する。受信タグ２３０は、メッセージ受信処理を表しており、図８の受信アイコンのプロパティ設定画面１１００で設定された内容に相当する。一時停止タグ２４０は、擬似タスクが指定された時間、一時的に処理を止めることを意味しており、図９のタスク制御アイコンのプロパティ設定画面１２００で設定された内容に相当する。繰り返しタグ２５０は、処理の繰り返しを表している。また、非同期シナリオの開始タグ２６０は、擬似タスクが実行する非同期メッセージ処理の開始を表しており、図６の非同期シナリオアイコンのプロパティ設定画面９００で設定された内容に相当する。
【００３５】
図１２は、図３のシナリオチャートと、変換ライブラリ１０３とを用いて生成されるソースコードの例である。図１２のソースコードは、プログラム本体である生成ソースコード（本体）４００と、ヘッダファイルである生成ソースコード（ヘッダ）４１０から構成される。生成ソースコード（本体）４００は、同期メッセージ処理のコードが記述された同期通信処理４０１と、非同期メッセージ処理のコードが記述された非同期通信処理４０２から構成され、それぞれ、図３のシナリオチャートの同期シナリオと、非同期シナリオに相当する。
【００３６】
以上のように、図２に示したチャートエディタ（検証用プログラム生成システム）のシナリオチャート編集手段１０１により、シナリオチャートの入力・編集が行われ、シナリオ及びソースコード生成手段１０４により、シナリオ、シナリオマップ、ソースコードが生成される。
【００３７】
続いて、上記生成したシナリオ、シナリオマップ、ソースコードを用いた実行モジュールの生成と、該実行モジュールを用いた試験対象タスクの動作検証について説明する。図１３は、図２のチャートエディタ（検証用プログラム生成システム）にて生成した擬似タスクのソースコードと、試験対象タスクのソースコードとから、例えば、パーソナルコンピュータ等の任意のシミュレーション環境で実行可能な実行モジュールを生成するためのビルド環境１３００の構成を表した図である。
【００３８】
図１３を参照すると、ビルド手段１３０１は、試験対象ソースコード１３０２と、擬似タスクのソースコード（生成ソースコード）１３０３と、擬似タスクに対応するシナリオ、メールボックス、メッセージとのマッピング情報であるシナリオマップ１３０４と、ＧＵＩ及び関数ライブラリ１３０５とをコンパイル・リンクし、実行モジュール１３０６と、シナリオ実行時の各タスクとメールボックスのメモリマップとなる環境情報１３０７とを生成する。なお、ＧＵＩ及び関数ライブラリ１３０５とは、シナリオ実行時の操作インタフェースやリアルタイムＯＳの擬似関数を与えるライブラリである。
【００３９】
擬似タスクとのインタフェース仕様に合わせて、試験対象ソースコード１３０２を修正する場合は、ビルドする前にコード修正手段１３１０を使って修正を加えることができる。なお、ビルド環境１３００は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｃ＋＋の様な標準的な開発環境を利用して構成することができる。
【００４０】
図１４は、図１３のビルド環境１３００にて生成された実行モジュールを、パーソナルコンピュータ等の任意のシミュレーション環境で動作検証を行うシナリオ実行環境１４００の構成を表した図である。図１４を参照すると、シナリオ実行手段１４０１は、実行モジュール１４０２を、環境情報１４０３と、シナリオマップ１４０４と、生成シナリオ１４０５とともにシミュレーション環境に読み込んで実行し、実行結果をシナリオ実行画面１４０６に表示し、さらに実行ログ１４０７に出力する。
【００４１】
ここで、シナリオマップ１４０４及び生成シナリオ１４０５は、実行する擬似タスク名と、対応するシナリオ名と、シナリオの内容とを表示するために使用される。なお、シナリオ実行環境１４００は、例えば、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｃ＋＋の様な標準的な開発環境を利用して構成することができる。
【００４２】
図１５は、シナリオ実行環境１４００のシナリオ実行画面１４０６のフロントエンドであるシナリオ設定画面の一例である。図１５を参照すると、シナリオ設定画面１５００の擬似タスクの選択メニュー１５１０は、擬似タスクリスト１５１１と、選択ボタン決定１５１２により構成され、シミュレーションを実行する擬似タスクを選択し、選択決定ボタン１５１２をクリックすることで、シミュレーションを実行する擬似タスクを受け付ける。
【００４３】
なお、シミュレーションを実行する擬似タスクは複数選ぶことができ、選択した擬似タスクのタスク名と、対応するシナリオのシナリオ名が、擬似タスク名と対応シナリオのリスト１５１３に追加表示される。また図１５のリスト１５１３に示されたように、シナリオ名については、同期メッセージ処理を含むシナリオ（例：図１５の「電源ｏｎ」）と、非同期メッセージ処理（例：図１５の「測定」）を含むシナリオが個別に表示される。
【００４４】
また、各シナリオ名の近くに配されたシナリオ表示ボタン１５１４を押すと、対応する行のシナリオの内容が表示される。例えば、タスク名「ｕｐｐｅｒ＿ｐｏｗｅｒｏｎ」の対応シナリオ「電源ｏｎ」のシナリオ表示ボタン１５１４を押すと、図１１に例示したシナリオが表示される。
【００４５】
試験対象タスクの表示部１５２０には、試験対象タスクのタスク名が表示される。擬似タスクの選択後、シナリオ実行メニュー１５３０のシナリオ開始ボタン１５３１を押すと、擬似タスクと試験対象タスクが動作を開始し、図１４のシナリオ実行画面１４０６に実行結果が表示される。また、シナリオ実行中にシナリオ停止ボタン１５３２を押すと、各タスクの動作が止まり、シミュレーションは強制終了となる。また、シミュレーション終了後に初期化ボタン１５３３を押すと、各タスクが使用するメモリ等のリソースがクリアされて初期状態に戻る。
【００４６】
図１６は、シナリオ実行環境１４００ののシナリオ実行画面に表示されるシナリオ実行結果の一例である。図１６を参照すると、メッセージ通信表示部（概要）１６００には、メッセージ通信の時間（Ｔｉｍｅ）、送信元タスク（Ｆｒｏｍ）、送信先タスク（Ｔｏ）、メッセージ名（Ｍｅｓｓａｇｅ）が、メッセージ通信毎に時系列に表示される。
【００４７】
メッセージ通信選択カーソル１６２０により、任意のメッセージ通信（行）を選ぶと、さらに詳細な内容がメッセージ通信表示部（詳細）１６１０に表示される。図１６の例では、メッセージ通信表示部（概要）１６００の表示内容に加えて、メッセージ名（Ｍｅｓｓａｇｅ）と内部コード、通信に使われたメールボックス名（ＭａｉｌＢｏｘ）、送信データ（Ｓｅｎｔ  Ｄａｔａ）等が追加して表示されている。
【００４８】
図１７は、図１４のシナリオ実行環境を、シナリオ実行中の各タスク間の関連で示したタスク関連図である。上位の擬似タスク１７０３及び下位の擬似タスク１７０５は、各タスク内部に組み込まれたシナリオ手順に沿って、試験対象タスク１７０１とメッセージの送受信を行う。メッセージの受け渡しには、上位の擬似タスクのメールボックス１７０４、下位の擬似タスクのメールボックス１７０６、試験対象タスクのメールボックス１７０２が使われる。これらのシナリオ動作に直接関連するタスク以外に、擬似タスク１７０３、１７０５からメールボックスを介して送信されるメッセージ情報をモニター画面に表示したり、通信ログとして記録する役割を担う管理タスク１７０７と、管理タスクのメールボックス１７０８が存在している。
【００４９】
より具体的には、管理タスク１７０７は、上位の擬似タスク１７０３及び下位の擬似タスク１７０５から、試験対象タスク１７０１とのメッセージ通信の内容等のログ情報を受け取り、シナリオ実行画面１７３０や実行ログ１７２０に出力・表示する。さらに、管理タスク１７０７は、上位の擬似タスク１７０３及び下位の擬似タスク１７０５に対して開始・終了等のタスク制御を行う。また、管理タスク１７０７は、生成シナリオ及びシナリオマップ１７１０を読み込んで、上位の擬似タスク１７０３及び下位の擬似タスク１７０５から受け取ったメッセージ通信の内容と実際のシナリオを比較し、正常動作や処理タイミングを検証して、検証結果をシナリオ実行画面１７３０や実行ログ１７２０に出力・表示する。
【００５０】
以上のとおり、本実施例では、同期・非同期のメッセージ処理を含む検証用プログラム（擬似プログラム）を容易に生成することが可能となる。その理由は、シナリオチャートを生成するチャートエディタ（検証用プログラム生成システム）というグラフィカルな入力手段と、このシナリオチャートからソースコードを生成する手段を採用したことにある。
【００５１】
また、本実施例では、試験仕様やプログラム仕様の変更に伴う検証用プログラム（擬似プログラム）の修正も容易化され、試験の後戻りにかかる工数も削減される。その理由は、ソースコードを生成する際に、検証用プログラム（擬似プログラム）の処理手順をタグ要素で記した、シナリオファイルというテキスト形式のファイルを同時に生成するためである。このシナリオファイルは、ソースコードよりも編集が容易であり、仕様変更箇所の確認、些細な属性の変更、タグ要素の入れ子構造化といった、ソースコードの修正内容の検討に利用することができる。また、編集したシナリオファイルをチャートエディタ（検証用プログラム生成システム）で読み込み、シナリオチャートに反映し、再度ソースコードを自動生成することも可能である。
【００５２】
また、本実施例では、擬似タスクと試験対象プログラムの実タスクとは別に、メッセージ通信の状況を監視する管理タスクが存在する構成としているため、各タスクのパフォーマンスに大きな影響を与えることなく、メッセージ通信の状況をリアルタイムにモニターし、記録することも可能となっている。また、これらの結果を利用すれば、シミュレーション環境における、各タスク間の処理タイミングや処理速度の精度を高めることも可能となる。
【００５３】
また、以上のようなシミュレーション環境を利用し、比較的容易に、マルチタスクのプログラムを設計・作成することも可能となる。例えば、擬似タスクを元に組込みシステム等の実機上で動作する上位・下位レイヤの実プログラムの雛型を生成したり、あるいは逆に、上位・下位レイヤのプログラムから、中間レイヤのプログラムを設計し、作成することが可能となる。
【００５４】
インタフェース仕様を元に新規に作成するプログラムは、本発明を利用して動作検証を繰り返して修正を加えることにより、実プログラムに近いソースコードになる。プログラム仕様の変更に対して、シナリオチャート、シナリオファイル、ソースコードを連携させることで、効率的なプログラム作成が行われ、ソースコードレビューを含む開発作業にかかる工数が削減される。
【００５５】
［第２実施例］
続いて、本発明の第２の実施例について説明する。本発明の第２の実施例の基本的構成は、上記第１の実施例と同様であるが、擬似タスクのソースコードを生成する際に、シナリオで表現されている処理手順をソースコードには組み込まず、シナリオ実行時に初めてシナリオを読み込み、タグ要素を解析してメッセージ処理を実行する構成を取っている。以下、図１８〜図２１を参照して本発明の第２の実施例について詳細に説明する。
【００５６】
図１８は、本発明の第２の実施例に係るシナリオ実行環境の構成を表した図であり、上記第１の実施例のシナリオ実行環境を表した図１４との相違点は、シナリオ解析手段１８０６が追加されている点である。図１８を参照すると、シナリオ実行手段１８０１は、図１４のシナリオ実行手段１４０１と同様に、実行モジュール１８０２を、環境情報１８０３と、シナリオマップ１８０４と、生成シナリオ１８０５とともにシミュレーション環境に読み込んだ後、生成シナリオ１８０５の内容をシナリオ解析手段１８０６に渡す。
【００５７】
シナリオ解析手段１８０６は、シナリオの内容を解析してタグ要素や属性毎に分解し、シナリオデータ１８０７としてメモリ上に展開する。シナリオ実行手段１８０１は、先に読み込んだ実行モジュール１８０２、環境情報１８０３、シナリオマップ１８０４とともにシナリオデータ１８０７を実行し、実行結果をシナリオ実行画面１８０８に表示し、さらに実行ログ１８０９に出力する。
【００５８】
図１９は、上記シナリオデータ１８０７のデータ構造の一例である。図１９を参照すると、同期シナリオデータの格納部２０００以降に、この同期シナリオを実行するタスク名及び同期シナリオのタイトルに続いて、タグ要素の順番（タグ要素［１］、タグ要素［２］、タグ要素［３］．．．）に従って、同期メッセージ処理のタグ要素、属性、内部データが格納されている。
【００５９】
例えば、図１９では、タグ要素［２］の格納領域２００１に“ｓｅｎｄ”の文字列が格納されている。さらに、属性［２ａ］の格納領域２００２には１番目の属性値“ｆｒｏｍ＝ｔａｓｋａ”が、属性[２ｂ]の格納領域２００３には２番目の属性値“ｔｏ＝ｔａｓｋｂ”が、属性[２ｃ]の格納領域２００４には３番目の属性値“ｍｓｇ＝Ａ＿ＲＥＱ”が、送信データの格納領域２００５にはｓｅｎｄタグによって送信される送信データ“ｄａｔａ＝０１  ０２  ０３”が格納されている。
【００６０】
同期シナリオデータの格納部２０００に続く非同期シナリオデータＡの格納部２０１０及び非同期シナリオデータＢの格納部２０２０には、非同期シナリオ実行のトリガとなるメッセージ名に続いて、非同期メッセージ処理のタグ要素、属性、内部データがタグ要素の順番に格納されている。
【００６１】
図２０は、図１８のシナリオ実行環境を、シナリオ実行中の各タスク間の関連で示したタスク関連図である。管理タスク１９０７は、シナリオ実行の開始とともに、生成シナリオ及びシナリオマップ１９２０を読み込み、シナリオデータ１９１１としてメモリ上に展開する。次に、管理タスク１９０７は、シナリオデータ１９１１に基づいて、上位の擬似タスク１９０３及び下位の擬似タスク１９０５に対し、管理タスクのメールボックス１９０８を経由して、各タスクが実行する同期シナリオのデータを渡す。
【００６２】
具体的には、上位タスクへのシナリオ配布１９１２を通して同期シナリオデータ１９１３を渡し、下位タスクへのシナリオ配布１９１４を通して同期シナリオデータ１９１５を渡す。ここで、渡されるシナリオデータは、シナリオデータ１９１１上の同期シナリオ開始の位置を指すポインタやＩＤであるものとする。上位の擬似タスク１９０３及び下位の擬似タスク１９０５は、渡された同期シナリオデータの手順に沿って、各々、試験対象タスク１９０１とメッセージの送受信を行う。メッセージの受け渡しには、上位の擬似タスクのメールボックス１９０４、下位の擬似タスクのメールボックス１９０６、試験対象タスクのメールボックス１９０２が使われる。上位の擬似タスク１９０３が同期シナリオデータ１９１３に含まれないメッセージを受信した場合は、上位の擬似タスク１９０３は当該メッセージを管理情報Ａ１９０９として管理タスク１９０７に送る。
【００６３】
管理タスク１９０７は受け取ったメッセージが非同期メッセージかどうかを判断し、非同期メッセージの場合は、上位タスクへのシナリオ配布１９１２を通して上位の擬似タスク１９０３に、シナリオデータ１９１１上の非同期シナリオのデータ（非同期シナリオ開始の位置を指すポインタやＩＤ）を渡す。上位の擬似タスク１９０３は、受け取った非同期シナリオデータ１９１６の手順に沿って、試験対象タスク１９０１とメッセージの送受信を行う。
【００６４】
一方、下位の擬似タスク１９０５が同期シナリオデータ１９１５に含まれないメッセージを受信した場合、下位の擬似タスク１９０５は当該メッセージを管理情報Ｂ１９１０として管理タスク１９０７に送る。以降の処理は、上記の上位の擬似タスク１９０３の場合と同様である。
【００６５】
さらに、管理タスク１９０７は、上位の擬似タスク１９０３及び下位の擬似タスク１９０５に対して開始・終了等のタスク制御を行う。さらに、管理タスク１９０７は、上位の擬似タスク１９０３及び下位の擬似タスク１９０５から、試験対象タスク１９０１とのメッセージ通信の内容等のログ情報を受け取り、シナリオに沿った動作であるかを検証したり、処理タイミングを測定して、結果をシナリオ実行画面１９４０や実行ログ１９３０に出力・表示することが可能である。
【００６６】
図２１は、図２０の上位の擬似タスク１９０３の実行フローである。上記した本発明の第１の実施例では、擬似タスクはタスク内部に組み込まれたシナリオの処理手順に沿ってメッセージ処理を実行していたが、本発明の第２の実施例では、擬似タスクは図１９のシナリオデータ１９１１に展開されたタグ要素を読み込んで解析しながらメッセージ処理を実行する構成になっている。
【００６７】
図２１を参照すると、シナリオ実行が開始されるとまず、上位の擬似タスク１９０３は、シナリオデータ１９１１を読み込む。（ステップ２１００）。
【００６８】
次に、上位の擬似タスク１９０３は、読み込んだシナリオデータの中から、シナリオ中で扱う同期メッセージを抽出し、記憶する（ステップ２１０１）。
【００６９】
次に、同期シナリオ処理Ｌ１に進み、シナリオデータ１９１１に展開された同期メッセージ処理の先頭のタグ要素を参照し、タグ要素、属性、内部データを確認・実行し（ステップ２１０２）、タグ要素、属性、内部データに対応する関数（システムコール）を実行する（ステップ２１０３）。
【００７０】
上位の擬似タスク１９０３は、メッセージの受信待ち状態であるかどうかを判断し（ステップ２１０４）、メッセージ受信待ちであれば待機してメッセージを受信する（ステップ２１０５）。一方、メッセージ受信待ちでなければ、上位の擬似タスク１９０３は、次のタグ要素を実行するために、ステップ２１０２に戻る。
【００７１】
ステップ２１０５でメッセージを受信した後、ステップ２１０１で記憶したメッセージと比較し、同期メッセージであるかどうかを判断する（ステップ２１０６）。同期メッセージを受信した場合は、対応する処理を実行し（ステップ２１０７）、次のタグ要素を実行するために、同期シナリオ処理Ｌ１（ステップ２１０２）に戻る。
【００７２】
一方、ステップ２１０６において、同期メッセージでないメッセージを受信した場合は、当該メッセージとともに図２０の管理タスク１９０７に通知し、非同期シナリオのデータを要求する（ステップ２１０８）。管理タスク１９０７は、上位の擬似タスク１９０３から受け取った前記メッセージが、シナリオデータ１９１１の非同期シナリオのトリガになっているかどうかを調べ、トリガになっていれば、非同期シナリオのデータを上位の擬似タスク１９０３に渡す。上位の擬似タスク１９０３は、管理タスク１９０７から、シナリオデータ１９１１上の非同期シナリオ開始の位置を指すポインタやＩＤをメッセージ受信の形で受け取り（ステップ２１０９）、非同期シナリオ処理Ｌ２に進む。
【００７３】
上位の擬似タスク１９０３は、シナリオデータ１９１１に展開された非同期メッセージ処理のタグ要素を先頭から順番に参照し、タグ要素、属性、内部データを確認する（ステップ２１１０）。この場合も上位の擬似タスク１９０３は、タグ要素、属性、内部データに対応する関数（システムコール）を、タグ要素の順番に実行する（ステップ２１１１）。非同期メッセージの処理が終わると、同期メッセージ処理の次のタグ要素を実行するために、同期シナリオＬ１に戻る。上記の実行フローは上位の擬似タスク１９０３を例に挙げて説明しているが、下位の擬似タスク１９０５に置き換えても同様の処理が実行される。
【００７４】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。例えば、上記した各実施例では、プログラム言語としてＣ言語を用いた例を挙げて説明したが、メッセージ通信が可能な他のプログラム言語であってもよく、変換ライブラリに当該プログラム言語のソースコードに変換するためのデータを格納することで対応可能である。
【図面の簡単な説明】
【００７５】
【図１】マルチタスク間通信を行うプログラムによる通信シーケンスを模式的に表した図である。
【図２】シナリオの編集と、シナリオからソースコードの生成するためのチャートエディタ（検証用プログラム生成システム）の構成を表した図である。
【図３】図２のシナリオチャート編集手段によって表示装置上に表示されるシナリオチャート編集画面の一例である。
【図４】図２のシナリオチャート編集手段によって表示装置上に表示されるシナリオチャート編集パレットの一例である。
【図５】図４のシナリオチャート編集パレットの同期シナリオアイコンのプロパティ設定画面の設定例である。
【図６】図４のシナリオチャート編集パレットの非同期シナリオアイコンのプロパティ設定画面の設定例である。
【図７】図４のシナリオチャート編集パレットの送信アイコンのプロパティ設定画面の設定例である。
【図８】図４のシナリオチャート編集パレットの受信アイコンのプロパティ設定画面の設定例である。
【図９】図４のシナリオチャート編集パレットのタスク制御アイコンのプロパティ設定画面の設定例である。
【図１０】シナリオを構成するタグ要素を説明するための図である。
【図１１】図３のシナリオチャートと、変換ライブラリとを用いて生成されるシナリオの一例である。
【図１２】図３のシナリオチャートと、変換ライブラリとを用いて生成されるソースコードの例である。
【図１３】ソースコード等から実行モジュールを生成するビルド環境の構成を表した図である。
【図１４】図１３のビルド環境で生成された実行モジュールの動作検証を行うシナリオ実行環境の構成を表した図である。
【図１５】図１４のシナリオ実行環境のシナリオ実行画面に表示されるシナリオ設定画面の一例である。
【図１６】図１４のシナリオ実行環境のシナリオ実行画面に表示されるシナリオ実行結果の一例である。
【図１７】本発明の第１の実施例におけるシナリオ実行中の各タスク間の関連を示すタスク関連図である。
【図１８】本発明の第２の実施例に係るシナリオ実行環境の構成を表した図である。
【図１９】本発明の第２の実施例で用いるシナリオデータのデータ構造の一例である。
【図２０】本発明の第２の実施例におけるシナリオ実行中の各タスク間の関連を示すタスク関連図である。
【図２１】図２０の上位の擬似タスク１９０３の実行フローである。
【符号の説明】
【００７６】
１  試験対象タスク
２  上位の擬似タスク
３  下位の擬似タスク
１０  同期通信Ａ
１１  メッセージ送信Ａ
１２  メールボックスＡ
１３  メッセージ受信Ａ
２０  同期通信Ｂ
２１  メッセージ送信Ｂ
２２  メールボックスＢ
２３  メッセージ受信Ｂ
３０  非同期通信
３１  メッセージ受信Ｃ
３２  メールボックスＣ
３３  メッセージ送信Ｃ
１００  チャートエディタ
１０１  シナリオチャート編集手段
１０２  シナリオ又はソースコード解析手段
１０３  変換ライブラリ
１０４  シナリオ及びソースコード生成手段
１１０  コード修正手段
１２０  修正シナリオ
１３０  修正ソースコード
１４０  入力装置
１５０  表示装置
１６０  生成シナリオ
１７０  シナリオマップ
１８０  生成ソースコード
２００  生成シナリオ
２１０  同期シナリオの開始タグ
２２０  送信タグ
２３０  受信タグ
２４０  一時停止タグ
２５０  繰り返しタグ
２６０  非同期シナリオの開始タグ
３００  タグ要素
３１０  属性
３２０  使用例
４００  生成ソースコード（本体）
４０１  同期通信処理
４０２  非同期通信処理
４１０  生成ソースコード（ヘッダ）
６００  シナリオチャート編集画面
６０１  同期シナリオ
６０２  非同期シナリオ
６１０  シナリオ及びソースコード生成ボタン
６２０  シナリオ又はソースコード読込ボタン
６３０  シナリオ又はソースコード選択ボタン
７００  シナリオチャート編集パレット
７０１  同期シナリオアイコン
７０２  非同期シナリオアイコン
７０３  送信アイコン
７０４  受信アイコン
７０５  タスク制御アイコン
７０６  コネクタアイコン
７０７  ループアイコン
７０８  条件分岐アイコン
７０９  フリーテキストアイコン
８００  同期シナリオアイコンのプロパティ設定画面
８１０  シナリオタイトル
８２０  タスク名
８３０  メールボックス名
８４０  試験対象タスク名
８５０  試験対象タスクのメールボックス名
９００  非同期シナリオアイコンのプロパティ設定画面
９１０  シナリオタイトル
９２０  メッセージ名
１０００  送信アイコンのプロパティ設定画面
１０１０  送信元タスク名
１０２０  送信先タスク名
１０３０  メールボックス名
１０４０  送信データ
１０５０  メッセージ名
１１００  受信アイコンのプロパティ設定画面
１１１０  送信元タスク名
１１２０  送信先タスク名
１１３０  メールボックス名
１１４０  受信データ
１１５０  メッセージ名
１１６０  受信待ち時間
１２００  タスク制御アイコンのプロパティ設定画面
１２１０  停止時間
１２２０  起動タスク名
１２３０  終了タスク名
１２４０  break挿入
１２５０  continue挿入
１３００  ビルド環境
１３０１  ビルド手段
１３０２  試験対象ソースコード
１３０３  生成ソースコード
１３０４  シナリオマップ
１３０５  GUI及び関数ライブラリ
１３０６  実行モジュール
１３０７  環境情報
１３１０  コード修正手段
１４００  シナリオ実行環境
１４０１  シナリオ実行手段
１４０２  実行モジュール
１４０３  環境情報
１４０４  シナリオマップ
１４０５  生成シナリオ
１４０６  シナリオ実行画面
１４０７  実行ログ
１５００  シナリオ設定画面
１５１０  擬似タスクの選択メニュー
１５１１  擬似タスクのリスト
１５１２  選択決定ボタン
１５１３  擬似タスク名と対応シナリオのリスト
１５１４  シナリオ表示ボタン
１５２０  試験対象タスクの表示部
１５３０  シナリオ実行メニュー
１５３１  シナリオ開始ボタン
１５３２  シナリオ停止ボタン
１５３３  初期化ボタン
１６００  メッセージ通信表示部（概要）
１６１０  メッセージ通信表示部（詳細）
１６２０  メッセージ通信選択カーソル
１７００  タスク関連図
１７０１  試験対象タスク
１７０２  試験対象タスクのメールボックス
１７０３  上位の擬似タスク
１７０４  上位の擬似タスクのメールボックス
１７０５  下位の擬似タスク
１７０６  下位の擬似タスクのメールボックス
１７０７  管理タスク
１７０８  管理タスクのメールボックス
１７１０  生成シナリオ及びシナリオマップ
１７２０  実行ログ
１７３０  シナリオ実行画面
１８００  シナリオ実行環境
１８０１  シナリオ実行手段
１８０２  実行モジュール
１８０３  環境情報
１８０４  シナリオマップ
１８０５  生成シナリオ
１８０６  シナリオ解析手段
１８０７  シナリオデータ
１８０８  シナリオ実行画面
１８０９  実行ログ
１９００  タスク関連図
１９０１  試験対象タスク
１９０２  試験対象タスクのメールボックス
１９０３  上位の擬似タスク
１９０４  上位の擬似タスクのメールボックス
１９０５  下位の擬似タスク
１９０６  下位の擬似タスクのメールボックス
１９０７  管理タスク
１９０８  管理タスクのメールボックス
１９０９  管理情報Ａ
１９１０  管理情報Ｂ
１９１１  シナリオデータ
１９１２  上位タスクへのシナリオ配布
１９１３  同期シナリオデータ
１９１４  下位タスクへのシナリオ配布
１９１５  同期シナリオデータ
１９１６  非同期シナリオデータ
１９２０  生成シナリオ及びシナリオマップ
１９３０  実行ログ
１９４０  シナリオ実行画面
２０００  同期シナリオデータの格納部
２００１  タグ要素[2]の格納領域
２００２  属性[2a]の格納領域
２００３  属性[2b]の格納領域
２００４  属性[2c]の格納領域
２００５  送信データの格納領域
２０１０  非同期シナリオデータＡの格納部
２０２０  非同期シナリオデータＢの格納部
【図１】
2008305003.tif 000003
【図２】
2008305003.tif 000004
【図３】
2008305003.tif 000005
【図４】
2008305003.tif 000006
【図５】
2008305003.tif 000007
【図６】
2008305003.tif 000008
【図７】
2008305003.tif 000009
【図８】
2008305003.tif 000010
【図９】
2008305003.tif 000011
【図１０】
2008305003.tif 000012
【図１１】
2008305003.tif 000013
【図１２】
2008305003.tif 000014
【図１３】
2008305003.tif 000015
【図１４】
2008305003.tif 000016
【図１５】
2008305003.tif 000017
【図１６】
2008305003.tif 000018
【図１７】
2008305003.tif 000019
【図１８】
2008305003.tif 000020
【図１９】
2008305003.tif 000021
【図２０】
2008305003.tif 000022
【図２１】
2008305003.tif 000023