(57)【要約】【課題】個人的資質への依存度を低め、効率よくかつ精度が高い計測条件を生成する。【解決手段】計測条件生成装置１００は、複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置によりアプリケーションプログラムの機能を検証する際の複数のタスクに対する計測条件を自動生成する。このため、アプリケーションプログラムは、計測条件を自動生成するための条件パラメータを有する。生成装置１００は、アプリケーションプログラムに含まれる各タスクにおける検証範囲を入力する入力部１０２と、アプリケーションプログラムに含まれる条件パラメータを検出する検出部１０４と、検証範囲及び条件パラメータに基づき計測条件１０６を算出する生成部１０５とを有する。【選択図】  図２
2007140626.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置により前記アプリケーションプログラムの機能を検証する際の前記複数のタスクに対する計測条件を自動生成する計測条件生成装置であって、
前記アプリケーションプログラムは、計測条件を自動生成するための条件パラメータを有するものであって、
前記アプリケーションプログラムに含まれる各タスクにおける検証範囲を入力する入力部と、
前記アプリケーションプログラムに含まれる前記条件パラメータを検出する検出部と、
前記検証範囲及び前記条件パラメータに基づき前記計測条件を生成する生成部とを有する計測条件生成装置。
【請求項２】
前記入力部は、前記アプリケーションプログラムにおける検証対象となる一のプロセスを実行するためのタスク順序からなる計測条件ベースを入力し、
前記生成部は、前記計測条件ベースに記載された各タスクが前記検証範囲のばらつきをもった時間で実行終了するとみなしたときの平均実行時間からのずれ量の最大値である調整時間を算出する
ことを特徴とする請求項１記載の計測条件生成装置。
【請求項３】
前記アプリケーションプログラムは、各タスクのタスク宣言の近傍に当該タスクに対応する前記条件パラメータを有し、
前記検出部は、検出した前記条件パラメータを、当該条件パラメータの近傍にあるタスク宣言と関連づけてパラメータデータベースに登録する
ことを特徴とする請求項１記載の計測条件生成装置。
【請求項４】
前記アプリケーションプログラムは、タスクと予め関連付けられた前記条件パラメータを有し、
前記検出部は、前記条件パラメータをタスクと関連づけてパラメータデータベースに登録する
ことを特徴とする請求項１記載の計測条件生成装置。
【請求項５】
前記検証範囲は、平均応答時間から統計的にどの程度離れた応答時間で応答するかの想定値を示すものである
ことを特徴とする請求項１記載の計測条件生成装置。
【請求項６】
複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置により前記アプリケーションプログラムの機能を検証する際の前記複数のタスクに対する計測条件を自動生成する計測条件生成方法であって、
前記アプリケーションプログラムは、計測条件を自動生成するための条件パラメータを有するものであって、
前記アプリケーションプログラムに含まれる前記条件パラメータを検出し、
前記アプリケーションプログラムに含まれる各タスクの検証範囲及び前記条件パラメータに基づき前記計測条件を生成する計測条件生成方法。
【請求項７】
複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置により前記アプリケーションプログラムの機能を検証する際の前記複数のタスクに対する計測条件を自動生成する動作をコンピュータに実行させるためのプログラムであって、
前記アプリケーションプログラムは、計測条件を自動生成するための条件パラメータを有し、
前記アプリケーションプログラムに含まれる前記条件パラメータを検出し、
前記アプリケーションプログラムに含まれる各タスクの検証範囲及び前記条件パラメータに基づき前記計測条件を生成するプログラム。
【請求項８】
複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置であって、
前記アプリケーションプログラムを格納する外部メモリと、
前記外部メモリに格納されているアプリケーションプログラムを実行する実行部と、
計測条件に従ったタスクを実行させて割り込み試験を実行する割り込み試験装置と、
前記割り込み試験装置による割り込み試験結果を記録する結果記録部とを有し、
前記アプリケーションプログラムは、上記計測条件を自動生成するための条件パラメータを有し、
前記割り込み試験装置は、前記条件パラメータに基づき自動生成された計測条件に従って割り込み試験を実行するプログラム検証装置。
【請求項９】
前記条件パラメータに基づき計測条件を生成する計測条件生成部を備え、
前記計測条件生成部は、
前記アプリケーションプログラムに含まれる各タスクにおける検証範囲を入力する入力部と、
前記アプリケーションプログラムに含まれる前記条件パラメータを検出する検出部と、
前記検証範囲及び前記条件パラメータに基づき前記計測条件を生成する生成部とを有する
ことを特徴とする請求項８記載のプログラム検証装置。
【請求項１０】
計測条件変更部を有し、
前記実行結果記録装置に記録された実行結果に基づき、前記アプリケーションプログラムに含まれる条件パラメータを変更する
ことを特徴とする請求項９記載のプログラム検証装置。
【請求項１１】
複数のタスクからなるアプリケーションプログラムであって、
前記複数のタスクのリアルタイム機能及びマルチタスク機能を検証する検証装置にて使用する前記複数のタスクに対する計測条件を自動生成するための条件パラメータを有する
ことを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイム性を有し複数のタスクからなるプログラムにおけるタスク完了時間のばらつきを考慮した計測条件生成装置、計測条件生成方法、プログラム及び計測条件生成装置で生成された計測条件を使用したプログラム検証装置に関する。
【背景技術】
【０００２】
近年、組み込み制御機器が増加し、その組み込み制御機器に搭載される制御プログラムも増加傾向にある。組み込み制御機器に搭載される制御プログラムの多くは、実時間内で処理を終わらせなければいけないという特性（リアルタイム機能）と、複数の機器を制御しなければいけないという特性（マルチタスク機能）を有する。このような特性を有する制御プログラムの多くは、タスクスケジューラを使用した構成（以下、リアルタイムマルチタスクプログラムという）となっている。
【０００３】
組み込み制御機器が正しく機能するためには、その組み込み制御機器に搭載される制御プログラムが正しく機能することを事前に検証する必要がある。検証すべき制御プログラムがリアルタイムマルチタスクプログラムである場合、個々のタスクが正常に機能することを検証するのに加えて、複数のタスクが一連の動作として実行されるときに全体として正常に機能する、すなわちリアルタイム機能及びマルチタスク機能が正常であることを検証する必要がある。
【０００４】
制御プログラムが制御する対象の制御機器は、制御プログラムからの指令に対し、ある時間的なバラつきをもって応答する。制御プログラムはタイムアウトと呼ばれる監視機構を有し、指定したタイムアウト時間内に対象制御機器からの正常終了の応答がない場合には、対象制御機器に不具合が発生したと判断して異常対応処理を行なう。複数のタスクが一連の動作として実行されるときに異常対応処理を含めて全体として正常に機能するかどうかを検証するには、各タスクの時間的なバラつきを有する応答を考慮する必要がある。
【０００５】
したがって、従来はリアルタイムマルチタスクプログラムの検証においては、実際に動作させたときとできるだけ等しい計測条件で割り込みを発生させたり、それにともなって計測条件の更新を行なったりする装置を駆使して検証を行なっている。
【０００６】
例えば特許文献１においては、割り込み試験装置を有し、複数のタスクと割り込み処理タスクからなるアプリケーションプログラムを検証するプログラム検証装置が開示されている。この従来のプログラム検証装置においては、複数のタスクと割り込み処理タスクをディスパッチしながらアプリケーションプログラムを実行させ、割り込み試験装置により、割り込み処理タスクがディスパッチされた際のアプリケーションプログラムにおける試験対象タスクの実行時刻とその試験対象タスクからの要求実行時間とを比較することで、検証時間の短縮化及び検証結果の精度向上を図っている。
【特許文献１】特開平１０−２３２７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、リアルタイムマルチタスクプログラムが正しく機能するかの検証は、いかに効率よく実世界での使用状況に即した計測条件を使って検証を行なうかに依存する。しかるに上記特許文献１に記載の技術においては、割り込み試験装置が様々な割り込み時間による割り込み要求を発生させるが、その計測条件は実世界での使用状況に即したものとなるよう検証の実行に先立って設定する必要がある。
【０００８】
この計測条件は、計測条件作成者が計測対象であるアプリケーションプログラムの仕様書、すなわち要求仕様書、基本仕様書、及び詳細設計書など、又は計測対象となるアプリケーションプログラム自体の構造を手動で解析する等して作成する。プログラムの仕様書は一般に自然言語で書かれており、そこから効率よく実世界での状況に即した計測条件を適切に作成するのは計測条件作成者の読解力に依存することとなってしまう。
【０００９】
更に、近年のプログラムの増大傾向により、仕様書の内容がますます複雑になりつつあるため、計測条件の手動による作成はますます困難になってきている。同様に、アプリケーションプログラム自体の構造の手動解析は、近年のアプリケーションプログラムの増大傾向により、その行数も増え、さらに処理も複雑に関連しあっているために、ますます困難になってきている。
【００１０】
以上のことから計測条件作成者の個人的資質への依存度を低め、効率よくかつ精度が高い計測条件の作成手段が必要とされている。
【課題を解決するための手段】
【００１１】
本発明にかかる計測条件生成装置は、複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置により前記アプリケーションプログラムの機能を検証する際の前記複数のタスクに対する計測条件を自動生成する計測条件生成装置であって、前記アプリケーションプログラムは、計測条件を自動生成するための条件パラメータを有するものであって、前記アプリケーションプログラムに含まれる各タスクにおける検証範囲を入力する入力部と、前記アプリケーションプログラムに含まれる前記条件パラメータを検出する検出部と、前記検証範囲及び前記条件パラメータに基づき前記計測条件を生成する生成部とを有するものである。
【００１２】
本発明においては、条件パラメータをアプリケーションプログラムに埋め込み、計測条件を自動生成することで、計測条件作成者の個人的資質に依存せず計測条件を生成することができる。
【００１３】
本発明にかかるプログラム検証装置は、複数のタスクからなるアプリケーションプログラムの検証をするプログラム検証装置であって、前記アプリケーションプログラムを格納する外部メモリと、前記外部メモリに格納されているアプリケーションプログラムを実行する実行部と、計測条件に従ったタスクを実行させて割り込み試験を実行する割り込み試験装置と、前記割り込み試験装置による割り込み試験結果を記録する結果記録部とを有し、前記アプリケーションプログラムは、上記計測条件を自動生成するための条件パラメータを有し、前記割り込み試験装置は、前記条件パラメータに基づき自動生成された計測条件に従って割り込み試験を実行するものである。
【００１４】
本発明においては、条件パラメータに基づき自動生成された検証条件を使用してプログラムの検証を行なうことができるため、計測条件作成者の個人的資質に依存せずにプログラムの検証を行なうことができる。
【００１５】
本発明にかかるアプリケーションプログラムは、複数のタスクからなるアプリケーションプログラムであって、前記複数のタスクのリアルタイム機能及びマルチタスク機能を検証する検証装置にて使用する前記複数のタスクに対する計測条件を自動生成するための条件パラメータを有するものである。
【００１６】
本発明においては、アプリケーションプログラム中に計測条件作成用の条件パラメータを埋め込むことにより、計測対象となるプログラムと計測条件とを一括管理することができる。またアプリケーションプログラムのデバッグ時にこの条件パラメータを変更することにより、簡単にプログラムの制御対象機器に即した計測条件の再生成を行なうことが可能となる。
【発明の効果】
【００１７】
本発明によれば、個人的資質への依存度を低め、効率よくかつ精度が高い計測条件を生成することができるアプリケーションプログラム、計測条件生成装置、計測条件生成方法、プログラムを提供することができる。また、その計測条件を使用することで効率よくかつ精度が高い計測条件でアプリケーションプログラムの検証を行なうことができるプログラム検証装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、リアルタイムマルチタスクプログラムにおけるタスク完了時間のばらつきを考慮した計測条件生成装置、及び計測条件生成装置により生成された計測条件に従ってプログラムを検証するプログラム検証装置に適用したものである。
【００１９】
本実施の形態にかかる計測条件生成装置で自動生成された計測条件は、リアルタイムマルチタスクプログラムの検証装置にて使用される。検証装置は、上記計測条件を使用することで、リアルタイムマルチタスクプログラムにおける各タスクのリアルタイム性及びマルチタスク性の機能が正常であるか否かを効率よくかつ高精度に検証することができる。
【００２０】
図１は、検証対象となるリアルタイムマルチタスクプログラムを検証するプログラム検証装置を示す模式図である。図１に示すように、検証装置２００は、外部メモリ２０１と、外部メモリ２０１とバス２０２を介して接続されるＣＰＵ２０３と、ＣＰＵ２０３との間でデータのやり取りをする割り込み試験装置２０４及び実行結果記録装置２０５とを有する。
【００２１】
外部メモリ２０１は、検証対象となるリアルタイムマルチタスクプログラム（アプリケーションプログラム）を格納する。ここで、外部メモリ２０１は、検証対象となるアプリケーションプログラムをＣＰＵ２０３にて実行できる機械語プログラム形式に変換したものを格納する。ＣＰＵ２０３は、外部メモリ２０１に格納されるアプリケーションプログラムを実行する。
【００２２】
割り込み試験装置２０４は、カウンタ２１１及び割り込み発生部２１２を有し、カウンタ２１１にはＣＰＵからクロックが供給される。割り込み発生部２１２は、カウンタ２１１のカウント値と、ＣＰＵ２０３からの現在のアプリケーションプログラムの実行状況の通知に基づき、計測条件１０６を参照して割り込み信号を生成する。ＣＰＵ２０３は、割り込み信号に基づき計測条件に従ってタスクを実行し、その結果を実行結果記録装置２０５に通知する。実行結果記録装置２０５は、実行結果を記録する。
【００２３】
ここで、本実施の形態にかかる検証装置において検証されるアプリケーションプログラムは、その計測条件が予め計測条件生成装置により生成されるものである図２は、本発明の実施の形態にかかる計測条件生成装置を示す図である。
【００２４】
この計測条件生成装置１００は、計測条件ベース１０１等の入力処理を行なう入力部１０２と、アプリケーションプログラム１０３を参照してタスクに応じたパラメータを取得する検出部１０４と、検出部１０４が取得したパラメータを登録するパラメータデータベース（パラメータＤＢ）１０７とを有する。更に、パラメータＤＢ１０７を参照し、入力部１０２からの入力情報に基づき計測条件１０６を生成する生成部１０５とを有する。生成部１０５にて生成された計測条件１０６は、上述の割り込み試験装置２０４にて使用される。なお、割り込み試験装置内に計測条件生成装置を有していてもよく、又は生成した計測条件を割り込み試験装置２０４に供給するようにしてもよい。
【００２５】
入力部１０２が参照する計測条件ベース１０１は、一連の動作として実行される複数のタスクを並べたものである。計測条件は、計測したいプロセス毎に用意され、この計測条件ベースに後述する調整時間等が書き込まれて計測条件が生成される。
【００２６】
図３は、計測条件ベース１０１の一例を示す図である。図３に示すように、計測条件ベース１０１には、一連のプロセスを構成するタスクがその順序に並べられる。例えばＣＤプレーヤの再生アプリケーションプログラムであれば、電源をオンするタスク（Power_ON()）、ディスクを回転させその速度を一定にするタスク（CD_rotation()）、ヘッドをディスクにおいて指定の曲（１５曲目）が記録された位置に移動させるタスク（CD_pickmove(15)）などの順にタスクを実行させることで１５曲目の曲を再生する一連の動作が実行される。このような一連の動作を検証するためのタスクが計測条件ベース１０１に記録されている。
【００２７】
入力部１０２は、計測条件ベース１０１の図３に示す各タスクを生成部１０５に入力すると共に各タスクの実行時間についての検証範囲の入力も行なう。検証範囲は、検証対象のプロセスを構成するタスクが平均応答時間から統計的にどの程度離れた応答時間で応答するかの想定値を示すものとし、例えば標準偏差等を使って外部からユーザが指定する。なお、本実施の形態においては、この検証範囲は、アプリケーションの各タスクに共通の値とするが、各タスクに応じた異なる値を適宜入力するようにしてもよい。入力部１０２は、検証範囲と共に計測条件ベース１０１から読み出したタスクを順次生成部１０５へ入力する。
【００２８】
検出部１０４は、アプリケーションプログラム１０３に含まれる条件パラメータを検出し、当該条件パラメータとタスクとを関連付けてパラメータＤＢ１０７に登録する。図４は、アプリケーションプログラム１０３の一例を示す図である。アプリケーションプログラム１０３は、図４に示すように、例えば、条件パラメータとして、ＭＭ１（１、−１、１、１／８００、１／５００、５０００）などを有している。ここで条件パラメータとは、アプリケーションプログラム１０３に埋め込まれる計測条件作成用のパラメータであり、本実施の形態においては、これらのパラメータを待ち行列理論に基づく標準完了パターンパラメータという。アプリケーションプログラムは、本計測条件生成装置１００にて計測条件を生成するため、各タスクについて標準完了パターンパラメータを有している。一のタスクの標準完了パターンパラメータは、例えばその標準完了パターンパラメータの後に当該タスクのタスク宣言を記載することにより、標準完了パターンパラメータとタスクとが関連付けられる。又は、標準完了パターンパラメータにタスク宣言を含めることで、タスクと関連づけてもよい。検出部１０４は、このパラメータ（標準完了パターンパラメータ）と各タスクとを関連づけ、パラメータＤＢ１０７にその情報を登録する。
【００２９】
図５は、アプリケーションプログラム１０３に含まれる待ち行列理論に基づく標準完了パターンパラメータの書式の一例を示す図である。アプリケーションプログラム１０３は、＃ｐｒｏｇｒａｍ  ｑｕｅｕｅ  ＡＢｎ（Ｋ,ｍ,Ｚ,λ,ρ,Ｔ０）などの形式で待ち行列理論に基づく標準完了パターンパラメータを含む。例えば、アプリケーションプログラムが制御する制御機器が、
到着時間間隔分布種別Ａ：Ｍ＝ポアソン分布    
サービス時間間隔分布種別Ｂ：Ｍ＝ポアソン分布    
同時処理数ｎ：１    
システム最大容量Ｋ：１    
母集団の大きさｍ：−１＝無限    
待ち行列基準Ｚ：１＝先着順    
平均到着率λ：１／８００＝０．１２５％    
平均サービス率ρ：１／５００＝０.２％    
タイムアウト時間Ｔ０：１／５０００＝０．２ｍｓｅｃ    
に対応した応答をするアプリケーションプログラムの場合、図４に示すように、＃ｐｒａｇｍａ  ｑｕｅｕｅ  ＭＭ１（１、−１、１、１／８００、１／５００、５０００）と設定して計測条件を生成すると、実際に動作させたときに近い計測条件になる。
【００３０】
生成部１０５は、入力部１０２からの検証範囲及び計測条件ベース１０１の情報を受け取り、パラメータＤＢ１０７を参照して得られる各タスクの時間的なバラつきを持った応答に対応する調整時間を算出し、これを時間調整用コマンドＷＡＩＴとして計測条件ベース１０１に書き込み計測条件１０６を生成する。
【００３１】
この生成部１０５は、各タスク毎に、パラメータＤＢ１０６から対象となるタスクに関連付けられた標準完了パターンパラメータを取得し、その実行時間の平均値を算出する。平均値とは、待ち行列理論におけるいわゆる「到着してからサービスを受けて去るまでの平均時間」(平均ターンアラウンドタイム)を示す。なお、この平均値も上記標準完了パターンパラメータに含ませてもよい。更に、この平均値と、入力部１０２から入力された検証範囲に基づき、タスクの調整時間を算出する。調整時間は、上述のようにして算出したタスクの平均値に対して検証範囲のバラつきをもった時間で応答が返ってくるとみなしたときの平均値からのずれ量を示す。このずれ量を調整時間ということとする。
【００３２】
図６は、計測条件１０６の一例を示す図である。図６に示すように、計測条件１０６には、アプリケーションプログラム１０３に含まれる待ち行列理論に基づく標準完了パターンパラメータと入力部１０２による検証範囲の指示に基づき、各タスクの時間的なバラつきを持った応答に対応する調整時間を指示するための時間調整用コマンドＷＡＩＴが、計測条件ベース１０１に挿入される。例えば、タスクＰｏｗｅｒ＿ＯＮ（）の調整時間は「１０．０」であり、時間調整用コマンドＷＡＴはＷＡＩＴ１０．０などとなる。なお、本実施の形態においては、計測条件１０６は、計測条件ベース１０１に時間調整コマンドＷＡＩＴを挿入するものとして説明するが、その他のコマンド等を挿入して計測条件１０６を生成してもよい。
【００３３】
次に、本実施の形態にかかる計測条件生成装置の各部の動作について説明する。図７は、入力部１０２の入力処理動作を示すフローチャート、図８は、検出部１０４の検出処理動作を示すブローチャート、図９は、生成部１０５の生成処理動作を示すフローチャートである。
【００３４】
先ず入力部１０２の動作について説明する。図７に示すように、入力部１０２は、ユーザからどのような計測条件１０６を生成するかを決める検証範囲がされ（ステップＳ１）、生成部１０５にこの検証入力範囲を通知する（ステップＳ２）。次に、例えば図３に示す計測条件ベース１０１のタスクを一行ずつ読み出し（ステップＳ３）、生成部１０５にそれを通知する（ステップＳ４）。このステップＳ３、Ｓ４の動作を計測条件ベース１０１に存在する全タスクについて実行し、最後のタスクの読み込みが終了したら（ステップＳ５：Ｙｅｓ）、生成部１０５に完了の通知をする（ステップＳ６）ことで入力処理を終了する。入力処理の段階ではまだ各タスクの応答時間のバラつきは考慮されていない。
【００３５】
次に検出部１０４の検出動作について説明する。アプリケーションプログラムは、図６に示す例のような標準完了パターンパラメータを有するものとし、また、各タスクは、標準完了パターンパラメータの近傍にタスク宣言を有するものとする。図８に示すように、検出部１０４は、アプリケーションプログラム１０３を１行読み込み（ステップＳ１１）、例えば図５に示すような標準完了パターンパラメータか否かを判定する（ステップＳ１２）。本実施の形態においては、＃ｐｒｏｇｒａｍ  ｑｕｅｕｅを検出することで標準完了パターンパラメータを検出する。そして、検出した標準完了パターンパラメータをパラメータＤＢ１０７に登録する（ステップＳ１３）。一方、標準完了パターンパラメータではない場合、タスク宣言か否かを判定する（ステップＳ１４）。タスク宣言を検出した場合は、例えば最も近くで検出された標準完了パターンパラメータと関連づけてパラメータＤＢ１０７に登録する（ステップＳ１５）。これにより、標準完了パターンパラメータとタスクとが関連付けられる。
【００３６】
なお、上述したように、標準完了パターンパラメータとしてタスクを識別する識別子等を有するようにして、標準完了パターンパラメータとタスクとを関連づけするようにしてもよい。すなわち、予め定められた方式で標準完了パターンパラメータとタスクが関連付けできるよう、アプリケーションソフトには、標準完了パターンパラメータが埋め込まれる。
【００３７】
ここで、後述するように、検証装置によりアプリケーションプログラムの検証がうまく実行できない場合等において自動生成する検証条件を変更するため、標準完了パターンパラメータを変更する場合がある。よって、標準完了パターンパラメータにタスクを関連付ける情報をも含ませるようにしてもよいが、本実施の形態のように、標準完了パターンパラメータをタスク宣言近傍に配置することで、アプリケーション製作者と異なるユーザがアプリケーション検証を行なう際に、当該標準完了パターンパラメータが示すタスクの処理が把握することができその変更作業等を容易にすることができる。
【００３８】
一方、タスク宣言ではない場合、アプリケーションプログラム１０３の終端まで、上記ステップＳ１２〜Ｓ１５の処理を繰り返す（ステップＳ１６）。そして、アプリケーションプログラム１０３の終端であれば（ステップＳ１６：Ｙｅｓ）、生成部１０５に検出処理の終了を通知する（ステップＳ１７）。
【００３９】
次に、生成部１０５の処理について説明する。図９に示すように、生成部１０５は、上述したように、入力部１０２からの入力情報と検出部１０４が登録したパラメータＤＢ１０７の情報に基づき、各タスクの調整時間を算出することで計測条件を自動生成する。
【００４０】
先ず、検出部１０４からの検出処理の終了通知を待つ（ステップＳ２１）。すなわち、検出部１０４により、アプリケーションプログラム１０３の各タスクのそれぞれに関連付けられた標準完了パラメータパラメータの全てがパラメータＤＢ１０７に登録されるまで待機する。
【００４１】
次に、検出部１０４より検出終了通知を受け取ると、入力部１０２から検証範囲を読み込む（ステップＳ２２）。入力部１０２に対して検証範囲として、例えば、「２σ(σ：標準偏差)」の指示があった場合、ステップＳ２２において、生成部１０５はこの検証範囲２σを読み込む。
【００４２】
次いで、入力部１０２から計測条件ベース１０１を一行分読み込み（ステップＳＳ２３）、これを計測条件１０６へ書き込む（ステップＳ２４）。例えば、図３に示す計測条件ベース１０１であれば、最初に読み出すタスクは「Power_ON()」となり、これを計測条件１０６へ書き出す。
【００４３】
そして、ステップＳ２４に読み込んだタスクの標準完了パターンパラメータをパラメータＤＢ１０７から読み出し、読み出した標準完了パターンパラメータに基づき当該タスクを処理する平均値、すなわち待ち行列理論におけるいわゆる「到着してからサービスを受けて去るまでの平均時間(平均ターンアラウンドタイム)」を算出する（ステップＳ２５）。なお、標準完了パターンパラメータに平均値が含まれる場合は、標準完了パターンパラメータから平均値を取得する。上記の場合、読み込んだタスク「Power_ON()」の標準完了パターンパラメータの情報を取得して平均値を得る。ここでは平均値が「６．０」と算出又は取得された場合について説明する。
【００４４】
次に、ステップＳ２２にて読み込んだ検証範囲２σとステップＳ２５にて使用した標準完了パターンパラメータとから、タスクの調整時間、すなわちタスクの平均値に対して入力部１０２で指定した検証範囲のバラつきをもった時間で応答が返ってくるとみなしたときの平均値からのズレを算出する（ステップＳ２６）。上記の例であれば、先ず、タスクPower_ON()に指定されていた標準完了パターンパラメータから、検証範囲２σの値を算出する。ここで検証範囲２σが１６．０だった場合、この検証範囲から平均値の値を引いた「１０．０」が調整時間となる。
【００４５】
そして、この調整時間を時間調整用タスクＷＡＩＴとして計測条件１０６へ書き出す（ステップＳ２７）。上記の例であれば、図６に示すように、ステップＳ２４に書き出したタスク「Power_ON()」に対応付けて時間調整用タスクＷＡＩＴ「WAIT(10.0)」を計測条件１０６に書き出す。
【００４６】
こうして、入力部１０２にからすべてのタスクが入力されたことを示す完了通知を受け取るまでステップＳ２３からの処理を繰り返す。一方、入力部１０２からの入力処理終了の通知を受けた場合は計測条件１０６の自動生成処理を終了する。計測条件１０６を自動生成することで、計測条件作成者の個人的資質に依存せずに、統計的な確かさで検証を行なうことができる計測条件１０６を生成することができる。
【００４７】
このようにして生成された計測条件を使用したリアルタイムマルチタスクプログラムの検証装置の動作について説明する。図１０は、プログラム検証装置２００の検証動作を示すフローチャートである。図１０に示すように、試験装置２０４には、上述のようにして得られた計測条件１０６が格納されている。先ず、予めＣＰＵ２０３で実行できる形式に変換されたアプリケーションプログラム１０３の実行を開始する（ステップＳ３１）。次に、ＣＰＵ２０３は、アプリケーションプログラムにおける実行状況を割り込み試験装置２０４及び実行結果記録装置２０５に通知する（ステップＳ３２）。割り込み試験装置２０４の割り込み発生部２１２は、通知された現在の実行状況が計測条件１０６に合致しているかを判断する（ステップＳ３３）。
【００４８】
計測条件１０６に合致している場合は検証処理を開始する。すなわち、割り込み試験装置２０４が計測条件１０６に指定されたタスクの起動をＣＰＵ２０３に指示し、ＣＰＵ２０３は該当タスクを実行する（ステップＳ３４）。そして、ＣＰＵ２０３は、その実行状況を割り込み試験装置２０４及び実行結果記録装置２０５に通知する（ステップＳ３５）。実行結果記録装置２０５は、ＣＰＵ２０３から通知を受けたタスクの実行状況を記録する。以上のステップＳ３１からの処理を、現在の実行状況が計測条件１０６の終端に到達したか否かを割り込み試験装置２０４の割り込み発生部２１２が判定し、計測条件１０６が終端するまで順次タスクの起動の指示をする（ステップＳ３６）。終端に到達している場合は、検証動作を終了する。
【００４９】
一方、ステップＳ３３において現在のＣＰＵ２０３におけるタスクの実行状況が計測条件に合致していない場合、ＣＰＵ２０３から所定のタイミングで通知される現在の実行状況が計測条件１０６に合致するまで待機する。
【００５０】
ここで、計測条件にうまく合致しない等、アプリケーションプログラムの検証結果として所望の結果が得られない場合、又は同一のアプリケーションプログラムで異なる機器を制御するような場合には、計測条件を生成するために適宜標準パターンパラメータを変更し、計測条件を再生成し、アプリケーションプログラムの検証を行なうことも可能である。この場合、上述の入力部１０２にて入力する計測条件ベース１０１又は検証範囲等も適宜変更してもよい。
【００５１】
本実施の形態においては、プログラム検証装置２００は、計測条件生成装置１００の生成部１０５が自動生成した計測条件１０６を用いて検証することができるため、計測条件の良し悪しが計測条件作成者の個人的資質に依存することがない。
【００５２】
また、計測条件１０６はアプリケーションプログラム１０３に含まれる待ち行列理論に基づく標準完了パターンパラメータをもとに計算した各タスクの制御対象である制御機器の時間的なバラつきを持った応答に対応する時間調整処理（調整時間）を含んでいるため、統計的確かさで検証を行なうことができる。
【００５３】
これにより、リアルタイム性を有する複数のタスクからなるシステムを開発する開発者は、各タスクの時間的なばらつきを持った応答を考慮した検証を行なうことができ、複数のタスクが一連の動作として実行されるときに全体として正常に機能するかどうかを従来に比してより高い精度で検証することができる。したがって検証後に市場で不具合が発生し、回収等を行なわなければいけないような経済的損失を回避する可能性が高まり、その実用上の価値は高い。
【００５４】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、上述の割り込み試験装置２０４、計測条件生成装置１００などの任意の処理を、ＣＰＵ（Central Processing Unit）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【００５５】
【図１】本発明の実施の形態にかかるプログラム検証装置を示す模式図である。
【図２】本発明の実施の形態にかかる計測条件生成装置を示す図である。
【図３】本発明の実施の形態にかかる計測条件生成装置で使用する計測条件ベースの一例を示す図である
【図４】本発明の実施の形態にかかる計測条件生成装置で計測条件を生成するアプリケーションプログラムの一例を示す図である。
【図５】同アプリケーションプログラムに含まれる待ち行列理論に基づく標準完了パターンパラメータの書式の一例を示す図である。
【図６】本発明の実施の形態にかかる計測条件生成装置で生成される計測条件の一例を示す図である。
【図７】本発明の実施の形態にかかる計測条件生成装置の入力部の入力処理動作を示すフローチャートである。
【図８】本発明の実施の形態にかかる計測条件生成装置の検出部の検出処理動作を示すブローチャートである。
【図９】本発明の実施の形態にかかる計測条件生成装置の生成部の生成処理動作を示すフローチャートである。
【図１０】本発明の実施の形態にかかる計測条件生成装置の検証動作を示すフローチャートである。
【符号の説明】
【００５６】
１０１  計測条件ベース
１０２  入力部
１０３  アプリケーションプログラム
１０４  検出部
１０５  生成部
１０６  計測条件
２００  検証装置
２０１  外部メモリ
２０２  バス
２０３  ＣＰＵ
２０４  試験装置
２０５  実行結果記録装置
２１１  カウンタ
２１２  カウンタ
２１２  割り込み発生部
【図１】
2007140626.tif 000003
【図２】
2007140626.tif 000004
【図３】
2007140626.tif 000005
【図４】
2007140626.tif 000006
【図５】
2007140626.tif 000007
【図６】
2007140626.tif 000008
【図７】
2007140626.tif 000009
【図８】
2007140626.tif 000010
【図９】
2007140626.tif 000011
【図１０】
2007140626.tif 000012