(57)【要約】【課題】操作パネル制御を行うプログラム開発の作業の労力を軽減すること。【解決手段】画像形成にかかるアプリケーションによってユーザサービスを提供する画像形成装置であって、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成するユーザ操作パネル制御部２１１と、アプリケーションまたは操作パネルごとに、インスタンスを生成する際に参照され、クラスをインスタンス化するための情報である操作パネルインスタンス生成情報２１１を備えた。【選択図】        図２
2005117544.tif 000002
【特許請求の範囲】
【請求項１】
画像形成にかかるアプリケーションによってユーザサービスを提供する画像形成装置であって、
利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成するユーザインタフェース制御手段と、
前記アプリケーションまたは操作パネルごとに、前記インスタンスを生成する際に参照され、前記クラスをインスタンス化するための情報であるインスタンス生成情報を保持するインスタンス生成情報保持手段と、
を備えたことを特徴とする画像形成装置。
【請求項２】
前記ユーザインタフェース制御手段は、前記操作パネルに依存しないアプリフロー制御手段と、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御手段と、
を備えたことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記インスタンス生成情報保持手段は、前記アプリフロー制御手段から参照されるアプリフローインスタンス生成情報を保持するアプリフロー生成情報保持手段と、前記操作フロー制御手段から参照される操作フローインスタンス生成情報を保持する操作フローインスタンス生成情報保持手段と、
を備えたことを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記操作フロー制御手段は、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、
前記操作フローインスタンス生成情報保持手段は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むインスタンス生成情報を保持することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
画像形成処理で使用されるハードウェア資源と、
画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、
前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーション層の少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、
前記コントロールサービス層は、前記ユーザインタフェース制御手段とインスタンス生成情報保持手段を有するオペパネコントロールサービスを有することを特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
画像形成にかかるアプリケーションによってユーザサービスを提供する画像形成装置に設けられ、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルの制御を行う操作パネル制御方法であって、
前記操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスから、前記アプリケーションまたは操作パネルごとに前記クラスをインスタンス化するための情報であるインスタンス生成情報を参照してインスタンスを生成するユーザインタフェース制御ステップと、
を含むことを特徴とする操作パネル制御方法。
【請求項７】
前記ユーザインタフェース制御ステップは、前記操作パネルに依存しない処理を行うアプリフロー制御ステップと、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御ステップと、
を含むことを特徴とする請求項６に記載の操作パネル制御方法。
【請求項８】
前記インスタンス生成情報、前記アプリフロー制御ステップで参照されるアプリフローインスタンス生成情報と、前記操作フロー制御ステップから参照される操作フローインスタンス生成情報を含むことを特徴とする請求項６または７に記載の操作パネル制御方法。
【請求項９】
前記操作フロー制御ステップは、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、
前記操作フローインスタンス生成情報は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むを特徴とする請求項８に記載の操作パネル制御方法。
【請求項１０】
請求項６〜９のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作パネルに対する画面表示を制御することができる画像形成装置、操作パネル制御方法およびその方法をコンピュータに実行させるプログラムに関するものである。
【背景技術】
【０００２】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）がある（例えば、特許文献１参照）。
【０００４】
このような複合機では、操作パネルに対する制御を行うオペパネコントロールサービス（ＯＣＳ）がコントロール層に設けられている。このＯＣＳは、アプリケーション層のコピーアプリ、プリンタアプリなどのアプリケーション毎に操作パネルに表示する画面を有しており、各アプリケーションから操作パネルに対する画面の表示要求があった場合、要求を行ったアプリケーションに対する画面を操作パネルに表示する制御を行っている。より具体的には、アプリケーションごとに画面メニューなどがオブジェクト指向プログラミングにおけるそれぞれ異なるクラスが用意されており、さらに同じアプリケーションで表示される各画面ごとにサブクラスを用意して、実行の際に各クラスおよびサブクラスごとにインスタンス化をして操作パネルに表示する画面を生成していた。
【０００５】
【特許文献１】特開２００２−８４３８３号公報（図３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来の複合機では、アプリケーションごとに画面メニューなどがそれぞれ異なるクラスを用意し、さらに同じアプリケーションで表示される各画面ごとにサブクラスを用意しているため、ＯＣＳの開発作業に労力を要するという問題がある。
【０００７】
特に、上記特許文献１の複合機では、ハードウェアに依存しないアプリケーション層に利用者側また第三者であるサードベンダーなどによって開発された新規アプリケーションが搭載される可能性がある。このため、従来の技術では、新規アプリケーションが搭載されるたびに、操作パネルを制御するＯＣＳ等のプログラムに、新規アプリケーションに対応した画面の新たなクラスおよびサブクラスを追加して画面制御のプログラム変更を行うという多大が作業が発生する。また、上記の複合機では、操作パネルの制御を行うＯＣＳがハードウェアに依存するコントロール層に設けられているため、複合機の利用者やサードベンダーがコントロールサービス層のプログラムを変更することができない。
【０００８】
本発明は、上記に鑑みてなされたものであって、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる画像形成装置、操作パネル制御方法およびその方法をコンピュータに実行させるプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、画像形成にかかるアプリケーションによってユーザサービスを提供する画像形成装置であって、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成するユーザインタフェース制御手段と、前記アプリケーションまたは操作パネルごとに、前記インスタンスを生成する際に参照され、前記クラスをインスタンス化するための情報であるインスタンス生成情報を保持するインスタンス生成情報保持手段と、を備えたことを特徴とする。
【００１０】
この請求項１にかかる発明によれば、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスから、前記クラスをインスタンス化するための情報であるインスタンス生成情報を参照してインスタンスを生成することで、単一のクラスを定義すればアプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００１１】
また、請求項２にかかる発明は、請求項１に記載の画像形成装置において、前記ユーザインタフェース制御手段は、前記操作パネルに依存しないアプリフロー制御手段と、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御手段とを備えたことを特徴とする。
【００１２】
この請求項２にかかる発明によれば、ユーザインタフェース制御手段は、前記操作パネルに依存しないアプリフロー制御手段と、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御手段とを備えたことで、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００１３】
また、請求項３にかかる発明は、請求項１または２に記載の画像形成装置において、前記インスタンス生成情報保持手段は、前記アプリフロー制御手段から参照されるアプリフローインスタンス生成情報を保持するアプリフロー生成情報保持手段と、前記操作フロー制御手段から参照される操作フローインスタンス生成情報を保持する操作フローインスタンス生成情報保持手段と、を備えたことを特徴とする。
【００１４】
この請求項３にかかる発明によれば、前記インスタンス生成情報保持手段は、前記アプリフロー制御手段から参照されるアプリフローインスタンス生成情報を保持するアプリフロー生成情報保持手段と、前記操作フロー制御手段から参照される操作フローインスタンス生成情報を保持する操作フローインスタンス生成情報保持手段とを備えたことで、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００１５】
また、請求項４にかかる発明は、請求項３に記載の画像形成装置において、前記操作フロー制御手段は、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、前記操作フローインスタンス生成情報保持手段は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むインスタンス生成情報を保持することを特徴とする。
【００１６】
この請求項４にかかる発明によれば、操作フロー制御手段は、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、前記操作フローインスタンス生成情報保持手段は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むインスタンス生成情報を保持することで、すくなくとも操作パネルに表示する画面の位置、画面に表示される画面要素、画面のスクロールを含むクラスをアプリケーションごとおよび画面ごとに異なるように定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００１７】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の画像形成装置において、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーション層と、前記アプリケーション層と前記ハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーション層の少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービス層と、をさらに備え、前記コントロールサービス層は、前記ユーザインタフェース制御手段とインスタンス生成情報保持手段を有するオペパネコントロールサービスを有することを特徴とする。
【００１８】
この請求項５にかかる発明によれば、コントロールサービス層は、前記ユーザインタフェース制御手段とインスタンス生成情報保持手段を有するオペパネコントロールサービスを有することで、操作パネルに対する制御をアプリケーションと完全に切り離して行うことができ。これにより、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。また、新規アプリケーションがアプリケーション層に搭載された場合でも、新規アプリケーションの開発者はコントロールサービス層に修正を加える必要がなくなり、新規アプリケーションの開発労力も軽減する。
【００１９】
また、請求項６にかかる発明は、画像形成にかかるアプリケーションによってユーザサービスを提供する画像形成装置に設けられ、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルの制御を行う操作パネル制御方法であって、前記操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスから、前記アプリケーションまたは操作パネルごとに前記クラスをインスタンス化するための情報であるインスタンス生成情報を参照してインスタンスを生成するユーザインタフェース制御ステップと、を含むことを特徴とする。
【００２０】
この請求項６にかかる発明によれば、利用者に対する画面表示及び利用者からの操作入力を行わせる操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスから、前記クラスをインスタンス化するための情報であるインスタンス生成情報を参照してインスタンスを生成することで、単一のクラスを定義すればアプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００２１】
また、請求項７にかかる発明は、請求項６に記載の操作パネル制御方法において、前記ユーザインタフェース制御ステップは、前記操作パネルに依存しない処理を行うアプリフロー制御ステップと、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御ステップと、を含むことを特徴とする。
【００２２】
この請求項７にかかる発明によれば、ユーザインタフェース制御ステップは、前記操作パネルに依存しない処理を行うアプリフロー制御ステップと、前記操作パネルに依存し、操作パネルに表示する画面に対して定義され、すべての前記アプリケーションに共通するクラスからインスタンスを生成する操作フロー制御ステップとを含むことで、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００２３】
また、請求項８にかかる発明は、請求項６または７に記載の操作パネル制御方法において、前記インスタンス生成情報、前記アプリフロー制御ステップで参照されるアプリフローインスタンス生成情報と、前記操作フロー制御ステップから参照される操作フローインスタンス生成情報を含むことを特徴とする。
【００２４】
この請求項８にかかる発明によれば、インスタンス生成情報、前記アプリフロー制御ステップで参照されるアプリフローインスタンス生成情報と、前記操作フロー制御ステップから参照される操作フローインスタンス生成情報を含むことで、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００２５】
また、請求項９にかかる発明は、請求項８に記載の操作パネル制御方法において、前記操作フロー制御ステップは、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、前記操作フローインスタンス生成情報は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むことを特徴とする。
【００２６】
この請求項９にかかる発明によれば、操作フロー制御ステップは、少なくとも前記操作パネルに表示する画面の位置に関する項目、前記画面に表示される画面要素に関する項目、前記画面のスクロールに関する項目を含むクラスからインスタンスを生成するものであり、前記操作フローインスタンス生成情報は、少なくとも前記操作パネルに表示する画面の位置に関する情報、前記画面に表示される画面要素に関する情報、前記画面のスクロールに関する情報を含むことで、すくなくとも操作パネルに表示する画面の位置、画面に表示される画面要素、画面のスクロールを含むクラスをアプリケーションごとおよび画面ごとに異なるように定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができる。
【００２７】
また、請求項１０にかかる発明は、請求項６〜９のいずれか一つに記載された方法をコンピュータに実行させるプログラムであるので、請求項６〜９のいずれか一つに記載された方法をコンピュータに実行させることができる。
【発明の効果】
【００２８】
請求項１にかかる発明によれば、単一のクラスを定義すればアプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００２９】
また、請求項２にかかる発明によれば、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３０】
また、請求項３にかかる発明によれば、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３１】
また、請求項４にかかる発明によれば、すくなくとも操作パネルに表示する画面の位置、画面に表示される画面要素、画面のスクロールを含むクラスをアプリケーションごとおよび画面ごとに異なるように定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３２】
また、請求項５にかかる発明によれば、操作パネルに対する制御をアプリケーションと完全に切り離して行うことができ。これにより、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。また、本発明によれば、新規アプリケーションがアプリケーション層に搭載された場合でも、新規アプリケーションの開発者はコントロールサービス層に修正を加える必要がなくなり、新規アプリケーションの開発労力を軽減することができるという効果を奏する。
【００３３】
また、請求項６にかかる発明によれば、単一のクラスを定義すればアプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３４】
また、請求項７にかかる発明によれば、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３５】
また、請求項８にかかる発明によれば、異なる操作パネルであっても単一のクラスにより操作パネルの画面を生成することができるので、アプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３６】
また、請求項９にかかる発明によれば、すくなくとも操作パネルに表示する画面の位置、画面に表示される画面要素、画面のスクロールを含むクラスをアプリケーションごとおよび画面ごとに異なるように定義する必要がなくなり、操作パネル制御を行うプログラム開発の作業の労力を軽減することができるという効果を奏する。
【００３７】
また、請求項１０にかかる発明によれば、請求項６〜９のいずれか一つに記載された方法をコンピュータに実行させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３８】
以下に添付図面を参照して、この発明にかかる画像形成装置、操作パネル制御方法およびその方法をコンピュータに実行させるプログラムの最良な実施の形態を詳細に説明する。
【００３９】
図１は、この発明の実施の形態１である画像形成装置（以下、「複合機」という）の構成を示すブロック図である。図１に示すように、複合機１００は、白黒ラインプリンタ（B&W LP）１０１と、カラーラインプリンタ（Color LP）１０２と、スキャナ、ファクシミリなどのハードウェアリソース１０３などを有するとともに、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００４０】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００４１】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００４２】
汎用ＯＳ１２１は、ＵＮＩＸ（Ｒ）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４３】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４４】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４５】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御を行う。
【００４６】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（B&W LP）１０１、カラーラインプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０３のエンジンの制御を行う。
【００４７】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００４８】
ＯＣＳ１２６のプロセスは、オペレータと本体制御間の情報伝達手段となる操作パネル（オペレーションパネル）の制御を行う。かかるＯＣＳの詳細な構成については後述する。
【００４９】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００５０】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００５１】
アプリケーション１３０は、プリンタ、コピー、スキャナまたはファクシミリなどの画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うものである。アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６とを有している。
【００５２】
このように、本実施の形態にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。また、複合機１００には、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に新規なアプリケーションを開発して搭載することが可能となっている。
【００５３】
図２は、ＯＣＳの詳細な構成を示すブロック図である。ＯＣＳ１２６は、アプリフロー制御部２１２と、操作フロー制御部２１０と、コピーアプリフローインスタンス生成情報２０３と、プリンタアプリフローインスタンス生成情報２０５と、ＦＡＸアプリフローインスタンス生成情報２０７と、スキャナアプリフローインスタンス生成情報２０９と、操作フローインスタンス生成情報２１１とから構成される。アプリフロー制御部２１２と操作フロー制御部２１０は本発明におけるユーザインタフェース制御手段を構成する。コピーアプリフローインスタンス生成情報２０３と、プリンタアプリフローインスタンス生成情報２０５と、ＦＡＸアプリフローインスタンス生成情報２０７と、スキャナアプリフローインスタンス生成情報２０９は、アプリフローインスタンス生成情報保持手段としてのＨＤＤ、ＲＯＭ等の記憶手段に保存されており、複合機１００の起動時にＯＣＳ１２６とともに主記憶装置等にロードされるようになっている。操作フローインスタンス生成情報２１１も同様に、操作フローインスタンス生成情報保持手段としてのＨＤＤ、ＲＯＭ等の記憶手段に保存されており、複合機１００の起動時にＯＣＳ１２６とともに主記憶装置等にロードされるようになっている。
【００５４】
アプリフロー制御部２１２は、操作パネルに表示される全ての画面、操作パネルに対して表示要求を行う全てのアプリケーションに共通する画面メニューを定義したクラスと、そのクラスに対する動作を記述したメソッドから構成されている。また、アプリフロー制御部２１２は、アプリケーションの状態に対応する画面群であるステージを中心とした操作パネルの機能の相違に依存しない部分の制御を行うようになっている。
【００５５】
操作フロー制御部２１０は、操作パネルが提供する機能の相違により大きく異なる画面構成要素（Widget)を制御する。具体的には、各ステージ内の画面切替処理や各画面内の画面構成要素を制御を行う。操作フロー制御部２１０は、操作パネルの種類、例えばＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）かＣＵＩ（Ｃｈａｒａｃｔｅｒ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、操作パネルの操作手順に影響する処理を行う。
【００５６】
コピーアプリフローインスタンス生成情報２０３、プリンタアプリフローインスタンス生成情報２０５、ＦＡＸアプリフローインスタンス生成情報２０７、スキャナアプリフローインスタンス生成情報２０９は、それぞれ各アプリケーション特有の画面仕様と動作ルールを定義したものであり、アプリフロー制御部２１２で定義されているクラスのインスタンス化を行ってオブジェクトを生成する際に、参照される。各インスタンス生成情報には、具体的に、遷移先ステージ、遷移先画面、ステージ入力アプリデータ識別子、ステージ出力アプリデータ識別子などが含まれている。
【００５７】
操作フローインスタンス生成情報２１１は、操作フロー制御部２１０で定義されている画面のクラスのインスタンス化を行って画面オブジェクトを生成する際に参照される。操作フローインスタンス生成情報２１１には、具体的には、ステージ初期画面、遷移先画面、画面レイアウト、画面構成要素が表示するアプリデータ識別子、パネルキーにアサインされている機能、画面構成要素によって入力されるアプリデータ識別子、パネルキーにアサインされている値、パネルキーにアサインされているイベントなどが含まれる。
【００５８】
操作パネルコントローラ２０１は、操作パネルに対する画面制御を制御するデバイスドライバである。
【００５９】
尚、本実施形態の画像形成装置で実行されるＯＣＳ１２６のプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（Ｒ）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、このようなＯＣＳ１２６のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、ＯＣＳ１２６のプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００６０】
本実施形態にかかるＯＣＳ１２６のプログラムは、複合機１００でＲＯＭなどの記憶媒体から読み出して実行することにより主記憶装置上にロードされ、上記構成で説明した操作フロー制御部２１１、アプリフロー制御部２１２が主記憶装置上に生成されるようになっている。
【００６１】
次に、アプリケーション１３０、および操作パネルコントローラ２０１のデータの流れについて説明する。図３はアプリケーション１３０、および操作パネルコントローラ２０１のデータの流れを示す説明図である。
【００６２】
（１）アプリケーションとアプリフロー制御部２１２
アプリケーション１３０からアプリフロー制御部２１２には、アプリ状態と現パラメータ値が送信される。ここで、アプリ状態とは、アプリケーション１３０の現在の状態を表すデータであり、アプリフロー制御部２１２はこのアプリ状態を用いて画面の切り替えを行う。
【００６３】
現パラメータ値は、アプリケーション１３０が保持しているパラメータ値であり、アプリフロー制御部２１２はこの現パラメータ値を用いてディスプレイ上にその値を表示する。この値は、ユーザにパラメータ入力を依頼する際の初期値である場合もあるし、単にアプリの動作状況を表示するための値である場合もある。
【００６４】
アプリフロー制御部２１２からアプリケーション１３０には、ユーザ入力パラメータ値と実行要求が送信される。ここで。ユーザ入力パラメータ値は、ユーザが操作パネルから入力したパラメータの値であり、実行要求は、ユーザが操作パネルから入力したアプリ機能の実行要求である。
【００６５】
（２）アプリフローインスタンス生成情報２１３からアプリフロー制御部２１２
アプリフロー制御部２１２に対しては、各アプリフローインスタンス生成情報２１３から、遷移先ステージ、ステージ入力アプリデータ識別子、ステージ出力アプリデータ識別子が受け渡される。
【００６６】
遷移先ステージは、各ステージにおいて、アプリ状態の変化やキーの押下を受けてどのステージに遷移するかを表すデータである。ステージ入力アプリデータ識別子は、遷移先ステージにおいて入力されるデータの識別子であり、ステージ出力アプリデータ識別子は遷移先ステージにおいて出力されるデータの識別子である。
【００６７】
（３）アプリフロー制御部２１２と操作フロー制御部２１０
アプリフロー制御部２１２から操作フロー制御部２１０へは、表示データとステージ移行が送信される。表示データは、操作パネルに表示するデータであり、ステージ移行は、ステージが移行する旨の通知である。
【００６８】
操作フロー制御部２１０からアプリフロー制御部２１２へは、操作パネルから入力された押下キー識別子、タッチパネル押下位置に対応した入力データと実行要求が送信される。
【００６９】
（４）操作フローインスタンス生成情報２１１から操作フロー制御部２１０
操作フロー制御部２１０に対しては、操作フローインスタンス生成情報２１１から遷移先画面、画面レイアウト、画像構成要素が表示するアプリデータ識別子、画像構成要素によって入力されるアプリデータ識別子、パネルキーにアサインされている機能、パネルキーにアサインされている値、パネルキーにアサインされているイベントが受け渡される。
【００７０】
ここで、遷移先画面とは、各画面において、アプリ状態の変化やキーの押下を受けてどの画面に遷移するかを表すデータである。画面レイアウトは、各画面上、どこにどのような画面要素（Widget）を表示するかを表すデータである。画像構成要素が表示するアプリデータ識別子は、各画面要素で表示するデータが、アプリケーションのどのデータに対応するかを表すデータである。画像構成要素によって入力されるアプリデータ識別子は、各画面要素によって入力されるデータが、アプリケーションのどのデータに対応するかを表すデータである。パネルキーにアサインされている機能は、各画面において、それぞれのキーにどのような機能を割り当てるかの設定データである。パネルキーにアサインされている値は、パネルキーに値の入力の機能が割り振られている場合、そのキーがどのような値の入力を意味するかを定義した値である。パネルキーにアサインされているイベントは、パネルキーに機能の実行の機能が割り振られている場合、そのキーがアプリケーションのどのイベントに対応するかを表すデータである。
【００７１】
（５）操作フロー制御部２１０と操作パネルコントローラ２０１
操作フロー制御部２１０から操作パネルコントローラ２０１へは、ディスプレイ描画画像（パネルディスプレイ上に表示する画像データ）が送信される。
【００７２】
操作パネルコントローラ２０１から操作フロー制御部２１０へは、押下キー識別子、タッチパネル押下位置が送信される。押下キー識別子は、ユーザによってどのキーが押下されたかのデータであり、タッチパネル押下位置は、ユーザによってタッチパネルのどの部分が押下されたかのデータである。
【００７３】
次に、画面と画面要素について説明する。図４は、操作パネルの表示画面の一例を示す説明図である。図４に示すように、符号４０１、４０２、４０３が示す領域が画面であり、各画面４０１、４０２、４０３を構成するボタン、テキスト等の構成要素が画面要素である。
【００７４】
例えば、画面４０１では、画面要素１が「○読み取りできます」、画面要素２が「原稿セットできます」、画面要素３が「メモリー残量」であり、画面要素１〜３が画面４０１を構成している。
【００７５】
また、画面４０２では、画面要素１が自動濃度の表示、画面要素２が「文字」および「文字・写真」、画面要素３が「４００ｄｐｉ」および「６００ｄｐｉ」、画面要素４が「片面原稿」、画面要素５が「両面原稿」、画面要素６が「左右びらき」、画面要素７が「原稿サイズ」、画面要素８が「自動原稿」となっており、画面要素１〜８が画面４０２を構成している。画面４０３では、「００１  鈴木」などの各ボタンがすべて画面要素１となっている。
【００７６】
次に、ステージの概念について説明する。図５は、ステージの概念を示す説明図である。図５に示すように、ステージは、アプリケーションの状態に対応する画面群で、操作パネルが提供する機能によって大きく変化する画面要素の種類や、画面フローの処理に依存しない単位である。
【００７７】
例えばコピーアプリの場合、ステージの例としては、「コピー条件設定」、「コピー実行」、「コピー完了」などがある。コピーアプリをＧＵＩとＣＵＩで実現する場合、パラメータの入力やアプリケーションの状態の表示をどのような画面要素で実現するか、またそれら画面要素をどのように画面上に配置し、それらの画面をどのような処理手順で実現するかは大きく異なっている。
【００７８】
しかしながら、ステージとしてこれら３種類のものがあること自体はＧＵＩでもＣＵＩでも同様であり、またそれぞれのステージにおいてどのようなパラメータをユーザが入力し、どのようなアプリケーション状態をユーザに通知するかについても変わりは無い。
【００７９】
アプリフロー制御部では、これら「ステージ」の概念を中心とした操作パネルに非依存な部分の制御を行っている。各ステージにおいては、そのステージ中でユーザから入力されるデータ、パネルに表示するためのアプリケーションデータの管理も行う。
【００８０】
一方、操作フロー制御部では、各ステージ内の画面切り替えの手順と各画面内の画面要素の制御を行っている。操作フロー制御部は、操作パネルの種類（例えばＧＵＩ、ＣＵＩ）、またパネル操作の手順等にも大きく影響を受けるため、それぞれの種類、手順に応じて処理を行っている。
【００８１】
次に、以上のように構成された本実施の形態の複合機による操作パネルの画面制御処理について説明する。まず、アプリケーション１３０からＯＣＳ１２６にアプリ状態が通知された場合のＯＣＳ１２６の処理について説明する。図６は、アプリケーション１３０からＯＣＳ１２６にアプリ状態が通知された場合のアプリフロー制御部２１２の処理の手順を示すフローチャートである。
【００８２】
アプリケーション１３０がアプリ状態の変化を通知すると、ＯＣＳ１２６のアプリフロー制御部２１２は、まず現在のステージで管理していたアプリデータを全て破棄する（ステップＳ６０１）。
【００８３】
次に、アプリフロー制御部２１２は、アプリフローインスタンス生成情報２１３から変更されたアプリ状態に対応する遷移先ステージを取得して、次のステージを特定する（ステップＳ６０２）。次いで、アプリフロー制御部２１２は、アプリフローインスタンス生成情報２１３から遷移先ステージにおいて必要なデータの識別子であるステージ入力アプリデータ識別子、ステージ出力アプリデータ識別子を取得してアプリデータを特定し（ステップＳ６０３）、データを確保すべきメモリ領域を確保する。
【００８４】
次に、アプリフロー制御部２１２は、アプリケーション１３０から、ステージ入力アプリデータ識別子、ステージ出力アプリデータ識別子で識別されるデータの値を取得し（ステップＳ６０４）、確保したメモリ領域にセーブする。
【００８５】
その後、アプリフロー制御部２１２は、操作フロー制御部２１０に対してステージ移行を通知する（ステップＳ６０５）。
【００８６】
上記の処理は、アプリケーション１３０がアプリフロー制御部２１２内で管理されているデータに対するアクセスを、自由なタイミングで能動的に行うことを前提に考えられている。すなわち、表示用のデータを常に最新に肘するのもアプリケーション１３０側の責任で行い、ステージが遷移してステージで管理されている入力データが破棄される前に表示用のデータを取得するのもアプリケーション側の責任になっている。なお、入力データについては、ステージ終了時にアプリフロー制御部２１２側から、そのステージで管理している全ての入力データをアプリケーション１３０に渡すように構成することも可能である。
【００８７】
次に、上記のように遷移移行通知を受信した操作フロー制御部２１０による処理について説明する。図７は、遷移移行通知を受信した操作フロー制御部２１０による処理の手順を示すフローチャートである。
【００８８】
操作フロー制御部２１４は、遷移移行通知をアプリフロー制御部２１２から受信すると、操作フローインスタンス生成情報２１１を参照して指定されたステージ初期画面を特定する（ステップＳ７０１）。
【００８９】
次に、特定された遷移先画面の画面レイアウトを操作フローインスタンス生成情報２１１から取得する（ステップＳ７０２）。そして、操作フロー制御部２１０で保持している画面要素のクラスから画面レイアウトに記述してある画面要素(Widget)を生成する（ステップＳ７０３）。
【００９０】
ここでいう生成とは、オブジェクト指向でいうクラスのインスタンス化を意味する。具体的には、その画面要素の情報を保持するためのメモリ領域を確保し、そこに必要な情報を設定する。必要な情報には、画面上の座標情報や表示文字情報などが含まれる。
【００９１】
そして、作成した画面要素がアプリデータを表示する役割を持つ場合、操作フローインスタンス生成情報２１１から、画面要素が表示するアプリデータ識別子を取得し、アプリフロー制御部２１２からそのアプリデータ識別子に対応する現パラメータ値を取得して画面要素に設定する。また、画面要素がアプリデータを入力する役割をもつ場合、操作フローインスタンス生成情報２１１から画像要素によって入力されるアプリデータ識別子を取り出し、アプリフロー制御部２１２からそのアプリデータ識別子に対応する現パラメータ値を取得して、初期値として画面構成要素に設定する（ステップＳ７０４）。これらの処理を画面上の全ての画面要素に対して実行する（ステップＳ７０５）。
【００９２】
全ての画面構成要素に対する設定が終了すると、新しい画面のディスプレイ描画画像を操作パネルコントローラに受け渡すことによって画面表示を更新する（ステップＳ７０６）。これによって操作パネルに画面が表示される。
【００９３】
次に、ステップ７０３におけるインスタンス化について説明する。図８は、本実施の形態における画面オブジェクトの生成の概要を示す説明図である。
【００９４】
本実施の形態では、全てのアプリケーションおよびメニュー画面に共通する共通メニュー画面のクラスが操作パネル制御部２１０に定義されている。一例として、図８に示すように、このクラスには表示アイテム数、選択可能アイテム数、スクロールパターンなどが定義されている。一方、操作パネルインスタンス生成情報２１１には、この共通メニューをインスタンス化するための情報として、表示アイテム数、選択可能アイテム数、スクロールパターンなどに値を設定したものが操作パネルに表示されるメニュー画面ごとに記述されている。
【００９５】
このため、操作パネル制御部２１０は、画面メニューのオブジェクトを生成する場合、操作パネルインスタンス生成情報２１１を参照して、表示アイテム数、選択可能アイテム数、スクロールパターンなどの値を取得して、取得した値から画面メニューを生成する。かかるインスタンス化は上述のようにステージが遷移する場合に行われる他、画面が切り替わる場合にも同様に行われる。
【００９６】
次に、ユーザが操作パネルからキーを押下した場合のＯＣＳ１２６の操作パネル制御部２１０の処理について説明する。図９は、ユーザが操作パネルからキーを押下した場合の操作パネル制御部２１０の処理手順を示すフローチャートである。
【００９７】
ユーザがキーを押下すると、操作パネルコントローラは、操作パネル制御部２１０に押下キーの識別子と共に押下された旨を通知する。操作パネル制御部２１０はそれを受けて、現在の画面と押下キー識別子を元に、操作パネルインスタンス生成情報２１１からパネルキーにアサインされているキー機能を特定する（ステップＳ９０１）。そして、かかる機能種別を判断する（ステップＳ９０２）。
【００９８】
機能種別がデータ入力の場合には、操作パネル制御部２１０は操作パネルインスタンス生成情報２１１からそのキーにアサインされている値を取得する（ステップＳ９０３）。
【００９９】
そして次に、キーにアサインされている値を編集する（ステップＳ９０４）。具体的には、入力対象のデータが文字列の場合は、その値を文字コードとして現在のデータの最後に付加する。入力対象のデータが数値の場合は、入力前の値を１０倍し、そのキーの値を加えて新しい現在値とする。そして、その新しい現在値を画面表示に反映するために、ディスプレイ描画画像を操作パネルコントローラ２０１に受け渡す（ステップＳ９０５）。
【０１００】
機能種別が選択肢アイテムの切り替えの場合には、画面要素が保持する選択アイテムデータを編集して、選択されているアイテムに切り替える（ステップＳ９０６）。そして、その変更を画面に反映させるために、ディスプレイ描画画像を操作パネルコントローラ２０１に受け渡す（ステップＳ９０７）。
【０１０１】
機能種別が入力データの確定の場合には、操作パネル制御部２１０は操作パネルインスタンス生成情報２１１から画像要素によって入力されるアプリデータ識別子を取得して特定する（ステップＳ９０８）。次に操作パネル制御部２１０は、そのアプリデータ識別子のデータが確定されたことをアプリフロー制御部２１２に通知する（ステップＳ９０９）。
【０１０２】
機能種別が画面の切り替えの場合には、操作パネル制御部２１０は現在の画面と押下キー識別子から、操作パネルインスタンス生成情報２１１から遷移先画面を特定する。これ以降の処理は、図７に示す処理と同様に行われる。
【０１０３】
機能種別が機能の実行の場合には、操作パネル制御部２１０は、現在の画面と押下キー識別子とから操作パネルインスタンス生成情報２１１を参照してパネルキーにアサインされているイベントを特定する（ステップＳ９１６）。そして、操作パネル制御部２１０は、取得したイベントと共にアプリフロー制御部２１２に対して実行要求を送信する（ステップＳ９１７）。
【０１０４】
このようにユーザが操作パネルからキーを押下した場合には以上のような処理が操作パネル制御部２１０で行われて、各通知がアプリフロー制御部２１２に送信される。
【０１０５】
図１０は、図４に示すメニュー画面の画面４０３の生成する場合における上述したアプリフロー制御部２１２および操作フロー制御部２１０に対するデータの流れを示す説明図である。
【０１０６】
操作フロー制御部２１０には、図８に示すような、共通メニュー画面のクラスが定義されている。このクラスには、図８に示す項目の他、メニュー座標、横アイテム数、縦アイテム数、選択可能アイテム数、アイテム間隔横、アイテム間隔縦、アイテム長横、アイテム長縦、スクロールパターン、スクロールボタン位置が定義されている。そして、ステージの切り替え時や画面の切り替え時において、操作フローインスタンス生成情報２１１からメニュー座標、横アイテム数、縦アイテム数、選択可能アイテム数、アイテム間隔横、アイテム間隔縦、アイテム長横、アイテム長縦、スクロールパターン、スクロールボタン位置の画面４０３に対応した各値を取得して、クラスのインスタンス化を行い、画面４０３のオブジェクトを生成するようになっている。
【０１０７】
このように本実施の形態の複合機１００では、操作フロー制御部２１１に操作パネルに表示する画面に対して定義され、すべてのアプリケーション１３０に共通するクラスを保持し、前記クラスをインスタンス化するための情報である操作フローインスタンス生成情報２１０を参照してインスタンスを生成して画面オブジェクトを生成しているので、共通のクラスを一つ定義すればアプリケーション毎、画面毎に異なるクラスを定義する必要がなくなり、ＯＣＳ１２６のプログラム開発を効率的に行うことができる。また、新規アプリケーションが搭載された場合でも、新規アプリケーションの開発者はＯＣＳ１２６に修正を加える必要がなくなり、新規アプリケーションの開発労力も軽減する。
【０１０８】
なお、本実施の形態では、操作パネルフロー制御部２１１とアプリフロー制御部２１２とを別個に設けているが、操作パネルフロー制御部２１１とアプリフロー制御部２１２を統合した構成としてもよい。
【０１０９】
また、本実施の形態では、各アプリケーションごとにインスタンス生成情報を設けているが、内部でインスタンス化の情報を区別できるようにしておけば、各アプリケーションごとのインスタンス生成情報を統合した構成としてもよい。さらに、かかるインスタンス生成情報に操作フローインスタンス生成情報を含めるように構成してもよい。
【産業上の利用可能性】
【０１１０】
以上のように、本発明にかかる画像形成装置、操作パネル制御方法およびその方法をコンピュータに実行させるプログラムは、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した複合機に適している。
【図面の簡単な説明】
【０１１１】
【図１】実施の形態１の複合機の構成を示すブロック図である。
【図２】ＯＣＳの詳細な構成を示すブロック図である。
【図３】アプリケーション１３０、および操作パネルコントローラ２０１のデータの流れを示す説明図である。
【図４】操作パネルの表示画面の一例を示す説明図である。
【図５】ステージの概念を示す説明図である。
【図６】アプリケーション１３０からＯＣＳ１２６にアプリ状態が通知された場合のアプリフロー制御部２１２の処理の手順を示すフローチャートである。
【図７】遷移移行通知を受信した操作フロー制御部２１０による処理の手順を示すフローチャートである。
【図８】本実施の形態における画面オブジェクトの生成の概要を示す説明図である。
【図９】ユーザが操作パネルからキーを押下した場合の操作パネル制御部２１０の処理手順を示すフローチャートである。
【図１０】図４に示すメニュー画面の画面４０３の生成する場合における上述したアプリフロー制御部２１２および操作フロー制御部２１０に対するデータの流れを示す説明図である。
【符号の説明】
【０１１２】
１００  複合機
１０１  白黒ラインプリンタ
１０２  カラーラインプリンタ
１０３  ハードウェアリソース
１１０  ソフトウェア群
１１１  プリンタアプリ
１１２  コピーアプリ
１１３  ファックスアプリ
１１４  スキャナアプリ
１１５  ネットファイルアプリ
１１６  工程検査アプリ
１２０  プラットホーム
１２１  汎用ＯＳ
１２２  ＳＣＳ
１２３  ＳＲＭ
１２４  ＥＣＳ
１２５  ＭＣＳ
１２６  ＯＣＳ
１２７  ＦＣＳ
１２８  ＮＣＳ
１３０  アプリケーション
２０１  操作パネルコントローラ
２０３  コピーアプリフローインスタンス生成情報
２０５  プリンタアプリフローインスタンス生成情報
２０７  ＦＡＸアプリフローインスタンス生成情報
２０９  スキャナアプリフローインスタンス生成情報
２１０  操作フロー制御部
２１１  操作フローインスタンス生成情報
２１２  アプリフロー制御部
４０１〜４０３  画面
【図１】
2005117544.tif 000003
【図２】
2005117544.tif 000004
【図３】
2005117544.tif 000005
【図４】
2005117544.tif 000006
【図５】
2005117544.tif 000007
【図６】
2005117544.tif 000008
【図７】
2005117544.tif 000009
【図８】
2005117544.tif 000010
【図９】
2005117544.tif 000011
【図１０】
2005117544.tif 000012