(57)【要約】【課題】利用者が選択したアプリケーションの履歴を管理するアプリケーション選択管理装置を提供する。【解決手段】アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付手段（ボタンクラス１００７に相当）と、条件入力受付手段（１００７）により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択手段（従来アプリケーションクラス１００２、文書操作アプリケーションクラス１００３、文書形態操作アプリケーションクラス１００４に相当）と、アプリケーション選択手段（１００２、１００３、１００４）により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段（履歴クラス１００８、個人認証クラス１００９に相当）と、を有することを特徴とする。【選択図】図２０
2007193700.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付手段と、
前記条件入力受付手段により受け付けた前記条件に基づいて、アプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段と、
を有することを特徴とするアプリケーション選択管理装置。
【請求項２】
前記アプリケーション履歴管理手段は、
前記アプリケーションの利用履歴を管理し、
前記アプリケーション選択手段は、
前記アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、前記アプリケーションを並び替えることを特徴とする請求項１記載のアプリケーション選択管理装置。
【請求項３】
前記アプリケーション履歴管理手段は、
前記アプリケーションを利用者毎に履歴管理することを特徴とする請求項１または２記載のアプリケーション選択管理装置。
【請求項４】
前記アプリケーション選択手段は、
前記アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、前記アプリケーションの利用頻度に従って、前記アプリケーションを並び替えることを特徴とする請求項２記載のアプリケーション選択管理装置。
【請求項５】
前記条件入力受付手段は、
前記アプリケーション選択管理装置の導入前に使用された導入前アプリケーションの入力を受け付け、
前記アプリケーション選択手段は、
前記条件入力受付手段により受け付けた前記導入前アプリケーションに対応付けられた前記アプリケーションを選択することを特徴とする請求項１記載のアプリケーション選択管理装置。
【請求項６】
条件の入力を受け付ける条件入力受付手段と、
前記条件入力受付手段により受け付けた前記条件に基づいて、アプリケーションを選択するアプリケーション選択手段と、
前記アプリケーション選択手段により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段と、
を有することを特徴とする画像形成装置。
【請求項７】
前記アプリケーション履歴管理手段は、
前記アプリケーションの利用履歴を管理し、
前記アプリケーション選択手段は、
前記アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、前記アプリケーションを並び替えることを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記アプリケーション履歴管理手段は、
前記アプリケーションを利用者毎に履歴管理することを特徴とする請求項６または７記載の画像形成装置。
【請求項９】
前記アプリケーション選択手段は、
前記アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、前記アプリケーションの利用頻度に従って、前記アプリケーションを並び替えることを特徴とする請求項７記載の画像形成装置。
【請求項１０】
前記条件入力受付手段は、
前記アプリケーション選択管理装置の導入前に使用された導入前アプリケーションの入力を受け付け、
前記アプリケーション選択手段は、
前記条件入力受付手段により受け付けた前記導入前アプリケーションに対応付けられた前記アプリケーションを選択することを特徴とする請求項６記載の画像形成装置。
【請求項１１】
アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付工程と、
前記条件入力受付工程により受け付けた前記条件に基づいて、アプリケーションを選択するアプリケーション選択工程と、
前記アプリケーション選択工程により選択したアプリケーションを履歴管理するアプリケーション履歴管理工程と、
を、情報処理装置が行うことを特徴とするアプリケーション選択管理方法。
【請求項１２】
前記アプリケーション履歴管理工程は、
前記アプリケーションの利用履歴を管理し、
前記アプリケーション選択工程は、
前記アプリケーション履歴管理工程により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、前記アプリケーションを並び替えることを特徴とする請求項１１記載のアプリケーション選択管理方法。
【請求項１３】
前記アプリケーション履歴管理工程は、
前記アプリケーションを利用者毎に履歴管理することを特徴とする請求項１１または１２記載のアプリケーション選択管理方法。
【請求項１４】
前記アプリケーション選択工程は、
前記アプリケーション履歴管理工程により履歴管理するアプリケーションの利用履歴を基に、前記アプリケーションの利用頻度に従って、前記アプリケーションを並び替えることを特徴とする請求項１２記載のアプリケーション選択管理方法。
【請求項１５】
前記条件入力受付工程は、
前記情報処理装置の導入前に使用された導入前アプリケーションの入力を受け付け、
前記アプリケーション選択工程は、
前記条件入力受付工程により受け付けた前記導入前アプリケーションに対応付けられた前記アプリケーションを選択することを特徴とする請求項１１記載のアプリケーション選択管理方法。
【請求項１６】
アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付処理と、
前記条件入力受付処理により受け付けた前記条件に基づいて、アプリケーションを選択するアプリケーション選択処理と、
前記アプリケーション選択処理により選択したアプリケーションを履歴管理するアプリケーション履歴管理処理と、
を、情報処理装置において実行させることを特徴とするアプリケーション選択管理プログラム。
【請求項１７】
前記アプリケーション履歴管理処理は、
前記アプリケーションの利用履歴を管理し、
前記アプリケーション選択処理は、
前記アプリケーション履歴管理処理により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、前記アプリケーションを並び替えることを特徴とする請求項１６記載のアプリケーション選択管理プログラム。
【請求項１８】
前記アプリケーション履歴管理処理は、
前記アプリケーションを利用者毎に履歴管理することを特徴とする請求項１６または１７記載のアプリケーション選択管理プログラム。
【請求項１９】
前記アプリケーション選択処理は、
前記アプリケーション履歴管理処理により履歴管理するアプリケーションの利用履歴を基に、前記アプリケーションの利用頻度に従って、前記アプリケーションを並び替えることを特徴とする請求項１７記載のアプリケーション選択管理プログラム。
【請求項２０】
前記条件入力受付処理は、
前記情報処理装置の導入前に使用された導入前アプリケーションの入力を受け付け、
前記アプリケーション選択処理は、
前記条件入力受付処理により受け付けた前記導入前アプリケーションに対応付けられた前記アプリケーションを選択することを特徴とする請求項１６記載のアプリケーション選択管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、利用者からの入力に基づいて選択したアプリケーションを管理することを可能とするアプリケーション選択管理装置、画像形成装置、アプリケーション選択管理方法及びアプリケーション選択管理プログラムに関するものである。
【背景技術】
【０００２】
近年の複合機は、コピー、ファクシミリ、スキャナ、プリンタ、ドキュメントボックスなど様々な機能を搭載しており、操作者が全ての機能を利用するのは非常に困難である。また、上記の各機能には、使用目的が類似したものがあり、各機能に重複する処理が存在している場合もある。そのため、操作者によっては、備わった機能をほとんど使用しないという状況も少なくない。
【０００３】
しかしながら、複合機に搭載する機能を拡張するニーズがあるのも事実である。ここで要求される機能拡張とは、文書の入力元や出力先の追加である。例えば、スキャナから読み込んだデータを各種メディアに書き込みたいとか、インターネット上に存在するデータを入力として紙に印刷したいといった要望である。このように文書の入力元や出力先が増える度に、その機能を果たすアプリケーションを追加していてはシステムの規模が増大・複雑化してしまうことになる。
【０００４】
このようなことから、本発明より先に出願された技術文献として、入力機器、出力機器毎に設定されたプロファイル情報に基づいて処理に用いるプログラムを決定し、処理に用いるプログラムを容易に特定することを可能とする文献がある（例えば、特許文献１参照）。
【特許文献１】特開２００１−２４３１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に開示されている発明は、処理を行う際、入出力機器が決定しなければ処理に用いるプログラムが特定できないことになる。また、上記特許文献１では、決定したプログラムを利用者毎に履歴管理する点については何ら考慮されたものではない。
【０００６】
また、画像形成装置は、ファックス、スキャナという個別のアプリケーションとしての設定値に、追加又は拡張した機能を増加したインターフェースを提供してきたのが現状である。このようなインターフェースでは、入力処理の対象となる入力媒体、出力処理の対象となる出力媒体の対応関係は、利用者から見ると明確ではない。
【０００７】
換言すると、利用者は、所望する入力媒体及び出力媒体に処理を行うアプリケーションを、画像形成装置から選択することが困難となっている。つまり、画像形成装置のインターフェースは、利用者に対して、所望する機能を選択する際の負荷を増加させてきたという問題を抱えていることになる。
【０００８】
本発明は、上記事情に鑑みてなされたものであり、利用者が要求する処理を行うアプリケーションを選択し、その選択したアプリケーションの履歴を管理することを可能とするアプリケーション選択管理装置、画像形成装置、アプリケーション選択管理方法及びアプリケーション選択管理プログラムを提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明は以下の特徴を有することとする。
【００１０】
本発明にかかるアプリケーション選択管理装置は、アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付手段と、条件入力受付手段により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段と、を有することを特徴とするものである。
【００１１】
また、本発明にかかるアプリケーション選択管理装置において、アプリケーション履歴管理手段は、アプリケーションの利用履歴を管理し、アプリケーション選択手段は、アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、アプリケーションを並び替えることを特徴とするものである。
【００１２】
また、本発明にかかるアプリケーション選択管理装置において、アプリケーション履歴管理手段は、アプリケーションを利用者毎に履歴管理することを特徴とするものである。
【００１３】
また、本発明にかかるアプリケーション選択管理装置において、アプリケーション選択手段は、アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、アプリケーションの利用頻度に従って、アプリケーションを並び替えることを特徴とするものである。
【００１４】
また、本発明にかかるアプリケーション選択管理装置において、条件入力受付手段は、アプリケーション選択管理装置の導入前に使用された導入前アプリケーションの入力を受け付け、アプリケーション選択手段は、条件入力受付手段により受け付けた導入前アプリケーションに対応付けられたアプリケーションを選択することを特徴とするものである。
【００１５】
また、本発明にかかる画像形成装置は、条件の入力を受け付ける条件入力受付手段と、条件入力受付手段により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択手段と、アプリケーション選択手段により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段と、を有することを特徴とするものである。
【００１６】
また、本発明にかかる画像形成装置において、アプリケーション履歴管理手段は、アプリケーションの利用履歴を管理し、アプリケーション選択手段は、アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、アプリケーションを並び替えることを特徴とするものである。
【００１７】
また、本発明にかかる画像形成装置において、アプリケーション履歴管理手段は、アプリケーションを利用者毎に履歴管理することを特徴とするものである。
【００１８】
また、本発明にかかる画像形成装置において、アプリケーション選択手段は、アプリケーション履歴管理手段により履歴管理するアプリケーションの利用履歴を基に、アプリケーションの利用頻度に従って、アプリケーションを並び替えることを特徴とするものである。
【００１９】
また、本発明にかかる画像形成装置において、条件入力受付手段は、アプリケーション選択管理装置の導入前に使用された導入前アプリケーションの入力を受け付け、アプリケーション選択手段は、条件入力受付手段により受け付けた導入前アプリケーションに対応付けられたアプリケーションを選択することを特徴とするものである。
【００２０】
また、本発明にかかるアプリケーション選択管理方法は、アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付工程と、条件入力受付工程により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択工程と、アプリケーション選択工程により選択したアプリケーションを履歴管理するアプリケーション履歴管理工程と、を、情報処理装置が行うことを特徴とするものである。
【００２１】
また、本発明にかかるアプリケーション選択管理方法において、アプリケーション履歴管理工程は、アプリケーションの利用履歴を管理し、アプリケーション選択工程は、アプリケーション履歴管理工程により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、アプリケーションを並び替えることを特徴とするものである。
【００２２】
また、本発明にかかるアプリケーション選択管理方法において、アプリケーション履歴管理工程は、アプリケーションを利用者毎に履歴管理することを特徴とするものである。
【００２３】
また、本発明にかかるアプリケーション選択管理方法において、アプリケーション選択工程は、アプリケーション履歴管理工程により履歴管理するアプリケーションの利用履歴を基に、アプリケーションの利用頻度に従って、アプリケーションを並び替えることを特徴とするものである。
【００２４】
また、本発明にかかるアプリケーション選択管理方法において、条件入力受付工程は、情報処理装置の導入前に使用された導入前アプリケーションの入力を受け付け、アプリケーション選択工程は、条件入力受付工程により受け付けた導入前アプリケーションに対応付けられたアプリケーションを選択することを特徴とするものである。
【００２５】
また、本発明にかかるアプリケーション選択管理プログラムは、アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付処理と、条件入力受付処理により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択処理と、アプリケーション選択処理により選択したアプリケーションを履歴管理するアプリケーション履歴管理処理と、を、情報処理装置において実行させることを特徴とするものである。
【００２６】
また、本発明にかかるアプリケーション選択管理プログラムにおいて、アプリケーション履歴管理処理は、アプリケーションの利用履歴を管理し、アプリケーション選択処理は、アプリケーション履歴管理処理により履歴管理するアプリケーションの利用履歴を基に、任意の規則に従って、アプリケーションを並び替えることを特徴とするものである。
【００２７】
また、本発明にかかるアプリケーション選択管理プログラムにおいて、アプリケーション履歴管理処理は、アプリケーションを利用者毎に履歴管理することを特徴とするものである。
【００２８】
また、本発明にかかるアプリケーション選択管理プログラムにおいて、アプリケーション選択処理は、アプリケーション履歴管理処理により履歴管理するアプリケーションの利用履歴を基に、アプリケーションの利用頻度に従って、アプリケーションを並び替えることを特徴とするものである。
【００２９】
また、本発明にかかるアプリケーション選択管理プログラムにおいて、条件入力受付処理は、情報処理装置の導入前に使用された導入前アプリケーションの入力を受け付け、アプリケーション選択処理は、条件入力受付処理により受け付けた導入前アプリケーションに対応付けられたアプリケーションを選択することを特徴とするものである。
【発明の効果】
【００３０】
本発明によれば、アプリケーションが行う処理を特定するための条件の入力を受け付け、その受け付けた条件に基づいて、アプリケーションを選択し、その選択したアプリケーションを履歴管理することで、利用者が要求する処理を行うアプリケーションを選択し、その選択したアプリケーションの履歴を管理することが可能となる。
【発明を実施するための最良の形態】
【００３１】
まず、図２０を参照しながら、本実施形態におけるアプリケーション選択管理装置について説明する。
【００３２】
本実施形態におけるアプリケーション選択管理装置は、アプリケーションが行う処理を特定するための条件の入力を受け付ける条件入力受付手段（ボタンクラス１００７に相当）と、条件入力受付手段（１００７）により受け付けた条件に基づいて、アプリケーションを選択するアプリケーション選択手段（従来アプリケーションクラス１００２、文書操作アプリケーションクラス１００３、文書形態操作アプリケーションクラス１００４に相当）と、アプリケーション選択手段（１００２、１００３、１００４）により選択したアプリケーションを履歴管理するアプリケーション履歴管理手段（履歴クラス１００８、個人認証クラス１００９に相当）と、を有することを特徴とするものである。これにより、利用者が要求する処理を行うアプリケーションを選択し、その選択したアプリケーションを履歴管理することが可能となる。以下、添付図面を参照しながら、本実施形態におけるアプリケーション選択管理装置について詳細に説明する。なお、以下に説明する実施形態では、本実施形態におけるアプリケーション選択管理装置を画像形成装置に適用した場合について説明するが、本実施形態におけるアプリケーション選択管理装置は、後述する画像形成装置に限定するものではなく、処理を行う際に用いるアプリケーションを決定することが可能な各種装置に適用することは可能である。
【００３３】
（第１の実施形態）
まず、図１〜図３を参照しながら、本実施形態における画像形成装置（１）について説明する。なお、図１は、本実施形態の画像形成装置（１）を取り巻くネットワーク環境を説明するためのネットワーク図であり、図２は、図１に示した画像形成装置（１）のハードウェア構成を示すブロック図であり、図３は、図１に示した画像形成装置（１）のソフトウェアとハードウェアとの関係を説明するための概念図である。なお、以下の実施形態では、画像形成装置（１）としてＭＦＰ（Multi Function Peripheral）を用いた場合について説明するが、ＭＦＰ以外の他の画像形成装置に適用することも可能である。
【００３４】
＜画像形成装置１を有するシステム構成＞
まず、図１を参照しながら、本実施形態における画像形成装置（１）を有するシステム構成について説明する。
【００３５】
近年のネットワーク化の進展により、オフィスなどに設けられたＰＣ（Personal Computer）などの機器は、図１に示すように、ＬＡＮ（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）が仕様を策定しているシステムモデリング言語であり、モデリングの成果を記述する記法を定義したものである。このＵＭＬは、オブジェクト指向によるソフトウェアの設計において汎用されているものである。
【００８０】
図８に示すように、統合アプリケーション（１１０）は、複数のパッケージを有し、また、統合アプリケーション（１１０）自体も１つのパッケージとなっている。なお、パッケージとは、ＵＭＬモデルの各構成要素（シンボル）をグループ化したものであり、パッケージは、左上にタブのついたフォルダ型のシンボルで表現される。また、各パッケージを相互に結ぶ直線は、各パッケージ間に処理依頼などの関連があることを示す。
【００８１】
図８に示すように、統合アプリケーション（１１０）は、操作系サブシステム（２０１）、管理系サブシステム（２０２）、実行系サブシステム（２０３）の３つのパッケージを内部に有している。さらに、操作系サブシステム（２０１）は、アプリケーション選択部（２１１）、表示制御部（２１２）のパッケージを内部に有している。そして、操作系サブシステム（２０１）、管理系サブシステム（２０２）、実行系サブシステム（２０３）を相互に結ぶ直線は、各パッケージ間にメッセージの送受信などの関連があることを示している。なお、操作系サブシステム（２０１）、管理系サブシステム（２０２）、実行系サブシステム（２０３）のタブの右端に記された記号は、パッケージがサブシステムであることを示すＵＭＬのシンボルである。
【００８２】
次に、アプリケーション選択部（２１１）について詳細に説明する。アプリケーション選択部（２１１）は、利用者からの入力を受け付けた場合に、実際に処理を行うアプリケーションを選択する処理を行う。そして、アプリケーション選択部（２１１）がアプリケーションを選択した場合に、実行系サブシステム（２０３）に含まれているアプリケーションの中から選択されたアプリケーションで処理が行われることになる。
【００８３】
また、アプリケーション選択部（２１１）は、オブジェクト指向に基づいて設計するにあたり、既存の処理を単純にオブジェクト化せず、機能追加や改修を容易に行うことができるように、オブジェクトモデルを構築している。以下、このオブジェクトモデルの概要について説明する。
【００８４】
図９は、図８に示すアプリケーション選択部（２１１）のアプリケーションの選択の概念を示した図である。図９に示すように、図８に示すアプリケーション選択部（２１１）は、従来のアプリケーションのボタン（７０１）の他に、条件又は概念が示されたボタン（７０２）により入力を受け付けることになる。そして、アプリケーション選択部（２１１）は、従来のアプリケーションのボタン（７０１）の押下により入力を受け付けた場合には、その入力を受け付けたボタン（７０１）に対応付けられたアプリケーションを選択することになる。また、アプリケーション選択部（２１１）は、条件又は概念が示されたボタン（７０２）の押下により入力を受け付けた場合には、その入力を受け付けたボタン（７０２）の組み合せに基づいて、アプリケーションを選択することになる。つまり、アプリケーション選択部（２１１）は、入力を受け付けた条件又は概念の組み合せと、アプリケーションと、の対応関係（７０３）を保持することで、入力を受け付けたボタンの組み合せからアプリケーションを選択することが可能となる。
【００８５】
そして、表示制御部（２１２）は、アプリケーション選択部（２１１）により選択されたアプリケーションを、液晶タッチパネル（４２０）上に表示する制御を行うことになる。これにより、利用者は、処理に用いるアプリケーションを視覚により確認することが可能となる。なお、利用者は、選択されたアプリケーションが複数の場合、利用者は、さらに自分の要求に適したアプリケーションを選択することが可能となる。この選択は、利用者が液晶タッチパネル（４２０）上に表示されたアプリケーションを押下することで行うことが可能となる。
【００８６】
次に、図１０を参照しながら、本実施形態の画像形成装置（１）で実行される統合アプリケーション（１１０）の動作パターンについて説明する。なお、図１０は、本実施形態の画像形成装置（１）にて実行される統合アプリケーション（１１０）の動作パターンを示す図である。
【００８７】
本実施形態における画像形成装置（１）は、『紙文書』をscanしたり、『電子文書』をreceiveしたり、scanした『紙文書』やreceiveした『電子文書』を画像形成装置（１）内のハードディスク内に『電子文書』として蓄積したり、scanした『紙文書』やreceiveした『電子文書』やハードディスク内に蓄積した『電子文書』を『紙文書』としてprintしたり、scanした『紙文書』やreceiveした『電子文書』やハードディスク内に蓄積した『電子文書』を『電子文書』としてsendしたりすることになる。
【００８８】
なお、本実施形態における画像形成装置（１）は、上記の何れか１つの処理を実行するか、または２つ以上の処理を順次実行するか、もしくは、２つ以上の処理を並行して実行するか、もしくは、３つ以上の処理を連続しかつ並行して実行することになる。なお、単体機器の場合には、上記の１つの処理を実行することになる。
【００８９】
このように、本実施形態における画像形成装置（１）は、図１０に示すように、利用者により選択される文書形態に対応した複数の機能を搭載し、アプリケーション選択部（２１１）で選択されたアプリケーションに応じて何れか１つの機能を動作したり、２つ以上の機能を順次動作したり、２つ以上の機能を並列動作したり、又は、３つ以上の機能を連続且つ平行して動作したりすることになる。
【００９０】
図１１は、画像形成装置（１）の文書操作、文書形態操作又は従来アプリケーションと、処理に用いるアプリケーションの対応関係を一覧として示した図である。図１１に示すように、利用者が文書操作、文書形態操作の組み合せ、又は従来アプリケーションを選択することで、選択するアプリケーションを特定することが可能となる。
【００９１】
なお、『文書操作』とは、例えば、図１１に示す『入力文書』、『ユーザ文書』、『出力文書』に対応する操作をいう。また、『文書形態操作』とは、例えば、図１１に示す『紙の入力文書』、『電子データの入力文書』に対応する操作をいう。つまり、これら『文書操作』又は『文書形態操作』の組み合せにより、アプリケーションが選択されることになる。
【００９２】
また、本実施形態の画像形成装置（１）において、『文書形態』とは、画像形成装置（１）が処理する画像データの入力機器、又は、出力機器により異なる媒体又はデータを示したものである。また、文書形態操作とは、媒体又はデータについての操作、例えば、『スキャン』などの機能に相当する。
【００９３】
つまり、本実施形態の画像形成装置（１）は、アプリケーションを選択する条件として、『文書操作』、『文書形態操作』、又は、『従来アプリケーション』を用いることになる。そして、文書操作、文書形態操作の組み合せにより、アプリケーションが選択される。なお、本実施形態の画像形成装置（１）は、アプリケーションを選択する条件として、文書操作、文書形態操作又は従来アプリケーションに限定するものではなく、様々な条件を適用するように構築することも可能である。
【００９４】
本実施形態における画像形成装置（１）は、文書操作として、入力文書、ユーザ文書、出力文書を選択する。また、文書形態操作として、入力文書のスキャン、入力文書の受信、ユーザ文書の蓄積、出力文書の印刷、出力文書の送信を選択する。
【００９５】
また、『従来アプリケーション』とは、本実施形態の画像形成装置（１）を導入する前の画像形成装置が備えていたアプリケーションをいう。また、画像形成装置（１）は、従来アプリケーションとして、コピー、スキャナ、ファックス、プリンタ、ドキュメントボックスを有して構成される。これにより、本実施形態の画像形成装置（１）を導入する前に使用していた従来の画像形成装置と同様のアプリケーションを選択することが可能となる。
【００９６】
次に、図１１を参照しながら、利用者が選択した文書操作、文書形態操作の組み合せにより、選択される入出力統合アプリケーションの一例について説明する。
【００９７】
まず、利用者が、文書操作として入力文書、出力文書のみを選択した場合、アプリケーション選択部（２１１）は、入出力統合アプリケーションとして、Ｎｏ．‘１’，‘２’，‘５’，‘６’，‘９’，‘１１’を選択することになる。また、利用者が、文書形態操作として入力文書のスキャン、出力文書の印刷を選択した場合、アプリケーション選択部（２１１）は、入出力統合アプリケーションとして、Ｎｏ．‘１’を選択することになる。また、利用者が、従来アプリケーションとしてコピーを選択した場合、アプリケーション選択部（２１１）は、入出力統合アプリケーションとして、Ｎｏ．‘１’，‘３’，‘９’，‘１０’を選択することになる。
【００９８】
図１２は、上述した概念に基づくオブジェクトモデリングにより設計されたアプリケーション選択部（２１１）が備えるクラス構成をＵＭＬのクラスで示した図である。図１２に示すように、アプリケーション選択部（２１１）は、アプリケーションクラス（１００１）と、従来アプリケーションクラス（１００２）と、文書操作アプリケーションクラス（１００３）と、文書形態操作アプリケーションクラス（１００４）と、文書操作クラス（１００５）と、文書形態操作クラス（１００６）と、ボタンクラス（１００７）と、を備えている。本実施形態における画像形成装置（１）は、図１２に示すクラス構成を備えることで、利用者の要求に適したアプリケーションの選択を容易に行うことが可能となる。
【００９９】
なお、各クラスを示す矩形は、３段の区画を有し、上から、クラス名を示す名前区画、クラスが有するデータ（属性）を示す属性区画およびクラスが有する処理（操作）を示す操作区画と呼ばれる。例えば、アプリケーションクラス（１００１）を示す矩形の名前区画は、かかるクラスのクラス名が『アプリケーション』であることを示し、属性区画は、かかるクラスが有する属性が、『アプリケーションＩＤ』、『名称』、『状態』であることを示している。なお、操作区画は、かかるクラスが有する操作が『選択（）』、『取消（）』であることを示している。
【０１００】
このように、各クラスは、データ（属性）を所持するための属性区画と、かかる属性の書き込み及び読み出しを行う処理（操作）を所持するための操作区画とを有している。これらのクラスは、プログラム（統合アプリケーション１１０）の一部として含まれるので、ＲＯＭ（１２ａ）に予め格納されたプログラムが実行されると、各クラスは、ＲＡＭ（１２ｂ）の所定領域に実体化され、属性区画に含まれる各データ（属性）がＲＡＭ（１２ｂ）上に展開されることになる。従って、クラスを実体化したオブジェクトは、ＲＡＭ（１２ｂ）上の各データ（属性）の書き込み及び読み出しをすることが可能となる。
【０１０１】
なお、属性や操作といったクラスの要素の左側に『−』記号を付した場合は、かかる要素は、外部のクラスには非公開であることを示し、『＋』記号を付した場合は、かかる要素は外部のクラスに公開されていることを示す。また、操作については、『選択（）』のように『（）』記号を付することが通例であり、『（引数１，引数２）』のように、かかる操作に引き渡す引数を記述する場合もある。
【０１０２】
次に、図１２に示す各クラスについて説明する。
【０１０３】
＜アプリケーションクラス１００１＞
アプリケーションクラス（１００１）は、処理に用いられるアプリケーションを保持するクラスである。具体的には、このアプリケーションクラス（１００１）は、属性として、『アプリケーションＩＤ』（１００１ａ）、『名称』（１００１ｂ）、『状態』（１００１ｃ）を有し、操作として、『選択（）』（１００１ｄ）、『取消（）』（１００１ｅ）を有している。なお、かかるアプリケーションクラス（１００１）を実体化したオブジェクトが生成されると、『アプリケーションＩＤ』（１００１ａ）、『名称』（１００１ｂ）、『状態』（１００１ｃ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１０４】
『アプリケーションＩＤ』（１００１ａ）は、処理に用いるアプリケーションを識別するＩＤを保持している。本実施形態において、『アプリケーションＩＤ』（１００１ａ）は、図１１に示す入出力統合アプリケーションの番号『Ｎｏ．１〜Ｎｏ．１７』をユニークなＩＤとして保持している。
【０１０５】
『名称』（１００１ｂ）は、アプリケーションの名称を保持している。なお、『名称』（１００１ｂ）の例としては、『scan to print』等が挙げられる。
【０１０６】
『状態』（１００１ｃ）は、アプリケーションオブジェクト（１００１Ａ）により特定されるアプリケーションが選択されたか否かを保持している。そして、後述する『選択（）』（１００１ｄ）又は『取消（）』（１００１ｅ）が呼び出された場合に、『状態』（１００１ｃ）が変更されることになる。具体的には、『選択（）』（１００１ｄ）が呼び出された場合に、『状態』（１００１ｃ）は、選択された状態を保持し、『取消（）』（１００１ｅ）が呼び出された場合に、『状態』（１００１ｃ）は、選択されていない状態を保持することになる。つまり、アプリケーション選択部（２１１）は、『状態』（１００１ｃ）に基づいて、当該アプリケーションオブジェクト（１００１Ａ）で特定されるアプリケーションが選択されたか否か判断することになる。
【０１０７】
なお、アプリケーションオブジェクト（１００１Ａ）は、アプリケーションクラス（１００１）からアプリケーション毎に生成されたものとする。また、外部から当該アプリケーションオブジェクト（１００１Ａ）が選択されているか否かを確認する方法は、どのような方法を用いても良く、例えば、アプリケーションオブジェクト（１００１Ａ）が選択されたか否かの確認するための操作を設けることも可能である。
【０１０８】
『選択（）』（１００１ｄ）は、当該アプリケーションオブジェクト（１００１Ａ）を選択する処理を行う。具体的には、『選択（）』（１００１ｄ）が呼び出された場合、『状態』（１００１ｃ）が選択された状態を保持することとなる。
【０１０９】
『取消（）』（１００１ｅ）は、当該アプリケーションオブジェクト（１００１Ａ）の選択を取り消す処理を行う。具体的には、『取消（）』（１００１ｅ）が呼び出された場合、『状態』（１００１ｃ）が選択されていない状態を保持することとなる。
【０１１０】
＜従来アプリケーションクラス１００２＞
従来アプリケーションクラス（１００２）は、本実施形態の画像形成装置（１）の導入前から用いられている従来のアプリケーションを示しているボタンと実際に処理を行うアプリケーションの対応付けを行うクラスである。具体的には、従来アプリケーションクラス（１００２）は、属性として、『名称』（１００２ａ）、『対応アプリケーションＩＤ』（１００２ｂ）を有し、操作として、『決定（）』（１００２ｃ）、『取消（）』（１００２ｄ）を有している。なお、従来アプリケーションクラス（１００２）を実体化したオブジェクトが生成されると、『名称』（１００２ａ）、『対応アプリケーションＩＤ』（１００２ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。なお、従来アプリケーションクラス（１００２）を実体化したオブジェクトは、例えば『コピー』又は『スキャナ』などの従来のアプリケーション毎に生成されることになる。
【０１１１】
なお、従来アプリケーションクラス（１００２）は、『対応アプリケーションＩＤ』（１００２ｂ）によりアプリケーションを選択するので、換言すればアプリケーション選択手段に相当する。
【０１１２】
『名称』（１００２ａ）は、従来のアプリケーションの名称を保持している。なお、『名称』（１００２ａ）の例としては、『コピー』、『ファックス』、『スキャナ』、『プリンタ』、『ドキュメントボックス』等が挙げられる。
【０１１３】
『対応アプリケーションＩＤ』（１００２ｂ）は、従来アプリケーションに対応付けられた、アプリケーションオブジェクト（１００１Ａ）を識別する『アプリケーションＩＤ』（１００１ａ）を保持している。そして、『対応アプリケーションＩＤ』（１００２ｂ）により特定されるアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）、『取消（）』（１００１ｅ）を、従来アプリケーションオブジェクト（１００２Ａ）が呼び出すことになる。
【０１１４】
『決定（）』（１００２ｃ）は、従来アプリケーションオブジェクト（１００２Ａ）で特定される従来のアプリケーションに対応付けられたアプリケーションを用いるものとして決定する処理を行う。具体的には、『決定（）』（１００２ｃ）が呼び出された場合、呼び出された従来アプリケーションオブジェクト（１００２Ａ）は、『対応アプリケーションＩＤ』（１００２ｂ）を参照し、当該『対応アプリケーションＩＤ』（１００２ｂ）により特定されたアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出す。
【０１１５】
『取消（）』（１００２ｄ）は、従来アプリケーションオブジェクト（１００２Ａ）で特定される従来のアプリケーションに対応付けられたアプリケーションを選択から取り消す処理を行う。具体的には、『取消（）』（１００２ｄ）が呼び出された場合、呼び出された従来アプリケーションオブジェクト（１００２Ａ）は、『対応アプリケーションＩＤ』（１００２ｂ）を参照することで特定されたアプリケーションオブジェクト（１００１Ａ）の『取消（）』（１００１ｅ）を呼び出す。
【０１１６】
＜文書操作アプリケーションクラス１００３＞
文書操作アプリケーションクラス（１００３）は、利用者から受け付けられた文書操作から実際に処理を行うアプリケーションへの対応付けを行うクラスである。具体的には、この文書操作アプリケーションクラス（１００３）は、属性として、『アプリケーションＩＤ』（１００３ａ）、『文書操作ＩＤ』（１００３ｂ）を有し、操作として、『決定（）』（１００３ｃ）、『取消（）』（１００３ｄ）を有している。なお、文書操作アプリケーションクラス（１００３）を実体化したオブジェクトが生成されると、『アプリケーションＩＤ』（１００３ａ）、『文書操作ＩＤ』（１００３ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１１７】
なお、文書操作アプリケーションクラス（１００３）は、『文書操作ＩＤ』（１００３ｂ）の組み合せによりアプリケーションを選択するので、換言すればアプリケーション選択手段に相当する。
【０１１８】
『アプリケーションＩＤ』（１００３ａ）は、処理に用いるアプリケーションを識別するＩＤを保持している。そして、『文書操作ＩＤ』（１００３ｂ）は、操作の対象として利用者が入力する入力文書、ユーザ文書又は出力文書を識別するＩＤを保持している。そして、文書操作アプリケーションオブジェクト（１００３Ａ）では、図１１に示すような、『アプリケーションＩＤ』（１００３ａ）と、『文書操作ＩＤ』（１００３ｂ）との組み合せの対応付けを保持している。
【０１１９】
なお、本実施形態の画像形成装置（１）は、文書操作アプリケーションオブジェクト（１００３Ａ）を画像形成装置（１）で１つのみ生成し、『アプリケーションＩＤ』（１００３ａ）と『文書操作ＩＤ』（１００３ｂ）との組み合せの対応関係を全て保持することとする。なお、本実施形態における画像形成装置（１）は、上述した保持方法に限定するものではなく、例えば、『アプリケーションＩＤ』（１００３ａ）と『文書操作ＩＤ』（１００３ｂ）との組み合せ毎に、文書操作アプリケーションオブジェクト（１００３Ａ）を生成することも可能である。
【０１２０】
『決定（）』（１００３ｃ）は、利用者が入力した文書操作により対応付けられたアプリケーションを決定する処理を行う。また、『決定（）』（１００３ｃ）が呼び出された際、引数に『文書操作ＩＤ』が含まれている。これにより、対応付けられたアプリケーションを特定することが可能となる。具体的には、『決定（）』（１００３ｃ）が呼び出された場合、呼び出された文書操作アプリケーションオブジェクト（１００３Ａ）は、引数として入力された『文書操作ＩＤ』と、『アプリケーションＩＤ』（１００３ａ）と『文書操作ＩＤ』（１００３ｂ）との対応付けから、『アプリケーションＩＤ』（１００３ａ）を特定する。そして、文書操作アプリケーションオブジェクト（１００３Ａ）は、特定された『アプリケーションＩＤ』（１００３ａ）に対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出す。
【０１２１】
『取消（）』（１００３ｄ）は、利用者が選択を解除した文書操作により対応付けられたアプリケーションを解除する処理を行う。また、『取消（）』（１００３ｄ）が呼び出された際、引数に『文書操作ＩＤ』が含まれている。これにより、対応付けられたアプリケーションを特定することが可能となる。具体的には、『取消（）』（１００３ｄ）が呼び出された場合、呼び出された文書操作アプリケーションオブジェクト（１００３Ａ）は、引数として入力された『文書操作ＩＤ』と、『アプリケーションＩＤ』（１００３ａ）と『文書操作ＩＤ』（１００３ｂ）との対応付けから、『アプリケーションＩＤ』（１００３ａ）を特定する。そして、文書操作アプリケーションオブジェクト（１００３Ａ）は、特定された『アプリケーションＩＤ』（１００３ａ）に対応するアプリケーションオブジェクト（１００１Ａ）の『取消（）』（１００１ｅ）を呼び出す。
【０１２２】
＜文書形態操作アプリケーションクラス１００４＞
文書形態操作アプリケーションクラス（１００４）は、利用者から受け付けられた文書形態操作から実際に処理を行うアプリケーションへの対応付けを行うクラスである。具体的には、文書形態操作アプリケーションクラス（１００４）は、属性として、『アプリケーションＩＤ』（１００４ａ）、『文書形態操作ＩＤ』（１００４ｂ）を有し、操作として、『決定（）』（１００４ｃ）、『取消（）』（１００４ｄ）を有している。なお、かかる文書形態操作アプリケーションクラス（１００４）を実体化したオブジェクトが生成されると、『アプリケーションＩＤ』（１００４ａ）、『文書形態操作ＩＤ』（１００４ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１２３】
なお、文書形態操作アプリケーションクラス（１００４）は、『文書形態操作ＩＤ』の組み合せによりアプリケーションを選択するので、換言すればアプリケーション選択手段に相当する。
【０１２４】
『アプリケーションＩＤ』（１００４ａ）は、処理に用いるアプリケーションを識別するＩＤを保持している。そして、『文書形態操作ＩＤ』（１００４ｂ）は、文書形態操作として入力文書の“scan"、入力文書の“receive"、ユーザ文書の“store"、出力文書の“print"、出力文書の“send"を識別するＩＤを保持している。
【０１２５】
そして、文書形態操作アプリケーションオブジェクト（１００４Ａ）では、図１１で示したような、『アプリケーションＩＤ』（１００４ａ）と、『文書形態操作ＩＤ』（１００４ｂ）との組み合せとの対応付けを保持している。
【０１２６】
なお、本実施形態の画像形成装置（１）は、文書形態操作アプリケーションオブジェクト（１００４Ａ）を画像形成装置（１）で１つのみ生成し、『アプリケーションＩＤ』（１００４ａ）と『文書形態操作ＩＤ』（１００４ｂ）との組み合せの対応関係を全て保持することとする。なお、本実施形態の画像形成装置（１）は、上述した保持方法に限定するものではなく、例えば、『アプリケーションＩＤ』（１００４ａ）と『文書形態操作ＩＤ』（１００４ｂ）との組み合せ毎に、文書形態操作アプリケーションオブジェクト（１００４Ａ）を生成することも可能である。
【０１２７】
『決定（）』（１００４ｃ）は、利用者が入力した文書により対応付けられたアプリケーションを決定する処理を行う。また、『決定（）』（１００４ｃ）の引数に『文書形態操作ＩＤ』が含まれている。具体的には、『決定（）』（１００４ｃ）が呼び出された場合、呼び出された文書形態操作アプリケーションオブジェクト（１００４Ａ）は、引数として入力された『文書形態操作ＩＤ』と、『アプリケーションＩＤ』（１００４ａ）と『文書形態操作ＩＤ』（１００４ｂ）との対応付けから、『アプリケーションＩＤ』（１００４ａ）を特定する。そして、文書形態操作アプリケーションオブジェクト（１００４Ａ）は、特定された『アプリケーションＩＤ』（１００４ａ）に対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出す。
【０１２８】
『取消（）』（１００４ｄ）は、利用者が選択を解除した文書形態操作により対応付けられたアプリケーションを選択から解除する処理を行う。また、『取消（）』（１００４ｄ）が呼び出された際、引数に『文書形態操作ＩＤ』が含まれている。これにより、対応付けられたアプリケーションを特定することが可能となる。具体的には、『取消（）』（１００４ｄ）が呼び出された場合、呼び出された文書形態操作アプリケーションオブジェクト（１００４Ａ）は、引数として入力された『文書形態操作ＩＤ』と、『アプリケーションＩＤ』（１００４ａ）と『文書形態操作ＩＤ』（１００４ｂ）との対応付けから、『アプリケーションＩＤ』（１００４ａ）を特定する。そして、文書形態操作アプリケーションオブジェクト（１００４Ａ）は、特定された『アプリケーションＩＤ』（１００４ａ）に対応するアプリケーションオブジェクト（１００１Ａ）の『取消（）』（１００１ｅ）を呼び出すことになる。
【０１２９】
＜文書操作クラス１００５＞
文書操作クラス（１００５）は、利用者から受け付けられた文書操作に対応する処理を行うクラスである。具体的には、この文書操作クラス（１００５）は、属性として、『文書操作ＩＤ』（１００５ａ）、『名称』（１００５ｂ）を有し、操作として、『決定（）』（１００５ｃ）、『取消（）』（１００５ｄ）を有している。なお、文書操作クラス（１００５）を実体化したオブジェクトが生成されると、『文書操作ＩＤ』（１００５ａ）、『名称』（１００５ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１３０】
『文書操作ＩＤ』（１００５ａ）は、利用者が入力する文書操作を識別するＩＤを保持している。本実施形態においては、文書操作を識別するＩＤは、操作の対象となる入力文書、ユーザ文書、出力文書毎に設定されている。
【０１３１】
『名称』（１００５ｂ）は、文書操作の名称を保持している。なお、『名称』（１００５ｂ）の例としては、入力文書、出力文書、ユーザ文書が挙げられる。
【０１３２】
『決定（）』（１００５ｃ）は、利用者から受け付けた文書操作に対応する処理を行う。具体的には、『決定（）』（１００５ｃ）が呼び出された場合、呼び出された文書操作オブジェクト（１００５Ａ）は、引数に『文書操作ＩＤ』（１００５ａ）を設定し、文書操作アプリケーションオブジェクト（１００３Ａ）の『決定（）』（１００３ｃ）を呼び出す。
【０１３３】
『取消（）』（１００５ｄ）は、利用者から設定を解除された文書操作に対応する処理を行う。具体的には、『取消（）』（１００５ｄ）が呼び出された場合、呼び出された文書操作オブジェクト（１００５Ａ）は、引数に『文書操作ＩＤ』（１００５ａ）を設定し、文書操作アプリケーションオブジェクト（１００３Ａ）の『取消（）』（１００３ｄ）を呼び出す。
【０１３４】
＜文書形態操作クラス１００６＞
文書形態操作クラス（１００６）は、利用者から受け付けられた文書形態操作に対応する処理を行うクラスである。具体的には、文書形態操作クラス（１００６）は、属性として、『文書形態操作ＩＤ』（１００６ａ）、『名称』（１００６ｂ）を有し、操作として、『決定（）』（１００６ｃ）、『取消（）』（１００６ｄ）を有している。なお、文書形態操作クラス（１００６）を実体化したオブジェクトが生成されると、『文書形態操作ＩＤ』（１００６ａ）、『名称』（１００６ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１３５】
『文書形態操作ＩＤ』（１００６ａ）は、利用者が入力する文書形態操作を識別するＩＤを保持している。本実施形態においては、文書形態操作を識別するＩＤは、文書形態操作として入力文書の“scan"、入力文書の“receive"、ユーザ文書の“store"、出力文書の“print"、出力文書の“send"毎に設定されている。
【０１３６】
『名称』（１００６ｂ）は、文書形態操作の名称を保持している。なお、『名称』（１００６ｂ）の例としては、“scan"、“receive"、“store"、“print"、“send"が挙げられる。
【０１３７】
『決定（）』（１００６ｃ）は、利用者から受け付けた文書形態操作に対応する処理を行う。具体的には、『決定（）』（１００６ｃ）が呼び出された場合、呼び出された文書形態操作オブジェクト（１００６Ａ）は、引数に『文書形態操作ＩＤ』（１００６ａ）を設定し、文書形態操作アプリケーションオブジェクト（１００４Ａ）の『決定（）』（１００４ｃ）を呼び出す。
【０１３８】
『取消（）』（１００６ｄ）は、利用者から設定を解除された文書形態操作に対応する処理を行う。具体的には、『取消（）』（１００６ｄ）が呼び出された場合、呼び出された文書形態操作オブジェクト（１００６Ａ）は、引数に『文書形態操作ＩＤ』（１００６ａ）を設定し、文書形態操作アプリケーションオブジェクト（１００４Ａ）の『取消（）』（１００４ｄ）を呼び出す。
【０１３９】
＜ボタンクラス１００７＞
ボタンクラス（１００７）は、利用者に押下されるボタンに対応する処理を行うクラスである。具体的には、このボタンクラス（１００７）は、属性として、『名称』（１００７ａ）、『状態』（１００７ｂ）を有し、操作として、『押下（）』（１００７ｃ）を有している。なお、ボタンクラス（１００７）を実体化したオブジェクトが生成されると、『名称』（１００７ａ）、『状態』（１００７ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０１４０】
なお、ボタンクラス（１００７）は、利用者からの条件の入力を受け付けることから、換言すれば条件入力受付手段に相当する。そして、ボタンクラス（１００７）の実体化したオブジェクトは、従来アプリケーションクラス（１００２）、文書操作クラス（１００５）、文書形態操作クラス（１００６）が実体化したオブジェクトと対応付けられ、これらのオブジェクトで入力の際に受け付ける条件が設定されることになる。
【０１４１】
また、ボタンクラス（１００７）が実体化したボタンオブジェクト（１００７Ａ）は、液晶タッチパネル（４０２）上に表示されるボタン毎に生成される。そして、生成されたボタンオブジェクト（１００７Ａ）は、従来のアプリケーション、文書操作、文書形態操作等と１：１で対応付けられている。これにより、ボタンが押下されることで、対応付けられている従来のアプリケーション、文書操作、文書形態操作等の決定又は取消を行うことが可能となる。
【０１４２】
『名称』（１００７ａ）は、対応付けられている従来のアプリケーション、文書操作、文書形態操作を示す名称を保持している。また、表示制御部（２１２）は、この『名称』（１００７ａ）を液晶タッチパネル（４２０）の対応するボタンに表示する。
【０１４３】
『状態』（１００７ｂ）は、押下されているか否かの状態を保持している。後述する『押下（）』（１００７ｃ）が呼び出される度に、『状態』（１００７ｂ）は、押下されている状態と、押下されていない状態を切り替えて保持する。
【０１４４】
『押下（）』（１００７ｃ）は、利用者によるボタンの押下に対応する処理を行う。具体的には、『押下（）』（１００７ｃ）が呼び出された場合、呼び出されたボタンオブジェクト（１００７Ａ）は、保持している『状態』（１００７ｂ）を参照し、『状態』（１００７ｂ）が押下されていない状態であれば、対応付けられているオブジェクトの『決定（）』を呼び出す。また、『状態』（１００７ｂ）が押下されている状態であれば、ボタンオブジェクト（１００７Ａ）は、対応付けられているオブジェクトの『取消（）』を呼び出す。そしてボタンオブジェクト（１００７Ａ）は、対応付けられているオブジェクトの『決定（）』又は『取消（）』を呼び出した後、『状態』（１００７ｂ）が保持している状態を切り替える。
【０１４５】
なお、ボタンオブジェクト（１００７Ａ）に対応付けられているオブジェクトは、従来アプリケーションオブジェクト（１００２Ａ）、文書操作オブジェクト（１００５Ａ）、文書形態操作オブジェクト（１００６Ａ）とする。
【０１４６】
なお、本実施形態において、上述したクラスのオブジェクトは、画像形成装置（１）の電源投入時に自動的に生成される。そして、アプリケーションを選択する処理中に、新たなオブジェクトの生成又は削除は行われないものとする。
【０１４７】
次に、図１２に示した各クラス間の関係について説明する。図１２に示すように、各クラスを示す矩形を結ぶ直線は、その両端のクラス間に関係があることを表しており、この直線の両端付近の文字はクラスの役割を、数字はクラスの多重度をそれぞれ示している。ここで、役割とは、かかる直線の両端における、一方のクラスからみた、もう一方のクラスの役割や立場のことであり、多重度とは、かかる直線の両端のクラスから生成されるオブジェクト数の対応関係のことである。
【０１４８】
例えば、アプリケーションクラス（１００１）からみた文書操作クラス（１００５）の役割は『選択候補指定』であり、文書操作クラス（１００５）からみたアプリケーションクラス（１００１）の役割は『選択候補』であり、アプリケーションクラス（１００１）の多重度は『１．．ｎ』であり、文書操作クラス（１００５）の多重度は『１．．ｎ』である。ここで、『１．．ｎ』は、かかるアプリケーションクラス（１００１）の多重度が、１から上限数なしの範囲であることを示している。また、例えば、『１．．３』の記載をした場合には、かかるクラスの多重度が、１〜３の範囲であることを示す。
【０１４９】
まず、ボタンクラス（１００７）と従来アプリケーションクラス（１００２）とのクラス関係について説明する。
【０１５０】
ボタンクラス（１００７）は、従来アプリケーションクラス（１００２）からみると画像形成装置（１）が利用者から従来アプリケーションの押下を検知する選択検知としての役割を有しており、一方、従来アプリケーションクラス（１００２）は、ボタンクラス（１００７）からみると受け付けたボタンに対応する選択対象としての役割を有している。このようなクラス関係によりボタンクラス（１００７）で受け付けたボタンの押下から、従来アプリケーションが選択された要求を、従来アプリケーションクラス（１００２）が受け取り、選択された従来アプリケーションから実際に処理を行うアプリケーションへの対応付けを行うことが可能となる。
【０１５１】
そして、図１２に示すように、アプリケーション選択部（２１１）が実行される場面において、ボタンクラス（１００７）をＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトは１個以上、上限数なしの範囲で存在する。また、従来アプリケーションクラス（１００２）をＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトは１個以上、上限数なしの範囲で存在する。
【０１５２】
そして、ボタンクラス（１００７）を実体化したオブジェクトと従来アプリケーションクラス（１００２）を実体化したオブジェクトは１：１で対応付けられている。これにより、従来アプリケーションに対応するボタンが存在する。そして、従来アプリケーションとボタンとの対応が明確なので、従来アプリケーションを示したボタンが押下された場合、対応する従来アプリケーションが選択されたものとして処理を行うことが可能となる。
【０１５３】
また、ボタンクラス（１００７）及び従来アプリケーションクラス（１００２）のオブジェクト数の上限数は規定していないものの、当然に、ハードウェア仕様などによる制限を受けるものとする。これは、後述するクラスで、ＲＡＭ（１２ｂ）上に展開されるオブジェクト数の上限数なしの範囲で存在するクラスも同様とする。
【０１５４】
次に、ボタンクラス（１００７）と文書操作クラス（１００５）とのクラス関係について説明する。
【０１５５】
ボタンクラス（１００７）は、文書操作クラス（１００５）からみると画像形成装置（１）が利用者から文書操作の押下を検知する選択検知としての役割を有しており、一方、文書操作クラス（１００５）は、ボタンクラス（１００７）からみると受け付けたボタンに対応する選択対象としての役割を有している。このようなクラス関係によりボタンクラス（１００７）で受け付けたボタンの押下から、文書操作が選択された要求を、文書操作クラス（１００５）が受け取り、選択された文書操作に基づいて実際に処理を行うアプリケーションへの特定することが可能となる。
【０１５６】
また、文書操作クラス（１００５）をＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトは１個以上、上限数なしの範囲で存在する。そして、ボタンクラス（１００７）を実体化したオブジェクトと、文書操作クラス（１００５）を実体化したオブジェクトは１：１の関係になる。これにより、文書操作に対応するボタンが存在する。そして、文書操作とボタンとの対応が明確なので、文書操作を示したボタンが押下された場合、対応する文書操作が選択されたものとして処理を行うことが可能となる。
【０１５７】
次に、ボタンクラス（１００７）と文書形態操作クラス（１００６）とのクラス関係について説明する。
【０１５８】
ボタンクラス（１００７）は、文書形態操作クラス（１００６）からみると画像形成装置（１）が利用者から文書形態操作の押下を検知する選択検知としての役割を有しており、一方、文書形態操作クラス（１００６）は、ボタンクラス（１００７）からみると受け付けたボタンに対応する選択対象としての役割を有している。このようなクラス関係によりボタンクラス（１００７）で受け付けたボタンの押下から、特定される文書形態操作を選択する要求を、文書形態操作クラス（１００６）が受け取り、選択された文書形態操作に基づいて実際に処理を行うアプリケーションへの特定することが可能となる。
【０１５９】
また、文書形態操作クラス（１００６）をＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトは１個以上、上限数なしの範囲で存在する。そして、ボタンクラス（１００７）を実体化したオブジェクトと、文書形態操作クラス（１００６）を実体化したオブジェクトは１：１の関係になる。これにより、文書形態操作に対応するボタンが存在する。そして、文書形態操作とボタンとの対応が明確なので、文書形態操作を示したボタンが押下された場合、対応する文書形態操作が選択されたものとして処理を行うことが可能となる。
【０１６０】
次に、従来アプリケーションクラス（１００２）とアプリケーションクラス（１００１）とのクラス関係について説明する。
【０１６１】
従来アプリケーションクラス（１００２）は、アプリケーションクラス（１００１）からみると従来のアプリケーションから実際に処理を行うアプリケーションを指定する選択候補指定としての役割を有しており、一方、アプリケーションクラス（１００１）は、従来アプリケーションクラス（１００２）からみると実際に処理を行うアプリケーションとしての選択候補としての役割を有している。このようなクラス関係により選択された従来アプリケーションクラス（１００２）から実際に処理を行う候補としての指定を、アプリケーションクラス（１００１）が受け取る。そして、指定されたアプリケーションクラス（１００１）に対応付けられたアプリケーションが選択されることとなる。
【０１６２】
また、従来アプリケーションクラス（１００２）をＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトは１個以上、上限数なしの範囲で存在する。そして、アプリケーションクラス（１００１）を実体化したオブジェクトと、従来アプリケーションクラス（１００２）を実体化したオブジェクトはｎ：１の関係になる。つまり、選択された従来アプリケーションに対して実際に処理を行うアプリケーションの候補が少なくとも１つ以上存在する。これにより、従来アプリケーションに対応するアプリケーションの候補が１つ以上選択される。
【０１６３】
次に、文書操作クラス（１００５）とアプリケーションクラス（１００１）とのクラス関係について説明する。
【０１６４】
文書操作クラス（１００５）は、アプリケーションクラス（１００１）からみると文書操作に基づいて実際に処理を行うアプリケーションを指定する選択候補指定としての役割を有しており、一方、アプリケーションクラス（１００１）は、文書操作クラス（１００５）からみると実際に処理を行うアプリケーションとしての選択候補としての役割を有している。このようなクラス関係により選択された文書操作クラス（１００５）から実際に処理を行う候補としての指定を、アプリケーションクラス（１００１）が受け取る。そして、指定されたアプリケーションクラス（１００１）に対応付けられたアプリケーションが選択されることとなる。
【０１６５】
そして、アプリケーションクラス（１００１）を実体化したオブジェクトと、文書操作クラス（１００５）を実体化したオブジェクトはｎ：ｍの関係になる。そこで、アプリケーションクラス（１００１）と、文書操作クラス（１００５）の関連付けの情報を、関連クラスである文書操作アプリケーションクラス（１００３）が保持することとする。また、この文書操作アプリケーションクラス（１００３）は、ＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトが１個だけ存在する。
【０１６６】
この文書操作アプリケーションクラス（１００３）を実体化したオブジェクトにより、選択された文書操作クラス（１００５）を実体化したオブジェクトの組み合せから、アプリケーションクラス（１００１）を実体化したオブジェクトを１つ以上特定することができる。つまり、利用者に選択された文書操作の組み合せから、実際に処理を行うアプリケーションの候補を１つ以上選択することになる。
【０１６７】
次に、文書形態操作クラス（１００６）とアプリケーションクラス（１００１）とのクラス関係について説明する。
【０１６８】
文書形態操作クラス（１００６）は、アプリケーションクラス（１００１）からみると、文書形態操作に基づいて実際に処理を行うアプリケーションを指定する選択候補指定としての役割を有しており、一方、アプリケーションクラス（１００１）は、文書形態操作クラス（１００６）からみると実際に処理を行うアプリケーションとしての選択候補としての役割を有している。このようなクラス関係により選択された文書形態操作クラス（１００６）から実際に処理を行う候補としての指定を、アプリケーションクラス（１００１）が受け取る。そして、指定されたアプリケーションクラス（１００１）に対応付けられたアプリケーションが選択されることになる。
【０１６９】
そして、アプリケーションクラス（１００１）を実体化したオブジェクトと、文書形態操作クラス（１００６）を実体化したオブジェクトはｎ：ｍの関係になる。そこで、アプリケーションクラス（１００１）と、文書形態操作クラス（１００６）の関連付けの情報を、関連クラスである文書形態操作アプリケーションクラス（１００４）が保持することとする。また、この文書形態操作アプリケーションクラス（１００４）は、ＲＡＭ（１２ｂ）上に展開（実体化）したオブジェクトが１個だけ存在する。
【０１７０】
この文書形態操作アプリケーションクラス（１００４）を実体化したオブジェクトにより、選択された文書形態操作クラス（１００６）を実体化したオブジェクトの組み合せから、アプリケーションクラス（１００１）を実体化したオブジェクトを１つ以上特定することが可能となる。つまり、利用者に選択された文書形態操作の組み合せから、実際に処理を行うアプリケーションの候補を１つ以上選択されることになる。
【０１７１】
次に、文書操作クラス（１００５）と文書形態操作クラス（１００６）とのクラス関係について説明する。
【０１７２】
文書操作クラス（１００５）は、文書形態操作クラス（１００６）からみると形態が集約された総称としての役割を有しており、一方、文書形態操作クラス（１００６）は、文書操作クラス（１００５）からみると構成要素としての役割を有している。
【０１７３】
そして、文書操作クラス（１００５）を実体化したオブジェクトと、文書形態操作クラス（１００６）を実体化したオブジェクトは１：ｎの関係になる。つまり、文書操作を詳細な構成要素に分割したものが文書形態操作となる。これにより、文書操作の組み合せを選択して対応するアプリケーションを選択した後で、文書操作を構成する文書形態操作を選択することで既に選択されたアプリケーションから、さらにアプリケーションを選択することが可能となる。
【０１７４】
例えば、入力文書と出力文書の組み合せを選択した後、入力文書のスキャンを文書形態操作として選択した場合、入力文書のスキャンと、出力文書の印刷又は送信の組み合せが選択されることとなる。そして文書形態操作アプリケーションオブジェクト（１００４Ａ）によりこの組み合せに対応するアプリケーションを選択することが可能となる。このように文書操作の組み合せを選択した後、文書形態操作を選択することでさらにアプリケーションを絞り込むことが可能となる。これにより、利用者の利便を向上させることが可能となる。
【０１７５】
図１３は、本実施形態のアプリケーション選択部（２１１）でアプリケーションを選択する際、表示制御部（２１２）が液晶タッチパネル（４２０）に表示する画面例を示した図である。
【０１７６】
図１３に示すように、表示制御部（２１２）は、液晶タッチパネル（４２０）に文書操作と文書形態操作の選択を受け付けるボタン群（１１０１）と、実際に処理を行うアプリケーション一覧（１１０２）を表示する制御を行う。
【０１７７】
そして、文書操作と文書形態操作の選択を受け付けるボタン群（１１０１）の各ボタンと、コピーキー（４０１）と、ファックスキー（４０２）と、スキャナキー（４０３）と、プリンタキー（４０４）と、ドキュメントボックスキー（４０５）には、アプリケーション選択部（２１１）で対応するボタンオブジェクト（１００７Ａ）が生成されている。そして、何れかのボタン又はキーが押下された場合に、対応するボタンオブジェクト（１００７Ａ）の『押下()』（１００７ｃ）が呼び出されて、アプリケーションを選択するための処理が開始される。
【０１７８】
図１４は、本実施形態のアプリケーション選択部（２１１）で文書操作に基づいてアプリケーションを選択する際、表示制御部（２１２）が液晶タッチパネル（４２０）に表示する画面例を示した図である。図１４に示すように、入力文書を示すボタン（１２０１）と、出力文書を示すボタン（１２０２）を利用者が押下した場合、表示制御部（２１２）は、入力文書と出力文書の組み合せにより選択されるアプリケーションを、アプリケーション一覧（１１０２）で色を変更して表示する。
【０１７９】
入力文書を示すボタン（１２０１）及び出力文書を示すボタン（１２０２）に対応するボタンオブジェクト（１００７Ａ）の『押下()』（１００７ｃ）が呼び出された後、対応する文書操作オブジェクト（１００５Ａ）の『決定()』（１００５ｃ）が呼び出される。そして、文書操作アプリケーションオブジェクト（１００３Ａ）が保持する対応付けから、押下された文書操作の組み合せに対応付けられたアプリケーションオブジェクト（１００１Ａ）が特定される。そして、特定されたアプリケーションオブジェクト（１００１Ａ）の『選択()』（１００１）が呼び出され、アプリケーションが選択されたことになる。つまり、文書操作アプリケーションオブジェクト（１００３Ａ）が保持している図１１で示した文書操作とアプリケーション番号との対応関係から、選択された入力文書と出力文書の組み合せに対応するアプリケーション番号‘１’、‘２’、‘５’…が選択される。
【０１８０】
図１５は、本実施形態のアプリケーション選択部（２１１）で文書形態操作に基づいてアプリケーションを選択する際、表示制御部（２１２）が液晶タッチパネル（４２０）に表示する画面例を示した図である。図１５に示すように、“scan"ボタン（１３０１）と、“store"ボタン（１３０２）と、“print"ボタン（１３０３）と、を利用者が押下した場合、表示制御部（２１２）は、ボタンに対応する文書形態操作の組み合せにより選択されるアプリケーションを、アプリケーション一覧（１１０２）で色を変更して表示する。
【０１８１】
“scan"ボタン（１３０１）、“store"ボタン（１３０２）、“print"ボタン（１３０３）に対応するボタンオブジェクト（１００７Ａ）の『押下()』（１００７ｃ）が呼び出された後、対応する文書形態操作オブジェクト（１００６Ａ）の『決定()』（１００６ｃ）が呼び出される。そして、文書形態操作アプリケーションオブジェクト（１００４Ａ）が保持する対応付けから、押下された文書形態操作の組み合せに対応付けられたアプリケーションオブジェクト（１００１Ａ）が特定される。そして、特定されたアプリケーションオブジェクト（１００１Ａ）の『選択()』（１００１）が呼び出され、アプリケーションが選択されたこととなる。つまり、文書形態操作アプリケーションオブジェクト（１００４Ａ）が保持している図１１で示した文書形態操作とアプリケーション番号の対応関係から、選択された入力文書と出力文書の組み合せに対応するアプリケーション番号‘３’が選択される。
【０１８２】
図１６は、本実施形態のアプリケーション選択部（２１１）で従来のアプリケーションキーの押下からアプリケーションを選択する際、表示制御部（２１２）が液晶タッチパネル（４２０）に表示する画面例を示した図である。図１６に示すように、コピーキー（４０１）を利用者が押下した場合、表示制御部（２１２）は、従来アプリケーション『コピー』に対応するアプリケーションを、アプリケーション一覧（１１０２）で色を変更して表示する。
【０１８３】
コピーキー（４０１）に対応するボタンオブジェクト（１００７Ａ）の『押下()』（１００７ｃ）が呼び出された後、対応する従来アプリケーションオブジェクト（１００２Ａ）の『決定()』（１００２ｃ）が呼び出される。そして、従来アプリケーションオブジェクト（１００２Ａ）が保持する対応アプリケーションＩＤ（１００２ｂ）から、押下されたアプリケーションキーに対応付けられたアプリケーションオブジェクト（１００１Ａ）が特定される。そして、特定されたアプリケーションオブジェクト（１００１Ａ）の『選択()』（１００１）が呼び出され、アプリケーションが選択されたこととなる。つまり、従来アプリケーションオブジェクト（１００２Ａ）が保持している対応アプリケーションＩＤ（１００２ｂ）から、押下されたアプリケーションキーに対応するアプリケーション番号‘１’、‘３’…が選択される。
【０１８４】
図１７は、ボタンクラス（１００７）、文書操作クラス（１００５）、文書操作アプリケーションクラス（１００３）、アプリケーションクラス（１００１）のオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調（コラボレーション）図である。ここで、メッセージとは、オブジェクトが内部に有する操作の呼び出しのことであり、たとえば、オブジェクトＡがオブジェクトＢの操作Ｂ１を呼び出したときに、オブジェクトＡはオブジェクトＢにメッセージを送信した、ということが可能となる。
【０１８５】
そして、あるオブジェクトが別のオブジェクトにメッセージを送信することにより、このメッセージを受信したオブジェクトは、内部の属性（データ）を変化させたり、かかるメッセージに対する応答を返信したり、他のメッセージを送信したりする。このようにして、各オブジェクトは協調して処理を進めていく。
【０１８６】
そして、図１７は、利用者が文書操作を示したボタンを押下してから、アプリケーションが選択されるまでに呼び出されるオブジェクトと、オブジェクト間の流れを示している。
【０１８７】
かかる文書操作に基づくアプリケーションの選択は、図６に示す液晶タッチパネル（４２０）の文書操作を示すボタンの押下により発生する。なお、図１７においては説明を容易にするために、各オブジェクトの詳細な属性及び操作の記載は省略している。
【０１８８】
まず、図１７に付された各記号の説明をする。内部にアンダーラインを伴った文字列を有する矩形はオブジェクトを示し、アンダーラインを伴った文字列のうちコロン（：）を含むものは、コロンより前がオブジェクト名を、コロンより後ろが、かかるオブジェクトが属するクラスを示す。そして、矢印はオブジェクト間のメッセージを示し、この矢印の近辺に記された、たとえば、『１：押下（）』の文字列は、『１』が図１７中におけるメッセージの相対的順序を示し、『押下（）』がかかるメッセージの内容を示す。また、各オブジェクトを結ぶ線は、各オブジェクトに関係があることを示しており、かかる線に沿って、操作の呼び出しなどのメッセージの送受信が行われる。次に、図１７を参照しながら、メッセージの流れに従って説明する。
【０１８９】
まず、入力文書ボタンを示したボタンオブジェクト（以下、入力文書ボタンオブジェクトとする）（１００７Ａａ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１５０１）。そして、入力文書ボタンオブジェクト（１００７Ａａ）は、対応付けられている入力文書を示した文書操作オブジェクト（１００５Ａａ）（以下、入力文書オブジェクトとする）に対して、『決定()』（１００５ｃ）を呼び出して、入力文書が選択されたことをメッセージで知らせる（ステップＳ１５０２）。
【０１９０】
そして、入力文書オブジェクト（１００５Ａａ）は、文書操作アプリケーションオブジェクト（１００３Ａ）に対して、『決定()』（１００３ｃ）を呼び出す（ステップＳ１５０３）。この際、『文書操作ＩＤ』（１００５ａ）を引数として渡すことで、文書操作アプリケーションオブジェクト（１００３Ａ）は、利用者に選択された文書操作を特定することが可能となる。
【０１９１】
次に、出力文書ボタン示したボタンオブジェクト（以下、出力文書ボタンオブジェクトとする）（１００７Ａｂ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１５０４）。そして、出力文書ボタンオブジェクト（１００７Ａｂ）は、対応付けられている出力文書を示した文書操作オブジェクト（１００５Ａｂ）（以下、出力文書オブジェクトとする）に対して、『決定()』（１００５ｃ）を呼び出して、出力文書が選択されたことをメッセージで知らせる（ステップＳ１５０５）。
【０１９２】
そして、出力文書オブジェクト（１００５Ａｂ）は、文書操作アプリケーションオブジェクト（１００３Ａ）に対し、『決定()』（１００３ｃ）を呼び出す（ステップＳ１５０６）。この際、『文書操作ＩＤ』（１００５ａ）を引数として渡すことで、文書操作アプリケーションオブジェクト（１００３Ａ）は、利用者に選択された文書操作を特定することが可能となる。
【０１９３】
これにより、文書操作アプリケーションオブジェクト（１００３Ａ）は、保持している『文書操作ＩＤ』（１００３ｂ）と『アプリケーションＩＤ』（１００３ａ）との対応付けと、受け取った文書操作ＩＤの組み合せにより、選択するアプリケーションを示したアプリケーションＩＤを特定することが可能となる。これにより、文書操作アプリケーションオブジェクト（１００３Ａ）は、特定されたアプリケーションＩＤに対応するアプリケーションオブジェクト（１００１）の『選択（）』（１００１ｄ）を呼び出すことが可能となる。
【０１９４】
そこで、文書操作アプリケーションオブジェクト（１００３Ａ）は、『scan to print』を示したアプリケーションオブジェクト（１００１Ａａ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１５０７）。そして、文書操作アプリケーションオブジェクト（１００３Ａ）は、『scan to send』を示したアプリケーションオブジェクト（１００１Ａｂ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１５０８）。さらに、文書操作アプリケーションオブジェクト（１００３Ａ）は、『receive to print』を示したアプリケーションオブジェクト（１００１Ａｃ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１５０９）。なお、説明は省略するが、文書操作アプリケーションオブジェクト（１００３Ａ）は、上記以外のオブジェクトであり、特定されたアプリケーションＩＤに対応付けられた全てのアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出す。
【０１９５】
このように『選択（）』（１００１ｄ）を呼び出すことでアプリケーションオブジェクト（１００１Ａ）に対応するアプリケーションが選択されたこととなる。つまり、画像形成装置（１）は、利用者による文書操作の組み合せで、アプリケーションを選択することが可能となる。
【０１９６】
図１８は、ボタンクラス（１００７）、文書形態操作クラス（１００６）、文書形態操作アプリケーションクラス（１００４）、アプリケーションクラス（１００１）のオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調（コラボレーション）図である。図１８は、利用者が文書形態操作を示したボタンを押下してから、アプリケーションが選択されるまでに呼び出されるオブジェクトと、オブジェクト間の流れを示している。
【０１９７】
まず、“scan"ボタン示したボタンオブジェクト（以下、“scan"ボタンオブジェクトとする）（１００７Ａａ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１６０１）。そして、“scan"ボタンオブジェクト（１００７Ａａ）は、対応付けられている文書形態操作“scan"に対応する文書形態操作オブジェクト（１００６Ａａ）（以下、“scan"オブジェクトとする）に対して、『決定()』（１００６ｃ）を呼び出して、文書形態操作“scan"が選択されたことをメッセージで知らせる（ステップＳ１６０２）。
【０１９８】
そして、“scan"オブジェクト（１００６Ａａ）は、文書形態操作アプリケーションオブジェクト（１００４Ａ）に対して、『決定()』（１００４ｃ）を呼び出す（ステップＳ１６０３）。この際、“scan"オブジェクト（１００６Ａｃ）は、『文書形態操作ＩＤ』（１００６ａ）を引数として渡す。これにより、文書形態操作オブジェクト（１００６Ａ）は、利用者に選択された文書形態操作を特定することが可能となる。
【０１９９】
次に、“store"ボタン示したボタンオブジェクト（以下、“store"ボタンオブジェクトとする）（１００７Ａｄ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１６０４）。そして、“store"ボタンオブジェクト（１００７Ａｄ）は、対応付けられている文書形態操作“store"に対応する文書形態操作オブジェクト（１００６Ａｂ）（以下、“store"オブジェクトとする）に対して、『決定()』（１００６ｃ）を呼び出し、文書形態操作“store"が選択されたことをメッセージで知らせる（ステップＳ１６０５）。
【０２００】
そして、“store"オブジェクト（１００６Ａｃ）は、文書形態操作アプリケーションオブジェクト（１００４Ａ）に対し、『決定()』（１００４ｃ）を呼び出す（ステップＳ１６０６）。この際、“store"オブジェクト（１００６Ａｃ）は、『文書形態操作ＩＤ』（１００６ａ）を引数として渡す。これにより、文書形態操作オブジェクト（１００６Ａ）は、利用者に選択された文書形態操作を特定することが可能となる。
【０２０１】
次に、“print"ボタン示したボタンオブジェクト（以下、“print"ボタンオブジェクトとする）（１００７Ａｅ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１６０７）。そして、“print"ボタンオブジェクト（１００７Ａｅ）は、対応付けられている文書形態操作“print"に対応する文書形態操作オブジェクト（１００６Ａｃ）（以下、“print"オブジェクトとする）に対して、『決定()』（１００６ｃ）を呼び出し、文書形態操作“print"が選択されたことをメッセージで知らせる（ステップＳ１６０８）。
【０２０２】
そして、“print"オブジェクト（１００６Ａｃ）は、文書形態操作アプリケーションオブジェクト（１００４Ａ）に対し、『決定()』（１００４ｃ）を呼び出す（ステップＳ１６０９）。この際、“print"オブジェクト（１００６Ａｃ）は、文書形態操作ＩＤ（１００６ａ）を引数として渡す。これにより、文書形態操作オブジェクト（１００６Ａ）は、利用者に選択された文書形態操作を特定することが可能となる。
【０２０３】
これにより、文書形態操作アプリケーションオブジェクト（１００４Ａ）は、保持している『文書形態操作ＩＤ』（１００４ｂ）と『アプリケーションＩＤ』（１００４ａ）との対応付けと、受け取った文書形態操作ＩＤの組み合せにより、選択するアプリケーションを示したアプリケーションＩＤを特定することが可能となる。これにより、文書形態操作アプリケーションオブジェクト（１００４Ａ）は、特定されたアプリケーションＩＤに対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出すことが可能となる。
【０２０４】
そこで、文書形態操作アプリケーションオブジェクト（１００４Ａ）は、『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｄ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１６１０）。
【０２０５】
このように、『選択（）』（１００１ｄ）を呼び出すことでアプリケーションオブジェクト（１００１Ａ）に対応するアプリケーションが選択されたことになる。つまり、画像形成装置（１）は、利用者による文書形態操作の組み合せで、アプリケーションを選択することが可能となる。
【０２０６】
図１９は、ボタンクラス（１００７）、従来アプリケーションクラス（１００２）、アプリケーションクラス（１００１）のオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調（コラボレーション）図を示しており、利用者が従来アプリケーションを示したボタンを押下してから、アプリケーションが選択されるまでに呼び出されるオブジェクトと、オブジェクト間の流れを示している。
【０２０７】
まず、コピーボタン示したボタンオブジェクト（以下、コピーボタンオブジェクトとする）（１００７Ａｆ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１７０１）。そして、コピーボタンオブジェクト（１００７Ａｆ）は、対応付けられているコピーを示した従来アプリケーション（１００２Ａａ）（以下、コピーオブジェクトとする）に対し、『決定()』（１００２ｃ）を呼び出し、コピーが選択されたことをメッセージで知らせる（ステップＳ１７０２）。
【０２０８】
そして、コピーオブジェクト（１００２Ａａ）は、保持している対応アプリケーションＩＤ（１００２ａ）を参照することで、対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出すことが可能となる。
【０２０９】
そこで、コピーオブジェクト（１００２Ａａ）は、『scan to print』を示したアプリケーションオブジェクト（１００１Ａｅ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１７０３）。そして、コピーオブジェクト（１００２Ａａ）は、『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｆ）の『選択()』（１００１ｄ）を呼び出す（ステップＳ１７０４）。なお、説明は省略するが、コピーオブジェクト（１００２Ａａ）は、上記以外にも保持していた対応アプリケーションＩＤ（１００２ａ）に対応付けられた全てのアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出す。
【０２１０】
このように、『選択（）』（１００１ｄ）を呼び出すことでアプリケーションオブジェクト（１００１Ａ）に対応するアプリケーションが選択されたこととなる。つまり、画像形成装置（１）は、利用者が従来のアプリケーションを示したキーを押下した場合でも、新たに設けられたアプリケーションを選択することが可能となる。
【０２１１】
本実施形態における画像形成装置（１）は、利用者から入力を受け付けた文書操作又は文書形態操作の組み合せに基づいてアプリケーションを選択することで、利用者が要求する処理を行うアプリケーションを容易に選択することが可能となる。
【０２１２】
また、画像形成装置（１）は、従来の画像形成装置で用いられたファックス、スキャナという個別のアプリケーションとしての設定値に、追加又は拡張した機能を積み増したインターフェースから解放し、画像形成装置（１）に用いられている入力機器、出力機器を使用するアプリケーション選択部（２１１）に対応するインターフェースを提供することで利便性を向上させることが可能となる。
【０２１３】
また、文書操作又は文書形態操作の組み合せでアプリケーションを選択するインターフェースを提供する際、利用者は、従来のインターフェースによる操作になじんでいるため、突然変更されると混乱が生じる虞がある。このため、本実施形態の画像形成装置（１）のインターフェースとして、従来のアプリケーションを示したキーを表示し、この従来のアプリケーションを示したキーから、アプリケーションの選択するように構築した。これにより、従来から使用してきた利用者でも容易に使用することが可能となる。
【０２１４】
換言すると、画像形成装置（１）に用いられている入力機器、出力機器から考えられる統合アプリケーションとしてのユーザインターフェイスの概念と、従来のユーザインターフェイスの概念との間にあるギャップを埋めることが可能となる。
【０２１５】
また、画像形成装置（１）がアプリケーションの選択する際に複数の方法を提供することで、利用者の好みに応じたアプリケーションの選択が可能となる。
【０２１６】
（第２の実施形態）
次に、第２の実施形態について説明する。
【０２１７】
第１の実施形態の画像形成装置（１）は、アプリケーション選択部（２１１）が、利用者からの入力を受け付けた場合に、実際に処理を行うアプリケーションを選択する処理を行い、アプリケーション選択部（２１１）がアプリケーションを選択した場合に、実行系サブシステム（２０３）に含まれているアプリケーションの中から選択されたアプリケーションで処理を行うことにしたが、第２の実施形態の画像形成装置（１）は、アプリケーション選択部（２１１）がアプリケーションを選択した場合に、処理を行ったアプリケーションの履歴管理を行うことを特徴とするものである。以下、図２０〜図２３を参照しながら、第２の実施形態の画像形成装置（１）について詳細に説明する。
【０２１８】
図２０は、第２の実施形態の画像形成装置（１）のアプリケーション選択部（２１１）が備えるクラス構成をＵＭＬのクラスで示した図である。図２０に示すように、アプリケーション選択部（２１１）は、アプリケーションクラス（１００１）と、従来アプリケーションクラス（１００２）と、文書操作アプリケーションクラス（１００３）と、文書形態操作アプリケーションクラス（１００４）と、文書操作クラス（１００５）と、文書形態操作クラス（１００６）と、ボタンクラス（１００７）と、履歴クラス（１００８）と、個人認証クラス（１００９）と、を備えている。第２の実施形態における画像形成装置（１）は、図２０に示すクラス構成を備えることで、利用者の要求に適したアプリケーションが使用された際に、その使用されたアプリケーションの履歴管理を行うことが可能となる。
【０２１９】
＜履歴クラス１００８＞
履歴クラス（１００８）は、利用者の要求に適したアプリケーションが使用された際に、その使用されたアプリケーションの履歴管理を行うクラスである。具体的には、この履歴クラス（１００８）は、属性として、『個人認証ＩＤ』（１００８ａ）、『アプリケーションＩＤ』（１００８ｂ）を有し、操作として、『決定（）』（１００８ｃ）、『取消（）』（１００８ｄ）を有している。なお、履歴クラス（１００８）を実体化したオブジェクトが生成されると、『個人認証ＩＤ』（１００８ａ）、『アプリケーションＩＤ』（１００８ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０２２０】
『個人認証ＩＤ』（１００８ａ）は、利用者を識別するＩＤを保持している。本実施形態において、利用者を識別するＩＤとしては、ログイン名、パスワードが適用可能である。
【０２２１】
『アプリケーションＩＤ』（１００８ｂ）は、利用者から受け付けたアプリケーションのＩＤを保持している。
【０２２２】
『決定（）』（１００８ｃ）は、利用者から受け付けたアプリケーションの履歴登録を行う。具体的には、『決定（）』（１００８ｃ）が呼び出された場合、呼び出された履歴オブジェクト（１００８Ａ）は、引数に『アプリケーションＩＤ』（１００８ｂ）を設定し、アプリケーションオブジェクト（１００１Ａ）の『決定（）』（１００１ｃ）を呼び出す。
【０２２３】
『取消（）』（１００８ｄ）は、利用者から受け付けたアプリケーションの履歴解除を行う。具体的には、『取消（）』（１００８ｄ）が呼び出された場合、呼び出された履歴オブジェクト（１００８Ａ）は、引数に『アプリケーションＩＤ』（１００８ｂ）を設定し、アプリケーションオブジェクト（１００１Ａ）の『取消（）』（１００１ｄ）を呼び出す。
【０２２４】
＜個人認証クラス１００９＞
個人認証クラス（１００９）は、利用者の個人認証の管理を行うクラスである。具体的には、この個人認証クラス（１００９）は、属性として、『個人認証ＩＤ』（１００９ａ）、『アプリケーションＩＤ』（１００９ｂ）を有し、操作として、『決定（）』（１００９ｃ）、『取消（）』（１００９ｄ）を有している。なお、個人認証クラス（１００９）を実体化したオブジェクトが生成されると、『個人認証ＩＤ』（１００９ａ）、『アプリケーションＩＤ』（１００９ｂ）は、ＲＡＭ（１２ｂ）上に展開されるので、これらのデータ（属性）の書き込み及び読み出しをすることが可能となる。
【０２２５】
『個人認証ＩＤ』（１００９ａ）は、利用者を識別するＩＤを保持している。本実施形態において、利用者を識別するＩＤとしては、ログイン名、パスワードが適用可能である。
【０２２６】
『アプリケーションＩＤ』（１００９ｂ）は、利用者から受け付けたアプリケーションのＩＤを保持している。
【０２２７】
『決定（）』（１００９ｃ）は、利用者から受け付けた個人認証の特定処理を行う。具体的には、『決定（）』（１００９ｃ）が呼び出された場合、呼び出された個人認証オブジェクト（１００９Ａ）は、引数に『個人認証ＩＤ』（１００９ａ）を設定し、履歴オブジェクト（１００８Ａ）の『決定（）』（１００８ｃ）を呼び出す。
【０２２８】
『取消（）』（１００９ｄ）は、利用者から受け付けた個人認証の解除処理を行う。具体的には、『取消（）』（１００９ｄ）が呼び出された場合、呼び出された個人認証オブジェクト（１００９Ａ）は、引数に『個人認証ＩＤ』（１００９ａ）を設定し、履歴オブジェクト（１００８Ａ）の『取消（）』（１００８ｄ）を呼び出す。
【０２２９】
図２１は、本実施形態のアプリケーション選択部（２１１）で、従来のアプリケーションキーの押下からアプリケーションを選択する際、表示制御部（２１２）が、過去の利用頻度の多い順に、液晶タッチパネル（４２０）上に表示する画面例を示した図である。図２１に示すように、コピーキー（４０１）を利用者が押下した場合、表示制御部（２１２）は、従来アプリケーション『コピー』に対応するアプリケーションを、アプリケーション一覧（１１０２）で色を変更し、過去の利用頻度の多い順に表示する。
【０２３０】
コピーキー（４０１）に対応するボタンオブジェクト（１００７Ａ）の『押下()』（１００７ｃ）が呼び出された後、対応する従来アプリケーションオブジェクト（１００２Ａ）の『決定()』（１００２ｃ）が呼び出される。そして、従来アプリケーションオブジェクト（１００２Ａ）が保持する対応アプリケーションＩＤ（１００２ｂ）から、押下されたアプリケーションキーに対応付けられたアプリケーションオブジェクト（１００１Ａ）が特定される。そして、特定されたアプリケーションオブジェクト（１００１Ａ）の『選択()』（１００１）が呼び出され、アプリケーションが選択されることとなる。つまり、従来アプリケーションオブジェクト（１００２Ａ）が保持している対応アプリケーションＩＤ（１００２ｂ）から、押下されたアプリケーションキーに対応するアプリケーション番号‘１’、‘３’…が選択される。そして、その押下されたアプリケーションキーに対応するアプリケーション番号‘１’『scan to print』、‘３’『scan to store & print』を、過去の利用頻度の多い順に表示することになり、アプリケーション番号‘３’『scan to store & print』、‘１’『scan to print』の順に表示することになる。
【０２３１】
図２２は、ボタンクラス（１００７）、従来アプリケーションクラス（１００２）、アプリケーションクラス（１００１）、履歴クラス（１００８）、個人認証クラス（１００９）のオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調（コラボレーション）図を示しており、利用者が従来アプリケーションを示したボタンを押下してから、アプリケーションを選択した後、利用者が実際に使用したアプリケーションを履歴として登録するまでに呼び出されるオブジェクトと、オブジェクト間の流れを示している。
【０２３２】
まず、個人認証オブジェクト（１００９Ａｆ）は、利用者から『特定（）』により呼び出される（ステップＳ１８０１）。これにより、個人認証オブジェクト（１００９Ａｆ）は、利用者の個人認証を決定し（ステップＳ１８０２）、その利用者の使用したアプリケーションを利用履歴として管理することが可能となる。なお、利用者毎の利用履歴は、利用者毎に識別することが可能な識別情報（ログイン名、パスワード）により管理することになる。
【０２３３】
次に、コピーボタン示したボタンオブジェクト（以下、コピーボタンオブジェクトとする）（１００７Ａｆ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１８０３）。そして、コピーボタンオブジェクト（１００７Ａｆ）は、対応付けられているコピーを示した従来アプリケーション（１００２Ａａ）（以下、コピーオブジェクトとする）に対し、『決定()』（１００２ｃ）を呼び出し、コピーが選択されたことをメッセージで知らせる（ステップＳ１８０４）。
【０２３４】
そして、コピーオブジェクト（１００２Ａａ）は、保持している対応アプリケーションＩＤ（１００２ａ）を参照することで、対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出すことが可能となる。
【０２３５】
そこで、コピーオブジェクト（１００２Ａａ）は、『scan to print』を示したアプリケーションオブジェクト（１００１Ａｅ）の『選択()』（１００１ｄ）を呼び出すことになる（ステップＳ１８０５）。また、コピーオブジェクト（１００２Ａａ）は、『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｆ）の『選択()』（１００１ｄ）を呼び出すことになる（ステップＳ１８０６）。
【０２３６】
次に、『scan to store & print』ボタンを示したボタンオブジェクト（以下、『scan to store & print』ボタンオブジェクトとする）（１００７Ａｆ）は、利用者から『押下（）』（１００７ｃ）により呼び出され（ステップＳ１８０７）、『scan to store & print』ボタンオブジェクト（１００７Ａｆ）は、『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｆ）に対し、『決定（）』（１００２ｃ）を呼び出し、『scan to store & print』が使用されたことをメッセージで知らせる（ステップＳ１８０８）。そして、『scan to store & print』ボタンオブジェクト（１００７Ａｆ）により呼び出された『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｆ）は、ステップＳ１８０２で決定された利用者の個人認証と関連づけて過去の利用履歴として登録されることになる（ステップＳ１８０９）。
【０２３７】
このように、第２の実施形態における画像形成装置（１）は、入出力統合アプリケーションの中から利用者が実行した『アプリケーション』と、利用者を特定するための『個人認証』と、を関連づけて『利用履歴』として登録管理することで、統合アプリケーションを利用した利用頻度を利用者毎に管理し、統合アプリケーションの操作性（統合アプリケーションの選択時間の短縮）を向上させることが可能となる。
【０２３８】
図２３は、ボタンクラス（１００７）、従来アプリケーションクラス（１００２）、アプリケーションクラス（１００１）、履歴クラス（１００８）、個人認証クラス（１００９）のオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調（コラボレーション）図を示しており、利用者が従来アプリケーションを示したボタンを押下し、アプリケーションを選択した後、各々のアプリケーションの利用頻度を確認するまでに呼び出されるオブジェクトと、オブジェクト間の流れを示している。
【０２３９】
まず、個人認証オブジェクト（１００９Ａｆ）は、利用者から『特定（）』により呼び出される（ステップＳ１９０１）。これにより、個人認証オブジェクト（１００９Ａｆ）は、利用者の個人認証を決定し（ステップＳ１９０２）、その利用者の使用したアプリケーションを利用履歴として呼び出すことが可能となる。
【０２４０】
次に、コピーボタン示したボタンオブジェクト（以下、コピーボタンオブジェクトとする）（１００７Ａｆ）は、利用者から『押下（）』（１００７ｃ）により呼び出される（ステップＳ１９０３）。そして、コピーボタンオブジェクト（１００７Ａｆ）は、対応付けられているコピーを示した従来アプリケーション（１００２Ａａ）（以下、コピーオブジェクトとする）に対し、『決定()』（１００２ｃ）を呼び出し、コピーが選択されたことをメッセージで知らせる（ステップＳ１９０４）。
【０２４１】
そして、コピーオブジェクト（１００２Ａａ）は、保持している対応アプリケーションＩＤ（１００２ａ）を参照することで、対応するアプリケーションオブジェクト（１００１Ａ）の『選択（）』（１００１ｄ）を呼び出すことが可能となる。
【０２４２】
そこで、コピーオブジェクト（１００２Ａａ）は、『scan to print』を示したアプリケーションオブジェクト（１００１Ａｅ）の『選択()』（１００１ｄ）を呼び出すことになる（ステップＳ１９０５）。また、コピーオブジェクト（１００２Ａａ）は、『scan to store & print』を示したアプリケーションオブジェクト（１００１Ａｆ）の『選択()』（１００１ｄ）を呼び出すことになる（ステップＳ１９０６）。
【０２４３】
次に、『scan to print』ボタンオブジェクト（１００７Ａｆ）は、ステップＳ１９０２で決定された利用者の個人認証と関連づけて管理されている過去の利用履歴を参照し、『scan to print』ボタンオブジェクトの利用回数を確認することになる（ステップＳ１９０７）。また、『scan to store & print』ボタンオブジェクト（１００７Ａｆ）は、ステップＳ１９０２で決定された利用者の個人認証と関連づけて管理されている過去の利用履歴を参照し、『scan to store & print』ボタンオブジェクトの利用回数を確認することになる（ステップＳ１９０８）。
【０２４４】
このように、第２の実施形態における画像形成装置（１）は、入出力統合アプリケーションの中から利用者が実行した『アプリケーション』と、利用者を特定するための『個人認証』と、を関連づけて『利用履歴』として登録管理することで、アプリケーションの選択により決定した各々のアプリケーションの利用頻度を確認することが可能となる。
【０２４５】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０２４６】
例えば、上述した本実施形態の画像形成装置（１）における制御動作は、ハード構成ではなく、コンピュータプログラム等のソフトウェアにより実行することも可能であり、また、上記のプログラムは、光記録媒体、磁気記録媒体、光磁気記録媒体、または半導体等の記録媒体に記録し、その記録媒体から上記プログラムを、画像形成装置（１）に読み込ませることで、上述した制御動作を、画像形成装置（１）において実行させることも可能である。また、所定のネットワークを介して接続されている外部機器から上記プログラムを画像形成装置（１）に読み込ませることで、上述した制御動作を、画像形成装置（１）において実行させることも可能である。また、上述した各実施形態における制御動作を適宜組み合わせて複合させることも可能である。
【０２４７】
また、上述した実施形態は、アプリケーションを選択する際に組み合わせる条件を、文書操作、文書形態操作に制限するものではなく、アプリケーションを選択可能な条件であれば、どのような条件を組み合わせることは可能である。
【０２４８】
なお、本実施形態は、操作パネル（４００）からアプリケーションを選択する場合に限定するものではなく、例えば、ＰＣ(Personal Computer)を介して画像形成装置（１）を使用する際のアプリケーションの選択に用いることも可能である。
【０２４９】
また、本実施形態の画像形成装置（１）は、アプリケーション選択部（２１１）が、従来のファックス、スキャナという個別のアプリケーションとしての設定値に、追加又は拡張した機能を積み増したインターフェースから開放したことで、以下の点で論理構造の複雑さを軽減させることが可能となる。
【０２５０】
まずは、液晶タッチパネル（４２０）に表示される設定データ画面の階層が低減することを可能とした。また、液晶タッチパネル（４２０）に表示する画面の階層構造を均質にすることを可能とした。また、液晶タッチパネル（４２０）に表示される画面において、異なる画面毎に配置される重複表示データを低減することを可能とした。
【０２５１】
また、画像形成装置（１）は、上述した画面を表示することを可能としたので、ユーザの画面構成の理解性、操作性を向上させることが可能となる。
【産業上の利用可能性】
【０２５２】
本発明にかかるアプリケーション選択装置、画像形成装置、アプリケーション選択方法及びアプリケーション選択プログラムは、アプリケーションの選択に有用であり、特に、画像形成装置において利用者が要求に適したアプリケーションの選択する技術に適用可能である。
【図面の簡単な説明】
【０２５３】
【図１】本実施形態における画像形成装置（１）を取り巻くネットワーク環境を説明するためのネットワーク図である。
【図２】本実施形態における画像形成装置（１）のハードウェア構成を示すブロック図である。
【図３】本実施形態における画像形成装置（１）のソフトウェアとハードウェアとの関係を説明するための概念図である。
【図４】本実施形態における画像形成装置（１）の操作パネルの一例を示した図である。
【図５】画像形成装置（１）に搭載されるソフトウェア構成の変遷を説明するための説明図である。
【図６】従来の画像形成装置のソフトウェアとハードウェアとの関係を説明するための説明図である。
【図７】本実施形態における画像形成装置（１）の統合アプリケーションの内部構成、及び統合アプリケーション内における表示制御部と、本実施形態の特徴的部分であるアプリケーション選択部の位置を示した説明図である。
【図８】本実施形態における画像形成装置（１）の統合アプリケーションの内部構成として示した各サブシステムについてのＵＭＬクラス図である。
【図９】本実施形態における画像形成装置（１）のアプリケーション選択部で行われるアプリケーションの選択の概念を示した概念図である。
【図１０】利用者により選択される文書形態に対応して画像形成装置（１）が備えた機能の概念を示した概念図である。
【図１１】本実施形態における画像形成装置（１）において文書操作、文書形態操作又は従来のアプリケーションと、処理に用いるアプリケーションの対応関係を一覧として示した図である。
【図１２】本実施形態における画像形成装置（１）で、オブジェクトモデリングにより設計されたアプリケーション選択部が備えるクラス構成をＵＭＬのクラスで示した図である。
【図１３】本実施形態における画像形成装置（１）のアプリケーション選択部でアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１４】本実施形態における画像形成装置（１）のアプリケーション選択部で文書操作に基づいてアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１５】本実施形態における画像形成装置（１）のアプリケーション選択部で文書形態操作に基づいてアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１６】本実施形態における画像形成装置（１）のアプリケーション選択部で従来のアプリケーションキーの押下からアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１７】本実施形態における画像形成装置（１）のアプリケーション選択部が備えるボタンクラス、文書操作クラス、文書操作アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図１８】本実施形態における画像形成装置（１）のアプリケーション選択部が備えるボタンクラス、文書形態操作クラス、文書形態操作アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図１９】本実施形態における画像形成装置（１）のアプリケーション選択部が備えるボタンクラス、従来アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図２０】第２の実施形態における画像形成装置（１）で、オブジェクトモデリングにより設計されたアプリケーション選択部が備えるクラス構成をＵＭＬのクラスで示した図である。
【図２１】第２の実施形態における画像形成装置（１）のアプリケーション選択部で従来のアプリケーションキーの押下からアプリケーションを選択する際、表示制御部が液晶タッチパネル上に、利用頻度順にアプリケーションを表示する画面例を示した図である。
【図２２】第２の実施形態における画像形成装置（１）のアプリケーション選択部で、利用者が従来アプリケーションを示したボタンを押下してから、アプリケーションを選択した後、利用者が実際に使用したアプリケーションを履歴として登録するまでに呼び出されるオブジェクトと、オブジェクト間の流れを示した図である。
【図２３】第２の実施形態における画像形成装置（１）のアプリケーション選択部で、利用者が従来アプリケーションを示したボタンを押下し、アプリケーションを選択した後、各々のアプリケーションの利用頻度を確認するまでに呼び出されるオブジェクトと、オブジェクト間の流れを示した図である。
【符号の説明】
【０２５４】
１    ＭＦＰ
１０    コントローラ
１１    ＣＰＵ
１２    システムメモリ（ＭＥＭ−Ｐ）
１２ａ    ＲＯＭ
１２ｂ    ＲＡＭ
１３    ノースブリッジ（ＮＢ）
１４    サウスブリッジ（ＳＢ）
１５    ＡＧＰバス
１６    ＡＳＩＣ
１７    ローカルメモリ（ＭＥＭ−Ｃ）
１８    ハードディスクドライブ（ＨＤＤ）
２０    操作部
３０    ＦＣＵ
４０    ＵＳＢ
５０    ＩＥＥＥ１３９４インターフェース
６０    エンジン部
１００    ソフトウェア
１０１、１０１Ａ    アプリケーション層
１０２    サービス層
１０２ａ    スキャナ制御部
１０２ｂ    プロッタ制御部
１０２ｃ    蓄積制御部
１０２ｄ    配信／メール送受信制御部
１０２ｅ    ＦＡＸ送受信制御部
１０２ｆ    ネットワーク通信制御部
１０２ｇ    その他の制御部
１０３    オペレーティングシステム
１１０    統合アプリケーション
１２１    コピーアプリケーション
１２２    スキャナアプリケーション
１２３    ファックスアプリケーション
１２４    プリンタアプリケーション
１５０    ハードウェア
１５１    ハードウェアリソース
１５１ａ    スキャナ
１５１ｂ    プロッタ
１５１ｃ    ＨＤＤ
１５１ｄ    ネットワーク
１５１ｅ    その他のリソース
２０１    操作系サブシステム
２０２    管理系サブシステム
２０３    実行系サブシステム
２１１    アプリケーション選択部
２１２    表示制御部
４００    操作パネル
４０１    コピーキー
４０２    ファックスキー
４０２    液晶タッチパネル
４０３    スキャナキー
４０４    プリンタキー
４０５    ドキュメントボックスキー
４０６    テンキー
４０７    ストップキー
４０８    スタートキー
４０９    予熱キー
４１０    リセットキー
４２０    液晶タッチパネル
７０１、７０２    ボタン
７０３    対応関係
１００１    アプリケーションクラス
１００１ａ    アプリケーションＩＤ
１００１ｂ    名称
１００１ｃ    状態
１００１ｄ    選択（）
１００１ｆ    取消（）
１００１Ａ、１００１Ａａ〜ｆ    アプリケーションオブジェクト
１００２    従来アプリケーションクラス
１００２ａ    名称
１００２ｂ    対応アプリケーション
１００２ｃ    決定（）
１００２ｄ    取消（）
１００２Ａ    従来アプリケーションオブジェクト
１００２Ａａ    コピーオブジェクト
１００３    文書操作アプリケーションクラス
１００３ａ    アプリケーションＩＤ
１００３ｂ    文書操作ＩＤ
１００３Ａ    文書操作アプリケーションオブジェクト
１００４    文書形態操作アプリケーションクラス
ＩＤ１００４ａ    アプリケーション
ＩＤ１００４ｂ    文書形態操作
１００４ｃ    決定（）
１００４ｄ    取消（）
１００４Ａ    文書形態操作アプリケーションオブジェクト
１００５    文書操作クラス
１００５ａ    文書操作ＩＤ
１００５ｂ    名称
１００５ｃ    決定（）
１００５ｄ    取消（）
１００５Ａ、１００５Ａａ〜ｂ    文書操作オブジェクト
１００６    文書形態操作クラス
１００６ａ    文書形態操作ＩＤ
１００６ｂ    名称
１００６Ａ、１００６Ａａ〜ｃ    文書形態操作オブジェクト
１００７    ボタンクラス
１００７ａ    名称
１００７ｂ    状態
１００７ｃ    押下（）
１００７Ａ、１００７Ａａ〜ｆ    ボタンオブジェクト
１００８    履歴クラス
１００８ａ    個人認証ＩＤ
１００８ｂ    アプリケーションＩＤ
１００８ｃ    決定（）
１００８ｄ    取消（）
１００８Ａ    履歴オブジェクト
１００９    個人認証クラス
１００９ａ    個人認証ＩＤ
１００９ｂ    アプリケーションＩＤ
１００９ｃ    決定（）
１００９ｄ    取消（）
１００９Ａ    個人認証オブジェクト
１１０１    ボタン群
１１０２    アプリケーション一覧
１２０１、１２０２、１３０１    ボタン
１８０１    サービス層分離前アプリケーション
１８０２    サービス層分離後アプリケーション
１８０３    共通ルーチン分離アプリケーション
１８０４    オブジェクト指向アプリケーション
【図１】
2007193700.tif 000003
【図２】
2007193700.tif 000004
【図３】
2007193700.tif 000005
【図４】
2007193700.tif 000006
【図５】
2007193700.tif 000007
【図６】
2007193700.tif 000008
【図７】
2007193700.tif 000009
【図８】
2007193700.tif 000010
【図９】
2007193700.tif 000011
【図１０】
2007193700.tif 000012
【図１１】
2007193700.tif 000013
【図１２】
2007193700.tif 000014
【図１３】
2007193700.tif 000015
【図１４】
2007193700.tif 000016
【図１５】
2007193700.tif 000017
【図１６】
2007193700.tif 000018
【図１７】
2007193700.tif 000019
【図１８】
2007193700.tif 000020
【図１９】
2007193700.tif 000021
【図２０】
2007193700.tif 000022
【図２１】
2007193700.tif 000023
【図２２】
2007193700.tif 000024
【図２３】
2007193700.tif 000025