(57)【要約】    【課題】  複数機種の機器に対して共通して用いることができる制御装置を提供する。    【解決手段】  データ処理部１２１において、ネットワーク・インタフェース部７を介して制御コマンドを受信すると、制御コマンド実行判定手段１０００は、機器動作仕様保持手段５１０（ハードディスク６）に保持されている機器動作仕様情報を参照して、受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する。ここで、実行可能な制御コマンドであると判定された制御コマンドは制御コマンド実行手段１０１０に渡され、制御コマンド実行手段１０１０により実行される。【選択図】      図５
2005322127.tif 000002
【特許請求の範囲】
【請求項１】
機器を制御するための制御装置であって、
外部装置から制御コマンドを受信する制御コマンド受信手段と、
構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段と、
前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定手段と、
前記制御コマンド実行判定手段により前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した制御コマンドを実行する制御コマンド実行手段と
を備えることを特徴とする制御装置。
【請求項２】
前記制御コマンド実行判定手段は、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドの受付可能性を判断する制御コマンド受付可能性判断手段と、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断する設定値有効性判断手段とを有し、
前記制御コマンド実行判定手段は、前記制御コマンド受付可能性判断手段の判断結果と前記設定値有効性判断手段の判断結果とに基づいて前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定することを特徴とする請求項１記載の制御装置。
【請求項３】
前記制御コマンド実行判定手段は、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドを抽出する制御コマンド抽出手段を有し、前記制御コマンド受付可能性判断手段は、前記制御コマンド抽出手段によって抽出された制御コマンドと前記外部装置から受信した前記制御コマンドとを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドの受付可能性を判断することを特徴とする請求項２記載の制御装置。
【請求項４】
前記制御コマンド実行判定手段は、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドに付属する属性の設定値の有効範囲を抽出する有効範囲抽出手段とを有し、前記設定値有効性判断手段は、前記有効範囲抽出手段によって抽出された設定値の有効範囲と前記制御コマンド受付可能性判断手段により受付可能な制御コマンドと判断された前記外部装置から受信した制御コマンドに付属する属性の設定値とを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断することを特徴とする請求項３記載の制御装置。
【請求項５】
前記外部装置から書き換えが要求される機器動作仕様情報を受信する機器動作仕様情報受信手段と、
前記機器動作仕様情報保持手段に保持されている機器動作仕様情報を前記受信された機器動作仕様情報へ書き換える機器動作仕様情報更新手段と
を備えることを特徴とする請求項１ないし４のいずれか１つに記載の制御方法。
【請求項６】
前記機器は、画像形成装置であることを特徴とする請求項１ないし５のいずれか１つに記載の制御方法。
【請求項７】
外部装置から少なくとも制御コマンドを受信することが可能な通信手段と、構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段とを有する制御装置により、機器を制御するための制御方法であって、
前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定工程と、
前記制御コマンド実行判定工程で前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した制御コマンドを実行する制御コマンド実行工程と
を有することを特徴とする制御方法。
【請求項８】
前記制御コマンド実行判定工程は、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドの受付可能性を判断する制御コマンド受付可能性判断工程と、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断する設定値有効性判断工程とを含み、
前記制御コマンド実行判定工程では、前記制御コマンド受付可能性判断工程の判断結果と前記設定値有効性判断工程の判断結果とに基づいて前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定することを特徴とする請求項７記載の制御方法。
【請求項９】
前記制御コマンド実行判定工程は、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドを抽出する制御コマンド抽出工程を含み、前記制御コマンド受付可能性判断工程では、前記制御コマンド抽出工程で抽出された制御コマンドと前記外部装置から受信した前記制御コマンドとを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドの受付可能性を判断することを特徴とする請求項８記載の制御方法。
【請求項１０】
前記制御コマンド実行判定工程は、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドに付属する属性の設定値の有効範囲を抽出する有効範囲抽出工程を含み、前記設定値有効性判断工程では、前記有効範囲抽出工程で抽出された設定値の有効範囲と前記制御コマンド受付可能性判断工程で受付可能な制御コマンドと判断された前記外部装置から受信した制御コマンドに付属する属性の設定値とを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断することを特徴とする請求項９記載の制御方法。
【請求項１１】
前記外部装置から前記通信手段を介して書き換えが要求される機器動作仕様情報を受信すると、該受信した機器動作仕様情報を取得する取得工程と、
前記機器動作仕様情報保持手段に保持されている機器動作仕様情報を前記取得工程で取得された機器動作仕様情報へ書き換える機器動作仕様情報更新工程と
を有することを特徴とする請求項７ないし１０のいずれか１つに記載の制御方法。
【請求項１２】
外部装置から少なくとも制御コマンドを受信することが可能な通信手段と、構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段とを有する制御装置により、機器を制御すべく実行されるプログラムであって、
前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定モジュールと、
前記制御コマンド実行判定モジュールにより前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した前記制御コマンドを実行する制御コマンド実行モジュールと
を有することを特徴とするプログラム。
【請求項１３】
前記制御コマンド実行判定モジュールは、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドの受付可能性を判断する制御コマンド受付可能性判断モジュールと、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断する設定値有効性判断モジュールとを含み、
前記制御コマンド実行判定モジュールは、前記制御コマンド受付可能性判断モジュールの判断結果と前記設定値有効性判断モジュールの判断結果とに基づいて前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定することを特徴とする請求項１２記載のプログラム。
【請求項１４】
前記制御コマンド実行判定モジュールは、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドを抽出する制御コマンド抽出モジュールを含み、前記制御コマンド受付可能性判断モジュールは、前記制御コマンド抽出モジュールにより抽出された制御コマンドと前記外部装置から受信した前記制御コマンドとを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドの受付可能性を判断することを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記制御コマンド実行判定モジュールは、前記機器動作仕様情報保持手段に保持されている機器動作仕様情報から受付可能な制御コマンドに付属する属性の設定値の有効範囲を抽出する有効範囲抽出工程を含み、前記設定値有効性判断モジュールは、前記有効範囲抽出モジュールにより抽出された設定値の有効範囲と前記制御コマンド受付可能性判断工程で受付可能な制御コマンドと判断された前記外部装置から受信した制御コマンドに付属する属性の設定値とを比較し、該比較結果に基づいて前記外部装置から受信した制御コマンドに付属する属性の設定値の有効性を判断することを特徴とする請求項１４記載のプログラム。
【請求項１６】
前記外部装置から前記通信手段を介して書き換えが要求される機器動作仕様情報を受信すると、該受信した機器動作仕様情報を取得する取得モジュールと、
前記機器動作仕様情報保持手段に保持されている機器動作仕様情報を前記取得モジュールにより取得された機器動作仕様情報へ書き換える機器動作仕様情報更新モジュールと
を有することを特徴とする請求項１１ないし１５のいずれか１つに記載のプログラム。
【請求項１７】
請求項１２ないし１６のいずれか１つに記載のプログラムをコンピュータ読み取り可能格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器を制御するための制御装置、その制御方法、プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
各種装置に搭載されている制御装置は、その装置が受け付けることが可能な制御コマンドおよび設定する値を識別し、動作不可能な制御コマンドや設定値に対しては受付を拒否する、または動作不可能な制御コマンドや設定値を、受付可能な制御コマンドや設定値に修正して実行する必要がある。
【０００３】
従来、受け付けることが可能な制御コマンドや制御コマンドに付属している設定値の有効範囲などを示す動作仕様情報は、機器の動作を制御するコントローラの制御実行プログラム内に組み込まれており、制御実行プログラムは、上記動作仕様情報を参照して、外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否か、制御コマンドに付属する属性の設定値が有効な値であるか否かの判断を行う。また、そのような制御コマンドの実行可能性の判定を行うプログラムは、一般には、機器の仕様に合わせて手作業で作成される。
【０００４】
また、プログラムの作成作業に掛かる負荷を軽減するために、制御対象機器の動作仕様の情報からコントローラの制御論理を自動的に生成する方法（例えば特許文献１を参照）や、機器操作規約と機器状態遷移規則から制御実行プログラムを作成する方法（例えば特許文献２を参照）が提案されている。
【特許文献１】特開平２−３８０２号公報
【特許文献２】特開平７−８４５１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、各制御コマンドや設定値毎の個別の判定処理を手作業でプログラミングすることは、制御対象が複雑になるにつれて困難になり、また制御コマンドと設定値の実行可能判定処理の入力漏れを防ぐことも難しい。また、複数機種の動作を制御するコントローラの制御実行プログラムを開発する際に、様々な機種の制御コマンドを実行することが可能な共通の制御実行プログラムを開発する方が効率的である。しかし、どのような制御コマンドや設定値が有効であるか否かを判定する処理がコントローラの制御実行プログラムに組み込まれていると、制御コマンドや設定値が異なる場合に、複数機種で共通に利用可能な制御実行プログラムを開発することは困難である。
【０００６】
また、上述した制御対象機器の動作仕様情報からコントローラの制御論理を自動的に生成する方法や、機器操作規約と機器状態遷移規則から制御実行プログラムを作成する方法は、制御実行プログラムそのものを生成するものであり、これらの方法により、機器の動作制御のために生成された制御プログラムは、特定機種に特化した制御プログラムとなるため、複数の機器に対して共通に利用することができない。また、動作仕様が変更された場合には、新たに制御実行プログラムを生成し直す必要がある。
【０００７】
本発明の目的は、複数機種の機器に対して共通して用いることができる制御装置、制御方法、プログラムおよび記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記目的を達成するため、機器を制御するための制御装置であって、外部装置から制御コマンドを受信する制御コマンド受信手段と、構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段と、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定手段と、前記制御コマンド実行判定手段により前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した制御コマンドを実行する制御コマンド実行手段とを備えることを特徴とする制御装置を提供する。
【０００９】
本発明は、上記目的を達成するため、外部装置から少なくとも制御コマンドを受信することが可能な通信手段と、構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段とを有する制御装置により、機器を制御するための制御方法であって、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定工程と、前記制御コマンド実行判定工程で前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した制御コマンドを実行する制御コマンド実行工程とを有することを特徴とする制御方法を提供する。
【００１０】
本発明は、上記目的を達成するため、外部装置から少なくとも制御コマンドを受信することが可能な通信手段と、構造化文書で記述された制御対象の機器動作仕様情報を保持する機器動作仕様保持手段とを有する制御装置により、機器を制御すべく実行されるプログラムであって、前記機器動作仕様保持手段に保持されている機器動作仕様情報を参照して、前記外部装置から受信した制御コマンドが実行可能な制御コマンドであるか否かを判定する制御コマンド実行判定モジュールと、前記制御コマンド実行判定モジュールにより前記外部装置から受信した制御コマンドが実行可能な制御コマンドと判定された場合に、前記外部装置から受信した制御コマンドを実行する制御コマンド実行モジュールとを有することを特徴とするプログラムを提供する。
【００１１】
本発明は、上記目的を達成するため、上記プログラムをコンピュータ読み取り可能格納したことを特徴とする記憶媒体を提供する。
【発明の効果】
【００１２】
本発明によれば、複数機種の機器に対して共通して用いることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００１４】
（第１の実施の形態）
図１は本発明の第１の実施の形態に係る制御装置を搭載する画像形成装置が接続されるネットワークシステムの構成を示すブロック図である。
【００１５】
画像形成装置１２は、図１に示すように、各ユーザが複数のクライアントＰＣ（パーソナルコンピュータ）１５，１６を収容するネットワーク１１に接続され、各クライアントＰＣ１５，１６とネットワーク１１を介してデータの送受信を行うことができる。
【００１６】
次に、画像形成装置１２の構成について図２を参照しながら説明する。図２は図１の画像形成装置１２の構成を示すブロック図である。
【００１７】
画像形成装置１２は、図２に示すように、リーダ部１、プリンタ部２および画像入出力制御部３を備える。リーダ部１は、原稿の画像を読み取り、原稿画像に応じた画像データを画像入出力制御部３へ出力する。プリンタ部２は画像入出力制御部３からの画像データに応じた画像を記録紙上に記録する。
【００１８】
画像入出力制御部３は、ファクシミリ部４、ストレージ部５、ネットワーク・インタフェース部７、ＲＩＰ（Raster Image Processor）部８、操作部９、およびコア部１０を有する。ファクシミリ部４は、電話回線を介して受信した圧縮画像データを伸長して、伸長された画像データをコア部１０へ転送し、また、コア部１０から転送された画像データを圧縮して、圧縮された圧縮画像データを、電話回線を介して送信する。送受信する画像データは、ストレージ部５に接続されたハードディスク６中に一時的に保存することができる。
【００１９】
ストレージ部５には、ハードディスク６が接続されており、ストレージ部５はコア部１０から転送された画像データを圧縮し、その画像データを検索するためのＩＤ番号とともにハードディスク６に記憶させる。また、ストレージ部５は、コア部１０を介して転送されたコードデータに基づいてハードディスク６に記憶されている圧縮画像データを検索し、検索された圧縮画像データを読み出して伸長し、伸長された画像データをコア部１０へ転送する。
【００２０】
ネットワーク・インタフェース部７は、ネットワーク１１とコア部１０とを接続するためのインタフェースであり、ネットワーク１１上のクライアントＰＣ１５，１６や他の機器（図示せず）との間でデータのやり取りを行う。
【００２１】
ＲＩＰ部８は、ネットワーク１１から転送された画像を表すコードデータ（ＰＤＬ）をプリンタ部２で記録可能な画像データに展開するものである。
【００２２】
操作部９は、ユーザインタフェースを構成するために、タッチパネルディスプレイおよびハードキーを備える。上記タッチパネルディスプレイおよびハードキーを操作することによって、画像形成装置１２への動作指示や動作設定等を行うことが可能である。
【００２３】
コア部１０は、リーダ部１、プリンタ部２、ファクシミリ部４、ストレージ部５、ネットワーク・インタフェース部７、ＲＩＰ部８、操作部９のそれぞれの間を流れるデータを制御するものである。コア部１０の詳細については、後述する。
【００２４】
次に、上記リーダ部１およびプリンタ部２の構成について図３を参照しながら説明する。図３は図２のリーダ部およびプリンタ部２の構成を模式的に示す縦断面図である。
【００２５】
リーダ部１には、原稿給送装置１０１が搭載され、原稿給送装置１０１は、原稿を先頭順に１枚ずつプラテンガラス１０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス１０２上の原稿を排出するものである。原稿がプラテンガラス１０２上に搬送されると、ランプ１０３が点灯され、そしてスキャナユニット１０４の移動が開始され、スキャナユニット１０４により、原稿が露光走査される。このときの原稿からの反射光は、ミラー１０５，１０６，１０７およびレンズ１０８を介してＣＣＤイメージセンサ（以下、ＣＣＤという）１０９へ導かれる。このように、走査された原稿の画像はＣＣＤ１０９によって読み取られる。ＣＣＤ１０９から出力される画像データは、所定の処理が施された後、画像入出力制御部３のコア部１０へ転送される。
【００２６】
プリンタ部２は、レーザドライバ２０１を有する。レーザドライバ２０１は、レーザ発光部２２１を駆動し、画像入出力制御部３のコア部１０から出力された画像データに応じたレーザ光をレーザ発光部２２１から発光させる。このレーザ光は、感光ドラム２０２に照射され、感光ドラム２０２には、レーザ光に応じた潜像が形成される。この感光ドラム２０２上に形成された潜像は、現像器２０３から供給された現像剤により現像剤像として可視像化される。
【００２７】
また、レーザ光の照射開始と同期したタイミングで、カセット２０４，カセット２０５のいずれかから記録紙が給紙され、転写部２０６へ搬送される。そして、転写部２０６により、感光ドラム２０２上の現像剤像は、上記記録紙に転写され、現像剤像が転写された記録紙は定着部２０７に搬送される。定着部２０７においては、記録紙上の現像剤像が熱圧され、記像紙に定着される。定着部２０７を通過した記録紙は、排出ローラ２０８によってフィニッシャ２２０に排出され、フィニッシャ２２０は排出された記録紙を束ねて記録紙の仕分けを行い、必要に応じて、仕分けされた記録紙のステイプルを行う。
【００２８】
また、両面記録が設定されている場合、記録紙の一方の面への画像形成後、記録紙は、排出ローラ２０８の位置まで一旦搬送される。そして、排出ローラ２０８が逆転され、記録紙はフラッパ２０９によって再給紙搬送路２１０へ導かれる。再給紙搬送路２１０へ導かれた記録紙は、上述したタイミングで転写部２０６へ再度給紙され、記録紙の他方の面へ画像が形成される。これにより、記録紙の両面に画像が形成され、この記録紙は、排出ローラ２０８によってフィニッシャ２２０に排出される。
【００２９】
次に、上記コア部１０の構成について図４を参照しながら説明する。図４は図２のコア部１０の構成を示すブロック図である。
【００３０】
コア部１０は、図４に示すように、インタフェース（Ｉ／Ｆ）１２０、データ処理部１２１、インタフェース（Ｉ／Ｆ）１２２、ＣＰＵ１２３、およびメモリ１２４を有する。インタフェース（Ｉ／Ｆ）１２０は、ファクシミリ部４、ストレージ部５、ネットワーク・インタフェース部７、ＲＩＰ部８および操作部９と接続される。インタフェース１２２には、リーダ部１およびプリンタ部２が接続される。
【００３１】
リーダ部１からの画像データは、インタフェース１２２を介して、データ処理部１２１へ転送される。データ処理部１２１は、画像の回転処理や変倍処理などの画像処理や画像データの圧縮、伸長を行うものであり、内部にＡ４／Ｌｅｔｔｅｒサイズ相当の画像データ複数ページ分のページメモリ（図示せず）が設けられている。リーダ部１からデータ処理部１２１へ転送された画像データは、ページメモリ（図示せず）に一時的に記憶された後、圧縮されてインタフェース１２０を介してストレージ部５へ転送される。
【００３２】
ネットワーク・インタフェース部７を介して入力された画像を表すコードデータ（ＰＤＬ）は、インタフェース１２０を介してデータ処理部１２１に転送された後、ＲＩＰ部８へ転送されて画像データに展開される。この画像データは、データ処理部１２１に転送されて上記ページメモリに一時的に記憶された後、圧縮されてストレージ部５へ転送される。
【００３３】
ファクシミリ部４からの画像データは、データ処理部１２１へ転送されてページメモリに一時的に記憶された後、圧縮されてストレージ部５へ転送される。
【００３４】
ストレージ部５からの画像データは、データ処理部１２１へ転送された後、伸長されてページメモリに一時的に記憶された後、インタフェース１２２を介してプリンタ部２へ、また、インタフェース１２０を介して、ファクシミリ部４、ネットワーク・インタフェース部７へ転送される。
【００３５】
また、データ処理部１２１からストレージ部５へ画像データが転送される前に、この画像データをプリンタ部２やファクシミリ部４、ネットワーク・インタフェース部７へ転送することも内部のセレクタを切り替えて転送することができる。
【００３６】
ＣＰＵ１２３は、メモリ１２４に記憶されている制御プログラム、および操作部９から転送された制御コマンドに従って上述した画像データの転送制御などを行う。また、メモリ１２４は、ＣＰＵ１２３の作業領域としても使われる。
【００３７】
このように、コア部１０は、データ処理部１２１およびストレージ部５を介して、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータからのデータの入出力などの機能を複合させた処理の制御を行う。ここで、上記データ処理部１２１は、ＣＰＵ１２３がメモリ１２４に記憶されているプログラムを実行することによって構成される機能モジュールであり、ここでは、説明上、ブロック化して明示されている。
【００３８】
次に、コア部１０のデータ処理部１２１の構成およびストレージ部５の構成について図５を参照しながら説明する。図５は図３のコア部１０のデータ処理部１２１の詳細構成および図２のストレージ部５の詳細構成を示すブロック図である。
【００３９】
ストレージ部５は、図５に示すように、機器動作仕様取得手段５００、構造化文書で記述された、制御対象である画像形成装置の機器動作仕様情報を格納する機器動作仕様保持手段５１０、および上記機器動作仕様情報を記述するための構造化文書の文法を格納する文法格納手段５２０を有する。機器動作仕様取得手段５００は、取得した機器動作仕様情報が文法格納手段５２０に格納されている文法通りに記述されているかの検査を行い、その記述に誤りがなければ、取得した機器動作仕様情報を機器動作仕様保持手段５１０に上書きして格納する。ここで、機器動作仕様保持手段５１０および文法格納手段５２０は、ハードディスク６内に構成されているものである。機器動作仕様取得手段５００は、コア部１０のＣＰＵ１２３がメモリ１２４に記憶されているプログラムを実行することによって構成される機能モジュールである。
【００４０】
コア部１０のデータ処理部１２１は、制御コマンド実行判定手段１０００および制御コマンド実行手段１０１０を有する。制御コマンド実行判定手段１０００は、機器動作仕様情報解釈手段１００１、制御コマンド抽出手段１００２、制御コマンド受付可能性判断手段１００３、設定値有効範囲抽出手段１００４および制御コマンドの設定値有効性判断手段１００５を含む。データ処理部１２１において、外部からネットワーク・インタフェース部７を介して受信した制御コマンドに対しては、制御コマンド実行判定手段１０００により、実行可能な制御コマンドであるか否かが判定される。そして、この受信した制御コマンドが実行可能な制御コマンドであれば、この受信した制御コマンドは、制御コマンド実行手段１０１０に渡され、制御コマンド実行手段１０１０は上記受信した制御コマンドを実行する。ここで、制御コマンド実行判定手段１０００および制御コマンド実行手段１０１０は、コア部１０のＣＰＵ１２３がメモリ１２４に記憶されているプログラムを実行することによって構成される機能モジュールである。
【００４１】
制御コマンド実行判定手段１０００において、機器動作仕様情報解釈手段１００１は、機器動作仕様保持手段５１０に格納されている機器動作仕様情報を取得し、その機器動作仕様情報を解釈する。
【００４２】
制御コマンド抽出手段１００２は、機器動作仕様情報解釈手段１００１が解釈した動作仕様の情報から、受付可能な制御コマンドを抽出する。制御コマンド受付可能性判断手段１００３は、制御コマンド抽出手段１００２が抽出した制御コマンドとネットワーク・インタフェース部７を介して受信した制御コマンドとを比較し、この比較結果に基づいてこの受信した制御コマンドが受付可能なコマンドか否かを判断する。
【００４３】
設定値有効範囲抽出手段１００４は、制御コマンド抽出手段１００２と同様に、機器動作仕様情報解釈手段１００１が解釈した動作仕様情報から、制御コマンドに付属する属性の設定値に対する設定有効範囲を抽出する。設定値有効性判断手段１００５は、制御コマンド受付可能性判断手段１００３と同様に、設定値有効範囲抽出手段１００４が抽出した制御コマンドに付属する属性の設定値の設定有効範囲とネットワーク・インタフェース部７を介して受信した制御コマンドに付属する属性の設定値とを比較し、この比較結果に基づいて、受信した制御コマンドに付属する属性の設定値が有効であるか否かを判断する。
【００４４】
上記制御コマンド受付可能性判断手段１００３により受信した制御コマンドが受付可能な制御コマンドであると判断され、かつ上記設定値有効性判断手段１００５により、受信した制御コマンドに付属する属性値の設定が有効であると判断されると、この受信した制御コマンドは実行可能な制御コマンドとして、制御コマンド実行手段１０１０に渡され、制御コマンド実行手段１０１０は、上記渡された制御コマンドを実行する。
【００４５】
画像形成装置１２の動作仕様が変更になり、画像形成装置１２に対して外部から新たな動作仕様情報の書き換え要求が発行されると、コア部１０は、ネットワーク・インタフェース部７を介して、この要求とともに変更すべき動作仕様を示す機器動作仕様情報を取得し、機器動作仕様取得手段５００に対して、取得した機器動作仕様情報の書き換えを行うように依頼する。機器動作仕様取得手段５００は、取得した機器動作仕様情報が文法格納手段５２０に格納されている文法通りに記述されているかの検査を行い、その記述に誤りがなければ、取得した機器動作仕様情報を機器動作仕様保持手段５１０に上書きして格納する。
【００４６】
このような構成を有する画像形成装置１２のデータ処理部１２１による制御コマンドを受信したときの動作について図６を参照しながら説明する。図６は図５のデータ処理部１２１による制御コマンドを受信したときの動作手順を示すフローチャートである。
【００４７】
データ処理部１２１においては、図６に示すように、ネットワーク・インタフェース部７を介してデータが受信されると（ステップＳ１）、受信したデータが解釈され、このデータが制御コマンドであると、この制御コマンドは制御コマンド実行判定手段１０００に渡される（ステップＳ２）。
【００４８】
制御コマンド実行判定手段１０００は、上記制御コマンドに対する受付可能性判断を行う（ステップＳ３）。この受付可能性判断により、上記制御コマンドが受付可能な制御コマンドであると判断された場合（ステップＳ４）、制御コマンド実行判定手段１０００は、上記制御コマンドに付属する属性の設定値の有効性判断を行う（ステップＳ５）。そして、この有効性判断により、上記設定値が有効すなわち受付可能な設定値であると判断されると（ステップＳ６）、この受信した制御コマンドは、実行可能な制御コマンドとして制御コマンド実行手段１０１０に渡され、制御コマンド実行手段１０１０により実行される（ステップＳ７）。
【００４９】
上記受信した制御コマンドに対する受付可能性判断により、受信した制御コマンドが受付可能な制御コマンドでないと判断されると（ステップＳ４）、この制御コマンドは実行可能な制御コマンドでないとして、本処理は終了する。上記受信した制御コマンドに付属する設定値の有効性判断により、この設定値が受付可能な設定値でないと判断されると（ステップＳ６）、この受信した制御コマンドは実行可能な制御コマンドでないとして、本処理は終了する。
【００５０】
次に、上記ステップＳ３の制御コマンドの受付可能性判断および上記ステップＳ５の制御コマンドに付属する属性の設定値の有効性判断について図７および図８を参照しながら説明する。図７は図６のステップＳ３の制御コマンドの受付可能性判断の手順を示すフローチャート、図８は図６のステップＳ５の制御コマンドに付属する属性の設定値の有効性判断の手順を示すフローチャートである。
【００５１】
上記ステップＳ３の制御コマンドの受付可能性判断においては、図７に示すように、まず、機器動作仕様情報解釈手段１００１が、制御コマンド抽出手段１００２からの要求を受けて、機器動作仕様保持手段５１０に格納されている機器動作仕様情報の解釈を行う。ここでは、機器動作仕様情報解釈手段１００１により、機器動作仕様保持手段５１０から格納されている動作仕様書情報のすべてが読み込まれ、その解釈が行われる。そして、制御コマンド抽出手段１００２は、上記解釈結果を取得する（ステップＳ３１）。
【００５２】
次いで、制御コマンド抽出手段１００２は、上記取得した解釈結果から、制御コマンドに関する部分のみを抽出し、受付可能制御コマンドの一覧の作成をする（ステップＳ３２）。この受付可能制御コマンドの一覧は、制御コマンド受付可能性判断手段１００３に送られる。
【００５３】
制御コマンド受付可能性判断手段１００３は、上記受付可能な制御コマンドの一覧中に、ネットワーク・インタフェース部７を介して受信した制御コマンドが存在するか否かを確認する（ステップＳ３３）。ここで、受信した制御コマンドが上記一覧中に存在すると、制御コマンド受付可能性判断手段１００３は、受信した制御コマンドを受付可能な制御コマンドであると判定する（ステップＳ３４）。これに対し、受信した制御コマンドが上記一覧中に存在しないと、受信した制御コマンドは、受付可能な制御コマンドでないと判定して、本処理は終了する。
【００５４】
上記ステップＳ５の制御コマンドに付属する属性の設定値の有効性判断においては、図８に示すように、まず、機器動作仕様情報解釈手段１００１が設定値有効範囲抽出手段１００４からの要求を受けて、機器動作仕様保持手段５１０に格納されている機器動作仕様情報の解釈を行う。ここでは、機器動作仕様情報解釈手段１００１により、機器動作仕様保持手段５１０から格納されている動作仕様書情報のすべてが読み込まれ、その解釈が行われる。そして、設定値有効範囲抽出手段１００４は、機器動作仕様情報解釈手段１００１による解釈結果を取得する（ステップＳ５１）。ここでは、機器動作仕様保持手段５１０に格納されている機器動作仕様情報の解釈が行われるが、この解釈は、上記制御コマンド受付可能性判断のステップＳ３１において行われているので、このステップＳ３１においての機器動作仕様情報の解釈結果をステップＳ５１で利用可能なようにメモリに保持するようにしてもよい。
【００５５】
次いで、設定値有効範囲抽出手段１００４は、上記取得した解釈結果から、受付可能な制御コマンドの属性一覧を作成する（ステップＳ５２）。この作成された属性一覧は、設定値有効性判断手段１００５に送られる。
【００５６】
設定値有効性判断手段１００５は、設定値有効範囲抽出手段１００４により作成された属性一覧に基づいて、受信した制御コマンドに付属する属性の設定値が有効範囲にあるか否かを判断する。この判断においては、具体的には、まず受信した制御コマンドに属性が存在し、この受信した制御コマンドの属性が作成された属性一覧に存在するか否かの判定が行われる（ステップＳ５３）。
【００５７】
上記ステップＳ５３において受信した制御コマンドに属性が存在し、この受信した制御コマンドの属性が上記作成された属性一覧に存在すると判定された場合、設定値有効性判断手段１００５は、属性一覧から対応する１つの属性を取り出し、設定値有効範囲抽出手段１００４に対して、取り出された属性の設定有効範囲の取得を依頼する。設定値有効範囲抽出手段１００４は、機器動作仕様情報解釈手段１００１から得られた機器動作仕様情報の中の対応する制御コマンドの属性の設定可能範囲を取り出し、設定値有効性判断手段１００５に送る（ステップＳ５４）。これにより、設定値有効性判断手段１００５は、上記属性一覧から取り出された属性の設定有効範囲を取得する。
【００５８】
次いで、設定値有効性判断手段１００５は、受信した制御コマンドの属性の設定値が上記属性一覧から取り出された属性の設定可能範囲内にあるか否かを判定する（ステップＳ５５）。ここで、受信した制御コマンドの属性の値が上記設定可能範囲内にある場合、設定値有効性判断手段１００５は、ステップＳ５３に戻り、受信した制御コマンドに次の属性が存在せず、この次の属性が上記属性一覧に存在しなければ、受信した制御コマンドを受付可能な制御コマンドと判定する（ステップＳ５８）。そして、本処理は終了する。受信した制御コマンドに次の属性が存在し、この属性が上記属性一覧に存在すれば、上記ステップＳ５４からの処理が繰り返される。
【００５９】
これに対し、上記ステップＳ５５において受信した制御コマンドの属性の設定値が上記設定可能範囲内にないと判定された場合、設定値有効性判断手段１００５は、受信した制御コマンドの属性の設定値が設定範囲外の値であった場合の処理方法が機器動作仕様情報中に記述されているか否かを判定する（ステップＳ５６）。そして、受信した制御コマンドの属性の値が設定範囲外の値であった場合の処理方法が記述されていれば、設定値有効性判断手段１００５は、受信した制御コマンドの属性の設定値を上記記述された処理方法に応じた値（機器動作仕様情報の属性の設定値）に置き換える（ステップＳ５７）。次いで、設定値有効性判断手段１００５は、ステップＳ５３に戻り、受信した制御コマンドに次の属性が存在し、またこの受信した制御コマンドの次の属性が作成された属性一覧に存在するか否かの判定を行う。
【００６０】
上記ステップＳ５６において受信した制御コマンドの属性の値が設定範囲外の値であった場合の処理方法が機器動作仕様情報中に記述されていない場合、設定値有効性判断手段１００５は、受信した制御コマンドを受付可能な制御コマンドでないと判断し、本処理は終了する。
【００６１】
上記ステップＳ５３において受信した制御コマンドに属性が存在せず、またこの受信した制御コマンドの属性が作成された属性一覧に存在しない場合、設定値有効性判断手段１００５は、受信した制御コマンドを受付可能な制御コマンドと判定する（ステップＳ５８）。そして、本処理は終了する。
【００６２】
次に、受信した制御コマンドに対する具体的な処理例について図９および図１０を参照しながら説明する。図９は図５のストレージ部５の機器動作仕様保持手段５１０に保持されている動作仕様情報の一例を示す図、図１０は外部装置から受信する制御コマンドの一例を示す図である。
【００６３】
ストレージ部５の機器動作仕様保持手段５１０には、例えば図９に示すような動作仕様情報が格納されている。この動作仕様情報は、画像形成装置１２の動作仕様を示す情報であり、受付可能な制御コマンドとしては、ジョブの開始を示す「jobStart」とジョブの終了を示す「jobEnd」、部数を指定する「setImpression」の３種類が存在する。また、制御コマンド「setImpression」は、属性「number」を有し、その属性の設定値は、最大値が９９、最小値が１で、設定範囲外の値の場合は１であることを示すものである。
【００６４】
また、ここでは、本画像形成装置１２が外部装置から受信する制御コマンドとして、例えば図１０に示すような制御コマンドを想定する。本例は、最初に制御コマンド「jobStart」が受信され、その後に、属性「number」が３である制御コマンド「setImpression」、属性「number」が１００である制御コマンド「setImpression」、属性の「density」が４である濃度を設定する制御コマンド「setDensity」、制御コマンド「jobEnd」が順次受信された場合のものである。
【００６５】
まずネットワーク・インタフェース部７を介して制御コマンド「jobStart」が受信されると（図６のステップＳ１）、この受信された制御コマンド「jobStart」が制御コマンド実行判定手段１０００に渡され（ステップＳ２）、受信された制御コマンド「jobStart」の受付可能性判断が行われる（ステップＳ３）。
【００６６】
まず、機器動作仕様情報解釈手段１００１により、機器動作仕様保持手段５１０に格納されている機器動作仕様情報の解釈が行われ、その解釈結果が制御コマンド抽出手段１００２に渡される（ステップＳ３１）。
【００６７】
この動作仕様情報の例においては、まず、先頭に<Print>タグが存在するため、この機器は印刷可能な機器であることが分かる。次に、その中から<OperationList>のタグが検索される。２行目に<OperationList>タグが見つけられるので、それ以降の</OperationList>タグが見つかるまで、<Operation>タグが検索される。１つ目の<Operation>タグが３行目で見つけられるので、これから、「Operationname」が「jobStart」だということが分かる。そして、次の行に</Operation>タグが存在するので、「jobStart」には付属する属性がないことが分かる。次に、５行目に２つ目の<Operation>タグが見つけられ、「Operationname」が「setImpression」だということが分かる。また、次の行に<Attribute>タグが存在するため、付属する属性があることが分かり、その属性の「name」が「number」だということが分かる。さらに次の行に、<Max>タグがあることから、その次の</Max>タグの間にはさまれた数値９９がこの属性の最大値だということが分かる。次に、<Min>と</Min>の間にはさまれた数値１が、この属性の最小値であることが分かる。また、次の<OutOfRange>と</OutOfRange>タグの間には数値１が存在するので、設定範囲外の値が設定されていた場合、その数値が１に置き換えられて実行されることになる。そして、</Attribute>タグの存在でこの属性の定義が終了したことが分かり、</Operation>タグで、「setImpression」の「Operation」の定義が終了したことが分かる。次に、３つ目の<Operation>タグが見つけられ、「Operation」の「name」が「jobEnd」だということが分かる。次の行の</Operation>タグで「jobEnd」の「Operation」の定義が終了していることが分かる。そして</OperationList>タグで「Operation」の定義がすべて終了したことが分かり、<./Print>タグで「Print」の仕様がここで終了したことが分かる。
【００６８】
制御コマンド抽出手段１００２は、機器動作仕様情報解釈手段１００１の上記解釈結果から、受付可能制御コマンドの一覧を作成する（ステップＳ３２）。ここでは、制御コマンドとして、「jobStart」、「setImpression」、「jobEnd」の３種類の制御コマンドが抽出され、その一覧が受付可能制御コマンドの一覧として制御コマンド受付可能性判断手段１００３に渡される。
【００６９】
制御コマンド受付可能性判断手段１００３は、上記受付可能制御コマンドの一覧中に、受信された制御コマンド「jobStart」が存在するか否かを確認する（ステップＳ３３）。ここでは、受信された制御コマンド「jobStart」が上記一覧中に存在するので、制御コマンド受付可能性判断手段１００３は、受信された制御コマンド「jobStart」を受付可能な制御コマンドであると判定する（ステップＳ３４）。
【００７０】
次いで、受信された制御コマンドに付属する属性値の有効性判断が行われる（ステップＳ５）。ここで、受信された制御コマンド「jobStart」には、属性値が設定されていないが、設定されていないことが正しいかを判断するために、設定値有効範囲手段１００４は、機器動作仕様情報解釈手段１００１に対して、機器動作仕様情報の解釈を依頼し、機器動作仕様情報解釈手段１００１の解釈結果を取得する（ステップＳ５１）。
【００７１】
設定値有効範囲抽出手段１００４は、機器動作仕様情報解釈手段１００１による解釈結果から、制御コマンド「jobStart」の属性一覧を作成する（ステップＳ５２）。制御コマンド「jobStart」の属性はないため、その一覧は空白になる。
【００７２】
次いで、設定値有効性判断手段１００５は、設定値有効範囲抽出手段１００４により作成された一覧に基づいて、受信された制御コマンド「jobStart」に付属する属性の設定値が有効範囲にあるか否かを判断する。ここで、受信された制御コマンド「jobStart」および作成された属性一覧のいずれにも属性が存在しないので（ステップＳ５３）、受信された制御コマンド「jobStart」は、受付可能な制御コマンドとして判定される（ステップＳ５８）。
【００７３】
次に、属性「number」が３である制御コマンド「setImpression」が受信された場合、制御コマンド「jobStart」の場合と同様の手順で、この制御コマンド「setImpression」が受付可能な制御コマンドであるか否かの判定が行われる。受信された制御コマンド「setImpression」は、受付可能制御コマンドの一覧中に存在するので（ステップＳ３３）、制御コマンド受付可能性判断手段１００３により、受信された制御コマンド「setImpression」は受付可能な制御コマンドであると判定される（ステップＳ３４）。
【００７４】
次いで、受信された制御コマンド「setImpression」に付属する属性の設定値の有効性判断が行われる（図６のステップＳ５）。ここで、受信された制御コマンド「setImpression」には属性が付属しているので、その設定値が有効であるか否かを判断するために、設定値有効範囲手段１００４は、機器動作仕様情報解釈手段１００１の解釈結果を取得し（ステップＳ５１）、この解釈結果から、制御コマンド「setImpression」の属性一覧を作成する（ステップＳ５２）。この属性一覧には、「setImpression」に対する属性として１つの属性「number」が存在する。
【００７５】
次いで、設定値有効性判断手段１００５により、作成された属性一覧を参照して、受信された制御コマンド「setImpression」に付属する属性の設定値が有効範囲にあるか否かの判断が行われる。ここで、受信された制御コマンド「setImpression」には属性「number」が付属し、かつ作成された属性一覧にも属性「number」が存在するので（ステップＳ５３）、上記属性一覧の属性「number」の設定可能範囲が機器動作仕様情報から取り出される（ステップＳ５４）。
【００７６】
そして、受信された制御コマンド「setImpression」の属性「number」の値（本例では３）が上記取りだされた設定可能範囲内にあるか否かの判定が行われる（ステップＳ５５）。ここでは、受信された制御コマンド「setImpression」の属性「number」の値（＝３）が上記設定可能範囲有効範囲（１から９９までの範囲）にあるので、受信された制御コマンド「setImpression」は受付可能なコマンドと判定される（ステップＳ５８）。
【００７７】
属性「number」が１００である制御コマンド「setImpression」が受信された場合、属性「number」が３である制御コマンド「setImpression」が受信された場合と同様に、この制御コマンド「setImpression」は受付可能な制御コマンドであると判定される（ステップＳ３４）。
【００７８】
次いで、受信された制御コマンド「setImpression」に付属する属性の設定値の有効性判断が行われる（図６のステップＳ５）。この受信された制御コマンド「setImpression」の属性「number」の値は「１００」であるので、この値は設定可能範囲有効範囲（１から９９までの範囲）にないと判定され（ステップＳ５５）、設定範囲外の値であった場合の処理方法が記述されているか否かの判定が行われる（ステップＳ５６）。機器動作仕様情報においては、属性「number」に対してその設定値が設定範囲外であった場合に設定されている値を示す<OutOfRange>の記述があるので、受信された制御コマンド「setImpression」の属性「number」の設定値が<OutOfRange>に記述された１に置き換えられる（ステップＳ５７）。そして、受信された制御コマンド「setImpression」は、受付可能なコマンドと判定される（ステップＳ５８）。
【００７９】
制御コマンド「setDensity」が受信された場合、制御コマンド「jobStart」の場合と同様の手順で、この制御コマンド「setDensity」が受付可能な制御コマンドであるか否かの判定が行われる。受信された制御コマンド「setDensity」は、受付可能制御コマンドの一覧中に存在しないので（ステップＳ３３）、受信された制御コマンド「setDensity」は受付可能な制御コマンドでないと判定される。
【００８０】
制御コマンド「jobEnd」が受信された場合、受信された制御コマンド「jobStart」と同様に、受付可能性判断（ステップＳ３）において、受信された制御コマンド「jobEnd」は、受付可能な制御コマンドであると判定される（ステップＳ３４）。そして、受信された制御コマンドに付属する属性値の有効性判断（ステップＳ５）において、受信された制御コマンド「jobEnd」は、受付可能な制御コマンドとして判定される（ステップＳ５８）。
【００８１】
このように、本実施の形態によれば、データ処理部１２１がネットワーク・インタフェース部７を介して制御コマンドを受信すると、データ処理部１２１の制御コマンド実行判定手段１０００が機器動作仕様保持手段５１０（ハードディスク６）に保持されている機器動作仕様情報を参照して、受信した制御コマンドが実行可能な制御コマンドであるか否かを判定し、実行可能な制御コマンドと判定された制御コマンドのみを制御コマンド実行手段１０１０に渡すので、データ処理部１２１（制御プログラム）を、複数機種の機器で共通に利用することが可能な制御装置とすることができる。
【００８２】
（第２の実施の形態）
次に、本発明の第２の実施の形態について図１１〜図１４を参照しながら説明する。図１１は本発明の第２の実施の形態に係る画像形成装置における外部装置から取得された機器動作仕様情報を用いて機器動作仕様保持手段５１０に保持されている機器動作仕様情報を変更するための動作手順を示すフローチャート、図１２は文法格納手段５２０に格納されている、機器動作仕様情報を記述するための構造化文書の文法の一例を示す図、図１３は機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報の一例を示す図、図１４は機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報の他の例を示す図である。
【００８３】
本実施の形態は、上記第１の実施の形態と同じ構成を有し、説明は省略する。また、本実施の形態においては、上記第１の実施の形態と同じ符号を用いて説明を行うものとする。
【００８４】
本実施の形態においては、外部装置からネットワーク・インタフェース部７を介して機器動作仕様情報を取得し、この取得された機器動作仕様情報を用いてストレージ部５の機器動作仕様情報保持手段５１０に保持されている機器動作仕様情報を変更する処理を行うことが可能である。この機器動作仕様情報の変更処理には、文法格納手段５２０に格納されている動作仕様情報の文法が参照される。
【００８５】
外部装置から取得された機器動作仕様情報を用いて機器動作仕様情報保持手段５１０に保持されている機器動作仕様情報を変更する処理においては、図１１に示すように、ネットワーク・インタフェース部７を介して、書き換えが要求される機器動作仕様情報を含む機器動作仕様情報書き換え要求を受信すると（ステップＳ８）、データ処理部１２１は、この機器動作仕様書き換え要求に基づいて機器動作仕様取得手段５００に対して書き換えが要求される機器動作仕様情報の書き換えを行うよう依頼する。機器動作仕様取得手段５００は、取得された機器動作仕様情報が構造化文書の文法格納手段５２０に格納されている文法通りに記述されているか否かの検査を行う（ステップＳ９）。
【００８６】
次いで、機器動作仕様取得手段５００は、上記ステップＳ９の検査の結果に基づいて書き換え要求の機器動作仕様情報が上記文法通りに記載されているか否かを判定する（ステップＳ１０）。ここで、書き換え要求の機器動作仕様情報が上記文法通りに記載されている場合、機器動作仕様取得手段５００は、機器動作仕様保持手段５１０に保持されている機器動作仕様情報を、書き換え要求の機器動作仕様情報へ書き換える（ステップＳ１１）。そして、本処理は終了する。これに対し、書き換え要求の機器動作仕様情報が上記文法通りに記載されていない場合、機器動作仕様取得手段５００は、書き換え要求の機器動作仕様情報の書き換えを拒否し（ステップＳ１２）、本処理は終了する。
【００８７】
次に、機器動作仕様情報書き換え要求に基づいて機器動作仕様情報を書き換える場合の具体例について図１２〜図１４を参照しながら説明する。
【００８８】
文法格納手段５２０に格納されている動作仕様情報の文法は、例えば図１２に示すような文法である。この文法では、まず１行目に「Print」という名前のタグが存在し、このタグが、「OperationList」という１つの要素を必ず持つ必要があることが示されている。２行目には、「OperationList」タグが、「Operation」という０個以上の要素を保持することが示されている。３行目から５行目には、「Operation」タグが「Attribute」という０個以上の要素を保持し、「name」というString型の属性を保持することが示されている。６行目から８行目には、「Attribute」タグが「Max」と「Min」のそれぞれの要素を必ず保持し、「OutOfRange」という０個以上の要素を保持し、さらに「name」というString型の属性を保持することが示されている。９行目から１１行目には、「Max」、「Min」、「OutOfRange」の各タグが値を保持することが示されている。
【００８９】
ここで、まず、機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報として、例えば図１３に示すような機器動作仕様情報を想定する。機器動作仕様取得手段５００は、図１３に示す機器動作仕様情報が文法格納手段５２０に格納されている図１２に示す文法通りに記述されているか否かの検査を行う（ステップＳ９）。ここで、書き換え要求の機器動作仕様情報において、１行目の「Print」タグの次にくるタグが「Operation」であるため、１行目の「Print」タグは、「OpertionList」という１つの要素を必ず保持するという文法に違反する。すなわち、この書き換え要求の機器動作仕様情報は、文法格納手段５２０に格納されている文法通りに記述されていない。よって、機器動作仕様取得手段５００は、書き換え要求の機器動作仕様情報の構造が正しくないと判定し（ステップＳ１０）、機器動作仕様情報の書き換え要求を拒否する（ステップＳ１２）。
【００９０】
次に、機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報として、例えば図１４に示すような機器動作仕様情報を想定する。機器動作仕様取得手段５００は、図１４に示す機器動作仕様情報が文法格納手段５２０に格納されている図１２に示す文法通りに記述されているか否かの検査を行う（ステップＳ９）。ここで、この書き換え要求の機器動作仕様情報は、文法格納手段５２０に格納されている文法通りに記述されているので、機器動作仕様取得手段５００は、書き換え要求の機器動作仕様情報の構造が正しいと判定し（ステップＳ１０）、機器動作仕様保持手段５１０に保持されている機器動作仕様情報を、書き換え要求の機器動作仕様情報へ書き換える（ステップＳ１１）。
【００９１】
このようにして、機器動作仕様保持手段５１０に格納されている機器動作仕様情報が図１４の動作仕様情報に書き換えられるので、プログラムを変更することなく、新たに濃度の設定を行う制御コマンド「setDensity」を受け付けることが可能になる。
【００９２】
（第３の実施の形態）
次に、本発明の第３の実施の形態について図１５および図１６を参照しながら説明する。図１５は本発明の制御装置が搭載された画像形成装置に対する動作仕様変更時の制御プログラム開発の手順流れを示すフローチャート、図１６は従来の動作仕様変更時の制御プログラム開発の手順を示すフローチャートである。
【００９３】
本実施の形態においては、画像形成装置の動作仕様を異なる動作仕様に変更する場合の従来の方法と本発明の制御装置が搭載された画像形成装置に対する方法とを対比して説明する。
【００９４】
まず、従来の、画像形成装置の動作仕様変更時の制御プログラムを流用して開発する手順について図１６を参照しながら説明する。
【００９５】
従来の制御プログラムは、制御コマンド実行手段１０１０、制御コマンド実行判定手段１０００、および機器動作仕様保持手段５１０が分離されておらずに一体に組み込まれたものであり、そのアルゴリズム自体が仕様を組み込んだものである。よって、動作仕様変更に伴いアルゴリズムの変更個所が発生する。
【００９６】
これに応じて、図１６に示すように、まず、動作仕様変更に伴う制御プログラム内の該当修正個所が探し出され（ステップＳ１００）、新たな動作仕様に対応するように、プログラムの修正箇所の修正が行われる（ステップＳ２００）。次いで、プログラムの修正による影響個所が探され、その影響箇所に対して修正が行われる（ステップＳ３００）。例えば、画像形成装置において、両面印刷の機能が追加される場合、両面印刷処理のプログラム修正の他に、両面印刷設定をしたときに実行することができない他の機能の処理を変更するための修正が必要になる。
【００９７】
次いで、上記ステップＳ２００，Ｓ３００のプログラムの変更に応じて、プログラム全体のコンパイルがし直される（ステップＳ４００）。そして、最後に変更した制御プログラムの動作確認が行われ（ステップＳ５００）、本処理は終了する。
【００９８】
次に、本発明の制御装置が搭載された画像形成装置に対する現在の制御プログラムを流用して動作仕様が異なる新たな制御プログラムを開発する手順について図１５を参照しながら説明する。
【００９９】
図１５に示すように、まず、新たな動作仕様に基づく機器動作仕様情報が用意される（ステップ６００）。ここで、用意される機器動作仕様情報は、文法格納手段５２０に格納されている文法に従って記述されたものである。次いで、機器動作仕様格納手段５１０に格納された機器動作仕様情が新たに用意された機器動作仕様情報に入れ替えられる（ステップＳ７００）。ここで、制御プログラムは、予め構造化文書を解釈し、その記述内容によって動作が変更されるようになっており、構造化文書の入れ替えによっての修正は必要ない。そのため新たにコンパイルをする必要もない。最後に動作仕様を記述した構造化文書の内容に間違いがないかを動作確認し（ステップＳ８００）、本処理は終了する。
【０１００】
このように制御プログラムと機器の動作仕様を分離し、また動作仕様情報を構造化文書で格納することで、動作仕様が変更になっても、動作仕様情報の入れ替えを行うのみでよく、プログラム自体の修正を行う必要がない。そのため、コンパイルをし直す必要もなく、プログラムの修正を行うことによる新たなバグの発生などを抑えることが可能になる。
【０１０１】
上記各実施の形態では、画像形成装置を制御する制御装置について説明したが、画像形成装置と異なる他の機器を制御する制御装置に本発明の原理を適用することができることはいうまでもない。
【０１０２】
なお、本発明の目的は、前述した各実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０３】
また、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードを、ネットワークを介してダウンロードしてもよい。
【０１０４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【０１０５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施の形態に係る制御装置を搭載した画像形成装置が接続されるネットワークシステムの構成を示すブロック図である。
【図２】図１の画像形成装置１２の構成を示すブロック図である。
【図３】図２のリーダ部およびプリンタ部２の構成を模式的に示す縦断面図である。
【図４】図２のコア部１０の構成を示すブロック図である。
【図５】図３のコア部１０のデータ処理部１２１の詳細構成および図２のストレージ部５の詳細構成を示すブロック図である。
【図６】図５のデータ処理部１２１による制御コマンドを受信したときの動作手順を示すフローチャートである。
【図７】図６のステップＳ３の制御コマンドの受付可能性判断の手順を示すフローチャートである。
【図８】図６のステップＳ５の制御コマンドに付属する属性値の有効性判断の手順を示すフローチャートである。
【図９】図５のストレージ部５の機器動作仕様保持手段５１０に保持されている動作仕様情報の一例を示す図である。
【図１０】外部装置から受信する制御コマンドの一例を示す図である。
【図１１】本発明の第２の実施の形態に係る画像形成装置における外部装置から取得された機器動作仕様情報を用いて機器動作仕様保持手段５１０に保持されている機器動作仕様情報を変更するための動作手順を示すフローチャートである。
【図１２】文法格納手段５２０に格納されている、機器動作仕様情報を記述するための構造化文書の文法の一例を示す図である。
【図１３】機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報の一例を示す図である。
【図１４】機器動作仕様情報書き換え要求により書き換えが要求される機器動作仕様情報の他の例を示す図である。
【図１５】本発明の制御装置が搭載された画像形成装置に対する動作仕様変更時の制御プログラム開発の手順流れを示すフローチャートである。
【図１６】従来の動作仕様変更時の制御プログラム開発の手順を示すフローチャートである。
【符号の説明】
【０１０７】
１０  コア部
１２１  データ処理部
１２３  ＣＰＵ
１２４  メモリ
５００  機器動作仕様取得手段
５１０  動作仕様書保持手段
５２０  構造化文書仕様書の文法格納手段
１０００  制御コマンド実行判定手段
１００１  機器動作仕様情報解釈手段
１００２  受け付け可能制御コマンド抽出手段
１００３  制御コマンドの受付可能性判断手段
１００４  設定値有効範囲抽出手段
１００５  制御コマンドの設定値有効性判断手段
１０１０  制御コマンド実行手段
【図１】
2005322127.tif 000003
【図２】
2005322127.tif 000004
【図３】
2005322127.tif 000005
【図４】
2005322127.tif 000006
【図５】
2005322127.tif 000007
【図６】
2005322127.tif 000008
【図７】
2005322127.tif 000009
【図８】
2005322127.tif 000010
【図９】
2005322127.tif 000011
【図１０】
2005322127.tif 000012
【図１１】
2005322127.tif 000013
【図１２】
2005322127.tif 000014
【図１３】
2005322127.tif 000015
【図１４】
2005322127.tif 000016
【図１５】
2005322127.tif 000017
【図１６】
2005322127.tif 000018