(57)【特許請求の範囲】
【請求項１】
組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置であって、
自己が前記組込対象機器上で動作しているか否かを判別し、前記組込対象機器上で動作していない場合は、通信ラインを介して接続される外部の組込対象機器を検索し、前記アプリケーションプログラムにより通信がなされる場合に、自己が前記組込対象機器上で動作していれば自己を通信対象とし、自己が前記組込対象機器上で動作していない場合は、前記検索した外部の組込対象機器を通信対象とする判別を行う通信対象判別部と、
前記判別の結果に基づいて前記通信対象が自己である場合には、対応する処理を自己内で実行する処理実行部と、
前記判別の結果に基づいて前記通信対象が通信ラインを介して接続される外部の組込対象機器である場合には、前記外部の組込対象機器に対する通信を仲介する通信仲介部と、
を備えたことを特徴とする情報処理装置
【請求項２】
請求項１に記載の情報処理装置において、
通信先としての前記外部の機器の通信アドレスを更新可能に記憶する通信アドレス記憶部を備え、
前記通信仲介部は、前記通信アドレス記憶部の記憶内容を参照して前記仲介を行うことを特徴とする情報処理装置。
【請求項３】
請求項１または請求項２に記載の情報処理装置において、
通信先としての前記外部の機器の通信アドレスを前記通信ラインを介して収集する通信アドレス収集部と、
収集された前記外部の機器の通信アドレスのうちから、外部からの指示に対応する通信アドレスを選択する通信アドレス選択部と、を備え、
前記通信仲介部は、前記選択された通信アドレスを用いて前記仲介を行うことを特徴とする情報処理装置。
【請求項４】
請求項３記載の情報処理装置において、
前記収集した通信アドレスに対応する外部の機器を視覚的にユーザに提示する通信先提示部と、
前記ユーザが前記指示を入力するための指示入力部と、
を備えたことを特徴とする情報処理装置。
【請求項５】
組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置の制御方法であって、
自己が前記組込対象機器上で動作しているか否かを判別し、前記組込対象機器上で動作していない場合は、通信ラインを介して接続される外部の組込対象機器を検索し、前記アプリケーションプログラムにより通信がなされる場合に、自己が前記組込対象機器上で動作していれば自己を通信対象とし、自己が前記組込対象機器上で動作していない場合は、前記検索した外部の組込対象機器を通信対象とする判別を行う通信対象判別過程と、
前記判別の結果に基づいて前記通信対象が自己である場合には、対応する処理を自己内で実行する処理実行過程と、
前記判別の結果に基づいて前記通信対象が通信ラインを介して接続される外部の組込対象機器である場合には、前記外部の組込対象機器に対する通信を仲介する通信仲介過程と、
を備えたことを特徴とする情報処理装置の制御方法。
【請求項６】
組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置をコンピュータにより制御するための制御プログラムであって、
自己が前記組込対象機器上で動作しているか否かを判別し、前記組込対象機器上で動作していない場合は、通信ラインを介して接続される外部の組込対象機器を検索し、前記アプリケーションプログラムにより通信がなされる場合に、自己が前記組込対象機器上で動作していれば自己を通信対象とし、自己が前記組込対象機器上で動作していない場合は、前記検索した外部の組込対象機器を通信対象とする判別の処理を実行させ、
前記判別の結果に基づいて前記通信対象が自己である場合には、対応する処理を自己内で実行させ、
前記判別の結果に基づいて前記通信対象が前記通信ラインを介して接続される外部の組込対象機器である場合には、前記外部の組込対象機器に対する通信を仲介させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法および制御プログラムに係り、特にプリンタなどの機器に組み込まれて動作するアプリケーションの開発時および組込時の制御技術に関する。
【背景技術】
【０００２】
従来より、プリンタなどの各種機器に組み込まれて動作するアプリケーションプログラム（以下、単にアプリケーションという。）が知られている。
このようなアプリケーションを開発する際には、ワークステーションやパーソナルコンピュータに組込対象の機器（以下、組込対象機器という。）を接続して、ワークステーションやパーソナルコンピュータ上で行うのが一般的である。
このような開発環境において、アプリケーションを組込対象機器に組み込んだ際に当該組込対象機器との通信処理を行う処理部分の試験については、ワークステーションやパーソナルコンピュータ上で行うことはできず、実際に組込対象機器にアプリケーションを組み込んだ状態で試験する必要があった。
しかしながら、上記従来の手法によれば、開発途中のアプリケーションを組込対象機器に実際に組み込む処理が発生するとともに、動作状態をモニタリングするのも簡単ではなく、開発効率が悪いという問題点があった。
これを解決すべく、特許文献１記載の技術は、ワークステーションやパーソナルコンピュータ上でエミュレータを実装し、擬似的に組込対象機器に組み込んだ状態を実現することにより開発効率の向上を図っている。
【特許文献１】特開２００４−１８５５９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、エミュレータは、実際の組込機器の動作を再現することが望まれるが、現実的には、実際の組込対象機器と全く同一の動作を行わせるエミュレータを作成することは困難であり、特に組込対象機器の動作状態によって動的に変化するＭＩＢ（Management Information Base）の値などを再現することは困難であった。
特にエミュレータは、組込対象機器毎に作成する必要があり、アプリケーションが複数の組込対象機器に対応可能であるとしても、当該複数の組込対象機器毎に作成する必要があり、さらに組込対象機器のモデルチェンジ、ファームウェアのアップデートの度にデバイスエミュレータも更新しなければならず、メンテナンスやバージョンアップに多大なコストを要してしまうという問題点があった。
そこで、本発明の目的は、エミュレータを用いることなく、ワークステーションやパーソナルコンピュータ等の開発環境上で、組込対象機器に組み込んだ場合と同様の開発が行えるとともに、容易に組込対象機器に組み込むことが可能なアプリケーションの処理を行う情報処理装置、制御方法および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置であって、前記アプリケーションプログラムにより通信がなされた場合に、通信対象が自己であるのか、通信ラインを介して接続される外部の機器であるのかを判別する通信対象判別部と、前記判別の結果に基づいて前記アプリケーションプログラムの通信対象が自己である場合には、対応する処理を自己内で実行する処理実行部と、前記判別の結果に基づいて前記アプリケーションプログラムの通信対象が通信ラインを介して接続される外部の機器である場合には、前記外部の機器に対する通信を仲介する通信仲介部と、を備えたことを特徴としている。
上記構成によれば、通信対象判別部は、アプリケーションプログラムにより通信がなされた場合に、通信対象が自己であるのか、通信ラインを介して接続される外部の機器であるのかを判別する。
処理実行部は、前記判別の結果に基づいて前記アプリケーションプログラムの通信対象が自己である場合には、対応する処理を自己内で実行する。
通信仲介部は、判別の結果に基づいてアプリケーションプログラムの通信対象が通信ラインを介して接続される外部の機器である場合には、外部の機器に対する通信を仲介する。
これにより、コストのかかるエミュレータを用意することなく、開発環境上で対象機器に組み込んだ場合と同様の開発を行うことができる。
【０００５】
また、組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置であって、前記アプリケーションプログラムの通信を受けて、対応する処理を自己内で実行する処理実行部、あるいは、通信ラインを介して接続される外部の機器に対する通信を仲介する通信仲介部のうち、いずれか一方が排他的に接続可能に構成された通信処理部を備えたことを特徴としている。
これによれば、リソースの少ない環境においても、最低限必要な手段のみで自己内における実行あるいは仲介を実行することができ、組込対象機器に組み込んだ場合と同様の開発を行うことができる。
【０００６】
これらの場合において、通信先としての前記外部の機器の通信アドレスを更新可能に記憶する通信アドレス記憶部を備え、前記通信仲介部は、前記通信アドレス記憶部の記憶内容を参照して前記仲介を行うようにしてもよい。
また、通信先としての前記外部の機器の通信アドレスを前記通信ラインを介して収集する通信アドレス収集部と、収集された前記外部の機器の通信アドレスのうちから、外部からの指示に対応する通信アドレスを選択する通信アドレス選択部と、を備え、前記通信仲介部は、前記選択された通信アドレスを用いて前記仲介を行うようにしてもよい。
さらに、前記収集した通信アドレスに対応する外部の機器を視覚的にユーザに提示する通信先提示部と、前記ユーザが前記指示を入力するための指示入力部と、を備えるようにしてもよい。
これらによれば、外部の機器に対する仲介先を容易に変更でき、より効率よく対象機器に組み込んだ場合と同様の開発を行うことができる。
【０００７】
また、組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置の制御方法であって、前記アプリケーションプログラムにより通信がなされた場合に、通信対象が自己であるのか、通信ラインを介して接続される外部の機器であるのかを判別する通信対象判別過程と、前記判別の結果に基づいて前記アプリケーションプログラムの通信対象が自己である場合には、対応する処理を自己内で実行する処理実行過程と、前記判別の結果に基づいて前記アプリケーションプログラムの通信対象が通信ラインを介して接続される外部の機器である場合には、前記外部の機器に対する通信を仲介する通信仲介過程と、を備えたことを特徴としている。
これにより、コストのかかるエミュレータを用意することなく、開発環境上で対象機器に組み込んだ場合と同様の開発を行うことができる。
【０００８】
また、組込対象機器に組み込まれて動作するアプリケーションプログラムの処理を行うための情報処理装置の制御方法であって、前記アプリケーションプログラムの通信を受けて、対応する処理を自己内で実行する処理実行過程、あるいは、通信ラインを介して接続される外部の機器に対する通信を仲介する通信仲介過程のうち、いずれか一方を排他的に行うことを特徴としている。
これによれば、リソースの少ない環境においても、最低限必要な手段のみで自己内における実行あるいは仲介を実行することができ、組込対象機器に組み込んだ場合と同様の開発を行うことができる。
【０００９】
また、通信ラインに接続可能な情報処理装置をコンピュータにより制御するための制御プログラムであって、通信対象が当該情報処理装置であるのか、通信ラインを介して接続される外部の機器であるのかを判別させ、前記判別の結果に基づいて前記通信対象が自己である場合には、対応する処理を自己内で実行させ、前記判別の結果に基づいて前記通信対象が前記通信ラインを介して接続される外部の機器である場合には、前記外部の機器に対する通信を仲介させる、ことを特徴としている。
これにより、コストのかかるエミュレータを用意することなく、開発環境上で対象機器に組み込んだ場合と同様の開発を行うことができる。
【００１０】
また、対応する処理を自己内で実行する処理実行部、あるいは、通信ラインを介して接続される外部の機器に対する通信を仲介する通信仲介部のいずれか一方を備えるとともに、通信ラインに接続可能な情報処理装置をコンピュータにより制御するための制御プログラムであって、アプリケーションプログラムの通信を受けて、前記処理実行部に対応する処理を実行させ、あるいは、前記通信仲介部に前記通信の仲介を行わせることを特徴としている。
これによれば、リソースの少ない環境においても、最低限必要な手段のみで自己内における実行あるいは仲介を実行することができ、組込対象機器に組み込んだ場合と同様の開発を行うことができる。
【発明を実施するための最良の形態】
【００１１】
次に本発明の好適な実施の形態について図面を参照して説明する。
図１は実施形態のアプリケーション開発システムの概要構成ブロック図である。
以下の説明においては、組込対象機器としてプリンタを用いる場合について説明する。
アプリケーション開発システム１０は、ハードウェア的には、アプリケーション開発用パーソナルコンピュータ１１と、アプリケーションを実際に動作させようとするデバイスであるプリンタ１２と、パーソナルコンピュータ１１とプリンタ１２とを結ぶ通信ケーブル（あるいはＬＡＮ）１３と、を備えている。
【００１２】
この場合において、開発対象のアプリケーションとしては、正規のユーザによる印字出力であるか否かを判別するための認証アプリケーション、複数のプリンタで処理を分散（例えば、１００部の印刷を５台のプリンタで２０部ずつ印刷させる等）して行わせるクラスタプリント（分散印刷）アプリケーション、印刷対象の画像に対して処理を行う画像処理アプリケーション、プリンタ１１のステータスを管理サーバ、あるいは課金サーバなどに通知したり、メンテナンスや消耗品補充のためにサービス会社に通知するなどの状態管理アプリケーションなどがあげられる。
パーソナルコンピュータ１１は、各種情報を表示するためのディスプレイ１４と、開発者であるユーザが各種情報を入力するためのキーボードなどの入力装置１５と、開発対象のアプリケーション１６が動作するパーソナルコンピュータ本体１８と、を備えている。
【００１３】
図２は、パーソナルコンピュータ本体の概要構成ブロック図である。
パーソナルコンピュータ本体１８は、パーソナルコンピュータ本体１８全体を制御するためのＣＰＵ２１と、各種制御プログラムを予め記憶したＲＯＭ２２と、アプリケーションを含む各種データを一時的に記憶するＲＡＭ２３と、入力装置１５との間のインタフェース動作を行う入力インタフェース（Ｉ／Ｆ）２４と、ディスプレイ１４において各種表示を行うべくインタフェース動作を行う表示インタフェース（Ｉ／Ｆ）２５と、大容量データを記憶するためのハードディスクなどに代表される（外部）記憶装置２６と、通信ケーブル（あるいはＬＡＮ）１３を介した外部との通信におけるインタフェース動作を行う通信インタフェース（Ｉ／Ｆ）２７と、上述したパーソナルコンピュータ本体１８の各構成要素２１〜２７間を通信可能に接続するバス２８と、を備えている。
【００１４】
図３は、プリンタの概要構成ブロック図である。
プリンタ１２は、プリンタ１２全体を制御するためのＣＰＵ３１と、各種制御プログラムを予め記憶したＲＯＭ３２と、アプリケーションを含む各種データを一時的に記憶するＲＡＭ３３と、通信ケーブル（あるいはＬＡＮ）１３を介した外部との通信におけるインタフェース動作あるいは実際の印刷を行う印刷機構３５との通信におけるインタフェース動作を行う通信インタフェース（Ｉ／Ｆ）３４と、上述したＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３あるいは通信インタフェース３４間を通信可能に接続するバス３６と、を備えている。
【００１５】
図４は、アプリケーション開発中のアプリケーション開発システムの機能構成ブロック図である。
パーソナルコンピュータ本体１８は、開発対象のアプリケーション１６を実行するためのプログラム実行部１８Ａを備えている。
開発対象のアプリケーション１６は、アプリケーションの本来の機能（印刷制御など）を実現するアプリケーション本体４１と、アプリケーション１６と機器（本実施形態ではパーソナルコンピュータ本体１８およびプリンタ１２）との間の通信処理を行う自己通信部４２と、を備えている。
【００１６】
自己通信部４２は、通信ケーブル１３を介して接続されているプリンタを探索し、探索されたプリンタの通信アドレス（ＩＰアドレスなど）を取得するプリンタ探索部４３と、プリンタ探索部４３により探索されたプリンタをユーザが選択可能にディスプレイ１４に表示する探索結果表示部４４と、入力装置１５からの入力に基づいて実際に通信を行うプリンタを選択するプリンタ選択部４５と、プリンタ選択部４５により選択されたプリンタの通信アドレスを通信のアクセス先として設定するアクセス先設定部４６と、を備えている。
一方、プリンタ１２は、パーソナルコンピュータ本体１８の自己通信部４２との間で通信ケーブル１３を介して通信を行う通信部５１と、動作状態に応じてＭＩＢの値を更新しつつ格納するＭＩＢ記憶部５２と、上述したプリンタ機構３５を備えている。
【００１７】
次に実施形態の動作を説明する。
以下の説明においては、アプリケーションは、Ｊａｖａ（登録商標）で作成されているものとする。
この場合において、自己通信部４２は、Ｊａｖａ（登録商標）におけるクラスとして実現されており、例えば、「printerClass」という名前でプリンタ１２へのアクセスを司るクラスを用意し、インタフェースとして、「印刷実行」、「指定したオブジェクトＩＤのＭＩＢ値の取得」および「指定したオブジェクトＩＤのＭＩＢ値への指定値の書き込み」を行うようにし、アプリケーション本体４１から利用する場合には、「printerClass」という名前のクラスを呼び出して、所望のデータを印刷する「印刷実行」をさせ、「指定したオブジェクトＩＤのＭＩＢ値の取得」を行わせて、所定の変数に代入させ、「指定したオブジェクトＩＤのＭＩＢ値への指定値の書き込み」を行わせて、所定の文字列を書き込ませるようにする。
【００１８】
図５は、アプリケーションの処理フローチャートである。
アプリケーション１６は、実行されると、自己通信部４２が自己の動作環境をチェックする（ステップＳ１１）。
続いて自己通信部４２は、ステップＳ１１のチェック結果に基づいて、自己がプリンタ１２上で動作しているか否かを判別する（ステップＳ１２）。
この場合においては、図１に示すように、パーソナルコンピュータ本体１８上で動作しているので（ステップＳ１２；Ｎｏ）、プリンタ探索部４３が通信ケーブル１３を介して接続されているプリンタを探索し、探索されたプリンタの通信アドレス（ＩＰアドレスなど）を取得する（ステップＳ１３）。
【００１９】
図６は、プリンタ探索時の処理フローチャートである。
まず、プリンタ探索部４３は、ブロードキャストにより、ｐｉｎｇコマンドを送信する（ステップＳ２１）。
続いてプリンタ探索部４３は、ｐｉｎｇコマンドに応答した機器（の通信アドレス）に対してＳＮＭＰ（Simple Network Management Protocol）により機器名の取得コマンドを送信する（ステップＳ２２）。
そしてプリンタ探索部４３は、機器名の取得コマンドに対応する応答の内容を判別し、機器名がプリンタのものである場合には、機器名および通信アドレスをリストに記録する（ステップＳ２３）。
続いて探索結果表示部４４は、プリンタ探索部４３により探索されたプリンタをユーザが選択可能にディスプレイ１４の表示画面１４Ａに表示する。
【００２０】
図７は、探索されたプリンタの選択画面の一例の説明図である。
図７に示すように、ディスプレイ１４の表示画面１４Ａには、プリンタのアイコンＩ1〜Ｉ5とともに、通信アドレスが表示される。これにより、ユーザである開発者はいずれかのアイコン、ひいては、アイコンに対応するプリンタを選択した上で、決定ボタンＢ１をクリックすることにより、選択指示の入力を行うこととなる。なお、キャンセルボタンＢ２をクリックすることにより、プリンタの選択が解除される。
この状態で、ユーザである開発者が入力装置１５から選択指示の入力を行うと、プリンタ選択部が実際に通信を行うプリンタを選択し、アクセス先設定部４６は、プリンタ選択部４５により選択されたプリンタの通信アドレスを通信のアクセス先として設定する（ステップＳ１５）。
【００２１】
続いて、自己通信部４２は、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出されたか否かを判別する（ステップＳ１７）。
ステップＳ１７の判別において、未だアプリケーション本体４１からプリンタ１２へのアクセスが呼び出されていない場合には（ステップＳ１７；Ｎｏ）、待機状態となる。
ステップＳ１７の判別において、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出された場合には（ステップＳ１７；Ｙｅｓ）、設定された通信アドレスのプリンタ１２に対して通信ケーブル１３を介してプリンタアクセスを実施し、処理を終了する（ステップＳ１８）。
【００２２】
図８は、プリンタアクセス時のプリンタの処理フローチャートである。
プリンタ１２のＣＰＵ３１は、通信部５１を構成する通信インタフェース３４を介して印刷データを受信したか否かを判別する（ステップＳ３１）。
ステップＳ３１の判別において、印刷データを受信していない場合には（ステップＳ３１；Ｎｏ）、処理をステップＳ３３に移行する。
ステップＳ３１の判別において、印刷データを受信した場合には（ステップＳ３１；Ｙｅｓ）、印刷機構３５を制御して印刷を実行する（ステップＳ３２）。
続いてプリンタ１２のＣＰＵ３１は、通信部５１を構成する通信インタフェース３４を介してＭＩＢ情報へのアクセスコマンドを受信したか否かを判別する（ステップＳ３３）。
ステップＳ３３の判別において、ＭＩＢ情報へのアクセスコマンドを受信していない場合には（ステップＳ３３；Ｎｏ）、処理を終了する。
ステップＳ３３の判別において、ＭＩＢ情報へのアクセスコマンドを受信した場合には（ステップＳ３３；Ｙｅｓ）、ＭＩＢ記憶部５２を制御してＭＩＢ情報（値）の提供またはＭＩＢ情報（値）の変更を実施し（ステップＳ３４）、処理を終了する。
【００２３】
図９は、開発中のアプリケーションをプリンタ１２に組み込んで動作させる場合の説明図である。また、図１０は、開発中のアプリケーションをプリンタに組み込んだ場合の機能ブロック図である。
以上の説明は、開発中のアプリケーションがパーソナルコンピュータ本体１８上で動作している場合であったが、図９に示すように開発中のアプリケーションをプリンタ１２に組み込んで動作させる場合について説明する。
この場合においても、図１０に示すように、アプリケーション１６およびプリンタ１２の基本構成は、図４で示した場合と同様になっている。
【００２４】
次に動作を図５を参照して説明する。
アプリケーション１６は、実行されると、自己通信部４２が自己の動作環境をチェックする（ステップＳ１１）。
続いて自己通信部４２は、ステップＳ１１のチェック結果に基づいて、自己がプリンタ１２上で動作しているか否かを判別する（ステップＳ１２）。
この場合においては、図９に示すように、プリンタ１２上で動作しているので（ステップＳ１２；Ｙｅｓ）、localhost、すなわち、プリンタ１２自身を通信のアクセス先として設定する（ステップＳ１６）。
続いて、自己通信部４２は、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出されたか否かを判別する（ステップＳ１７）。
ステップＳ１７の判別において、未だアプリケーション本体４１からプリンタ１２へのアクセスが呼び出されていない場合には（ステップＳ１７；Ｎｏ）、待機状態となる。
ステップＳ１７の判別において、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出された場合には（ステップＳ１７；Ｙｅｓ）、設定されたlocalhost、すなわち、プリンタ１２自身に対してプリンタアクセスを実施し、処理を終了する（ステップＳ１８）。
【００２５】
以上の説明のように、本実施形態によれば、アプリケーション１６は、自己が開発環境であるパーソナルコンピュータ本体１８上で動作しているのか、プリンタ１２に組み込まれて動作しているのかを自動的に判断して、アクセス先アドレスを自動的に設定してプリンタアクセスを実施することとなるので、開発者であるユーザは、動作環境を意識することなく開発が行え、開発効率の向上を図ることができる。
【００２６】
以上の説明は、アプリケーション１６が動作環境を自動的に判別するものであったが、上述した自己通信部４２のみをパーソナルコンピュータ本体１８用のものと、プリンタ１２組込用のものとをモジュールとして用意しておき、当該モジュールのみを変更することによりアプリケーション本体４１を共通化した状態で開発を行え、開発効率を向上させることができる。
この場合においては、上述した実施形態と異なり、プリンタ１２に組み込む場合は、自己通信部４２に、図４に示したプリンタ探索部４３、探索結果表示部４４、プリンタ選択部４５およびアクセス先設定部４６を組み込む必要はない。すなわち、通信先として常にlocalhost（プリンタ１２自身）を設定しておけばよい。
【００２７】
図１１は、パーソナルコンピュータ本体用のアプリケーションの処理フローチャートである。
この場合においては、予め自己通信部４２として、パーソナルコンピュータ本体１８用のもの（図４参照）を登録しておく（ステップＳ４１）。
これにより、自己通信部は、図５のステップＳ１３〜Ｓ１５と同様の処理を行って、アクセス先設定部４６は、プリンタ選択部４５により選択されたプリンタの通信アドレスを通信のアクセス先として設定する（ステップＳ４２）。
続いて、自己通信部４２は、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出されたか否かを判別する（ステップＳ４３）。
ステップＳ４３の判別において、未だアプリケーション本体４１からプリンタ１２へのアクセスが呼び出されていない場合には（ステップＳ４３；Ｎｏ）、待機状態となる。
ステップＳ４３７の判別において、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出された場合には（ステップＳ４３７；Ｙｅｓ）、設定された通信アドレスのプリンタ１２に対して通信ケーブル１３を介してプリンタアクセスを実施し、処理を終了する（ステップＳ４４）。
【００２８】
図１２は、プリンタ組込用のアプリケーションの処理フローチャートである。
この場合においては、予め自己通信部４２として、上述したプリンタ探索部４３、探索結果表示部４４、プリンタ選択部４５およびアクセス先設定部４６を組み込んでいないプリンタ組込用のものを登録しておく（ステップＳ５１）。
これにより、自己通信部４２は、通信のアクセス先として、localhost、すなわち、プリンタ１２自身が設定されているので、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出されたか否かを判別する（ステップＳ５２）。
ステップＳ５２の判別において、未だアプリケーション本体４１からプリンタ１２へのアクセスが呼び出されていない場合には（ステップＳ５２；Ｎｏ）、待機状態となる。
ステップＳ５２の判別において、アプリケーション本体４１からプリンタ１２へのアクセスが呼び出された場合には（ステップＳ５２；Ｙｅｓ）、設定されたlocalhost、すなわち、プリンタ１２自身に対してプリンタアクセスを実施し、処理を終了する（ステップＳ５３）。
以上の説明のように、本変形例によれば、クラスとして構成されている自己通信部自体の構成は異なるが、クラス名、インタフェース名は共通化可能であるため、開発時、プリンタ組込時でアプリケーション本体４１の変更は必要ないため、開発効率の向上が見込めることとなる。
【００２９】
以上の説明では、自己通信部４２がプリンタ上で動作しているかを判断する基準については説明しなかったが、自己のＭＩＢ情報を参照して自己がプリンタであるか否かを判別するように構成すればよい。
【００３０】
以上の説明においては、エミュレーション対象のデバイスとしてプリンタ（印刷装置）の場合について説明したが、これに限られるものではなく、ＰＤＡや携帯電話などの携帯情報機器、パーソナルコンピュータなどの各種情報処理機能を有する情報処理装置であっても、アプリケーションを組み込むことが可能なデバイス（装置）であれば、適用が可能である。
【図面の簡単な説明】
【００３１】
【図１】実施形態のアプリケーション開発システムの概要構成ブロック図である。
【図２】パーソナルコンピュータ本体の概要構成ブロック図である。
【図３】プリンタの概要構成ブロック図である。
【図４】アプリケーション開発中のアプリケーション開発システムの機能構成ブロック図である。
【図５】アプリケーションの処理フローチャートである。
【図６】プリンタ探索時の処理フローチャートである。
【図７】探索されたプリンタの選択画面の一例の説明図である。
【図８】プリンタアクセス時のプリンタの処理フローチャートである。
【図９】開発中のアプリケーションをプリンタ１２に組み込んで動作させる場合の説明図である。
【図１０】開発中のアプリケーションをプリンタに組み込んだ場合の機能ブロック図である。
【図１１】パーソナルコンピュータ本体用のアプリケーションの処理フローチャートである。
【図１２】プリンタ組込用のアプリケーションの処理フローチャートである。
【符号の説明】
【００３２】
１０…アプリケーション開発システム、１１…アプリケーション開発用パーソナルコンピュータ、１２…プリンタ、１３…通信ケーブル、１４…ディスプレイ（通信先提示部）、１４Ａ…表示画面、１５…入力装置（指示入力部）、１６…アプリケーション、１８…パーソナルコンピュータ本体（エミュレータ装置）１８、３５…印刷機構、４１…アプリケーション本体、４２…自己通信部（通信対象判別部、処理実行部、通信仲介部、通信処理部）、４３…プリンタ探索部、４４…探索結果表示部、４５…プリンタ選択部、４６…アクセス先設定部、５１…通信部、５２…ＭＩＢ記録部。
【図１】
0004830537.tif 000002
【図２】
0004830537.tif 000003
【図３】
0004830537.tif 000004
【図４】
0004830537.tif 000005
【図５】
0004830537.tif 000006
【図６】
0004830537.tif 000007
【図７】
0004830537.tif 000008
【図８】
0004830537.tif 000009
【図９】
0004830537.tif 000010
【図１０】
0004830537.tif 000011
【図１１】
0004830537.tif 000012
【図１２】
0004830537.tif 000013