(57)【要約】【課題】実機を用いることなくエンジン及び操作パネルを制御するコントローラの動作確認を行うシミュレータプログラム及び記録媒体を提供することを目的とする。【解決手段】エンジン及び操作パネルを制御するコントローラの動作確認を行う、記憶装置及び演算処理装置を含むコンピュータを、コントローラを構築するコントローラシミュレータ手段２１と、操作パネルを構築する操作パネルシミュレータ手段２２と、エンジンを仮想的に構築し、コントローラシミュレータ手段２１からのリクエストを受け付け、コントローラシミュレータ手段２１へリクエストに応じた応答を行うエンジンシミュレータ手段２０として機能させることにより上記課題を解決する。【選択図】図２
2009043078.tif 000002
【特許請求の範囲】
【請求項１】
エンジン及び操作パネルを制御するコントローラの動作確認を行う、記憶装置及び演算処理装置を含むコンピュータを、
前記コントローラを構築するコントローラシミュレータ手段と、
前記操作パネルを構築する操作パネルシミュレータ手段と、
前記エンジンを仮想的に構築し、前記コントローラシミュレータ手段からのリクエストを受け付け、前記コントローラシミュレータ手段へ前記リクエストに応じた応答を行うエンジンシミュレータ手段と
して機能させるためのシミュレータプログラム。
【請求項２】
前記エンジンシミュレータ手段は、前記コントローラシミュレータ手段からのリクエストに応じた応答が記録された振る舞い記録手段を有し、前記コントローラシミュレータ手段からのリクエストを受け付け、前記リクエストに応じた応答を前記振る舞い記録手段から読み出して、前記コントローラシミュレータ手段へ前記リクエストに応じた応答を行うことを特徴とする請求項１記載のシミュレータプログラム。
【請求項３】
前記エンジンシミュレータ手段は、前記エンジンの状態が設定されている設定記録手段を更に有し、前記エンジンの状態を前記設定記録手段から読み出して、前記リクエストに応じた応答を、前記振る舞い記録手段から読み出した前記リクエストに応じた応答と前記設定記録手段から読み出した前記エンジンの状態とに応じて行うことを特徴とする請求項２記載のシミュレータプログラム。
【請求項４】
前記エンジンシミュレータ手段は、前記コントローラシミュレータ手段からリクエストを受信する受信手段と、
前記リクエストを解析して、その解析結果に基づいた応答要求を行うリクエスト解析手段と、
前記応答要求に基づき、前記コントローラシミュレータ手段への応答を送信する送信手段と
を有することを特徴とする請求項３記載のシミュレータプログラム。
【請求項５】
前記コントローラシミュレータ手段は、前記操作パネルシミュレータ手段及びエンジンシミュレータ手段とのインターフェース手段を有し、前記インターフェース手段を利用して通信可能であることを特徴とする請求項１乃至４何れか一項記載のシミュレータプログラム。
【請求項６】
前記操作パネルシミュレータ手段及びエンジンシミュレータ手段の少なくとも一方が他のコンピュータに搭載されていることを特徴とする請求項５記載のシミュレータプログラム。
【請求項７】
前記コントローラシミュレータ手段は、前記エンジン及び操作パネルを制御する複数のオブジェクトを含むことを特徴とする請求項１乃至６何れか一項記載のシミュレータプログラム。
【請求項８】
前記エンジンは、画像形成に掛かる処理を行うハードウェアであることを特徴とする請求項１乃至７何れか一項記載のシミュレータプログラム。
【請求項９】
請求項１乃至８何れか一項記載のシミュレータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレータプログラム及び記録媒体に係り、特にエンジン及び操作パネルを制御するコントローラの動作確認を行うシミュレータプログラム、そのシミュレータプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば複合機（ＭＦＰ）等のソフトウェア及びハードウェアにより構築される機器のソフトウェアの開発は、オブジェクト単位など、細分化されることが一般的である。このようなソフトウェアの開発では、オブジェクトの動作確認を試作機等の実機により行う必要があった（例えば特許文献１参照）。
【特許文献１】特開２００３−２１６３１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば複合機では、エンジン，操作パネル等のハードウェアを制御するコントローラの動作確認を行う場合、コントローラに含まれるオブジェクトの動作確認を実機により行う必要があった。したがって、複合機におけるソフトウェアの開発では、多くの実機を準備しなければならなかった。
【０００４】
なお、複合機におけるソフトウェアの開発では、オブジェクトの動作確認を行う実機を共有することで準備する実機を少なくすることもできる。しかし、ソフトウェアの開発はオブジェクト単位等で細分化して異なる場所や異なる会社（サードパーティ）で行う場合もある。このような場合は、オブジェクトの動作確認を行う実機を共有することが難しいため、多くの実機を準備しなければオブジェクトの効率的な動作確認ができないという問題があった。このように、ソフトウェアの開発を行う現場では、多くの実機を準備する為の経費が多く掛かっていた。したがって、ソフトウェアの開発を行う現場では、実機を用いることなくオブジェクトの動作確認ができることを望んでいた。
【０００５】
本発明は、上記の点に鑑みなされたもので、実機を用いることなくエンジン及び操作パネルを制御するコントローラの動作確認を行うシミュレータプログラム及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、エンジン及び操作パネルを制御するコントローラの動作確認を行う、記憶装置及び演算処理装置を含むコンピュータを、前記コントローラを構築するコントローラシミュレータ手段と、前記操作パネルを構築する操作パネルシミュレータ手段と、前記エンジンを仮想的に構築し、前記コントローラシミュレータ手段からのリクエストを受け付け、前記コントローラシミュレータ手段へ前記リクエストに応じた応答を行うエンジンシミュレータ手段として機能させるためのシミュレータプログラムであることを特徴とする。
【０００７】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【０００８】
本発明によれば実機を用いることなくエンジン及び操作パネルを制御するコントローラの動作確認を行うシミュレータプログラム及び記録媒体を提供可能である。
【発明を実施するための最良の形態】
【０００９】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではエンジン及び操作パネルを制御するコントローラの一例として複合機に搭載されるものを説明するが、他の機器に搭載されるものであっても構わない。
【００１０】
図１はエンジン及び操作パネルを制御するコントローラが搭載された複合機の一例の構成図である。図１の複合機は、エンジン１０，コントローラ１１及び操作パネル１２を有する構成である。エンジン１０及びコントローラ１１は、ＰＣＩバス１３を介して通信を行う。また、コントローラ１１及び操作パネル１２は、シリアルポート１４を介して通信を行う。
【００１１】
本発明では、図１のような複合機のシミュレーション環境を仮想的にソフトウェアで構築することでコントローラ１１に含まれるオブジェクトの動作確認を、実機を用いることなく行うことができる。
【００１２】
図２は、複合機のシミュレーション環境を仮想的にソフトウェアで構築する統合コントローラシミュレータ（シミュレータ）の一例の構成図である。図２の統合コントローラシミュレータは、エンジンシミュレータ２０，コントローラシミュレータ２１及び操作パネルシミュレータ２２を有する構成である。
【００１３】
エンジンシミュレータ２０及びコントローラシミュレータ２１はソケット２３を介して通信を行う。コントローラシミュレータ２１及び操作パネルシミュレータ２２もソケット２３を介して通信を行う。なお、ソケット２３は、各シミュレータが通信を行う仮想的なインターフェースである。
【００１４】
各シミュレータは、同一のパーソナルコンピュータ（ＰＣ）上に搭載されている必要は無く、例えば図３に示すように、通信可能なネットワーク上に存在していればよい。図３は複合機のシミュレーション環境を仮想的にソフトウェアで構築する統合コントローラシミュレータの他の例の構成図である。
【００１５】
図３の統合コントローラシミュレータは、ＰＣ３０に搭載されたエンジンシミュレータ２０，ＰＣ３１に搭載されたコントローラシミュレータ２１及びＰＣ３２に搭載された操作パネルシミュレータ２２が、ネットワーク３３を介して通信可能に接続されている。各シミュレータが通信可能なネットワーク上に存在している場合、実機を用いることなく実機のシミュレーション環境を仮想的にソフトウェアで構築できる。
【００１６】
なお、統合コントローラシミュレータを実現するプログラムは、例えば記録媒体の配布やネットワークからのダウンロードなどによって提供される。プログラムを記録した記録媒体はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１７】
図４は複合機の一例の構成図である。図４の複合機１００は、白黒ラインプリンタ（Ｂ＆Ｗ  ＬＰ）１０１，カラーラインプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２，スキャナ１０３，ファクシミリ１０４，ハードディスク１０５，ネットワークインタフェース１０６及び操作パネル２１０などのハードウェアリソースを有するとともに、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００１８】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するＳＲＭ（システムリソースマネージャ）１２３と、汎用ＯＳ１２１とを有する。
【００１９】
コントロールサービスは複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とを有するように構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数によりアプリケーション１３０から処理要求を受信可能とするＡＰＩ（アプリケーションプログラムインタフェース）を有する。
【００２０】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用ＯＳであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアを、それぞれプロセスとして並列実行する。
【００２１】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、白黒ラインプリンタ１０１，カラーラインプリンタ１０２，スキャナ１０３などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロニクスＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求に従って、調停を行い、実行制御する。
【００２２】
具体的に、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００２３】
また、ＳＣＳ１２２のプロセスは、アプリケーション１３０管理、操作パネル２１０の制御、システム画面の表示、ＬＥＤの表示、リソースの管理、割り込みアプリケーションの制御などを行う。また、ＳＣＳ１２２のプロセスは、操作パネル２１０からのキー操作をキーイベントとして取得して、各アプリケーション１３０に送信する。
【００２４】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ１０１、カラーラインプリンタ１０２及びスキャナ１０３等からなるハードウェアリソースのエンジンの制御を行う。また、ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク（ＨＤ）１０５の利用、画像データの圧縮および伸張などを行う。
【００２５】
ＦＣＳ１２７のプロセスは、コントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理される各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷等を行うためのＡＰＩを提供する。
【００２６】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーション１３０に対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション１３０に振り分け、アプリケーション１３０側から受信したデータをネットワーク側に送信する際の仲介を行う。
【００２７】
アプリケーション１３０は、ページ記述言語（ＰＤＬ），ＰＣＬ，ポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用のアプリケーションであるコピーアプリ１１２と、ファクシミリ用のアプリケーションであるファックスアプリ１１３と、スキャナ用のアプリケーションであるスキャナアプリ１１４と、ネットワークファイル用のアプリケーションであるネットファイルアプリ１１５とを有している。
【００２８】
プリンタアプリ１１１，コピーアプリ１１２，ファックスアプリ１１３及びスキャナアプリ１１４は、その内部にＯＣＳライブラリ１２６を備えている。すなわち、これらの各アプリのプログラムは、ＯＣＳライブラリ１２６とリンク（結合）した実行可能ファイルとなっている。ここで、ＯＣＳライブラリ１２６は、オペレータ（ユーザ）と本体制御間の情報伝達手段となる操作パネル２１０の制御を行う各種関数を登録したものであり、各アプリがＯＣＳライブラリ１２６に登録されている描画関数を実行することによって、操作パネル２１０の表示部にウィンドウ、ボタン、その他文字、図形などの描画情報を表示するようになっている。
【００２９】
図５は、複合機のハードウェア構成図である。図５に示すように、複合機１００はＣＰＵ２０２、ＳＤＲＡＭ２０３、フラッシュメモリ２０４、ＨＤ２０５、ＳＲＡＭ２０８をＡＳＩＣ２０１に接続したコントローラ２００と、操作パネル２１０と、ファックスコントロールユニット（ＦＣＵ）２２０と、ＵＳＢ  Ｉ／Ｆ２３０と、ＩＥＥＥ１３９４  Ｉ／Ｆ２４０と、エンジン２５０とから構成されている。
【００３０】
操作パネル２１０はＡＳＩＣ２０１に直接接続される。ＦＣＵ２２０，ＵＳＢ  Ｉ／Ｆ２３０，ＩＥＥＥ１３９４  Ｉ／Ｆ２４０，エンジン２５０は、ＰＣＩバスを介してＡＳＩＣ２０１に接続されている。フラッシュメモリ２０４には、上述の各アプリ、プラットホーム１２０を構成する各コントロールサービスやＳＲＭ１２３の各プログラムが格納されている。
【００３１】
操作パネル２１０は、ユーザが複合機１００に対して機能選択などの指示を与える為のものである。操作パネル２１０は、タッチパネルなどの表示部を備えており、この表示部にプリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３及びスキャナアプリ１１４から各機能の選択指示、倍率指定、ソート、ステイプル等の機能選択指示、ＯＫ、キャンセルなどの選択指示のボタンや、ウィンドウ、その他、文字、図形などの描画データがＯＣＳライブラリ１２６経由で表示される。
【００３２】
また、操作パネル２１０の表示部（タッチパネル等）に表示されたボタンなどのキーをユーザが押下する（触れる）ことによって、ユーザが押下したキー操作がＳＣＳ１２２においてキーイベントとして通知される。
【００３３】
（操作パネルシミュレータ）
図６は操作パネルシミュレータの一例の説明図である。図６の操作パネルシミュレータ３１０は、汎用ＯＳ３１６によりプロセスとして実行される。操作パネルシミュレータ３１０は、ＰＣ画面描画・マウス処理部３１２，ｉｔｒｏｎ互換処理部３１４を有する構成である。
【００３４】
ＰＣ画面描画・マウス処理部３１２は、搭載されたＰＣのディスプレイ等の表示装置に画像を描画したり、マウス等の入力装置からの入力信号を受け付け、キーイベントとしてコントローラシミュレータ２１のＳＣＳ３０４に通知したりする。また、ｉｔｒｏｎ互換処理部３１４は、組み込みシステム用リアルタイムＯＳ仕様であるｉｔｒｏｎ互換処理を行う。
【００３５】
図６中、アプリケーション３００，ＳＣＳ３０４及びキー／パネルシミュレータ３０６及びカーネル３０８は、仮想ＰＣの環境でプロセスとして実行される。アプリケーション３００はＯＣＳライブラリ３０２を備えている。アプリケーション３００はＯＣＳライブラリ３０２に登録されている描画関数を実行することによって、ＰＣ画面描画・マウス処理部３１２に、操作パネルシミュレータ３１０が搭載されたＰＣのディスプレイ等の表示装置に画像を描画させる。
【００３６】
操作パネルシミュレータ３１０のＰＣ画面描画・マウス処理部３１２は、操作パネルシミュレータ３１０が搭載されたＰＣのマウス等の入力装置への操作（カーソルの移動やクリックなど）を受け付け、その操作に基づくキーイベントをコントローラシミュレータ２０のキー／パネルシミュレータ３０６に通知する。
【００３７】
キー／パネルシミュレータ３０６は、操作パネルシミュレータ３１０が搭載されたＰＣのマウス等の入力装置への操作に基づくキーイベントを、操作パネル２１０の表示部に表示されたボタンなどのタッチキーや操作パネル２１０に設けられたハードキーが押下されたキーイベントに置き換えて、ＳＣＳ３０４に通知できる。
【００３８】
（コントローラシミュレータ）
図７はコントローラシミュレータの一例の説明図である。図７に示したコントローラシミュレータは、ＳＲＭ３３０が、汎用ＯＳ１２１のエンジンＩ／Ｆドライバ３３４が提供するＲａｐｉコマンドを介してエンジンシミュレータ３３８と接続されている。エンジンシミュレータ３３８はソケット２３を介してエンジン制御アプリケーション３４０と通信を行う。
【００３９】
また、コントローラシミュレータは、ＳＲＭ３３０が、汎用ＯＳ１２１のパネルＩ／Ｆドライバ３３６が提供するＲａｐｉコマンドを介してキー／パネルシミュレータ３０６と接続されている。キー／パネルミュレータ３０６は、ソケット２３を介して操作パネルシミュレータ３１０と通信を行う。
【００４０】
図７では、エンジンシミュレータ３３８，キー／パネルシミュレータ３０６，エンジン制御アプリケーション３４０及び操作パネルシミュレータ３１０が、シミュレート部分となる。また、図７では、アプリケーション３００，ＥＣＳ３２０，ＭＣＳ３２２，ＦＣＳ３２４，ＯＣＳ３２６，ＳＣＳ３２８，ＳＲＭ３３０，汎用ＯＳ３３２が、コントローラシミュレータを構成する。このコントローラシミュレータは実機と同等である。
【００４１】
コントローラシミュレータを構成する各モジュールの開発（設計）者は、自分の開発したオブジェクトを、コントローラシミュレータを構成する各モジュールのうち該当するモジュールと置き換えることにより、図１のような複合機１００のシミュレーション環境を仮想的にソフトウェアで構築することでコントローラ１１に含まれるオブジェクトの動作確認を、実機を用いることなく行うことができる。
【００４２】
（エンジンシミュレータ）
図８はエンジンシミュレータの一例の説明図である。図８のエンジンシミュレータ３３８は仮想ＰＣ３４２の環境でプロセスとして実行される。エンジン制御アプリケーション３４０はエンジン１０の振る舞い（Ｒａｐｉ）を制御するシナリオを振る舞いファイル３４６として管理している。また、エンジン制御アプリケーション３４０はエンジン１０の状態が設定されている設定ファイル３４４を管理している。
【００４３】
エンジン制御アプリケーション３４０が管理している設定ファイル３４４及び振る舞いファイル３４６はソケット通信により仮想ＰＣ３４２のＨＤＤ３４８に転送される。仮想ＰＣ３４２のＨＤＤ３４８には、設定ファイル３４４，振る舞いファイル３４６及び画像ファイル３４７が記録されている。画像ファイル３４７は、ディスプレイ等の表示装置に描画する画像が記録されている。
【００４４】
エンジンシミュレータ３３８は、仮想ＰＣ３４２のＨＤＤ３４８に記録されている設定ファイル３４４，振る舞いファイル３４６及び画像ファイル３４７を用いて、エンジン１０を仮想的に構築する。例えばエンジンシミュレータ３３８は、仮想ＰＣ３４２のＨＤＤ３４８に記録されている設定ファイル３４４，振る舞いファイル３４６及び画像ファイル３４７を用いることにより、複合機１００のジャム等の異常を表す振る舞いを簡単に発生させることができる。
【００４５】
つまり、エンジンシミュレータ３３８はコントローラシミュレータからのコマンド（リクエスト）を受け付け、仮想ＰＣ３４２のＨＤＤ３４８に記録されている設定ファイル３４４，振る舞いファイル３４６及び画像ファイル３４７を用いることにより、コマンドに応じた応答（レスポンス）を行うことができる。
【００４６】
（シーケンス）
図９は、総合コントローラシミュレータの起動時の処理手順を表したシーケンス図である。ステップＳ１では、エンジン制御アプリケーション３４０が起動される。ステップＳ２では、操作パネルシミュレータ３１０が起動される。
【００４７】
ステップＳ３〜Ｓ５では仮想ＰＣの環境で、コンソール（画面）３５４からの指示によりコントローラシミュレータを構成する各モジュールが起動される。図９のシーケンス図では各モジュールのうち、コピーアプリ３５６，ＯＣＳ３２６及びエンジンシミュレータ３３８を表している。
【００４８】
ステップＳ６に進み、エンジン制御アプリケーション３４０が管理している設定ファイル３４４及び振る舞いファイル３４６はソケット通信によりエンジンシミュレータ３３８に転送される。ステップＳ７〜Ｓ９に進み、エンジンシミュレータ３３８，ＯＣＳ３２６及びコピーアプリ３５６は初期処理を行う。
【００４９】
ステップＳ１０に進み、コピーアプリ３５６はＯＣＳ３２６に画像描画指示を行う。ステップＳ１１に進み、ＯＣＳ３２６は、操作パネルシミュレータ３１０に描画情報を指示する。ステップＳ１２に進み、操作パネルシミュレータ３１０は搭載されたＰＣのディスプレイ等の表示装置に例えば「コピーできます」というメッセージを含んだ画像を描画させる。
【００５０】
図１０はエンジンシミュレータの振る舞いファイルに含まれる項目を表した一例の説明図である。図１０は、項目「Ｋｉｎｄ」，「Ｃｏｍｍａｎｄ」，「Ｐａｙｌｏａｄ」，「ＳｏｒｔＮｕｍｂｅｒ」，「ＨｅｘＰａｙｌｏａｄ」，「Ｒｅｓｕｌｔ」を表している。
【００５１】
項目「Ｋｉｎｄ」は、送信，受信の種類を表している。項目「Ｃｏｍｍａｎｄ」はコマンド名を表している。項目「Ｐａｙｌｏａｄ」はコマンドの内容（データ）である文字列を表している。項目「ＳｏｒｔＮｕｍｂｅｒ」はソート番号を表している。項目「ＨｅｘＰａｙｌｏａｄ」はコマンドの内容（データ）であるバイナリを表している。項目「Ｒｅｓｕｌｔ」は結果を表している。
【００５２】
図１１はエンジンシミュレータの振る舞いファイルを表した一例の説明図である。図１１の振る舞いファイルは、図１０の項目を含んだ例である。このように、エンジン制御アプリケーション３４０はエンジン１０の振る舞い（Ｒａｐｉ）を制御するシナリオを振る舞いファイル３４６として管理できる。
【００５３】
図１２は、総合コントローラシミュレータの印刷時の処理手順を表したシーケンス図である。図１２に示した送信スレッド３５０，応答振り分け処理部３５１，メッセージイベント受け付け部３５２，シナリオ応答処理部３５３，受信スレッド３５４は、エンジンシミュレータ３３８に含まれる。なお、応答振り分け処理部３５１はコマンド解析スレッドとして動作する。
【００５４】
ステップＳ２１では、汎用ＯＳ１２１のエンジンＩ／Ｆドライバ３３４が、印刷のコマンドをエンジンシミュレータ３３８の受信スレッド３５４へ送信する。ステップＳ２２に進み、受信スレッド３５４は印刷のコマンドを受信した旨を、メッセージ受け付けとしてメッセージイベント受け付け部３５２に通知する。
【００５５】
ステップＳ２３に進み、メッセージイベント受け付け部３５２は受信した印刷コマンドの応答先を応答振り分け処理部３５１に問い合わせる。ステップＳ２４に進み、応答振り分け処理部３５１は設定ファイル３４４に記録されている情報（例えばエンジン１０の状態など）と、振る舞いファイル３４６に記録されている情報から応答先及び応答するコマンドを判断する。
【００５６】
ステップＳ２５に進み、応答振り分け処理部３５１は、応答先及び応答するコマンドをメッセージイベント受付部３５２に返答する。ステップＳ２６に進み、メッセージイベント受付部３５２は応答先及び応答するコマンドを指定して、受信した印刷のコマンドに対する応答要求をシナリオ応答処理部３５３に対して行う。
【００５７】
ステップＳ２７に進み、シナリオ応答処理部３５３は応答先及び応答するコマンドを指定して、送信スレッド３５０にコマンド送信要求を行う。ステップＳ２８に進み、送信スレッド３５０は応答先を送信先に指定して、応答するコマンドを汎用ＯＳ１２１のエンジンＩ／Ｆドライバ３３４に送信する。
【００５８】
このように、エンジンシミュレータ３３８は、振る舞いファイル３４６として管理しているエンジン１０の振る舞い（Ｒａｐｉ）を制御するシナリオに基づき、コントローラシミュレータ２１側に応答できる。
【００５９】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００６０】
【図１】エンジン及び操作パネルを制御するコントローラが搭載された複合機の一例の構成図である。
【図２】複合機のシミュレーション環境を、仮想的にソフトウェアで構築する統合コントローラシミュレータ（シミュレータ）の一例の構成図である。
【図３】複合機のシミュレーション環境を、仮想的にソフトウェアで構築する統合コントローラシミュレータの他の例の構成図である。
【図４】複合機の一例の構成図である。
【図５】複合機のハードウェア構成図である。
【図６】操作パネルシミュレータの一例の説明図である。
【図７】コントローラシミュレータの一例の説明図である。
【図８】エンジンシミュレータの一例の説明図である。
【図９】統合コントローラシミュレータの起動時の処理を表したシーケンス図である。
【図１０】振る舞いファイルの項目の一例を表した説明図である。
【図１１】振る舞いファイルの内容の一例を表した説明図である。
【図１２】統合コントローラシミュレータのエンジンシミュレータにおける印刷時の処理を表したシーケンス図である。
【符号の説明】
【００６１】
１０    エンジン
１１    コントローラ
１２    操作パネル
１３    ＰＣＩバス
１４    シリアルポート
２０，３３８    エンジンシミュレータ
２１    コントローラシミュレータ
２２，３１０    操作パネルシミュレータ
２３    ソケット
３０〜３２    ＰＣ
３３    ネットワーク
１００    複合機
３００    アプリケーション
３０２    ＯＣＳライブラリ
３０４    ＳＣＳ（システムコントロールサービス）
３０６    キー／パネルシミュレータ
３０８    カーネル
３１０    操作パネルシミュレータ
３１２    ＰＣ画面描画・マウス処理部
３１４    ｉｔｒｏｎ互換処理部
３１６，３３２    汎用ＯＳ
３１８    イーサネット（登録商標）
３３０    ＳＲＭ（システムリソースマネージャ）
３３４    エンジンＩ／Ｆドライバ
３３６    パネルＩ／Ｆドライバ
３４０    エンジン制御アプリケーション
３４４    設定ファイル
３４６    振る舞いファイル
３４７    画像ファイル
３５０    送信スレッド
３５１    応答振り分け処理部
３５２    メッセージイベント受け付け部
３５３    シナリオ応答処理部
３５４    受信スレッド
３５４    コンソール
３５６    コピーアプリ
【図１】
2009043078.tif 000003
【図２】
2009043078.tif 000004
【図３】
2009043078.tif 000005
【図４】
2009043078.tif 000006
【図５】
2009043078.tif 000007
【図６】
2009043078.tif 000008
【図７】
2009043078.tif 000009
【図８】
2009043078.tif 000010
【図９】
2009043078.tif 000011
【図１０】
2009043078.tif 000012
【図１１】
2009043078.tif 000013
【図１２】
2009043078.tif 000014