(57)【要約】【課題】アプリケーション開発準備期間を短縮する。【解決手段】ユーザが開発対象の画像形成装置の型式名を入力し、取得ボタンをクリックすると、開発環境情報取得設定部８５はこれに応答して、ネットワーク３０介し、この型式名と対応付けられた開発環境情報を外部に要求して取得し、この型式名に一致する各実機の開発環境情報の一部を表示装置に表示させ、ユーザにより選択された開発環境情報に基づきシミュレータＳＭの仕様を定める。開発環境情報には、実機のアプリケーションが動作するソフトウエア基盤７２〜７４のバージョン情報も含まれ、この情報に基づいて、アプリケーション開発で用いられるソフトウエア基盤を選択的に定める。【選択図】図１
2011053729.tif 000002
【特許請求の範囲】
【請求項１】
記憶手段と、入力手段と、制御手段と、ネットワークに結合される通信手段とを備え、
該記憶手段には実機のシミュレーションを行うシミュレータと、該シミュレータとアプリケーションとの間のＡＰＩとが格納され、
該制御手段は、（ａ）該入力手段を介しユーザにより型式名が選択され又は入力されたことに応答して、該通信手段を介し、該型式名と対応付けられた開発環境情報を外部に要求して取得し、取得した該開発環境情報に基づいて、該シミュレータの仕様を定め、
該ＡＰＩを介し該シミュレータを制御する該アプリケーションを開発する環境を提供することを特徴とするプログラム開発支援装置。
【請求項２】
表示装置をさらに備え、
該制御手段は、処理（ａ）において、要求に係る型式名に一致する各実機の開発環境情報の一部又は全部を該表示装置に表示させ、該入力手段を介したユーザによる、複数の開発環境情報のうちの１つの選択に応答して、選択された開発環境情報に基づき該シミュレータの仕様を定める、
ことを特徴とする請求項１に記載のプログラム開発支援装置。
【請求項３】
該開発環境情報には、実機のアプリケーションが動作するソフトウエア基盤のバージョン情報が含まれ、該ＡＰＩは、該ソフトウエア基盤に含まれ、該記憶手段には複数のバージョンのソフトウエア基盤が格納され、
該制御手段は、処理（ａ）において、該バージョン情報に基づいて、アプリケーション開発で用いられるソフトウエア基盤を選択的に定める、
ことを特徴とする請求項１又は２に記載のプログラム開発支援装置。
【請求項４】
請求項１乃至３のいずれか１つに記載のプログラム開発支援装置と、サーバとがネットワークに結合されたプログラム開発支援システムであって、該サーバは、該プログラム開発支援装置からの要求に応じて開発環境情報を該プログラム開発支援装置に返信する、
ことを特徴とするプログラム開発支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム開発支援装置及びシステムに係り、特に、画像形成装置のシミュレーションを行うシミュレータを備えたプログラム開発支援装置及びシステムに関する。
【背景技術】
【０００２】
画像形成装置のアプリケーション開発において、実機でのテスト前に、開発中のアプリケーションで画像形成装置のシミュレータを動作させてテストすることにより、開発効率を向上させることが提案されている（下記特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−３０５３８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、開発対象の画像形成装置の型式毎に、シミュレータが実機のモデルをシミュレーションするように、モデルを構成する個々の要素の動作を定義しなければならないので、開発準備期間が長くなる。
【０００５】
本発明の目的は、このような問題点に鑑み、開発準備期間を短縮可能なプログラム開発支援装置及びシステムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明によるプログラム開発支援装置の第１態様では、記憶手段と、入力手段と、制御手段と、ネットワークに結合される通信手段とを備え、
該記憶手段には実機のシミュレーションを行うシミュレータと、該シミュレータとアプリケーションとの間のＡＰＩとが格納され、
該制御手段は、（ａ）該入力手段を介しユーザにより型式名が選択され又は入力されたことに応答して、該通信手段を介し、該型式名と対応付けられた開発環境情報を外部に要求して取得し、取得した該開発環境情報に基づいて、該シミュレータの仕様を定め、
該ＡＰＩを介し該シミュレータを制御する該アプリケーションを開発する環境を提供する。
【０００７】
本発明によるプログラム開発支援装置の第２態様では、第１態様において、表示装置をさらに備え、該制御手段は、処理（ａ）において、要求に係る型式名に一致する各実機の開発環境情報の一部又は全部を該表示装置に表示させ、該入力手段を介したユーザによる、複数の開発環境情報のうちの１つの選択に応答して、選択された開発環境情報に基づき該シミュレータの仕様を定める。
【０００８】
本発明によるプログラム開発支援装置の第３態様では、第１又は２態様において、該開発環境情報には、実機のアプリケーションが動作するソフトウエア基盤のバージョン情報が含まれ、該ＡＰＩは、該ソフトウエア基盤に含まれ、該記憶手段には複数のバージョンのソフトウエア基盤が格納され、
該制御手段は、処理（ａ）において、該バージョン情報に基づいて、アプリケーション開発で用いられるソフトウエア基盤を選択的に定める。
【発明の効果】
【０００９】
上記第１態様の構成によれば、ユーザにより型式名が選択され又は入力されたことに応答して、通信手段を介し、該型式名と対応付けられた開発環境情報を外部に要求して取得し、これに基づいてシミュレータの仕様を自動設定するので、アプリケーション開発準備期間を短縮することができるという効果を奏する。
【００１０】
上記第２態様の構成によれば、要求に係る型式名に一致する各実機の開発環境情報の一部又は全部を表示装置に表示させ、ユーザにより選択された開発環境情報に基づき該シミュレータの仕様を定めるので、同一型式であってもオプション機能の有無などを考慮して開発環境を適切に設定することができるという効果を奏する。
【００１１】
上記第３態様の構成によれば、実機のアプリケーションが動作するソフトウエア基盤のバージョン情報が該開発環境情報に含まれ、この情報に基づいて、アプリケーション開発で用いられるソフトウエア基盤を選択的に定めるので、同一型式であってもアプリケーション開発基盤のバージョンを考慮して開発環境を適切に設定することができるという効果を奏する。
【００１２】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に係るプログラム開発支援装置の概略機能ブロック図である。
【図２】（Ａ）は開発環境情報取得ボタンのクリックイベントの発生により開始される処理の概略フローチャートであり、（Ｂ）は開発環境情報設定ボタンのクリックイベントの発生により開始される処理の概略フローチャートである。
【図３】（Ａ）は開発環境情報取得用情報入力画面の説明図であり、（Ｂ）は開発環境情報設定画面の説明図である。
【図４】本発明の実施例１に係るプログラム開発支援システムの概略ブロック図である。
【図５】本発明の実施例１に係る画像形成装置の概略機能ブロック図である。
【実施例１】
【００１４】
図４は、本発明に係るプログラム開発支援システムの実施例１の概略ブロック図である。
【００１５】
このシステムでは、プログラム開発支援装置１０と複数台の画像形成装置２０〜２３とＬＤＡＰ（Lightweight Directory Access Protocol）サーバ２４とが、ネットワーク３０、例えばＬＡＮに結合されている。画像形成装置のアプリケーションをプログラム開発支援装置１０で開発する場合、まず、装置１０内に画像形成装置のシミュレーを備えておき、このシミュレータを動作させるアプリケーションを作成し、アプリケーションのデバッグにおいてアプリケーションでシミュレータを動作させ、次のステップで、画像形成装置にこのアプリケーションをインストールしてテストを行うことにより、アプリケーションの開発効率を高める。
【００１６】
プログラム開発支援装置１０において、複数の型式の画像形成装置に対応可能なシミュレータを作成しておき、このシミュレータを、開発者（ユーザ）が選択した型式の仕様に設定するために、この型式の画像形成装置（実機）の設定情報の一部を開発環境情報として、ネットワーク３０を介しプログラム開発支援装置１０で取得する。
【００１７】
プログラム開発支援装置１０では、ＣＰＵ１１がインターフェイス１２を介してメモリ１３、ハードディスクドライブ１４、会話型入出力装置１５及びネットワークインターフェイス１６に結合されている。図４では、簡単化の為に、複数種のインターフェイスを１つのブロック１２で表している。
【００１８】
メモリ１３は、ＢＩＯＳが格納されているＰＲＯＭと、主記憶装置として用いられるＤＲＡＭとを備えている。ハードディスクドライブ１４には、仮想記憶方式のＯＳ（オペレーティングシステム）、各種ドライバ、Ｊａｖａ（登録商標）仮想マシン及びＳＤＫ（ソフトウェア開発キット）が格納されている。会話型入出力装置１５は、例えばキーボード、ポインティングデバイス及び表示装置を備えている。ネットワークインターフェイス１６は、ネットワーク３０に結合されている。
【００１９】
図５は、画像形成装置２０の概略機能ブロック図である。
【００２０】
装置２０では、これを画像形成装置として機能させるための各種プログラムがＯＳ４０上で動作する。プリンタ４１、スキャナ４２、ＦＡＸ４３、フニッシャ４４、両面原稿自動送り装置（ＤＰ）４５及び操作パネル４６はいずれも、ハードウェアとソフトウェアとで構成され、これらはコントローラ４７を介して制御される。コントローラ４７は、ＯＳ４０の下層で動作をする各種デバイスドライバを含んでいる。設定情報記憶部４８には、構成要素４１〜４６の設定情報が格納されており、その内容は、ユーザが操作パネル４６を操作してコントローラ４７を介し変更可能となっている。
【００２１】
設定情報記憶部４８には更に、ユーザ認証情報として、ユーザＩＤとパスワードとを暗号化したものが格納されている。外部からＯＳ４０及びＷｅｂサービスサーバ４９を介して設定情報制御部４Ａにユーザ認証要求があると、設定情報制御部４Ａはこれに応答して、この要求に含まれるユーザＩＤとパスワードを設定情報記憶部４８内の対応するものと照合し、その結果をＷｅｂサービスサーバ４９及びＯＳ４０及び介して返信する。設定情報制御部４Ａはまた、認証済みでログオン中のユーザからＯＳ４０及びＷｅｂサービスサーバ４９を介して、開発環境情報取得要求を受け付けると、設定情報記憶部４８から所定の情報を抽出して、Ｗｅｂサービスサーバ４９及びＯＳ４０を介し要求元に返信する。
【００２２】
画像形成装置２０にはまた、コントローラ４７を介して構成要素４１〜４６を制御するためのアプリケーション５０１〜５０Ｎが備えられている。これらは、操作パネルアプリ、プリンタアプリ、スキャナアプリ、コピーアプリ等である。アプリケーション５０１〜５０Ｎを効率よく作成するために、ライブラリ５１が用いられる。アプリケーション管理部５２は、アプリケーション５０１〜５０Ｎからの、メモリやプリントエンジン等のハードウェアリソース取得要求に対しＯＳ４０を介して資源を獲得し、また、ジョブの実行順や排他制御などを行う。アプリケーション５０１〜５０Ｎはいずれも、コントローラＡＰＩ５３を介してコントローラ４７にコントロールメッセージを供給することにより、構成要素４１〜４６を制御する。
【００２３】
本実施例では、アプリケーション５０１〜５０Ｎ、ライブラリ５１、アプリケーション管理部５２及びコントローラＡＰＩ５３はいずれも、Ｊａｖａプログラム（中間言語のプログラム）であり、Ｊａｖａ仮想マシン５４により、ＣＰＵ１１のネイティブコードに変換される。アプリケーション５０１〜５０Ｎはいずれも、アプリケーション管理部５２、コントローラＡＰＩ５３及びＪａｖａ仮想マシン５４に依存し、アプリケーション管理部５２、コントローラＡＰＩ５３及びＪａｖａ仮想マシン５４がアプリケーション基盤となっている。アプリケーション基盤が異なるとアプリケーションが動作しない虞があるので、設定情報記憶部４８には、このアプリケーション基盤のバージョンも含まれている。
【００２４】
一方、プログラム開発支援装置１０には、複数の型式のそれぞれの画像形成装置の機能及び動作をシミュレーションするシミュレータＳＭが備えられている。
【００２５】
シミュレータＳＭは、アプリケーションを実機レスのプログラム開発支援装置１０上で動作させて、アプリケーションの動作確認を行うためのものである。シミュレータＳＭのプリンタ６１、スキャナ６２、ＦＡＸ６３、フニッシャ６４、両面原稿自動送り装置６５及びコントローラ６７はそれぞれ、画像形成装置２０のプリンタ４１、スキャナ４２、ＦＡＸ４３，フニッシャ４４，両面原稿自動送り装置４５、操作パネル４６及びコントローラ４７の機能及び動作をシミュレーションするものであり、それぞれ関数と変数の組またはオブジェクト（プロパティとメソッドの組）で構成されている。これらの機能又は動作が有効であるか否か（制御対象であるか否か）や、スキャナの解像度等は、開発環境情報６８の内容を設定することにより変更でき、開発環境情報６８の内容を変更することにより、シミュレーションモデルに対応した実機の型式を変える。シミュレータＳＭは、開発環境情報６８を参照し、そこで設定されている内容に従った動作を行なう。
【００２６】
ライブラリ７１、アプリケーション管理部７２、コントローラＡＰＩ７３及びＪａｖａ仮想マシン７４は実機のものと同一であるが、複数の型式の実機のアプリケーションを開発できるように、また、同一型式であってもそのバージョンによりＪａｖａ仮想マシン５４のバージョンが異なる場合にも対応できるように、複数のバージョンのものを備えている。
【００２７】
プログラム開発支援装置１０はまた、一般的なＳＤＫと同様に、テキストエディタ８０、デザイナ８１、デバッガ８２、ビルダ８３及びアプリケーション開発統合管理部８４を備えている。デザイナ８１は、操作パネル４６の画面設計のプログラム開発を支援するためのものであって、ビジュアルな設計に基づいてプログラムを自動生成するものである。ビルダ８３は、アプリケーションが、ターゲットとなる実機上で正常に動作するためにビルドを行なう。ビルドを行なう際には、開発環境情報６８を参照して、ターゲットとなる実機のアプリケーション基盤バージョンを確認し、そのバージョンのコントローラＡＰＩ７４を利用する。
【００２８】
例えば、アプリケーション７０１は操作パネル６６のアプリケーションであり、アプリケーション７０２は開発対象のスキャナアプリケーションである。
【００２９】
開発環境情報取得設定部８５は、Ｗｅｂサービスクライアント８６及びＯＳ６０を介して、ネットワーク３０に結合された画像形成装置から開発環境情報を取得し、これを開発環境情報６８に設定するためのものである。
【００３０】
図１に示すプログラム開発支援装置１０において、ＯＳ６０及びＪａｖａ仮想マシン７４以外のブロックは、画像形成装置２０のアプリケーション用ＳＤＫを構成している。
【００３１】
開発者がアプリケーションを開発するためにＳＤＫを立ち上げて不図示の「新規プロジェクト」メニュー項目を選択すると、不図示の開発対象装置型式一覧が表示される。この一覧に含まれている型式は、ＳＤＫに最初から含まれていたものと、その後の開発で画像形成装置２０から後述のように取得したものである。この一覧に、開発対象装置の型式が含まれていない場合には、この一覧画面の一部として含まれている図３（Ａ）に示すようなテキストボックス９０に、開発対象装置の型式を入力し、開発者のＩＤ及びパスワードをそれぞれテキストボックス９１及び９２に入力し、開発環境情報取得ボタン９３をポインティングデバイスでクリックする。
【００３２】
図２（Ａ）は、このクリックイベントの発生により開始される処理の概略フローチャートである。以下、括弧内は図中のステップ識別符号である。
【００３３】
（Ｓ０）ＬＤＡＰサーバ２４に対し、ネットワーク３０に結合されている各画像形成装置のＩＰアドレス及び型式の取得を要求する。
【００３４】
（Ｓ１）この要求に対する応答から、各画像形成装置のＩＰアドレス及び型式を取得する。
【００３５】
（Ｓ２）テキストボックス９０に入力された型式と一致するものを取得できた場合には、Ｓ３へ進み、そうでなければＳ７へ進む。
【００３６】
（Ｓ３）テキストボックス９１及び９２に入力されたＩＤ及びパスワードを、これら一致する装置のそれぞれに対し送信して、認証要求する。
【００３７】
（Ｓ４〜Ｓ６）認証が成功すると、その装置に対し環境情報の取得を要求し、取得する。
【００３８】
（Ｓ７）取得した環境情報の一部を図３（Ｂ）に示すように、開発環境情報テーブル９４として会話型入出力装置１５に表示すると共に、開発環境情報設定ボタン９５を表示し、図２（Ｂ）の処理を終了する。この開発環境情報テーブル９４は、例えば図４において、画像形成装置２０、２１及び２２の型式がテキストボックス９０に入力したものと一致し、画像形成装置２０及び２１の基盤バージョンが２．０、画像形成装置２２の基盤バージョンが１．０であり、いずれもカラー印刷可能、画像形成装置２０はフィニッシャ及び両面原稿自動送り装置を備えているが、画像形成装置２１及び２２はこれらを備えていないことを示している。
【００３９】
（Ｓ８）一致する型式の画像形成装置がネットワーク３０に結合されていないことを開発環境情報設定ボタン９５に表示し、図２（Ｂ）の処理を終了する。
【００４０】
開発者はアプリケーションの開発対象として、開発環境情報テーブル９４中の行を選択し、開発環境情報設定ボタン９５をポインティンデバイスでクリックする。
【００４１】
図２（Ｂ）は、このクリックイベントに応答して開始される処理の概略フリーチャートである。
【００４２】
（Ｓ１０）開発環境情報取得設定部８５は、開発者により選択された画像形成装置の開発環境情報を、開発環境情報６８に設定する。これにより、シミュレータＳＭの機能及び動作が開発対象の型式のものとなる。例えば、フィニッシャ６４の機能が無効にされ、スキャナ６２の解像度が１２００ｄｐｉに設定される。これら機能の有効／無効、パラメータの設定は、開発環境情報６８に基づいて、対応する上記関数の引数若しくは変数の値を定め、若しくは、上記オブジェクトのプロパティを定めることにより、又は、上記関数又はオブジェクトのメソッドが実行時に開発環境情報６８を参照することにより行うことができる。例えば、開発環境情報６８をオブジェクト（Ａ）で構成し、上記機能に対応したオブジェクト内でオブジェクト（Ａ）を参照し、これにより限定された動作を模擬する。
【００４３】
開発環境情報取得設定部８５はまた、アプリケーション管理部５２、コントローラＡＰＩ５３及びＪａｖａ仮想マシン５４を、開発環境情報６８に含まれているバージョンのもののみ有効にする。すなわち、アプリケーションを実行させた場合に、このバージョンのものが使用されるように、設定を行う。この設定は、configファイル（構成ファイル）により設定することができる。この場合、デザイナ８１、デバッガ８２、ビルダ８３及びアプリケーション開発統合管理部８３は、configファイルに設定された情報に基づいて、使用するバージョンを決定する。なお、開発環境情報６８をこのconfigファイルで構成してもよい。
【００４４】
（Ｓ１１）設定が完了したことを、会話型入出力装置１５に表示する。
【００４５】
本実施例によれば、ユーザによる型式名入力に応答して、ネットワーク３０介し、この型式名と対応付けられた開発環境情報を外部に要求して取得し、これに基づいてシミュレータＳＭの仕様を自動設定するので、アプリケーション開発準備期間を短縮することができるという効果を奏する。
【００４６】
また、この型式名に一致する各実機の開発環境情報の一部を表示装置に表示させ、ユーザにより選択された開発環境情報に基づきシミュレータＳＭの仕様を定めるので、同一型式であってもフィニッシャ等のオプション機能の有無などを考慮して開発環境を適切に設定することができるという効果を奏する。
【００４７】
さらに、実機のアプリケーションが動作するソフトウエア基盤７２〜７４のバージョン情報が該開発環境情報に含まれ、この情報に基づいて、アプリケーション開発で用いられるソフトウエア基盤を選択的に定めるので、同一型式であってもアプリケーション開発基盤のバージョンを考慮して開発環境を適切に設定することができるという効果を奏する。
【００４８】
以上において、本発明の好適な実施例を説明したが、本発明には他にも種々の変形例が含まれ、上記複数の実施例で述べた構成要素の他の組み合わせ、各構成要素の機能を実現する他の構成を用いたもの、当業者であればこれらの構成又は機能から想到するであろう他の構成も、本発明に含まれる。
【００４９】
例えば、上記実施例では、ネットワークに結合された実機の設定情報から開発環境情報を取得する場合を説明したが、画像形成装置メーカの開発環境情報提供サーバから開発環境情報を取得する構成であってもよい。この場合、プログラム開発支援装置１０で１つの型式を指定すれば、オプション機能の有無や種類、ソフトウエア基盤の各バージョン情報を取得し、その中から開発環境情報を選択的に取得することができる。
【符号の説明】
【００５０】
１０  プログラム開発支援装置
１１  ＣＰＵ
１２  インターフェイス
１３  メモリ
１４  ハードディスクドライブ
１５  会話型入出力装置
１６  ネットワークインターフェイス
２０〜２３  画像形成装置
２４  ＬＤＡＰサーバ
３０  ネットワーク
４０、６０  ＯＳ
４１、６１  プリンタ
４２、６２  スキャナ
４３、６３  ＦＡＸ
４４、６４  フニッシャ
４５、６５  両面原稿自動送り装置
４６、６６  操作パネル
４７、６７  コントローラ
４８  設定情報記憶部
４９  Ｗｅｂサービスサーバ
４Ａ  設定情報制御部
５０１、７０１、７０２  アプリケーション
５１、７１  ライブラリ
５２、７２  アプリケーション管理部
５３、７３  コントローラＡＰＩ
５４、７４  Ｊａｖａ仮想マシン
８０  テキストエディタ
８１  デザイナ
８２  デバッガ
８３  ビルダ
８４  アプリケーション開発統合管理部
８５  開発環境情報取得設定部
８６  Ｗｅｂサービスクライアント
９０〜９２  テキストボックス
９３  開発環境情報取得ボタン
９４  開発環境情報テーブル
９５  開発環境情報設定ボタン
【図１】
2011053729.tif 000003
【図２】
2011053729.tif 000004
【図３】
2011053729.tif 000005
【図４】
2011053729.tif 000006
【図５】
2011053729.tif 000007