(57)【要約】【課題】本発明は、シミュレーション方法及び装置並びにプログラムに関し、シミュレータ機能を簡単、且つ、容易に選択して効率的なシミュレーションを行うことを目的とする。【解決手段】シミュレータ機能をコンポーネント化した複数のコンポーネントを、複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、シミュレーション実行時に、外部インタフェース管理モジュールによりシミュレーション実行環境に応じて複数のコンポーネントを使い分けるように構成する。【選択図】図６
2007213256.tif 000002
【特許請求の範囲】
【請求項１】
シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、
シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とする、シミュレーション方法。
【請求項２】
未登録のコンポーネントがシミュレーションに必要であると、該外部インタフェース管理モジュールによりそのコンポーネントを登録してシミュレータ本体に結合することを特徴とする、請求項１記載のシミュレーション方法。
【請求項３】
該外部インタフェース管理モジュールにより登録済みで削除可能なコンポーネントが検知されると、そのコンポーネントの登録を削除してシミュレータ本体への結合を切断することを特徴とする、請求項１又は２記載のシミュレーション方法。
【請求項４】
シミュレータ本体と、
外部インタフェースＡＰＩを実装すると共に、シミュレータ機能をコンポーネント化した複数のコンポーネントを管理する外部インタフェース管理モジュールとを備え、
該複数のコンポーネントは該外部インタフェース管理モジュールを介して該シミュレータ本体に結合して使用され、
該外部インタフェース管理モジュールは、シミュレーション実行時に、シミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とする、シミュレーション装置。
【請求項５】
コンピュータにソフトウェアシミュレーションを行わせるプログラムであって、
該コンピュータに、シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用させる手順と、
該コンピュータに、シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けさせる手順とを含むことを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーション方法及び装置並びにプログラムに係り、ソフトウェアシミュレータの機能が選択可能なシミュレーション方法及び装置並びにコンピュータにそのようなシミュレーション方法を実現させるプログラムに関する。本発明は、このようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
【背景技術】
【０００２】
近年のマイクロコンピュータ（以下、単にマイコンと言う）のソフトウェアシミュレータは、メモリのリード／ライト処理や割込み要因の設定を可能とする外部インタフェースＡＰＩ（Application Programming Interface）を用意することで、マイコン周辺の入出力（Ｉ／Ｏ）マクロを模擬する機能を有する。外部にマイコン外界を模擬するためのダイナミックリンクライブラリ（ＤＬＬ：Dynamic Link Library）等のモジュールを用意し、マイコンのシミュレータに結合して使用することにより、マイコン単体の動作だけではなく、マイコンに付随する各種Ｉ／Ｏ機能に関してもシミュレーションを行うことが可能となる。しかしながら、全ての周辺機能のシミュレーションを一度に行うと、シミュレータの動作速度が著しく低下する可能性がある。
【０００３】
マイコン外界を模擬するためのモジュールは、通常はマイコンのシミュレータにより提供されている外部インタフェースＡＰＩを使用して、マイコン外部要素の動作をＣ言語により記述することで作成されている。
【０００４】
図１は、従来のシミュレーション実行環境を説明する図である。図１に示すように、シミュレーション実行環境３０１内に、シミュレーションを行うホスト装置のホストオペレーティングシステム（ＯＳ）３０２とソフトウェアシミュレータ（又は、シミュレータプログラム）３０３が含まれる。ホストＯＳ３０２は、ＯＳ本体４２１からなり、シミュレータ３０３はシミュレータ本体４３１と外部インタフェース（Ｉ／Ｆ）モジュール（又は、実行モジュール）４６１とからなる。シミュレータ本体４３１は、シミュレーションを実行するシミュレータ実行部４４１、シミュレータ本体４３１に対して登録される外部インタフェースモジュール４６１を管理する外部インタフェース（Ｉ／Ｆ）管理部４４２及び機能実行要求を行う機能実行要求部４４３からなる。外部Ｉ／Ｆ管理モジュール４６１は、機能実行要求を受理する実行要求受理部４７１及び受理された機能実行要求により要求されたアクションを実行するアクション実行部４７２からなる。
【０００５】
シミュレータ本体４３１は、外部Ｉ／Ｆ ＡＰＩを公開しており、この外部Ｉ／Ｆ ＡＰＩを実装した外部Ｉ／Ｆ管理モジュール４６１をシミュレータ本体４３１に組み込むことができる。ただし、外部Ｉ／Ｆ管理モジュール４６１は、シミュレータ本体４３１に対して１つしか登録することができない。
【０００６】
外部Ｉ／Ｆ管理モジュール４６１にマイコン外界の要素を模擬するための論理は、C言語プログラムで記述され、このプログラムで外部Ｉ／Ｆ管理モジュール４６１を構築する。得られた外部Ｉ／Ｆ管理モジュール４６１をシミュレータ本体４３１に登録して使用することで、マイコン単体だけでなくマイコンに付随する周辺機能も合わせてシミュレーションを行うことができる。
【０００７】
図２は、従来のシミュレーションの一例を説明するフローチャートである。図２に示すように、シミュレータ３０３によるシミュレーションが開始されると、ステップＳ１０１は外部Ｉ／Ｆ管理モジュール４６１を外部Ｉ／Ｆ管理部４４２に登録し、ステップＳ１０２はシミュレータ実行部４３１でシミュレータ３０３を起動する。ステップＳ１０３は外部Ｉ／Ｆ管理部４４２に登録された外部Ｉ／Ｆ管理モジュール４６１をシミュレータ３０３にロードし、ステップＳ１０４はシミュレータ実行部４４１でシミュレーションの実行を開始する。ステップＳ１０５はシミュレータ実行部４４１で１つの命令（即ち、１ステップ）のシミュレーションを実行し、処理はステップＳ１０６へ進む。
【０００８】
ステップＳ１０５では、ステップＳ２０１〜Ｓ２０３の処理が行われる。１ステップのシミュレーションが開始されると、ステップＳ２０１はシミュレータ実行部４４１で１つの命令を実行し、外部Ｉ／Ｆ管理部４４２の管理下で機能実行要求を機能実行要求部４４３を介して外部Ｉ／Ｆ管理モジュール４６１に対して発行する。ステップＳ２０２は実行要求受理部４７１で外部Ｉ／Ｆ管理モジュール４６１へのアクセスがあるか否かを判定する。ステップＳ２０２の判定結果がＹＥＳであると、ステップＳ２０３はアクション実行部４７２で外部Ｉ／Ｆ管理モジュール４６１の処理を行う。ステップＳ２０３は、外部Ｉ／Ｆ管理モジュール４６１のシミュレーションを開始し、ステップＳ３０１でアクション実行部４７２により機能実行要求により要求されたアクションＡ（＝Ａ'+Ａ''+Ａ'''...）を実行し、外部Ｉ／Ｆ管理モジュール４６１のシミュレーションを終了する。ステップＳ２０２の判定結果がＮＯであるか、或いは、ステップＳ２０３の後、１ステップのシミュレーションは終了して処理はステップＳ１０６へ進む。
【０００９】
ステップＳ１０６は、シミュレータ停止要求があるか否かを判定し、判定結果がＮＯであると処理はステップＳ１０５へ戻る。ステップＳ１０６の判定結果がＹＥＳであると、ステップＳ１０７はシミュレータ実行部４４１によるシミュレーションの実行を停止し、シミュレーションは終了する。
【００１０】
一般に、シミュレータ３０３の精度を高めようとすると、ホストＯＳ３０２上での処理速度が問題となる。特に組み込みマイコンでは、システムバス等のＩ／Ｏ周辺から、測定システム用のポート等、精度の対象は多岐に渡るが、全てのミュレーションを実行するとホストＯＳ３０２への負荷が無視できない。
【００１１】
外部Ｉ／Ｆ ＡＰＩを利用することで、マイコン周辺の機能についてシミュレーションを行うことが可能であるが、全ての論理を模擬するとシミュレーション速度が著しく低下してしまう。
【００１２】
シミュレータ３０３のユーザが必要とするシミュレータ３０３の実行情報やシミュレーション機能をより詳細に模倣することは、ホスト装置のハードウェアスペックへの圧迫につながり、シミュレーション実行環境３０１がホスト装置の性能による制約を受けてしまう。
【００１３】
又、シミュレータ３０３の精度が求められる対象は、シミュレーション中に局所的に存在する場合が多いが、不要なシミュレーション部分を省略するには、シミュレータ３０３自体を作り直す必要がある。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
このように、従来のソフトウェアシミュレータでは、シミュレータ機能を簡単、且つ、容易に選択して効率的なシミュレーションを行うことは難しいという問題があった。
【００１５】
そこで、本発明は、シミュレータ機能を簡単、且つ、容易に選択して効率的なシミュレーションを行うことを可能としたシミュレーション方法及び装置並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記の課題は、シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とするシミュレーション方法によって達成できる。
【００１７】
上記の課題は、シミュレータ本体と、外部インタフェースＡＰＩを実装すると共に、シミュレータ機能をコンポーネント化した複数のコンポーネントを管理する外部インタフェース管理モジュールとを備え、該複数のコンポーネントは該外部インタフェース管理モジュールを介して該シミュレータ本体に結合して使用され、該外部インタフェース管理モジュールは、シミュレーション実行時に、シミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とするシミュレーション装置によっても達成できる。
【００１８】
上記の課題は、コンピュータにソフトウェアシミュレーションを行わせるプログラムであって、該コンピュータに、シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用させる手順と、該コンピュータに、シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けさせる手順とを含むことを特徴とするプログラムによっても達成できる。
【００１９】
上記の課題は、上記プログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体によっても達成できる。
【発明の効果】
【００２０】
本発明によれば、シミュレータ機能を簡単、且つ、容易に選択して効率的なシミュレーションを行うことを可能としたシミュレーション方法及び装置並びにプログラムを実現することができる。
【発明を実施するための最良の形態】
【００２１】
本発明では、シミュレータ機能をコンポーネント化（又は、シミュレーションモジュール化）し、コンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合（又は、アドイン）して使用する。これにより、シミュレーション実行時に、ホスト装置の環境、即ち、シミュレーション実行環境に応じてコンポーネントを使い分けることが可能となる。
【００２２】
シミュレーション実行時には、最小限のコンポーネントを選択してシミュレータ本体にアドインして使用する。このようなアドインするコンポーネントの最適化により、不要なシミュレーションの実行をなくし、効率的なシミュレーションを行うことができ、高速のシミュレータを実現できる。又、ホスト装置の資源の使用を節約することができ、ホスト装置のメモリ容量やＣＰＵ速度に制約のある場合等においても、高速のシミュレータを実現できる。
【００２３】
コンポーネントの選択は、シミュレーション実行時に外部インタフェース管理モジュールにより動的に行う。この場合、例えばコンポーネントの負荷情報に基づいて動的にコンポーネントを選択したり、ホスト装置の負荷情報に基づいて動的にコンポーネントを選択したりすることができる。未登録のコンポーネントがシミュレーションに必要になった場合は、そのコンポーネントを登録することでシミュレータに組み込む。未使用のコンポーネントが検知された場合は、その登録されているコンポーネントをシミュレータから削除する。これらの最適化処理を外部インタフェース管理モジュールで行うことで常に必要最小限のコンポーネントをアドインした構成でシミュレータによりシミュレーションを実行させることが可能となる。
【００２４】
以下に、本発明になるシミュレーション方法及び装置、プログラム及びコンピュータ読み取り可能な記憶媒体の各実施例を図３以降と共に説明する。
【実施例】
【００２５】
本発明になるシミュレーション装置の一実施例は、本発明になるシミュレーション方法の一実施例、本発明になるプログラムの一実施例及び本発明になるコンピュータ読み取り可能な記憶媒体の一実施例を用いる。本実施例では、本発明がコンピュータシステムに適用されている。図３は、本実施例において本発明が適用されるコンピュータシステムを示す斜視図である。
【００２６】
図３に示すコンピュータシステム１００は、シミュレーションを行うホスト装置を構成する。コンピュータシステム１００は、ＣＰＵやディスクドライブ等を内蔵した本体部１０１、本体部１０１からの指示により表示画面１０２ａ上に画像を表示するディスプレイ１０２、コンピュータシステム１００に種々の情報を入力するためのキーボード１０３、ディスプレイ１０２の表示画面１０２ａ上の任意の位置を指定するマウス１０４及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードするモデム１０５を有する。
【００２７】
ディスク１１０等の可搬型記録媒体に格納されるか、モデム１０５等の通信装置を使って他のコンピュータシステムの記録媒体１０６からダウンロードされる、コンピュータシステム１００にシミュレータ機能を持たせるプログラム（マイコンのソフトウェアシミュレータ或いはソフトウェア開発環境）の本実施例は、コンピュータシステム１００に入力されてコンパイルされる。プログラムの本実施例は、コンピュータシステム１００（即ち、後述するＣＰＵ２０１）をシミュレータ機能を有するシミュレーション装置の本実施例として動作させる。記憶媒体の本実施例は、プログラムの本実施例を格納した、例えばディスク１１０等のコンピュータ読み取り可能な記録媒体からなる。記録媒体の本実施例は、ディスク１１０、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ等の可搬型記録媒体に限定されるものではなく、モデム１０５やＬＡＮ等の通信装置や通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００２８】
図４は、コンピュータシステム１００の本体部１０１内の要部の構成を説明するブロック図である。同図中、本体部１０１は、バス２００により接続されたＣＰＵ２０１、ＲＡＭやＲＯＭ等からなるメモリ部２０２、ディスク１１０用のディスクドライブ２０３及びハードディスクドライブ（ＨＤＤ）２０４からなる。本実施例では、ディスプレイ１０２、キーボード１０３及びマウス１０４も、バス２００を介してＣＰＵ２０１に接続されているが、これらは直接ＣＰＵ２０１に接続されていても良い。又、ディスプレイ１０２は、入出力画像データの処理を行う周知のグラフィックインタフェース（図示せず）を介してＣＰＵ２０１に接続されていても良い。
【００２９】
尚、コンピュータシステム１００の構成は図３及び図４に示す構成に限定されるものではなく、代わりに各種周知の構成を使用しても良い。
【００３０】
図５は、本発明におけるシミュレーション実行環境を説明する図である。図５に示すように、シミュレーション実行環境１内に、シミュレーションを行うホスト装置（コンピュータシステム１００）のホストオペレーティングシステム（ＯＳ）２とソフトウェアシミュレータ（又は、シミュレータプログラム）３が含まれる。ホストＯＳ２は、ＯＳ本体２１からなり、シミュレータ３はシミュレータ本体３１とＩ／Ｏシミュレーションアドイン部３２とからなる。
【００３１】
シミュレータ本体３１は、シミュレーションを実行するシミュレータ実行部３１１、シミュレータ本体３１に対して登録される外部インタフェース（Ｉ／Ｆ）管理モジュールを管理する外部インタフェース（Ｉ／Ｆ）管理部３１２及び機能実行要求を行う機能実行要求部３１３からなる。
【００３２】
Ｉ／Ｏシミュレーションアドイン部３２は、外部Ｉ／Ｆ管理モジュール３２０と、シミュレータ本体３１に対して結合（又は、アドイン）可能なコンポーネント３３−１，３３−２，３３−３，...からなる。外部Ｉ／Ｆ管理モジュール３２０は、コンポーネントの登録及び／又は削除を含む改善要求を認識する改善要求認識部３２１と、認識された改善要求に従ってシミュレータ本体３１に対してアドインされるコンポーネントの最適化を図る最適化管理部３２２からなる。シミュレータ本体３１に対してアドインされるコンポーネントの最適化は、ＯＳ本体２１から取得される情報に基づいて計算されるホスト装置の負荷情報、及び／又は、各コンポーネント３３−１，３３−２，３３−３，...から取得され情報に基づいて計算されるコンポーネント負荷情報等に基づいて行われる。又、コンポーネント３３−１，３３−２，３３−３，...は、機能実行要求を受理する実行要求受理部３３１及び受理された機能実行要求により要求された対応するアクションＡ'，Ａ''，Ａ'''...を実行するアクション実行部３３２からなる。尚、シミュレータ本体３１に対してアドインされるコンポーネントは、少なくとも１つであれば良い。
【００３３】
シミュレータ本体３１は、外部Ｉ／Ｆ ＡＰＩを公開しており、この外部Ｉ／Ｆ ＡＰＩを実装した単一の外部Ｉ／Ｆ管理モジュール３２０を介して任意のコンポーネント３３−１，３３−２，３３−３，...をシミュレータ本体４３１にアドインすることができる。シミュレータ本体３１に対しては、１つの外部Ｉ／Ｆ管理モジュール３２０しか登録できないが、この外部Ｉ／Ｆ管理モジュール３２０を介して複数のコンポーネント３３−１，３３−２，３３−３，...をシミュレータ本体４３１にアドインすることができる。
【００３４】
各コンポーネント３３−１，３３−２，３３−３，...にマイコン外界の要素を模擬するための論理は、C言語プログラムで記述され、このプログラムで各コンポーネント３３−１，３３−２，３３−３，...を構築する。得られたコンポーネント３３−１，３３−２，３３−３，...をシミュレータ本体３１に登録して使用することで、マイコン単体だけでなくマイコンに付随する周辺機能も合わせてシミュレーションを行うことができる。
【００３５】
図６は、本発明の一実施例のシミュレーションを説明するフローチャートである。シミュレーションは、図２のステップＳ１０１〜Ｓ１０７と同様の処理を行うことで実行できるので、その図示は省略する。本実施例では、シミュレータ実行部３１１により実行されるステップＳ１０５が図６に示すステップＳ１〜Ｓ３からなる。図６に示すように、１ステップのシミュレーションが開始されると、ステップＳ１はシミュレータ実行部３１１で１つの命令を実行し、外部Ｉ／Ｆ管理部３１２の管理下で機能実行要求を機能実行要求部３１３を介して外部Ｉ／Ｆ管理モジュール３２０に対して発行する。ステップＳ２は改善要求認識部３２１で外部Ｉ／Ｆ管理モジュール３２０へのアクセスがあるか否かを判定する。ステップＳ２の判定結果がＹＥＳであると、ステップＳ３は最適化管理部３２２の管理下で外部Ｉ／Ｆ管理モジュール３２０の処理を行う。ステップＳ２の判定結果がＮＯであるか、或いは、ステップＳ３の後、１ステップのシミュレーションは終了して処理はステップＳ１０６へ戻る。
【００３６】
ステップＳ３では、ステップＳ３１〜Ｓ３５の処理が行われる。外部Ｉ／Ｆ管理モジュール３２０の処理、即ち、外部Ｉ／Ｆ管理モジュール３２０のシミュレーションが開始されると、ステップＳ３１は改善要求認識部３２１で機能実行要求が登録されたコンポーネントへのアクセスを含むか否かを判定する。ステップＳ３１の判定結果がＮＯであると、ステップＳ３２は最適化管理部３２２の管理下でアクセスするべきコンポーネントを自動的に登録する。ステップＳ３１の判定結果がＹＥＳ、或いは、ステップＳ３２の後、ステップＳ３３はアクション実行部３３２で機能実行要求により要求されたコンポーネントのアクションを実行する。
【００３７】
又、ステップＳ３４は、最適化管理部３２２の管理下で削除可能なコンポーネントがアドインされているか否かを判定する。削除可能なコンポーネントは、例えばユーザにより設定されても良く、使用頻度が一定頻度以下のコンポーネントであっても良い。この場合の一定頻度は、デフォルトで予め設定されていても、ユーザにより設定されるものであっても良い。ステップＳ３４の判定結果がＹＥＳであると、ステップＳ３５は最適化管理部３２２の管理下で削除可能なコンポーネントを登録されているコンポーネントから削除することで、削除可能なコンポーネントのシミュレータ本体３１への結合を切断する。ステップＳ３４の判定結果がＮＯ、或いは、ステップＳ３５の後、外部Ｉ／Ｆ管理モジュール３２０のシミュレーションが終了し、１ステップのシミュレーションが終了する。
【００３８】
従って、コンポーネントを管理する外部Ｉ／Ｆ管理モジュールを設け、コンポーネント化されたシミュレータの機能を必要に応じて動的に結合・削除することで、効率的なシミュレーションを行うことができる。又、コンポーネントの負荷情報に基づいて使用するコンポーネントを動的に選択したり、ホスト装置の負荷情報に基づいて使用するコンポーネントを動的に選択することもできるので、高速のシミュレータを実現できると共に、ホスト装置の資源の有効利用を図ることができる。
【００３９】
図７は、外部Ｉ／Ｆ管理モジュール３２０の最適化管理部３２２の管理下で、コンポーネントを削除する際にディスプレイ１０２の表示画面１０２ａに表示されるシミュレータ管理ダイアログを示す図である。図７において、シミュレータ管理ダイアログには、推奨シミュレータコンポーネントのコンポーネント名、コンポーネントの負荷情報としてコンポーネントの使用率、未使用のコンポーネントであるか否かを判断するための閾値が、シミュレータ本体３１からの機能実行要求によりアクセスされているコンポーネントであるかを示す情報が表示される。図７では、「■」が機能実行要求によりアクセスされており、「□」がアクセスされていないコンポーネントを示す。又、シミュレータ負荷グラフとして、ＣＰＵ２０１の使用率、メモリ部２０２等の記憶部の空き容量等の情報に基づいて計算されたホスト装置（即ち、シミュレータ３）の負荷情報が負荷・時間特性（任意単位）として表示される。更に、未使用のコンポーネントのチェック周期がｍｓ単位で設定可能である。
【００４０】
図８は、図６のステップＳ３５によるコンポーネント削除手順を説明するフローチャートである。図８において、ステップＳ５１は、ホストＯＳ２のＯＳ本体２１からＣＰＵ２０１の使用率、メモリ部２０２等の記憶部の空き容量等の情報を取得してホスト装置の負荷情報を計算する。ステップＳ５２は、図６のステップＳ３４において削除可能と判断されたコンポーネントから、このコンポーネントへの単位時間当たりのアクセス量等の情報を取得して、このコンポーネントの負荷情報を計算する。ステップＳ５３は、ホスト装置の負荷がこのコンポーネントの負荷より大きいか否かを判定する。ステップＳ５３の判定結果がＹＥＳであると、ステップＳ５４は、このコンポーネントの負荷がユーザにより設定された設定値より小さいが否かを判定する。この設定値は、例えば図７と共に説明した、未使用のコンポーネントであるか否かを判断するための閾値である。ステップＳ５４の判定結果がＹＥＳであると、ステップＳ５５は、このコンポーネントを自動的に削除し、処理は終了する。又、ステップＳ５３又はＳ５４の判定結果がＮＯの場合も、処理は終了する。尚、ステップＳ５４で用いる設定値は、デフォルトで予め設定されているものであっても良い。
【００４１】
図８のコンポーネント削除手順を実行する際に図７に示すシミュレータ管理ダイアログを表示することで、ユーザは視覚的にどのようなコンポーネントが削除されるかを容易に確認することができる。又、ユーザは、シミュレータ管理ダイアログを見ながら図６のステップＳ３４で用いる一定頻度及び／又は図８のステップＳ５４で用いる設定値を調整することもできる。
【００４２】
尚、図７に示す如きシミュレータ管理ダイアログを、図６のステップＳ３２においてコンポーネントを登録する際にもディスプレイ１０２の表示画面１０２ａに表示しても良い。この場合、ユーザは視覚的にどのようなコンポーネントが登録されるかを、機能実行要求でアクセスされるコンポーネント及びアクセス可能なコンポーネントと共に、容易に確認することができる。
【００４３】
図９は、シミュレータ３の状態遷移図である。図９において、ＳＴ０はシミュレーション停止（中）状態を示す。状態ＳＴ０においてシミュレータ本体４３１からのシミュレーションが起動されると、ＳＴ１で示すシミュレーション実行（中）状態へ遷移する。状態ＳＴ１において、アクセスされたコンポーネントが登録されていないことが検知されると、ＳＴ２で示すコンポーネントの登録状態へ遷移する。状態ＳＴ２においてコンポーネントの登録が完了すると、状態ＳＴ１へ遷移する。状態ＳＴ１において登録されているコンポーネントへのアクセスによりイベントが発生すると、ＳＴ３で示すコンポーネント実行状態をチェックする状態へ遷移する。チェックが完了して未使用の（削除可能な）コンポーネントがなければ、状態ＳＴ１へ遷移する。
【００４４】
他方、状態ＳＴ３において未使用のコンポーネントが検知されると、ＳＴ４で示す未使用のコンポーネントの削除状態へ遷移する。ＳＴ４において未使用のコンポーネントの削除が完了すると、状態ＳＴ１へ遷移する。状態ＳＴ１においてシミュレーションが完了するか、状態ＳＴ３においてシミュレーションの中断要求が発生すると、シミュレーションが停止されて状態ＳＴ０へ遷移する。
【００４５】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）  シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用し、
シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とする、シミュレーション方法。
（付記２）  シミュレーション実行時に、該外部インタフェース管理モジュールにより最小限のコンポーネントを選択して該シミュレータ本体に結合して使用することで結合するコンポーネントの最適化を行うことを特徴とする、付記１記載のシミュレーション方法。
（付記３）  該シミュレーション実行時のコンポーネントの選択は、コンポーネントの負荷情報及び／又は該シミュレータ本体に対するホスト装置の負荷情報に基づいて、該外部インタフェース管理モジュールにより動的に行うことを特徴とする、付記２記載のシミュレーション方法。
（付記４）  未登録のコンポーネントがシミュレーションに必要であると、該外部インタフェース管理モジュールによりそのコンポーネントを登録してシミュレータ本体に結合することを特徴とする、付記１〜３のいずれか１項記載のシミュレーション方法。
（付記５）  該外部インタフェース管理モジュールにより登録済みで削除可能なコンポーネントが検知されると、そのコンポーネントの登録を削除してシミュレータ本体への結合を切断することを特徴とする、付記１〜４のいずれか１項記載のシミュレーション方法。
（付記６）  シミュレータ本体と、
外部インタフェースＡＰＩを実装すると共に、シミュレータ機能をコンポーネント化した複数のコンポーネントを管理する外部インタフェース管理モジュールとを備え、
該複数のコンポーネントは該外部インタフェース管理モジュールを介して該シミュレータ本体に結合して使用され、
該外部インタフェース管理モジュールは、シミュレーション実行時に、シミュレーション実行環境に応じて該複数のコンポーネントを使い分けることを特徴とする、シミュレーション装置。
（付記７）  該外部インタフェース管理モジュールは、シミュレーション実行時に、最小限のコンポーネントを選択して該シミュレータ本体に結合して使用することで結合するコンポーネントの最適化を行うことを特徴とする、付記６記載のシミュレーション装置。
（付記８）  該外部インタフェース管理モジュールは、該シミュレーション実行時のコンポーネントの選択は、コンポーネントの負荷情報及び／又は該シミュレータ本体に対するホスト装置の負荷情報に基づいて、動的に行うことを特徴とする、付記７記載のシミュレーション装置。
（付記９）  該外部インタフェース管理モジュールは、未登録のコンポーネントがシミュレーションに必要であると、そのコンポーネントを登録してシミュレータ本体に結合することを特徴とする、付記６〜８のいずれか１項記載のシミュレーション方法。
（付記１０）  該外部インタフェース管理モジュールは、登録済みで削除可能なコンポーネントを検知すると、そのコンポーネントの登録を削除してシミュレータ本体への結合を切断することを特徴とする、付記６〜９のいずれか１項記載のシミュレーション装置。
（付記１１）  コンピュータにソフトウェアシミュレーションを行わせるプログラムであって、
該コンピュータに、シミュレータ機能をコンポーネント化した複数のコンポーネントを、該複数のコンポーネントを管理する外部インタフェース管理モジュールを介してシミュレータ本体に結合して使用させる手順と、
該コンピュータに、シミュレーション実行時に、該外部インタフェース管理モジュールによりシミュレーション実行環境に応じて該複数のコンポーネントを使い分けさせる手順とを含むことを特徴とする、プログラム。
（付記１２）  該コンピュータに、シミュレーション実行時に、該外部インタフェース管理モジュールにより最小限のコンポーネントを選択して該シミュレータ本体に結合して使用することで結合するコンポーネントの最適化を行わせる手順を含むことを特徴とする、付記１１記載のプログラム。
（付記１３）  該コンピュータに、該シミュレーション実行時のコンポーネントの選択を、コンポーネントの負荷情報及び／又は該シミュレータ本体に対するホスト装置の負荷情報に基づいて、該外部インタフェース管理モジュールにより動的に行わせる手順を含むことを特徴とする、付記１２記載のプログラム。
（付記１４）  該コンピュータに、未登録のコンポーネントがシミュレーションに必要であると、該外部インタフェース管理モジュールによりそのコンポーネントを登録してシミュレータ本体に結合させる手順を含むことを特徴とする、付記１１〜１３のいずれか１項記載のプログラム。
（付記１５）  該コンピュータに、該外部インタフェース管理モジュールにより登録済みで削除可能なコンポーネントが検知されると、そのコンポーネントの登録を削除してシミュレータ本体への結合を切断させる手順を含むことを特徴とする、付記１１〜１４のいずれか１項記載のプログラム。
（付記１６）  付記１１〜１６のいずれか１項記載のプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。
【００４６】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【図面の簡単な説明】
【００４７】
【図１】従来のシミュレーション実行環境の一例を説明する図である。
【図２】従来のシミュレーションの一例を説明するフローチャートである。
【図３】本発明が適用されるコンピュータシステムを示す斜視図である。
【図４】コンピュータシステムの本体部内の要部の構成を説明するブロック図である。
【図５】本発明におけるシミュレーション実行環境を説明する図である。
【図６】本発明の一実施例のシミュレーションを説明するフローチャートである。
【図７】シミュレータ管理ダイアログを示す図である。
【図８】コンポーネント削除手順を説明するフローチャートである。
【図９】シミュレータの状態遷移図である。
【符号の説明】
【００４８】
１      シミュレーション実行環境
２      ホストＯＳ
３      シミュレータ
３１      シミュレータ本体
３２      Ｉ／Ｏシミュレーションアドイン部
３３−１，３３−２，３３−３...      コンポーネント
１００      コンピュータシステム
１０２      ディスプレイ
２０１      ＣＰＵ
２０２      メモリ部
３２０      外部Ｉ／Ｆ管理モジュール
【図１】
2007213256.tif 000003
【図２】
2007213256.tif 000004
【図３】
2007213256.tif 000005
【図４】
2007213256.tif 000006
【図５】
2007213256.tif 000007
【図６】
2007213256.tif 000008
【図７】
2007213256.tif 000009
【図８】
2007213256.tif 000010
【図９】
2007213256.tif 000011