deploymentAbstract【課題】種々のアプリケーションが実装される情報処理装置に関して、便利なアプリケーションを情報処理装置のユーザに提供する手法を提案すること。【解決手段】アプリケーションを実行可能な情報処理装置であって、前記アプリケーションの状態遷移に係る情報を表示装置に表示させる表示手段と、表示された状態遷移に係る情報に関して更新指示の入力を受け付け、該更新指示に応じた状態遷移を実現するアプリケーションを生成する生成手段とを有することにより上記課題を解決する。プログラム、SDメモリカード等の記録媒体に関する。近年、コピー機能とプリンタ機能とスキャナ機能とファクシミリ機能を備える複合機や融合機が市販されるようになった。複合機や融合機は、コピーやプリンタとして機能する場合には、画像を印刷用紙に印刷することになり、コピーやスキャナとして機能する場合には、画像を読取原稿から読み取ることになり、ファクシミリとして機能する場合には、画像を電話回線を介して他の機器と授受することになる。融合機には様々なアプリケーションが実装される事が多くなっている。そのため、複合機や融合機のユーザが折角の便利なアプリケーションの存在に気付かずにいる事も珍しくない。これでは、折角の便利なアプリケーションの存在が無駄になってしまうと共に、複合機や融合機のユーザに無駄な負担を掛け続けてしまう。このような状況は、複合機や融合機等の画像形成装置以外の情報処理装置でも同様である。本発明は、種々のアプリケーションが実装される情報処理装置に関して、便利なアプリケーションを情報処理装置のユーザに提供する手法を提案することを課題とする。そこで上記課題を解決するため、本発明は、アプリケーションを実行可能な情報処理装置であって、前記アプリケーションの状態遷移に係る情報を表示装置に表示させる表示手段と、表示された状態遷移に係る情報に関して更新指示の入力を受け付け、該更新指示に応じた状態遷移を実現するアプリケーションを生成する生成手段とを有することを特徴とする。コンピュータに実行させる情報処理プログラム、又は該報処理プログラムが記録された記録媒体としてもよい。本発明は、種々のアプリケーションが実装される情報処理装置に関して、便利なアプリケーションを情報処理装置のユーザに提供する手法を提案するものである。図1は、本発明の実施例に該当する融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。アプリケーション131は、専用のSDK(ソフトウェア開発キット)を使用して開発することができる。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。専用のSDKとしては、C言語でアプリケーション131を開発するための「CSDK」や、Java(登録商標)言語でアプリケーション131を開発するための「JSDK」が提供される。CSDKを使用して開発したアプリケーション131を「CSDKアプリ」と呼び、JSDKを使用して開発したアプリケーション131を「JSDKアプリ」と呼ぶ。図1の融合機101にも、CSDKアプリ146と、JSDKアプリ147が存在する。図1の融合機101にはさらに、Java(登録商標)言語で記述されたJSDKアプリ147とC言語で記述された他のソフトウェア112との仲介を行うソフトウェア112として、JSDKプラットフォーム148が存在する。プラットフォーム132としては、種々のコントロールサービス151、システムリソースマネージャ152、種々のハンドラ153が存在する。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161、ファクシミリコントロールサービス(FCS)162、デリバリコントロールサービス(DCS)163、エンジンコントロールサービス(ECS)164、メモリコントロールサービス(MCS)165、オペレーションパネルコントロールサービス(OCS)166、サーティフィケーションコントロールサービス(CCS)167、ユーザディレクトリコントロールサービス(UCS)168、システムコントロールサービス(SCS)169が存在する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171、イメージメモリハンドラ(IMH)172が存在する。NCS161のプロセスは、ネットワーク通信の仲介を行う。FCS162のプロセスは、ファクシミリのAPIを提供する。DCS163のプロセスは、蓄積文書の配信処理に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122に関する制御を行う。MCS165のプロセスは、メモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。CCS167のプロセスは、認証処理や課金処理に関する制御を行う。UCS168のプロセスは、ユーザ情報の管理に関する制御を行う。SCS169のプロセスは、システムの管理に関する制御を行う。アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップに伴うバージョン差を吸収する役割等を担う。融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション131やプラットフォーム132が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。図2は、図1の融合機101に係るハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、融合機101のシステムメモリである。MEM−C232は、融合機101のローカルメモリである。HDD233は、融合機101のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。図3は、図1の融合機101に係る外観図である。図3には、撮像部121の位置と、印刷部122の位置と、オペレーションパネル202の位置が図示されている。図3には更に、読取原稿のセット先となる原稿セット部301と、印刷用紙の給紙先となる給紙部302と、印刷用紙の排紙先となる排紙部303が図示されている。オペレーションパネル202は、図4のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、機能キー315と、初期設定ボタン316により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー(ボタン)操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー315は、キー(ボタン)操作でCSDKアプリ146やJSDKアプリ147による操作画面を表示させるためのハードウェアである。初期設定ボタン316は、ボタン操作で初期設定画面を表示させるためのハードウェアである。原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。給紙部302は、4個の給紙トレイにより構成される。排紙部303は、1個の排紙トレイにより構成される。(COLLECTOR)図5は、COLLECTOR401に係る機能ブロック図である。COLLECTOR401は、図1の融合機101に実装されているJSDKアプリ147に相当する。COLLECTOR401は、図1の融合機101の使用状況に係る種々の情報を収集して、図1の融合機101のJSDKアプリ147に係る種々の情報処理を実行する。図5のように、COLLECTOR401は、情報収集部411、情報取得部412、アプリ検出部413、アプリ生成部414、アプリ通知部415により構成される。情報収集部411は、該融合機101の使用状況に係る情報を自動的に収集する機能ブロックに相当する。情報取得部412は、該融合機101の状態遷移に係る情報を自動的に取得する機能ブロックに相当する。アプリ検出部413は、当該融合機101での使用を推奨するJSDKアプリ147を自動的に検出する機能ブロックである。アプリ生成部414は、当該融合機101での使用を推奨するJSDKアプリ147を自動的に生成する機能ブロックである。アプリ通知部415は、当該融合機101での使用を推奨するJSDKアプリ147の存在を自動的にユーザに通知する機能ブロックである。図6、図7、及び図8は、図1の融合機101の状態遷移に係る状態遷移図である。図6には、ユーザがスキャン結果をアドレスを指定して電子メールで送信する場合の状態遷移図が図示されている。ユーザが融合機101の電源をオンにすると、融合機101は認証状態501に遷移(S1)する。次に、ユーザが融合機101にログインすると、融合機101は機能選択状態502に遷移(S2)する。次に、ユーザがスキャン機能を選択すると、融合機101はスキャン状態503に遷移(S3)する。次に、ユーザがスキャン操作を完結すると、融合機101は機能選択状態502に復帰(S4)する。次に、ユーザがアドレス機能を選択すると、融合機101はアドレス状態504に遷移(S5)する。次に、ユーザがアドレス指定操作を完結すると、融合機101は機能選択状態502に復帰(S6)する。次に、ユーザが電子メール機能を選択すると、融合機101は電子メール状態505に遷移(S7)する。次に、ユーザが電子メール送信操作を完結すると、融合機101は機能選択状態502に復帰(S8)する。COLLECTOR401では、情報収集部411が、当該融合機101の使用状況に係る情報を収集する。当該情報は例えば、当該融合機101をどのユーザがどの日時にどの機能をどの設定で使用したかと言う「ログ情報」である。COLLECTOR401では、情報取得部412が、情報収集部411によって収集された情報を利用して、当該融合機101の状態遷移に係る情報を取得する。当該情報は例えば、当該融合機101の状態がS1からS8までどのように遷移したかと言う「履歴情報」である。これにより、COLLECTOR401は、当該融合機101の状態遷移のプロセスを把握することができる。図1の融合機101の使用状況として、ユーザがスキャン結果をアドレスを指定して電子メールで送信する事が多い場合、図1の融合機101の状態遷移として、図6の状態遷移「S3−S4−S5−S6−S7−S8」の出現頻度が高くなる事になる。よって、図7の状態遷移のように、スキャン状態503からアドレス状態504への状態遷移(SX)やアドレス状態504から電子メール状態505への状態遷移(SY)が実行可能であれば便利である。これは、スキャン操作の完結後にスキャン画面からアドレス指定画面に操作画面が直接遷移する事や、アドレス指定操作の完結後にアドレス指定画面から電子メール送信画面に操作画面が直接遷移したりする事に相当する。図1の融合機101には、図8の状態遷移「SV−SW−SX−SY−SZ」を実行可能なJSDKアプリ147が存在するものとする。このJSDKアプリ147は、上述の観点からして、図7の状態遷移を実行可能な便利なJSDKアプリ147である。このようなJSDKアプリ147の存在は、図1の融合機101の状態遷移に係る情報を利用して検出可能である。そこで、COLLECTOR401では、アプリ検出部413が、情報取得部412によって取得された情報(もとを糺せば情報収集部411によって収集された情報に当たる)を利用して、このようなJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147として検出する。検出方法の詳細は後述する。COLLECTOR401では、アプリ通知部415が、アプリ検出部413によって検出されたJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147としてユーザに通知する。通知方法の詳細は後述する。スキャン結果を電子メールで送信すると共にFAX送信する場合、上述した図6のステップS1〜ステップS5までの遷移後、アドレス状態504において、ユーザはアドレス指定操作としてメールアドレスと共にFAX番号を入力する。アドレス指定操作として、メールアドレス又はFAX番号を直接入力させるのではなく、宛先とするユーザのユーザ名を選択させてもよい。この場合、ユーザごとに都合のよい送信先を設定しておけばよい。メールアドレスが送信先として登録されているユーザもあれば、FAX番号、又はメールアドレス及びFAX番号の双方が送信先として登録されているユーザもあるといった具合である。このようなアドレス指定操作が完結すると、融合機101は機能選択状態502に復帰(S6)する。次に、ユーザが電子メール機能を選択すると、融合機101は電子メール状態505に遷移(S7)する。次に、ユーザが電子メール送信操作を完結すると、融合機101は機能選択状態502に復帰(S8)する。ユーザがFAX機能を選択すると、融合機101はファクシミリ状態506に遷移する(S9)。FAX送信を完結すると、融合機101は機能選択状態に復帰する(S10)。このように、融合機101の使用状況として、ユーザがスキャン結果をアドレスを指定して電子メールによる送信とFAX送信とをする事が多い場合、融合機101の状態遷移として、図6の状態遷移「S3−S4−S5−S6−S7−S8−S9−S10」の出現頻度が高くなる事になる。かかる場合、COLLECTOR401では、アプリ検出部413が、情報取得部412によって取得された情報を利用して、図9に示される「SV−SW−SX−SY−SZ−SY’−SZ’」のような状態遷移が可能なJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147として検出しようとする。502において、ユーザはスキャン結果を印刷対象として印刷機能を選択する。ユーザの選択に応じ、融合機101は印刷状態507に遷移する(S11)。印刷結果の印刷を完結すると、融合機101は機能選択状態に復帰する(S12)。このように、融合機101の使用状況として、ユーザがスキャン結果を電子メールによって送信すると共に印刷する事が多い場合、融合機101の状態遷移として、図6の状態遷移「S3−S4−S5−S6−S7−S8−S11−S12」の出現頻度が高くなる事になる。かかる場合、COLLECTOR401では、アプリ検出部413が、情報取得部412によって取得された情報を利用して、図10に示される「SV−SW−SX−SY−SZ−SZ’’」のような状態遷移が可能なJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147として検出しようとする。502において、ユーザはスキャン結果の送信先のアドレス(送信履歴)を印刷対象として印刷機能を選択する。ユーザの選択に応じ、融合機101は印刷状態507に遷移する(S11)。送信先アドレスの印刷を完結すると、融合機101は機能選択状態に復帰する(S12)。このように、融合機101の使用状況として、ユーザがスキャン結果を電子メールによって送信すると共にスキャン結果の送信先アドレスを印刷する事が多い場合、融合機101の状態遷移として、図6の状態遷移「S3−S4−S5−S6−S7−S8−S11−S12」の出現頻度が高くなる事になる。かかる場合、COLLECTOR401では、アプリ検出部413が、情報取得部412によって取得された情報を利用して、図11に示される「SV−SW−SX−SY−SZ−SY’’」のような状態遷移が可能なJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147として検出しようとする。アドレス状態504を実現するアドレス機能モジュールが、送信先アドレスの印刷機能を有するものに機能強化されたバージョンのものに更新された場合、COLLECTOR401のアプリ検出部413は、図12に示される「SV−SW−SX−SY−SZ−Sx−Sy」のような状態遷移が可能なJSDKアプリ147の存在を、当該融合機101での使用を推奨するJSDKアプリ147として検出しようとする。print)504’への遷移を示す。Syの遷移は、アドレス機能モジュール内部におけるアドレス印刷状態からの復帰の遷移を示す。次に、ログ情報の収集方法と履歴情報の取得方法の詳細について説明する。ログ情報は融合機101の機能レベルで収集されるものとする。コピー機能が使用された、スキャン機能が使用された、プリント機能が使用された、ファクシミリ機能が使用された、アドレス機能が使用された、電子メール機能が使用されたと言った具合である。融合機101に実装されているアプリケーション131は、融合機101の機能レベルのクラス(機能モジュール)を元に作成されているものとする。スキャン状態503に関するクラス(スキャン機能モジュール)、アドレス状態504に関するクラス(アドレス機能モジュール)、電子メール状態505に関するクラス(電子メール機能モジュール)と言った具合である。これにより、融合機101の状態遷移に関する履歴情報を融合機101の機能レベル(機能モジュール単位)で取得することが容易になると共に、どのJSDKアプリ147がどのような状態遷移を実行可能なのかを融合機101の機能レベル(機能モジュール単位)で検出することが容易になる。JSDKアプリ147の検出方法の詳細について説明する。検出対象のJSDKアプリ147は、融合機101のHDD233や融合機101のメモリカード235に「インストール済」のものでも、融合機101に挿入されたメディアや融合機101に接続されたネットワークに存在する「未インストール」のものでもよい。COLLECTOR401は、HDD233やメモリカード235や上記メディアや上記ネットワークからJSDKアプリ147に係る情報を定期的に自動的に収集すると共に、検出対象のJSDKアプリ147に係る「アプリ情報」としてデータベース化して管理しておくものとする。当該アプリ情報には、各JSDKアプリ147の状態遷移に係る情報も登録される。したがって、アプリ検出部413は、情報収集部411によって収集される融合機101の状態遷移に係る情報と、データベース化されている各JSDKアプリ147の状態遷移に係る情報とを照合することにより、使用を推奨するJSDKアプリ147を検出する。JSDKアプリ147の通知方法の詳細について説明する。検出されたJSDKアプリ147の存在は、融合機101のタッチパネル311に表示されている操作画面のバナーエリアに表示されることでユーザに通知されるものとする。検出されたJSDKアプリ147が未インストールのものである場合には、検出されたJSDKアプリ147の存在は、インストールされてから通知されるものとしても、インストールされないままで通知されるものとしてもよい。インストールされないままで通知されたJSDKアプリ147は、バナーエリアの押下操作をトリガとしてインストールされるものとする。このように、図1の融合機101のCOLLECTOR401は、当該融合機101の状態遷移に係る情報(もとを糺せば当該融合機101の使用状況に係る情報に当たる)を利用して、当該融合機101での使用を推奨するJSDKアプリ147の存在を検出してユーザに通知する。どのようなJSDKアプリ147が検出されるかの検出内容には、どのように融合機101が使用されたかの使用態様が反映されることになる。このようにして、図1の融合機101のCOLLECTOR401は、便利なJSDKアプリ147をユーザに提供することができるのである。COLLECTOR401は、該融合機101の使用状況に係る情報や状態遷移に係る情報を「ユーザ単位」で利用して、該融合機101での使用を「ユーザ単位」で推奨するJSDKアプリ147の存在を検出してユーザに通知する。融合機101の使用態様には各ユーザ毎の個性が反映されるため、推奨するJSDKアプリ147にも各ユーザ毎の特性を反映させた方が便利だからである。ユーザはユーザIDにより管理される。これにより、ユーザID「001」のユーザ「鈴木さん」にはJSDKアプリ147「A」が推奨される、ユーザID「002」のユーザ「佐藤さん」にはJSDKアプリ147「B」が推奨される、ユーザID「003」のユーザ「大久保さん」にはJSDKアプリ147「C」が推奨されると言った具合になる。ログイン処理が実施されない融合機101ならば、ユーザ単位ではなく機器単位でもよいだろう。COLLECTOR401では、情報収集部411や情報取得部412によって取得された情報を利用して、アプリ検出部413が当該融合機101での使用を推奨するJSDKアプリ147を「検出」する代わりに、アプリ生成部414が当該融合機101での使用を推奨するJSDKアプリ147を「生成」する様にしてもよい。これにより、推奨するJSDKアプリ147を用意しておく必要がなくなる、推奨するJSDKアプリ147が存在しないときにも対応できるようになる、などの利点を享受できる。JSDKアプリ147の生成方法の詳細について説明する。COLLECTOR401は、図8のような状態遷移図からJSDKアプリ147を生成する。図8の状態遷移図はログ情報や履歴情報から生成可能である。生成されるJSDKアプリ147の記述言語はもちろんJava(登録商標)であるが、UMLドローイングツールと同様にしてXMIを元にXMLのソフトウェアが生成される様にしてもよい。図1の融合機101には、図13のように、JSDKアプリ147の生成を容易にするためのフレームワークやクラスライブラリが存在する。フレームワークとは、JSDKアプリ147の雛形となる半完成のソフトウェアで、JSDKアプリ147の上位層を提供する。クラスライブラリとは、JSDKアプリ147の部品となるクラスのライブラリで、JSDKアプリ147の下位層を提供する。フレームワークは、ロジックフレームワークとユーザインタフェースフレームワークによって構成される。ロジックフレームワークは、JSDKアプリ147のロジック関連のフレームワークであり、融合機101の状態遷移を規定している。ユーザインタフェースフレームワークは、JSDKアプリ147のユーザインタフェース関連のフレームワークであり、融合機101の画面遷移を規定している。クラスライブラリは、コピー関連のクラスであるコピークラス、プリンタ関連のクラスであるプリンタクラス、スキャナ関連のクラスであるスキャナクラス、ファクシミリ関連のクラスであるファクシミリクラス、オペレーションパネル関連のクラスであるオペレーションパネルクラス、ネットワーク関連のクラスであるネットワーククラスによって構成される。生成されたJSDKアプリ147は、ユーザやスーパーユーザが修正できるようにしてもよい。JSDKアプリ147の生成方法については、特願2004−062413に同様の生成方法が開示されている。アプリ生成部414によって生成されたJSDKアプリ147の状態遷移に係る情報はアプリ情報に含まれてデータベース化されて登録される。図14は、JSDKアプリ147の検出処理に係るフローチャート図である。COLLECTOR401は先ず、融合機101の使用状況に係るログ情報を収集(S101)し、融合機101の状態遷移に係る履歴情報を取得(S102)する事になる。ログ情報の収集処理や履歴情報の取得処理は例えば、所定時刻に到達する毎に実行されるようにしてもよいし、所定時間が経過する毎に実行されるようにしてもよいし、所定操作が実施される毎に実行されるようにしてもよい。COLLECTOR401は次に、該融合機101での使用を推奨するJSDKアプリ147を検出(S103)し、該融合機101での使用を推奨するJSDKアプリ147の存在をユーザに通知(S104)する事になる。JSDKアプリ147の検出処理は例えば、特定の状態遷移の出現頻度が特定の閾値に到達した際に、当該特定の状態遷移を実行可能なJSDKアプリ147を検出すると言う形で実行されるようにする。JSDKアプリ147の通知処理は例えば、JSDKアプリ147の検出処理が実行された直後に実行されるようにする。融合機101のタッチパネル311は原則的にいずれかのアプリケーション131に占有されているため、JSDKアプリ147の通知処理は当該アプリケーション131を通じて実行される。図15は、JSDKアプリ147の生成処理に係るフローチャート図である。COLLECTOR401は先ず、融合機101の使用状況に係るログ情報を収集(S201)し、融合機101の状態遷移に係る履歴情報を取得(S202)する事になる。ログ情報の収集処理や履歴情報の取得処理は例えば、所定時刻に到達する毎に実行されるようにしてもよいし、所定時間が経過する毎に実行されるようにしてもよいし、所定操作が実施される毎に実行されるようにしてもよい。COLLECTOR401のアプリ生成部414は次に、該融合機101での使用を推奨するJSDKアプリ147を生成(S203)し、アプリ通知部415は該融合機101での使用を推奨するJSDKアプリ147の存在をユーザに通知(S204)する事になる。JSDKアプリ147の生成処理は例えば、特定の状態遷移の出現頻度が特定の閾値に到達した際に、当該特定の状態遷移を実行可能なJSDKアプリ147を生成すると言う形で実行されるようにする。JSDKアプリ147の通知処理は例えば、JSDKアプリ147の生成処理が実行された直後に実行されるようにする。融合機101のタッチパネル311は原則的にいずれかのアプリケーション131に占有されているため、JSDKアプリ147の通知処理は当該アプリケーション131を通じて実行される。ところで、上記においては、融合機101の状態遷移に係る履歴情報に基づいて、当該状態遷移を実行可能なJSDKアプリ147をアプリ生成部414が自動的に生成する例について説明した。融合機101におけるJSDKアプリ147の生成処理は、かかるものに限定されない。アプリ検出部413によって検出されたJSDKアプリ147の状態遷移等をユーザに対話的に編集させることにより、新たなJSDKアプリ147が生成されるようにしてもよい。アプリ検出部413は、融合機101の状態遷移に係る情報を利用して融合機101での使用を推奨するJSDKアプリ147の存在を検出すると、その旨を融合機101のタッチパネル311に表示されている操作画面のバナーエリアに表示する。当該バナーエリアには、検出されたJSDKアプリ147の状態遷移に係る情報を表示させるためのボタンが表示される。ユーザが、当該ボタンを押下すると、アプリ通知部415は、当該JSDKアプリ147の状態遷移に係る情報を表示する画面(以下「アプリ状態遷移画面」という。)をタッチパネル311に表示させる。図16は、アプリ状態遷移画面の表示例を示す図である。図16において、アプリ状態遷移画面500は、アプリケーション名表示領域510、編集ボタン520、閉じるボタン530、及び状態遷移表示領域540等より構成される。アプリケーション名表示領域510は、状態遷移に係る情報の表示対象とされているJSDKアプリ147(以下「カレントアプリ」という。540では、各状態に対応するボタン(以下「状態ボタン」という。)が状態遷移の順に配置されている。図16では、図8に示される状態遷移図に係る状態遷移が表示されている。図16におけるカレントアプリは、図8に示される状態遷移を実行可能なJSDKアプリ147に相当する。540に表示させるための状態遷移に係る情報は、アプリ情報に含まれてデータベース化されているものが用いられる。アプリ状態遷移画面500において、編集ボタン520が押下されると、アプリ通知部415は、アプリ状態遷移画面500を編集モードとする。この際、不正な編集が行われないようにするために、ユーザコード又は管理者コード等によってユーザ認証を行うようにしてもよい。図17は、編集モードのアプリ状態遷移画面の表示例を示す図である。図17中、図16と同一部分には同一符号を付している。540に表示されている状態ボタンが押下された際の動作が異なる。)をタッチパネル311に表示させる。図18は、状態編集画面の表示例を示す図である。図18において、状態編集画面600は、カレント状態名表示領域610、遷移追加ボタン620、状態変更ボタン630、状態編集ボタン640、及び状態一覧表示領域650等より構成される。カレント状態名表示領域610は、現在編集対象とされている状態(カレント状態)の状態名が表示される領域である。遷移追加ボタン620は、カレント状態からの遷移を新たに追加させるためのボタンである。状態変更ボタン630は、カレント状態に代えて異なる状態をカレント状態の遷移位置に入れ替えさせるためのボタンである。650は、融合機101において実現可能な状態の一覧、すなわち、融合機101においてインストールされている機能モジュールの一覧が表示される領域であり、状態(機能モジュール)ごとにボタンが配置されている。カレント状態からの遷移先となり得ない状態、又はカレント状態と入れ替えができない状態については、当該ボタンはグレーアウトされて表示される。カレント状態からの遷移先となり得るか否か、また、カレント状態との入れ替えが可能か否かについては、HDD233等に予め保存されている各状態間の関係を示す定義情報に基づいて行われる。当該定義情報には、例えば、状態ごとに遷移先となり得る状態の一覧が定義されている。したがって、アプリ生成部414は、カレント状態からの遷移先となり得るか否かについては、カレント状態をキーとして当該定義情報を検索し、その検索結果に基づいて判定する。カレント状態との入れ替えの可否については、カレント状態の遷移元の状態(ここでは、認証状態)をキーとして当該定義情報を検索し、その検索結果に基づいて判定する。650に表示される状態は、必ずしも融合機101にインストール済みの機能モジュールに係る状態に限定しなくてもよい。融合機101に挿入されたメディアや融合機101に接続されたネットワークに存在する未インストールの機能モジュールのものでもよい。この場合、COLLECTOR401は、HDD233やメモリカード235や上記メディアや上記ネットワークから機能モジュールに係る情報を定期的に自動的に収集し、当該情報をHDD233等にデータベース化して管理しておく。)をタッチパネル311に表示させる。表示例を示す図である。720は、それぞれ遷移条件設定画面700において編集対象とされている遷移の遷移元、遷移先の状態の状態名が表示される領域である。図19では、図18の状態一覧表示領域650において遷移先として印刷状態が選択された例が示されている。遷移イベント設定領域730は、遷移元状態から遷移先状態への状態遷移を発生させるイベントを設定させるための領域である。図中「終了」が選択されているが、これは、遷移元の状態、すなわち、スキャン状態が終了したら遷移先に遷移する旨が設定されたことを示す。ガード条件設定領域740は、状態遷移を発生させない条件、すなわち、状態遷移の障害となる条件を設定させるための領域である。致命的エラー等が発生した場合に状態遷移を抑止する場合は、「致命的エラー」を選択すればよい。図中では「なし」が選択されているため、スキャン状態から印刷状態へのガード条件は無いことが設定されたことを示す。イベント及びガード条件が設定され、終了ボタン750が押下されると、アプリ生成部414は、編集後の状態遷移に係る情報に基づいて新たなJSDKアプリ147を生成し、当該JSDKアプリ147のアプリ状態遷移画面500aを表示させる。図20は、編集結果が反映されたアプリ状態遷移画面の表示例を示す図である。図20中、図17と同一部分には同一符号を付している。図20のアプリ状態遷移画面500aでは、scanボタン541の下に、印刷ボタン542が追加されている。スキャン状態の遷移先として印刷状態が追加されたことが示されている。これは、図10における遷移Z’’に相当する遷移が追加されたことを示す。図18の状態編集画面600において状態編集ボタン640が押下されると、アプリ生成部414は、カレント状態(図18ではスキャン状態)を実行する機能モジュールの内部の状態遷移を編集させるための画面(以下「機能モジュール状態遷移画面」という。図21は、機能モジュール状態遷移画面の表示例を示す図である。図21において、機能モジュール状態遷移画面810は、機能モジュール名表示領域811及び状態遷移表示領域812等より構成される。812では、各状態に対応するボタンが状態遷移の順に配置されている。図21では、図8のスキャン状態503に示される状態遷移図に係る状態遷移が表示されている。図21の機能モジュール状態遷移画面810に基づいて、上述したJSDKアプリ147の状態遷移の編集と同様に、機能モジュールの状態遷移の編集を行うことが可能である。812において条件設定ボタン8121が押下されると、アプリ生成部414は、条件設定状態(ready状態)を編集対象として状態編集画面を表示させる。図22は、機能モジュール内の状態に係る状態編集画面の表示例を示す図である。図22の状態編集画面820には、カレント機能モジュールを構成する各状態に対応するボタンの一覧が表示されている。ここで、例えば、実行ボタン821が選択されると、アプリ生成部414は、条件設定状態を遷移元とし実行状態を遷移先とした際の遷移条件を設定させるための遷移条件設定画面を表示させる。図23は、機能モジュール内の状態遷移に係る遷移条件設定画面の表示例を示す図である。図23の遷移条件設定画面830の操作方法は、図19の遷移条件設定画面700と同様であるので、ここでの説明は省略する。ところで、編集モードでない図16のアプリ状態遷移画面500の状態遷移表示領域540において、例えば、認証ボタン543が押下されると、アプリ生成部414は、認証状態の詳細情報を設定させるための詳細情報設定画面を表示させる。表示例を示す図である。図24の詳細情報設定画面900では、認証を実行する具体的な手段の選択が可能とされている。図中では、ユーザコード、IDカード、キーカウンタ、生体認証等が選択肢として表示されている。ユーザコード以外についてはグレーアウトされている。これは、ユーザコード以外の認証を実行するための機能モジュールが発見されないことによる。以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。本発明の実施例に該当する融合機を表す。図1の融合機に係るハードウェア構成図である。図1の融合機に係る外観図である。オペレーションパネルを表す。COLLECTORに係る機能ブロック図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。図1の融合機の状態遷移に係る状態遷移図である。フレームワークとクラスライブラリについて説明するための図である。JSDKアプリの検出処理に係るフローチャート図である。JSDKアプリの生成処理に係るフローチャート図である。アプリ状態遷移画面の表示例を示す図である。編集モードのアプリ状態遷移画面の表示例を示す図である。状態編集画面の表示例を示す図である。遷移条件設定画面の表示例を示す図である。編集結果が反映されたアプリ状態遷移画面の表示例を示す図である。機能モジュール状態遷移画面の表示例を示す図である。機能モジュール内の状態に係る状態編集画面の表示例を示す図である。機能モジュール内の状態遷移に係る遷移条件設定画面の表示例を示す図である。詳細情報設定画面の表示例を示す図である。使用をユーザ単位で推奨するアプリケーションを生成することを特徴とする請求項7記載の情報処理装置。10乃至14のいずれか1項記載の情報処理方法をコンピュータに実行させる情報処理プログラム。請求項10乃至14のいずれか1項記載の情報処理方法をコンピュータに実行させる情報処理プログラムが記録された記録媒体。