(57)【要約】      （修正有）【課題】ハードウェアの完成していない段階でソフトウェアを作成して検証シナリオに基づいたシミュレーションを行うシミュレーション装置に関する。【解決手段】作成対象のソフトウェアであるドライバＤｒ１〜Ｄｒ１２が、予め作成された検証シナリオに基づいてドライバＤｒ１〜Ｄｒ１２に制御信号を出力する統合ドライバから該制御信号を受け取ると、予め設定されている指示信号を応答装置１０に出力し、応答装置１０は、その制御応答部１１が、ドライバＤｒ１〜Ｄｒ１２からの指示信号に応答して応答信号を応答受付部１３及び応答出力部１４を介して出力し、制御情報生成出力部１２が、該制御応答部１１の応答に応じた動作シーケンス情報を記録して制御情報を生成する。したがって、実際の制御に合わせた検証シナリオを作成してソフトウェア及びハードウェアの検証を高精度に行うことができる。【選択図】図２
2008226207.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに組み込まれ該デバイスを制御するドライバと、予め作成されたシナリオに基づいて前記ドライバに制御信号を出力して該ドライバの動作を制御する統合ドライバと、所定の応答手段とを備え、該ドライバが該統合ドライバから該制御信号を受け取ると所定の指示信号を該応答手段に出力するシミュレーション装置であって、前記応答手段は、前記ドライバからの前記指示信号に応答して所定の応答信号を出力する制御応答手段と、該制御応答手段の応答に応じた動作シーケンス情報から制御情報を生成する制御情報生成手段と、を備えていることを特徴とするシミュレーション装置。
【請求項２】
前記シミュレーション装置は、前記ドライバが、前記複数のデバイスにそれぞれ組み込まれており、前記統合ドライバが、該複数のドライバの動作を制御し、前記応答手段が、該各ドライバからの前記指示信号に応じて前記制御応答手段が順次出力する応答信号を受け付ける受付手段と、該受付手段の受け付けた応答信号を該応答信号に対応する前記指示信号を出力した前記ドライバに対して出力する応答出力手段とを備えていることを特徴とする請求項１記載のシミュレーション装置。
【請求項３】
前記ドライバは、前記デバイスを制御する機能を有さず、単に、前記統合ドライバからの指示に応じて前記応答を行う機能のみを有していることを特徴とする請求項１または請求項２記載のシミュレーション装置。
【請求項４】
前記シミュレーション装置は、前記応答手段が、前記ドライバのレジスタアドレス等のレジスタ情報からなるレジスタマップを有し、前記制御応答手段が、該ドライバからの前記指示信号に基づいて該レジスタマップから該レジスタ情報を取得し、前記制御情報生成手段が、該レジスタ情報を組み込んだ前記制御情報を生成することを特徴とする請求項２または請求項３記載のシミュレーション装置。
【請求項５】
前記シミュレーション装置は、前記ドライバが、前記統合ドライバからの前記制御信号の種類に応じた種類の前記指示信号を前記応答手段に出力し、該応答手段の前記制御応答手段が、該ドライバからの該指示信号の種類に応じた応答を該ドライバに返すことを特徴とする請求項１から請求項４のいずれかに記載のシミュレーション装置。
【請求項６】
前記応答手段は、前記ドライバから前記指示信号を受け取ってから前記応答を出力するまでの応答時間を管理する応答時間管理手段を備えていることを特徴とする請求項１から請求項５のいずれかに記載のシミュレーション装置。
【請求項７】
前記シミュレーション装置は、前記ドライバが、前記統合ドライバからの前記制御信号の種類に応じた種類の前記指示信号を前記応答手段に出力し、該応答手段の前記制御応答手段が、該ドライバからの該指示信号の種類に応じた応答を該ドライバに返し、前記応答時間管理手段が、該応答種類に応じた前記応答時間を有して、該制御応答手段の出力する該応答の種類に応じた該応答時間を管理することを特徴とする請求項６記載のシミュレーション装置。
【請求項８】
前記制御情報生成手段は、レジスタアドレス、リードアクセス／ライトアクセスのアクセス種類、アクセスデータ、アクセス時間等の前記制御応答手段の出力する前記応答の種類に応じた前記制御情報を生成することを特徴とする請求項５から請求項７のいずれかに記載のシミュレーション装置。
【請求項９】
前記制御情報生成手段は、複数種類の制御情報の出力フォーマットを有し、予め指定された出力フォーマットで、該制御情報を出力することを特徴とする請求項１から請求項８のいずれかに記載のシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション装置に関し、詳細には、ハードウェアの完成していない段階でソフトウェアを作成して検証シナリオに基づいたシミュレーションを行うことのできるシミュレーション装置に関する。
【背景技術】
【０００２】
一般的に、複写装置、プリンタ、複合装置等の画像処理装置においては、その機能の高度化、高速化、大規模化等が進んでいるが、画像処理装置を構成する各機構を動作させるためには、その機構の動作を制御する制御ソフトウェア（プログラム）を開発し、その制御プログラムを該機構に組み込まれているマイコンで実行させて動作させる必要がある。
【０００３】
ところが、従来、ソフトウェアの開発は、ソフトウェアを開発する際には、制御すべき機構の実機（ハードウェア）が完成している必要がある。すなわち、実機が完了してはじめて該実機を使って制御ソフトウェア（組み込みソフトウェア）の開発を開始することができる。
【０００４】
このように、機器の開発を行う際には、制御対象の機器が必要であるため、実機が完成するまでは、組み込みソフトウェアの開発を行うことができず、機器の開発に時間やコストがかかり、非効率的であった。
【０００５】
そこで、従来、実機を用いることなく、ソフトウェアの動作をシミュレートする実機レスシミュレーション装置が提案されている（特許文献１等参照）。
【０００６】
【特許文献１】特開２００５−４９９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術にあっては、ハードウェアの検証シナリオを作成する機能を有しておらず、ハードウェアの検証シナリオの作成では、該ハードウェアの使われ方を予想して作成する必要があり、従来の実機レスシミュレーション装置は、利用性が悪いとともに、複数の機能を有しているため、シミュレーション速度が遅く、処理速度の高速化が要望されていた。
【０００８】
そこで、本発明は、検証シナリオに基づいてソフトウェア及びハードウェアの検証を高精度に行うことのできるシミュレーション装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
請求項１記載の発明のシミュレーション装置は、デバイスに組み込まれ該デバイスを制御するドライバと、予め作成されたシナリオに基づいて前記ドライバに制御信号を出力して該ドライバの動作を制御する統合ドライバと、所定の応答手段とを備え、該ドライバが該統合ドライバから該制御信号を受け取ると所定の指示信号を該応答手段に出力するシミュレーション装置であって、前記応答手段は、前記ドライバからの前記指示信号に応答して所定の応答信号を出力する制御応答手段と、該制御応答手段の応答に応じた動作シーケンス情報から制御情報を生成する制御情報生成手段と、を備えていることにより、上記目的を達成している。
【００１０】
この場合、例えば、請求項２に記載するように、前記シミュレーション装置は、前記ドライバが、前記複数のデバイスにそれぞれ組み込まれており、前記統合ドライバが、該複数のドライバの動作を制御し、前記応答手段が、該各ドライバからの前記指示信号に応じて前記制御応答手段が順次出力する応答信号を受け付ける受付手段と、該受付手段の受け付けた応答信号を該応答信号に対応する前記指示信号を出力した前記ドライバに対して出力する応答出力手段とを備えていてもよい。
【００１１】
また、例えば、請求項３に記載するように、前記ドライバは、前記デバイスを制御する機能を有さず、単に、前記統合ドライバからの指示に応じて前記応答を行う機能のみを有していてもよい。
【００１２】
さらに、例えば、請求項４に記載するように、前記シミュレーション装置は、前記応答手段が、前記ドライバのレジスタアドレス等のレジスタ情報からなるレジスタマップを有し、前記制御応答手段が、該ドライバからの前記指示信号に基づいて該レジスタマップから該レジスタ情報を取得し、前記制御情報生成手段が、該レジスタ情報を組み込んだ前記制御情報を生成してもよい。
【００１３】
また、例えば、請求項５に記載するように、前記シミュレーション装置は、前記ドライバが、前記統合ドライバからの前記制御信号の種類に応じた種類の前記指示信号を前記応答手段に出力し、該応答手段の前記制御応答手段が、該ドライバからの該指示信号の種類に応じた応答を該ドライバに返してもよい。
【００１４】
さらに、例えば、請求項６に記載するように、前記応答手段は、前記ドライバから前記指示信号を受け取ってから前記応答を出力するまでの応答時間を管理する応答時間管理手段を備えていてもよい。
【００１５】
また、例えば、請求項７に記載するように、前記シミュレーション装置は、前記ドライバが、前記統合ドライバからの前記制御信号の種類に応じた種類の前記指示信号を前記応答手段に出力し、該応答手段の前記制御応答手段が、該ドライバからの該指示信号の種類に応じた応答を該ドライバに返し、前記応答時間管理手段が、該応答種類に応じた前記応答時間を有して、該制御応答手段の出力する該応答の種類に応じた該応答時間を管理してもよい。
【００１６】
さらに、例えば、請求項８に記載するように、前記制御情報生成手段は、レジスタアドレス、リードアクセス／ライトアクセスのアクセス種類、アクセスデータ、アクセス時間等の前記制御応答手段の出力する前記応答の種類に応じた前記制御情報を生成してもよい。
【００１７】
また、例えば、請求項９に記載するように、前記制御情報生成手段は、複数種類の制御情報の出力フォーマットを有し、予め指定された出力フォーマットで、該制御情報を出力してもよい。
【発明の効果】
【００１８】
本発明のシミュレーション装置によれば、予め作成されたシナリオに基づいた制御信号をドライバが受け取ると、該ドライバが所定の指示信号を応答手段に出力し、該応答手段の制御応答手段が、該ドライバからの指示信号に応答して所定の応答信号を該ドライバに出力し、制御情報生成手段が、該制御応答手段の応答に応じた動作シーケンス情報から制御情報を生成する。
【００１９】
したがって、ソフトウェアのシミュレーションをハードウェアの完成前に行うことができるとともに、生成される制御情報から実際の制御に合わせた検証シナリオを容易かつ適切に作成することができ、検証シナリオに基づいてソフトウェア及びハードウェアの検証を高精度に行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２１】
図１及び図２は、本発明のシミュレーション装置の第１実施例を示す図であり、図１は、本発明のシミュレーション装置の第１実施例を適用したシミュレーション装置１のブロック構成図である。
【００２２】
図１において、シミュレーション装置１は、開発対象のソフトウェアである複数（図１では、１２個）のドライバＤｒ１〜Ｄｒ１２、複数（図１では、３つ）の統合ドライバＴＤｒ１、ＴＤｒ２、ＴＤｒ３、応答装置１０及び制御情報記憶部２等を備えている。
【００２３】
シミュレーション装置１は、ＣＤ（Compact Disc）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Video Disk）、フレキシブルディスク等の記録媒体に記録されているシミュレーションプログラムがコンピュータに導入されて実行されることで構築され、ドライバＤｒ１〜Ｄｒ１２、統合ドライバＴＤｒ１〜ＴＤｒ３及び応答装置１０は、このシミュレーションプログラムによって仮想の機構部として構築される。そして、このドライバＤｒ１〜Ｄｒ１２が、開発対象のソフトウェアとしてのドライバであり、応答装置１０が該ドライバＤｒ１〜Ｄｒ１２の組み込まれる開発対象のハードウェア、例えば、複合装置、プリンタ等の画像処理装置であって、シミュレーションプログラムによって仮想的に構築されている。
【００２４】
また、制御情報記憶部２は、上記コンピュータのハードディスク等のメモリ、コンピュータに外付けされるハードディスク、ＤＶＤ、ＵＳＢ（Universal Serial Bus）メモリ等であるが、情報を直接記録出力するプリンタ等であってもよい。
【００２５】
ドライバＤｒ１〜Ｄｒ１２は、開発対象のハードウェアのモジュールに搭載されることで、該モジュールを制御するドライバであり、例えば、プリンタ、複合装置等の画像処理装置のモジュールを動作させるドライバである。
【００２６】
このドライバＤｒ１〜Ｄｒ１２は、シミュレーション動作させる上では、デバイスを動作させる機能を有している必要はなく、後述するように、統合ドライバＴＤｒ１〜ＴＤ３からの制御信号に応じて指示信号を応答装置１０に出力する機能を有していればよい。すなわち、開発対象のハードウェアがプリンタであって、ドライバＤｒ１〜Ｄｒ１２が該プリンタのプリンタドライバであると、シミュレーションにおいては、該プリンタでの印刷品質は問題とはしないため、ドライバＤｒ１〜Ｄｒ１２は、デバイスを動作させる機能を有していなくてもよい。
【００２７】
いま、ドライバＤｒ１〜Ｄｒ１２のうち、ドライバＤｒ１〜Ｄｒ６が統合ドライバＴＤｒ２の制御下にあり、ドライバＤｒ７〜Ｄｒ１０及びドライバＤｒ１２が統合ドライバＴＤｒ３の制御下にあって、ドライバＤｒ１１は、統合ドライバＴＤｒ１の制御下にある。また、統合ドライバＴＤｒ２と統合ドライバＴＤｒ３は、統合ドライバＴＤｒ１に制御下にある。
【００２８】
統合ドライバＴＤｒ１〜ＴＤｒ３は、予め設定された検証シナリオの動作シーケンスを管理している。そして、統合ドライバＴＤｒ１は、該検証シナリオの動作シーケンスに基づいて、統合ドライバＴＤｒ２及び統合ドライバＴＤｒ３に制御信号を出力するとともに、ドライバＤｒ１１に制御信号を出力し、統合ドライバＴＤｒ２及び統合ドライバＴＤｒ３は、統合ドライバＴＤｒ１からの制御信号と検証シナリオの動作シーケンスに基づいてドライバＤｒ１〜Ｄｒ１０、ドライバＤｒ１２に制御信号を出力する。
【００２９】
各ドライバＤｒ１〜Ｄｒ１２は、統合ドライバＴＤｒ１〜ＴＤｒ３からの制御信号に応じて応答装置１０に指示信号を出力する。
【００３０】
応答装置（応答手段）１０は、図２に示すように、制御応答部１１、制御情報生成出力部１２、応答受付部１３及び応答出力部１４を備えている。
【００３１】
制御応答部（制御応答手段）１１は、ドライバＤｒ１〜Ｄｒ１２からの指示信号を順次受け取り、該指示信号を受け取ると、予め設定される応答信号を応答受付部１３に出力する。
【００３２】
制御情報生成出力部（制御情報生成手段）１２は、制御応答部１１が指示信号を受け取って応答信号を出力すると、該動作シーケンス情報を記録して制御情報を生成し、生成した制御情報を所定のフォーマット形式で制御情報記憶部２に出力して記録させる。
【００３３】
応答受付部（受付手段）１３は、制御応答部１１の出力する応答信号を順次受け付けて応答出力部１４に渡し、応答出力部（応答出力手段）１４は、応答受付部１３の受け付けた応答信号を該応答信号に対応する指示信号を出力したドライバＤｒ１〜Ｄｒ１２に対して出力する。
【００３４】
次に、本実施例の作用を説明する。本実施例のシミュレーション装置１は、未完成のハードウェアとドライバを仮想的に構築して検証シナリオに基づいてシミュレーションする。
【００３５】
すなわち、シミュレーション装置１は、統合ドライバＴＤｒ１〜ＴＤｒ３に検証シナリオが設定されると、該検証シナリオに基づいて、統合ドライバＴＤｒ１〜ＴＤｒ３がドライバＤｒ１〜Ｄｒ１２に制御信号を出力し、ドライバＤｒ１〜Ｄｒ１２は、統合ドライバＴＤｒ１〜ＴＤｒ３から制御信号を受け取ると、予め設定されている指示信号を応答装置１０に出力する。
【００３６】
応答装置１０は、ドライバＤｒ１〜Ｄｒ１２から指示信号が入ってくると、該指示信号を制御応答部１１で受け付け、制御応答部１１は、予め設定されている応答信号を応答受付部１３に出す。制御情報生成出力部１２は、この制御応答部１１の動作シーケンス情報を記録して制御情報を生成し、生成した制御情報を所定のフォーマット形式で制御情報記憶部２に出力して記録させる。
【００３７】
応答受付部１３は、制御応答部１１の出力する応答信号を順次受け付けて応答出力部１４に渡し、応答出力部１４は、応答受付部１３の受け付けた応答信号を該応答信号に対応する指示信号を出力したドライバＤｒ１〜Ｄｒ１２に対して出力する。
【００３８】
このように、本実施例のシミュレーション装置１は、作成対象のソフトウェアであるドライバＤｒ１〜Ｄｒ１２が、予め作成された検証シナリオに基づいてドライバＤｒ１〜Ｄｒ１２に制御信号を出力する統合ドライバＴＤｒ１〜ＴＤｒ３から該制御信号を受け取ると、予め設定されている指示信号を応答装置１０に出力し、応答装置１０は、その制御応答部１１が、ドライバＤｒ１〜Ｄｒ１２からの指示信号に応答して所定の応答信号を応答受付部１３及び応答出力部１４を介して該ドライバＤｒ１〜Ｄｒ１２に出力し、制御情報生成出力部１２が、該制御応答部１１の応答に応じた動作シーケンス情報を記録して制御情報を生成している。
【００３９】
したがって、ソフトウェアのシミュレーションをハードウェアの完成前に行うことができるとともに、この制御情報に基づいて実際の制御に合わせた検証シナリオを作成することができ、該検証シナリオに基づいてソフトウェア及びハードウェアの検証を高精度に行うことができる。
【００４０】
また、本実施例のシミュレーション装置１は、ドライバＤｒ１〜Ｄｒ１２が、複数のデバイスにそれぞれ組み込まれており、統合ドライバＴＤｒ１〜ＴＤｒ３が、該複数のドライバＤｒ１〜Ｄｒ１２の動作を制御し、応答装置１０は、その応答受付部１３が、該各ドライバＤｒ１〜Ｄｒ１２からの指示信号に応じて制御応答部１１が順次出力する応答信号を受け付け、応答出力１４が、該応答受付部１３の受け付けた応答信号を、該応答信号に対応する指示信号を出力したドライバＤｒ１〜Ｄｒ１２に対して出力している。
【００４１】
したがって、複数のドライバＤｒ１〜Ｄｒ１２を搭載する場合にも、シミュレーションをハードウェアの完成前に行うことができるとともに、この制御情報に基づいて実際の制御に合わせた検証シナリオを作成することができ、該検証シナリオに基づいてソフトウェア及びハードウェアの検証を高精度に行うことができる。
【００４２】
さらに、本実施例のシミュレーション装置１は、ドライバＤｒ１〜Ｄｒ１２がその搭載されるデバイスの機能を搭載していないので、アルゴリズムの処理時間を省略することができ、神速度を向上させることができる。
【実施例２】
【００４３】
図３は、本発明のシミュレーション装置の第２実施例を適用したシミュレーション装置の応答装置２０の機能ブロック構成図である。
【００４４】
なお、本実施例は、上記第１実施例のシミュレーション装置１と同様のシミュレーション装置に適用したものであり、本実施例のシミュレーション装置は、図１のシミュレーション装置１の応答装置１０が図３の応答装置２０に置き換わったものである。そこで、本実施例の説明においては、上記第１実施例と同様の構成部分には、同一の符号を付してその詳細な説明を省略するとともに、図示しない部分についても、必要に応じて第１実施例の説明で用いた符号をそのまま用いて説明する。
【００４５】
本実施例のシミュレーション装置１は、上記第１実施例のシミュレーション装置１と同様のドライバＤｒ１〜Ｄｒ１２、統合ドライバＴＤｒ１〜ＴＤｒ３を備えているとともに、応答装置２０を備え、その応答装置２０が、図３に示すように、制御応答部２１、レジスタマップ２２、制御情報生成出力部２３及び上記第１実施例と同様の応答受付部１３と応答出力部１４を備えている。
【００４６】
レジスタマップ２２は、各ドライバＤｒ１〜Ｄｒ１２のレジスタアドレスとパラメータ名等のレジスタマップ情報を保持しており、制御応答部（制御応答手段）２１は、ドライバＤｒ１〜Ｄｒ１２から指示信号があると、該指示信号のパラメータ値に基づいてレジスタマップ２２のレジスタマップ情報から該ドライバＤｒ１〜Ｄｒ１２のレジスタアドレスを抽出して、パラメータ値とレジスタアドレスを取得し、動作シーケンス情報を制御情報生成出力部２３に渡すとともに、応答信号を応答受付部１３に出力する。
【００４７】
制御情報生成出力部（制御情報生成手段）２３は、制御応答部２１から受け取った動作シーケンス情報を記録して制御情報を生成し、該生成した制御情報を所定のフォーマット形式で制御情報記憶部２に出力して記録させる。
【００４８】
応答受付部１３は、制御応答部２１の出力する応答信号を順次受け付けて応答出力部１４に渡し、応答出力部１４は、応答受付部１３の受け付けた応答信号を該応答信号に対応する指示信号を出力したドライバＤｒ１〜Ｄｒ１２に対して出力する。
【００４９】
すなわち、本実施例のシミュレーション装置１は、統合ドライバＴＤｒ１〜ＴＤｒ３に検証シナリオが設定されると、該検証シナリオに基づいて、統合ドライバＴＤｒ１〜ＴＤｒ３がドライバＤｒ１〜Ｄｒ１２に制御信号を出力し、ドライバＤｒ１〜Ｄｒ１２は、統合ドライバＴＤｒ１〜ＴＤｒ３から制御信号を受け取ると、予め設定されているパラメータ値を含む指示信号を応答装置１０に出力する。
【００５０】
応答装置２０は、ドライバＤｒ１〜Ｄｒ１２から指示信号が入ってくると、該指示信号を制御応答部２１で受け付け、該指示信号のパラメータ値に基づいてレジスタマップ２２のレジスタマップ情報から該ドライバＤｒ１〜Ｄｒ１２のレジスタアドレスを抽出して、パラメータ値とレジスタアドレスを取得し、動作シーケンス情報を制御情報生成出力部２３に渡すとともに、応答信号を応答受付部１３に出力する。制御情報生成出力部２３は、この制御応答部２１の動作シーケンス情報を記録して制御情報を生成し、生成した制御情報を所定のフォーマット形式で制御情報記憶部２に出力して記録させる。
【００５１】
応答受付部１３は、制御応答部２１の出力する応答信号を順次受け付けて応答出力部１４に渡し、応答出力部１４は、応答受付部１３の受け付けた応答信号を該応答信号に対応する指示信号を出力したドライバＤｒ１〜Ｄｒ１２に対して出力する。
【００５２】
このように、本実施例のシミュレーション装置１は、作成対象のソフトウェアであるドライバＤｒ１〜Ｄｒ１２が、予め作成された検証シナリオに基づいてドライバＤｒ１〜Ｄｒ１２に制御信号を出力する統合ドライバＴＤｒ１〜ＴＤｒ３から該制御信号を受け取ると、予め設定されている指示信号を応答装置２０に出力し、応答装置２０は、その制御応答部２１が、レジスタマップ２２のレジスタマップ情報に基づいて該指示信号を出力したドライバＤｒ１〜Ｄｒ１２のレジスタアドレスを取得して制御情報生成出力部２３に渡すとともに、指示信号に応答して所定の応答信号を応答受付部１３及び応答出力部１４を介して該ドライバＤｒ１〜Ｄｒ１２に出力し、制御情報生成出力部１２が、該制御応答部２３の応答に応じたレジスタアドレスを含むより詳細な動作シーケンス情報を記録してより詳細な制御情報を生成している。
【００５３】
したがって、ソフトウェアのシミュレーションをハードウェアの完成前に行うことができるとともに、このドライバＤｒ１〜Ｄｒ１２のレジスタアドレスを含む制御情報に基づいて実際の制御に合わせたより詳細な検証シナリオを作成することができ、どのドライバＤｒ１〜Ｄｒ１２からのアクセスであるかを管理可能として、検証の精度をより一層向上させることができる。
【実施例３】
【００５４】
図４〜図８は、本発明のシミュレーション装置の第３実施例を示す図であり、図４は、本発明のシミュレーション装置の第３実施例を適用したシミュレーション装置の応答装置３０の機能ブロック構成図である。
【００５５】
なお、本実施例は、上記第１実施例のシミュレーション装置１と同様のシミュレーション装置に適用したものであり、本実施例のシミュレーション装置は、図１のシミュレーション装置１の応答装置１０が図４の応答装置３０に置き換わったものである。そこで、本実施例の説明においては、上記第１実施例と同様の構成部分には、同一の符号を付してその詳細な説明を省略するとともに、図示しない部分についても、必要に応じて第１実施例の説明で用いた符号をそのまま用いて説明する。
【００５６】
本実施例のシミュレーション装置１は、上記第１実施例のシミュレーション装置１と同様のドライバＤｒ１〜Ｄｒ１２、統合ドライバＴＤｒ１〜ＴＤｒ３を備えているとともに、応答装置３０を備えており、その応答装置３０が、図４に示すように、制御応答部３１、レジスタマップ３２、制御情報生成出力部３３、応答受付部３４、同期部３５及び応答時間管理部３６を備えているとともに、上記第１実施例と同様の応答出力部１４を備えている。
【００５７】
レジスタマップ３２は、各ドライバＤｒ１〜Ｄｒ１２のレジスタアドレスとパラメータ名をレジスタマップ情報として保持している。
【００５８】
制御応答部（制御応答手段）３１は、上述のように、ドライバＤｒ１〜Ｄｒ１２から指示信号があると、該指示信号のパラメータ値に基づいてレジスタマップ３２のレジスタマップ情報から該ドライバＤｒ１〜Ｄｒ１２のレジスタアドレスを抽出して、パラメータ値とレジスタアドレスを取得し、動作シーケンス情報を制御情報生成出力部３３に渡すとともに、指示信号の種類に対応する種類の応答信号（制御応答情報）を応答受付部３４に出力する。すなわち、ドライバＤｒ１〜Ｄｒ１２は、統合ドライバＴＤｒ１〜ＴＤｒ３からの制御信号に応じた種類の指示信号を応答装置３０に出力し、応答装置３０の制御応答部３１は、ドライバＤｒ１〜Ｄｒ１２からの指示信号の種類に合わせた種類の応答信号を出力する。この指示信号の種類としては、例えば、起動命令、一旦停止命令、再起動命令等があり、これらの指示信号に対する応答信号としては、動作完了、一旦停止、エラー、アボート等がある。
【００５９】
さらに、制御応答部３１は、ドライバＤｒ１〜Ｄｒ１２からの指示信号がライトであるかリードであるかをパラメータ判断し、その判断結果をも動作シーケンス情報として制御情報生成出力部３３に渡す。
【００６０】
制御情報生成出力部（制御情報生成手段）３３は、制御情報の出力フォーマットを予め複数種類備えており、制御応答部３１から受け取った動作シーケンス情報を記録して制御情報を生成して、該生成した制御情報を制御情報記憶部２に出力して記録させる。このとき、制御情報生成出力部３３は、該複数備えている出力フォーマット形式のうち指定の出力フォーマット形式で制御情報を生成する。
【００６１】
応答受付部（受付手段）３４は、図５に示すような各ドライバ２５ｂ＿Ｄｒ１〜２５ｂ＿Ｄｒ４０の制御応答情報をリスト化して保持しており、また、応答時間管理部（応答時間管理手段）３６は、動作シーケンスに合わせた応答時間情報、すなわち、応答受付部３４から渡される動作シーケンス情報（制御応答情報）と応答時間情報をリスト化して保持している。なお、図５の制御応答情報リストは、その順序には意味が無く、どのような順序であってもよい。また、応答時間管理部３６の保持する制御応答情報リストの応答時間は、適宜任意な時間を設定することができる。
【００６２】
そして、応答受付部３４は、同期部３５で同期を取った後、応答時間管理部３６に制御応答情報を渡し、応答時間管理部３６は、該受け取った制御応答情報に基づいて該制御応答情報リストを参照して該制御応答情報に対応する動作応答時間情報を取得する。応答時間管理部３６は、動作応答時間情報を取得すると、シミュレーション装置１の構築されているコンピュータのタイマ４０を利用して該制御応答情報に対応する指示信号をドライバＤｒ１〜Ｄｒ１２から受け取ったときからの経過時間を管理して該動作応答時間情報に対応する時間が経過すると、応答出力部１４から該対応するドライバＤｒ１〜Ｄｒ１２に制御応答情報の応答信号を出力させる。
【００６３】
すなわち、本実施例のシミュレーション装置１は、例えば、統合ドライバＴＤｒ１〜ＴＤｒ３に設定される動作シーケンスが、図６に示すように、動作１から動作４まである場合、動作１から動作４の順番で、ドライバＤｒ１〜Ｄｒ１２に制御信号を出力して実行させる。
【００６４】
そして、いま、ソフトウェア開発者が、図７に示すようなドライバＤｒ１とドライバＤｒ２（図７では、Driver１とDriver２）を動作させる検証シナリオを用意して統合ドライバＴＤｒ１に適用すると、統合ドライバＴＤｒ１は、該検証シナリオに合わせて、ドライバＤｒ１とドライバＤｒ２を管理する統合ドライバＴＤｒ２に対して、ドライバＤｒ１とドライバＤｒ２のパラメータ設定と起動命令を指示、すなわち、制御信号を順次出力する。統合ドライバＴＤｒ２は、統合ドライバＴＤｒ１からの指示に応じて、ドライバＤｒ１とドライバＤｒ２にパラメータ設定と起動命令、すなわち、制御信号を順次出力する。
【００６５】
まず、ドライバＤｒ１は、統合ドライバＴＤｒ２から受け取った制御信号に記載されているパラメータ値を含む指示信号（起動命令）を応答装置３０に出力する。
【００６６】
応答装置３０は、ドライバＤｒ１から指示信号を受信すると、制御応答部３１が、ドライバＤｒ１からの指示信号に含まれているパラメータ名に基づいてレジスタマップ３２を参照して、該ドライバＤｒ１のレジスタアドレスを抽出し、該抽出したレジスタアドレスと応答内容及び指示信号がライトであるかリードであるかの判断結果を動作シーケンス情報として制御情報生成出力部３３に渡すとともに、応答受付部３４に該抽出したレジスタアドレスのドライバＤｒ１への該指示信号の内容に応じた応答信号、例えば、起動命令を応答受付部３４に制御応答情報とともに出力する。
【００６７】
制御情報生成出力部３３は、制御応答部３１から受け取ったレジスタアドレスと応答内容及び指示信号がライトであるかリードであるかの判断結果の動作シーケンス情報から制御情報、例えば、レジスタアドレス、リードアクセス／ライトアクセスのアクセス種類、アクセスデータ及びアクセス時間等の応答時応じた動作シーケンス情報に対応する制御情報を生成する。このとき、制御情報生成出力部３３は、複数備えている出力フォーマットのうち、指定されている出力フォーマットで制御情報を生成し、生成した制御情報を制御情報記憶部２に出力して記憶させる。
【００６８】
応答受付部３４は、受け付けた応答信号の対象となっているドライバＤｒ１制御応答情報（図５参照）と応答時間管理部３６の動作１応答時間情報を連結させて、同期部３５を介して応答時間管理部３６に対して該応答時間情報を指定する。
【００６９】
応答時間管理部３６は、該連結された動作１応答時間情報の時間が経過するのをコンピュータのクロック４０を参照して待ち、該応答時間が経過すると、ドライバＤｒ１制御応答情報を参照して、応答出力部１４にドライバＤｒ１への応答信号（例えば、動作完了）とデバイス名（ドライバＤｒ１）を渡す。応答出力部１４は、該受け取った応答信号をドライバＤｒ１に対して返す。
【００７０】
次に、ドライバＤｒ２は、統合ドライバＴＤｒ２から受け取った制御信号に記載されているパラメータ値を含む指示信号（起動命令）を応答装置３０に出力する。
【００７１】
応答装置３０は、ドライバＤｒ２から指示信号を受信すると、ドライバＤｒ２からの指示信号に含まれているパラメータ名に基づいてレジスタマップ３２を参照して、該ドライバＤｒ２のレジスタアドレスを抽出し、該抽出したレジスタアドレスと応答内容及び指示信号がライトであるかリードであるかの判断結果を動作シーケンス情報として制御情報生成出力部３３に渡すとともに、応答受付部３４に該抽出したレジスタアドレスのドライバＤｒ２への該指示信号の内容に応じた応答信号、例えば、起動命令を応答受付部３４に出力する。
【００７２】
制御情報生成出力部３３は、制御応答部３１から受け取ったレジスタアドレスと応答内容及び指示信号がライトであるかリードであるかの判断結果の動作シーケンス情報から上記指定の出力フォーマットで制御情報を生成し、該生成した制御情報を制御情報記憶部２に出力して記憶させる。
【００７３】
制御情報生成出力部３３は、上記ドライバＤｒ１、Ｄｒ２の動作シーケンス情報に基づいて、例えば、図８に示すような制御情報を生成して、制御情報記憶部２に出力して記憶させる。
【００７４】
応答受付部３４は、受け付けた応答信号の対象となっているドライバＤｒ２制御応答情報（図５参照）と応答時間管理部３６の動作２応答時間情報を連結させて、同期部３５を介して応答時間管理部３６に対して該応答時間情報を指定する。
【００７５】
応答時間管理部３６は、該連結された動作２応答時間情報の時間が経過するのをコンピュータのクロック４０を参照して待ち、該応答時間が経過すると、ドライバＤｒ２制御応答情報を参照して、応答出力部１４にドライバＤｒ２への応答信号（例えば、動作完了）とデバイス名（ドライバＤｒ２）を渡す。応答出力部１４は、該受け取った応答信号をドライバＤｒ２に対して返す。
【００７６】
このように、本実施例のシミュレーション装置１は、応答装置３０の応答時間管理部３６が、ドライバＤｒ１〜Ｄｒ１２から指示信号を受け取ったときから応答出力部１４が応答を出力するまでの応答時間を管理している。
【００７７】
したがって、動作シーケンスのバリエーションを増やすことができ、検証の精度をより一層向上させることができる。
【００７８】
また、本実施例のシミュレーション装置１は、ドライバＤｒ１〜Ｄｒ１２が、統合ドライバＴＤｒ１〜ＴＤｒ３からの制御信号に応じた指示信号を応答装置３０に出力し、応答装置３０は、その制御応答部３１が、ドライバＤｒ１〜Ｄｒ１２からの該指示信号の種類に応じた応答を発生して、該指示信号を送ってきたドライバＤｒ１〜Ｄｒ１２に返している。
【００７９】
したがって、デバイス固有の応答を返すことができ、検証の精度をより一層向上させることができる。
【００８０】
さらに、本実施例のシミュレーション装置１は、制御情報生成出力部３３が、制御情報として、レジスタアドレス、リードアクセス／ライトアクセスのアクセス種類、アクセスデータ、アクセス時間等の応答に応じた動作シーケンス情報に対応した制御情報を生成している。
【００８１】
したがって、制御情報として、ドライバＤｒ１〜Ｄｒ１２と応答装置３０の動作に対してより詳細な制御情報を生成して記録し、より具体的な検証シナリオを作成することができ、懸賞制度をより一層向上させることができる。
【００８２】
また、本実施例のシミュレーション装置１は、制御情報生成出力部３３が、複数種類の制御情報の出力フォーマットを有し、予め指定された出力フォーマットで、制御情報を出力している。
【００８３】
したがって、検証環境に合わせたシナリオを作成することができ、移植性・汎用性を向上させることができる。
【００８４】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８５】
本発明は、ハードウェアの完成していない段階でソフトウェアを作成して検証シナリオに基づいたシミュレーションを行うシミュレーション装置に適用することができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の第１実施例を適用したシミュレーション装置のブロック構成図。
【図２】図１の応答装置の詳細な機能ブロック構成図。
【図３】本発明の第２実施例を適用したシミュレーション装置の応答装置の機能ブロック構成図。
【図４】本発明の第３実施例を適用したシミュレーション装置の応答装置の機能ブロック構成図。
【図５】図４の応答受付部の有するドライバの制御応答情報リストの一例を示す図。
【図６】動作シーケンスの一例を示す図。
【図７】検証シナリオの一例を示す図。
【図８】図４の制御情報生成出力部の生成する制御情報の一例を示す図。
【符号の説明】
【００８７】
１  シミュレーション装置
Ｄｒ１〜Ｄｒ１２  ドライバ
ＴＤｒ１、ＴＤｒ２、ＴＤｒ３  統合ドライバ
２  制御情報記憶部
１０  応答装置
１１  制御応答部
１２  制御情報生成出力部
１３  応答受付部
１４  応答出力部
２０  応答装置
２１  制御応答部
２２  レジスタマップ
２３  制御情報生成出力部
３０  応答装置
３１  制御応答部
３２  レジスタマップ
３３  制御情報生成出力部
３４  応答受付部
３５  同期部
３６  応答時間管理部
【図１】
2008226207.tif 000003
【図２】
2008226207.tif 000004
【図３】
2008226207.tif 000005
【図４】
2008226207.tif 000006
【図５】
2008226207.tif 000007
【図６】
2008226207.tif 000008
【図７】
2008226207.tif 000009
【図８】
2008226207.tif 000010