メニュー項目の選択に応じる方法であって、メニュー項目の定義の中でメニュー項目に関連した開始型を判定することと、開始型が、リストが提示されるべきであることを示す場合、リストサブシステムを起動して、メニュー項目の定義の中のメニュー項目に関連したパラメータの値を入力としてリストサブシステムに渡すことと、開始型が、フォームが提示されるべきであることを示す場合、フォームサブシステムを起動して、パラメータの値を入力としてフォームサブシステムに渡すことと、開始型が、カスタム動作が実行されるべきであることを示す場合、パラメータの値によって定義されたカスタム動作を起動することとを備える、方法。リストサブシステムがパラメータからリストフォームの形式を判定し、フォームサブシステムがパラメータからフォームの形式を判定する、請求項1に記載の方法。開始型が、異なるサブシステムが起動されるべきであることを示す場合、異なるサブシステムを起動して、パラメータの値を入力として異なるサブシステムに渡すことをさらに備える、請求項1に記載の方法。開始型が、グラフサブシステムが起動されるべきであることを示す、請求項3に記載の方法。開始型が、マップサブシステムが起動されるべきであることを示す、請求項3に記載の方法。開始型が、ツリーサブシステムが起動されるべきであることを示す、請求項3に記載の方法。メニュー項目の定義がXMLファイルの中に記憶される、請求項1に記載の方法。複数のメニュー項目の各々のために、メニュー項目に関連してラベルの値を記憶することと、複数のメニュー項目の各々のために、メニュー項目に関連して開始型の値を記憶することと、複数のメニュー項目の各々のために、メニュー項目に関連してパラメータの値を記憶することとを備える、メニューを定義する方法。メニューを定義するための構造はメニュー項目に多数の変数を関連付けるのが好ましく、メニュー項目の選択は、メニュー項目に関連した変数によって、そのうちのいくつかが共通サブシステムであってもよい任意の多くの機能を実行する。一態様によって、本発明はメニュー項目の選択に応じる方法を提供する。メニュー項目の定義の中でメニュー項目に関連したメニュー項目の開始型が判定される。開始型が、リストが提示されるべきであることを示す場合、リストサブシステムは起動され、メニュー項目の定義の中でメニュー項目に関連したパラメータの値は入力としてリストサブシステムに渡される。開始型が、フォームが提示されるべきであることを示す場合、フォームサブシステムは起動され、パラメータの値は入力としてフォームサブシステムに渡される。開始型が、カスタム動作が実行されるべきであることを示す場合、パラメータの値によって定義されたカスタム動作は起動される。別の態様によって、本発明はメニューを定義する方法を提供する。複数のメニュー項目の各々について、ラベルの値はメニュー項目に関連して記憶される。複数のメニュー項目の各々について、開始型の値はメニュー項目に関連して記憶される。複数のメニュー項目の各々について、パラメータの値はメニュー項目に関連して記憶される。本発明の方法は、コンピュータ可読記憶媒体上で処理命令として記憶され、命令はコンピュータプロセッサによって実行される。本発明は、メニュー項目の定義の中に含まれる項目の開始型によって、選択されたメニュー項目上で異なる動作が実行されることを可能にする。メニュー項目の定義構造もまた、定義された動作型を実行する際に使用するためのパラメータとして記憶される。いくつかの開始型については、パラメータは共通システムに対する入力である。他の開始型については、パラメータは、オブジェクトのために定義された特定の動作を伴うオブジェクトのクラス名である。本発明の特徴および利点は、添付の図面を参照する以下の好ましい実施形態の詳細な説明からより明らかとなろう。添付の図面では、類似した特徴には同様のラベルがついていることに留意されたい。図1を参照すると、本発明の一実施形態によるメニュー定義例の図が示されている。図1は、メニューが定義されるXMLファイルの内容を示す。図1のメニュー例は複数の層を持ち、いくつかの層でメニュー項目たとえばEquipmentとラベル付されたメニュー項目を選択することによって、ユーザはサブメニューにアクセスできるようになる。最終的には終了メニュー項目が提示され、それを選択することによって、サブメニューを開くこと以外のいくつかのタスクが実行される。図1に示されるメニューは3つのメニュー終了項目を含み、各々、labelという名前のラベル変数の値によって示される。ユーザによる選択のために利用可能なメニューの中の3つのメニュー終了項目は、Chassis、CardおよびPowerSupplyである。各メニュー終了項目はまた、launchtypeという名前の開始型変数を持つ。Chassisメニュー項目のためのlaunchtype変数の値はactionである。Cardメニュー項目のためのlaunchtype変数の値はlistである。PowerSupplyメニュー項目のためのlaunchtype変数の値はformである。各メニュー項目はまた、classNameという名前のパラメータ変数を持つ。Chassisメニュー項目のためのclassName変数の値はexample.action.ChassisActionである。Cardメニュー項目のためのclassName変数の値はexample.equipment.Cardである。PowerSupplyメニュー項目のためのclassName変数の値はexample.equipment.PowerSupplyである。図1を参照して説明されるメニューは、単なる例である。一般にメニューは、各終了項目が少なくとも3つの変数に関連付けられた構造を持つように定義され、変数のうちの1つはラベルであり、1つは開始型であり、1つは動作を実行する際に使用されるパラメータである。図2を参照すると、本発明の一実施形態による、メニュー終了項目を選択すると実行される方法の流れ図が示されている。方法は、メニューからメニュー終了項目が選択される場合に50開始する。ステップ52で、選択された項目の変数launchtypeの値がactionと等しいかどうかが判定される。等しい場合、次いでステップ54でコードモジュールが実行される。コードモジュールは、クラスおよび名前が変数classNameの値から導き出されるオブジェクトの内部にある。コードモジュールの名前は予め定義されているので、メニュー項目の選択時には知られている。コードモジュール内の論理は、任意の定義されたタスクを実行することができる。たとえば、コードはシステムの現在の状態を調べ、classNameの値から判定された選択されたメニュー項目によって表されるエンティティのために現在定義されている情報を判定し、エンティティが、現在、追加の構成を必要とするかどうかによって、リストまたはフォームのいずれかを開始することができる。選択された項目の変数launchtypeの値がactionと等しくない場合、ステップ56で、選択された項目の変数launchtypeの値がlistと等しいかどうかが判定される。等しい場合、次いでステップ58で、リストサブシステムへの入力としてclassNameの値を使用して、リストサブシステムが起動される。リストサブシステムは、classNameの値を使用して、開くための特定の型のリストウィンドウを判定する。classNameの値を使用して、リストサブシステムは、選択されたエンティティの型を判定し、リストの形式を判定する。リストの形式は、classNameの値によって示されるエンティティの型の検索を実行することについての情報とともに、すべてのエンティティ型についてリストサブシステム内で予め定義されている。形式は、リストウィンドウの内容のレイアウトを記述するXML形式のテキストファイルとして記憶されるのが好ましい。リストサブシステムに含まれる情報は、表示されるデータの他にも、適用されるフィルターを含む。classNameの値を使用して、リストサブシステムはまた、選択されたメニュー項目によって参照される特定のエンティティ、classNameの値から導き出されるエンティティ型と特定のエンティティの両方を判定する。リストサブシステムは、好ましくはメニューがアクセスされたアプリケーション用のディスプレイマネージャに直接リストウィンドウを開き、特定のエンティティのための現在のデータをリストウィンドウに投入する。選択された項目の変数launchtypeの値がlistと等しくない場合、次いでステップ60で、選択された項目の変数launchtypeの値がformと等しいかどうかが判定される。等しい場合、次いでステップ62で、classNameの値をフォームサブシステムへの入力として使用して、フォームサブシステムが起動される。フォームサブシステムは、classNameの値を使用して、開くための特定の型のフォームウィンドウを判定する。classNameの値を使用して、フォームサブシステムは選択されたエンティティの型を判定し、フォームの形式を判定する。フォームの形式は、すべてのエンティティ型について、フォームサブシステム内で予め定義されている。形式は、フォームウィンドウの内容のレイアウトを記述するXML形式のテキストファイルとして記憶されるのが好ましい。classNameの値を使用して、フォームサブシステムはまた、選択されたメニュー項目によって参照される特定のエンティティ、classNameの値から導き出されるエンティティ型と特定のエンティティの両方を判定する。フォームサブシステムは、好ましくはメニューがアクセスされたアプリケーション用のディスプレイマネージャに直接フォームウィンドウを開く。選択された項目の変数launchtypeの値がformと等しくない場合、変数launchtypeは未認識の値を持ち、ステップ64でエラーが生じる。図2を参照して説明される方法がコンパイルされる場合に、launchtype変数の未認識の値が検出されることになるので、理想的には、これは生じるべきではない。しかしながら、完全を期すため、または安全策として、エラーはステップ64で処理されてもよい。エラーが発生したときに行われるべき動作は、本出願の範囲には入らないが、単にエラーメッセージの提示であってもよい。代替として、他の開始型およびそれらの関連の動作は定義され、メニュー定義の中に含まれてもよい。変数classNameの値の使用は、開始型のために実行される論理によって決まる。グラフ開始型およびサブシステム、マップ開始型およびサブシステム、ならびにツリー開始型およびサブシステムは例である。たとえば、グラフ開始型の例では、図2を参照して上で説明された方法は変更されてもよいので、launchtypeの値がgraphと等しいかどうかが判定される。等しい場合、classNameの値を入力パラメータとして使用して、グラフサブシステムが起動される。大まかに言えば、メニュー項目が選択されると、メニュー項目のために定義される開始型が判定され、開始型に基づいて動作が行われる。開始型が、カスタム動作が実行されるべきであることを示す場合、カスタム動作を起動するために、メニュー項目のために定義されたパラメータが使用される。開始型が、リストがメニュー項目のために表示されるべきであることを示す場合、メニュー項目のために定義されたパラメータを入力として使用して、リストサブシステムが起動される。開始型が、フォームがメニュー項目のために表示されるべきであることを示す場合、メニュー項目のために定義されたパラメータを入力として使用して、フォームサブシステムが起動される。その他の開始型およびそれらの関連の動作もまた定義されてよい。本方法の論理はソフトウェアの形態であるのが好ましく、またメニュー終了項目の選択時にコンピュータプロセッサに動作させることができるコンピュータ可読記憶媒体上の命令として記憶されてもよい。メニュー項目のためのラベル、開始型およびパラメータの関連を含めて、メニューの定義は、コンピュータプロセッサにメニューを提示させることができるコンピュータ可読記憶媒体上に記憶されてもよい。提示される実施形態は単に例示的なものであり、当業者には、本発明の趣旨から逸脱することなく上述の実施形態の変形が作られてもよいということを諒解されたい。たとえば、メニューはXMLファイル以外の他の手段を使用して定義されてもよい。別の例として、launchtype変数の値が判定される順序は変更されてもよく、方法は、図2を参照する上述のものと論理的に同等の任意の方法であってよい。他のlaunchtype変数の値が使用され得る。本発明の範囲は、添付の特許請求の範囲によってのみ定義される。