(57)【要約】      （修正有）【課題】一つの画面の表示により、ユーザインターフェース（ＵＩ）部品を利用して実行されるＵＩアプリケーションに係わるＵＩアプリデータを効率的に取得できるようにする。【解決手段】画面遷移サブシステム５０により画面が生成されると、ＡＩ・遷移テーブル生成サブシステム６０は、ＡＩテーブル７０及び画面遷移テーブル８０の生成に必要なデータをＵＩ構成情報テーブル９０から取得する。ＡＩ・遷移テーブル生成サブシステム６０は、ＵＩ構成情報テーブル９０から取得したデータに基づいて、ＡＩテーブル７０を生成する。次に、ＡＩサブシステム２０は、表示された画面に関連して起動される画面要素と、該画面要素の起動により実行されるＵＩアプリケーションのＵＩアプリデータとからなるデータブリッジクラスを生成する。その後、ＡＩサブシステム２０は、モデルクラスによるデータブリッジクラスの操作の呼び出しを待って待機する。【選択図】図４
2007047874.tif 000002
【特許請求の範囲】
【請求項１】
情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有するユーザインターフェース装置において、
前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、
前記ソフトウェア部品を利用するＵＩアプリケーションと、
前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、
前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有し、
前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記データの入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設け、
前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現することを特徴とするユーザインターフェース装置。
【請求項２】
前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、
前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行うことを特徴とする請求項１記載のユーザインターフェース装置。
【請求項３】
前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、
前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求することを特徴とする請求項１又は２記載のユーザインターフェース装置。
【請求項４】
前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、
前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行することを特徴とする請求項３記載のユーザインターフェース装置。
【請求項５】
前記動作が前記画面表示部に表示された画面から遷移先の画面への遷移であることを特徴とする請求項３又は４記載のユーザインターフェース装置。
【請求項６】
前記画面ごとに前記画面構成要素をテーブル化して管理するＵＩ構成情報テーブルと、
前記ＵＩ構成情報テーブルを利用して前記ＡＩテーブル及び前記画面遷移テーブルを生成する生成手段とを有することを特徴とする請求項４又は５記載のユーザインターフェース装置。
【請求項７】
情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有し、前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、前記ソフトウェア部品を利用するＵＩアプリケーションと、前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有するユーザインターフェース装置のソフトウェア部品管理方法であって、
前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設ける工程と、
前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現する工程とを有することを特徴とするソフトウェア部品管理方法。
【請求項８】
前記ユーザインターフェース装置が前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、
前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行う工程を有することを特徴とする請求項７記載のソフトウェア部品管理方法。
【請求項９】
前記ユーザインターフェース装置が前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、
前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求する工程を有することを特徴とする請求項７又は８記載のソフトウェア部品管理方法。
【請求項１０】
前記ユーザインターフェース装置が前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、
前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行する工程を有することを特徴とする請求項９記載のソフトウェア部品管理方法。
【請求項１１】
情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有し、前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、前記ソフトウェア部品を利用するＵＩアプリケーションと、前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有するユーザインターフェース装置のソフトウェア部品管理プログラムであって、
前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設ける処理と、
前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現する処理とを有することを特徴とするソフトウェア部品管理プログラム。
【請求項１２】
前記ユーザインターフェース装置が前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、
前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行う処理を有することを特徴とする請求項１１記載のソフトウェア部品管理プログラム。
【請求項１３】
前記ユーザインターフェース装置が前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、
前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求する処理を有することを特徴とする請求項１１又は１２記載のソフトウェア部品管理プログラム。
【請求項１４】
前記ユーザインターフェース装置が前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、
前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行する処理を有することを特徴とする請求項１３記載のソフトウェア部品管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェース（ＵＩ）のソフトウェアシステムを部品化して管理するユーザインターフェース装置、ソフトウェア部品管理方法、及びソフトウェア部品管理プログラムに関する。
【背景技術】
【０００２】
近年、コンピュータハードウェアのパフォーマンスアップ及び低コスト化を受けて、ソフトウェアの規模の増大とその対象となる問題の複雑化とが年々増している。一方、それらソフトウェア商品、もしくはソフトウェアを組み込んだ機器の開発サイクルは年々短縮される傾向にある。このような環境に置かれているソフトウェア業界においては、開発効率の向上が必然的な要求となっている。
【０００３】
開発効率を向上させる方法として、ソフトウェアの部品化が挙げられる。この方法は、様々なソフトウェアで使用される汎用性の高い機能を持たせたソフトウェア部品を作り、ソフトウェア開発でその部品を利用する手法である。これにより、等しい機能をソフトウェアごとに再開発することを避け、開発効率を向上させる。
【０００４】
ソフトウェアのユーザインターフェースには、ユーザの使用性や理解性を考慮し、画面表示デバイスを用いたＧＵＩが採用されることが多くなってきている。そのようなソフトウェアでは、一般的にユーザインターフェースを司る部分とソフトウェアの核となる処理を司る部分とを分割することで、処理結果を様々なインターフェースで表示する仕組みを採用している。例えば、統計処理ソフトウェアにおいて、ユーザインターフェース部と統計処理部とを分けることにより、統計結果を円グラフや棒グラフなど様々な形態で表示できる。このユーザインターフェースを司る部分は、様々なソフトウェアで同様の機能が求められる場合が多く、部品化する価値が高い。また、ソフトウェアのユーザインターフェースを効率良く開発するためのソフトウェア部品やフレームワークは、すでにいくつも存在している。
【０００５】
特許文献１では、ソフトウェア部品の構成を制御対象と制御方法とに分離することにより、表示、制御、データの視点から部品の再利用性を向上させ、かつメンテナンスを容易にすることにより、ソフトウェア開発者の負担を軽減し、開発効率を向上させるユーザインターフェース装置及びソフトウェア部品管理方法が提案されている。
【特許文献１】特開２００４−５４６８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記の発明は以下の問題を有している。
【０００７】
従来のユーザインターフェース装置及びソフトウェア部品管理方法においては、各画面と画面を構成する画面要素の関係、画面間における遷移関係、及び画面要素とユーザインターフェース部品を利用するソフトウェア（以下、ユーザインターフェース（ＵＩ）アプリケーションとする）との対応関係は、ユーザが任意に設定しておき、その設定に応じて表示された画面に関連する画面要素、遷移先の画面、ＵＩアプリケーションを抽出していた。つまり、表示された画面に関連する遷移先の画面、画面要素、及びＵＩアプリケーションがそれぞれ独立して管理されているため、一つの画面に関連して発生する動作等を効率的に抽出し、実行することができなかった。
【０００８】
また、各ソフトウェアが部品化して管理されていても、各々が関連づけられて管理されていないため、ある一つの部品の追加や修正に伴う他の部品の変更等を効率的に行うことができなかった。
【０００９】
そこで、本発明は、表示された画面と、該画面を構成する画面要素と、該画面要素の起動によって実行されるＵＩアプリケーションのデータ（以下、ＵＩアプリデータとする）とを関連づけて管理することにより、一つの画面の表示により、ＵＩ部品を利用して実行されるＵＩアプリケーションに係わるＵＩアプリデータを効率的に取得し、該ＵＩアプリケーションに係わる動作を実行することができるユーザインターフェース装置、ソフトウェア部品管理方法、及びソフトウェア部品管理プログラムを提案することを目的としている。
【課題を解決するための手段】
【００１０】
請求項１記載の発明は、情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有するユーザインターフェース装置において、前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、前記ソフトウェア部品を利用するＵＩアプリケーションと、前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有し、前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記データの入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設け、前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現することを特徴とする。
【００１１】
請求項２記載の発明は、請求項１記載のユーザインターフェース装置において、前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行うことを特徴とする。
【００１２】
請求項３記載の発明は、請求項１又は２記載のユーザインターフェース装置において、前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求することを特徴とする。
【００１３】
請求項４記載の発明は、請求項３記載のユーザインターフェース装置において、前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行することを特徴とする。
【００１４】
請求項５記載の発明は、請求項３又は４記載のユーザインターフェース装置において、前記動作が前記画面表示部に表示された画面から遷移先の画面への遷移であることを特徴とする。
【００１５】
請求項６記載の発明は、請求項４又は５記載のユーザインターフェース装置において、前記画面ごとに前記画面構成要素をテーブル化して管理するＵＩ構成情報テーブルと、前記ＵＩ構成情報テーブルを利用して前記ＡＩテーブル及び前記画面遷移テーブルを生成する生成手段とを有することを特徴とする。
【００１６】
請求項７記載の発明は、情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有し、前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、前記ソフトウェア部品を利用するＵＩアプリケーションと、前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有するユーザインターフェース装置のソフトウェア部品管理方法であって、前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設ける工程と、前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現する工程とを有することを特徴とする。
【００１７】
請求項８記載の発明は、請求項７記載のソフトウェア部品管理方法において、前記ユーザインターフェース装置が前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行う工程を有することを特徴とする。
【００１８】
請求項９記載の発明は、請求項７又は８記載のソフトウェア部品管理方法において、前記ユーザインターフェース装置が前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求する工程を有することを特徴とする。
【００１９】
請求項１０記載の発明は、請求項９記載のソフトウェア部品管理方法において、前記ユーザインターフェース装置が前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行する工程を有することを特徴とする。
【００２０】
請求項１１記載の発明は、情報を入力する入力部と、前記入力部による入力に対する応答結果を画面に表示する画面表示部を有する操作パネルとを有し、前記画面の遷移を制御する画面遷移サブシステムと、前記画面表示部の画面構成要素を管理する画面サブシステムと、前記操作パネルのデバイスを管理するパネルサブシステムとを独立のソフトウェア部品として有し、前記ソフトウェア部品を利用するＵＩアプリケーションと、前記ＵＩアプリケーションと前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行うＡＩサブシステムと、前記ソフトウェア部品を用いて前記操作パネルの動作を制御する制御手段とを有するユーザインターフェース装置のソフトウェア部品管理プログラムであって、前記画面サブシステムは、前記ＡＩサブシステムとデータの受け渡しを行うモデル部品と、このモデル部品の持つデータを出力するビュー部品と、前記情報の入力を管理し、前記モデル部品及び前記ビュー部品を操作するコントローラ部品とをそれぞれ独立に設ける処理と、前記制御手段により前記ビュー部品と前記コントローラ部品との組合せに応じ、前記モデル部品、前記ビュー部品、及び前記コントローラ部品が互いに協調して所望の機能を実現する処理とを有することを特徴とする。
【００２１】
請求項１２記載の発明は、請求項１１記載のソフトウェア部品管理プログラムにおいて、前記ユーザインターフェース装置が前記画面表示部に表示された画面と、前記画面構成要素と、前記ＵＩアプリケーションとを関連づけて管理するＡＩテーブルを有し、前記ＡＩサブシステムは、前記ＡＩテーブルに基づいて前記画面構成要素と前記ＵＩアプリケーションとを関連づけ、前記画面サブシステムとデータの受け渡しを行う処理を有することを特徴とする。
【００２２】
請求項１３記載の発明は、請求項１１又は１２記載のソフトウェア部品管理プログラムにおいて、前記ユーザインターフェース装置が前記画面表示部への画面の表示により実行される動作と前記画面構成要素とを関連づけ、前記画面サブシステムとデータの受け渡しを行う画面遷移サブシステムを有し、前記コントローラ部品は、前記画面表示部への画面の表示に伴う動作を前記画面遷移サブシステムに要求する処理を有することを特徴とする。
【００２３】
請求項１４記載の発明は、請求項１３記載のソフトウェア部品管理プログラムにおいて、前記ユーザインターフェース装置が前記画面と、前記画面構成要素と、前記動作とを関連づけて管理する画面遷移テーブルを有し、前記画面遷移サブシステムは、前記画面遷移テーブルに基づいて前記画面構成要素と前記動作とを関連づけ、前記動作を実行する処理を有することを特徴とする。
【発明の効果】
【００２４】
本発明は、表示された画面と、該画面を構成する画面要素と、該画面要素の起動によって実行されるＵＩアプリケーションのＵＩアプリデータとを関連づけて管理することにより、一つの画面の表示により、ＵＩ部品を利用して実行されるＵＩアプリケーションに係わるＵＩアプリデータを効率的に取得し、該ＵＩアプリケーションに係わる動作を実行することができる。
【発明を実施するための最良の形態】
【００２５】
以下に本発明の一実施形態に係わる画像形成装置の構成及び動作について説明する。
【００２６】
まず、本実施形態に係わる画像形成装置のハードウェア構成について図１を用いて説明する。
【００２７】
本実施形態に係わる画像形成装置１００は、ＲＯＭ１、ＲＡＭ２、ＮＶＲＡＭ３、操作部４、読取部５、記憶部６、通信部７、モデム８、ホストＩ／Ｆ９、及びＣＰＵ１０を有して構成される。
【００２８】
ＲＯＭ１は、プログラムコード、フォント、及びその他の静的なデータが格納される。ＲＡＭ２は、一時的な記憶場所として利用される。ＮＶＲＡＭ３は、不揮発性のデータを格納する。操作部４は、操作パネル４ａとパネル制御部４ｂとを有して構成され、ユーザとのインターフェースを司る。読取部５は、スキャン／プリントエンジン５ａとエンジン制御部５ｂとを有して構成され、イメージデータの入出力ユニットとして、紙原稿の読み取りと転写紙への印刷を実行する。記憶部６は、記憶装置６ａとディスクドライバ６ｂとを有して構成され、大量のイメージデータなどの蓄積やデータベースの記憶場所として利用される。通信部７は、イーサネット（登録商標）等のネットワークに接続され、外部の機器との通信を可能とする。なお、操作部４と読取部５との通信に利用することも可能である。モデム８は、公衆回線と接続され、外部の機器との通信を実現する。ホストＩ／Ｆ９は、セントロニクスやＲＳ−２３２Ｃ等のインターフェースを用いてホスト外部の機器との通信を可能とする。
【００２９】
操作部４と読取部５とが同じＣＰＵ資源を共有するか否かにより、図１又は図２の構成が考えられる。本実施形態では、ハードウェア構成はどちらの構成にも対応する。
【００３０】
次に、本実施形態に係わる画像形成装置のソフトウェア構成について図３を用いて説明する。
【００３１】
画像形成装置１００のソフトウェアは、アプリケーションプログラム１１、パネル制御プログラム１２、エンジン制御プログラム１３、通信制御プログラム１４、パネルドライバ１５、エンジンドライバ１６、通信ドライバ１７、及びオペレーションシステム１８を有して構成される。
【００３２】
アプリケーションプログラム１１は、コピー、ファクス、プリンタなどの機能実行を管理する。パネル制御プログラム１２は、パネル制御部４ｂを介して操作パネル４ａを制御し、ユーザからの情報をアプリケーションプログラム１１に伝え、アプリケーションプログラム１１からの情報をユーザに伝える。パネルドライバ１５は、パネル制御プログラム１２の指示によりオペレーションシステム１８を介して操作パネル４ａを制御する。エンジン制御プログラム１３は、エンジンドライバ１６を介してスキャン／プリントエンジン５ｂを制御し、スキャン／プリントエンジン５ｂからの情報をアプリケーションプログラム１１に伝え、アプリケーションプログラム１１からの情報をスキャン／プリントエンジン５ａに伝える。エンジンドライバ１６は、エンジン制御プログラム１３の指示によりオペレーションシステム１８を介して物理スキャナ／プリントエンジン５を制御する。通信制御プログラム１４は、通信ドライバ１７を介してネットワーク通信を制御し、ネットワーク２００上の通信相手（ＰＣ３００）からの情報をアプリケーションプログラム１１に伝え、アプリケーションプログラム１１からの情報をネットワーク２００上の通信相手（ＰＣ３００）に伝える。通信ドライバ１７は、通信制御プログラム１４の指示によりオペレーションシステム１８を介して物理ネットワーク通信を制御する。オペレーションシステム１８は、各種ドライバからの指示に基づき物理デバイスを制御し、物理デバイスの情報を各デバイスドライバに伝え、各デバイスドライバからの情報を物理デバイスに伝える。
【００３３】
次に、本実施形態のソフトウェアを構成するユーザインターフェース部品（以下、ＵＩ部品とする）について図４を用いて説明する。なお、ソフトウェア部品は、画像形成装置１００内に存在する制御可能なリソースの集合である。本実施形態では、グラフィカル・ユーザインターフェースのアーキテクチャを利用し、画面サブシステムのソフトウェア部品を５つのカテゴリに分類している。
【００３４】
図４に示すように、ＵＩ部品は、アプリケーション・インターフェース（以下、ＡＩとする）サブシステム２０、画面サブシステム３０、パネルサブシステム４０、画面遷移サブシステム５０、及びＡＩ・遷移テーブル生成サブシステム６０の５層に分かれている。
【００３５】
さらに、画面遷移サブシステム３０には、画面遷移テーブル８０が対応している。また、画面サブシステム４０には、ＵＩ構成情報テーブル９０が有する機種依存パネルプロセス（パネル部品を含む）が対応している。さらに、パネルサブシステム４０には、ＵＩ構成情報テーブル９０が有するデバイス制御が対応している。画面サブシステム４０では、従来の技術で示したＭＶＣ（Ｍｏｄｅｌ／Ｖｉｅｗ／Ｃｏｎｔｒｏｌｌｅｒ）におけるビューとコントローラとを関連付けて制御するようになっている。
【００３６】
ここで、ＭＶＣの概念とクラスをそれぞれ図５（ａ）と図５（ｂ）に示す。図５（ａ）において、ＭＶＣで用いられるモデル（Ｍｏｄｅｌ）は、データ管理を専門に行い、ＡＩサブシステム２０又は画面遷移サブシステム５０から必要なＵＩアプリデータ（View Data）を取得し、ビュー（Ｖｉｅｗ）に提供する。ビューは、コントローラ（Ｃｏｎｔｒｏｌｌｅｒ）の指示により、モデルに対してＵＩアプリデータの取得を要求し、モデルからの表示位置や形態の変更通知に応じ、データモデルの表示（出力）を行うものである。また、コントローラは、ユーザからの要求（ここでは、ビューからの指示となる）を受け付け、モデル、ビュー、及び画面遷移サブシステム５０にメッセージを送るものである。なお、ＭＶＣのデータ構造とデータの操作は図５（ｂ）に示すとおりである。
【００３７】
次に、画面サブシステム３０周辺のソフトウェア部品の構造を図６に示す。
【００３８】
図６において、ビューにはそれぞれウィンドウとして独立したメニュー部品、ラベル部品、及びウィンドウ部品などがあり、コントローラにはそれぞれ独立したフォーカス制御部品、選択制御部品などがある。本実施形態では、前述したビューとコントローラとの組み合わせの適否関係を予め設定し、組み合わせを制限しながら必要な部品を呼び出して再利用するよう、構成されている。例えば図７に示すように、ビュー部品とコントローラ部品との組み合わせの適否関係が登録された、関係テーブル（関係設定手段に含まれる）をＲＯＭ１、ＮＶＲＡＭ３、記憶装置６等に更新可能に記憶しておいてもよい。
【００３９】
次に、ＡＩサブシステム２０、画面遷移サブシステム５０、及びＡＩ・遷移テーブル生成サブシステム６０の具体的な構成及び処理について説明する。
【００４０】
ＡＩサブシステム２０は、ＡＩテーブル７０に基づいて各画面とアプリケーションとを関連付けて管理する。画面遷移サブシステム５０は、画面遷移テーブル８０に基づいて各画面と、遷移先の画面又は画面の表示により実行される動作とを関連付けて管理する。ＡＩ・遷移テーブル生成サブシステム６０は、ＵＩ構成情報テーブル９０からＡＩテーブル７０及び遷移テーブル８０の生成に必要な情報を抽出し、各画面とアプリケーションとを関連づけるＡＩテーブル７０、及び画面遷移テーブル８０を生成する。
【００４１】
ここで、ＵＩ構成情報テーブル９０（表１、表２に示す）は、ＣＳＶファイルで次の形式を取るものとする。画面（Window）毎に配置される画面要素（View）を並べる。また、それぞれ画面要素は、属性として画面ＩＤ、座標、対応アプリケーションデータＩＤ、遷移先の有無、遷移先画面ＩＤ、関連する動作が記載されている。なお、より複雑なＵＩであれば、属性が増え、また画面要素ごとに記載する属性の種類や数が変化することになる。
【００４２】
【表１】
2007047874.tif 000003
【００４３】
【表２】
2007047874.tif 000004
【００４４】
まず、ＡＩ・遷移テーブル生成サブシステム６０の具体的な構成及び処理について説明する。ＡＩ・遷移テーブル生成サブシステム６０は、ＵＩ構成情報テーブル９０から画面要素を抽出し、各画面要素と画面とを関連づけるテーブルを生成する画面テーブル生成クラス、及びＵＩ構成情報テーブル９０からＵＩアプリデータを抽出し、各ＵＩアプリデータと各画面要素とを関連づけるテーブルを生成する画面要素テーブル生成クラスからなる。図８は、ＡＩ・遷移テーブル生成サブシステム６０をＵＭＬ（Unified Modeling Language）のクラス図により表現した図である。ここで、ＵＭＬとは、ＯＭＧ（Object Management Group）という団体がまとめたシステムモデリング言語であり、システムモデリングの成果を記述する記法を定義したものである。そして、このＵＭＬは、オブジェクト指向によるソフトウェア開発において、一般的に用いられている。
【００４５】
各クラスを示す矩形は３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画、及びクラスが有する処理（操作）を示す操作区画と呼ばれる。たとえば、画面生成クラスを示す矩形の名前区画は、かかるクラスのクラス名が「画面テーブル生成部」であることを示し、操作区画は、かかるクラスが有する操作が「ＡＩテーブル生成（）」及び「画面遷移テーブル生成（）」であることを示している。
【００４６】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込みおよび読み出しをおこなう処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラムの一部として含まれているので、予めＲＯＭ１に格納されたこのプログラムが実行されると、各クラスはＲＡＭ２の所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ２上に展開される。したがって、クラスを実体化したオブジェクトは、ＲＡＭ２上の各データ（属性）の書き込み及び読み出しをすることが可能となる。
【００４７】
なお、属性や操作といったクラスの要素の左側に「−」記号を付した場合は、かかる要素は外部のクラスには非公開であることを示し、「＋」記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については、「ＡＩテーブル生成（）」のように「（）」記号を付するのが通例である。
【００４８】
ここで、図８に示したクラス図について詳細に説明する。画面テーブル生成部クラスは、操作パネル４に表示する画面からなるテーブルを生成するクラスである。具体的には、画面テーブル生成部クラスは、操作として、「ＡＩテーブル生成（）」及び「画面遷移テーブル生成（）」を有する。
【００４９】
ＡＩテーブル生成（）及び画面遷移テーブル生成（）が呼び出されると、画面テーブル生成部クラスは、画面をＵＩ構成情報テーブル９０から抽出し、各画面のテーブルを生成する。
【００５０】
画面要素テーブル生成部クラスは、操作として、「ＡＩテーブル生成（）」及び「画面遷移テーブル生成（）」を有する。画面テーブル生成部クラスにより各画面のテーブルが生成され、ＡＩテーブル生成（）及び画面遷移テーブル生成（）が呼び出されると、画面要素テーブル生成部クラスは、各画面の画面要素をＵＩ構成情報テーブル９０から抽出し、各画面の画面要素からなる画面ごとのテーブルを生成する。
【００５１】
なお、画面要素テーブル生成部クラスは、画面要素の一つのボタンからなる画面ごとのテーブルを生成するボタンテーブル生成部クラス、画面要素の一つのテキストからなる画面ごとのテーブルを生成するテキストテーブル生成部クラス等のインスタンスを有している。インスタンスは、画面を構成する新たな画面要素が追加される場合、画面要素テーブル生成部クラスのインスタンスとして適宜追加することができる。よって、新たな画面要素を追加する場合のソフトウェア開発者による開発効率を向上させることができる。また、ＡＩ・遷移テーブル生成サブシステム６０は、要求された画面の表示に必要な画面要素のみをＵＩ構成情報テーブル９０から抽出してＡＩテーブル７０及び画面遷移テーブル８０を生成するため、その処理の効率を向上させることができる。
【００５２】
ここで、図９を用いてＡＩテーブル７０及び画面遷移テーブル８０を生成する手順について説明する。
【００５３】
まず、ＡＩ・遷移テーブル生成サブシステム６０は、画面テーブル生成部クラスのＡＩテーブル生成（）を呼び出す（ステップＳ９０１）。そして、画面テーブル生成部クラスは、画面をＵＩ構成情報テーブル９０から抽出し、画面ごとのテーブルを生成する。さらに、画面テーブル生成部クラスは、画面要素テーブル生成部クラスのＡＩテーブル生成（）を呼び出す（ステップＳ９０２〜９０４）。画面要素テーブル生成部クラスは、各画面の画面要素をＵＩ構成情報テーブル９０から抽出し、各画面の画面要素からなる画面ごとのテーブルを生成する。なお、本実施形態においては、画面を構成する画面要素が３種類ある場合について説明する。したがって、ステップＳ９０２〜９０４において、画面テーブル生成部クラスは、３つの画面要素テーブル生成部クラスのＡＩテーブル生成（）を呼び出している。
【００５４】
次に、ＡＩ・遷移テーブル生成サブシステム６０は、画面テーブル生成部クラスの画面遷移テーブル生成（）を呼び出す（ステップＳ９０５）。そして、画面テーブル生成部クラスは、画面をＵＩ構成情報テーブル９０から抽出し、画面ごとのテーブルを生成する。さらに、画面テーブル生成部クラスは、画面要素テーブル生成部クラスの画面遷移テーブル生成（）を呼び出す（ステップＳ９０６〜９０８）。画面要素テーブル生成部クラスは、各画面の画面要素をＵＩ構成情報テーブル９０から抽出し、各画面の画面要素からなる画面ごとのテーブルを生成する。
【００５５】
次に、ＡＩ・遷移テーブル生成サブシステム６０によって生成されたＡＩテーブル７０及び画面遷移テーブル８０について図１０を用いて説明する。図１０に示すＡＩテーブル７０及び画面遷移テーブル８０は、ＡＩ・遷移テーブル生成サブシステム６０によってＵＩ構成情報テーブル９０から抽出された画面と、画面要素と、ＵＩアプリデータとをオブジェクト指向設計により関連づけたテーブルである。なお、図１０は、ＡＩテーブル７０と画面遷移テーブル８０とが一元化して構成された場合のクラス図である。
【００５６】
ＡＩテーブル７０は、表示されている画面からなる画面クラス、該画面を構成する画面要素からなる画面要素クラス、及び該画面要素の起動により実行されるＵＩアプリケーションのＵＩアプリデータからなるＵＩアプリデータクラスを有して構成される。ＡＩサブシステム３０は、ＡＩテーブル７０に格納された画面クラスとＵＩアプリデータクラスとを関連づけるクラス図に基づいて、画面サブシステム３０にＵＩアプリデータを提供する。なお、図１５に示すように、ＵＩアプリデータのインスタンスとしてユーザの使用形態に着目した入力データクラス及び出力データクラスを設けることにより、より効率的にＵＩアプリデータを抽出することができる。
【００５７】
図１１に示すＡＩテーブル７０は、画面オブジェクト、該画面オブジェクトを構成する２つの画面要素オブジェクトと、該画面要素オブジェクトの起動により実行されるＵＩアプリケーションの２つのＵＩアプリデータオブジェクトとを有して構成された例である。
【００５８】
画面遷移テーブル８０は、画面クラス、画面要素クラス、遷移クラス、及び動作クラスを有して構成される。画面遷移サブシステムは、表示されている画面からなる画面クラスと、該画面を構成する画面要素からなる画面要素クラスと、該画面要素の起動により実行される動作（例えば、遷移など）からなる動作クラスと、該動作により生成された画面からなる遷移先の画面クラスとを有して構成される。なお、図１６に示すように、一つの画面からの遷移動作が複数の遷移を伴う多分岐遷移クラス、及び単一の遷移のみを伴う単一遷移クラスを遷移クラスのインスタンスとして設けることにより、元画面から遷移先画面をより効率的に抽出することができる。
【００５９】
図１１に示す画面遷移テーブル８０は、画面オブジェクトと、該画面オブジェクトを構成する３つの画面要素オブジェクトと、画面要素オブジェクトの起動により実行される動作からなる動作クラスと、該動作クラスのインスタンスである遷移クラスとを有して構成された例である。
【００６０】
次に、ＡＩサブシステム２０の具体的な構成及び処理について図１２を用いて説明する。なお、ＡＩサブシステム２０は、先に述べたように、ＡＩテーブル７０に基づいて起動された画面要素に関連するＵＩアプリデータを画面サブシステム３０に提供する。
【００６１】
図１２に示すように、ＡＩサブシステム２０は、ＡＩテーブル７０に基づいて表示されている画面と、該画面の表示により起動するＵＩアプリケーションのＵＩアプリデータとの対応関係を表すデータブリッジを生成するデータブリッジ生成部クラス、及びデータブリッジ生成部クラスによって生成されたデータブリッジクラスを有して構成される。
【００６２】
ここで、ＡＩサブシステム２０が有する各クラスにおける処理を詳細に説明する。データブリッジ生成部クラスは、ＡＩテーブル７０に基づいて表示する画面とＵＩアプリデータとの対応関係を表すデータブリッジを生成するクラスである。具体的には、データブリッジ生成部クラスは、操作として、「データブリッジ生成（）」を有する。
【００６３】
データブリッジクラスは、操作として「データ更新（）」及び「データ取得（）」を有する。データブリッジクラスが生成され、画面サブシステム３０のモデルクラスからデータ取得（）が呼び出されると、データブリッジクラスは、表示された画面の表示により起動されるＵＩアプリケーションのＵＩアプリデータをモデルクラスに提供する。また、モデルクラスによって、データ更新（）が呼び出されると、表示された画面の表示により起動されるＵＩアプリケーションのＵＩアプリデータの更新が実行される。
【００６４】
次に、画面遷移サブシステム５０の具体的な構成及び処理について図１３を用いて説明する。なお、画面遷移サブシステム５０は、先に述べたように、画面遷移テーブル８０に基づいて元画面から遷移先の画面への遷移を実行する。
【００６５】
図１３に示すように、画面遷移サブシステム５０は、元画面から遷移先画面への遷移を実行する遷移クラスを生成する遷移生成部クラスと、元画面から遷移先画面への遷移を実行する遷移クラスと、及び遷移先画面からなる画面クラスを有して構成される。
【００６６】
ここで、画面遷移サブシステム５０が有する各クラスにおける処理を詳細に説明する。遷移生成部クラスは、画面遷移テーブル８０に基づいて表示されている画面の表示により実行される動作（例えば、遷移等）からなる遷移クラスを生成するクラスである。具体的には、遷移生成部クラスは、操作として、「遷移生成（）」を有する。
【００６７】
遷移クラスは、遷移先画面を生成するクラスである。具体的には、操作として、「実行（）」を有し、遷移先の画面を生成する。
【００６８】
画面クラスは、遷移クラスによって生成された遷移先画面からなるクラスである。具体的には、画面クラスは、操作として、「画面更新（）」を有し、元画面から遷移先画面への更新を実行する。
【００６９】
画面サブシステム３０のコントロールクラスから遷移クラスに対して、画面の遷移が要求されて実行（）が呼び出されると、遷移クラスは遷移先画面からなる画面クラスを生成し、画面更新（）を呼び出す。画面クラスは、遷移先画面への画面の更新を実行する。なお、遷移クラスは、元画面が生成されたときに、元画面と遷移先画面との対応関係を表すクラスとして画面遷移テーブル８０に基づき遷移生成クラスによって生成される。
【００７０】
ここで、図１４を用いて本実施形態の画面生成シーケンスを説明する。以下に各部品の画面生成時の動作を示す。
【００７１】
画面遷移サブシステム５０により画面が生成されると、ＡＩ・遷移テーブル生成サブシステム６０は、ＡＩテーブル７０及び画面遷移テーブル８０の生成に必要なデータをＵＩ構成情報テーブル９０から取得する（ステップＳ１４０１）。ＡＩ・遷移テーブル生成サブシステム６０は、ＵＩ構成情報テーブル９０から取得したデータに基づいて、ＡＩテーブル７０及び画面遷移テーブル８０を生成する（ステプＳ１４０２）。次に、ＡＩサブシステム２０は、表示された画面に関連して起動される画面要素と、該画面要素の起動により実行されるＵＩアプリケーションのＵＩアプリデータとからなるデータブリッジクラスを生成する（ステップＳ１４０３）。また、画面サブシステム３０は、画面遷移テーブル８０に基づいて、元画面の表示により実行される遷移クラスを遷移生成クラスによって生成する（ステップＳ１４０４）。その後、ＡＩサブシステム２０及び画面遷移サブシステム３０は、モデルクラス又はコントローラクラスによるデータブリッジクラス又は遷移クラスの操作の呼び出しを待って待機する。
【００７２】
上述したように、表示された画面と、該画面を構成する画面要素と、該画面要素の起動によって実行されるＵＩアプリケーションのＵＩアプリデータとを関連づけて管理することにより、一つの画面の表示により、ＵＩ部品を利用して実行されるＵＩアプリケーションに係わるＵＩアプリデータを効率的に取得し、該ＵＩアプリケーションに係わる動作を実行することができる。また、表示された画面と、該画面を構成する画面要素と、該画面要素の起動により実行される動作とを関連づけて管理することにより、一つの画面の表示により実行される動作を効率的に実行することができる。
【図面の簡単な説明】
【００７３】
【図１】画像形成装置のハードウェア構成を示すブロック図である。
【図２】画像形成装置のハードウェア構成を示すブロック図である。
【図３】画像形成装置のソフトウェア構成を示すブロック図である。
【図４】ユーザインターフェース部品の構成を示すブロック図である。
【図５】ＭＶＣの概念とクラスを説明するブロック図である。
【図６】画面サブシステムの構成を示すクラス図である。
【図７】関係テーブルの図である。
【図８】ＡＩ・画遷テーブル生成サブシステムの構成を示すクラス図である。
【図９】画面生成シーケンスを示すシーケンス図である。
【図１０】ＡＩテーブル及び画面遷移テーブルが一元化された場合のクラス図である。
【図１１】ＡＩテーブル及び画面遷移テーブルが一元化された場合のクラス図である。
【図１２】ＡＩサブシステムの構成を示すクラス図である。
【図１３】画面遷移サブシステムの構成を示すクラス図である。
【図１４】本実施形態に係わるＵＩ部品による動作を示すフローチャートである。
【図１５】アプリデータクラスにサブクラスを設けた例のクラス図である。
【図１６】遷移クラスにサブクラスを設けた例のクラス図である。
【符号の説明】
【００７４】
１    ＲＯＭ
２    ＲＡＭ
３    ＮＶＲＡＭ
４    操作部
４ａ    操作パネル
４ｂ    パネル制御部
５    読取部
５ａ    スキャン／プリントエンジン
５ｂ    エンジン制御部
６    記憶部
６ａ    記憶装置
６ｂ    ディスクドライバ
７    通信部
８    モデム
９    ホストＩ／Ｆ
１０    ＣＰＵ
１１    アプリケーションプログラム
１２    パネル制御プログラム
１３    エンジン制御プログラム
１４    通信制御プログラム
１５    パネルドライバ
１６    エンジンドライバ
１７    通信ドライバ
１８    オペレーションシステム
２０    ＡＩサブシステム
３０    画面サブシステム
４０    パネルサブシステム
５０    画面遷移サブシステム
６０    ＡＩ・画遷テーブル生成サブシステム
７０    ＡＩテーブル
８０    画面遷移テーブル
９０    ＵＩ構成情報テーブル
１００    画像形成装置
２００    ネットワーク
３００、４００    ＰＣ
【図１】
2007047874.tif 000005
【図２】
2007047874.tif 000006
【図３】
2007047874.tif 000007
【図４】
2007047874.tif 000008
【図５】
2007047874.tif 000009
【図６】
2007047874.tif 000010
【図７】
2007047874.tif 000011
【図８】
2007047874.tif 000012
【図９】
2007047874.tif 000013
【図１０】
2007047874.tif 000014
【図１１】
2007047874.tif 000015
【図１２】
2007047874.tif 000016
【図１３】
2007047874.tif 000017
【図１４】
2007047874.tif 000018
【図１５】
2007047874.tif 000019
【図１６】
2007047874.tif 000020