プログラムをインストール可能な画像形成装置であって、前記プログラムより当該画像形成装置の設定項目に対する期待値を取得する第一の取得手段と、前記設定項目に対する設定値を当該画像形成装置より取得する第二の取得手段と、前記設定項目ごとに前記期待値と前記設定値とを関連付けて出力する出力手段とを有する画像形成装置。前記第一の取得手段は、異常状態の前記プログラムより、当該異常状態に関連する前記設定項目に対する期待値を取得する請求項1記載の画像形成装置。前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手段を有する請求項1又は2記載の画像形成装置。プログラムをインストール可能な画像形成装置が、前記プログラムより当該画像形成装置の設定項目に対する期待値を取得する第一の取得手順と、前記設定項目に対する設定値を当該画像形成装置より取得する第二の取得手順と、前記設定項目ごとに前記期待値と前記設定値とを関連付けて出力する出力手順とを実行するプログラム管理方法。前記第一の取得手順は、異常状態の前記プログラムより、当該異常状態に関連する前記設定項目に対する期待値を取得する請求項4記載のプログラム管理方法。前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手順を有する請求項4又は5記載のプログラム管理方法。プログラムをインストール可能な画像形成装置に、前記プログラムより当該画像形成装置の設定項目に対する期待値を取得する第一の取得手順と、前記設定項目に対する設定値を当該画像形成装置より取得する第二の取得手順と、前記設定項目ごとに前記期待値と前記設定値とを関連付けて出力する出力手順とを実行させるプログラム管理プログラム。前記第一の取得手順は、異常状態の前記プログラムより、当該異常状態に関連する前記設定項目に対する期待値を取得する請求項7記載のプログラム管理プログラム。前記期待値と前記設定値とが異なる前記設定項目に、前記期待値を設定する更新手順を有する請求項7又は8記載のプログラム管理プログラム。請求項7乃至9いずれか一項記載のプログラム管理プログラムを記録したコンピュータ読み取り可能な記録媒体。しかしながら、或るアプリケーションが異常状態となった場合、当該異常状態が、当該アプリケーションの内部要因によるものなのか、或いは外部要因によるものなのかを判断するのは、困難な場合がある。異常状態の原因解析のため、ログを出力するアプリケーションも存在するが、ログの内容は、当該アプリケーションの開発者でなければ解読が困難な場合が多い。特に、外部要因に関しては、外部要因としての設定項目に対する設定値が不正であるとは限らない。設定値としては、設定可能な値が設定されているが、当該値が、異常状態の特定のアプリケーションが期待している値と異なることが原因である場合もある。このような、外部要因としての設定項目に対する設定値と、アプリケーションの期待値との不整合は、当該設定値を期待値に修正することにより容易に解消することができる。それにも拘わらず、当該不整合がアプリケーションの異常状態の原因であることを突き止めること自体が困難であるため、ユーザ又はサービスマン等には、異常状態の解消のために必要以上の作業負担が課せられるという問題がある。本発明は、上記の点に鑑みてなされたものであって、プログラムの管理負担を軽減させることのできる画像形成装置、プログラム管理方法、プログラム管理プログラム、及び記録媒体の提供を目的とする。そこで上記課題を解決するため、本発明は、プログラムをインストール可能な画像形成装置であって、前記プログラムより当該画像形成装置の設定項目に対する期待値を取得する第一の取得手段と、前記設定項目に対する設定値を当該画像形成装置より取得する第二の取得手段と、前記設定項目ごとに前記期待値と前記設定値とを関連付けて出力する出力手段とを有する。このような画像形成装置では、プログラムの管理負担を軽減させることができる。本発明によれば、プログラムの管理負担を軽減させることができる。以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムの構成例を示す図である。同図の機器管理システム1において、一以上の画像形成装置10、機器管理サーバ20、及びユーザ端末30等は、LANLocalAreaNetwork又はインターネット等のネットワーク40有線又は無線の別は問わないを介して通信可能に接続されている。画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を単体で有する機器が画像形成装置10として用いられてもよい。画像形成装置10には、機能拡張等を目的としてプログラム後述されるSDKアプリ152のインストール又はアンインストール等が可能である。機器管理サーバ20は、ユーザ端末30より転送される要求に応じ、画像形成装置10を遠隔的に管理又は操作するコンピュータである。機器管理サーバ20は、例えば、画像形成装置10の状態や、画像形成装置10にインストールされているプログラムの状態等を監視する。ユーザ端末30は、マウス及びキーボード等の入力手段、並びに液晶ディスプレイ等の表示手段等を備え、機器管理システム1のユーザインタフェースとして機能するコンピュータである。例えば、ユーザ端末30は、機器管理サーバ20に対する要求をユーザに入力させ、当該要求に応じて機器管理サーバ20より返信される情報を表示する。図2は、本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。図2の機器管理サーバ20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205とを有する。機器管理サーバ20での処理を実現するプログラムは、CD-ROM等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従って機器管理サーバ20に係る機能を実行する。インタフェース装置205は、ネットワークに接続するためのインタフェースとして用いられる。なお、機器管理サーバ20が直接的にユーザによって操作されてもよい。その場合、機器管理サーバ20は、入力手段及び表示手段等を備えていればよい。図3は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。同図において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。コントローラ11は、CPU111、RAM112、ROM113、HDD114、及びNVRAM115等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。NVRAM115には、各種の設定情報等が記録される。スキャナ12は、原稿より画像データを読み取るためのハードウェア画像読取手段である。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェア印刷手段である。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段等を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク有線又は無線の別は問わない。に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体例えば、CD-ROM又はUSBUniversalSerialBusメモリ等によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。図4は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、標準アプリ151、SDKアプリ152、SDKプラットフォーム153、コントロールサービス154、及びOS155等を有する。標準アプリ151は、画像形成装置10に標準的に出荷時に予め実装されているアプリケーションの集合である。同図では、スキャンアプリ1511、印刷アプリ1512、コピーアプリ1513、及びFAXアプリ1514が例示されている。スキャンアプリ1511は、スキャンジョブを実行する。印刷アプリ1512は印刷ジョブを実行する。コピーアプリ1513は、コピージョブを実行する。FAXアプリ1514は、FAXの送信ジョブ又は受信ジョブを実行する。コントロールサービス154は、各種のハードウェアリソース等を制御するための機能を上位アプリケーション等に対して提供したり、画像形成装置10の基盤的な機能等を実行したりするソフトウェアモジュール群である。SDKアプリ152は、画像形成装置10の出荷後において、画像形成装置10の機能拡張等を図るためのプラグインとして追加的にインストールされるアプリケーションプログラムである。したがって、SDKアプリ152の機能は、所定のものに限定されない。例えば、SDKアプリ152は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。SDKプラットフォーム153は、SDKアプリ152の実行環境を実現する。各SDKアプリ152は、SDKプラットフォーム153が提供するAPIApplicationProgramInterfaceを利用して開発される。例えば、SDKプラットフォーム153は、スキャン機能を利用させるためのインタフェース、印刷機能を利用させるためのインタフェース、コピー機能を利用させるためのインタフェース等をSDKアプリ152に提供する。なお、SDKプラットフォーム153のAPIは公開されており、サードベンダ等によってもSDKアプリ152は開発されうる。また、当該APIは、異機種間において平滑化されている。したがって、SDKアプリ152に関して、機種に応じて異なる実装が行われる必要性は低い。OS155は、いわゆるOSOperatingSystemである。画像形成装置10上の各ソフトウェアは、OS155上においてプロセス又はスレッドとして動作する。SDKアプリ152及びSDKプラットフォーム153について、更に詳しく説明する。図5は、SDKアプリ及びSDKプラットフォームの機能構成例を示す図である。同図には、SDKアプリ152として、SDKアプリ152aと、それ以外のDKアプリ152とが例示されている。SDKアプリ152aは、本実施の形態においてアプリ状態管理部152aとして機能するSDKアプリ152である。以降では、他のSDKアプリ152との混同を避けるため、SDKアプリ152aを、アプリ状態管理部152aと呼ぶ。アプリ状態管理部152aは、自分アプリ状態管理部152a以外のSDKアプリ152の状態の監視等に利用される。同図において、アプリ状態管理部152aは、通信制御部161、アプリ状態提供部162、アプリ状態取得部163、システム設定取得部164、システム設定更新部165、及び監視対象記憶部166等を有する。監視対象記憶部166は、例えば、NVRAM115を用いて、状態の監視対象とするSDKアプリ152の識別情報を記憶する。アプリ状態提供部162は、ネットワークを介して受信される、SDKアプリ152の状態を示す情報状態情報の取得要求に応じ、監視対象記憶部166において監視対象として指定されているSDKアプリ152の状態情報等を、取得要求元に返信する。本実施の形態において、状態情報の取得要求元は、機器管理サーバ20である。アプリ状態取得部163は、各SDKアプリ152より、当該SDKアプリ152の状態情報を取得する。システム設定取得部164は、画像形成装置10の設定情報を構成する各項目設定項目又は設定パラメータの現在の設定値現在値を、コントロールサービス154より取得する。画像形成装置10の設定情報とは、画像形成装置10単位に設定される設定情報をいう。画像形成装置10単位であるから、SDKアプリ152ごとに設定される設定情報は、画像形成装置10の設定情報ではない。本実施の形態において、画像形成装置10の設定情報を、システム設定という。システム設定は、複数のSDKアプリ152から共用又は参照されうる。したがって、システム設定は、複数のSDKアプリ152の振る舞い又は動作に影響を与えうる。システム設定更新部165は、システム設定の設定値を更新する。通信制御部161は、機器管理サーバ20からの状態情報の取得要求を受信したり、各SDKアプリ152より取得された状態情報を機器管理サーバ20に送信したりする。アプリ状態管理部152a以外の各SDKアプリ152は、自アプリ状態通知部171、自アプリ状態保存部172、及び自アプリ状態記憶部173等を有する。自アプリ状態通知部171は、例えば、RAM112を用いて、当該SDKアプリ152の現在の状態を把握している。すなわち、自アプリ状態通知部171は、当該SDKアプリ152の現在の状態を示す状態情報をRAM112に記憶させている。自アプリ状態通知部171は、アプリ状態取得部163からの状態情報の取得要求応じ、RAM112に記憶させている状態情報を応答する。自アプリ状態保存部172は、当該SDKアプリ152が停止状態に移行する際に、自アプリ状態通知部171より状態情報を取得し、当該状態情報を自アプリ状態記憶部173に書き込む保存する。自アプリ状態記憶部173は、例えば、NVRAM115等を用いて状態情報を記憶する。すなわち、NVRAM115中において、当該SDKアプリ152に関連付けられている記憶領域に当該SDKアプリ152の状態情報が記録される。一方、SDKプラットフォーム153は、複合機クラスライブラリ181、仮想マシン182、ネイティブプログラムインタフェース183、及びアプリ管理部184等を有する。複合機クラスライブラリ181は、SDKプラットフォーム153のAPIを提供する、Java登録商標のクラスライブラリである。当該APIを介した要求は、必要に応じてコントロールサービス154に伝達される。コントロールサービス154による処理結果は、複合機クラスライブラリ181に返却される。複合機クラスライブラリ181は、当該処理結果を、上記APIに即した形式に変換し、SDKアプリ152に返却する。ネイティブプログラムインタフェース183は、複合機クラスライブラリ181からコントロールサービス154への要求の伝達等を、JNIJava登録商標NativeInterfaceの機構を用いて実現する。すなわち、コントロールサービス154は、ネイティブコードによって実装されているため、ネイティブプログラムインタフェース183が必要とされる。仮想マシン182は、Java登録商標のバイトコードによる命令の解釈及び実行を行う、いわゆるJava登録商標仮想マシンである。各SDKアプリ152は、仮想マシン182によってスレッドとして起動される。アプリ管理部184は、主としてSDKアプリ152のライフサイクルを管理する。具体的には、アプリ管理部184は、SDKアプリ152をユーザに操作させるための管理画面を表示させる。アプリ管理部184は、当該管理画面を介した入力に応じ、SDKアプリ152のインストール、起動、停止、又はアンインストール等を実行する。アプリ管理部184は、また、画像形成装置10にインストールされているSDKアプリ152の一覧情報を、例えば、NVRAM115を用いて管理する。なお、SDKプラットフォーム153は、それ自身、画像形成装置10にインストールされるアプリケーションの一種である。例えば、SDKプラットフォーム153は、SDカード80から又はネットワークを介して画像形成装置10にインストールされる。但し、SDKプラットフォーム153は、SDKアプリ152とは異なり、OS155上で一つのプロセスとして動作する。コントロールサービス154は、各種のシステム設定の管理部を有する。同図には、認証設定管理部1541、ネットワーク設定管理部1542、印刷設定管理部1543、セキュリティ設定管理部1544、及び省電力設定管理部1545等が例示されている。認証設定管理部1541は、システム設定の一部である認証設定を管理する。認証設定とは、ユーザの認証に関する設定情報や課金に関する設定情報である。認証設定の一例として、ユーザ情報ユーザ名、パスワード等、認証方式、外部の認証サーバの識別情報、及び課金のタイミングに関する設定等が挙げられる。ネットワーク設定管理部1542は、システム設定の一部であるネットワーク設定を管理する。ネットワーク設定とは、ネットワーク通信に関する設定情報である。ネットワーク設定の一例として、有効なプロトコルやDNSDomainNameSystemに関する設定が挙げられる。印刷設定管理部1543は、システム設定の一部である印刷設定を管理する。印刷設定とは、印刷ジョブ又は印刷アプリ1512に関する設定情報である。印刷設定の一例として、有効なプリンタ言語の設定が挙げられる。セキュリティ設定管理部1544は、システム設定の一部であるセキュリティ設定を管理する。セキュリティ設定とは、セキュリティに関する設定情報である。省電力設定管理部1545は、システム設定の一部である省電力設定を管理する。省電力設定とは、省電力モードに関する設定情報である。省電力設定の一例として、省電力状態へ移行するタイミングに関する設定が挙げられる。図6は、SDKアプリとシステム設定との関係の一例を説明するための図である。同図には、実装されている機能に応じて、依存するシステム設定の例が示されている。依存するシステム設定とは、SDKアプリ152の動作に影響を与えるシステム設定をいう。例えば、認証系機能が実装されているSDKアプリ152は、認証設定の影響を受ける。認証系機能とは、例えば、ユーザ認証機能、課金機能等である。印刷系機能が実装されているSDKアプリ152は、印刷設定の影響を受ける。印刷系機能には、印刷機能以外に、コピー機能等も含まれる。画像形成装置10において、コピーは、スキャンと印刷との組み合わせとして扱われるからである。通信系機能が実装されているSDKアプリ152は、ネットワーク設定の影響を受ける。通信系機能とは、例えば、ファイル配信機能、ネットワーク認証機能等である。このように、SDKアプリ152とシステム設定とは、密接な関係を有する。例えば、システム設定の現在値が、或るSDKアプリ152の期待又は予定している値に一致しない場合、当該SDKアプリ152は、正常に動作しない可能性がある。続いて、本実施の形態におけるSDKアプリ152が有する状態について説明する。図7は、SDKアプリが有する状態の例を説明するための図である。本実施の形態において、SDKアプリ152の状態は、二種類有る。一つは外部状態であり、もう一つは内部状態である。外部状態とは、SDKアプリ152の外部本実施の形態では、アプリ管理部184が把握している状態である。すなわち、外部状態は、アプリ管理部184が管理する、SDKアプリ152のライフサイクルとほぼ同義である。したがって、外部状態の分類は、各SDKアプリ152に対して共通である。一方、内部状態は、各SDKアプリ152の内部において管理されている状態である。すなわち、内部状態は、各SDKアプリ152に固有の仕様に基づいて、SDKアプリ152ごとに定義された状態である。したがって、内部状態の分類は、SDKアプリ152ごとに異なりうる。各SDKアプリ152の自アプリ状態通知部171、自アプリ状態保存部172、及び自アプリ状態記憶部173が扱う状態情報は、内部状態に関する状態情報である。本実施の形態において、外部状態は、起動状態、停止状態、及び未インストール状態に分類される。未インストール状態は、画像形成装置10にインストールされていない状態である。起動状態は、インストール済みのSDKアプリ152がRAM112にロードされ、起動されている例えば、スレッドとして起動されている状態である。停止状態は、インストール済みのSDKアプリ152が停止している状態である。内部状態の分類として、同図には、正常状態、処理中状態、警告状態、及びエラー状態が例示されている。上記したように、内部状態の分類は、SDKアプリ152に依存する。したがって、当該分類は、一例に過ぎない。正常状態は、SDKアプリ152が起動していて、処理を正常に実行可能な状態である。処理中状態は、SDKアプリ152が起動していて、処理中の状態である。警告状態は、SDKアプリは起動しているが、軽微な異常が発生又は異常の発生の可能性が予期される状態である。軽微な異常とは、例えば、動作の継続は可能であるが、一部の機能に関して支障が生じる可能性の有る異常である。エラー状態は、SDKアプリ152は起動しているが、重大な異常が発生している状態である。重大な異常とは、例えば、動作の継続が不可能な異常である。なお、外部状態と内部状態とは、階層構造を形成する。すなわち、内部状態における各状態は、外部状態におけるいずれかの状態に属する。同図では、外部状態が起動状態である場合に、正常状態、処理中状態、警告状態、又はエラー状態のいずれかの内部状態が発生することが示されている。停止状態に属する内部状態は、便宜上、省略されている。上記したように、SDKアプリ152が停止状態に移行する際、停止状態へ移行する直前の内部状態が、自アプリ状態保存部172によって自アプリ状態記憶部173に記録される。したがって、本実施の形態では、停止状態に属する内部状態は、起動状態に属する内部状態とほぼ同様である。未インストール状態に関しては、内部状態は無い。インストールされていなければ、内部状態は発生し得ないからである。以下、画像形成装置10の処理手順について説明する。図8は、本実施の形態の画像形成装置が実行する処理手順の一例を説明するためのシーケンス図である。ステップS101において、機器管理サーバ20は、ユーザ端末30からの要求に応じ、SDKアプリ152の状態情報の取得要求を画像形成装置10に送信する。当該取得要求の送信先となる画像形成装置10は、例えば、機器管理サーバ20に予め識別情報IPアドレス等が登録されている一以上の画像形成装置10であってもよいし、ユーザ端末30からの要求において指定されている一以上の画像形成装置10であってもよい。画像形成装置10のアプリ状態管理部152aの通信制御部161は、当該取得要求を受信すると、アプリ状態提供部162に状態情報の取得要求を入力するS102。アプリ状態提供部162は、当該取得要求の入力に応じ、監視対象記憶部166に記憶されている情報を取得するS103。図9は、監視対象記憶部の構成例を示す図である。同図に示されるように、監視対象記憶部166は、状態の監視対象とするSDKアプリ152のプロダクトIDの一覧を記憶する。プロダクトIDとは、本実施の形態において、各SDKアプリ152の識別情報である。同図では、プロダクトIDが、119036489、204752189、485408163、又は636491000である4つのSDKアプリ152が監視対象として指定されている例が示されている。なお、監視対象記憶部166の内容が空である場合、画像形成装置10にインストールされている全てのSDKアプリ152が監視対象とされてもよい。続いて、アプリ状態提供部162は、監視対象記憶部166より取得されたプロダクトID群を指定して、状態情報の取得要求をアプリ状態取得部163に入力するS104。アプリ状態取得部163は、状態情報の取得要求に応じ、当該取得要求に指定されたプロダクトID群を指定して、外部状態の取得をアプリ管理部184に対して要求するS105。アプリ管理部184は、指定されたプロダクトID群に係る各SDKアプリ152の外部状態を示す状態情報外部状態情報をプロダクトIDに関連付けてアプリ状態取得部163に応答するS106。図10は、外部状態情報の応答の構成例を示す図である。同図に示されるように、アプリ管理部184は、プロダクトIDごとに、当該プロダクトIDに係るSDKアプリ152の外部状態情報を応答する。なお、SDKアプリ152のインストール処理、起動処理、又は停止処理等を実行するのはアプリ管理部184である。したがって、アプリ管理部184は、各SDKアプリ152が、起動状態であるか又は停止状態であるかを示す状態情報を、例えば、NVRAM115を用いて管理している。したがって、ステップS106では、NVRAM115に記録されている状態情報が応答される。続いて、アプリ状態取得部163は、ステップS104において入力された状態情報の取得要求に指定されたプロダクトID群に係る各SDKアプリ152に対して、内部状態の問い合わせ内部状態を示す状態情報の取得要求を行う。具体的には、起動状態のSDKアプリ152については、アプリ状態取得部163は、当該SDKアプリ152の自アプリ状態通知部171に対して、内部状態の問い合わせを行うS107。当該自アプリ状態通知部171は、問い合わせに応じ、当該SDKアプリ152の内部状態を示す状態情報内部状態情報をアプリ状態取得部163に応答するS108。また、停止状態のSDKアプリ152については、アプリ状態取得部163は、当該SDKアプリ152の自アプリ状態記憶部173より、当該SDK152の内部状態情報を取得するS109、S110。自アプリ状態記憶部173より取得される内部状態情報は、当該SDKアプリ152が停止状態に移行する際に、自アプリ状態保存部172によって自アプリ状態記憶部173に書き込まれた記録された内部状態情報である。各SDKアプリ152から取得される内部状態を情報は、例えば、図11に示されるような構成を有する。図11は、内部状態情報の構成例を示す図である。同図には、問い合わせ先のSDKアプリ152の内部状態に応じた状内部態情報の具体例1、2、及び3が示されている。1、2、及び3は、内部状態及び拡張情報の項目から構成される点において共通する。1は、正常状態のSDKアプリ152より取得される内部状態情報の具体例である。正常状態のSDKアプリ152からは、内部状態の項目に正常状態を示す値が記録された内部状態情報が取得される。2は、警告状態のSDKアプリ152より取得される内部状態情報の具体例である。警告状態のSDKアプリ152からは、内部状態の項目に警告状態を示す値が記録され、拡張情報の項目に、警告状態の原因ごとに、詳細メッセージ及び状態コードが記録された内部状態情報が取得される。詳細メッセージとは、警告状態の原因の内容を示すメッセージである。状態コードは、警告状態の原因を識別するための番号識別子である。例えば、状態コードは、SDKアプリ152の開発者等が理解可能な情報である。3は、エラー状態のSDKアプリ152より取得される内部状態情報の具体例である。エラー状態のSDKアプリ152からは、内部状態の項目にエラー状態を示す値が記録され、拡張情報の項目に、エラー状態の原因ごとに、詳細メッセージ、状態コード、システム設定の期待値が記録された内部状態情報が取得される。詳細メッセージ及び状態コードについては、2における説明より自明であるため、その説明は省略する。システム設定の期待値は、エラー状態の原因に関連するシステム設定の設定項目に関して、当該SDKアプリ152が期待している又は正常動作の前提として予定している設定値である。例えば、同図では、認証サーバに接続できませんというエラー状態の原因に関して、設定項目IPv4に対する期待値は有効であることが示されている。このことは、IPv4に対する設定値が有効になっていることが、認証サーバに接続可能な前提であることを示す。すなわち、このことは、IPv4に対する設定値が、有効になっていることの確認を要求するメッセージであるともいえる。拡張外部課金設定1又は拡張外部課金設定2に関しても同様である。なお、内部状態情報に含まれている、システム設定の期待値に関する情報は、該当する設定項目に対する現在の設定値現在値が、期待値と異なることについてまでは言及していない。本実施の形態において、アプリ状態管理部152aを除く各SDKアプリ152には、システム設定の現在値を取得するための所定のAPIを呼び出すことができず、現在値を知る術がないからである。各SDKアプリ152が、当該APIを呼び出すことができないのは、当該APIが、例えば、セキュリティ上の観点から画像形成装置10のメーカ以外には公開されていないからである。本実施の形態では、アプリ状態管理部152aは、画像形成装置10のメーカによって開発されたものであり、他のSDKアプリ152は、サードベンダによって開発されたものである。但し、プログラムロジックにおいて、当該APIの呼び出し元がアプリ状態管理部152aに限定されるようにしてもよい。例えば、アプリ状態管理部152aに係るプロダクトIDを有するSDKアプリ152から当該APIが呼び出されたときは、当該APIの実装内容が実行され、それ以外の場合は、当該APIの実装内容の実行が拒否されるようにしてもよい。なお、図11に示される構成は、一例である。内部状態情報には、更に詳細な情報が含まれていてもよいし、状態コードは含まれていなくてもよい。すなわち、内部状態情報の内容は、SDKアプリ152の開発者に依存する。但し、各SDKアプリ152の内部状態情報は、アプリ状態管理部152aが解読可能な形式である必要がある。続いて、アプリ状態取得部163は、各SDKアプリ152より取得された外部状態情報及び内部状態情報をアプリ状態提供部162に応答するS111。なお、各内部状態情報には、当該内部状態情報の取得先のSDKアプリ152のプロダクトIDが関連付けられて、アプリ状態提供部162に応答される。アプリ状態提供部162は、各内部状態情報を確認し、システム設定の期待値が含まれている場合、当該システム設定の設定項目の識別名設定項目名を指定して、システム設定の現在値の取得をシステム設定取得部164に要求するS112。図11の3に示される内部状態情報に関する場合、IPv4、拡張外部課金設定1、及び拡張外部課金設定2の設定項目名が指定されて、現在値の取得が要求される。システム設定取得部164は、指定された各設定項目名に対する現在値の取得を、コントロールサービス154に要求するS113。当該要求は、厳密には、SDKプラットフォーム153の複合機クラスライブラリ181の所定のAPI図11の説明の説明において言及したAPIを呼び出すことによって行われる。複合機クラスライブラリ181は、ネイティブプログラムインタフェース183を介して、コントロールサービス154に対して、現在値の取得を要求する。現在値の取得要求先は、現在値の取得対象の設定項目を管理する各管理部である。例えば、IPv4については、ネットワーク設定管理部1542が、拡張外部課金設定1、及び拡張外部課金設定2については、認証設定管理部1541が、現在値の取得要求先となる。システム設定取得部164は、各設定項目の管理先がいずれかであるのかを知っている。斯かる知識は、予めシステム設定取得部164のロジックとして実装されていてもよいし、外部ファイル等に記録されていてもよい。外部ファイルには、設定項目名と管理先の識別情報との対応情報が記録されていればよい。設定項目の現在値の取得を要求された管理部例えば、ネットワーク設定管理部1542、認証設定管理部1541は、指定された設定項目の現在値を、例えば、NVRAM115より取得し、取得された現在値をシステム設定取得部164に応答するS114。当該応答は、ネイティブプログラムインタフェース183及び複合機クラスライブラリ181を介して行われる。システム設定取得部164は、取得された各設定項目の現在値を、アプリ状態提供部162に応答するS115。続いて、アプリ状態提供部162は、ステップS111において取得された外部状態情報及び内部状態情報と、ステップS115において取得されたシステム設定の現在値とを相互に関連付けて統合して、状態情報の取得結果を示すデータ状態取得結果データを生成するS116。図12は、状態取得結果データの一例を示す図である。同図に示されるように、状態取得結果データは、プロダクトIDごと監視対象のSDKアプリ152ごとに、外部状態情報及び内部状態情報を含む。また、内部状態が警告状態又はエラー状態であるSDKアプリ152に関しては、拡張情報として、詳細情報及び状態コードを含む。更に、内部状態がエラー状態であるSDKアプリ152に関しては、拡張情報の一部として、エラー状態の原因に関連するシステム設定の設定項目ごとに、期待値及び現在値を含む。すなわち、期待値と現在値とは対比可能なように関連付けられて状態取得結果データに含められる。同図の例によれば、例えば、プロダクトIDが636491000であるSDKアプリ152が、起動状態においてエラー状態であることが分かる。また、当該SDKアプリ152は、システム設定の設定項目IPv4に関して、有効を期待値とするのに対し、現在値は無効であることが分かる。一方、拡張外部課金設定1及び拡張外部課金設定2については、現在値は、期待値に一致していることが分かる。なお、同図では、有効又は無効が設定可能な設定項目が例示されているが、文字列や数値等が設定可能な設定項目に関しても、本実施の形態は有効である。続いて、アプリ状態提供部162は、生成された状態取得結果データを通信制御部161に応答出力するS117。なお、状態取得結果データの出力先は、例えば、HDD114であってもよいし、印刷用紙であってもよい。すなわち、アプリ状態提供部162は、印刷アプリ1512に対して状態取得結果データの印刷を要求する。印刷アプリ1512は、要求に応じ、状態取得結果データの印刷を、プリンタ13に実行させる。続いて、通信制御部161は、当該状態取得結果データを、ステップS101における状態情報の取得要求に対する応答として返信するS118。当該状態取得結果データを受信した機器管理サーバ20は、例えば、当該状態取得結果データを含む画面をユーザ端末30に表示させる。当該画面は、例えば、Webページであってもよい。または、機器管理サーバ20は、当該状態取得結果データを含む電子メールをユーザ端末30に送信してもよい。ユーザは、ユーザ端末30において表示される状態取得結果データを参照して、プロダクトIDが636491000であるSDKアプリ152が、エラー状態であること等を知ることができる。また、ユーザは、当該エラー状態は、システム設定の設定項目IPv4の現在値が無効であることが原因である可能性を知ることができる。そこで、ユーザは、画像形成装置10のIPv4の設定値を有効に更新させることにより、当該エラー状態を解消することができる。なお、現在値と期待値とが一致しない場合に、現在値の更新が自動的に実行されてもよい。この場合の処理手順について説明する。図13は、本実施の形態の画像形成装置が実行する処理手順の一例を説明するための第二のシーケンス図である。図13中、図8と同一ステップには同一ステップ番号を付し、その説明は省略する。図13では、ステップS121以降の処理手順が、図8と異なる。ステップS121において、アプリ状態提供部162は、状態取得結果データにおいて、現在値と期待値とが一致しない設定項目図11の例では、IPv4に関して、設定項目名と当該期待値とを指定してシステム設定の更新をシステム設定更新部165に要求するS121。システム設定更新部165は、更新対象の設定項目IPv4について、指定された期待値への更新をコントロールサービス154ネットワーク設定管理部1542に要求するS122。当該要求が、複合機クラスライブラリ181及びネイティブプログラムインタフェース183を介して行われるのは、ステップS113と同様である。また、システム設定更新部165は、各設定項目の管理先がいずれかであるのかを知っているのは、システム設定取得部164と同様である。なお、システム設定更新部165は、コントロールサービス154にシステム設定の更新を要求する前に、各SDKアプリ152に対して、更新対象の設定項目名及びこれから設定しようとしている値期待値を指定して、更新の許否を問い合わせてもよい。すなわち、これから行おうとする更新によって、悪影響を受けるSDKアプリ152が発生する可能性があるからである。問い合わせを行った全てのSDKアプリ152より更新の許可が得られた場合に、コントロールサービス154に対してシステム設定の更新が要求されるようにしてもよい。設定項目の現在値の更新を要求されたコントロールサービスネットワーク管理部は、更新対象の設定項目の現在値を、指定された期待値によって更新し、更新結果更新の成否をシステム設定更新部165に応答するS123。システム設定部は、当該更新結果をアプリ状態提供部162に応答するS124。アプリ状態提供部162は、必要に応じて状態取得結果データを更新し、当該状態取得結果データを、通信制御部161に応答するS125。例えば、更新に成功した場合、更新された設定項目に関して、更新されたことを示す情報が状態取得結果データに追加されてもよい。ステップS126は、ステップS118図8と同様である。上述したように、本実施の形態によれば、異常状態エラー状態のSDKアプリ152が存在する場合に、当該SDKアプリ152がシステム設定の設定項目に関して期待する設定値期待値と、当該設定項目に現在設定されている値現在値とが対比可能なように関連付けられて出力される。したがって、ユーザ等は、当該異常状態の原因を、容易に把握することができる。また、期待値と現在値とが一致しない設定項目について、自動的に期待値が設定されることにより、ユーザ等の作業負担を更に軽減することができる。なお、本実施の形態では、アプリ状態管理部152aが一つのSDKアプリ152aとして実装される例について説明した。このような実施形態は、既に市場に流通している画像形成装置10を用いて本実施の形態を実施する際に特に有効である。アプリ状態管理部152aとしてのSDKアプリ152aを斯かる画像形成装置10にインストールすればよいからである。すなわち、本実施の形態において、アプリ状態管理部152aが一つのSDKアプリ152aとして構成される例を説明したのは、既に市場に流通している画像形成装置10の利便性を考慮したためであり、技術的な制約に基づくものではない。したがって、アプリ状態管理部152aは、例えば、SDKプラットフォーム153内に実装されてもよい。図14は、アプリ状態管理部がSDKプラットフォームの一部として実装される例を示す図である。図14中、図5と同一部分には同一符号を付し、その説明は省略する。同図において、アプリ状態管理部152aは、SDKプラットフォーム153に含まれている。このような構成によれば、アプリ状態管理部152aとしてのSDKアプリ152aをインストールしなくとも、本実施の形態を実施することができる。但し、既に市場に流通している画像形成装置10に関しては、SDKプラットフォーム153のバージョンアップ等が必要とされる。以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形変更が可能である。