(57)【要約】【課題】設定管理処理を効率よく実現する。【解決手段】利用者の操作により、選択肢、数値又は文字列などの選択情報が選択された場合に、選択情報の要求を受け付け、選択要求を選択項目クラスに振り分ける設定対象クラスと、設定項目に所属する選択情報を保持する設定値クラスと、設定値クラスを木構造の子として有する設定項目クラスと、別々の設定項目クラスに所属する設定値クラスの組み合わせ禁止関係を保持する組み合わせルールクラスと、設定値クラスを承継し、選択情報として選択肢を保持する末端設定値クラス、選択情報として数値を保持する数値設定値クラス、及び選択情報として文字列を保持する文字列設定値クラスと、を有する構成とする。【選択図】        図１３
2006115482.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）
１００  ソフトウェア
１０１  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１１１  操作系サブシステム
１１１ａ  操作受付部
１１１ｂ  設定管理部
１１２  管理系サブシステム
１１３  実行系サブシステム
１２０  コピーアプリケーション
１３０  スキャナアプリケーション
１４０  ファックスアプリケーション
１５０  プリンタアプリケーション
２００  ハードウェア
２０１  ハードウェアリソース
２０１ａ  スキャナ
２０１ｂ  プロッタ
２０１ｃ  ＨＤＤ
２０１ｄ  ネットワーク
２０１ｅ  その他のリソース
３１０  設定対象クラス（設定受付手段の一例）
３１０ａ  対象物名称
３１０ｂ  選択する（）
３１１  印刷物オブジェクト（設定受付手段の一例）
３２０  設定項目クラス（設定項目手段の一例）
３２０ａ  設定項目名
３２０ｂ  状態
３２０ｃ  設定値を選択する（）
３２０ｄ  設定値を選択解除する（）
３２０ｅ  設定値を選択禁止にする（）
３２０ｆ  設定値を選択可能にする（）
３２１  ステープルオブジェクト（設定項目手段の一例）
３２２  パンチオブジェクト（設定項目手段の一例）
３２３  コピー枚数オブジェクト（設定項目手段の一例）
３３０  設定値クラス（設定値手段の一例）
３３０ａ  設定値名
３３０ｂ  選択状態
３３０ｃ  選択する（）
３３０ｄ  選択解除する（）
３３０ｅ  選択禁止にする（）
３３０ｆ  選択可能にする（）
３４０  組み合わせルールクラス（組み合わせルール手段の一例）
３４０ａ  適用方法
３４０ｂ  適用する設定値
３４０ｃ  適用する（）
３４１  組み合わせルールオブジェクト（組み合わせルール手段の一例）
３５０  末端設定値クラス
３５１  ステープル上オブジェクト（選択肢設定値手段の一例）
３５２  パンチ左オブジェクト（選択肢設定値手段の一例）
３５３  「ＯＮ」オブジェクト（選択肢設定値手段の一例）
３６０  数値設定値クラス
３６０ａ  設定値
３６０ｂ  上限値
３６０ｃ  下限値
３６０ｄ  設定する（）
３６０ｅ  取得する（）
３６１  枚数値オブジェクト（数値設定値手段の一例）
３７０  文字列設定値クラス
３７０ａ  文字列
３７０ｂ  文字コード
３７０ｃ  上限の長さ
３７０ｄ  設定する（）
３７０ｅ  取得する（）
３７１  ユーザ名オブジェクト（文字列設定値手段の一例）
４００  操作パネル
４０１  初期設定キー
４０２  コピーキー
４０３  コピーサーバーキー
４０４  プリンタキー
４０５  送信キー
４０６  テンキー
４０７  クリア／ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
４２１  入力モード
４２１ａ  紙原稿
４２１ｂ  電子原稿
４２２  入力モードエリア
４２２ａ  濃度設定部
４２２ｂ  特殊原稿設定部
４２３  出力モード
４２３ａ  印刷
４２３ｂ  保存
４２３ｃ  送信
４２４  出力モードエリア
４２４ａ  トレイ選択部
４２４ｂ  倍率設定部
４３０  設定値組み合わせテーブル
４４０  紙原稿テーブル
４４０ａ  原稿面
４４０ｂ  原稿サイズ
４４１  原稿面階層モデル
４４２  原稿サイズ階層モデル
４５０  印刷物テーブル
４５０ａ  画像コピー
４５０ｂ  転写サイズ
４５０ｃ  組み合わせ制限
４５１  画像コピー階層モデル
４５２  転写サイズ階層モデル
４６０  組み合わせルール
５０１  サービス層分離前アプリケーション
５０２  サービス層分離後アプリケーション
５０３  共通ルーチン分離アプリケーション
５０４  オブジェクト指向アプリケーション
【図１】
2006115482.tif 000003
【図２】
2006115482.tif 000004
【図３】
2006115482.tif 000005
【図４】
2006115482.tif 000006
【図５】
2006115482.tif 000007
【図６】
2006115482.tif 000008
【図７】
2006115482.tif 000009
【図８】
2006115482.tif 000010
【図９】
2006115482.tif 000011
【図１０】
2006115482.tif 000012
【図１１】
2006115482.tif 000013
【図１２】
2006115482.tif 000014
【図１３】
2006115482.tif 000015
【図１４】
2006115482.tif 000016
【図１５】
2006115482.tif 000017
【図１６】
2006115482.tif 000018
【図１７】
2006115482.tif 000019
【図１８】
2006115482.tif 000020