JP2008305003A - マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム - Google Patents

マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム Download PDF

Info

Publication number
JP2008305003A
JP2008305003A JP2007149370A JP2007149370A JP2008305003A JP 2008305003 A JP2008305003 A JP 2008305003A JP 2007149370 A JP2007149370 A JP 2007149370A JP 2007149370 A JP2007149370 A JP 2007149370A JP 2008305003 A JP2008305003 A JP 2008305003A
Authority
JP
Japan
Prior art keywords
scenario
program
source code
task
pseudo
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.)
Withdrawn
Application number
JP2007149370A
Other languages
English (en)
Inventor
Masaya Iwasaki
昌哉 岩崎
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 Solution Innovators Ltd
Original Assignee
NEC Software Kyushu Ltd
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 Software Kyushu Ltd filed Critical NEC Software Kyushu Ltd
Priority to JP2007149370A priority Critical patent/JP2008305003A/ja
Publication of JP2008305003A publication Critical patent/JP2008305003A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】タスク間通信を行うプログラムの動作検証の容易化。
【解決手段】シナリオチャート編集手段101を用いて、シナリオチャート編集画面上に、試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力し、シナリオチャートを作成する。次に、シナリオ及びソースコード生成手段104により、変換ライブラリ103を参照して、シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する。この試験対象プログラムと擬似プログラムのソースコードとから、実行モジュールを生成する。実行モジュールを実行し、試験対象プログラムと擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成する。実行ログは、各タスク間の処理タイミングや処理精度の向上のために使用される。
【選択図】図2

Description

本発明は、プログラムの動作検証方法及び動作検証システムに関し、特に、上位又は下位のレイヤとマルチタスク通信を行うプログラムの動作検証方法及び動作検証システムに関する。
特開2002−366387号公報に、インタフェース仕様やデータ長といった定義情報と画面の基本仕様からスタブ・ドライバを生成し、標準シナリオ(標準のテスト処理順序と個々の処理詳細)と標準スクリプト(スタブ・ドライバ画面の操作シミュレーションプログラム)から期待値、テストデータ、スクリプトを自動生成し、これら期待値、テストデータ、スクリプトを元に、前記スタブ・ドライバを用いて試験対象プログラムのテストを行う自動テストシステムが開示されている。また、同公報では、定義情報と標準シナリオとからテストシナリオを生成し、該テストシナリオを用いてテストに用いる期待値、テストデータ、スクリプトを生成することが記載されている。同公報の自動テストシステムによれば、試験仕様やプログラム仕様の変更に対してシナリオ等の若干の修正で対応することが可能になるとされている。
特開2002−366387号公報
しかしながら、上記した特許文献1に記載の技術により生成したスタブ・ドライバのプログラムやシナリオ等では、マルチタスク間の同期・非同期型のメッセージ処理を表現したり、メッセージ処理を実行できないという問題点がある。特許文献1に記載の技術は、画面の基本仕様からスタブ・ドライバを生成している点からも明らかなとおり、画面を基点として画面遷移を行うプログラムの入出力動作の検証を目的とするものであり、マルチタスク通信を行うプログラムの動作検証は考慮に入れられていない。
本発明は、上記した事情に鑑みてなされたものであって、タスク間通信を行うプログラムの動作検証方法、タスク間通信を行うプログラムの動作検証システム及びこれらに用いる検証プログラムの生成方法を提供することにある。
本発明の第1の視点によれば、コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証方法であって、前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、前記コンピュータが、変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成する生成ステップと、前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、前記コンピュータが、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行ステップと、を含むこと、を特徴とするマルチタスク通信を行うプログラムの動作検証方法が提供される。
本発明の第2の視点によれば、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証システムであって、シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段と、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段と、を備えること、を特徴とするマルチタスク通信を行うプログラムの動作検証システムが提供される。
本発明の第3の視点によれば、マルチタスク通信を行うプログラムの動作検証に用いる検証用プログラム(擬似プログラム)の生成方法、及び、検証用プログラム生成システムが提供される。
本発明の第4の視点によれば、上記検証用プログラム(擬似プログラム)生成システムにて生成された実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行システムが提供される。
本発明によれば、マルチタスク通信を行う試験対象プログラムの動作を検証するための検証用(擬似)プログラムの作成が容易化され、プログラムの生成に要する工数のみならず、試験全体の工数を削減することが可能となる。その理由は、グラフィカルな入力手段にてシナリオチャートを作成し、ソースコードを自動生成できるよう構成したことにある。
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。始めに、通信プロトコルや組込みシステム等におけるマルチタスク間通信を行うプログラムについて説明する。図1は、これらのマルチタスク間通信を行うプログラムによる通信シーケンスを模式的に表した図である。
図1に表されたように、タスク間の要求や応答は、共有メモリ上のメールボックスを利用して、メッセージの送受信で行うことが一般的である。マルチタスク間通信の動作検証は、これらのメッセージを監視することで可能となる。
メッセージの送受信シーケンスは、要求/送信と応答/受信の繰り返しで進行するが、送受信のタイミングによって、同期通信(図1の破線10、20)と非同期通信(図1の二重破線30)に分けられる。同期通信は、送信メッセージの受信後、同期するタイミングで応答を返すものであり、非同期通信は、送信メッセージへの同期ではなく、何らかの条件が整うタイミングでメッセージを送信するものである。
図1を参照すると、試験対象タスク1に対して、上位の擬似タスク2と下位の擬似タスク3が存在する。図1の破線で表した同期通信10は、上位の擬似タスク2からの試験対象タスク1に対するメッセージ送信に同期するタイミングで試験対象タスク1よりメッセージが返されていることを表している。
図1の破線で表した同期通信20も同様に、試験対象タスク1から下位の擬似タスク3に対するメッセージ送信に同期するタイミングで下位の擬似タスク3からメッセージが返されていることを表している。
一方、図1の破線で表した非同期通信30は、非同期通信を表している。図1の例では、ある条件が整うタイミングで、試験対象タスク1が上位の擬似タスク2に対しメッセージ送信を行ない、これ応答して上位の擬似タスク2からメッセージが返されている。
これらの同期・非同期動作を含む送受信シーケンスは、予め定められた手順に沿って進行しており、各タスクが実行するシナリオと呼べるものである。このシナリオを図形エディタの様なグラフィカルな入力手段で編集し、かつ、シームレスな手順で上位の擬似タスク2及び下位の擬似タスク3のソースコードを生成することができれば、試験対象タスク1のタスク間通信動作の検証を効率的に進めることが可能となる。以下、上記観点で、効率的なプログラムの動作検証を実現する本発明の実施例を説明する。
[第1実施例]
図2は、上記したシナリオの編集と、シナリオからソースコードの生成するためのチャートエディタ(検証用プログラム生成システム)の構成を表した図である。図2を参照すると、チャートエディタ100は、シナリオチャート編集手段101と、シナリオ又はソースコード解析手段102と、変換ライブラリ103と、シナリオ及びソースコード生成手段104と、を含んでいる。なお、シナリオチャート編集手段101と、シナリオ又はソースコード解析手段102と、シナリオ及びソースコード生成手段104は、後記する処理を実行させるプログラムによって実現することができる。
シナリオチャート編集手段101は、チャートエディタ100として機能するコンピュータの入力装置140と、表示装置150とを使用してシナリオチャートの生成・編集操作を受けつける手段である。
シナリオ及びソースコード生成手段104は、シナリオチャート編集手段101にて編集されたシナリオチャートを、シナリオデータ、シナリオマップ、ソースコードへの変換に必要なデータが格納された変換ライブラリ103を参照して、生成シナリオ160、シナリオマップ170、生成ソースコード180に変換・出力する手段である。シナリオマップ170とは、擬似タスクと対応するシナリオ、メールボックス、メッセージとのマッピング情報であり、擬似タスク名と、対応するシナリオ名と、シナリオの内容とを表示する際に使用される。
シナリオ又はソースコード解析手段102は、生成したシナリオやソースコードを修正して、シナリオチャートに反映させ、当該シナリオチャートからソースコードやシナリオを再度生成する場合に使用される手段である。シナリオやソースコードを修正し修正シナリオ120や修正ソースコード130を生成するコード修正手段110としては、テキストエディタ等を用いることができる。
図3は、シナリオチャート編集手段101によって表示装置150上に表示されるシナリオチャート編集画面の一例である。図3を参照すると、シナリオチャート編集画面600は、図2のシナリオチャート編集手段101のフロントエンドになっている。図3の例では、「同期:電源on<START>」から「同期:電源on<END>」までのアイコン群が同期シナリオ601を表している。また、「非同期:測定<START>」から「非同期:測定<END>」までが非同期シナリオ602を表している。
上記シナリオチャート上のアイコンは、後記する同期/非同期メッセージ処理のタグ要素にそれぞれ対応しており、シナリオチャートの編集が完了し、選択ボタン630にてシナリオ又はソースコードのいずれかを選択し、生成ボタン610を押下すると、シナリオやソースコードが自動生成される。
また、シナリオやソースコードを修正する場合は、選択ボタン630にてシナリオ又はソースコードのいずれかを選択し、読込ボタン620を押下すると、選択ボタン630で選択したシナリオ又はソースコードが所定の記録媒体から読み込まれ、再編集可能とされる。
図4は、シナリオチャート編集手段101によって、シナリオチャート編集画面と同時に表示装置150上に表示されるシナリオチャート編集パレットの一例である。図4を参照すると、シナリオチャート編集パレット700には、同期シナリオアイコン701と、非同期シナリオアイコン702と、送信アイコン703と、受信アイコン704と、タスク制御アイコン705と、コネクタアイコン706と、ループアイコン707と、条件分岐アイコン708と、フリーテキストアイコン709とが用意されており、それぞれをクリックし、シナリオチャート編集画面上の位置を指定することで、シナリオチャート上にアイコンを配置することが可能となっている。
以下、各アイコンが表す動作等を説明する。同期シナリオアイコン701は、同期シナリオの開始と終了を表す。非同期シナリオアイコン702は、非同期シナリオの開始と終了を表す。送信アイコン703は、メッセージ送信処理を表す。受信アイコン704は、メッセージ受信処理を表す。タスク制御アイコン705は、タスクの一時停止やbreak、continue等のタスクの制御を表す。コネクタアイコン706は、連続する処理同士を結ぶ際に使用される。ループアイコン707は、処理の繰り返しを表す。条件分岐アイコン708は、C言語のswitch〜case文に相当する。フリーテキストアイコン709は、コードを直接記述する際に使用される。これらのアイコンに対して、マウスの右クリック等の操作を加えることにより、プロパティ設定画面を表示し詳細設定を行うことが可能となっている。以下、上記各アイコンに対して、設定可能な項目について説明する。
図5は、同期シナリオアイコン701のプロパティ設定画面800の設定例である。図5の例では、図3の同期シナリオアイコンに相当する内容が設定され、シナリオタイトル欄810に、同期シナリオのタイトルとして「電源on」が入力されている。タスク名欄820には、同期シナリオを実行する擬似タスクのタスク名として「upper_poweron」が入力されている。メールボックス名欄830には、同期シナリオを実行する擬似タスクのメールボックス名として、「UP01」が入力されている。試験対象タスク名欄840には、試験対象タスクのタスク名として「test_task」が入力されている。試験対象タスクのメールボックス名欄850には、試験対象タスクのメールボックス名として「TEST」が入力されている。
図6は、非同期シナリオアイコン702のプロパティ設定画面900の設定例である。図6の例では、図3の非同期シナリオアイコンに相当する内容が設定され、シナリオタイトル欄910に、非同期シナリオのタイトルとして、「測定」が入力されている。メッセージ名欄920には、非同期シナリオを実行するトリガとなるメッセージ名として「MEASURE_REQ」が入力されている。
図7は、送信アイコン703のプロパティ設定画面1000の設定例である。図7の例では、図3の同期シナリオアイコンの下に配された送信アイコンに相当する内容が設定され、送信元タスク名欄1010に、メッセージの送信元の擬似タスク名として「upper_poweron」が入力されている。送信先タスク名欄1020には、メッセージの送信先の試験対象タスク名「test_task」が入力される。メールボックス名欄1030には、メッセージの送信先の試験対象タスクのメールボックス名として「TEST」が入力されている。送信データ欄1040には、メッセージとともに送信する送信データが入力されている。メッセージ名欄1050には、送信するメッセージのメッセージ名として「ACTIVATE_REQ」が入力されている。
図8は、受信アイコン704のプロパティ設定画面1100の設定例である。図8の例では、図3の送信アイコンの下に配された受信アイコンに相当する内容が設定され、送信元タスク名欄1110に、メッセージの送信元の試験対象タスク名として「test_task」が入力されている。送信先タスク名欄1120には、メッセージの送信先となりメッセージを受信する擬似タスク名「upper_poweron」が入力される。メールボックス名欄1130には、メッセージを受信する擬似タスクのメールボックス名として「UP01」が入力されている。受信データ欄1140には、メッセージとともに受信する受信データが入力されている。メッセージ名欄1150には、受信するメッセージのメッセージ名として「ACTIVATE_CNF」が入力されている。受信待ち時間欄1160には、メッセージを受信するまでの待ち時間が入力されている。
図9は、タスク制御アイコン705のプロパティ設定画面1200の設定例である。停止時間欄1210、起動タスク名欄1220、終了タスク名欄1230、break挿入欄1240、continue挿入欄1250の左側にチェックボックスをチェックすることで、各欄を有効にすることができる。図9の例では、図3の受信アイコンの下に配されたタスク制御アイコンに相当する内容が設定され、停止時間欄1210に、タスクが処理を停止する時間が入力されている。起動タスク名欄1220には、新たに起動するタスク名として「upper_tx1」が入力されている。終了タスク名欄1230には、終了させるタスク名として「lower_task」が入力されている。break挿入欄1240及びcontinue挿入欄1250は、C言語のbreak、continueの実行を意味する。図9の例では、停止時間欄1210のチェックボックスにチェックがされているので、タスク制御アイコン705では、同欄に設定された時間だけタスクの停止処理が行われることになる。
また、図4のコネクタアイコン706、ループアイコン707、条件分岐アイコン708、フリーテキストアイコン709についても、各々処理に必要な項目の設定が可能となっており、これらを用いて、図3に示したシナリオチャートを生成することができる。
図10は、本発明に係るチャートエディタ(検証用プログラム生成システム)にて生成されるシナリオを構成するタグ要素を説明するための図(タグレファレンス)である。タグ要素欄300に規定された各内容は、各タグ要素の表記フォーマットであり、HTML/XMLタグの様な扱いやすい形式になっている。属性欄310は、タグ要素300の内部に記述される属性項目を示している。使用例欄320の記載は、生成されたシナリオ内のタグ要素と属性の使用例である。例えば、図7の送信アイコンのプロパティ設定画面1000に設定された内容を図10の2行目の<send>タグで表すと、「<send to=”test_task” from=”upper_poweron” msg=”ACTIVATE_REQ” mboxid=”TEST”> 01 0A 02 0B 03 0C」となる。
図11は、上記したタグ要素への変換を行ない、図3のシナリオチャートと、変換ライブラリ103とを用いて生成されるシナリオである。図11の生成シナリオ200では、擬似タスクの同期・非同期メッセージ処理が、予め定義されたタグ要素及び属性を用いて表現されている。例えば、図11の同期シナリオの開始タグ210は、擬似タスクが実行する同期メッセージ処理の開始を表しており、図5の同期シナリオアイコンのプロパティ設定画面800で設定された内容に相当する。送信タグ220は、メッセージ送信処理を表しており、図7の送信アイコンのプロパティ設定画面1000で設定された内容に相当する。受信タグ230は、メッセージ受信処理を表しており、図8の受信アイコンのプロパティ設定画面1100で設定された内容に相当する。一時停止タグ240は、擬似タスクが指定された時間、一時的に処理を止めることを意味しており、図9のタスク制御アイコンのプロパティ設定画面1200で設定された内容に相当する。繰り返しタグ250は、処理の繰り返しを表している。また、非同期シナリオの開始タグ260は、擬似タスクが実行する非同期メッセージ処理の開始を表しており、図6の非同期シナリオアイコンのプロパティ設定画面900で設定された内容に相当する。
図12は、図3のシナリオチャートと、変換ライブラリ103とを用いて生成されるソースコードの例である。図12のソースコードは、プログラム本体である生成ソースコード(本体)400と、ヘッダファイルである生成ソースコード(ヘッダ)410から構成される。生成ソースコード(本体)400は、同期メッセージ処理のコードが記述された同期通信処理401と、非同期メッセージ処理のコードが記述された非同期通信処理402から構成され、それぞれ、図3のシナリオチャートの同期シナリオと、非同期シナリオに相当する。
以上のように、図2に示したチャートエディタ(検証用プログラム生成システム)のシナリオチャート編集手段101により、シナリオチャートの入力・編集が行われ、シナリオ及びソースコード生成手段104により、シナリオ、シナリオマップ、ソースコードが生成される。
続いて、上記生成したシナリオ、シナリオマップ、ソースコードを用いた実行モジュールの生成と、該実行モジュールを用いた試験対象タスクの動作検証について説明する。図13は、図2のチャートエディタ(検証用プログラム生成システム)にて生成した擬似タスクのソースコードと、試験対象タスクのソースコードとから、例えば、パーソナルコンピュータ等の任意のシミュレーション環境で実行可能な実行モジュールを生成するためのビルド環境1300の構成を表した図である。
図13を参照すると、ビルド手段1301は、試験対象ソースコード1302と、擬似タスクのソースコード(生成ソースコード)1303と、擬似タスクに対応するシナリオ、メールボックス、メッセージとのマッピング情報であるシナリオマップ1304と、GUI及び関数ライブラリ1305とをコンパイル・リンクし、実行モジュール1306と、シナリオ実行時の各タスクとメールボックスのメモリマップとなる環境情報1307とを生成する。なお、GUI及び関数ライブラリ1305とは、シナリオ実行時の操作インタフェースやリアルタイムOSの擬似関数を与えるライブラリである。
擬似タスクとのインタフェース仕様に合わせて、試験対象ソースコード1302を修正する場合は、ビルドする前にコード修正手段1310を使って修正を加えることができる。なお、ビルド環境1300は、例えば、Microsoft Visual C++の様な標準的な開発環境を利用して構成することができる。
図14は、図13のビルド環境1300にて生成された実行モジュールを、パーソナルコンピュータ等の任意のシミュレーション環境で動作検証を行うシナリオ実行環境1400の構成を表した図である。図14を参照すると、シナリオ実行手段1401は、実行モジュール1402を、環境情報1403と、シナリオマップ1404と、生成シナリオ1405とともにシミュレーション環境に読み込んで実行し、実行結果をシナリオ実行画面1406に表示し、さらに実行ログ1407に出力する。
ここで、シナリオマップ1404及び生成シナリオ1405は、実行する擬似タスク名と、対応するシナリオ名と、シナリオの内容とを表示するために使用される。なお、シナリオ実行環境1400は、例えば、Microsoft Visual C++の様な標準的な開発環境を利用して構成することができる。
図15は、シナリオ実行環境1400のシナリオ実行画面1406のフロントエンドであるシナリオ設定画面の一例である。図15を参照すると、シナリオ設定画面1500の擬似タスクの選択メニュー1510は、擬似タスクリスト1511と、選択ボタン決定1512により構成され、シミュレーションを実行する擬似タスクを選択し、選択決定ボタン1512をクリックすることで、シミュレーションを実行する擬似タスクを受け付ける。
なお、シミュレーションを実行する擬似タスクは複数選ぶことができ、選択した擬似タスクのタスク名と、対応するシナリオのシナリオ名が、擬似タスク名と対応シナリオのリスト1513に追加表示される。また図15のリスト1513に示されたように、シナリオ名については、同期メッセージ処理を含むシナリオ(例:図15の「電源on」)と、非同期メッセージ処理(例:図15の「測定」)を含むシナリオが個別に表示される。
また、各シナリオ名の近くに配されたシナリオ表示ボタン1514を押すと、対応する行のシナリオの内容が表示される。例えば、タスク名「upper_poweron」の対応シナリオ「電源on」のシナリオ表示ボタン1514を押すと、図11に例示したシナリオが表示される。
試験対象タスクの表示部1520には、試験対象タスクのタスク名が表示される。擬似タスクの選択後、シナリオ実行メニュー1530のシナリオ開始ボタン1531を押すと、擬似タスクと試験対象タスクが動作を開始し、図14のシナリオ実行画面1406に実行結果が表示される。また、シナリオ実行中にシナリオ停止ボタン1532を押すと、各タスクの動作が止まり、シミュレーションは強制終了となる。また、シミュレーション終了後に初期化ボタン1533を押すと、各タスクが使用するメモリ等のリソースがクリアされて初期状態に戻る。
図16は、シナリオ実行環境1400ののシナリオ実行画面に表示されるシナリオ実行結果の一例である。図16を参照すると、メッセージ通信表示部(概要)1600には、メッセージ通信の時間(Time)、送信元タスク(From)、送信先タスク(To)、メッセージ名(Message)が、メッセージ通信毎に時系列に表示される。
メッセージ通信選択カーソル1620により、任意のメッセージ通信(行)を選ぶと、さらに詳細な内容がメッセージ通信表示部(詳細)1610に表示される。図16の例では、メッセージ通信表示部(概要)1600の表示内容に加えて、メッセージ名(Message)と内部コード、通信に使われたメールボックス名(MailBox)、送信データ(Sent Data)等が追加して表示されている。
図17は、図14のシナリオ実行環境を、シナリオ実行中の各タスク間の関連で示したタスク関連図である。上位の擬似タスク1703及び下位の擬似タスク1705は、各タスク内部に組み込まれたシナリオ手順に沿って、試験対象タスク1701とメッセージの送受信を行う。メッセージの受け渡しには、上位の擬似タスクのメールボックス1704、下位の擬似タスクのメールボックス1706、試験対象タスクのメールボックス1702が使われる。これらのシナリオ動作に直接関連するタスク以外に、擬似タスク1703、1705からメールボックスを介して送信されるメッセージ情報をモニター画面に表示したり、通信ログとして記録する役割を担う管理タスク1707と、管理タスクのメールボックス1708が存在している。
より具体的には、管理タスク1707は、上位の擬似タスク1703及び下位の擬似タスク1705から、試験対象タスク1701とのメッセージ通信の内容等のログ情報を受け取り、シナリオ実行画面1730や実行ログ1720に出力・表示する。さらに、管理タスク1707は、上位の擬似タスク1703及び下位の擬似タスク1705に対して開始・終了等のタスク制御を行う。また、管理タスク1707は、生成シナリオ及びシナリオマップ1710を読み込んで、上位の擬似タスク1703及び下位の擬似タスク1705から受け取ったメッセージ通信の内容と実際のシナリオを比較し、正常動作や処理タイミングを検証して、検証結果をシナリオ実行画面1730や実行ログ1720に出力・表示する。
以上のとおり、本実施例では、同期・非同期のメッセージ処理を含む検証用プログラム(擬似プログラム)を容易に生成することが可能となる。その理由は、シナリオチャートを生成するチャートエディタ(検証用プログラム生成システム)というグラフィカルな入力手段と、このシナリオチャートからソースコードを生成する手段を採用したことにある。
また、本実施例では、試験仕様やプログラム仕様の変更に伴う検証用プログラム(擬似プログラム)の修正も容易化され、試験の後戻りにかかる工数も削減される。その理由は、ソースコードを生成する際に、検証用プログラム(擬似プログラム)の処理手順をタグ要素で記した、シナリオファイルというテキスト形式のファイルを同時に生成するためである。このシナリオファイルは、ソースコードよりも編集が容易であり、仕様変更箇所の確認、些細な属性の変更、タグ要素の入れ子構造化といった、ソースコードの修正内容の検討に利用することができる。また、編集したシナリオファイルをチャートエディタ(検証用プログラム生成システム)で読み込み、シナリオチャートに反映し、再度ソースコードを自動生成することも可能である。
また、本実施例では、擬似タスクと試験対象プログラムの実タスクとは別に、メッセージ通信の状況を監視する管理タスクが存在する構成としているため、各タスクのパフォーマンスに大きな影響を与えることなく、メッセージ通信の状況をリアルタイムにモニターし、記録することも可能となっている。また、これらの結果を利用すれば、シミュレーション環境における、各タスク間の処理タイミングや処理速度の精度を高めることも可能となる。
また、以上のようなシミュレーション環境を利用し、比較的容易に、マルチタスクのプログラムを設計・作成することも可能となる。例えば、擬似タスクを元に組込みシステム等の実機上で動作する上位・下位レイヤの実プログラムの雛型を生成したり、あるいは逆に、上位・下位レイヤのプログラムから、中間レイヤのプログラムを設計し、作成することが可能となる。
インタフェース仕様を元に新規に作成するプログラムは、本発明を利用して動作検証を繰り返して修正を加えることにより、実プログラムに近いソースコードになる。プログラム仕様の変更に対して、シナリオチャート、シナリオファイル、ソースコードを連携させることで、効率的なプログラム作成が行われ、ソースコードレビューを含む開発作業にかかる工数が削減される。
[第2実施例]
続いて、本発明の第2の実施例について説明する。本発明の第2の実施例の基本的構成は、上記第1の実施例と同様であるが、擬似タスクのソースコードを生成する際に、シナリオで表現されている処理手順をソースコードには組み込まず、シナリオ実行時に初めてシナリオを読み込み、タグ要素を解析してメッセージ処理を実行する構成を取っている。以下、図18〜図21を参照して本発明の第2の実施例について詳細に説明する。
図18は、本発明の第2の実施例に係るシナリオ実行環境の構成を表した図であり、上記第1の実施例のシナリオ実行環境を表した図14との相違点は、シナリオ解析手段1806が追加されている点である。図18を参照すると、シナリオ実行手段1801は、図14のシナリオ実行手段1401と同様に、実行モジュール1802を、環境情報1803と、シナリオマップ1804と、生成シナリオ1805とともにシミュレーション環境に読み込んだ後、生成シナリオ1805の内容をシナリオ解析手段1806に渡す。
シナリオ解析手段1806は、シナリオの内容を解析してタグ要素や属性毎に分解し、シナリオデータ1807としてメモリ上に展開する。シナリオ実行手段1801は、先に読み込んだ実行モジュール1802、環境情報1803、シナリオマップ1804とともにシナリオデータ1807を実行し、実行結果をシナリオ実行画面1808に表示し、さらに実行ログ1809に出力する。
図19は、上記シナリオデータ1807のデータ構造の一例である。図19を参照すると、同期シナリオデータの格納部2000以降に、この同期シナリオを実行するタスク名及び同期シナリオのタイトルに続いて、タグ要素の順番(タグ要素[1]、タグ要素[2]、タグ要素[3]...)に従って、同期メッセージ処理のタグ要素、属性、内部データが格納されている。
例えば、図19では、タグ要素[2]の格納領域2001に“send”の文字列が格納されている。さらに、属性[2a]の格納領域2002には1番目の属性値“from=taska”が、属性[2b]の格納領域2003には2番目の属性値“to=taskb”が、属性[2c]の格納領域2004には3番目の属性値“msg=A_REQ”が、送信データの格納領域2005にはsendタグによって送信される送信データ“data=01 02 03”が格納されている。
同期シナリオデータの格納部2000に続く非同期シナリオデータAの格納部2010及び非同期シナリオデータBの格納部2020には、非同期シナリオ実行のトリガとなるメッセージ名に続いて、非同期メッセージ処理のタグ要素、属性、内部データがタグ要素の順番に格納されている。
図20は、図18のシナリオ実行環境を、シナリオ実行中の各タスク間の関連で示したタスク関連図である。管理タスク1907は、シナリオ実行の開始とともに、生成シナリオ及びシナリオマップ1920を読み込み、シナリオデータ1911としてメモリ上に展開する。次に、管理タスク1907は、シナリオデータ1911に基づいて、上位の擬似タスク1903及び下位の擬似タスク1905に対し、管理タスクのメールボックス1908を経由して、各タスクが実行する同期シナリオのデータを渡す。
具体的には、上位タスクへのシナリオ配布1912を通して同期シナリオデータ1913を渡し、下位タスクへのシナリオ配布1914を通して同期シナリオデータ1915を渡す。ここで、渡されるシナリオデータは、シナリオデータ1911上の同期シナリオ開始の位置を指すポインタやIDであるものとする。上位の擬似タスク1903及び下位の擬似タスク1905は、渡された同期シナリオデータの手順に沿って、各々、試験対象タスク1901とメッセージの送受信を行う。メッセージの受け渡しには、上位の擬似タスクのメールボックス1904、下位の擬似タスクのメールボックス1906、試験対象タスクのメールボックス1902が使われる。上位の擬似タスク1903が同期シナリオデータ1913に含まれないメッセージを受信した場合は、上位の擬似タスク1903は当該メッセージを管理情報A1909として管理タスク1907に送る。
管理タスク1907は受け取ったメッセージが非同期メッセージかどうかを判断し、非同期メッセージの場合は、上位タスクへのシナリオ配布1912を通して上位の擬似タスク1903に、シナリオデータ1911上の非同期シナリオのデータ(非同期シナリオ開始の位置を指すポインタやID)を渡す。上位の擬似タスク1903は、受け取った非同期シナリオデータ1916の手順に沿って、試験対象タスク1901とメッセージの送受信を行う。
一方、下位の擬似タスク1905が同期シナリオデータ1915に含まれないメッセージを受信した場合、下位の擬似タスク1905は当該メッセージを管理情報B1910として管理タスク1907に送る。以降の処理は、上記の上位の擬似タスク1903の場合と同様である。
さらに、管理タスク1907は、上位の擬似タスク1903及び下位の擬似タスク1905に対して開始・終了等のタスク制御を行う。さらに、管理タスク1907は、上位の擬似タスク1903及び下位の擬似タスク1905から、試験対象タスク1901とのメッセージ通信の内容等のログ情報を受け取り、シナリオに沿った動作であるかを検証したり、処理タイミングを測定して、結果をシナリオ実行画面1940や実行ログ1930に出力・表示することが可能である。
図21は、図20の上位の擬似タスク1903の実行フローである。上記した本発明の第1の実施例では、擬似タスクはタスク内部に組み込まれたシナリオの処理手順に沿ってメッセージ処理を実行していたが、本発明の第2の実施例では、擬似タスクは図19のシナリオデータ1911に展開されたタグ要素を読み込んで解析しながらメッセージ処理を実行する構成になっている。
図21を参照すると、シナリオ実行が開始されるとまず、上位の擬似タスク1903は、シナリオデータ1911を読み込む。(ステップ2100)。
次に、上位の擬似タスク1903は、読み込んだシナリオデータの中から、シナリオ中で扱う同期メッセージを抽出し、記憶する(ステップ2101)。
次に、同期シナリオ処理L1に進み、シナリオデータ1911に展開された同期メッセージ処理の先頭のタグ要素を参照し、タグ要素、属性、内部データを確認・実行し(ステップ2102)、タグ要素、属性、内部データに対応する関数(システムコール)を実行する(ステップ2103)。
上位の擬似タスク1903は、メッセージの受信待ち状態であるかどうかを判断し(ステップ2104)、メッセージ受信待ちであれば待機してメッセージを受信する(ステップ2105)。一方、メッセージ受信待ちでなければ、上位の擬似タスク1903は、次のタグ要素を実行するために、ステップ2102に戻る。
ステップ2105でメッセージを受信した後、ステップ2101で記憶したメッセージと比較し、同期メッセージであるかどうかを判断する(ステップ2106)。同期メッセージを受信した場合は、対応する処理を実行し(ステップ2107)、次のタグ要素を実行するために、同期シナリオ処理L1(ステップ2102)に戻る。
一方、ステップ2106において、同期メッセージでないメッセージを受信した場合は、当該メッセージとともに図20の管理タスク1907に通知し、非同期シナリオのデータを要求する(ステップ2108)。管理タスク1907は、上位の擬似タスク1903から受け取った前記メッセージが、シナリオデータ1911の非同期シナリオのトリガになっているかどうかを調べ、トリガになっていれば、非同期シナリオのデータを上位の擬似タスク1903に渡す。上位の擬似タスク1903は、管理タスク1907から、シナリオデータ1911上の非同期シナリオ開始の位置を指すポインタやIDをメッセージ受信の形で受け取り(ステップ2109)、非同期シナリオ処理L2に進む。
上位の擬似タスク1903は、シナリオデータ1911に展開された非同期メッセージ処理のタグ要素を先頭から順番に参照し、タグ要素、属性、内部データを確認する(ステップ2110)。この場合も上位の擬似タスク1903は、タグ要素、属性、内部データに対応する関数(システムコール)を、タグ要素の順番に実行する(ステップ2111)。非同期メッセージの処理が終わると、同期メッセージ処理の次のタグ要素を実行するために、同期シナリオL1に戻る。上記の実行フローは上位の擬似タスク1903を例に挙げて説明しているが、下位の擬似タスク1905に置き換えても同様の処理が実行される。
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、更なる変形・置換・調整を加えることができる。例えば、上記した各実施例では、プログラム言語としてC言語を用いた例を挙げて説明したが、メッセージ通信が可能な他のプログラム言語であってもよく、変換ライブラリに当該プログラム言語のソースコードに変換するためのデータを格納することで対応可能である。
マルチタスク間通信を行うプログラムによる通信シーケンスを模式的に表した図である。 シナリオの編集と、シナリオからソースコードの生成するためのチャートエディタ(検証用プログラム生成システム)の構成を表した図である。 図2のシナリオチャート編集手段によって表示装置上に表示されるシナリオチャート編集画面の一例である。 図2のシナリオチャート編集手段によって表示装置上に表示されるシナリオチャート編集パレットの一例である。 図4のシナリオチャート編集パレットの同期シナリオアイコンのプロパティ設定画面の設定例である。 図4のシナリオチャート編集パレットの非同期シナリオアイコンのプロパティ設定画面の設定例である。 図4のシナリオチャート編集パレットの送信アイコンのプロパティ設定画面の設定例である。 図4のシナリオチャート編集パレットの受信アイコンのプロパティ設定画面の設定例である。 図4のシナリオチャート編集パレットのタスク制御アイコンのプロパティ設定画面の設定例である。 シナリオを構成するタグ要素を説明するための図である。 図3のシナリオチャートと、変換ライブラリとを用いて生成されるシナリオの一例である。 図3のシナリオチャートと、変換ライブラリとを用いて生成されるソースコードの例である。 ソースコード等から実行モジュールを生成するビルド環境の構成を表した図である。 図13のビルド環境で生成された実行モジュールの動作検証を行うシナリオ実行環境の構成を表した図である。 図14のシナリオ実行環境のシナリオ実行画面に表示されるシナリオ設定画面の一例である。 図14のシナリオ実行環境のシナリオ実行画面に表示されるシナリオ実行結果の一例である。 本発明の第1の実施例におけるシナリオ実行中の各タスク間の関連を示すタスク関連図である。 本発明の第2の実施例に係るシナリオ実行環境の構成を表した図である。 本発明の第2の実施例で用いるシナリオデータのデータ構造の一例である。 本発明の第2の実施例におけるシナリオ実行中の各タスク間の関連を示すタスク関連図である。 図20の上位の擬似タスク1903の実行フローである。
符号の説明
1 試験対象タスク
2 上位の擬似タスク
3 下位の擬似タスク
10 同期通信A
11 メッセージ送信A
12 メールボックスA
13 メッセージ受信A
20 同期通信B
21 メッセージ送信B
22 メールボックスB
23 メッセージ受信B
30 非同期通信
31 メッセージ受信C
32 メールボックスC
33 メッセージ送信C
100 チャートエディタ
101 シナリオチャート編集手段
102 シナリオ又はソースコード解析手段
103 変換ライブラリ
104 シナリオ及びソースコード生成手段
110 コード修正手段
120 修正シナリオ
130 修正ソースコード
140 入力装置
150 表示装置
160 生成シナリオ
170 シナリオマップ
180 生成ソースコード
200 生成シナリオ
210 同期シナリオの開始タグ
220 送信タグ
230 受信タグ
240 一時停止タグ
250 繰り返しタグ
260 非同期シナリオの開始タグ
300 タグ要素
310 属性
320 使用例
400 生成ソースコード(本体)
401 同期通信処理
402 非同期通信処理
410 生成ソースコード(ヘッダ)
600 シナリオチャート編集画面
601 同期シナリオ
602 非同期シナリオ
610 シナリオ及びソースコード生成ボタン
620 シナリオ又はソースコード読込ボタン
630 シナリオ又はソースコード選択ボタン
700 シナリオチャート編集パレット
701 同期シナリオアイコン
702 非同期シナリオアイコン
703 送信アイコン
704 受信アイコン
705 タスク制御アイコン
706 コネクタアイコン
707 ループアイコン
708 条件分岐アイコン
709 フリーテキストアイコン
800 同期シナリオアイコンのプロパティ設定画面
810 シナリオタイトル
820 タスク名
830 メールボックス名
840 試験対象タスク名
850 試験対象タスクのメールボックス名
900 非同期シナリオアイコンのプロパティ設定画面
910 シナリオタイトル
920 メッセージ名
1000 送信アイコンのプロパティ設定画面
1010 送信元タスク名
1020 送信先タスク名
1030 メールボックス名
1040 送信データ
1050 メッセージ名
1100 受信アイコンのプロパティ設定画面
1110 送信元タスク名
1120 送信先タスク名
1130 メールボックス名
1140 受信データ
1150 メッセージ名
1160 受信待ち時間
1200 タスク制御アイコンのプロパティ設定画面
1210 停止時間
1220 起動タスク名
1230 終了タスク名
1240 break挿入
1250 continue挿入
1300 ビルド環境
1301 ビルド手段
1302 試験対象ソースコード
1303 生成ソースコード
1304 シナリオマップ
1305 GUI及び関数ライブラリ
1306 実行モジュール
1307 環境情報
1310 コード修正手段
1400 シナリオ実行環境
1401 シナリオ実行手段
1402 実行モジュール
1403 環境情報
1404 シナリオマップ
1405 生成シナリオ
1406 シナリオ実行画面
1407 実行ログ
1500 シナリオ設定画面
1510 擬似タスクの選択メニュー
1511 擬似タスクのリスト
1512 選択決定ボタン
1513 擬似タスク名と対応シナリオのリスト
1514 シナリオ表示ボタン
1520 試験対象タスクの表示部
1530 シナリオ実行メニュー
1531 シナリオ開始ボタン
1532 シナリオ停止ボタン
1533 初期化ボタン
1600 メッセージ通信表示部(概要)
1610 メッセージ通信表示部(詳細)
1620 メッセージ通信選択カーソル
1700 タスク関連図
1701 試験対象タスク
1702 試験対象タスクのメールボックス
1703 上位の擬似タスク
1704 上位の擬似タスクのメールボックス
1705 下位の擬似タスク
1706 下位の擬似タスクのメールボックス
1707 管理タスク
1708 管理タスクのメールボックス
1710 生成シナリオ及びシナリオマップ
1720 実行ログ
1730 シナリオ実行画面
1800 シナリオ実行環境
1801 シナリオ実行手段
1802 実行モジュール
1803 環境情報
1804 シナリオマップ
1805 生成シナリオ
1806 シナリオ解析手段
1807 シナリオデータ
1808 シナリオ実行画面
1809 実行ログ
1900 タスク関連図
1901 試験対象タスク
1902 試験対象タスクのメールボックス
1903 上位の擬似タスク
1904 上位の擬似タスクのメールボックス
1905 下位の擬似タスク
1906 下位の擬似タスクのメールボックス
1907 管理タスク
1908 管理タスクのメールボックス
1909 管理情報A
1910 管理情報B
1911 シナリオデータ
1912 上位タスクへのシナリオ配布
1913 同期シナリオデータ
1914 下位タスクへのシナリオ配布
1915 同期シナリオデータ
1916 非同期シナリオデータ
1920 生成シナリオ及びシナリオマップ
1930 実行ログ
1940 シナリオ実行画面
2000 同期シナリオデータの格納部
2001 タグ要素[2]の格納領域
2002 属性[2a]の格納領域
2003 属性[2b]の格納領域
2004 属性[2c]の格納領域
2005 送信データの格納領域
2010 非同期シナリオデータAの格納部
2020 非同期シナリオデータBの格納部

Claims (10)

  1. コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証方法であって、
    前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、
    前記コンピュータが、変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する生成ステップと、
    前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、
    前記コンピュータが、前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行ステップと、を含むこと、
    を特徴とするマルチタスク通信を行うプログラムの動作検証方法。
  2. 前記生成ステップにおいて、前記コンピュータが、更に、前記変換ライブラリを参照して、前記作成されたシナリオチャートを所定のタグで記述したシナリオファイルを生成すること、
    を特徴とする請求項1に記載のマルチタスク通信を行うプログラムの動作検証方法。
  3. 更に、前記コンピュータが、生成ステップにて生成されたシナリオファイルを修正した修正シナリオファイル又は擬似プログラムのソースコードを修正した修正ソースコードの入力を受け付けるとともに、前記変換ライブラリを参照して、前記修正内容に基づいてシナリオチャートを更新する更新ステップと、
    前記コンピュータが、前記更新されたシナリオチャートに対応する擬似プログラムのソースコード又はシナリオファイルを再生成する再生成ステップと、を含むこと、
    を特徴とする請求項2に記載のマルチタスク通信を行うプログラムの動作検証方法。
  4. コンピュータを用いて、上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証を行う検証プログラムの生成方法であって、
    前記コンピュータの表示装置に表示されたシナリオチャート編集画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素を配置するとともに、前記図形要素が表す動作の詳細と、を入力して、前記コンピュータに、シナリオチャートを作成させるシナリオチャート作成ステップと、
    前記コンピュータが、変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成する生成ステップと、
    前記コンピュータが、前記擬似プログラムのソースコードと、前記試験対象プログラムのソースコードと、から、実行モジュールを生成するビルドステップと、を含むこと、
    を特徴とするマルチタスク通信を行うプログラムの動作検証を行う検証プログラムの生成方法。
  5. 上位又は下位レイヤとマルチタスク通信を行うプログラムの動作検証システムであって、
    シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、
    変換ライブラリを参照して、前記シナリオチャートに表されたシナリオに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、
    前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段と、
    前記実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段と、を備えること、
    を特徴とするマルチタスク通信を行うプログラムの動作検証システム。
  6. 更に、前記変換ライブラリを参照して、前記作成されたシナリオチャートを所定のタグで記述したシナリオファイルを生成するシナリオファイル生成手段を備えること、
    を特徴とする請求項5に記載のマルチタスク通信を行うプログラムの動作検証システム。
  7. 更に、前記シナリオファイルを修正した修正シナリオファイル又は擬似プログラムのソースコードを修正した修正ソースコードの入力を受け付けるとともに、前記変換ライブラリを参照して、前記修正内容に基づいてシナリオチャートを更新するシナリオ又はソースコード解析手段を備えること、
    を特徴とする請求項6に記載のマルチタスク通信を行うプログラムの動作検証システム。
  8. 上位又は下位レイヤとマルチタスク通信を行うプログラムの検証用プログラム生成システムであって、
    シナリオチャート編集画面を表示するとともに、該画面上に、同期処理と、非同期処理とに分けて、前記試験対象プログラムとマルチタスク通信を行う擬似プログラムにおいて実行されるべき動作概要を表す図形要素の配置と、前記図形要素が表す動作の詳細と、の入力を受け付けてシナリオチャートを作成するシナリオチャート作成手段と、
    変換ライブラリを参照して、前記作成されたシナリオチャートに対応する擬似プログラムのソースコードを生成するソースコード生成手段と、を備えること、
    を特徴とする検証用プログラム生成システム。
  9. 更に、前記擬似プログラムのソースコードと、前記試験対象タスクのソースコードと、から、実行モジュールを生成するビルド手段を備えること、
    を特徴とする請求項8に記載の検証用プログラム生成システム。
  10. 請求項9に記載の検証用プログラム生成システムにより生成された実行モジュールを実行し、前記試験対象プログラムと前記擬似プログラムの間で交わされた送受信メッセージを時系列に記録した実行ログを生成するシナリオ実行手段を備えたこと、
    を特徴とするシナリオ実行システム。
JP2007149370A 2007-06-05 2007-06-05 マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム Withdrawn JP2008305003A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007149370A JP2008305003A (ja) 2007-06-05 2007-06-05 マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007149370A JP2008305003A (ja) 2007-06-05 2007-06-05 マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム

Publications (1)

Publication Number Publication Date
JP2008305003A true JP2008305003A (ja) 2008-12-18

Family

ID=40233710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007149370A Withdrawn JP2008305003A (ja) 2007-06-05 2007-06-05 マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム

Country Status (1)

Country Link
JP (1) JP2008305003A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181548A1 (ja) * 2015-05-14 2016-11-17 三菱電機株式会社 通信模擬装置および通信模擬プログラム
JP2020187737A (ja) * 2019-05-14 2020-11-19 バイドゥ ユーエスエイ エルエルシーBaidu USA LLC Protobufベースのプロジェクトのための包括的な検証手法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016181548A1 (ja) * 2015-05-14 2016-11-17 三菱電機株式会社 通信模擬装置および通信模擬プログラム
JP2020187737A (ja) * 2019-05-14 2020-11-19 バイドゥ ユーエスエイ エルエルシーBaidu USA LLC Protobufベースのプロジェクトのための包括的な検証手法
JP6994071B2 (ja) 2019-05-14 2022-01-14 バイドゥ ユーエスエイ エルエルシー Protobufベースのプロジェクトのための包括的な検証手法

Similar Documents

Publication Publication Date Title
US10303581B2 (en) Graphical transaction model
US6868454B1 (en) Distributed-object development system and computer-readable recording medium recorded with program for making computer execute distributed-object development
US8296721B2 (en) Template-based software development
JP4619245B2 (ja) 設計検証方法、装置、論理及びシステム
US20080209405A1 (en) Distributed debugging for a visual programming language
US20050235260A1 (en) User interface application development device and development method
WO2012014284A1 (ja) テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム
CN112882700A (zh) iOS应用程序构建方法及装置、电子设备及存储介质
CN113900958A (zh) 测试用例脚本的生成方法、系统、介质及电子设备
CN104007957A (zh) 在编辑期间显示实时数据的改进图形用户界面编辑器
JP2008077511A (ja) サーバおよびサーバ連携システムおよびサーバ連携方法およびプログラムおよび記録媒体および情報処理装置
JP2016224557A (ja) プログラム作成支援装置、プログラムおよび判別方法
KR102300005B1 (ko) 소프트웨어 컴포넌트를 표현하는 각각의 그래픽 객체 간의 연결 조작을 이용한 소프트웨어 개발 어시스트 방법 및 그 시스템
JP2006309290A (ja) テストプログラム作成支援方法及び装置
JP2010015240A (ja) 検証システム及び検証装置
JP2008305003A (ja) マルチタスク通信を行うプログラムの動作検証方法及び動作検証システム
JP4696744B2 (ja) プログラムテスト装置、方法、及び、プログラム
CN111488731A (zh) 文件生成方法、装置、计算机设备以及存储介质
US9298428B2 (en) Graphical user interface editor that displays live data during editing
JP4889593B2 (ja) 構成管理システム
CN115357300A (zh) 一种assetbundle资源的批量打包与分步加载系统及方法
JP6097231B2 (ja) プログラム生成装置および方法
JP7212238B2 (ja) 情報処理装置、その制御方法及びプログラム
JP2008198097A (ja) 情報処理装置、制御装置、スクリプト処理方法、記憶媒体、プログラム
JP5251197B2 (ja) メッセージ処理方法、メッセージ処理装置、及びプログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100907