(57)【特許請求の範囲】
【請求項１】
エンジンを制御するコントローラの動作確認を行うシミュレータ装置であって、
ホストＯＳ上で前記エンジンを構築するエンジンシミュレータ手段と、
前記ホストＯＳ上で動作する仮想ＰＣ上に前記コントローラを構築するコントローラ手段とを有し、
前記コントローラ手段はシリアル通信とソケット通信とをコンバートするコンバータ手段を有し、前記コントローラが行うシリアル通信と前記エンジンシミュレータ手段が行うソケット通信とをコンバートすることで、ソケット通信を行う前記エンジンシミュレータと前記コントローラに含まれる動作確認対象のモジュールとの通信を行うシミュレータ装置。
【請求項２】
前記コントローラ手段は、前記仮想ＰＣ上のローカルＯＳのカーネルランドに前記シリアル通信を行うシリアルデバイスドライバ手段及び前記ソケット通信を行うネットワークデバイスドライバ手段を有し、前記仮想ＰＣ上のローカルＯＳのユーザランドに前記コンバータ手段を有する請求項１記載のシミュレータ装置。
【請求項３】
前記コントローラ手段は、前記仮想ＰＣ上のローカルＯＳのユーザランドに画像データ処理手段を更に有し、
前記コンバータ手段は、前記シリアルデバイスドライバ手段から受信したデータが画像データであるときに、前記画像データを前記画像データ処理手段に送信し、前記シリアルデバイスドライバ手段から受信したデータが画像データ以外であるときに、前記データをシリアル通信からソケット通信にコンバートして前記ネットワークデバイスドライバ手段に送信する請求項２記載のシミュレータ装置。
【請求項４】
前記シリアルデバイスドライバ手段は、動作確認対象のモジュールと通信を行う実シリアルデバイスドライバ手段と、前記コンバータと通信を行う模擬シリアルデバイスドライバとを有し、前記実シリアルデバイスドライバ手段及び前記模擬シリアルデバイスドライバは、送信バッファ及び受信バッファを利用することでデータを送受信する請求項２記載のシミュレータ装置。
【請求項５】
エンジンを制御するコントローラの動作確認を行うコンピュータを、
ホストＯＳ上で前記エンジンを構築するエンジンシミュレータ手段と、
前記ホストＯＳ上で動作する仮想ＰＣ上に前記コントローラを構築するコントローラ手段として機能させ、
前記コントローラ手段はシリアル通信とソケット通信とをコンバートするコンバータ手段を有し、前記コントローラが行うシリアル通信と前記エンジンシミュレータ手段が行うソケット通信とをコンバートすることで、ソケット通信を行う前記エンジンシミュレータと前記コントローラに含まれる動作確認対象のモジュールとの通信を行うように機能させるシミュレータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンを制御するコントローラの動作確認を行うシミュレータ装置及びシミュレータプログラムに関する。
【背景技術】
【０００２】
近年、装置の開発段階においては、動作確認をシミュレータ装置により実機レス環境で行うことがある（例えば特許文献１，２参照）。
【０００３】
例えば装置の一例としての複合機では、エンジンを制御するコントローラの動作確認を行う場合、図１に示すような実機の構成を考慮して、コントローラ開発向けシミュレータ環境を準備する必要があった。
【０００４】
図１は実機におけるコントローラとエンジンとの一例の構成図である。図１の構成図は実機におけるコントローラハードウェア（Ｈ／Ｗ）１０とエンジンＨ／Ｗ１１とを表している。コントローラＨ／Ｗ１０とエンジンＨ／Ｗ１１とはＰＣＩインターフェース１６及び２０を介してＰＣＩバス２１で接続され、シリアル通信を行っている。
【０００５】
また、コントローラＨ／Ｗ１０には、コントローラソフトウェア（Ｓ／Ｗ）１２が搭載されている。コントローラＳ／Ｗ１２は、アプリ層１３，サービス層１４，ＮｅｔＢＳＤ等のＯＳ１５を含む。サービス層１４には、モジュールの一例としてのＳＲＭ（システムリソースマネージャ）１７が含まれる。ＯＳ１５には、シリアルデバイスドライバ１８が含まれる。エンジンＨ／Ｗ１１には、画像データ処理を行うＡＳＩＣ１９が搭載されている。
【０００６】
例えばＳＲＭ１７はシリアルデバイスドライバ１８を利用することでエンジンＨ／Ｗ１１に搭載されているＡＳＩＣ１９とシリアル通信を行っていた。なお、図１の例では動作確認（デバック）対象がアプリ層１３及びサービス層１４となる。
【０００７】
図２はコントローラ開発向けシミュレータ環境の一例の構成図である。図２に示したコントローラ開発向けシミュレータ環境はコントローラボード３０とエンジンエミュレータボード３１とＰＣ３２とを含む。コントローラボード３０とエンジンエミュレータボード３１とはＰＣＩインターフェース３３及び３４を介してＰＣＩバス４１で接続され、シリアル通信を行っている。エンジンエミュレータボード３１とＰＣ３２とはＮＩＣ（ネットワークインターフェースカード）３６及び３７を介してネットワーク４２で接続され、通信を行っている。
【０００８】
エンジンエミュレータボード３１は画像データ処理を行うＡＳＩＣシミュレータ３５を搭載している。また、ＰＣ３２はＷｉｎｄｏｗｓ（登録商標）などのホストＯＳ３８上でエンジンシミュレータ３９を実行している。エンジンシミュレータ３９はソケット４０を利用することで、ＮＩＣ３７を入出力先としてソケット通信を行っていた。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
図２に示したコントローラ開発向けシミュレータ環境はＰＣ３２の他に、コントローラボード３０及びエンジンエミュレータボード３１が必要である。利便性を考えると、コントローラ開発向けシミュレータ環境は別ボードを必要とせず、ＰＣ３２上で全ての動作確認を行えることが望ましい。
【００１０】
本発明は、上記の点に鑑みなされたもので、エンジンを制御するコントローラの動作確認をＰＣ上で行うことができるシミュレータ装置及びシミュレータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明は、エンジンを制御するコントローラの動作確認を行うシミュレータ装置であって、ホストＯＳ上で前記エンジンを構築するエンジンシミュレータ手段と、前記ホストＯＳ上で動作する仮想ＰＣ上に前記コントローラを構築するコントローラ手段とを有し、前記コントローラ手段はシリアル通信とソケット通信とをコンバートするコンバータ手段を有し、前記コントローラが行うシリアル通信と前記エンジンシミュレータ手段が行うソケット通信とをコンバートすることで、ソケット通信を行う前記エンジンシミュレータと前記コントローラに含まれる動作確認対象のモジュールとの通信を行うことを特徴とする。
【００１２】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１３】
本発明によれば、エンジンを制御するコントローラの動作確認をＰＣ上で行うことができるシミュレータ装置及びシミュレータプログラムを提供可能である。
【図面の簡単な説明】
【００１４】
【図１】実機におけるコントローラとエンジンとの一例の構成図である。
【図２】コントローラ開発向けシミュレータ環境の一例の構成図である。
【図３】コントローラ開発向けシミュレータ環境を実現するシミュレータ装置の一例のハードウェア構成図である。
【図４】ＰＣ上で実現するコントローラ開発向けシミュレータ環境の一例の構成図である。
【図５】コントローラ開発向けシミュレータ環境を実現するシミュレータ装置の一例のソフトウェア構成図である。
【図６】本実施例のシミュレータ装置のシリアル通信及びソケット通信のコンバート処理の一例を表した説明図である。
【図７】本実施例のコントローラ開発向けシミュレータ環境により動作確認を行う複合機の一例の構成図である。
【図８】本実施例のコントローラ開発向けシミュレータ環境により動作確認を行う複合機の一例のハードウェア構成図である。
【発明を実施するための形態】
【００１５】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例ではエンジンを制御するコントローラの一例として複合機に搭載されるものを説明するが、他の装置に搭載されるものであっても構わない。
【００１６】
図３はコントローラ開発向けシミュレータ環境を実現するシミュレータ装置の一例のハードウェア構成図である。図３に示すようにシミュレータ装置５０のハードウェアはＰＣ等の計算機システムにより実現される。シミュレータ装置５０はバス５９で相互に接続されている入力装置５１，出力装置５２，ドライブ装置５３，補助記憶装置５４，主記憶装置５５，演算処理装置５６及びインターフェース装置５７を含む。
【００１７】
入力装置５１はキーボードやマウス等である。入力装置５１は各種信号を入力するために用いられる。出力装置５２はディスプレイ装置等である。出力装置５２は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置５７は、モデム，ＬＡＮカード等である。インターフェース装置５７は、ネットワークに接続するために用いられる。
【００１８】
本実施例のシミュレータプログラムは、シミュレータ装置５０を制御する各種プログラムの少なくとも一部である。シミュレータプログラムは例えば記録媒体５８の配布やネットワークからのダウンロードなどによって提供される。シミュレータプログラムを記録した記録媒体５８はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００１９】
また、シミュレータプログラムを記録した記録媒体５８がドライブ装置５３にセットされると、シミュレータプログラムは記録媒体５８からドライブ装置５３を介して補助記憶装置５４にインストールされる。ネットワークからダウンロードされたシミュレータプログラムはインターフェース装置５７を介して補助記憶装置５４にインストールされる。
【００２０】
補助記憶装置５４はインストールされたシミュレータプログラムを格納すると共に、必要なファイル，データ等を格納する。主記憶装置５５はシミュレータプログラムの起動時に補助記憶装置５４からシミュレータプログラムを読み出して格納する。演算処理装置５６は主記憶装置５５に格納されたシミュレータプログラムに従って、後述するような各種処理を実現している。
【００２１】
図２に示したコントローラ開発向けシミュレータ環境は、シミュレータ装置５０上で全ての動作確認を行わせようとすると、まず、図４のような構成が考えられる。図４はＰＣ上で実現するコントローラ開発向けシミュレータ環境の一例の構成図である。
【００２２】
図４のコントローラ開発向けシミュレータ環境は、コントローラＳ／Ｗ６３を仮想ＰＣ６２上に配置し、仮想ＰＣ６２上のコントローラＳ／Ｗ６３とホストＯＳ６１上のエンジンシミュレータ３９とを通信させる構成である。なお、エンジンシミュレータ３９は使用実績や開発コスト削減などの理由から図２のコントローラ開発向けシミュレータ環境のものを流用することが望まれる。
【００２３】
しかし、図４のコントローラ開発向けシミュレータ環境は、コントローラＳ／Ｗ６３が仮想ＰＣＩインターフェース６７を入出力先としてシリアル通信を行うように作成されており、エンジンシミュレータ３９がソケット４０を利用することでＮＩＣを入出力先としてソケット通信を行うように作成されているため、そのままで通信することができないという問題があった。
【００２４】
また、図４のコントローラ開発向けシミュレータ環境は、図２のコントローラ開発向けシミュレータ環境のエンジンエミュレータボード３１にあったＡＳＩＣシミュレータ３５に該当する箇所が無いため、別途、対応しなければならないという問題があった。
【００２５】
そこで、本実施例のコントローラ開発向けシミュレータ環境では、コントローラＳ／Ｗ６３が行うシリアル通信をソケット通信にコンバートすることで、コントローラＳ／Ｗ６３とエンジンシミュレータ３９との間で通信を行えるようにした。また、本実施例のコントローラ開発向けシミュレータ環境では、コントローラＳ／Ｗ６３に追加可能なＡＳＩＣシミュレータを作成することで、図２のコントローラ開発向けシミュレータ環境のエンジンエミュレータボード３１にあったＡＳＩＣシミュレータ３５に該当する箇所が無いという問題に対応した。
【００２６】
図５は、コントローラ開発向けシミュレータ環境を実現するシミュレータ装置の一例のソフトウェア構成図である。図５のシミュレータ装置５０は、コントローラＳ／Ｗ６３を仮想ＰＣ６２上に配置し、仮想ＰＣ６２上のコントローラＳ／Ｗ６３とホストＯＳ６１上のエンジンシミュレータ３９とを通信させる構成である。
【００２７】
コントローラＳ／Ｗ６３は、アプリ層６４，サービス層６５，ＮｅｔＢＳＤ等のＯＳ６６を含む。サービス層６５には、ＳＲＭ６８，ＡＳＩＣシミュレータ７２，コンバータ７３が含まれる。ＯＳ６６には、実シリアルデバイスドライバ７４，模擬シリアルデバイスドライバ７５，ネットワークデバイスドライバ７６が含まれる。図５のシミュレータ装置５０は、ＰＣ上で実現するため、ＡＳＩＣシミュレータ７２，コンバータ７３，実シリアルデバイスドライバ７４及び模擬シリアルデバイスドライバ７５が、修正又は追加されている。なお、本実施例のシミュレータ装置５０は動作確認（デバック）対象がアプリ層６４及びサービス層６５となる。
【００２８】
例えばＳＲＭ６８は、ＡＳＩＣシミュレータ７２，コンバータ７３，実シリアルデバイスドライバ７４，擬似シリアルデバイスドライバ７５，ネットワークデバイスドライバ７６を利用することで、後述のように、シリアル通信をソケット通信にコンバートしてエンジンシミュレータ３９とソケット通信を行う。
【００２９】
ＳＲＭ６８はエンジンＨ／Ｗ１１に含まれる一または複数のハードウェア資源の管理を行い、例えばサービス層１４の他のモジュールからの獲得要求を調停する。具体的にＳＲＭ６８はハードウェア資源を利用する例えばサービス層１４の他のモジュールからの要求に従って、調停を行い、実行制御する。
【００３０】
図６は本実施例のシミュレータ装置のシリアル通信及びソケット通信のコンバート処理の一例を表した説明図である。図６はＳＲＭ６８からエンジンシミュレータ３９にデータを送信する処理を実線の矢印で示し、エンジンシミュレータ３９からＳＲＭ６８にデータを送信する処理を破線の矢印で示している。
【００３１】
ＳＲＭ６８からエンジンシミュレータ３９にデータを送信する場合は、ステップＳ１において、コンバータ７３が模擬シリアルデバイスドライバ７５のｒｅａｄ（）関数を呼び出し、ｒｅａｄブロックする。ｒｅａｄブロック中、コンバータ７３は送信バッファ８１からデータを取得できない。
【００３２】
ステップＳ２に進み、ＳＲＭ６８は実シリアルデバイスドライバ７４のｗｒｉｔｅ関数を呼び出し、データを書き込む。ステップＳ３に進み、実シリアルデバイスドライバ７４はＳＲＭ６８から書き込まれたデータを送信バッファ８１にキューイングする。ステップＳ４に進み、実シリアルデバイスドライバ７４は模擬シリアルデバイスドライバ７５にコンバータ７３のｒｅａｄブロックを解除させる。
【００３３】
コンバータ７３のｒｅａｄブロックが解除されると、擬似シリアルデバイスドライバ７５は送信バッファ８１からデータを取得し、コンバータ７３にデータを渡す。ステップＳ６に進み、コンバータ７３は取得したデータをソケット通信にコンバートした後、ネットワークデバイスドライバ７６経由でエンジンシミュレータ３９に送信する。ただし、コンバータ７３は取得したデータが画像データである場合、ステップＳ７に進み、画像データをＡＳＩＣシミュレータ７２に渡して画像データ処理を行わせる。
【００３４】
一方、エンジンシミュレータ３９からＳＲＭ６８にデータを送信する場合は、ステップＳ１１において、ＳＲＭ６８が実シリアルデバイスドライバ７４のｒｅａｄ（）関数を呼び出し、ｒｅａｄブロックする。ｒｅａｄブロック中、ＳＲＭ６８は受信バッファ８２からデータを取得できない。
【００３５】
ステップＳ１２に進み、コンバータ７３はネットワークデバイスドライバ７６経由でエンジンシミュレータ３９からデータを受信し、そのデータをシリアル通信にコンバートする。ステップＳ１３に進み、コンバータ７３は模擬シリアルデバイスドライバ７５のｗｒｉｔｅ関数を呼び出し、コンバートしたデータを書き込む。
【００３６】
ステップＳ１４に進み、模擬シリアルデバイスドライバ７５はコンバータ７３から書き込まれたデータを受信バッファ８２にキューイングする。ステップＳ１５に進み、模擬シリアルデバイスドライバ７５は実シリアルデバイスドライバ７４にＳＲＭ６８のｒｅａｄブロックを解除させる。そして、ＳＲＭ６８のｒｅａｄブロックが解除されると、実シリアルデバイスドライバ７４は受信バッファ８２からデータを取得し、ＳＲＭ６８にデータを渡す。
【００３７】
図５及び図６に示した本実施例のシミュレータ装置５０は、デバック対象であるＳＲＭ６８と、ネットワークデバイスドライバ７６とのインターフェースを修正することなくシリアル通信をソケット通信にコンバートすることを特徴としている。このように、本実施例のシミュレータ装置５０はデバック対象に手を入れる（修正する）こと無く、デバック対象とコントローラ開発向けシミュレータ環境とを切り離すことが可能となる。
【００３８】
本実施例のシミュレータ装置５０はネットワーク通信の機構があるシミュレータ環境であれば、デバック対象と異なる環境向けに作られたシミュレータ環境であっても流用することができる利点がある。
【００３９】
また、本実施例のシミュレータ装置５０は修正の可能性が高いコンバータ７３及びＡＳＩＣシミュレータ７２をカーネルランド上でなく、ユーザランド上のアプリケーションとすることで、カーネルランド上にあるよりも修正を容易としている。
【００４０】
例えばコンバータ７３及びＡＳＩＣシミュレータ７２をカーネルランド上とした場合はコンバータ７３及びＡＳＩＣシミュレータ７２を修正する度に、カーネルの修正及びコンパイルが必要となるため、修正の影響範囲が大きくなる。
【００４１】
そこで、本実施例のシミュレータ装置５０はコンバータ７３及びＡＳＩＣシミュレータ７２をカーネルランド上でなくユーザランド上とすることで、コンバータ７３及びＡＳＩＣシミュレータ７２を修正してもカーネルの修正及びコンパイルが不要となるため、修正の影響範囲が小さくなる。
【００４２】
図７は本実施例のコントローラ開発向けシミュレータ環境により動作確認を行う複合機の一例の構成図である。図７の複合機１００は、白黒ラインプリンタ（Ｂ＆Ｗ  ＬＰ）１０１，カラーラインプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２，スキャナ１０３，ファクシミリ１０４，ハードディスク１０５，ネットワークインタフェース１０６及び操作パネル２１０などのハードウェアリソースを有し、又、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００４３】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、ＳＲＭ１２３と、汎用ＯＳ１２１とを有する。
【００４４】
コントロールサービスは複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とを有するように構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数によりアプリケーション１３０から処理要求を受信可能とするＡＰＩ（アプリケーションプログラムインタフェース）を有する。
【００４５】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用ＯＳであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアを、それぞれプロセスとして並列実行する。
【００４６】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、白黒ラインプリンタ１０１，カラーラインプリンタ１０２，スキャナ１０３などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロニクスＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求に従って、調停を行い、実行制御する。
【００４７】
具体的に、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４８】
また、ＳＣＳ１２２のプロセスは、アプリケーション１３０管理、操作パネル２１０の制御、システム画面の表示、ＬＥＤの表示、リソースの管理、割り込みアプリケーションの制御などを行う。また、ＳＣＳ１２２のプロセスは、操作パネル２１０からのキー操作をキーイベントとして取得して、各アプリケーション１３０に送信する。
【００４９】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ１０１、カラーラインプリンタ１０２及びスキャナ１０３等からなるハードウェアリソースのエンジンの制御を行う。また、ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク（ＨＤ）１０５の利用、画像データの圧縮および伸張などを行う。
【００５０】
ＦＣＳ１２７のプロセスは、コントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理される各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷等を行うためのＡＰＩを提供する。
【００５１】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーション１３０に対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーション１３０に振り分け、アプリケーション１３０側から受信したデータをネットワーク側に送信する際の仲介を行う。
【００５２】
アプリケーション１３０はページ記述言語（ＰＤＬ），ＰＣＬ，ポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用のアプリケーションであるコピーアプリ１１２と、ファクシミリ用のアプリケーションであるファックスアプリ１１３と、スキャナ用のアプリケーションであるスキャナアプリ１１４と、ネットワークファイル用のアプリケーションであるネットファイルアプリ１１５とを有している。
【００５３】
図８は、本実施例のコントローラ開発向けシミュレータ環境により動作確認を行う複合機の一例のハードウェア構成図である。複合機１００は、ＣＰＵ２０２、ＳＤＲＡＭ２０３、フラッシュメモリ２０４、ＨＤ２０５、ＳＲＡＭ２０８をＡＳＩＣ２０１に接続したコントローラ２００と、操作パネル２１０と、ファックスコントロールユニット（ＦＣＵ）２２０と、ＵＳＢ  Ｉ／Ｆ２３０と、ＩＥＥＥ１３９４  Ｉ／Ｆ２４０と、エンジン２５０とを含む構成である。
【００５４】
操作パネル２１０はＡＳＩＣ２０１に直接接続される。ＦＣＵ２２０，ＵＳＢ  Ｉ／Ｆ２３０，ＩＥＥＥ１３９４  Ｉ／Ｆ２４０，エンジン２５０は、ＰＣＩバスを介してＡＳＩＣ２０１に接続されている。フラッシュメモリ２０４には、上述の各アプリ、プラットホーム１２０を構成する各コントロールサービスやＳＲＭ１２３の各プログラムが格納されている。操作パネル２１０は、ユーザが複合機１００に対して機能選択などの指示を与える為のものである。操作パネル２１０は、タッチパネルなどの表示部を備えている。
【００５５】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えばシリアル通信及びソケット通信は一例であって、他の通信であってもよい。
【符号の説明】
【００５６】
１０    コントローラハードウェア（Ｈ／Ｗ）
１１    エンジンＨ／Ｗ
１２，６３    コントローラソフトウェア（Ｓ／Ｗ）
１３，６４    アプリ層
１４，６５    サービス層
１５，６６    ＯＳ
１６，２０，３３，３４    ＰＣＩインターフェース
１７，６８    ＳＲＭ（システムリソースマネージャ）
１８，６９    シリアルデバイスドライバ
１９    ＡＳＩＣ
２１，４１    ＰＣＩバス
３０    コントローラボード
３１    エンジンエミュレータボード
３２    ＰＣ
３５，７２    ＡＳＩＣシミュレータ
３６，３７    ＮＩＣ（ネットワークインターフェースカード）
３８，６１    ホストＯＳ
３９    エンジンシミュレータ
４０    ソケット
４２    ネットワーク
５０    シミュレータ装置
５１    入力装置
５２    出力装置
５３    ドライブ装置
５４    補助記憶装置
５５    主記憶装置
５６    演算処理装置
５７    インターフェース装置
５８    記録媒体
５９    バス
６２    仮想ＰＣ
６７    仮想ＰＣＩ
７１    仮想ＮＩＣ
７３    コンバータ
７４    実シリアルデバイスドライバ
７５    模擬シリアルデバイスドライバ
７６    ネットワークデバイスドライバ
８１    送信バッファ
８２    受信バッファ
【先行技術文献】
【特許文献】
【００５７】
【特許文献１】特開平１０−１３３９１４号公報
【特許文献２】特開２００９−４３０７８号公報
【図１】
0005440226.tif 000002
【図２】
0005440226.tif 000003
【図３】
0005440226.tif 000004
【図４】
0005440226.tif 000005
【図５】
0005440226.tif 000006
【図６】
0005440226.tif 000007
【図７】
0005440226.tif 000008
【図８】
0005440226.tif 000009