(57)【要約】【課題】実際にプリンタを接続しなくても、プリンタやＯＳ等を変更したときのアプリケーションプログラムの評価を適切に行うことができる評価システム及びその方法を提供する。【解決手段】アプリケーションプログラムの実行によって発生するジョブに基づいて、プリンタに対する印刷制御と同一の印刷制御をシミュレートするプリントエンジンシミュレータ４１０に対してプリンタの状態を要求し、取得する。一方、当該シミュレータに対して、プリンタの所定の状態を強制的に設定して、当該シミュレータによって強制的に設定されたプリンタの状態を要求する。そして、要求されたプリンタの状態を取得する。その後、アプリケーションプログラムの実行によって取得されたプリンタの状態と、強制的に設定され、要求されたプリンタの状態とが比較される。【選択図】  図７
2004341700.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに対して実行されるアプリケーションプログラムの評価システムであって、
前記プリンタの状態をシミュレートするシミュレーション手段と、
前記アプリケーションプログラムの実行によって発生するジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記シミュレーション手段に対して行う制御手段と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレーション手段によってシミュレートされる前記プリンタの状態を要求する要求手段と、
前記要求手段によって要求された前記プリンタの状態を取得する取得手段と
を備えることを特徴とする評価システム。
【請求項２】
前記シミュレーション手段に対して、前記プリンタの所定の状態を強制的に設定する強制設定手段と、
前記シミュレーション手段によって強制的に設定された前記プリンタの状態を要求する第２の要求手段と、
前記第２の要求手段によって要求された前記プリンタの状態を取得する第２の取得手段と、
前記取得手段によって取得された前記プリンタの状態と、前記第２の取得手段によって取得された前記プリンタの状態とを比較する比較手段と
をさらに備えることを特徴とする請求項１に記載の評価システム。
【請求項３】
プリンタに対して実行されるアプリケーションプログラムを実行する評価装置と、前記プリンタの状態をシミュレートするシミュレータとを備える評価システムであって、
前記評価装置は、
前記アプリケーションプログラムの実行によって発生するジョブを前記シミュレータに投入するジョブ投入手段と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレータがシミュレートする前記プリンタの状態を要求する要求手段と、
前記要求手段によって要求された前記プリンタの状態を前記シミュレータから取得する取得手段とを備え、
前記シミュレータは、
前記プリンタの状態をシミュレートするシミュレーション手段と、
前記ジョブに基づいて前記シミュレーション手段に対して印刷制御を行う制御手段と、
前記イベントに基づいて、前記シミュレーション手段によってシミュレートされる前記プリンタの状態を監視する監視手段と、
前記監視手段によって監視された前記プリンタの状態を前記評価装置に対して通知する通知手段とを備える
ことを特徴とする評価システム。
【請求項４】
前記評価装置が、
前記シミュレーション手段に対して、前記プリンタの所定の状態を強制的に設定する強制設定手段と、
前記シミュレーション手段によって強制的に設定される前記プリンタの状態を要求する第２の要求手段と、
前記第２の要求手段によって要求された前記プリンタの状態を取得する第２の取得手段と、
前記取得手段によって取得された前記プリンタの状態と、前記第２の取得手段によって取得された前記プリンタの状態とを比較する比較手段と
をさらに備えることを特徴とする請求項３に記載の評価システム。
【請求項５】
取得された前記プリンタの状態を表示する表示手段をさらに備えることを特徴とする請求項１から４までのいずれか１項に記載の評価システム。
【請求項６】
前記プリンタの状態が、前記シミュレート手段によってシミュレートされる前記プリンタのステータスコードであることを特徴とする請求項１から５までのいずれか１項に記載の評価システム。
【請求項７】
前記シミュレータが、
前記プリンタの状態をシミュレートする前記シミュレーション手段を備える第１の装置と、
前記ジョブに基づいて前記シミュレーション手段に対して印刷制御を行う前記制御手段、前記イベントに基づいて、前記シミュレーション手段によってシミュレートされる前記プリンタの状態を監視する前記監視手段、及び、前記監視手段によって監視された前記プリンタの状態を前記評価装置に対して通知する前記通知手段を備える第２の装置と
から構成されることを特徴とする請求項３に記載の評価システム。
【請求項８】
前記第１の装置が、
前記ジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記シミュレーション手段に対して行う第２の制御手段と、
前記イベントに基づいて、前記シミュレーション手段によってシミュレートされる前記プリンタの状態を監視する第２の監視手段と
をさらに備えることを特徴とする請求項７に記載の評価システム。
【請求項９】
前記評価装置と前記シミュレータが、互いにネットワークを介して接続されていることを特徴とする請求項３又は４に記載の評価システム。
【請求項１０】
プリンタに対して実行されるアプリケーションプログラムの評価方法であって、
前記アプリケーションプログラムの実行によって発生するジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記プリンタの状態をシミュレートするシミュレータに対して行う制御工程と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレータによってシミュレートされる前記プリンタの状態を要求する第１の要求工程と、
前記第１の要求工程によって要求された前記プリンタの状態を取得する第１の取得工程と
前記シミュレータに対して、前記プリンタの所定の状態を強制的に設定する強制設定工程と、
前記シミュレータによって強制的に設定された前記プリンタの状態を要求する第２の要求工程と、
前記第２の要求工程によって要求された前記プリンタの状態を取得する第２の取得工程と、
前記第１の取得工程によって取得された前記プリンタの状態と、前記第２の取得工程によって取得された前記プリンタの状態とを比較する比較工程と
を有することを特徴とする評価方法。
【請求項１１】
プリンタに対して実行されるアプリケーションプログラムの評価を実行させるコンピュータに、
前記アプリケーションプログラムの実行によって発生するジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記プリンタの状態をシミュレートするシミュレータに対して行う制御手順と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレータによってシミュレートされる前記プリンタの状態を要求する第１の要求手順と、
前記第１の要求手順によって要求された前記プリンタの状態を取得する第１の取得手順と
前記シミュレータに対して、前記プリンタの所定の状態を強制的に設定する強制設定手順と、
前記シミュレータによって強制的に設定された前記プリンタの状態を要求する第２の要求手順と、
前記第２の要求手順によって要求された前記プリンタの状態を取得する第２の取得手順と、
前記第１の取得手順によって取得された前記プリンタの状態と、前記第２の取得手順によって取得された前記プリンタの状態とを比較する比較手順と
を実行させるためのプログラム。
【請求項１２】
請求項１１に記載されたプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して接続可能なプリンタの制御又は監視を行うアプリケーションプログラムを評価する評価システム及びその方法に関する。
【０００２】
【従来の技術】
従来、ネットワーク上に接続されたプリンタにジョブを送るプリンタドライバやプリンタの状態を監視するユーティリティプログラム等のホストコンピュータ上のアプリケーションプログラムを評価する際には、評価対象となるプリンタを実際にネットワーク上に接続し、手動で当該プリンタの設定を変化させたり、ジョブを流して当該プリンタのパネル表示を目視することによって確認することが一般的であった（例えば、特許文献１参照）。
【０００３】
一方で、最近は様々な目的を持ったアプリケーションプログラムが登場してきており、それらは通常、複数の種類のプリンタを対象として機能するものである。すなわち、プリンタに動作させるためのそれらのアプリケーションプログラムは、通常、一種類のプリンタだけではなく、最低でも当該プリンタの一連のシリーズで共通に動くことが望まれている。従って、そのアプリケーションプログラムの評価は、当該シリーズの全てのプリンタに対して行う必要がある。
【０００４】
【特許文献１】
特開平７−１６８６８６号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、従来のアプリケーションプログラムの評価は、前述のように、実際に対象となるプリンタをネットワーク上に接続して行われており、手間がかかるという問題があった。また一方で、アプリケーションプログラムが動作するプラットフォームであるオペレーティングシステム（ＯＳ）の種類やバージョンも増えてきている。従って、さらに全てのＯＳに対しても同様に評価を行う必要がある。すなわち、一つのアプリケーションプログラムをリリースしようとする場合に従来の評価方法では、対応可能な必要分のプリンタを用意して、対応可能なＯＳとプリンタとのすべての組み合わせについて、その評価を一つ一つ手間をかけて手動で行わなければならない。さらに、このような組み合わせ数は、プリンタのシリーズ化やＯＳのバージョンアップ等に伴って、益々増大する方向にある。
【０００６】
本発明は、このような事情を考慮してなされたものであり、実際にプリンタを接続しなくても、プリンタやＯＳ等を変更したときのアプリケーションプログラムの評価を適切に行うことができる評価システム及びその方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明は、プリンタに対して実行されるアプリケーションプログラムの評価システムであって、
前記プリンタの状態をシミュレートするシミュレーション手段と、
前記アプリケーションプログラムの実行によって発生するジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記シミュレーション手段に対して行う制御手段と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレーション手段によってシミュレートされる前記プリンタの状態を要求する要求手段と、
前記要求手段によって要求された前記プリンタの状態を取得する取得手段と
を備えることを特徴とする。
【０００８】
また、本発明に係る上記評価システムは、前記シミュレーション手段に対して、前記プリンタの所定の状態を強制的に設定する強制設定手段と、
前記シミュレーション手段によって強制的に設定された前記プリンタの状態を要求する第２の要求手段と、
前記第２の要求手段によって要求された前記プリンタの状態を取得する第２の取得手段と、
前記取得手段によって取得された前記プリンタの状態と、前記第２の取得手段によって取得された前記プリンタの状態とを比較する比較手段と
をさらに備えることを特徴とする。
【０００９】
さらに、本発明は、プリンタに対して実行されるアプリケーションプログラムの評価方法であって、
前記アプリケーションプログラムの実行によって発生するジョブに基づいて、前記プリンタに対する印刷制御と同一の印刷制御を前記プリンタの状態をシミュレートするシミュレータに対して行う制御工程と、
前記アプリケーションプログラムの実行によって発生するイベントに基づいて、前記シミュレータによってシミュレートされる前記プリンタの状態を要求する第１の要求工程と、
前記第１の要求工程によって要求された前記プリンタの状態を取得する第１の取得工程と
前記シミュレータに対して、前記プリンタの所定の状態を強制的に設定する強制設定工程と、
前記シミュレータによって強制的に設定された前記プリンタの状態を要求する第２の要求工程と、
前記第２の要求工程によって要求された前記プリンタの状態を取得する第２の取得工程と、
前記第１の取得工程によって取得された前記プリンタの状態と、前記第２の取得工程によって取得された前記プリンタの状態とを比較する比較工程と
を有することを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面を参照して、本発明に係るアプリケーションプログラムの評価システム及びその方法の好適な実施形態について詳細に説明する。
【００１１】
＜第１の実施形態＞
図８は、本発明の第１の実施形態に係るアプリケーションプログラムの評価システムの構成を示すブロック図である。図８に示すように、本実施形態に係るアプリケーションプログラムの評価システムは、プリントエンジンに関する各種状況を設定・発生等するシミュレータシステム１０２と、アプリケーションプログラムを評価するためのホストコンピュータとから構成され、それらがネットワーク１０１を介して接続されている。尚、シミュレータシステム１０２とホストコンピュータ２００は、ネットワークに接続せずに直接に接続してもよく、また、２つの装置に具備する機能を１つのコンピュータで実現するようにしてもよい。また、上記ネットワーク上に１又は複数のプリンタを接続して、上記シミュレータシステム１０２とともに当該アプリケーションプログラムの評価を行うようにしてもよい。
【００１２】
図１は、第１の実施形態に係るシミュレータシステム１０２のハードウェア構成図である。図１に示すように、シミュレータシステム１０２は、コントローラ１０３とプリントエンジンシミュレータ１１０とから構成されている。また、コントローラ１０３は、ディスプレイやキーを有するパネル１１１に接続する。パネル１１１は、タッチパネルのようにディスプレイ部分とキー部分が同一であってもよいし、それぞれが別構成のものであってもよい。
【００１３】
コントローラ１０３は、ネットワーク１０１を介してホストコンピュータ２００等からジョブ、プリンタの設定、その他のイベント等を受け取ったり、ホストコンピュータ２００等へプリンタデバイスの状態等を通知したり、パネル１１１に対してメッセージ表示やキー入力等を行うための入出力インタフェース１０４と、システム全体を制御するＣＰＵ１０５と、ＣＰＵ１０５の制御プログラムや文字フォント等の各種データを記憶するＲＯＭ１０６と、ディスプレイリストやビットマップイメージ等の各種データを一時的に記憶するＲＡＭ１０７と、プリントエンジンにビットマップページを転送し制御するエンジンデバイスドライバ１０９とを備え、それらがシステムバス１０８を介して互いに接続されている。一方、プリントエンジンシミュレータ１１０は、印刷を行うための各種プリントエンジン（或いは、プリンタ）をシミュレートするものであり、コントローラ１１０内のエンジンデバイスドライバ１０９と接続されている。
【００１４】
図２は、第１の実施形態に係るシミュレータシステム１０２内のコントローラ１１０内部の細部構成を示すブロック図である。図２に示すように、１２１はホストコンピュータ２００から与えられ、ネットワーク１０１を介して入出力インタフェース１０４から投入されてきたジョブを起動するジョブ起動部、１２２は起動されたジョブによりプリンタにおいて用紙等に印刷するエンジン制御を司るエンジン制御部である。そして、エンジン制御部１２２は、エンジンデバイスドライバ１０９を経由して、実際の各種プリントエンジン又はプリントエンジンシミュレータ１１０を制御する。尚、本実施形態では、プリントエンジンシミュレータ１１０に接続した場合について説明する。
【００１５】
一方、図２において、１２４はプリントエンジンの状態（すなわち、プリントエンジンシミュレータ１１０が発生させた状態、例えば、プリンタのステータスコードや、用紙切れやインク切れ等のエラー状態、その他の警告等が発生した状態。）をエンジンデバイスドライバ１０９経由で監視するエンジン監視部、１２３はエンジン監視部１２４からプリントエンジンの状態に変化があった場合等に外部に通知を行う状態通知部である。すなわち、状態通知部１２３は入力インタフェース１０４経由でパネル１１１や、ネットワーク１０１を介してホストコンピュータ２００に対して当該エンジンの状態の変化等を通知する。
【００１６】
図３は、第１の実施形態に係るプリントエンジンシミュレータ１１０内部の機能構成を示すブロック図である。図３に示すように、プリントエンジンシミュレータ１１０は、デバイスインタフェース１３１、実エンジン制御部１３２、実エンジン監視部１３３及びメカニズムシミュレータ１３４から構成される。
【００１７】
デバイスインタフェース１３１は、前述したコントローラ１０３のエンジンデバイスドライバ１０９経由で制御指示を受け取り、また、プリントエンジンの状態をコントローラ１０３に通知するものである。実エンジン制御部１３２は、各種プリントエンジンのエンジン制御シーケンスを実現するものである。実エンジン監視部１３３は、プリントエンジンの状態を監視するものである。そして、メカニズムシミュレータ１３４は、プリントエンジンのメカニズムをシミュレートするものであり、実エンジン制御部１３２により制御され、実エンジン監視部１３３によりその状態が監視される。また、実エンジン監視部１３３は、デバイスインタフェース１３１経由でコントローラ１０３に対し、メカニズムシミュレータ１３４が発生したプリントエンジンの状態を通知する。
【００１８】
図５は、第１の実施形態におけるホストコンピュータ２００の機能構成を示すブロック図である。本実施形態において、ホストコンピュータ２００は、図５に示すように、ディスプレイやキーボード等を具備するユーザインタフェース２０１に接続されている。また、図５に示すように、ホストコンピュータ２００上では、ネットワーク１０１と接続される入出力インタフェース２０２、アプリケーションプログラム２０２、ジョブ投入ドライバ２０３及びプリントエンジン状態監視アプリケーション２０４が動作する。
【００１９】
次に、図５を用いてホストコンピュータ２００の処理内容について説明する。まず、ユーザがユーザインタフェース２０１から、アプリケーションプログラム２０２を起動する。アプリケーションプログラム２０２が起動してジョブが投入されると、ジョブ投入ドライバ２０３は入出力インタフェース２０５及びネットワーク１０１経由で所定のプリンタにジョブを送る。尚、本実施形態では、シミュレータシステム１０２に当該ジョブが送られることになる。
【００２０】
一方、アプリケーションプログラム２０２からプリントエンジンの状態問い合わせのイベントが発生すると、プリントエンジン状態監視アプリケーション２０４は、入出力インタフェース２０５及びネットワーク１０１経由で、所定のプリンタに問い合わせ（要求）を行う。本実施形態では、上記と同様に、シミュレーションシステム１０２に当該問い合わせを行うことになる。そして、必要な情報がプリンタ（本実施形態では、シミュレーションシステム１０２）から出力されると、ネットワーク１０１及び入出力インタフェース２０５経由で、プリントエンジン状態監視アプリケーション２０４にプリントエンジンの状態等の情報が伝えられる。そして、アプリケーションプログラム２０２は、その結果を表示手段であるユーザインタフェース２０１に表示する。
【００２１】
すなわち、本実施形態に係るアプリケーションプログラムの評価システムは、プリンタに対して実行されるアプリケーションプログラムを実行する評価装置（ホストコンピュータ２００）と、プリンタの状態をシミュレートするシミュレータ（シミュレータシステム１０２）とを備える。そして、当該評価装置は、アプリケーションプログラムの実行によって発生するジョブをシミュレータに投入し、アプリケーションプログラムの実行によって発生するイベントに基づいて、シミュレータがシミュレートするプリンタの状態を要求する要求し、要求されたプリンタの状態をシミュレータから取得する。
【００２２】
次に、図２を用いて、本実施形態に係るコントローラ１０３の処理内容について説明する。まず、ホストコンピュータ２００で投入されたジョブは、ネットワーク１０１及び入出力インタフェース１０４を経由して、シミュレータシステム１０２のコントローラ１０３内のジョブ起動部１２１へ送られる。ジョブ起動部１２１は、コントローラ１０３内においてジョブを作成し、展開処理を行う。その結果、例えば、用紙への印刷要求に関するジョブが発生した場合は、エンジン制御部１２２を制御し、エンジンデバイスドライバ１０９に対して、給紙要求や印刷処理等の印刷制御を実行する。
【００２３】
一方、エンジン監視部１２４は、エンジンデバイスドライバ１０９経由でプリントエンジンの状態（例えば、印刷実行中、ペーパー・ジャム中、アイドル中、用紙交換要求等）を監視する。そして、エンジン監視部１２４は、必要があれば、それらの状態に関する情報を状態通知部１２３に伝え、入出力インタフェース１０４を経由してネットワーク１０１に接続されたホストコンピュータ２００へ通知する。尚、これらの処理におけるコントローラ１０３内部の各部の機能は、実際のプリントエンジンに対するものであっても、プリントエンジンシミュレータ１１０に対するものであっても制御を切り替えることはなく、同様の状態で対応可能である。
【００２４】
次に、図３を用いてプリントエンジンシミュレータ１１０の処理内容について説明する。コントローラ１０３で発生した給紙要求や印刷処理要求は、エンジンデバイスドライバ１０９から、プリントエンジンシミュレータ１１０上のデバイスインタフェース１３１へ伝わる。そして、実エンジン制御部１３２は、デバイスインタフェース１３１を介した要求に従って、実際のエンジンのメカニズムをシミュレートするメカニズムシミュレータ１３４を動作させる。また、コントローラ１０３上からの状態要求についても、エンジンデバイスドライバ１０９から、プリントエンジンシミュレータ１１０上のデバイスインタフェース１３１へ伝わり、当該要求に従って実エンジン監視部１３３はメカニズムシミュレータ１３４の状態を監視する。そして、実エンジン監視部１３３は、デバイスインタフェース１３１経由でコントローラ１０３に対して監視したプリントエンジンの状態を返す。
【００２５】
すなわち、本実施形態における、プリンタに対して実行されるアプリケーションプログラムの評価処理では、プリンタの状態をシミュレートするプリントエンジンシミュレータ１１０に対して、アプリケーションプログラムの実行によって発生するジョブに基づいて、プリンタに対する印刷制御と同一の印刷制御を行う。そして、アプリケーションプログラムの実行によって発生するイベントに基づいて、当該シミュレータによってシミュレートされるプリンタの状態を要求し、要求されたプリンタの状態が取得される。
【００２６】
また、本実施形態に係る評価システムにおいて、シミュレータ（シミュレータシステム１０２）は、プリンタの状態をシミュレートするシミュレーション手段（プリントエンジンシミュレータ１０３）を備え、ジョブに基づいてシミュレーション手段に対して印刷制御を行い、イベントに基づいて、シミュレーション手段によってシミュレートされるプリンタの状態を監視し、監視されたプリンタの状態を評価装置（ホストコンピュータ２００）に対して通知することを特徴とする。
【００２７】
上述したような処理を行うことにより、本物のプリントエンジンを取り替えて接続する必要がなく、プリントエンジンシミュレータ１１０を用意することで、ホストコンピュータ２００上に新たな機能を追加することなく、またコントローラ１０３にも新たな機能を追加することなく、実際の様々なプリンタに対するジョブ投入やプリントエンジンの状態取得を行うことが可能である。従って、ホストコンピュータ２００上のプリンタについてのアプリケーションプログラムの評価を容易に行うことが可能となる。特に、一種類のコントローラと、速度の異なるエンジンや複数の型のフィニッシャとを組み合わせことで、製品シリーズ群を構築している場合には極めて有効である。
【００２８】
また、本物のプリントエンジンに接続する場合であっても、例えば入手が困難な特殊な用紙を使用しなければならない評価等では、各種シミュレータを用いて設定することでホストコンピュータ上のアプリケーションは、実際にその用紙が使われているかのように振る舞うことができる。
【００２９】
以上説明したように、第１の実施形態に係るアプリケーション評価システムでは、本物のプリントエンジンを接続しなくても、ホストコンピュータから実際のプリンタに対するジョブ投入や状態取得と同じ処理を行うことができ、アプリケーションプログラムの評価を容易にすることができる。
【００３０】
＜第２の実施形態＞
以下、図面を参照して、本発明の第２の実施形態について詳細に説明する。尚、上述した第１の実施形態におけるアプリケーションプログラム評価システムの各部と同様の機能についての説明は省略する。
【００３１】
図４は、本発明の第２の実施形態に係る例のプリントエンジンシミュレータ内部の機能構成を示すブロック図である。図４に示すように、第２の実施形態に係るプリントエンジンシミュレータ４１０は、第１の実施形態に係るプリントエンジンシミュレータ１１０を構成する各部に加え、入出力インタフェース１３５、強制エンジン状態設定部１３６及び直接エンジン状態通知部１３７を備える。
【００３２】
ここで、入出力インタフェース１３５は、プリントエンジンシミュレータ４１０が独自に持つネットワーク１０１とのインタフェースであり、コントローラ１０３を介さずに後述するホストコンピュータ４００と通信することが可能である。また、強制エンジン１３６は、メカニズムシミュレータ１３４の状態を強制的に設定する。さらに、直接エンジン状態通知部１３７は、強制エンジン１３６によって強制的に設定されたメカニズムシミュレータ１３４の状態を直接に見て、その状態を入出力インタフェース１３５を介してホストコンピュータ等に出力する。
【００３３】
図６は、第２の実施形態に係るアプリケーションプログラム評価システムを構築するホストコンピュータ４００内部の機能構成を示すブロック図である。図６に示すように、第２の実施形態に係るホストコンピュータ４００は、第１の実施形態に係るホストコンピュータ２００を構成する各部に加え、プリントエンジンシミュレータ設定ドライバ２０７、プリントエンジンシミュレータ状態監視ドライバ２０８、シミュレータ操作プログラム２０６及び自動評価プログラム２０９をさらに具備する。
【００３４】
ここで、プリントエンジンシミュレータ設定ドライバ２０７及びプリントエンジンシミュレータ状態監視ドライバ２０８は、それぞれ、入出力インタフェース２０５からネットワーク経由でプリントエンジンシミュレータ４１０と通信して、メカニズムシミュレータ１３４の設定及び状態の監視を行う。また、シミュレータ操作プログラム２０６は、プリントエンジンシミュレータ設定ドライバ２０７及びプリントエンジンシミュレータ状態監視ドライバ２０８を使用して、プリントエンジンシミュレータ４１０の操作を行う。そして、自動評価プログラム２０９は、アプリケーションプログラム２０２及びシミュレータ操作プログラム２０６を用いて、プリントエンジン状態監視アプリケーションを評価するプログラムである。尚、オペレータはユーザインタフェース２０１を使用して自動評価プログラム２０９を制御する。
【００３５】
次に、図６を用いて、第２の実施形態に係るホストコンピュータ４００の処理内容を説明する。まず、ユーザがユーザインタフェース２０１から、自動評価プログラム２０９を起動する。自動評価プログラム２０９は、アプリケーションプログラム２０２を用いて、評価対象となるジョブ投入ドライバ２０３及びプリントエンジン状態監視アプリケーション２０４を使用する。尚、これらの動作は、上述した第１の実施形態と同様であるため省略する。
【００３６】
また、自動評価プログラム２０９は、プリントエンジンシミュレータ４１０に対する設定を、シミュレータ操作プログラム２０６からプリントエンジンシミュレータ設定ドライバ２０７を用いて、入出力インタフェース２０５及びネットワーク１０１を経由することで実行する。尚、ここでの通信は、評価対象のアプリケーションとは別のプロトコルを用いることになる。
【００３７】
同様にして、自動評価プログラム２０９は、プリントエンジンシミュレータ４１０の状態を、シミュレータ操作プログラム２０６からプリントエンジンシミュレータ状態監視ドライバ２０８を用いて、入出力インタフェース２０５及びネットワーク１０１を経由して得る。尚、このときのコントローラ１０３側の処理内容は上記第１の実施形態と全く同じであるため省略する。
【００３８】
次に、図４を用いてプリントエンジンシミュレータ４１０の処理内容について説明する。尚、コントローラ１０３上で発生した給紙要求や印刷処理要求の処理、コントローラ１０３上からの状態要求等は、上記第１の実施形態のものと同様であるため省略する。プリントエンジンシミュレータ４１０では、ネットワーク１０１経由で設定要求が来ると、入出力インタフェース１３５は強制エンジン状態設定部１３６を用いてメカニズムシミュレータ１３４に状態を設定する。監視インターバル等の設定があれば、エンジン状態通知部１３７はメカニズムシミュレータ１３４の状態を入出力インタフェース１３５経由でネットワーク１０１に通知する。
【００３９】
次に、ホストコンピュータ４００上の自動評価プログラム２０９の処理内容について説明する。図７は、第２の実施形態に係るホストコンピュータ４００上の自動評価プログラム２０９の処理手順を説明するためのフローチャートである。まず、自動評価プログラム２０９が起動されると、オペレータから指示されたテスト項目をピックアップする（ステップＳ１０１）。例えば、テスト項目としては、印刷させる用紙切れの状態を与えた場合に用紙切れの状態が返されるか、インク切れの状態を与えた場合にインク切れの状態が返されるかといった項目が挙げられる。
【００４０】
その結果、一つでもテスト項目がある場合（ステップＳ１０２でＮｏの場合）、その項目の条件に従ってシミュレータ操作プログラム２０８の操作を用いてプリントエンジンシミュレータ４１０に対して強制的に設定を行う（ステップＳ１０３）。ここで、強制的に行われた設定がすぐに反映されるとは限らないので、本実施形態ではシミュレータ操作プログラム２０８を用いて、プリントエンジンシミュレータ４１０が希望する状態に設定されたかどうかを見る（ステップＳ１０４）。尚、この監視は継続される。そして、正しく設定された場合（ステップＳ１０５でＹｅｓの場合）、テスト項目の内容からジョブ投入が必要かどうか調べる（ステップＳ１０６）。その結果、必要である場合、アプリケーションプログラム２０２からジョブ投入ドライバ２０３を用いてジョブを投入する（ステップＳ１０７）。
【００４１】
次に、アプリケーションプログラム２０２からプリンタ状態監視アプリケーション２０４を用いてプリントエンジンの状態を監視する（ステップＳ１０８）。尚、この監視時間はテスト項目によって異なり、それぞれの場合ごとに設定するようにすることができる。そして、当該監視によって得られた状態と、ステップＳ１０４以降継続されている監視状態とを比較する（ステップＳ１０９）。その結果、予想された結果である場合（Ｙｅｓ）、ログに正常終了を記録する（ステップＳ１１０）。一方、予想された結果と異なる場合（Ｎｏ）、ログに異常終了を記録する（ステップＳ１１１）。
【００４２】
ステップＳ１１０、Ｓ１１１においてログに結果を記録した後、ステップＳ１０１に戻って、テスト項目を進めて次のテストへと移る（ステップＳ１０１）。そして、すべてのテスト項目が終了した場合（ステップＳ１０２でＹｅｓの場合）、自動評価プログラム２０９はログを残して処理を終了する。
【００４３】
すなわち、上述した本実施形態に係るアプリケーションプログラムの評価処理では、アプリケーションプログラムの実行によって発生するジョブに基づいて、プリンタに対する印刷制御と同一の印刷制御をシミュレートするプリントエンジンシミュレータ４１０に対して行うものである。そこで、アプリケーションプログラムの実行によって発生するイベントに基づいて、当該シミュレータによってシミュレートされるプリンタの状態を要求する。そして、要求されたプリンタの状態を取得する。一方、当該シミュレータに対して、プリンタの所定の状態を強制的に設定して、当該シミュレータによって強制的に設定されたプリンタの状態を要求する。そして、要求されたプリンタの状態を取得する。その後、アプリケーションプログラムの実行によって取得されたプリンタの状態と、強制的に設定され、要求されたプリンタの状態とが比較される。
【００４４】
上述したような処理を行うことにより、一台のホストコンピュータから評価項目ごとにプリンタの状態設定及び確認をすることができ、加えて、実際のプリンタに対するジョブ投入や状態取得を行うことができる。また、これらのプリンタに設定した状態と、評価対象のアプリケーションプログラムから得たプリンタの状態とを比較することで、評価対象のアプリケーションが正しく動作しているかを検証することができる。さらに、従来のようにホストコンピュータから手動で設定してから評価してもよいが、評価項目を順次バッチファイル等で自動的に設定、実行し、各項目ごとに検証結果をログに記録して後ほど検証することにより、評価の自動化を行うことも可能になる。
【００４５】
以上説明したように、第２の実施形態では、ホストコンピュータからプリントエンジンシミュレータの状態設定及び確認を行うことで、評価対象のアプリケーションが正しく動作しているかを自動的に検証する評価プログラムを作成することもできる。
【００４６】
＜その他の実施形態＞
本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００４７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（又は記憶媒体）を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４８】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４９】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００５０】
【発明の効果】
以上説明したように、本発明によれば、実際にプリンタを接続しなくても、プリンタやＯＳ等を変更したときのアプリケーションプログラムの評価を適切に行うことができる。
【図面の簡単な説明】
【図１】第１の実施形態に係るシミュレータシステム１０２のハードウェア構成図である。
【図２】第１の実施形態に係るシミュレータシステム１０２内のコントローラ１１０内部の細部構成を示すブロック図である。
【図３】第１の実施形態に係るプリントエンジンシミュレータ１１０内部の機能構成を示すブロック図である。
【図４】本発明の第２の実施形態に係る例のプリントエンジンシミュレータ内部の機能構成を示すブロック図である。
【図５】第１の実施形態におけるホストコンピュータ２００の機能構成を示すブロック図である。
【図６】第２の実施形態に係るアプリケーションプログラムの評価システムを構築するホストコンピュータ４００内部の機能構成を示すブロック図である。
【図７】第２の実施形態に係るホストコンピュータ４００上の自動評価プログラム２０９の処理手順を説明するためのフローチャートである。
【図８】本発明の第１の実施形態に係るアプリケーションプログラムの評価システムの構成を示すブロック図である。
【符号の説明】
１０１  ネットワーク
１０２  シミュレータシステム
１０３  コントローラ
１０４、１３５、２０５  入出力インタフェース
１０９  エンジンデバイスコントローラ
１１０、４１０  プリントエンジンシミュレータ
１２１  ジョブ起動部
１２２  エンジン制御部
１２３  状態通知部
１２４  エンジン監視部
１３１  デバイスインタフェース
１３２  実エンジン制御部
１３３  実エンジン監視部
１３４  メカニズムシミュレータ
１３６  強制エンジン状態設定部
１３７  直接エンジン状態通知部
２００  ホストコンピュータ
２０１  ユーザインタフェース
２０２  アプリケーションプログラム
２０３  ジョブ投入ドライバ
２０４  プリントエンジン状態監視アプリケーション
２０６  シミュレータ操作プログラム
２０７  プリントエンジンシミュレータ設定ドライバ
２０８  プリントエンジンシミュレータ状態監視ドライバ
２０９  自動評価プログラム
【図１】
2004341700.tif 000003
【図２】
2004341700.tif 000004
【図３】
2004341700.tif 000005
【図４】
2004341700.tif 000006
【図５】
2004341700.tif 000007
【図６】
2004341700.tif 000008
【図７】
2004341700.tif 000009
【図８】
2004341700.tif 000010