(57)【要約】【課題】グラフィカルユーザインタフェースを、利用者側で柔軟かつ簡易にカスタマイズできるようにする。【解決手段】ＧＵＩ部品の情報と、ＧＵＩ部品および操作メニュー項目の各種類のそれぞれを関連付けるアダプタ部品の情報を登録しておく。ＧＵＩの画面構成を定義付ける画面構成定義ファイルＦ１と、ＧＵＩ部品と操作メニュー項目を関連付ける定義情報を記述したメニュー項目定義ファイルＦ２を読み込む。各ファイルＦ１，Ｆ２に基づいて、画面構成定義ファイルＦ１に記述された操作メニュー項目のそれぞれについて、操作メニュー項目の種類に適合するＧＵＩ部品を関連付けるアダプタ部品を特定し、画面構成定義ファイルＦ１に記述されているＧＵＩ部品と操作メニュー項目とを、特定したアダプタ部品を使って関連付ける。各ＧＵＩ部品を所定位置に配置し、ＧＵＩ部品に機能を割り付け、機能文字を追加することでＧＵＩを確定させる。【選択図】図５
2008003648.tif 000002
【特許請求の範囲】
【請求項１】
電子機器を操作するためのグラフィカルユーザインタフェースを作成する操作画面生成方法であって、
前記電子機器を操作する操作メニュー項目の各種類のそれぞれと前記グラフィカルユーザインタフェースを構成する操作部品の各種類のそれぞれとを関連付ける中継部品を用意しておき、
グラフィカルユーザインタフェースの画面構成を定義付ける画面構成定義情報と、前記グラフィカルユーザインタフェースを構成する操作部品と前記電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報とに基づいて、前記画面構成定義情報に定義付けられている前記操作メニュー項目のそれぞれについて、当該操作メニュー項目の種類に適合する前記操作部品を関連付ける前記中継部品を特定し、この特定した中継部品を用いて前記操作メニュー項目と前記操作部品との関連付けを作成する
ことを特徴とする操作画面生成方法。
【請求項２】
電子機器を操作するためのグラフィカルユーザインタフェースを作成する操作画面生成装置であって、
前記グラフィカルユーザインタフェースの構成に資する操作部品の情報と前記電子機器を操作する操作メニュー項目の各種類のそれぞれと前記グラフィカルユーザインタフェースを構成する前記操作部品の各種類のそれぞれとを関連付ける中継部品の情報を格納する定義情報格納部と、
前記グラフィカルユーザインタフェースの画面構成を定義付ける画面構成定義情報と、前記グラフィカルユーザインタフェースを構成する操作部品と前記電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報に基づいて、前記画面構成定義情報に定義付けられている前記操作メニュー項目のそれぞれについて、当該操作メニュー項目の種類に適合する前記操作部品を関連付ける前記中継部品を特定する中継部品検索部と、
前記画面構成定義情報に定義付けられている前記操作部品を前記定義情報格納部から読み出して、この読み出した前記操作部品と前記画面構成定義情報に定義付けられている前記操作メニュー項目とを、前記中継部品検索部が特定した中継部品を使って関連付ける部品メニュー対応付部と
を備えたことを特徴とする操作画面生成装置。
【請求項３】
前記グラフィカルユーザインタフェースの画面構成を定義付ける画面構成定義を記述した画面構成定義ファイルを読み込む定義ファイル読込部を備え、
前記中継部品検索部と前記部品メニュー対応付部は、前記定義ファイル読込部が読み込んだ前記画面構成定義ファイルの前記前記画面構成定義情報に基づいて処理を行なう
ことを特徴とする請求項２に記載の操作画面生成装置。
【請求項４】
前記グラフィカルユーザインタフェースを構成する操作部品と前記電子機器を操作する操作メニュー項目を関連付ける定義情報を記述したメニュー項目定義ファイルを読み込む定義ファイル読込部を備え、
前記中継部品検索部と前記部品メニュー対応付部は、前記定義ファイル読込部が読み込んだ前記メニュー項目定義ファイルの前記操作メニュー定義情報に基づいて処理を行なう
ことを特徴とする請求項２または３に記載の操作画面生成装置。
【請求項５】
前記定義ファイル読込部は、前記操作部品の情報を定義付けた操作部品情報ファイルを読み込み、この操作部品情報ファイルに記述されている前記操作部品の情報を前記定義情報格納部に登録する
ことを特徴とする請求項２〜４のうちの何れか１項に記載の操作画面生成装置。
【請求項６】
前記定義ファイル読込部は、前記中継部品の情報を定義付けた中継部品情報ファイルを読み込み、この中継部品情報ファイルに記述されている前記中継部品の情報を前記定義情報格納部に登録する
ことを特徴とする請求項２〜５のうちの何れか１項に記載の操作画面生成装置。
【請求項７】
グラフィカルユーザインタフェースの構成に資する操作部品の情報と操作メニュー項目の各種類のそれぞれと前記グラフィカルユーザインタフェースを構成する前記操作部品の各種類のそれぞれとを関連付ける中継部品の情報を格納する定義情報格納部と、
前記グラフィカルユーザインタフェースの画面構成を定義付ける定義情報と、前記グラフィカルユーザインタフェースを構成する操作部品と前記電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報に基づいて、前記画面構成定義情報に定義付けられている前記操作メニュー項目のそれぞれについて、当該操作メニュー項目の種類に適合する前記操作部品を関連付ける前記中継部品を特定する中継部品検索部と、
前記画面構成定義情報に定義付けられている前記操作部品を前記定義情報格納部から読み出して、この読み出した前記操作部品と前記画面構成定義情報に定義付けられている前記操作メニュー項目とを、前記中継部品検索部が特定した中継部品を使って関連付ける部品メニュー対応付部と
を備えたことを特徴とする電子機器。
【請求項８】
電子機器を操作するためのグラフィカルユーザインタフェースを作成する操作画面生成処理を、コンピュータを用いて行なうためのプログラムであって、
前記コンピュータを、
前記グラフィカルユーザインタフェースの画面構成を定義付ける画面構成定義情報と前記グラフィカルユーザインタフェースを構成する操作部品と前記電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報に基づいて、前記画面構成定義情報に定義付けられている前記操作メニュー項目のそれぞれについて、当該操作メニュー項目の種類に適合する前記操作部品を関連付ける前記中継部品を特定する中継部品検索部と、
前記画面構成定義情報に定義付けられている前記操作部品と前記画面構成定義情報に定義付けられている前記操作メニュー項目とを、前記中継部品検索部が特定した中継部品を使って関連付ける部品メニュー対応付部と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面上に表示されたアイコンやウインドウなどのグラフィカルな操作部品（Control Widget）を、マウスなどのポインティングデバイスを用いて操作することで電子機器の動作を指示する方式のユーザインタフェースであるグラフィカルユーザインタフェース画面（ＧＵＩ；Graphical User Interface）の生成方法および生成装置並びにＧＵＩを生成するためのプログラムに関する。
【背景技術】
【０００２】
たとえば、プリンタ装置、ファクシミリ装置、複写装置、またはそれらの機能を複合的に有する複合機（multi-function device ）、あるいはコンピュータ機器を始めとする各種の電子機器を操作する際の指示方式として、代表的なものに、キーボードによって装置を操作するキーボード方式と、コマンドによって装置を操作するＣＵＩ方式（Character Based User Interface）と、画面上に表示されている操作部品をポインティングデバイスを用いて操作するＧＵＩ方式とがある。
【０００３】
ＧＵＩ方式は、アイコンやカーソルやメニューの項目などを見ながら操作部品（ＧＵＩ部品とも称する）を操作する必要があり、また、同時に描画処理（グラフィックス処理）を伴うため、キーボード方式やＣＵＩ方式と比べると装置の反応が遅くなる傾向があるものの、操作メニューが絵柄で表示されるために、初心者でも理解し易く操作方法の習得も速いなどの利点があり、今日の多くの電子機器で採用されている方式である。
【０００４】
ここで、ＧＵＩ方式に沿った操作画面をどのように構築するかが問題となり、様々な仕組みが提案されている（たとえば特許文献１〜３を参照）。
【０００５】
【特許文献１】特開２００４−３８７３３号公報
【特許文献２】特開平０８−０４４５４６号公報
【特許文献３】特開平１０−０９１４１２号公報
【０００６】
たとえば、設計段階では、装置を構成する各種デバイスの接続構成や、必要に応じて追加するオプション機器といった一義的に決まった複数デバイスの組合せ構成に応じて、装置を操作するための表示操作キーにおけるスイッチやボタン類の配置（操作キー配列ともいう）あるいはメニュー画面を一義的に決めればよい。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、オプション装置の搭載環境に変更があった場合や使い勝手などの観点から、作成済のＧＵＩを変更（カスタマイズ）する必要が生じることがある。たとえば、２００１年６月２０日に施行された米国のリハビリテーション法５０８条で定められているガイドライン（1194.22 Web-based intranet and internet information and applications. ）では弱視者に見易いＧＵＩが求められているなど、使い易さの追求から、ＧＵＩを個人ごとにカスタマイズする機能が注目されている。
【０００８】
しかしながら、従来の仕組みでは、利用者サイドでこの種の変更に柔軟に応えることは難しいのが実情であり、実際の所は、機器提供者側（設計サイド）で、改めてＧＵＩを再設計することで対処するのが一般的であり、多大な設計費用、工数、および装置コストが必要となる。つまり、ＧＵＩのカスタマイズのために、ＧＵＩ生成用のソフトウェアを変更するのは、機器提供者側にとって負担となる。
【０００９】
たとえば、特許文献１に記載の仕組みでは、デジタルフォトプリンタを操作するための操作ボタンなどのＧＵＩ部品に対し定義済みのコマンドを関連付ける必要があるので、ＧＵＩを変更しようとすると、変更後の操作ボタンのそれぞれに対して定義済みのコマンドを逐一関連付ける処理が必要になり、そのためのプログラム設計が必要になってしまう。
【００１０】
また、特許文献２に記載の仕組みでは、ＧＵＩ部品に対してコマンドを関連付ける際に、通信機構を介在させる必要がある。この場合、通信機構を動作させるための双方で同じ通信プロトコル（制御命令体系の一例）が必要になり、ＧＵＩ部品を変更する場合、この点にも考慮する必要がある。通信プロトコルＡを使用するＧＵＩ部品から、別の通信プロトコルＢを使用するＧＵＩ部品に変更しようとすると、装置側が使用するコマンド側の通信プロトコルを弄る必要が生じてしまう。
【００１１】
一方、装置側が使用するコマンド側の通信プロトコルを弄らないようにするには、各種のＧＵＩ部品についても、同じ通信プロトコルを使う必要が生じる。つまり、解決手法としては、汎用的な通信プロトコルを使用せざるを得ない。
【００１２】
しかしながら、実際には、ＧＵＩライブライで提供される各ＧＵＩ部品は、ＧＵＩ部品の提供者側の要求で、独自性を持った通信プロトコルを使用するのが一般的であり、汎用的な通信プロトコルを使用するというのは、現実的ではない。
【００１３】
また、特許文献３に記載の仕組みでは、操作メニュー項目の用途から最適なＧＵＩ部品を選択し、処理コードを自動生成する仕組みが開示されている。しかしながら、この仕組みは、設計サイドで使用するＧＵＩ構築装置への適用のものであり、開発行為を伴うものとなっており、利用者サイドで、ＧＵＩを変更することに応えることは困難である。
【００１４】
一方、ＧＵＩの変更に対処するための一解決手法として、想定されるデバイスの組合せやユーザごとの要望に対応するだけの種類のＧＵＩを設計しておくことが考えられる。しかしながら、想定外の組合せや要望が生じたときには、ユーザインタフェース設計のやり直しや新規なユーザインタフェース装置の製造が必要となる。つまり、想定外のものに柔軟かつ簡易に対応することは難しい。
【００１５】
本発明は、上記事情に鑑みてなされたものであり、ＧＵＩの変更要望に対して、利用者側で、柔軟あるいは簡易に対処できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明に係る仕組みにおいては、先ず、グラフィカルユーザインタフェースの構成に資する操作部品の情報と電子機器を操作する操作メニュー項目の各種類のそれぞれとグラフィカルユーザインタフェースを構成する操作部品の各種類のそれぞれとを関連付ける中継部品の情報を所定の記憶媒体に登録しておく。
【００１７】
そして、グラフィカルユーザインタフェースの画面構成を定義付ける画面構成定義情報と、グラフィカルユーザインタフェースを構成する操作部品と電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報とに基づいて、画面構成定義情報に定義付けられている操作メニュー項目のそれぞれについて、操作メニュー項目の種類に適合する操作部品を関連付ける中継部品を特定し、画面構成定義情報で定義付けられている操作部品と操作メニュー項目とを、特定した中継部品を使って関連付ける。
【００１８】
なお、画面構成定義情報や操作メニュー定義情報は、対話形式で入力していってもよいが、より効率的な処理を実現するには、予め、グラフィカルユーザインタフェースの画面構成を定義付ける定義情報を記述した画面構成定義ファイルと、グラフィカルユーザインタフェースを構成する操作部品と電子機器を操作する操作メニュー項目を関連付ける操作メニュー定義情報を記述したメニュー項目定義ファイルを用意し、これを定義ファイル読込部で読み込み、ファイル内容から各定義情報を特定するようにするのがよい。
【００１９】
中継部品を介在して操作部品と操作メニュー項目とを関連付けた後には、一般的なグラフィカルユーザインタフェースの生成処理と同様に、各操作部品を画面構成定義ファイルに従って所定位置に配置し、また各操作部品に機能を割り付け、またその機能情報を示す文字（機能文字）を追加することで、グラフィカルユーザインタフェースを確定させればよい。
【００２０】
なお、本発明に係る仕組みは、電子計算機（コンピュータ）を用いてソフトウェアで実現することもでき、このためのプログラムやこのプログラムを格納した記録媒体を発明として抽出することも可能である。プログラムは、コンピュータ読取り可能な記憶媒体に格納されて提供されてもよいし、有線あるいは無線による通信手段を介した配信により提供されてもよい。
【発明の効果】
【００２１】
本発明によれば、操作部品の各種類と操作メニュー項目の各種類のそれぞれを関連付ける中継部品の情報を事前に記憶媒体に登録しておき、画面構成定義情報に従ってグラフィカルユーザインタフェースを作成する際に、画面構成定義情報で定義付けられている操作部品と操作メニュー項目との対応付けを、両者を対応付けるように予め用意されているアダプタ部品を利用して行なうようにしたので、両者を対応付けるためのプログラム作成やプログラム変更に機器提供者が介在する必要がなく、プログラムのロジック部分を変更せずにグラフィカルユーザインタフェースを、利用者側で、自由に作成することができる。
【００２２】
作成済のグラフィカルユーザインタフェースを変更したければ、画面構成定義情報を書き換えるだけで済み、利用者側だけで、画面構成の変更に柔軟に対処することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２４】
＜電子機器の回路構成例＞
図１は、電子機器の一例である画像出力端末における回路構成のシステムアーキテクチャの一例を示す図である。なお、図示する画像出力端末は、デジタル複写装置や複合機として利用する場合の形態を示している。
【００２５】
なお、本実施形態では、グラフィカルユーザインタフェースを作成する操作画面生成装置が組み込まれた電子機器の一例として、プリンタ、複写機、あるいはＦＡＸ装置などの各種の機能（複合機能）を具備した画像出力端末を例に説明するが、これに限らず、プリンタ、複写機、ＦＡＸ装置、携帯電話、デジタルカメラ、パーソナルコンピュータ、ＣＤ（コンパクトディスク）レコーダ、ＤＶＤレコーダ、ＭＤレコーダなど、何れのものであってもよい。
【００２６】
ここで、本実施形態の画像出力端末７は、各種の機能部の一部を、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機（コンピュータ）と同様の仕組みを用いてソフトウェア的に実現することが可能に構成されている。
【００２７】
ソフトウェアにより所定の処理（特に本実施形態では情報アクセス管理）を実行させる仕組みとすることで、ハードウェア処理回路で構成される各機能要素の一部を取り外した構成にすることができ、またハードウェアの変更を伴うことなく、処理手順などを容易に変更できる利点を享受できるようになる。これに対して、ハードウェア処理回路で行なうことで、高速化を図ったアクセラレータシステムを構築することができるようになる。アクセラレータシステムは、処理が複雑であっても、処理速度の低下を防ぐことができ、高いスループットを得ることができる。
【００２８】
電子計算機と同様の仕組みで、各種機能をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵ（Central Processing Unit ）、論理回路、読出専用の記憶部であるＲＯＭ（Read Only Memory）、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるＲＡＭ（Random Access Memory）、あるいは不揮発性の記憶部の一例であるＲＡＭ（ＮＶＲＡＭと記述する）を始めとする記憶装置などの機能を１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（System On a Chip：システムオンチップ）、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な構成で、記録媒体からインストールされる。
【００２９】
記録媒体は、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの状態変化を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
【００３０】
たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクＦＤを含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）、光磁気ディスク（ＭＤ（Mini Disc ）を含む）、または半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭやハードディスクなどで構成されてもよい。
【００３１】
また、ソフトウェアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線あるいは無線などの通信網を介して提供されてもよい。
【００３２】
たとえば、各種機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウェア処理回路にて構成する場合と同様の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体が各種機能を実現する。
【００３３】
また、コンピュータが読み出したプログラムコードを実行することで各種機能が実現されるだけでなく、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（Operating Systems ；基本ソフト）などが実際の処理の一部または全部を行ない、その処理により各種機能が実現される場合であってもよい。
【００３４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって各種機能が実現される場合であってもよい。
【００３５】
なお、各種機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【００３６】
たとえば、コンピュータシステムとして構成される本実施形態の画像出力端末７の処理基板（１枚とは限らない）上には、先ず動作制御部の一例であるコントローラ部１００が配されている。コントローラ部１００は、中央演算処理部の一例であるＣＰＵ（プロセッサ）１１０、メモリブリッジ部（Memory Bridge ）１２０、および電源供給時にのみ記憶内容を保持する揮発性の記憶媒体もしくは不揮発性の記憶媒体を具備したメインメモリ（主記憶部）１３０を備える。
【００３７】
なお、図示しないが、コントローラ部１００には、オペレーティングシステムＯＳや、画像形成に関わる各機能部分あるいは周辺デバイスを制御するためのアプリケーションソフトウェアが組み込まれる（インストールされる）不揮発性の記憶媒体（ＮＶＲＡＭ）が設けられる。
【００３８】
なお、上記において“揮発性の記憶媒体”とは、装置の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶媒体を意味する。一方、“不揮発性の記憶媒体”とは、装置のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶媒体を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。
【００３９】
なお、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して、擬似的に不揮発性の記憶媒体として利用できる。また、ＣＤ−ＲＯＭなどの記録媒体から情報を読み出す構成を採ることでも不揮発性の記憶媒体として利用できる。
【００４０】
ＣＰＵ１１０は、画像出力端末７全体の動作制御およびデータ処理を実行するメインコントローラであり、オペレーティングシステムＯＳの制御下で、各種プログラムを実行するようになっている。
【００４１】
メインメモリ１３０は、ＣＰＵ１１０が実行するプログラムをロードしたり、作業領域として使用するためのＲＡＭ(random access memory)などの揮発性の半導体メモリである。メインメモリ１３０内にプログラムコードやデータが収まりきらなくなった場合には、仮想メモリシステムとファイルシステムとの協調動作によって、ハードディスク装置（ＨＤＤ）５４などの補助記憶装置との間で入れ替え（スワッピング）が行なわれるようになっている。
【００４２】
メモリブリッジ部１２０には、ＣＰＵ１１０と協働してＣＰＵ１１０とメインメモリ１３０との間のデータの入出力を制御するメモリコントローラが組み込まれている。そして、メインメモリ１３０は、メモリブリッジ部１２０を介してＣＰＵ１１０と接続されるようになっている。ＣＰＵ１１０とメインメモリ１３０との間は、ＤＭＡ（Direct memory Access )オペレーションにより、所定バイトのブロック単位でデータが転送される。
【００４３】
また、コントローラ部１００は、Ｉ／Ｏブリッジ部（Input/Output Bridge ）１４０、および周辺デバイスとの間の通信インタフェースを切り替える切替部の一例であるスイッチ部（Switch）１５０を備える。Ｉ／Ｏブリッジ部１４０には、ＣＰＵ１１０と協働して機能するＩ／Ｏ（入出力）コントローラが組み込まれる。スイッチ部１５０には、周辺のデバイスとの間のインタフェースを採る入出力インタフェースドライバが組み込まれた種々のアドオンボード（ドライバ基板）２５０が追加接続（アドオン）されるようになっている。
【００４４】
たとえば、ギガビット（Giga Bit）ベースのＬＡＮとの間のインタフェースを採るＬＡＮボード２５２、ＩＥＥＥ１３９４規格のデバイスとの間のインタフェースを採る１３９４ボード２５４が、スイッチ部１５０に接続可能となっている。スイッチ部１５０に組み込まれる入出力インタフェースドライバは、周辺デバイスとの間に介在する個々のアドオンボード２５０（ＬＡＮボード２５２や１３９４ボード２５４など）との間で、１対１（Peer to Peer）で接続するように構成される。
【００４５】
なお、Ｉ／Ｏブリッジ部１４０は、スイッチ部１５０を経由することなく、ＵＳＢ（Universal Serial Bus）２．０規格のデバイス３ｇとの間のインタフェースを採るＵＳＢボード２５６が、直接に接続されるようになっている。ＬＡＮボード２５２や１３９４ボード２５４についても、スイッチ部１５０を経由することなく接続してもかまわない。この場合、Ｉ／Ｏブリッジ部１４０に、ＬＡＮボード２５２などとの間でのピアツーピア接続の仕組みを設ける。
【００４６】
また、コントローラ部１００は、処理基板上には配されていないが、ハードディスク装置５４を備える。このハードディスク装置５４は、ハードディスクインタフェースの一例である“Serial ATA”規格によりＩ／Ｏブリッジ部１４０と接続される。なお、本実施形態において“Serial ATA”規格は、基本である“Serial ATA 1.0”の規格の上位規格である“Serial ATA II ”あるいは今後規格化されるであろうさらなる上位規格をも含む。
【００４７】
Ｉ／Ｏブリッジ部１４０は、操作パネル１４や操作キー１６などからなるユーザインタフェース装置と直接に接続されるようになっている。なお、コントローラ部１００には、図中点線で示すように、ユーザインタフェースドライバの一例であるグラフィックスドライバ部（Graphics）１６０をオプションとして設けてもよい。この場合、大型ユーザインタフェースあるいはメンテナンス画面を備えたユーザインタフェース装置１５が、このグラフィックスドライバ部１６０を介してメモリブリッジ部１２０に接続される。
【００４８】
また、Ｉ／Ｏブリッジ部１４０は、複合機などとして機能する画像出力端末７を構成する機能部分として、図示しないスキャナ装置により画像を光学的に走査することでデジタル画像データを得る画像取込部（Image Input Terminal）２１０と、画像取込部２１０により取得したデジタル画像データあるいはＬＡＮ（Local Area Network）や他の周辺デバイスから得たデジタル画像データに対して所定の画像処理を施す画像処理部（Image Processing System ）２２０、並びに画像処理部２２０により所定の画像処理が施されたデジタル画像データに基づいて、所定の記録媒体に画像を形成する画像記録部（Image Output Terminal ）２３０と接続される。
【００４９】
この接続間の電気信号伝送ライン上に、画像取込部２１０、画像処理部２２０、画像記録部２３０などの画像形成機能部２０２に入出力される画像データと、コントローラ部１００が画像形成機能部２０２の動作を制御するための制御コマンドとが、共通に乗せられる。
【００５０】
なお、フラッシュメモリなどの半導体メモリを読み取り対象とする記録メディア読取部（メモリリーダ）、ＣＤ−ＲやＣＤ−ＲＷなどを記録媒体とする記録メディア書込部、あるいは他の画像記録部などを拡張ユニット２４０としてＩ／Ｏブリッジ部１４０と接続してもかまわない。
【００５１】
画像取込部２１０、画像処理部２２０、あるいは画像記録部２３０などの画像形成に関わる機能部分（デバイス）の電気回路は、コントローラ部１００の電気回路が搭載されるプリント基板（マザーボード）とは各別のプリント基板（モジュール基板）に、マザーボードに対して着脱自在に搭載されている。
【００５２】
そして、これら各デバイスの電気回路を搭載したモジュール基板は、コントローラ部１００の電気回路が搭載されているマザーボードから離れたところに、物理的にはケーブルを介して接続されて、分散配置される。あるいは、オンボード型の基板コネクタを介して、モジュール基板がマザーボード上に装着接続される構成としてもよい。
【００５３】
なお、画像取込部２１０、画像処理部２２０、あるいは画像記録部２３０などの、画像形成に関わる機能部分である画像形成機能部（デバイス）は、画像形成装置を構成するために使用されるボードレベルのもの（モジュール基板）として提供されてもよいし、このモジュール基板を筐体内に収容した機能ユニットとして提供されてもよい。このモジュール基板と機能ユニットとを纏めて、機能モジュールという。
【００５４】
このような構成の画像形成装置の一例である画像出力端末７は、画像取込部２１０などの画像形成機能部２０２、周辺デバイス用のドライバ回路２０４、あるいはユーザインタフェース装置など画像出力端末７の本体に対して着脱自在な周辺デバイスが備えるユーザインタフェース（User Interface）機能に関する情報（ＵＩコンフィギュレーションＪ４）を取得し、この取得したＵＩコンフィギュレーションＪ４に基づいて、操作キー（操作部品の一例）の配置や機能割付けを決定してユーザに提示する表示メニューを構築して所定の表示デバイスに表示させ、また、提示した表示メニューや操作キーに基づくユーザ指示を受け付けて、装置の各部を制御するユーザインタフェース制御部１９０を備えている。つまり、動作制御部の一例であるコントローラ部１００が、ユーザインタフェース制御部１９０を兼ねる構成となっている。
【００５５】
これに対応して、各画像形成機能部には、本体側のユーザインタフェース制御部１９０からの要求を受け、電源コンフィギュレーションＪ１やＵＩコンフィギュレーションＪ４を含むデバイスコンフィギュレーションＪ０を通知するデバイス情報通知部の機能も設けられる。たとえば、デバイスシステム制御部には不揮発性のメモリが設けられ、このメモリの所定の格納部（コンフィグレーションレジスタ）には、各接続デバイスの属性を示す情報であって画像形成装置との関わりで、その接続デバイスが適正な動作を可能であるか否かを示すデバイスコンフィギュレーション（接続デバイスに固有のシステム情報）Ｊ０が記録される。
【００５６】
たとえば、接続デバイスがスキャナ（画像取込部２１０）である場合、読取解像度や有効画像サイズあるいは各種原稿検知機能の判定結果算出時間、プロセス速度、スキャン開始命令から実際にデータが送出されるまでの時間などの機種ごとの詳細動作仕様が記録される。
【００５７】
また、デバイスコンフィギュレーション（システム情報）Ｊ０の中には、接続デバイスの消費電力（定格値や最大値の何れでもよい）に関する情報である電源コンフィギュレーションＪ１も記録される。接続デバイスの消費電力が、その接続デバイスの動作状態によって異なる場合には、動作状態ごとのデバイスコンフィギュレーションＪ０が記録される。さらに、デバイスコンフィギュレーション（システム情報）Ｊ０の中には、周辺デバイスが備えるユーザインタフェース（User Interface）機能に関する情報であるＵＩコンフィギュレーションＪ４も記録される。
【００５８】
ユーザインタフェース制御部１９０は、各接続デバイスから、デバイスの属性を示すデバイスコンフィギュレーションＪ０を取得し、このデバイスコンフィギュレーションＪ０に含まれているＵＩコンフィギュレーションＪ４を参照して各デバイスの機能に応じたユーザインタフェース（操作キーや表示メニューなど）を提示することで、複数デバイスが任意に組み合わされる構成においても、効率のよいユーザインタフェースを構築する。
【００５９】
なお、ＵＩコンフィギュレーションＪ４は、デバイスが備える機能との関わりで必要となるユーザインタフェース用のキー（ボタン）や表示メニューに関する情報が、機能ごとに対応付けられているものである。
【００６０】
加えて、本実施形態のユーザインタフェース制御部１９０は、各デバイスを制御する制御ソフトウェアのモジュール変更や追加、あるいは、ユーザの使い勝手を満たすための希望条件を受け付けて、定義済の操作画面を変更する機能も備えている。
【００６１】
ユーザインタフェース制御部１９０は、たとえばＩ／Ｏブリッジ部１４０と通信接続されている接続デバイスからはＩ／Ｏブリッジ部１４０を介して、Ｉ／Ｏブリッジ部１４０と通信接続されていない接続デバイスはたとえばメモリブリッジ部１２０を介してというように、各接続デバイスのデバイスコンフィギュレーションＪ０を取得する。
【００６２】
また、ユーザインタフェース制御部１９０は、各接続デバイスのデバイスコンフィギュレーションＪ０に基づいて各デバイスに応じたユーザインタフェース画面（操作キーや表示メニューなど）を提示する際にも、たとえば表示メニューの画面データの表示デバイスへの送出やユーザからの指示を受け付ける。
【００６３】
画像形成装置の一例である画像出力端末７において、コントローラ部１００は、複写機能や印刷機能などのハードウェア部分、たとえば画像取込部２１０、画像処理部２２０、あるいは画像記録部２３０といった各デバイス間の画像データの入出力系の相互接続に関して、各デバイス間を同時に流れる大量のデータを絶え間なく管理するとともに、複写装置などの機能を果たすよう、各デバイスを制御する。
【００６４】
なお、操作パネル１４や操作キー１６などからなるユーザインタフェース装置とＩ／Ｏブリッジ部１４０との間に、図中点線で示すユーザインタフェースドライバ１６２を配してもよい。
【００６５】
コントローラ部１００（詳しくはＩ／Ｏブリッジ部１４０）と、画像取込部２１０、画像処理部２２０、あるいは画像記録部２３０などの各デバイスの間を、所定の接続インタフェースに準拠して接続し、画像取込部２１０などの各デバイスを装置（詳しくはＩ／Ｏブリッジ部１４０）に装着することで、コントローラ部１００は、各デバイスの基本情報を取得して、所用の設定（たとえばデバイスドライバの設定）をする。
【００６６】
上記のように、画像形成装置を実質的に１つのコンピュータとし、コントローラ部にオペレーティングシステムＯＳや画像形成に関わる各機能部分あるいは周辺デバイスを制御するためのアプリケーションソフトウェアを組み込むようにすれば、機能モジュールの汎用性、適用性の向上、拡張性の向上、あるいは資源の共有を図ることができる。
【００６７】
また、これらのことから、装置の製造メーカにとっては作り易く、ユーザにとっては使い勝手のよいものとなる。たとえば、機能モジュールのバージョンアップや機能モジュールの組合せを変えることで高性能化、多機能化、あるいは高速化を図る場合に、それらの変更に応じて、コントローラ部にインストールするアプリケーションソフトウェアを変更するだけで、変更後の機能モジュールを適切に制御して使用することができる。
【００６８】
バージョンアップをしたり機能モジュールの組合せを変えたりしても、コントローラ部に対する機能モジュールの接続構成は変わらないので、それらの変更に応じたアプリケーションソフトウェアの更新設計は容易である。
【００６９】
一方、各機能モジュールや周辺デバイスなどを任意に取り替えて装着することができるので、一義的なユーザインタフェースでは、各デバイスが備える機能を十分に使いこなすことができなくなる。たとえば、複数デバイスが任意に組み合わされる構成の場合、デバイスの組合せによっては、他の接続デバイスとの関わりで装置全体として適切なユーザインタフェースを決定する必要が生じる。
【００７０】
また、設計段階で構築した一義的な操作画面では、あるユーザにとっては使い勝手が悪く、そのユーザの希望に合わせて、操作画面を変更したくなる場合もある。
【００７１】
そこで、この対策のために、図１に示したように、本実施形態の画像出力端末７は、周辺デバイスが備えるユーザインタフェース機能に関するＵＩコンフィギュレーションＪ４を各周辺デバイスから取得してその接続デバイスが備える機能に応じたユーザインタフェースを決定するユーザインタフェース制御部１９０を備えている。以下、ユーザインタフェース制御部１９０の機能について詳しく説明する。
【００７２】
＜ユーザインタフェースの制御系統＞
図２は、ユーザインタフェース制御部１９０の一構成例を示す図である。図２に示すように、ユーザインタフェース制御部１９０は、各接続デバイスからユーザインタフェース（User Interface）機能に関するＵＩコンフィギュレーションＪ４を取得するＵＩ機能情報取得部１９２と、ＧＵＩ生成に資する各種の定義情報を格納する定義情報格納部１９４と、操作画面の生成に関わる各種の定義情報を記述した定義ファイルや、定義情報格納部１９４に格納する各種の情報を記述したその他の定義ファイルを読み込む定義ファイル読込部１９５とを備える。
【００７３】
定義情報格納部１９４としては、想定される全てのデバイスの組合せにて必要となる全てのＧＵＩ部品（基本表示パターン）の情報（画面構成要素部品情報；ＧＵＩ部品情報Ｇ２）を格納する格納領域（Widget Class Repository ）や、電子機器を操作する操作メニュー項目の各種類のそれぞれとＧＵＩを構成する操作部品の各種類のそれぞれとを関連付けるアダプタ部品（アダプタオブジェクトや中継部品とも称する）の定義情報（アダプタ情報Ｇ３）を格納する格納領域（Adapter Class Repository）などが用意される。
【００７４】
ＧＵＩ部品情報Ｇ２やアダプタ情報Ｇ３は、装置提供者側で事前に定義情報格納部１９４に登録しておく。また、後述のように、ＧＵＩ部品情報Ｇ２やアダプタ情報Ｇ３を後から登録することもできる。
【００７５】
ＧＵＩ部品に対して操作メニュー項目を関連付ける際に、ＧＵＩ部品についての制御命令体系と操作メニュー項目についての制御命令体系とが異なる場合、アダプタ部品は、その制御命令体系の変換をも司る。これにより、制御命令体系Ａを使用するＧＵＩ部品から、別の制御命令体系Ｂを使用するＧＵＩ部品に変更しようとする場合でも、アダプタ部品を介在させることで、何ら不都合なく、ＧＵＩ部品と操作メニュー項目とを関連付けることができる。
【００７６】
定義ファイル読込部１９５は、グラフィカルユーザインタフェース（ＧＵＩ）の画面構成を定義付ける画面構成定義情報Ｇ０を記述した画面構成定義ファイルＦ１や、ＧＵＩを構成する操作部品と操作メニュー項目を関連付ける操作メニュー定義情報Ｇ１を記述したメニュー項目定義ファイルＦ２も読み込む。もちろん、画面構成定義ファイルＦ１やメニュー項目定義ファイルＦ２は、適宜更新することができる。
【００７７】
画面構成定義ファイルＦ１には、ＧＵＩを構成する各ＧＵＩ部品の種類やＧＵＩ部品間の関係を、それぞれ識別子を付して記述する。また、メニュー項目定義ファイルＦ２には、たとえば、列挙型、整数型、あるいは日付型を始めとする文字列型などの操作メニュー項目（データオブジェクト）の種類や構造を定義する操作メニュー定義情報Ｇ１を記述する。
【００７８】
また、定義ファイル読込部１９５は、定義情報格納部１９４に格納されるＧＵＩ部品情報Ｇ２を記述した定義ファイルの一例であるＧＵＩライブラリや、操作メニュー定義情報Ｇ１とＧＵＩ部品情報Ｇ２とを対応付ける（関連付ける）ためのアダプタ部品の情報（アダプタ情報Ｇ３）を記述した定義ファイルの一例であるアダプタライブラリなどを読み込むこともできる。なお、ＧＵＩ部品情報Ｇ２およびアダプタ情報Ｇ３は、何れも、ソフトウェア部品である。
【００７９】
ＵＩ機能情報取得部１９２は、ＣＰＵ１１０の制御の元で、画像取込部２１０、画像処理部２２０、画像記録部２３０などの画像形成機能部２０２、周辺デバイス用のドライバ回路２０４、あるいはユーザインタフェース装置１４，１５，１６など、画像出力端末７の本体に任意に着脱される各接続デバイスから、これら接続デバイスとＩ／Ｏブリッジ部１４０あるいはメモリブリッジ部１２０との接続インタフェースを利用して、各デバイスのデバイスコンフィギュレーションＪ０（ここでは特にＵＩコンフィギュレーションＪ４）を取得する。
【００８０】
また、ユーザインタフェース制御部１９０は、接続デバイスの組合せや各接続デバイスの機能に応じた動作モードに対応するユーザインタフェースを決定し、定義情報格納部１９４に格納されているＧＵＩ部品を利用して、決定したユーザインタフェースを反映するソフトキー（ソフトウェアスイッチ）を具備した操作画面を生成し所定の表示デバイスに提示する操作画面生成部１９６と、表示デバイスに提示された表示メニュー上のソフトキーやハードウェア（機構的な）の操作キー１６を介したユーザ指示を受け付け、その指示に応じて装置（本体や接続デバイスの各機能部）を動作させるユーザ指示受付制御部１９９とを備える。
【００８１】
定義情報格納部１９４と定義ファイル読込部１９５と操作画面生成部１９６とにより、電子機器の一例である画像出力端末７を操作するためのグラフィカルユーザインタフェース（ＧＵＩ）を作成する操作画面生成装置１９３が構成される。
【００８２】
定義情報格納部１９４に格納されるＧＵＩ部品は、市販のＧＵＩライブラリを購入して定義ファイル読込部１９５で読み込むことでインストールする（組み込む）など、外部にて生成され提供される新規なＧＵＩ部品（表示パターン）に適宜更新することができる。
【００８３】
また、操作画面生成部１９６にグラフィカルソフトウェア（図形操作用のアプリケーションプログラム）を組み込み、操作画面生成部１９６にて手動操作でＧＵＩ部品を生成し、この生成したＧＵＩ部品に更新してもよい。
【００８４】
ＧＵＩ部品の変更を伴うＧＵＩ画面変更要望があるときに、アダプタ部品の変更が必要となる場合には、このアダプタ部品の情報（アダプタ情報Ｇ３）も、合わせて定義情報格納部１９４に格納するようにする。
【００８５】
その時点で想定外のデバイスの組合せやＧＵＩ画面変更の要望が生じたときでも、変更後のＧＵＩ画面構成で必要となるＧＵＩ部品およびアダプタ部品の情報を定義情報格納部１９４に登録すればよく、この登録は、ＧＵＩ部品情報Ｇ２やアダプタ情報Ｇ３の情報を記述した定義ファイルを定義ファイル読込部１９５で読み込んで定義情報格納部１９４に登録すればよく、機器提供者側に依頼することなく、利用者側で対処できる。
【００８６】
操作画面生成部１９６は、定義ファイル読込部１９５が読み込んだ画面構成定義ファイルＦ１およびメニュー項目定義ファイルＦ２に基づいて、画面構成定義ファイルＦ１に記述された操作メニュー項目のそれぞれについて、操作メニュー項目の種類（列挙型、整数型、文字列型など）と関連付けられているＧＵＩ部品の型を考慮して、操作メニュー項目の種類に適合する操作部品を関連付ける中継部品を検索して特定する中継部品検索部の一例であるアダプタ検索部１９７を有する。
【００８７】
また操作画面生成部１９６は、画面構成定義ファイルＦ１に記述されているＧＵＩ部品を定義情報格納部１９４から読み出して、この読み出したＧＵＩ部品と画面構成定義ファイルＦ１に記述されている操作メニュー項目とを、アダプタ検索部１９７が特定したアダプタ部品を介して、関連付けられている操作メニュー項目とＧＵＩ部品の両者を接続することで、画面構成定義情報Ｇ０に含まれるＧＵＩ部品群と操作メニュー項目の関連付けを作成しまたは編集する部品メニュー対応付部１９８を有する。
【００８８】
操作画面生成部１９６は、定義情報格納部１９４に格納されているＧＵＩ部品を読み出し、この読み出したＧＵＩ部品のうち、ＵＩ機能情報取得部１９２が取得したＵＩコンフィギュレーションＪ４に関係のない（非対応な）表示部分をインアクティブ（無効）にする。たとえば、表示を利用したソフトキーの場合には、表示をマスクする（非表示にする）。あるいは、アクティブなキーよりも薄い色で表示するか禁止を促す色で表示するなどして、そのソフトキーが無効であることをユーザに告知できればよい。
【００８９】
このインアクティブにされた後のソフトキーの配列情報が、ユーザ指示受付制御部１９９に通知される。ユーザ指示受付制御部１９９は、このインアクティブにされた部分を除くソフトキーを介したユーザ指示を受け付ける。ユーザのソフトキーへのアクセスは、表示デバイスに設けられたタッチパネルへの接触を利用するものでもよいし、マウスや十字シフトキーなどのポインティングデバイスを利用するものでもよい。
【００９０】
また、操作画面生成部１９６は、ユーザが操作する操作キー１６の各ボタンの機能割付けを決定する。たとえば、基本キーパターンのうち、ＵＩ機能情報取得部１９２が取得したＵＩコンフィギュレーションＪ４に関係のない（非対応な）キーをインアクティブ（無効）にする。この機能割付けの情報は、ユーザ指示受付制御部１９９に通知される。ユーザ指示受付制御部１９９は、この決定された機能割付けに基づく操作キー１６を介したユーザ指示を受け付ける。
【００９１】
ユーザ指示受付制御部１９９は、インアクティブに設定したキーへのアクセスがあった場合、そのアクセスを受け付けない。この場合、不正なアクセスである旨を警告音などでユーザに告知してもよい。なお、ハードウェアの操作キー１６については、そのインアクティブなキーをハードウェア的にロックしてもよい。なお、ハードキーの場合、決定したキー割付けの情報を画像にてユーザに提示する（ユーザから要求されたときでよい）ことが望ましい。こうすることで、ハードキーに対してラベルを貼り付けるなどの対応が可能となる。
【００９２】
＜グラフィカルユーザインタフェースの構築方法＞
図３〜図７は、ユーザインタフェース制御部１９０の操作画面生成装置１９３によるユーザインタフェース（特にＧＵＩ）の構築方法を説明する図である。ここで、図３は、階層提示形式の操作メニューの一例を示す図である。また、図４（Ａ）は、階層提示形式の操作メニューにおける操作メニュー定義情報Ｇ１（メニューデータオブジェクト群）を説明する図であり、また図４（Ｂ）は、操作メニュー定義情報Ｇ１とＧＵＩ部品情報Ｇ２とアダプタ情報Ｇ３との関係を示した図である。また、図５は、ＧＵＩの構築手法の全体概要を示した図である。また、図６は、画面構成定義ファイルＦ１の一例を示した図であり、図７は、メニュー項目定義ファイルＦ２の一例を示した図である。
【００９３】
本実施形態のＧＵＩ生成手法においては、定義情報格納部１９４に格納されているＧＵＩ部品を利用してデバイスの組合せや動作モードやユーザ希望などに適した表示メニューを生成する点に特徴を有する。
【００９４】
この際、本実施形態のユーザインタフェース制御部１９０は、メニュー項目の種類を定義する操作メニュー定義情報Ｇ１（メニューデータオブジェクト群；メニュー項目定義ファイルＦ２から生成してもよい）と、メニュー項目と画面構成定義に含まれるＧＵＩ部品群を関連付ける定義情報（ＧＵＩ部品情報Ｇ２）とから、操作メニュー定義情報Ｇ１とＧＵＩ部品を機能的に接続するためのアダプタ部品を定義付けるアダプタ情報Ｇ３をアダプタ検索部１９７により検索する。
【００９５】
部品メニュー対応付部１９８は、アダプタ検索部１９７により検索されたアダプタ部品を用いて、関連付けられている操作メニュー定義情報Ｇ１とＧＵＩ部品の両者を接続する。
【００９６】
そして、操作画面生成部１９６は、各ＧＵＩ部品を所定位置に配置し、また各ＧＵＩ部品に機能を割り付け、またその機能情報を示す文字（機能文字）を追加することで、ＧＵＩを生成したり編集したりする。
【００９７】
なお、アダプタ部品は、メニュー項目を構成するツリーの１要素に対応したアダプタ部品に限らず、任意個の操作メニュー定義情報Ｇ１でなるメニューデータオブジェクト群の組合せおよび複数個のＧＵＩ部品の組合せに対応したアダプタ部品を用意してもよい。
【００９８】
また、操作メニューとしては、１つの画面内で所望の操作メニューを提示する一括提示形式のものと、上位概念のものから下位概念のものへと順次階層構造で選択していく階層提示形式のものの何れを採用してもよい。
【００９９】
たとえば、図３に示す事例のように、定義情報格納部１９４に格納されているＧＵＩ部品（図３（Ａ））を組み合わせることで、ソフトキーを具備するＧＵＩ（図３（Ｂ））を作成することもできる。ここで、図３（Ｂ）は、画像取込部２１０、画像処理部２２０、および画像記録部２３０の何れかが白黒対応である場合における複写モードの表示メニュー例を示している。
【０１００】
すなわち、ユーザインタフェース表示は、メニュー項目の設定値を操作するために必要となるＧＵＩ部品（Control Widget）としてボタン類や、ＧＵＩ部品が配置される領域に相当する要素配置部品（Container Widget）としてのタブ類を、基本パーツ（画面構成要素部品）として予め持っている。
【０１０１】
たとえば、図３（Ａ）に示すように、定義情報格納部１９４には、プルダウンメニュー（Pulldown Menu ）、ラジオボタンメニュー（Radio Button Menu ）、スピナーボタンメニュー（Spinner Button Menu ）の他、矩形状の角ボタン、円形状の丸ボタン、星形ボタン、六角ボタン、およびカウンタボタンがＧＵＩ部品として格納され、また、タブ位置の異なる複数種類のタブパーツ（Tabbed Pane ）や部品格納庫（Content Grid）が要素配置部品として格納される。
【０１０２】
ユーザインタフェース制御部１９０の操作画面生成部１９６は、デバイス情報取得部１９２にて取得したＵＩコンフィギュレーションＪ４と予め決められた選択条件とに基づいて、表示に必要となるボタンやタブを選択し、選択したボタンやタブのサイズを変更（縦横独立変倍）し、機能表示部分にキーの機能を示す文字（機能文字）を設定し、また必要に応じてボタンやタブあるいは機能文字の表示色を設定し、さらにボタン類以外の部分に配置する説明文字やその表示色を設定し、最後にそれぞれのボタンやタブあるいは説明文字の配置位置を決定することで、図３（Ｂ）に示すようなＧＵＩを生成する。
【０１０３】
デバイスが備える機能との関わりで必要となるユーザインタフェース用のキー（ボタン）や表示メニューに関する情報が機能ごとに対応付けられているので、ＵＩコンフィギュレーションＪ４を参照することで、ボタン類を割り付けていくことができる。
【０１０４】
たとえば、操作画面生成部１９６にグラフィカルソフトウェア（図形操作用のアプリケーションプログラム）を組み込んでおくことで、これらの一連の処理がソフトウェア処理にて自動的に実行されるようにするのが効率的である。なお、選択条件とは、カラー複写機や白黒複写機、または使用頻度など、さまざまな条件が考えられる。
【０１０５】
いかなる接続デバイスが装置に組み合わされた場合であっても、それに対応したＧＵＩを柔軟、簡易、低コストで構築することができる。接続されたデバイスを認識した時点で適切なユーザインタフェース表示が可能となり、工場出荷後のデバイス交換にも新たなユーザインタフェース設計変更を行なわずに対応可能となる。
【０１０６】
また、定義情報格納部１９４にＧＵＩ部品やアダプタ部品を適宜追加登録することができるようにすることで、当初想定していなかった新規なデバイスの組合せやユーザ変更要望が生じた場合に、たとえばサイズ変更（縦横独立変倍）で対応できないようなボタン類（ＧＵＩ部品）が必要となる場合であっても、その新規な組合せに応じたＧＵＩ部品やアダプタ部品を登録することで、これらの変更に応じたＧＵＩを実現することができる。
【０１０７】
この場合においても、基本的な処理やハードウェア環境には何ら変更を加える必要がない。したがって、想定外の組合せに対しても柔軟かつ簡易に対応することができ、開発工数や費用を大幅に削減することができる。また、接続デバイス変更によりデバイスコンフィギュレーションが変更されても、その都度制御ソフトを変更する必要がなく、開発工数や費用を大幅に削減することもできる。
【０１０８】
なお、前述の説明では、操作画面生成部１９６にグラフィカルソフトウェアを組み込んでおき、ソフトウェア処理にて自動的にユーザインタフェース画面を生成するようにしていたが、人手を介在させてもかまわない。また、ＵＩコンフィギュレーションＪ４で指定されているボタン類が定義情報格納部１９４に登録されていなかったために、自動生成では漏れてしまったものについては、その旨を明示し、マニュアル操作で追加できるようにしてもよい。
【０１０９】
たとえば、上述のようにして一旦自動的に生成した後に、ボタン形状やサイズ、機能文字、表示色、あるいはそれぞれの配置位置を修正してもよい。こうすることで、キーやタブの色設定、あるいはキーへの機能割付け文字（名称）がユーザ変更可能になる。また、自動生成では漏れてしまった機能ボタンについて、強制的に登録済みのＧＵＩ部品を使用するように指示してもよい。こうすることで、想定外の組合せに対して、より柔軟かつ簡易な対応を実現することができる。
【０１１０】
ところで、操作メニューの提示方式としては、たとえば、図４に示すように、列挙型、整数型、あるいは日付型を始めとする文字列型などを採ることができる。また、具体的な提示形態としては、列挙型の場合、複数の操作メニュー項目を列挙して選択できるようにしたプルダウンメニュー方式やラジオボタンメニュー方式を採ることができる。また、整数型や文字列型の場合には、数値や文字をキーボードで直接入力する方式の他、数値や文字を上下ボタンの操作で変更するスピナーボタンメニュー方式を採ることができる。
【０１１１】
ここで、操作メニューの提示方式として、列挙型、整数型、および文字列型のうちの何れを採用するのが好ましいかは、操作メニュー項目の内容とその設定方法によっても異なる。１つの操作メニューを設定する設定方法は１つと限らないからである。
【０１１２】
たとえば、複写倍率を設定する操作メニューの場合、図４（Ａ）に示すメニュー構造例のように、縦および横の倍率を具体的に指示入力する寸法指定変倍方式と、縦および横の倍率を等しくして倍率を具体的に指示入力するズーム方式と、予め定められている複数種類の倍率の中から１つを選択する固定倍率方式などを採ることができる。
【０１１３】
また、寸法指定変倍方式やズーム方式では、倍率を具体的に指示入力するので、操作メニューの提示方式としては、整数型となり、その際には、直接入力方式やスピナーボタンメニュー方式の操作メニューとすることができる。一方、固定倍率方式では、複数種類の倍率を選択肢として提示する必要があるので、列挙型となり、その際には、プルダウンメニュー方式やラジオボタンメニュー方式を採るのが好ましいことになる。
【０１１４】
このことから分かるように、１つの操作メニューの方式（型）に対して、複数種類の提示方式が存在するので、ある操作メニュー用の操作画面を構築しようとする場合、操作メニューに対して何れの提示方式を関連付けるべきかは、一義的には定まらない。
【０１１５】
そこで、本実施形態では、図４（Ｂ）に示すように、操作メニューの型とＧＵＩ部品とを関連付ける接続部材（中継部品）としてアダプタ部品を用意する。各アダプタ部品には、操作メニューの型を区別する操作メニュー定義情報Ｇ１と各ＧＵＩ部品を機能的に接続するためのアダプタ部品を定義付けるアダプタ情報Ｇ３を設定しておく。
【０１１６】
そして、操作画面構築時には、先ず、図５に示すように、予め、１つ１つの操作メニュー項目ごとに、何れの提示方式を採用するのかを定義付けたメニュー項目定義ファイルＦ２を、たとえばＸＭＬ（Extensible Markup Language）ファイルなどで作成する。
【０１１７】
このメニュー項目定義ファイルＦ２では、たとえば、図７に示すように、コピー倍率を始めとする各種のジョブパラメータなどのメニュー構造を定義付ける。
【０１１８】
また、予め、操作画面全体の構造を定義付けた画面構成定義ファイルＦ１_1を、たとえばＸＭＬ（Extensible Markup Language）ファイルなどで作成する。
【０１１９】
この画面構成定義ファイルＦ１_1では、たとえば、図６（Ａ）に示すように、ＧＵＩのＧＵＩ部品構成と、各ＧＵＩ部品がどの操作メニュー項目（Data Model）と接続されるかを定義付ける。
【０１２０】
そして、メニュー項目と画面構成定義に含まれるＧＵＩ部品群を関連付けるＧＵＩ部品情報Ｇ２およびアダプタ部品を定義付けるアダプタ情報Ｇ３に基づいて、画面構成定義ファイルＦ１_1により定義付けられたＧＵＩに対して、メニュー項目定義ファイルＦ２で定義付けられている操作メニュー項目に接続するためのアダプタ部品を検索する。
【０１２１】
そして、検索されたアダプタ部品を用いて、関連付けられている操作メニュー定義情報Ｇ１とＧＵＩ部品の両者を接続する。また、各ＧＵＩ部品を、画面構成定義ファイルＦ１_1で定義付けられている所定位置に配置し、さらに、各ＧＵＩ部品に機能を割り付け、またその機能情報を示す機能文字を追加することで、ＧＵＩを生成する。
【０１２２】
また、このようにして作成したＧＵＩを別のＧＵＩに編集（カスタマイズ）したければ、ユーザは、図６（Ｂ）に示すように、ＧＵＩのＧＵＩ部品構成と、各ＧＵＩ部品がどの操作メニュー項目（Data Model）と接続されるかを定義付けた、別の画面構成定義ファイルＦ１_2を作成し、定義ファイル読込部１９５で読み込ませ、これを操作画面生成部１９６に解析させる。つまり、画面構成定義ファイルＦ１_1を画面構成定義ファイルＦ１_2に書き換えるのである。
【０１２３】
図示した例では、修正前の「ラジオボタンメニュー」を、「プルダウンメニュー」に修正するとともに、そのＧＵＩ部品の属性情報（たとえば色やサイズ）も同時に修正している。
【０１２４】
ユーザインタフェース制御部１９０は、画面構成定義ファイルＦ１_1が画面構成定義ファイルＦ１_2に更新されると、この更新後の画面構成定義ファイルＦ１_2に基づいて、前述と同様にしてＧＵＩを作成する。
【０１２５】
つまり、更新後の画面構成定義ファイルＦ１_2で定義される書き換えられたＧＵＩ設定に基づき、不変なメニュー項目定義に接続するためのアダプタ部品を検索し、ＧＵＩのＧＵＩ部品構成と各ＧＵＩ部品がどの操作メニュー項目（Data Model）と接続されるかを定義付けることで、更新後のＧＵＩを作成するのである。
【０１２６】
このように、作成済のＧＵＩを変更（カスタマイズ）したければ、ＧＵＩ設定を定義付ける画面構成定義ファイルＦ１を書き換えるだけで済むのである。ＧＵＩ部品と操作メニュー項目との対応付けは、両者を対応付けるように予め用意されているアダプタ部品を利用して行なうので、両者を対応付けるためのプログラム作成やプログラム変更にユーザが介在する必要はない。
【０１２７】
よって、ＧＵＩ生成のための基本的なプログラムのロジック部分については全く変更せずに済むので、設計サイドでのＧＵＩの再設計を行なわずとも、ユーザ自らが画面構成定義情報を書き換えるだけで、ＧＵＩ構成の変更に柔軟に対処することができる。
【０１２８】
また、新たな操作メニュー項目の構造を必要とする場合には、ＧＵＩを構成するＧＵＩ部品と操作する操作メニュー項目を関連付ける操作メニュー定義情報を書き換えるだけで、ＧＵＩ構成の変更に柔軟に対処することができる。
【０１２９】
加えて、本実施形態の操作画面生成装置１９３では、画面構成定義情報Ｇ０や操作メニュー定義情報Ｇ１の書換えに当たって、これらの定義情報を対話形式で入力するのではなく、予め、画面構成定義情報Ｇ０を記述した画面構成定義ファイルＦ１や、操作メニュー定義情報Ｇ１を記述したメニュー項目定義ファイルＦ２を用意し、これを定義ファイル読込部１９５で読み込み、その読み込んだファイル内容から各定義情報Ｇ０，Ｇ１を特定するようにしているので、ファイル内容の修正のみでＧＵＩ自動作成処理を実現できる利点がある。
【図面の簡単な説明】
【０１３０】
【図１】電子機器の一例である画像出力端末における回路構成のシステムアーキテクチャの一例を示す図である。
【図２】ユーザインタフェース制御部の一構成例を示す図である。
【図３】階層提示形式の操作メニューの一例を示す図である。
【図４】階層提示形式の操作メニューにおける操作メニュー定義情報を説明する図（Ａ）、および、操作メニュー定義情報とＧＵＩ部品情報とアダプタ情報との関係を示した図（Ｂ）である。
【図５】ＧＵＩの構築手法の全体概要を示した図である。
【図６】画面構成定義ファイルの一例を示した図である。
【図７】メニュー項目定義ファイルの一例を示した図である。
【符号の説明】
【０１３１】
７…画像出力端末、１００…コントローラ部、１２０…メモリブリッジ部、１４０…Ｉ／Ｏブリッジ部、１９０…ユーザインタフェース制御部、１９２…ＵＩ機能情報取得部、１９３…操作画面生成装置、１９４…定義情報格納部、１９５…定義ファイル読込部、１９６…操作画面生成部、１９７…アダプタ検索部、１９８…部品メニュー対応付部、１９９…ユーザ指示受付制御部
【図１】
2008003648.tif 000003
【図２】
2008003648.tif 000004
【図３】
2008003648.tif 000005
【図４】
2008003648.tif 000006
【図５】
2008003648.tif 000007
【図６】
2008003648.tif 000008
【図７】
2008003648.tif 000009