(57)【要約】【課題】利用者が要求する処理を行うアプリケーションを容易に選択することができる。【解決手段】文書操作又は文書形態操作を示すボタンの押下を受け付けるボタンクラスと、実際に処理を行うアプリケーションを特定するアプリケーションクラスと、押下されたボタンに係る文書操作の組合せに基づいてアプリケーションクラスで示されたアプリケーションを選択する文書操作アプリケーションクラス又は押下されたボタンに係る文書形態操作の組合せに基づいてアプリケーションクラスで示されたアプリケーションを選択する文書形態操作アプリケーションクラスと、を備えた。【選択図】        図１０
2007080222.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 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」を示したアプリケーションオブジェクト１００１Ａｆの選択()１００１ｄを呼び出す（ステップＳ１７０４）。なお、説明は省略するが、コピーオブジェクト１００２Ａａは、上記以外にも保持していた対応アプリケーションＩＤ１００２ａに対応付けられた全てのアプリケーションオブジェクト１００１Ａの選択（）１００１ｄを呼び出す。
【０２０９】
このように選択（）１００１ｄを呼び出すことでアプリケーションオブジェクト１００１Ａに対応するアプリケーションが選択されたこととなる。つまり、ＭＦＰ１は、利用者が従来のアプリケーションを示したキーを押下した場合でも、新たに設けられたアプリケーションを選択することが可能となった。
【０２１０】
上述した実施の形態において、ＭＦＰ１は、利用者から入力を受け付けた文書操作又は文書形態操作の組合せに基づいてアプリケーションを選択することで、利用者が要求する処理を行うアプリケーションを容易に選択することができる。
【０２１１】
また、ＭＦＰ１は、従来の画像形成装置で用いられたファックス、スキャナという個別のアプリケーションとしての設定値に、追加又は拡張した機能を積み増したインターフェースから解放し、ＭＦＰ１に用いられている入力機器、出力機器を使用するアプリケーション選択部２１１に対応するインターフェースを提供することで利便性が向上した。
【０２１２】
また、文書操作又は文書形態操作の組合せでアプリケーションを選択するインターフェースを提供する際、利用者は、従来のインターフェースによる操作になじんでいるため、突然変更されると混乱が生じるおそれがある。そこで、ＭＦＰ１のインターフェースとして従来のアプリケーションを示したキーを表示し、この従来のアプリケーションを示したキーから、アプリケーションの選択することを可能とした。これにより、従来から使用してきた利用者でも容易に使用することが可能となった。
【０２１３】
換言すると、現在ＭＦＰ１に用いられている入力機器、出力機器から考えられる統合アプリケーションとしてのユーザインターフェイスの概念と、従来のユーザインターフェイスの概念との間にあるギャップを埋めることが可能となった。
【０２１４】
また、ＭＦＰ１がアプリケーションの選択する際に複数の方法を提供することで、利用者の好みに応じたアプリケーションの選択が可能となった。
【０２１５】
また、上述した実施の形態は、アプリケーションを選択する際に組み合わせる条件を、文書操作、文書形態操作に制限するものではなく、アプリケーションを選択可能な条件であれば、どのような条件を組み合わせでもよい。
【０２１６】
なお、本実施の形態は、操作パネル４００からアプリケーションを選択する場合に制限するものではなく、例えばＰＣ(Personal Computer)を介してＭＦＰ１を使用する際のアプリケーションの選択に用いても良い。
【０２１７】
また、本実施の形態のＭＦＰ１は、アプリケーション選択部２１１が、従来のファックス、スキャナという個別のアプリケーションとしての設定値に、追加又は拡張した機能を積み増したインターフェースから開放したことで、以下の点で論理構造の複雑さを軽減させることができる。
【０２１８】
まずは、液晶タッチパネル４２０に表示される設定データ画面の階層が低減することを可能とした。また、液晶タッチパネル４２０に表示する画面の階層構造を均質にすることを可能とした。また、液晶タッチパネル４２０に表示される画面において、異なる画面毎に配置される重複表示データを低減することを可能とした。
【０２１９】
また、ＭＦＰ１は、上述した画面を表示することを可能としたので、ユーザの画面構成の理解性、操作性を向上させた。
【産業上の利用可能性】
【０２２０】
以上のように、本発明にかかるアプリケーション選択装置、画像形成装置、アプリケーション選択方法及びアプリケーション選択プログラムは、アプリケーションの選択に有用であり、特に、画像形成装置において利用者が要求に適したアプリケーションの選択する技術に適している。
【図面の簡単な説明】
【０２２１】
【図１】実施の形態に係るＭＦＰを取り巻くネットワーク環境を説明するためのネットワーク図である。
【図２】実施の形態に係るＭＦＰのハードウェア構成を示すブロック図である。
【図３】実施の形態に係るＭＦＰのソフトウェアとハードウェアの関係を説明するための概念図である。
【図４】実施の形態に係るＭＦＰの操作パネルの一例を示した図である。
【図５】実施の形態に係るＭＦＰの統合アプリケーションの内部構成、及び統合アプリケーション内における表示制御部と、本実施の形態の特徴的部分であるアプリケーション選択部の位置を示した説明図である。
【図６】実施の形態に係るＭＦＰの統合アプリケーションの内部構成として示した各サブシステムについてのＵＭＬクラス図である。
【図７】実施の形態に係るＭＦＰのアプリケーション選択部で行われるアプリケーションの選択の概念を示した概念図である。
【図８】利用者により選択される文書形態に対応してＭＦＰが備えた機能の概念を示した概念図である。
【図９】実施の形態に係るＭＦＰにおいて文書操作、文書形態操作又は従来のアプリケーションと、処理に用いるアプリケーションの対応関係を一覧として示した図である。
【図１０】実施の形態に係るＭＦＰで、オブジェクトモデリングにより設計されたアプリケーション選択部が備えるクラス構成をＵＭＬのクラスで示した図である。
【図１１】実施の形態に係るＭＦＰのアプリケーション選択部でアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１２】実施の形態に係るＭＦＰのアプリケーション選択部で文書操作に基づいてアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１３】実施の形態に係るＭＦＰのアプリケーション選択部で文書形態操作に基づいてアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１４】実施の形態に係るＭＦＰのアプリケーション選択部で従来のアプリケーションキーの押下からアプリケーションを選択する際、表示制御部が液晶タッチパネルに表示する画面例を示した図である。
【図１５】実施の形態に係るＭＦＰのアプリケーション選択部が備えるボタンクラス、文書操作クラス、文書操作アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図１６】実施の形態に係るＭＦＰのアプリケーション選択部が備えるボタンクラス、文書形態操作クラス、文書形態操作アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図１７】実施の形態に係るＭＦＰのアプリケーション選択部が備えるボタンクラス、従来アプリケーションクラス及びアプリケーションクラスのオブジェクトと、オブジェクト間のメッセージの流れを表現したＵＭＬの協調図である。
【図１８】ＭＦＰに搭載されるソフトウェア構成の変遷を説明するための説明図である。
【図１９】従来のＭＦＰのソフトウェアとハードウェアの関係を説明するための説明図である。
【符号の説明】
【０２２２】
１  ＭＦＰ
１０  コントローラ
１１  ＣＰＵ
１２  システムメモリ（ＭＥＭ−Ｐ）
１２ａ  ＲＯＭ
１２ｂ  ＲＡＭ
１３  ノースブリッジ（ＮＢ）
１４  サウスブリッジ（ＳＢ）
１５  ＡＧＰバス
１６  ＡＳＩＣ
１７  ローカルメモリ（ＭＥＭ−Ｃ）
１８  ハードディスクドライブ（ＨＤＤ）
２０  操作部
３０  ＦＣＵ
４０  ＵＳＢ
５０  ＩＥＥＥ１３９４インターフェース
６０  エンジン部
１００  ソフトウェア
１０１、１０１Ａ  アプリケーション層
１０２  サービス層
１０２ａ  スキャナ制御部
１０２ｂ  プロッタ制御部
１０２ｃ  蓄積制御部
１０２ｄ  配信／メール送受信制御部
１０２ｅ  ＦＡＸ送受信制御部
１０２ｆ  ネットワーク通信制御部
１０２ｇ  その他の制御部
１０３  オペレーティングシステム
１１０  統合アプリケーション
１２１  コピーアプリケーション
１２２  スキャナアプリケーション
１２３  ファックスアプリケーション
１２４  プリンタアプリケーション
１５０  ハードウェア
１５１  ハードウェアリソース
１５１ａ  スキャナ
１５１ｂ  プロッタ
１５１ｃ  ＨＤＤ
１５１ｄ  ネットワーク
１５１ｅ  その他のリソース
２０１  操作系サブシステム
２０２  管理系サブシステム
２０３  実行系サブシステム
２１１  アプリケーション選択部
２１２  表示制御部
４００  操作パネル
４０１  コピーキー
４０２  ファックスキー
４０２  液晶タッチパネル
４０３  スキャナキー
４０４  プリンタキー
４０５  ドキュメントボックスキー
４０６  テンキー
４０７  ストップキー
４０８  スタートキー
４０９  予熱キー
４１０  リセットキー
４２０  液晶タッチパネル
７０１、７０２  ボタン
７０３  対応関係
１００１  アプリケーションクラス
１００１ａ  アプリケーションＩＤ
１００１ｂ  名称
１００１ｃ  状態
１００１ｄ  選択（）
１００１ｆ  取消（）
１００１Ａ、１００１Ａａ〜ｆ  アプリケーションオブジェクト
１００２  従来アプリケーションクラス
１００２ａ  名称
１００２ｂ  対応アプリケーション
１００２ｃ  決定（）
１００２ｄ  取消（）
１００２Ａ  従来アプリケーションオブジェクト
１００２Ａａ  コピーオブジェクト
１００３  文書操作アプリケーションクラス
１００３ａ  アプリケーションＩＤ
１００３ｂ  文書操作ＩＤ
１００３Ａ  文書操作アプリケーションオブジェクト
１００４  文書形態操作アプリケーションクラス
ＩＤ１００４ａ  アプリケーション
ＩＤ１００４ｂ  文書形態操作
１００４ｃ  決定（）
１００４ｄ  取消（）
１００４Ａ  文書形態操作アプリケーションオブジェクト
１００５  文書操作クラス
１００５ａ  文書操作ＩＤ
１００５ｂ  名称
１００５ｃ  決定（）
１００５ｄ  取消（）
１００５Ａ、１００５Ａａ〜ｂ  文書操作オブジェクト
１００６  文書形態操作クラス
１００６ａ  文書形態操作ＩＤ
１００６ｂ  名称
１００６Ａ、１００６Ａａ〜ｃ  文書形態操作オブジェクト
１００７  ボタンクラス
１００７ａ  名称
１００７ｂ  状態
１００７ｃ  押下（）
１００７Ａ、１００７Ａａ〜ｆ  ボタンオブジェクト
１１０１  ボタン群
１１０２  アプリケーション一覧
１２０１、１２０２、１３０１、  ボタン
１８０１  サービス層分離前アプリケーション
１８０２  サービス層分離後アプリケーション
１８０３  共通ルーチン分離アプリケーション
１８０４  オブジェクト指向アプリケーション
【図１】
2007080222.tif 000003
【図２】
2007080222.tif 000004
【図３】
2007080222.tif 000005
【図４】
2007080222.tif 000006
【図５】
2007080222.tif 000007
【図６】
2007080222.tif 000008
【図７】
2007080222.tif 000009
【図８】
2007080222.tif 000010
【図９】
2007080222.tif 000011
【図１０】
2007080222.tif 000012
【図１１】
2007080222.tif 000013
【図１２】
2007080222.tif 000014
【図１３】
2007080222.tif 000015
【図１４】
2007080222.tif 000016
【図１５】
2007080222.tif 000017
【図１６】
2007080222.tif 000018
【図１７】
2007080222.tif 000019
【図１８】
2007080222.tif 000020
【図１９】
2007080222.tif 000021