(57)【要約】【課題】設定管理処理を効率よく実現する。【解決手段】利用者の要求を受け付けるモードシェルフクラスと、設定集合を示したモードクラスと、選択要求を設定項目クラスに振り分ける設定対象クラスと、設定項目に所属する設定値を保持する設定値クラスと、設定値クラスを木構造の子として有する設定項目クラスと、別々の設定項目クラスに所属する設定値クラスの組み合わせ禁止関係を保持する組み合わせルールクラスと、を有する構成とする。【選択図】        図１４
2007082131.tif 000002
【特許請求の範囲】
【請求項１】
異なる設定項目に含まれる設定値間で、同時選択が禁止されている設定値の組み合わせを保持する組み合わせルールを備え、該組み合わせルールに従って該設定値間の同時選択を抑止する制御を行う設定値間選択抑止手段と、
前記設定値間選択抑止手段と関連付けを保持し、前記設定値間選択抑止手段で制御を行う対象となる設定値が所属する設定項目をまとめて保持する設定対象手段と、
前記設定対象手段と関連を保持することで、前記設定対象手段が保持する設定対象の集まりを示した設定集合として、設定対象を管理するモードセット手段と、
前記モードセット手段と関連を保持することで、各設定集合を管理するモードシェルフ管理手段と、
を備えたことを特徴とする設定管理装置。
【請求項２】
前記設定値間選択抑止手段は、
択一的に選択される関係にある複数の設定値からなる設定項目ごとに、該設定項目に所属する設定値間の同時選択禁止の関係を保持し管理する設定管理手段と、
同時選択が禁止されている設定値の選択を受け付けた際に行う設定をさらに有する前記組み合わせルールを保持し、前記組み合わせルールに従って、前記組み合わせルールに含まれる設定値の選択を受け付ける際に設定を行う組み合わせルール手段と、を備え、
前記設定管理手段は、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルール手段を呼び出すこと、
を特徴とする請求項１に記載の設定管理装置。
【請求項３】
前記設定管理手段は、前記設定項目に所属する設定値に対応付けられて生成され該設定値の選択状態を保持する設定値手段と、該設定項目と対応付けられて生成され前記設定値手段と関連を保持し、関連を保持する該設定値手段のうちいずれか一つを選択中として保持可能な設定項目手段と、を備え、
前記組み合わせルール手段は、異なる該設定項目にそれぞれ所属し且つ同時選択禁止されている設定値に対応付けられた前記設定値手段間で、一方の前記設定値手段が保持する選択状態の変更を受け付ける際に行う設定を、前記組み合わせルールに従って行い、
前記設定値手段は、該設定値手段の前記選択状態を変更する際に前記組み合わせルール手段を呼び出すこと、
を特徴とする請求項２に記載の設定管理装置。
【請求項４】
異なる設定項目に含まれる設定値間で、同時選択が禁止されている設定値の組み合わせを保持する組み合わせルールを備え、該組み合わせルールに従って該設定値間の同時選択を抑止する制御を行う設定値間選択抑止ステップと、
前記設定値間選択抑止ステップで制御を行う対象となる設定値が所属する設定項目をまとめて保持する設定対象ステップと、
前記設定対象ステップが保持する設定対象の集まりを示した設定集合として、設定対象を管理するモードセットステップと、
前記モードセットステップで管理される設定集合を、複数個管理するモードシェルフ管理ステップと、
を備えたことを特徴とする設定管理方法。
【請求項５】
前記設定値間選択抑止ステップは、
択一的に選択される関係にある複数の設定値からなる設定項目ごとに、該設定項目に所属する設定値間の同時選択禁止の関係を保持し管理する設定管理ステップと、
同時選択が禁止されている設定値の選択を受け付けた際に行う設定をさらに有する前記組み合わせルールを保持し、前記組み合わせルールに従って、前記組み合わせルールに含まれる設定値の選択を受け付ける際に設定を行う組み合わせルールステップと、を備え、
前記設定管理ステップは、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルールステップを呼び出すこと、
を特徴とする請求項４に記載の設定管理方法。
【請求項６】
前記設定管理ステップは、前記設定項目に所属する設定値に対応付けられて生成され該設定値の選択状態を保持する設定値ステップと、該設定項目と対応付けられて生成され前記設定値ステップと関連を保持し、関連を保持する該設定値ステップのうちいずれか一つを選択中として保持可能な設定項目ステップと、を備え、
前記組み合わせルールステップは、異なる該設定項目にそれぞれ所属し且つ同時選択禁止されている設定値に対応付けられた前記設定値ステップ間で、一方の前記設定値ステップが保持する選択状態の変更を受け付ける際に行う設定を、前記組み合わせルールに従って行い、
前記設定値ステップは、該設定値ステップの前記選択状態を変更する際に前記組み合わせルールステップを呼び出すこと、
を特徴とする請求項５に記載の設定管理方法。
【請求項７】
請求項４〜６のいずれか１つに記載された設定管理方法をコンピュータで実行させることを特徴とする設定管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設定管理装置、設定管理方法及び設定管理プログラムに関するものであり、特に設定値間の選択矛盾の回避する技術に関するものである。
【背景技術】
【０００２】
従来、プリンタ、コピーおよびスキャナなどの複数の機能を一つの筐体内に収納した複合機が知られている。かかる複合機では、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に、プリンタアプリ、コピーアプリおよびスキャナアプリと呼ばれる複数のアプリケーションを搭載し、これらのアプリケーションの実行処理を切替えながら複数の機能を実現していた。
【０００３】
ところが、上記プリンタアプリ、コピーアプリおよびスキャナアプリは、それぞれエンジン制御、メモリ制御およびシステム制御などを別個におこなっているので、重複処理という無駄が生じていた。
【０００４】
このため、特許文献１では、複合機に搭載される複数のアプリケーションがそれぞれ担っていたエンジン制御、メモリ制御およびシステム制御などの処理を共通処理部分（プラットホーム）として各アプリケーションから括り出すことにより、アプリケーションの開発効率の向上を図っている。
【０００５】
また、特許文献２では、複合機に搭載される複数のアプリケーションが共通に使用する、ソータ選択機能やトレイ選択機能といった各種機能の組み合わせの可否を、組み合わせチェックテーブルを用いて判定している。
【０００６】
【特許文献１】特開２００２−０８４３８３号公報
【特許文献２】特許第３１７５４７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、この特許文献１で開示されている発明は、ハードウェアを制御する処理部分を共通化するものであり、各アプリケーションの内部処理全般を共通化するものではない。このため、複合機上のアプリケーションには、開発効率の向上を図るうえで改善の余地が残されている。
【０００８】
たとえば、オペレーションパネルの制御ソフトウェアを介して利用者からの機能設定要求を受け付け、選択された機能の組み合わせ可否判定をおこない、かかる判定結果をオペレーションパネルの入力制限などにより利用者に報知する設定管理処理は、複写機上の各アプリケーションに共通して存在する処理であるが、ハードウェアを直接制御する処理ではないため各アプリケーションで別個に実現されており、共通化することが可能である。
【０００９】
また、特許文献２で開示されている発明は、組み合わせチェックテーブルを用いて各種機能の組み合わせの可否を判定するものであるが、複写機の多機能化によりかかるテーブルの規模が拡大してくると、組み合わせチェックテーブルの保守を容易におこなうのは困難となる。このため、機能追加や改修のための工数が増大するとともに、機能組み合わせ制御が正しくおこなわれない危険性があるという問題があった。
【００１０】
これらのことから、複合機に搭載されるアプリケーションの設定管理をいかにして効率よく実現するかが大きな課題となっている。なお、かかる課題は複合機についてのみ生じるものではなく、たとえば、複数の機能設定間の組み合わせ制御をおこなう設定管理装置を形成するような場合にも同様に生ずる課題である。
【００１１】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、アプリケーション間の設定管理を効率よく実現することができる設定管理装置、設定管理方法及び設定管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、異なる設定項目に含まれる設定値間で、同時選択が禁止されている設定値の組み合わせを保持する組み合わせルールを備え、該組み合わせルールに従って該設定値間の同時選択を抑止する制御を行う設定値間選択抑止手段と、前記設定値間選択抑止手段と関連付けを保持し、前記設定値間選択抑止手段で制御を行う対象となる設定値が所属する設定項目をまとめて保持する設定対象手段と、前記設定対象手段と関連を保持することで、前記設定対象手段が保持する設定対象の集まりを示した設定集合として、設定対象を管理するモードセット手段と、前記モードセット手段と関連を保持することで、各設定集合を管理するモードシェルフ管理手段と、を備えたことを特徴とする。
【００１３】
また、請求項２にかかる発明は、請求項１の発明において、前記設定値間選択抑止手段は、択一的に選択される関係にある複数の設定値からなる設定項目ごとに、該設定項目に所属する設定値間の同時選択禁止の関係を保持し管理する設定管理手段と、同時選択が禁止されている設定値の選択を受け付けた際に行う設定をさらに有する前記組み合わせルールを保持し、前記組み合わせルールに従って、前記組み合わせルールに含まれる設定値の選択を受け付ける際に設定を行う組み合わせルール手段と、を備え、前記設定管理手段は、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルール手段を呼び出すこと、を特徴とする。
【００１４】
また、請求項３にかかる発明は、請求項２の発明において、前記設定管理手段は、前記設定項目に所属する設定値に対応付けられて生成され該設定値の選択状態を保持する設定値手段と、該設定項目と対応付けられて生成され前記設定値手段と関連を保持し、関連を保持する該設定値手段のうちいずれか一つを選択中として保持可能な設定項目手段と、を備え、前記組み合わせルール手段は、異なる該設定項目にそれぞれ所属し且つ同時選択禁止されている設定値に対応付けられた前記設定値手段間で、一方の前記設定値手段が保持する選択状態の変更を受け付ける際に行う設定を、前記組み合わせルールに従って行い、前記設定値手段は、該設定値手段の前記選択状態を変更する際に前記組み合わせルール手段を呼び出すこと、を特徴とする。
【００１５】
また、請求項４にかかる発明は、異なる設定項目に含まれる設定値間で、同時選択が禁止されている設定値の組み合わせを保持する組み合わせルールを備え、該組み合わせルールに従って該設定値間の同時選択を抑止する制御を行う設定値間選択抑止ステップと、前記設定値間選択抑止ステップで制御を行う対象となる設定値が所属する設定項目をまとめて保持する設定対象ステップと、前記設定対象ステップが保持する設定対象の集まりを示した設定集合として、設定対象を管理するモードセットステップと、前記モードセットステップで管理される設定集合を、複数個管理するモードシェルフ管理ステップと、を備えたことを特徴とする。
【００１６】
また、請求項５にかかる発明は、請求項４の発明において、前記設定値間選択抑止ステップは、択一的に選択される関係にある複数の設定値からなる設定項目ごとに、該設定項目に所属する設定値間の同時選択禁止の関係を保持し管理する設定管理ステップと、同時選択が禁止されている設定値の選択を受け付けた際に行う設定をさらに有する前記組み合わせルールを保持し、前記組み合わせルールに従って、前記組み合わせルールに含まれる設定値の選択を受け付ける際に設定を行う組み合わせルールステップと、を備え、前記設定管理ステップは、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルールステップを呼び出すこと、を特徴とする。
【００１７】
また、請求項６にかかる発明は、請求項５の発明において、前記設定管理ステップは、前記設定項目に所属する設定値に対応付けられて生成され該設定値の選択状態を保持する設定値ステップと、該設定項目と対応付けられて生成され前記設定値ステップと関連を保持し、関連を保持する該設定値ステップのうちいずれか一つを選択中として保持可能な設定項目ステップと、を備え、前記組み合わせルールステップは、異なる該設定項目にそれぞれ所属し且つ同時選択禁止されている設定値に対応付けられた前記設定値ステップ間で、一方の前記設定値ステップが保持する選択状態の変更を受け付ける際に行う設定を、前記組み合わせルールに従って行い、前記設定値ステップは、該設定値ステップの前記選択状態を変更する際に前記組み合わせルールステップを呼び出すこと、を特徴とする。
【００１８】
また、請求項７にかかる発明は、請求項４〜６のいずれか１つに記載された設定管理方法をコンピュータで実行させることを特徴とする。
【発明の効果】
【００１９】
請求項１にかかる発明によれば、組み合わせルールに従って設定値間の同時選択の抑止を行う制御を設定対象毎に集めて、当該設定対象を組み合わせてモードセットを構成することとしたため、開発を共通化することが可能となり、設計実装時間を短縮すると共に、管理が容易になる。また、設定項目にまたがった設定値の組み合わせを効率的に管理することができるという効果を奏する。
【００２０】
また、請求項２にかかる発明によれば、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルール手段を呼び出して、同時選択を禁止することを可能としたので、同時選択禁止の設定値に対する制御が容易になる効果を奏する。
【００２１】
また、請求項３にかかる発明によれば、設定項目を保持する設定項目手段と、設定値を保持する設定値手段を別の構成にしたので、設定項目に所属する設定値の組み合わせを効率的に管理することができるという効果を奏する。
【００２２】
また、請求項４にかかる発明によれば、組み合わせルールに従って設定値間の同時選択の抑止を行う制御を設定対象毎に集めて、当該設定対象を組み合わせてモードセットを構成することとしたため、開発を共通化することが可能となり、設計実装時間を短縮すると共に、管理が容易になる。また、設定項目にまたがった設定値の組み合わせを効率的に管理することができるという効果を奏する。
【００２３】
また、請求項５にかかる発明によれば、設定値が選択された場合、該設定値と関連づけられた前記組み合わせルール手段を呼び出して、同時選択を禁止することを可能としたので、同時選択禁止の設定値に対する制御が容易になる効果を奏する。
【００２４】
また、請求項６にかかる発明によれば、設定項目を保持する設定項目手段と、設定値を保持する設定値手段を別の構成にしたので、設定項目に所属する設定値の組み合わせを効率的に管理することができるという効果を奏する。
【００２５】
また、請求項７にかかる発明によれば、コンピュータに読み取らせて実行することによって、請求項４〜６のいずれか一つに記載された設定管理方法をコンピュータの利用で実現することができ、これら各設定管理方法と同様の効果を奏する。
【発明を実施するための最良の形態】
【００２６】
以下に添付図面を参照して、この発明にかかる設定管理装置、設定管理方法及び設定管理プログラムの最良な実施の形態を詳細に説明する。なお、本実施の形態では、この発明を画像形成装置に適用した場合について説明するが、本発明はこれに限らず、設定管理をおこなう各種装置に適用することができる。
【００２７】
まず、本実施の形態に係る画像形成装置（以下「複合機」と言う）１の概要について図１、図２、図３、図１８および図１９を用いて説明する。図１は、本実施の形態に係る複合機１を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した複合機１のハードウェア構成を示すブロック図であり、図３は、図１に示した複合機１のソフトウェアとハードウェアの関係を説明するための説明図であり、図１８は、複合機１に搭載されるソフトウェア構成の変遷を説明するための説明図であり、図１９は、従来の複合機のソフトウェアとハードウェアの関係を説明するための説明図である。
【００２８】
図１に示すように、近年のネットワーク化の進展により、オフィスなどに設けられたパーソナルコンピュータ（ＰＣ）などの機器は、ＬＡＮ（Local Area Network）などのネットワークに接続され、相互に通信することが通常となった。たとえば、同図に示したように、かかるネットワークには、クライアントＰＣ、ＳＭＴＰ（Simple Mail Transfer Protocol）サーバ、ＦＴＰ（File Transfer Protocol）サーバ、サーバＰＣなどが接続され、電子メールの送受信やファイル転送をすることができ、モデム接続された配信サーバは、オフィス外のファックス装置と通信することができる。
【００２９】
このようなネットワーク化の進展に伴い、複合機１もかかるネットワークに接続され、ＰＣ等の機器と相互に通信することが可能となり、ハードディスク等の記憶装置を内蔵することで、いわゆるネットワーク複合機へと進化し、ユーザの様々なニーズに応えることができるようになった。
【００３０】
たとえば、複合機１は、通常のコピー機能に加えて、クライアントＰＣからの印刷要求により文書データ等を印刷するプリンタ機能、クライアントＰＣからのファックス要求により文書データ等をサーバＰＣに接続されたモデムを経由して他のオフィスのファックス機器に送信するファックス機能、受信したファックス文書やコピー文書を内蔵したハードディスクに蓄積する蓄積機能などを有するようになった。
【００３１】
こうして複合化とネットワーク化の進展により必要となった多くの機能を実現するため、複合機１に搭載されるソフトウェアは、規模が大きく、複雑なものとなっている。そして、それにともなって、それらのソフトウェアの開発と維持管理のための工数も大幅に増大している。
【００３２】
図２は、かかる複合機１のハードウェア構成を示すブロック図である。同図に示すように、この複合機１は、コントローラ１０とエンジン部（Engine）６０とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。コントローラ１０は、複合機１全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部６０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００３３】
コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（ＮＢ）１３と、システムメモリ（ＭＥＭ−Ｐ）１２と、サウスブリッジ（ＳＢ）１４と、ローカルメモリ（ＭＥＭ−Ｃ）１７と、ＡＳＩＣ（Application Specific Integrated Circuit）１６と、ハードディスクドライブ（ＨＤＤ）１８とを有し、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６との間をＡＧＰ（Accelerated Graphics Port）バス１５で接続した構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read Only Memory）１２ａと、ＲＡＭ(Random Access Memory)１２ｂとをさらに有する。
【００３４】
ＣＰＵ１１は、複合機１の全体制御をおこなうものであり、ＮＢ１３、ＭＥＭ−Ｐ１２およびＳＢ１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００３５】
ＮＢ１３は、ＣＰＵ１１とＭＥＭ−Ｐ１２、ＳＢ１４、ＡＧＰ１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００３６】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとからなる。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００３７】
ＳＢ１４は、ＮＢ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインターフェース（Ｉ／Ｆ）部なども接続される。
【００３８】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１８およびＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などをおこなう複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送をおこなうＰＣＩユニットとからなる。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Fax Control Unit）３０、ＵＳＢ（Universal Serial Bus）４０、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インターフェース５０が接続される。
【００３９】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard Disk Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００４０】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００４１】
図３は、かかる複合機１のハードウェアおよびソフトウェアの構成を示した概念図であり、具体的には、後述する本実施形態の特徴部分である設定管理部１１１ｂを含む統合アプリケーション１１０と、ソフトウェア１００およびハードウェア２００の階層関係を示している。同図に示すように、ハードウェア２００は、ハードウェアリソース２０１を有し、このハードウェアリソース２０１は、スキャナ２０１ａ、プロッタ２０１ｂ、ＨＤＤ（Hard Disk Drive）２０１ｃ、ネットワーク２０１ｄおよびその他のリソース２０１ｅを有する。なお、その他のリソース２０１ｅは、２０１ａ〜２０１ｄ以外のハードウェアリソース２０１のことであり、たとえば、操作パネルなどの入出力デバイスを示す。
【００４２】
また、かかるハードウェア２００に搭載されるソフトウェア１００は階層化されており、オペレーティングシステム１０３の上層にはサービス層１０２が構築され、このサービス層１０２の上層にはアプリケーション層１０３が構築されている。そして、サービス層１０２は、各ハードウェアリソース（２０１ａ〜２０１ｅ）を制御するドライバーに相当する、スキャナ制御１０２部ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、配信／メール送受信制御部１０２ｄ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇを有する。
【００４３】
ここで、図３に示したソフトウェア１００が、かかる階層構造をとるに至った経緯について、図１８および図１９を用いて説明する。図１８は、複合機１に搭載されるソフトウェア構成の変遷を示す説明図である。図１８のサービス層分離前アプリケーション５０１に示すように、多機能化した複合機１に搭載されるソフトウェアは、コピーアプリケーション、ＦＡＸアプリケーション、スキャナアプリケーションなどの機能別に独立したアプリケーションとして作成され、図３に示したオペレーティングシステム１０３上で動作していた。
【００４４】
しかしながら、これらのアプリケーションは、ハードウェアリソースを制御するドライバー（サービス層１０２）を含んでいたため、各アプリケーションには重複した処理が存在していた。その結果、各アプリケーションの規模は大きなものとなっていた。
【００４５】
そこで、図１８のサービス層分離後アプリケーション５０２に示すように、サービス層分離前アプリケーション５０１のサービス層１０２相当部分を括りだしサービス層１０２とするとともに、各アプリケーションは、このサービス層１０２の上層であるアプリケーション層１０１に構築する構成とした。かかる階層化構成をとることにより、各アプリケーションはスリム化され開発労力も軽減された。
【００４６】
しかしながら、複合機１のネットワーク化、多機能化がさらに進展するに従って、各アプリケーションに共通処理部分が存在することが問題となってきた。具体的には、アプリケーション層１０１の各アプリケーション、たとえば、コピーアプリケーションやスキャナアプリケーションなどは、それぞれ、スキャナ制御部１０２ａや蓄積制御部１０２ｃといったドライバーと通信をおこなう処理や、各種機能の設定管理などの同様な処理を内部に有していた。このように、同様な処理を各アプリケーションが有していると、各アプリケーションの開発規模が大きくなるとともに、サービス層の仕様変更に対する各アプリケーションの改修規模が大きくなることが問題となってきた。
【００４７】
この問題を解決するため、図１８の共通ルーチン分離アプリケーション５０３に示すように、かかる同様な処理（共通処理部分）を共通ルーチンとして括りだすことも考えられた。しかしながら、かかる共通ルーチンは、各アプリケーションにおいて微妙に異なる処理を共通化しようとするものであるため、共通ルーチン内部の処理は複雑なものとなってしまう。また、たとえば、プリンタアプリケーションなどの新規アプリケーションを追加する場合においては、かかる新規アプリケーションに適応するために、共通ルーチンの改修が必要となる。
【００４８】
しかし、共通ルーチンの内部処理は複雑であるため、改修要員が処理を把握することが困難となり、改修規模の増大や、改修ミスによる他のアプリケーションへの影響が懸念された。
【００４９】
そこで、図１８のオブジェクト指向アプリケーション５０４に示すように、オブジェクト指向による設計手法（オブジェクトモデリング）により、かかる複数のアプリケーションを、統合アプリケーション１１０に統合することとした。具体的には、各アプリケーションの共通処理部分をオブジェクトモデルとして抽出し、このオブジェクトモデルの集合体から、統合アプリケーション１１０を構成する。そして、従来のコピー機能やスキャナ機能といった機能は、かかるオブジェクトモデルの協調関係によって実現する。
【００５０】
このような構成をとることにより、たとえばプリンタ機能のような新規機能の追加は、かかるオブジェクトモデルに属するクラスのサブクラス化などにより対処できる。このため、改修部分が明確となり、改修による他の機能への影響を小さくすることができる。また、オブジェクトモデリングによるプログラムは、従来の手続き型プログラムに比べて、処理の把握が容易であるため、改修要員が処理を把握することも容易となり、改修規模の削減や、改修ミスによる他のアプリケーションへの影響を小さくすることができる。
【００５１】
図１９は、図１８に示したサービス層分離後アプリケーション５０２の段階における従来のアプリケーションの構成と、かかるアプリケーションとサービス層１０２の各ドライバーの関係を示した説明図である。同図に示すように、アプリケーション層１０１は、コピーアプリケーション１２０、スキャナアプリケーション１３０、ファックスアプリケーション１４０およびプリンタアプリケーション１５０を有する。
【００５２】
たとえば、コピーアプリケーション１２０は、コピー機能を実現するために、スキャナ制御部１０２ａ、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃおよびその他の制御部１０２ｇとデータの送受信をおこなう。また、ファックスアプリケーション１４０は、ファックス機能を実現するために、プロッタ制御部１０２ｂ、蓄積制御部１０２ｃ、ＦＡＸ送受信制御部１０２ｅ、ネットワーク通信制御部１０２ｆおよびその他の制御部１０２ｇとデータの送受信をおこなう。このように、アプリケーション層１０１の各アプリケーションとサービス層１０２の各ドライバー間の通信は、複雑なものとなっていた。
【００５３】
図３の説明に戻ると、上述したオブジェクトモデリングにより、アプリケーション層１０１に存在した複数のアプリケーションは、統合アプリケーション１１０に統合されている。そして、各アプリケーションが重複しておこなっていた各ドライバーとの通信処理は、統合アプリケーション１１０を構成する所定のオブジェクトモデルにおこなわせるように構成したことにより、アプリケーション層１０１のアプリケーションと、サービス層１０２の各ドライバー間の通信は、図１９と比較して単純になっている。
【００５４】
次に、統合アプリケーション１１０の内部構成について説明する。図４は、後述する本実施形態の特徴部分である設定管理部１１１ｂの統合アプリケーション１１０における位置づけと、かかる統合アプリケーション１１０の概要構成を説明するための説明図である。
【００５５】
同図に示すように、統合アプリケーション１１０は、操作系サブシステム１１１と、管理系サブシステム１１２および実行系サブシステム１１３とを有する。操作系サブシステム１１１は、マンマシンインタフェースを担当するソフトウェア群である。具体的には、この操作系サブシステム１１１は、ユーザの要求の受付サービスをおこなうとともに、かかる要求に対応した成果物（たとえば、コピーした記録紙）の品質、コストおよび納期を考慮したうえで、ユーザに対して情報提供サービスをおこなう。
【００５６】
かかる操作系サブシステム１１１は、操作受付部１１１ａと後述する本実施形態の特徴部分である設定管理部１１１ｂとを有する。操作受付部１１１ａは、ユーザの操作により要求を受け付け、サービスの内容に応じて処理を振り分けるソフトウェア群である。
【００５７】
また、本実施形態の特徴部分である設定管理部１１１ｂは、かかる操作受付部１１１ａから、文書操作（たとえば、コピー）の設定に関する要求を受け取り、かかる設定の組み合わせに矛盾がないよう管理するソフトウェア群である。
【００５８】
管理系サブシステム１１２は、複合機１の資源を管理するソフトウェア群である。具体的には、この管理系サブシステム１１２は、ハードウェアリソース２０１およびこのハードウェアリソース２０１が保持するデータ状態の管理サービスをおこなう。
【００５９】
実行系サブシステム１１３は、ユーザ要求の実行を担当するソフトウェア群である。具体的には、この実行系サブシステム１１３は、コピーなどの文書操作要求から成果物の出力までの実行サービスをおこなう。そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３は、必要に応じて相互に処理を依頼し結果を受け取ることで、統合アプリケーション１１０全体として複合機１に必要とされるサービス提供をおこなう。
【００６０】
図５は、図４に示した各サブシステムを、ＵＭＬ（Unified Modeling Language）のクラス図（ＵＭＬクラス図）に置き換えた図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において広く用いられている。
【００６１】
図５に示すように、統合アプリケーション１１０は複数のパッケージを有し、また、この統合アプリケーション１１０自体もひとつのパッケージとなっている。ここで、パッケージとはＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、左上にタブのついたフォルダの形をしたシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示している。
【００６２】
図５に示したように、統合アプリケーション１１０は、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３の３つのパッケージを内部に有するパッケージである。さらに、操作系サブシステム１１１は、操作受付部１１１ａおよび設定管理部１１１ｂの２つのパッケージを内部に有するパッケージである。そして、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３を相互に結ぶ直線は、各パッケージ間に処理依頼（たとえば、メッセージ送受信）などの関連があることを示している。なお、操作系サブシステム１１１、管理系サブシステム１１２および実行系サブシステム１１３のタブの右端に記された記号は、かかるパッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００６３】
次に、本実施形態の特徴部分である設定管理部１１１ｂについて詳細に説明する。なお、設定管理部１１１ｂは、オブジェクト指向に基づいて設計するにあたって、既存の処理を単純にオブジェクト化せず、機能追加や改修をより一層容易におこなうことができるようにオブジェクトモデルを構成した。かかるオブジェクトモデルの構成について図６〜図１０を用いて説明しておく。
【００６４】
図６は、複合機１の操作パネル４００の一例を示した図である。同図に示すように、かかる操作パネル４００は、初期設定キー４０１、コピーキー４０２、コピーサーバーキー４０３、プリンタキー４０４、送信キー４０５、テンキー４０６、クリア／ストップキー４０７、スタートキー４０８、予熱キー４０９、リセットキー４１０および液晶タッチパネル４２０を有する。
【００６５】
初期設定キー４０１をタッチすると、液晶タッチパネル４２０に初期設定用のメニューが表示され、かかるメニューにおいては、収納される用紙サイズなどを設定することができる。また、コピーをしたい場合にはコピーキー４０２を、コピー結果を複合機１に蓄積したい場合にはコピーサーバーキー４０３を、プリンタに係る操作をおこないたい場合には、プリンタキー４０４を、ファックスや蓄積画像などの送信をしたい場合には送信キー４０５を、それぞれタッチすると、液晶タッチパネル４２０に対応したメニューが表示される。
【００６６】
図７は液晶タッチパネル４２０に表示されるメニューの一例である。このメニューは、図６に示したコピーキー４０２をタッチすることにより表示される。図７に示すように、この液晶タッチパネル４２０には、入力モード４２１として、紙原稿４２１ａタブおよび電子原稿４２１ｂタブが表示され、紙原稿４２１ａタブを選択した場合には、入力モードエリア４２２には、濃度設定部４２２ａおよび特殊原稿設定部４２２ｂが表示される。また、出力モード４２３として、印刷４２３ａタブ、保存４２３ｂタブおよび送信４２３ｃタブが表示され、印刷４２３ａタブを選択した場合には、出力モードエリア４２４には、トレイ選択部４２４ａおよび倍率設定部４２４ｂが表示される。
【００６７】
たとえば、かかるトレイ選択部４２４ａでは、「トレイ１」〜「トレイ４」のいずれか一つを選択でき、倍率設定部４２４ｂでは、「等倍」あるいは「用紙指定変倍」のいずれか一つを選択できる。ここで、択一型の選択肢を有するトレイ選択部４２４ａなどを「設定項目」と呼び、択一型の選択肢「トレイ１」〜「トレイ４」のそれぞれを、「設定値」と呼ぶこととする。
【００６８】
図８は、設定値組み合わせテーブル４３０を説明するための説明図である。従来、かかる「設定値」の組み合わせ関係を管理するために、図８に示すような設定値組み合わせテーブル４３０を用いることが一般的であった。設定値組み合わせテーブル４３０では、すべての「設定値」を羅列して２次元のテーブルとし、同時選択が不可能な設定値の組み合わせを管理する。たとえば、設定値Ａと設定値Ｂとは同時に選択することができない組み合わせであり、かつ、後に選択した設定値が優先されるのであれば、かかる組み合わせ関係を「●」で示したセルで管理する。また、設定値Ａと設定値Ｄとは同時に選択することができない組み合わせであり、かつ、先に選択した設定値が優先されるのであれば、かかる組み合わせ関係を「×」で示したセルで管理する。なお、「●」や「×」の記号がないセルは、同時選択が可能な設定値の組み合わせをあらわす。
【００６９】
しかしながら、複合機１の多機能化により、かかる複合機１が多くの設定値を有するようになってくると、これにともなって、設定値組み合わせテーブル４３０のサイズは大規模化してきた。このため、複合機１の設計変更や機能追加をおこなう際に、かかるテーブルの修正ミスが生じやすくなり各機能の組み合わせ制御が正しくおこなわれない危険性が高まってきた。
【００７０】
そこで、この設定値組み合わせテーブル４３０を「設定対象」ごとに分割し、各「設定対象」と、かかる「設定対象」に属する「設定項目」と、かかる「設定項目」に属し択一的に選択可能な「設定値」との階層関係（階層モデル）であらわすこととした。ここで、「設定対象」とは、図７に示したメニュー例の各タブ（４２１ａなど）のように、「紙原稿による入力」、「電子原稿による入力」、「印刷物としての出力」、「保存（蓄積）文書としての出力」といった、機能別に区分けされた「設定項目」のグループのことをあらわす。
【００７１】
また、「設定対象」とは、複数の設定項目から構成されて固有の役割を果たすものとする。「設定対象」は、例えば画像形成装置において、「紙原稿」、「受信文書」、「送信文書」、「印刷物」などがある。つまり、「設定対象」は、設定可能な複数の「設定項目」と、それの属する「設定値」がなす構成を管理し、これらを組み立てて「設定対象」固有の役割を果たすことになる。
【００７２】
図９は、アプリケーション毎の設定値組み合わせテーブルを説明するための説明図である。本図に示すように、コピーの設定値組み合わせテーブルと、スキャナの設定値組み合わせテーブルにおいては、各アプリケーションの全ての設定項目の設定値の組み合わせを保持している。これらの設定値組み合わせテーブルにおいて、アプリケーション間で異なる設定項目の項目値も多いが、同じ設定項目の項目値も含まれている。そこで、上述したように設定値組み合わせテーブルの「設定対象」毎に分割すると、異なるアプリケーションで同じ「設定対象」を保持していることになる。つまり、アプリケーション毎の「設定対象」の共有化を図ることができる。
【００７３】
図１０は、組み合わせテーブルから階層モデルへの置き換えについて説明するための説明図である。同図に示す紙原稿テーブル４４０は、設定値組み合わせテーブル４３０から「設定対象」が「紙原稿による入力」である部分を分割したものである。この紙原稿テーブル４４０の「設定項目−設定値モデル」への置き換えは、以下の手順によりおこなう。
【００７４】
すなわち、同図に示した原稿面４４０ａ部分には、「片面」および「両面」の選択肢があり、これらの選択肢は同時に選択することはできない。したがって、原稿面４４０ａ部分を、同図に示した原稿面階層モデル４４１に置き換える。この原稿面階層モデル４４１は、「設定項目」に相当する「原稿面」配下に、択一的に選択可能な「設定値」に相当する「片面」および「両面」を有する階層構造（ツリー構造）であらわされる。
【００７５】
同様に、紙原稿テーブル４４０の原稿サイズ４４０ｂを、原稿サイズ階層モデル４４２に置き換える。このような置き換え作業を他の「設定対象」についてもおこなうことにより、設定値組み合わせテーブル４３０全体を「設定項目−設定値モデル」に置き換えていく。
【００７６】
図１１は、組み合わせルールの適用について説明するための説明図である。同図に示す印刷物テーブル４５０は、設定値組み合わせテーブル４３０から、「設定対象」が「印刷物としての出力」である部分を分割したものである。なお、画像コピー４５０ａを画像コピー階層モデル４５１に置き換え、転写サイズ４５０ｂを転写サイズ階層モデル４５２に置き換える点は、上述した図９の説明と同様である。
【００７７】
しかしながら、同図に示した画像コピー４５０ａと転写サイズ４５０ｂとの間には、機能（設定項目）間にまたがった「組み合わせ制限４５０ｃ」が存在する。すなわち、画像コピーの「リピート」を先に選択した場合には、転写サイズの「定型」を後に選択することはできない。このような複数機能間の組み合わせ制限を表現するために、異なる機能（設定項目）に属する「設定値」間の組み合わせ制限を一括して管理する「組み合わせルール４６０」を用いることとした。なお、設定項目をまたいだ設定値間の選択制限がある場合にのみ、この組み合わせルール４６０を用いることとしたので、設定値の選択関係の整合性を効率的に保つことが可能となる。
【００７８】
このようなオブジェクトモデリングにより、従来の設定値組み合わせテーブル４３０を、「設定項目−設定値モデル」を用いて分割し、二次元テーブルのサーチをツリー構造のサーチに置き換えたので、設定値間の選択制限のサーチ処理を効率良くおこなうことができる。また、設定値を羅列したテーブル管理を、設定値の階層管理におきかえたことにより、設定値間の関係が明確になり効率的なメンテナンスをおこなうことができる。さらに、異なる設定項目に属する選択値間に選択制限がある場合にのみ、組み合わせルール４６０を用いることとしたので、選択制限のサーチ処理の効率をおとすことなく、組み合わせルールを適用することができる。
【００７９】
また、本実施の形態は、設定可能な設置値を、「リピート」「ダブル」のような選択肢に制限するものではなく、数値や文字列等、あらゆる情報を「設定値」として用いることができる。
【００８０】
図１２は、本実施の形態の組み合わせルールの構成の例を示した説明図である。本図に示すように、組み合わせルールは、設定項目Ａと、設定値Ａと、適用方法と、設定項目Ｂと、設定値Ｂと、対応付けた構成で保持している。そして、設定値Ａと設定値Ｂに対する設定を適用方法に従って行われる。例えば、画像コピーの設定値「リピート」が選択された場合には、適用方法では、左が優先と記載されているため、転写サイズの「定型」は選択することができなくなる。また、転写サイズの「定型」が選択された後に、画像コピーの設定値「リピート」が選択された場合、同様に左が優先と記載されているため、転写サイズの「定型」の設定が解除され、転写サイズの「定型」は選択することができなくなる。このように、二つ以上の設定項目で、矛盾する設定項目の設定値が選択されるのを防止するのみならず、適用方法を設定することで、利用者が選択する際の利便性が向上する。
【００８１】
また、適法方法は、「左が優先」以外にも、本図に示した「互いに先優先」や、「右が優先」など、利用者の便宜などに応じて様々な設定を行うことができる。
【００８２】
図１３は、本実施の形態の特徴部分である設定管理部１１１ｂで行われる処理の概念を示した概念図である。「シェルフ（棚）」の上に配置されたバインダーを想定している。本図に示すバインダーは、「モードセット」を想定している。そして、これらバインダーは、各「モードセット」において必要な全ての「設定対象」が束ねられている。そして、異なるバインダー間で、共通する「設定対象」がある場合、同じ「設定対象」を示すページが挟み込まれることになる。
【００８３】
モードセットとは、設定集合の単位として用いている。そして、モードセット毎に、「コピー」、「ファックス」、「スキャナ」、「プリンタ」等のアプリケーション毎に必要な全ての「設定対象」を保持している。つまり、モードセットは、１つ以上の設定対象の組み合わせからなる。例えば、コピー機能を示すモードセットは、入力対象として設定対象「紙原稿」、出力対象として設定対象「印刷物」の組み合わせからなる。また、モードセットは、従来からある機能を実現するための対象物の組み合わせ以外の組み合わせでも良い。例えば、モードセットは、入力対象として設定対象「受信文書」、出力対象として設定対象「送信文書」を組み合わせたものとしてもよい。このようなモードセットにより、メール若しくはファックスで受信した受信文書に対して、メール若しくはファックスにて送信することが可能になる。
【００８４】
また、モードセットを管理する「シェルフ（棚）」を用意し、これを「モードシェルフ」とする。「モードシェルフ」は、１つ以上の「モードセット」を管理すると共に、利用者の要求に応じて、「モードセット」の確保や、解放（元に戻す）を行う。
【００８５】
図１４は、本実施形態の特徴部分である設定管理部１１１ｂのクラス構成を示すＵＭＬクラス図である。ここで、クラスとＵＭＬクラス図におけるクラスの記述方法について説明しておく。クラスとは、オブジェクト指向システムを構成するオブジェクトの設計図に相当する概念であり、オブジェクト内部に有する属性と処理や、他のオブジェクトとの関係を定義するものである。
【００８６】
ＵＭＬクラス図におけるクラスは、３段の区画を有する矩形として記述される。それぞれの区画は、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、設定対象クラス３１０を示す矩形の名前区画は、かかるクラスのクラス名が「設定対象」であることを示し、属性区画は、かかるクラスが有する属性が、「対象物名称」であることを示し、操作区画は、かかるクラスが有する操作が、「選択する（）」であることを示している。
【００８７】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、あらかじめＲＯＭ１２ａに格納されたこのプログラムが実行されると、各クラスはＲＡＭ１２ｂの所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ１２ｂ上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ１２ｂ上の各データ（属性）の書き込みおよび読み出しをすることが可能となる。
【００８８】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については「選択する（）」のように「（）」記号を付することが通例であり、「（引数１，引数２）」のように、かかる操作に引き渡す引数を記述する場合もある。
【００８９】
次に、本実施形態の特徴部分である設定管理部１１１ｂのクラス構成について説明する。図１４に示すように、設定管理部１１１ｂは、モードシェルフクラス３５０と、モードセットクラス３６０と、設定対象クラス３１０と、設定項目クラス３２０と、設定値クラス３３０と、組み合わせルールクラス３４０とを有する。なお、設定対象クラス３１０、設定項目クラス３２０、設定値クラス３３０および組み合わせルールクラス３４０は、特許請求の範囲における設定受付手段、設定項目手段、設定値手段および組み合わせルール手段にそれぞれ相当する。
【００９０】
モードシェルフクラス３５０は、上述した「モードシェルフ」に相当するクラスであり、操作受付部１１１ａから文書操作の設定に関する要求を受け取り、要求に対応する「モードセット」の確保や解放を行う。具体的には、このモードシェルフクラス３５０は、属性として、状態３５０ａ、仕様保持数３５０ｂを有し、操作として、確保する（）３５０ｃ、解放する（）３５０ｄを有する。なお、かかる設定対象クラス３１０を実体化したオブジェクトが生成されると、状態３５０ａ、仕様保持数３５０ｂはＲＡＭ１２ｂ上に展開されるので、このデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００９１】
状態３５０ａは、モードシェルフの現在の状態を保持している。この状態３５０ａにより、利用者から設定を受け付けることが可能であるか否か判断することができる。
【００９２】
仕様保持数３５０ｂは、現在利用者に対して提供することができるモードセットの数を保持している。
【００９３】
確保する（）３５０ｃは、利用者の要求に応じたモードセットを確保する。つまり、操作受付部１１１から機能の要求を受け付けた場合、モードシェルフクラス３５０は、要求に適したモードセットを判断し、このモードセットに対応するモードセットクラス３６０のオブジェクトを確保し、確保したモードセットのオブジェクトに対して設定を要求するする。これにより、利用者は、確保したモードセットクラス３６０が保持する「設定対象」の各「設定項目」に対して「設定値」を選択することが可能となる。
【００９４】
解放する（）３５０ｄは、利用者から確保する（）３５０ｃで特定されたモードセットクラス３６０のオブジェクトに対して行った設定要求を取り消す処理を行う。
【００９５】
モードセットクラス３６０は、上述した「モードセット」に相当するクラスであり、各「モードセット」に属する「設定対象」の管理を行う。具体的には、このモードセットクラス３６０は、属性として、状態３６０ａ、セット種別３６０ｂを有し、操作として、設定する（）３６０ｃを有する。なお、かかるモードセットクラス３６０を実体化したオブジェクトが生成されると、状態３６０ａ、セット種別３６０ｂはＲＡＭ１２ｂ上に展開されるので、このデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【００９６】
状態３６０ａは、モードシェルフクラス３５０からの設定依頼を受付可能であるか否かの状態を示し、たとえば、受付可能（有効）または受付不可能（無効）の２つの状態を有する。
【００９７】
セット種別３６０ｂは、設定対象の組み合わせからなる設定集合を識別する種類を保持する。セット種別３６０の例としては、例えば、コピー、ファックス、スキャナなどのアプリケーションの種類などが考えられる。
【００９８】
設定する（）３６０ｃは、利用者からの要求を受け付けた場合、モードセットクラス３６０が、利用者の要求に対応する設定対象クラス３１０を特定し、設定対象クラス３１０の選択する（）３１０を呼び出す。
【００９９】
設定対象クラス３１０は、上述した「設定対象」に相当するクラスであり、各「設定対象」に属する「設定項目」の管理をおこなう。具体的には、この設定対象クラス３１０は、属性として、対象物名称３１０ａを有し、操作として、選択する（）３１０ｂを有する。なお、かかる設定対象クラス３１０を実体化したオブジェクトが生成されると、対象物名称３１０ａはＲＡＭ１２ｂ上に展開されるので、このデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１００】
対象物名称３１０ａは、複合機１内の「設定対象」を特定するための一意の名称であり、複合機１内に同一の名称を有する設定対象クラス３１０のオブジェクトが存在しないよう異なる値が設定される。この対象物名称３１０ａは、複合機１における各オプション機器の選択の有無により、各「設定対象」が存在するか否かの判定に用いられる。
【０１０１】
選択する（）３１０ｂは、モードセットクラス３６０から設定項目に対する要求を受け付け、受け付けた要求が自己の設定対象クラス３１０に対応するものか否かを対象物名称３１０ａから判定する。受け取った要求が自身に関する設定要求である場合には、設定対象クラス３１０は、配下の設定項目クラス３２０に対し、設定値クラス３３０の選択を依頼する。
【０１０２】
設定項目クラス３２０は、上述した「設定項目」に相当するクラスであり、設定対象クラス３１０および組み合わせルールクラス３４０から設定依頼を受け取り、各「設定項目」に属する「設定値」の設定処理をおこなう。具体的には、この設定項目クラス３２０は、属性として、設定項目名３２０ａおよび状態３２０ｂを有し、操作として、設定値を選択する（）３２０ｃ、設定値を選択解除する（）３２０ｄ、設定値を選択禁止にする（）３２０ｅおよび設定値を選択可能にする（）３２０ｄを有する。なお、かかる設定項目クラス３２０を実体化したオブジェクトが生成されると、設定項目名３２０ａおよび状態３２０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１０３】
設定項目名３２０ａは、「設定項目」を特定するための一意の名称であり、同一の「設定対象」に属する「設定項目」の設定項目名３２０ａには、それぞれ異なる値が設定される。この設定項目名３２０ａは、設定対象クラス３１０が設定値クラス３３０の選択依頼をおこなう際に、該当する設定項目クラス３２０を特定するために用いられる。また、状態３２０ｂは、設定対象クラス３１０または組み合わせルールクラス３４０からの設定依頼を受付可能であるか否かの状態を示し、たとえば、受付可能（有効）または受付不可能（無効）の２つの状態を有する。
【０１０４】
設定値を選択する（）３２０ｃは、設定対象クラス３１０から設定選択依頼を受け付け、該当する設定値クラス３３０の状態を選択状態に変化させることで設定内容の整合を保つ処理をおこなう。また、設定値を選択解除する（）３２０ｄは、設定対象クラス３１０から設定解除依頼を受け付け、該当する設定値クラス３３０の状態を選択可能状態に変化させることで設定内容の整合を保つ処理をおこなう。なお、この選択値を解除する（）３２０ｄは、組み合わせルールクラス３４０からの設定解除依頼も受け付ける。たとえば、「設定項目Ａ」に属する「設定値Ａ２」と「設定項目Ｂ」に属する「設定値Ｂ１」とが同時に選択することができない設定値であり、かつ、後に選択した設定値が有効である場合には、設定値Ａ２を選択した後に設定値Ｂ１を選択すると、設定項目Ａは、組み合わせルールクラス３４０から設定値Ａ１の設定解除依頼を受け付ける。
【０１０５】
設定値を選択禁止にする（）３２０ｅは、組み合わせルールクラス３４０から設定禁止依頼を受け付け、該当する設定値クラス３３０の状態を選択禁止状態に変化させることで設定内容の整合を保つ処理をおこなう。たとえば、「設定項目Ａ」に属する「設定値Ａ２」と「設定項目Ｂ」に属する「設定値Ｂ１」とが同時に選択することができない設定値であり、かつ、先に選択した設定値が有効である場合には、設定値Ａ２を選択すると、設定項目Ｂは、組み合わせルールクラス３４０から設定値Ｂ１の設定禁止依頼を受け付ける。
【０１０６】
設定値を選択可能にする（）３２０ｆは、組み合わせルールクラス３４０から設定可能依頼を受け付け、該当する設定値クラス３３０の状態を選択可能状態に変化させることで設定内容の整合を保つ処理をおこなう。たとえば、「設定項目Ａ」に属する「設定値Ａ２」と「設定項目Ｂ」に属する「設定値Ｂ１」とが同時に選択することができない設定値であり、かつ、先に選択した設定値が有効である場合について説明する。この場合、設定値Ａ２を選択することにより設定項目Ｂが設定値Ｂ１の設定禁止依頼を受け付けた後に設定値Ａ２を選択解除すると、設定項目Ｂは、組み合わせルールクラス３４０から設定値Ｂ１の設定可能依頼を受け付ける。
【０１０７】
設定値クラス３３０は、上述した「設定値」に相当するクラスであり、設定項目クラス３２０から設定依頼を受け取り、各「設定項目」に属する「設定値」の設定処理をおこなう。また、同時に設定することができない他の「設定値」が存在する場合には、組み合わせルールクラス３４０を起動する処理をおこなう。具体的には、この設定値クラス３３０は、属性として、設定値名３３０ａおよび選択状態３３０ｂを有し、操作として、選択する（）３３０ｃ、選択解除する（）３３０ｄ、選択禁止にする（）３３０ｅおよび選択可能にする（）３３０ｆを有する。なお、かかる設定値クラス３３０を実体化したオブジェクトが生成されると、設定値名３３０ａおよび選択状態３３０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１０８】
設定値名３３０ａは、「設定値」を特定するための一意の名称であり、同一の「設定項目」に属する「設定値」の設定値名３３０ａには、それぞれ異なる値が設定される。この設定値名３３０ａは、設定項目クラス３２０が設定値クラス３３０の選択依頼をおこなう際に、該当する設定値クラス３３０を特定するために用いられる。
【０１０９】
選択状態３３０ｂは、設定項目クラス３２０からの設定依頼を受付可能であるか否かの状態を示し、「選択可能」、「選択禁止」および「選択中」のうちいずれか一つの状態を有する。そして、各状態の遷移関係は以下のようになる。すなわち、「選択可能」状態において、選択する（）３３０ｃが呼び出されると「選択中」状態に遷移する。「選択中」状態において、選択解除する（）３３０ｄが呼び出されると「選択可能」状態に遷移し、選択禁止にする（）３３０ｅが呼び出されると「選択禁止」状態に遷移する。
【０１１０】
また、「選択可能」状態において、選択禁止にする（）３３０ｅが呼び出されると「選択禁止」状態に遷移し、この状態において、選択可能にする（）３３０ｆが呼び出されると「選択可能」状態に遷移する。このように、選択状態３３０ｂは、各操作（３３０ｃ〜３３０ｄ）に応じて、「選択可能」、「選択禁止」および「選択中」のいずれか一つの状態に遷移する。
【０１１１】
選択する（）３３０ｃは、設定項目クラス３２０から呼び出され、選択状態３３０ｂを「選択中」状態に遷移させる処理をおこなうとともに、同時に設定することができない他の「設定値」が存在する場合には、組み合わせルールクラス３４０を起動する処理をおこなう。また、選択解除する（）３３０ｄは、設定項目クラス３２０から呼び出され、選択状態３３０ｂを「選択可」状態に遷移させる処理をおこなうとともに、同時に設定することができない他の「設定値」が存在する場合には、組み合わせルールクラス３４０を起動する処理をおこなう。
【０１１２】
選択禁止にする（）３３０ｅは、設定項目クラス３２０から呼び出され、「選択可能」状態あるいは「選択中」状態の選択状態３３０ｂを「選択禁止」状態に遷移させる処理をおこなう。また、選択可能にする（）３３０ｆは、設定項目クラス３２０から呼び出され、選択状態３３０ｂを「選択可能」状態に遷移させる処理をおこなう。
【０１１３】
組み合わせルールクラス３４０は、「設定項目」をまたいだ「設定値」間に同時に選択できない組み合わせがある場合に、選択が禁止される組み合わせのルールを保持するとともに、該当する設定項目クラス３２０にかかるルールを適用するクラスである。具体的には、この組み合わせルールクラス３４０は、属性として、適用方法３４０ａおよび適用する設定値３４０ｂを有し、操作として、適用する（）３４０ｃを有する。なお、かかる組み合わせルールクラス３４０を実体化したオブジェクトが生成されると、適用方法３４０ａおよび適用する設定値３４０ｂはＲＡＭ１２ｂ上に展開されるので、これらのデータ（属性）の書き込みおよび読み出しをすることが可能となる。
【０１１４】
適用方法３４０ａは、「設定項目」をまたいだ「設定値」間に同時に選択できない組み合わせがある場合に、設定値３４０ｂに保持される設定値クラス３３０を実体化したオブジェクトの状態遷移のルールを保持する。たとえば、設定値３４０ｂに設定されたオブジェクトの状態を「選択中」状態から「選択可能」状態に遷移させたり、「選択中」状態から「選択禁止」状態に遷移させたりする内容のルールを保持する。また、適用する設定値３４０ｂは、組み合わせルールを適用する対象となる、かかるオブジェクトの識別番号を保持する。
【０１１５】
適用する（）３４０ｃは、適用する設定値３４０ｂに保持される設定値クラス３３０のオブジェクトに対し、適用方法３４０ａに保持される状態遷移のルールを適用する処理をおこなう。たとえば、「設定中」に遷移した設定値クラス３３０オブジェクトから呼び出された場合、適用方法３４０ａに「選択禁止」状態に遷移させるルールが保持されていれば、適用する設定値３４０ｂに保持されるオブジェクトが所属する設定項目クラス３２０のオブジェクトに対し、設定値３４０ｂに保持されるオブジェクトの状態を「選択禁止」に遷移するよう指示する。
【０１１６】
次に、図１３に示した各クラス間の関係について説明する。同図に示したように、ＵＭＬクラス図においては、クラス間に何らかの関係がある場合には、それらのクラスを表す矩形の間が直線で結ばれる。この直線の両端付近の文字はクラスのロールを表し、数字はクラスの多重度を表す。ここで、ロールとは、直線で結ばれた他方のクラスに対する当該クラスの役割のことであり、多重度とは、直線で結ばれた他方のクラスのオブジェクトと関連付けられて生成されるオブジェクトの数のことである。
【０１１７】
たとえば、設定対象クラス３１０からみた設定項目クラス３２０の役割は「所属者」であり、設定項目クラス３２０からみた設定対象クラス３１０の役割は「所属先」である。また、設定対象クラス３１０の多重度は「１」であり、設定項目クラス３２０の多重度は「１．．ｎ」である。ここで、「１．．ｎ」は、かかる設定項目クラス３２０の多重度が、１からｎの範囲であることを示している。また、たとえば、「１．．３」の記載をした場合には、かかるクラスの多重度が、１〜３の範囲であることを示す。
【０１１８】
まず、モードシェルフクラス３５０とモードセットクラス３６０とのクラス関係について説明する。モードシェルフクラス３５０は、モードセットクラス３６０を管理すると共に、利用者からの要求に応じてモードセットクラス３６０を１つ選択する。したがって、モードシェルフクラス３５０は、モードセットクラス３６０を格納する「格納場所」であり、モードセットクラス３６０は、「保持している設定内容」であるという関係をなしている。
【０１１９】
また、モードシェルフクラス３５０のオブジェクトは１個のみ生成され、利用者により要求を受け付けた「現在の設定内容」を保持するモードセットクラス３６０のオブジェクトは１つに特定される。また、アプリケーション等の設定集合を示すモードセットクラス３６０のオブジェクトは、１つのモードシェルフクラス３５０のオブジェクトに所属するので、モードシェルフクラス３５０のオブジェクト１個に対して、モードセットクラス３６０のオブジェクトは０個以上ｎ個以下の範囲で存在する。
【０１２０】
次に、モードセットクラス３６０と設定対象クラス３１０とのクラス関係について説明する。モードセットクラス３６０は、設定対象クラス３１０を管理すると共に、利用者からの要求に応じて設定対象クラス３１０を１つ選択する。したがって、モードセットクラス３６０は、設定対象クラス３１０を管理する「設定全体」であり、設定対象クラス３１０は、「出力対象」または「入力対象」であるという関係をなしている。
【０１２１】
また、設定対象クラス３１０のオブジェクトは、１つのモードセットクラス３６０のオブジェクトに所属する。また、モードセットクラス３６０は設定対象を管理するクラスであるため、設定対象クラス３１０のオブジェクトを１つ以上保持している。これにより、モードセットクラス３６０のオブジェクト１個に対して、設定対象クラス３１０のオブジェクトは１個以上ｎ個以下の範囲で存在する。
【０１２２】
次に、設定対象クラス３１０と設定項目クラス３２０とのクラス関係について説明する。設定対象クラス３１０のオブジェクトは、「紙原稿による入力」や「電子原稿による入力」といったユーザ操作の「設定対象」ごとに生成される。そして、各「設定対象」に所属する「設定項目」に対応する設定項目クラス３２０のオブジェクトは、かかる「設定項目」と同数生成される。また、設定項目クラス３２０の各オブジェクトは、設定対象クラス３１０から生成されるいずれか一つのオブジェクトに所属する。このように、設定対象クラス３１０と設定項目クラス３２０とは、「所属先」と「所属者」という関係をなしている。
【０１２３】
次に、設定項目クラス３２０と設定値クラス３３０との関係について説明する。設定項目クラス３２０のオブジェクトは、複数の「設定値」をとりまとめた設定群の役割を有している。したがって、設定項目クラス３２０のオブジェクトと設定値クラス３３０のオブジェクトとは、「所属元」と「保持している設定値」という関係をなしている。設定値クラス３３０のオブジェクトは、設定項目クラス３２０のいずれか一つのオブジェクトに所属するので、「所属元」は１個であり、「保持している設定値」は１個以上ｎ個以下となる。なお、設定項目クラス３２０側に記された白抜きのひし形は、あるクラスが別のクラスの一部として含まれる関係（集約関係）を示している。
【０１２４】
また、かかる設定群においては、いずれか一つの「設定値」のみを選択することができる。したがって、設定項目クラス３２０のオブジェクトと設定値クラス３３０オブジェクトとは、「所属元」と「選択している設定値」という関係もなしている。なお、選択された設定値クラス３３０のオブジェクトは、設定項目クラス３２０のオブジェクトと１対１の関係をなし、選択されていない設定値クラス３３０のオブジェクトは「所属元」との関係が不要となるので、設定項目クラス３２０のオブジェクトと１対０の関係をなす。
【０１２５】
次に、設定値クラス３３０と組み合わせルールクラス３４０との関係について説明する。同一の「設定項目」に複数の「設定値」が所属する場合には、いずれか一つの「設定値」のみを選択することができることは上述したとおりである。しかしながら、異なる「設定項目」にそれぞれ所属する「設定値」間に、同時に選択することができない関係がある場合もある。かかる場合に、設定値クラス３３０のオブジェクトは、組み合わせルールクラス３４０のオブジェクトを用いて、同時選択ができない「設定値」の状態を、「選択禁止」状態や「選択可能」状態に遷移させる。したがって、設定値クラス３３０のオブジェクトと組み合わせルールクラス３４０のオブジェクトとは、「関係元」と「適用するルール」という関係をなしている。
【０１２６】
なお、同時選択が不可能な「設定値」が存在しない場合があり、同時選択が不可能な「設定値」が複数存在する場合もあるので、「適用するルール」は０個以上ｎ個以下となる。また、組み合わせルールクラス３４０の各オブジェクトは、「関係元」となる設定値クラスのオブジェクトと１対１に対応するので、「関係元」の多重度は１となる。
【０１２７】
次に、設定項目クラス３２０と組み合わせルールクラス３４０との関係について説明する。組み合わせルールクラス３４０の各オブジェクトは、「設定項目」をまたいだ「設定値」間の同時選択禁止のルールをあらわしており、かかるルールは、対象となる「設定値」が所属する「設定項目」に対して適用される。したがって、設定項目クラス３２０のオブジェクトと組み合わせルールクラス３４０のオブジェクトとは、「ルール適用先」と「適用されるルール」という関係をなしている。なお、各ルールは、各「設定項目」に適用されるので、「ルール適用先」および「適用されるルール」の多重度は１となる。
【０１２８】
このように、モードシェルフクラス３５０、モードセットクラス３６０、設定対象クラス３１０、設定項目クラス３２０、設定値クラス３３０、組み合わせルールクラス３４０の各オブジェクトは、相互に関連し合い、協調して、設定管理部１１１ｂに必要な機能を実現している。
【０１２９】
図１５は、上述したクラスに基づいて実体化されるオブジェクトのツリー構造を説明する説明図である。本図に示すように、モードシェルフクラス３５０のオブジェクトから利用者の設定要求を受け付けた場合、モードシェルフクラス３５０のオブジェクトは、要求に適したモードセットクラス３６０のオブジェクト「モードセット１」を特定して要求を受け渡す。そして、設定対象クラス３１０のオブジェクト「設定対象Ａ」、設定項目クラス３２０のオブジェクトを介して設定値クラスのオブジェクトの選択状態３３０ｂが変更されることになる。なお、本図では説明を容易にするために省略しているが、設定対象は１つ以上の設定項目を保持していることとする。
【０１３０】
図１５で示すようなツリー構造を形成しているので、例えば、「モードセット１」及び「モードセット２」で共通する「設定対象Ａ」がある場合には、「設定対象Ａ」に対応する設定対象クラス３１０のオブジェクトを生成して、「モードセット１」及び「モードセット２」に対応するモードセットクラス３６０のオブジェクトに保持させることができる。
【０１３１】
これにより、生成したオブジェクトを流用できるので、開発が容易になると共に、規模が小さくなるため誤りが減少する。
【０１３２】
次に、図１６に示した各クラスの操作の実行手順について例をあげて説明する。図１６は、操作受付部１１１ａから設定値の選択要求があった際の操作の実行手順を示すＵＭＬシーケンス図である。
【０１３３】
ここで、ＵＭＬシーケンス図について説明しておく。図１６の上部に並んだ矩形は、それぞれがクラスのオブジェクトを示している。各オブジェクトから下方に伸びた線は、各オブジェクトが生存していることを示す線（ライフライン）であり、上方から下方に向かって時間が流れているものとみなされる。この線上に存在する細長い矩形は、当該のオブジェクトが実際に活動している期間（活性期間）を示す。
【０１３４】
各ライフラインの間を結ぶ横向きの矢印は、オブジェクトに含まれる操作の実行を示す。具体的には、この矢印は、矢印の元のオブジェクトが、矢印の先のオブジェクトに含まれる操作を呼び出すことを示す。また、矢印が自分自身のオブジェクトを指している場合は、オブジェクトが自分に含まれる操作を自身で呼び出すことを意味する。
【０１３５】
ここで、図１６の前提条件について説明する。利用者の操作により、「設定対象」として「印刷物としての出力」が選択された場合において、この「設定対象」には、「設定項目」として「ステープル」および「パンチ」があり、「ステープル」および「パンチ」には、「設定値」として「ステープル上」および「パンチ左」がそれぞれ含まれるものとする。「ステープル上」と「パンチ左」を同時に選択すると、印刷物を開くことができなくなるため、「ステープル上」と「パンチ左」は同時に選択することができない「設定値」の組み合わせである。
【０１３６】
図１６に示すように、操作受付部１１１ａは、利用者からの文書操作要求を取得すると、モードシェルフオブジェクト３５１の確保する（）３５０ｃを呼び出す（ステップＳ１６０１）。そして、呼び出しを受けたモードシェルフオブジェクト３５１は、文書操作要求に適したモードセットオブジェクト３６１を特定し、特定したモードセットオブジェクト３６１の設定する（）３６０ｃを呼び出す（ステップＳ１６０２）。
【０１３７】
そして、呼び出されたモードセットオブジェクト３６１は、文書操作要求に適した設定対象クラス３１０のオブジェクトを特定し、特定した設定対象クラス３１０の印刷物オブジェクト３１１の選択する（）３１０ｂを呼び出す（ステップＳ１６０３）。
【０１３８】
そして、呼び出しを受けた印刷物オブジェクト３１１は、設定項目クラス３２０のステープルオブジェクト３２１の設定値を選択する（）３２０ｃを呼び出す（ステップＳ１６０４）。
【０１３９】
呼び出しを受けたステープルオブジェクト３２１は、設定値クラス３３０のステープル上オブジェクト３３１の選択する（）３３０ｃを呼び出す（ステップＳ１６０５）。そして、ステープル上オブジェクト３３１は、組み合わせルールクラス３４０のオブジェクト３４１の適用する（）を呼び出す（ステップＳ１６０６）。
【０１４０】
呼び出しを受けたオブジェクト３４１は、設定項目クラス３２０のパンチオブジェクト３２２の設定値を選択禁止にする（）３２０ｅを呼び出す（ステップＳ１６０７）。そして、パンチオブジェクト３２２は、設定値クラス３３０のパンチ左オブジェクト３３２の選択禁止にする（）３３０ｅを呼び出す（ステップＳ１６０８）。このように、「ステープル上」が選択された場合には、組み合わせルールを適用して「パンチ左」を選択禁止にすることができる。
【０１４１】
図１４に示した各クラスの操作の実行手順について他の例を挙げて説明する。図１７は、操作受付部１１１ａから設定値の選択解除要求があった際の操作の実行手順を示すＵＭＬシーケンス図である。なお、図１７の前提条件は、図１７の前提条件と同様である。
【０１４２】
図１７に示すように、操作受付部１１１ａは、利用者からの選択解除要求を取得すると、モードシェルフオブジェクト３５１の解放する（）３５０ｄを呼び出す（ステップＳ１７０１）。そして、呼び出しを受けたモードシェルフオブジェクト３５１は、選択時に特定されたモードセットオブジェクト３６１の設定する（）３６０ｃを呼び出す（ステップＳ１７０２）。
【０１４３】
そして、呼び出されたモードセットオブジェクト３６１は、選択時に特定された設定対象クラス３１０の印刷物オブジェクト３１１の選択する（）３１０ｂを呼び出す（ステップＳ１７０３）。そして、呼び出しを受けた印刷物オブジェクト３１１は、設定項目クラス３２０のステープルオブジェクト３２１の設定値を選択解除する（）３２０ｄを呼び出す（ステップＳ１７０４）。
【０１４４】
呼び出しを受けたステープルオブジェクト３２１は、設定値クラス３３０のステープル上オブジェクト３３１の選択解除する（）３３０ｄを呼び出す（ステップＳ１７０５）。そして、ステープル上オブジェクト３３１は、組み合わせルールクラス３４０のオブジェクト３４１の適用する（）３４０ｃを呼び出す（ステップＳ１７０６）。
【０１４５】
呼び出しを受けたオブジェクト３４１は、設定項目クラス３２０のパンチオブジェクト３２２の設定値を選択可能にする（）３２０ｆを呼び出す（ステップＳ１７０７）。そして、パンチオブジェクト３２２は、設定値クラス３３０のパンチ左オブジェクト３３２の選択可能にする（）３３０ｆを呼び出す（ステップＳ１７０８）。このように、「ステープル上」の選択が解除された場合には、組み合わせルールを適用して「パンチ左」を選択可能にすることができる。
【０１４６】
上述してきたように、本実施の形態では、オブジェクト指向設計により設定管理の仕組みを構築し、さらに、従来は設定値組み合わせテーブルを用いておこなわれていた設定値の選択制限を、設定対象クラス、設定項目クラスおよび設定値クラスの階層関係で実現するとともに、異なる設定項目に所属する設定値間の組み合わせ制限については、組み合わせルールクラスを用いることにより実現するとともに、各アプリケーションで同じ設定対象の共通化を、設定対象が所属するモードセットを管理するモードシェルフを用いることで実現したので、設定管理の機能を効率良く実現することができる。なお、本実施の形態では、設定項目クラスと設定値クラスとを別のクラスとしたが、設定項目クラスと設定値クラスの役割を兼ねた設定管理クラスを有する構成とすることもできる。
【０１４７】
なお、本実施の形態の画像形成装置で実行される設定管理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（CD Recordable）、ＤＶＤ（Digital Versatile Disk）などのコンピュータで読み取り可能な記録媒体に記録して提供するよう構成してもよい。この場合、ＣＰＵ１１が上記記憶媒体から、設定管理プログラムを読み出してＭＥＭ−Ｐ１２上にロードすることで、画像形成装置に、上述した各ステップ、各手段または各部を実現させる。
【０１４８】
また、設定管理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するよう構成してもよい。さらに、かかる設定管理プログラムをインターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【０１４９】
本実施の形態に係る複合機１においては、必要な組み合わせのみを組み合わせルールとして設置値が保持することとした。これにより、同時に設定できないものがあるか否かの検索処理では、従来の組み合わせ表で管理し制御していた時の全ての組み合わせ表に対する検索処理より、負担を低減させることができる。これにより、組み合わせの矛盾をなくすための制御時間を短縮することができる。
【０１５０】
また、組み合わせ表では表が大きくなるにつれて機能追加の際に間違いが含まれやすかったが、本実施の形態の組み合わせルールでは組み合わせのみ保持すれば良いため管理が容易になる。
【０１５１】
また、設定対象クラス３１０の組み合わせによるモードセットクラス３６０をモードシェルフクラス３５０が管理する構成としたため、異なるアプリケーションにおける開発を共通化することが可能となり、設計実装時間を短縮すると共に、管理が容易になる。
【産業上の利用可能性】
【０１５２】
以上のように、本発明にかかる設定管理装置、設定管理方法及び設定管理プログラムは、各種設定項目の設定管理に有用であり、特に、選択制限のある設定値の設定管理に適している。
【図面の簡単な説明】
【０１５３】
【図１】複合機をとりまくネットワーク環境を示すネットワーク図である。
【図２】複合機のハードウェアを説明するための説明図である。
【図３】複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【図４】統合アプリケーションの構成を説明するための説明図である。
【図５】統合アプリケーションの構成を表したＵＭＬクラス図である。
【図６】複合機の操作パネルを説明するための説明図である。
【図７】液晶タッチパネルに表示されるメニュー例を説明するための説明図である。
【図８】設定値組み合わせテーブルを説明するための説明図である。
【図９】アプリケーション毎の設定値組み合わせテーブルを説明するための説明図である。
【図１０】組み合わせテーブルから階層モデルへの置き換えについて説明するための説明図である。
【図１１】組み合わせルールの適用について説明するための説明図である。
【図１２】組み合わせルールの構成の例を示した説明図である。
【図１３】設定管理部で行われる処理の概念を示した概念図である。
【図１４】設定管理部のクラス構成を示すＵＭＬクラス図である。
【図１５】設定管理部のクラスに基づいて実体化されるオブジェクトのツリー構造を説明する説明図である。
【図１６】設定値の選択要求があった際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１７】設定値の選択解除要求があった際の操作の実行手順を示すＵＭＬシーケンス図である。
【図１８】複合機に搭載されるソフトウェア構成の変遷を示す説明図である。
【図１９】従来の複合機におけるハードウェアおよびソフトウェアの階層構造を説明するための説明図である。
【符号の説明】
【０１５４】
１  画像形成装置（複合機）
１０  コントローラ
１１  ＣＰＵ
１２  ＭＥＭ−Ｐ
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ＮＢ
１４  ＳＢ
１５  ＡＧＰ
１６  ＡＳＩＣ
１７  ＭＥＭ−Ｃ
１８  ＨＤＤ
２０  キーボード（オペレーションパネル）
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４
６０  エンジン部（Engine）
１００  ソフトウェア
１０１  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１１１  操作系サブシステム
１１１ａ  操作受付部
１１１ｂ  設定管理部
１１２  管理系サブシステム
１１３  実行系サブシステム
１２０  コピーアプリケーション
１３０  スキャナアプリケーション
１４０  ファックスアプリケーション
１５０  プリンタアプリケーション
２００  ハードウェア
２０１  ハードウェアリソース
２０１ａ  スキャナ
２０１ｂ  プロッタ
２０１ｃ  ＨＤＤ
２０１ｄ  ネットワーク
２０１ｅ  その他のリソース
３１０  設定対象クラス（設定対象手段の一例）
３１０ａ  対象物名称
３１０ｂ  選択する（）
３１１  印刷物オブジェクト（設定対象手段の一例）
３２０  設定項目クラス（設定対象手段の一例）
３２０ａ  設定項目名
３２０ｂ  状態
３２０ｃ  設定値を選択する（）
３２０ｄ  設定値を選択解除する（）
３２０ｅ  設定値を選択禁止にする（）
３２０ｆ  設定値を選択可能にする（）
３２１  ステープルオブジェクト（設定項目手段の一例）
３２２  パンチオブジェクト（設定項目手段の一例）
３２３  コピー枚数オブジェクト（設定項目手段の一例）
３３０  設定値クラス（設定値手段の一例）
３３０ａ  設定値名
３３０ｂ  選択状態
３３０ｃ  選択する（）
３３０ｄ  選択解除する（）
３３０ｅ  選択禁止にする（）
３３０ｆ  選択可能にする（）
３３１  ステープル上オブジェクト
３３２  パンチ左オブジェクト
３４０  組み合わせルールクラス（組み合わせルール手段の一例）
３４０ａ  適用方法
３４０ｂ  適用する設定値
３４０ｃ  適用する（）
３４１  組み合わせルールオブジェクト（組み合わせルール手段の一例）
３５０  モードシェルフクラス（モードシェルフ手段の一例）
３５０ａ  状態
３５０ｂ  仕様保持数
３５０ｃ  確保する（）
３５０ｄ  解放する（）
３５１  モードシェルフオブジェクト（モードシェルフ手段の一例）
３６０  モードセットクラス（モードセット手段の一例）
３６０ａ  状態
３６０ｂ  セット種別
３６０ｃ  設定する（）
３６１  モードセットオブジェクト（モードセット手段の一例）
４００  操作パネル
４０１  初期設定キー
４０２  コピーキー
４０３  コピーサーバーキー
４０４  プリンタキー
４０５  送信キー
４０６  テンキー
４０７  クリア／ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
４２１  入力モード
４２１ａ  紙原稿
４２１ｂ  電子原稿
４２２  入力モードエリア
４２２ａ  濃度設定部
４２２ｂ  特殊原稿設定部
４２３  出力モード
４２３ａ  印刷
４２３ｂ  保存
４２３ｃ  送信
４２４  出力モードエリア
４２４ａ  トレイ選択部
４２４ｂ  倍率設定部
４３０  設定値組み合わせテーブル
４４０  紙原稿テーブル
４４０ａ  原稿面
４４０ｂ  原稿サイズ
４４１  原稿面階層モデル
４４２  原稿サイズ階層モデル
４５０  印刷物テーブル
４５０ａ  画像コピー
４５０ｂ  転写サイズ
４５０ｃ  組み合わせ制限
４５１  画像コピー階層モデル
４５２  転写サイズ階層モデル
４６０  組み合わせルール
５０１  サービス層分離前アプリケーション
５０２  サービス層分離後アプリケーション
５０３  共通ルーチン分離アプリケーション
５０４  オブジェクト指向アプリケーション
【図１】
2007082131.tif 000003
【図２】
2007082131.tif 000004
【図３】
2007082131.tif 000005
【図４】
2007082131.tif 000006
【図５】
2007082131.tif 000007
【図６】
2007082131.tif 000008
【図７】
2007082131.tif 000009
【図８】
2007082131.tif 000010
【図９】
2007082131.tif 000011
【図１０】
2007082131.tif 000012
【図１１】
2007082131.tif 000013
【図１２】
2007082131.tif 000014
【図１３】
2007082131.tif 000015
【図１４】
2007082131.tif 000016
【図１５】
2007082131.tif 000017
【図１６】
2007082131.tif 000018
【図１７】
2007082131.tif 000019
【図１８】
2007082131.tif 000020
【図１９】
2007082131.tif 000021