"パラメータをもっている成分を有する図形を実行する方法であって;a図形をランタイム実行する際の図形のランタイムパラメータを検索し、そのランタイムパラメータは図形をランタイム実行する際に決定できると定義されている値を有し;bそのランタイムパラメータに対する値をユーザ入力によって提供すべきかどうかを決定し;c上記のように決定されたあらゆるランタイムパラメータのユーザ入力を受け取るためのユーザへのプロンプトを表示し;dこのようなプロンプトに対するユーザの応答に基づいて第一最終パラメータ値を決定し;次いでeその第一最終パラメータ値を、ランタイムパラメータに対する値として用いて図形を実行する;ことを含んでなる方法。aランタイムパラメータに対する値を、外部からプログラムで供給すべきかどうかを決定し;次いでbこのように決定された、あらゆるランタイムパラメータに対する外部から供給される値を検索し;cこのような外部から供給された値に基づいて第二の最終パラメータ値を決定し;次いでd該第二の最終パラメータ値を、ランタイムパラメータに対する値として使用して図形を実行する;ことをさらに含む請求項1に記載の方法。図形成分のパラメータをランタイムパラメータとして指定できるようにするインタフェースを提供することをさらに含む請求項1に記載の方法。該第一の最終パラメータ値を決定することが、式を評価することを含む請求項1に記載の方法。該式がメタデータを計算する請求項4に記載の方法。該第二の最終パラメータ値を決定することが、式を評価することを含む請求項2に記載の方法。該式がメタデータを計算する請求項6に記載の方法。ユーザ入力受け取りに対するプロンプトが条件付きであり、そしてそのプロンプトを表示することが、前に表示されたプロンプトに対するユーザ入力を評価することに依存している請求項2に記載の方法。図形をランタイムに実行する際に図形を変形する方法であって;a図形のランタイム実行時に、図形の成分を、条件及び条件インタプリテーションを有する条件成分であると定義するかどうかを決定し;bあらゆるこのような条件成分に対する条件を評価し;次いでcこのような評価及びこのような条件成分の対応する条件インタプリテーションにしたがって、図形を、そのランタイム実行時に変形する;ことを含んでなる方法。図形を変形することが、該条件成分の条件の第一の評価及び該条件成分の対応する条件インタプリテーションに基づいて、図形を実行する前に、該条件成分及びその条件成分に接続されたすべてのフローを、図形から除くことを含む請求項9に記載の方法。各成分、及びこのような成分に接続されかつ条件成分の存在に依存しているフローを除くことをさらに含む請求項10に記載の方法。図形を変形することが、条件成分の条件の第二の評価及び条件成分の対応する条件インタプリテーションに基づいて、図形を実行する前に、このような条件成分をフローで置換することを含む請求項9に記載の方法。図形成分に対する条件と条件インタプリテーションを指定できるようにするインタフェースを提供することをさらに含む請求項9に記載の方法。パラメータ付き成分を有する図形を実行するシステムであって;a図形をランタイム実行する際の図形のランタイムパラメータを検索し、そしてそのランタイムパラメータは図形をランタイムに実行する際に決定可能であると定義されている値を有している手段;bランタイムパラメータに対する値を、ユーザ入力で提供すべきかどうかを決定する手段;c上記のように決定されたあらゆるランタイムパラメータのユーザ入力を受け取るためのユーザへのプロンプトを表示する手段;dこのようなプロンプトに対するユーザの応答に基づいて第一最終パラメータ値を決定する手段;及びeその第一最終パラメータ値を、ランタイムパラメータに対する値として用いて図形を実行する手段;を備えてなるシステム。aランタイムパラメータに対する値を、外部からプログラムで供給すべきかどうかを決定する手段;及びbこのように決定されて、あらゆるランタイムパラメータの外部から供給される値を検索する手段;cこのような外部から供給された値に基づいて第二の最終パラメータ値を決定する手段;及びd該第二の最終パラメータ値を、ランタイムパラメータに対する値として使用して図形を実行する手段;をさらに備えている請求項14に記載のシステム。図形成分のパラメータをランタイムパラメータとして指定できるようにするインタフェースをさらに含む請求項14に記載のシステム。該第一の最終パラメータ値を決定する手段が、式を評価する手段を備えている請求項14に記載のシステム。該式がメタデータを計算する請求項17に記載のシステム。該第二の最終パラメータ値を決定する手段が、式を評価する手段を備えている請求項15に記載のシステム。該式がメタデータを計算する請求項19に記載のシステム。ユーザ入力受け取りに対するプロンプトが条件付きであり、そしてそのプロンプトを表示することが、前に表示されたプロンプトに対するユーザの入力の評価に依存している請求項15に記載のシステム。図形をランタイムに実行する際に図形を変形するシステムであって;a図形のランタイム実行時に、図形の成分を、条件及び条件インタプリテーションを有する条件成分であると定義するかどうかを決定する手段;bあらゆるこのような条件成分に対する条件を評価する手段;並びにcこのような評価及びこのような条件成分の対応する条件インタプリテーションにしたがって、図形を、そのランタイム実行時に変形する手段;を備えてなるシステム。図形を変形する手段が、該条件成分の条件の第一の評価及び該条件成分の対応する条件インタプリテーションに基づいて図形を実行する前に、このような条件成分及びこのような条件成分に接続されたすべてのフローを、図形から除く手段を備えている請求項22に記載のシステム。各成分、及びこのような成分に接続されかつ条件成分の存在に依存しているフローを除く手段をさらに備えている請求項23に記載のシステム。図形を変形する手段が、該条件成分の条件の第二の評価及び該条件成分の対応する条件インタプリテーションに基づいて図形を実行する前にこのような条件成分をフローで置換する手段を備えている請求項22に記載のシステム。図形成分に対する条件と条件インタプリテーションを指定できるようにするインタフェースをさらに備えている請求項22に記載のシステム。パラメータ付き成分を有する図形を実行するのに用いる、コンピュータが読み取り可能な媒体に記憶されたコンピュータプログラムであって;コンピュータに、a図形のランタイム実行時の図形のランタイムパラメータを検索させ、そしてそのランタイムパラメータは図形をランタイムに実行する際に決定可能であると定義されている値を有し;bそのランタイムパラメータに対する値を、ユーザ入力で提供すべきかどうかを決定させ;c上記のように決定されたあらゆるランタイムパラメータのユーザ入力を受け取るためのユーザへのプロンプトを表示させ;dこのようなプロンプトに対するユーザの応答に基づいて第一最終パラメータ値を決定させ;次いでeその第一最終パラメータ値を、ランタイムパラメータに対する値として用いて図形を実行させる;命令を含んでなるコンピュータプログラム。コンピュータに、aランタイムパラメータの値を、外部からプログラムで供給すべきかどうかを決定させ;bこのように決定された、あらゆるランタイムパラメータの外部から供給された値を検索させ;cこのような外部から供給された値に基づいて第二の最終パラメータ値を決定させ;次いでd該第二の最終パラメータ値を、ランタイムパラメータに対する値として使用し図形を実行させる;命令をさらに含んでいる請求項27に記載のコンピュータプログラム。コンピュータに、図形成分のパラメータをランタイムパラメータとして指定できるようにするインタフェースを提供させる命令をさらに含んでいる請求項27に記載のコンピュータプログラム。コンピュータに第一の最終パラメータ値を決定させる命令が、コンピュータに式を評価させる命令を含んでいる請求項27に記載のコンピュータプログラム。該式がメタデータを計算する請求項30に記載のコンピュータプログラム。コンピュータに第二の最終パラメータ値を決定させる命令が、コンピュータに式を評価させる命令を含んでいる請求項28に記載のコンピュータプログラム。該式がメタデータを計算する請求項32に記載のコンピュータプログラム。ユーザ入力受け取りに対するプロンプトが条件付きであり、そしてそのプロンプトを表示することが、前に表示されたプロンプトに対するユーザ入力の評価に依存している請求項28に記載のコンピュータプログラム。図形をランタイムに実行する際に図形を変形するのに用いる、コンピュータが読み取り可能な媒体に記憶されたコンピュータプログラムであって;コンピュータに、a図形のランタイム実行時に、図形の成分を、条件及び条件インタプリテーションを有する条件成分であると定義するかどうかを決定させ;bあらゆるこのような条件成分に対する条件を評価させ;並びにcこのような評価及びこのような条件成分の対応する条件インタプリテーションにしたがって、図形を、そのランタイム実行時に変形させる;命令を含んでなるコンピュータプログラム。コンピュータに図形を変形させる命令が、コンピュータに、条件成分の条件の第一の評価及び条件成分の対応する条件インタプリテーションに基づいて図形を実行する前にこのような条件成分及びこのような条件成分に接続されたすべてのフローを図形から除かせる命令を含んでいる請求項35に記載のコンピュータプログラム。コンピュータに、各成分及びこのような成分に接続されかつ条件成分の存在に依存しているフローを除かせる命令をさらに含んでいる請求項36に記載のコンピュータプログラム。コンピュータに図形を変形させる命令が、コンピュータに、条件成分の条件の第二評価及び条件成分の対応する条件インタプリテーションに基づいて図形を実行する前にこのような条件成分をフローで置換させる命令を含んでいる請求項35に記載のコンピュータプログラム。コンピュータに、図形成分の条件と図形成分の条件インタプリテーションを指定できるようにするインタフェースを提供させる命令をさらに含んでいる請求項35に記載のコンピュータプログラム。概要図1は、主な要素の相関関係を示す本発明の実施態様のブロック図である。グラフィックデベロップメントインバイロンメントGDE102は、実行可能な図形をつくりそして図形成分のパラメータを定義するためのユーザインタフェースを提供する。GDEとしては、例えば本発明の権利譲受人から入手できるCOOPERATINGSYSTEM登録商標のGDEがある。GDE102はリポジトリ104及び並列操作システム106と交信している。また、そのリポジトリ104と並列操作システム106に、ウェブインタフェース108とエグゼクティブ110が連結されている。リポジトリ104は、好ましくは、図形ベースのアプリケーションの開発developmentと実行及び図形ベースアプリケーションと他のシステム例えば他の操作システムの間のメタデータの交換を支持するように設計された拡大縮小可能なオブジェクト指向データベースシステムである。リポジトリ104は、文書、レコード形式、変換関数、図形、ジョブ、及び監視情報を含む限定されないがすべての種類のメタデータの記憶システムである。リポジトリは当該技術分野で知られている例えば米国特許第5,930,794号、同第6,032,158号、同第6,038,558号及び同第6,044,374号参照。並列操作システム106は、GDE102に生成したデータフロー図形の図形表現を受け取り、処理論理に応答するコンピュータ命令及び図形によって定義されるリソースを生成する。次に、並列操作システム106は、典型的に、それらの命令を、複数のプロセッサ同種である必要はないで実行する。適切な並列操作システムは、本発明の譲受人から入手できるCOOPERATINGSYSTEM登録商標である。ウェブインタフェース108は、リポジトリ104の内容のウェブブラウザベースの表示webbrowserbasedviewを提供する。ユーザは、ウェブインタフェース108を使用して、オブジェクトをブラウズし、新しいオブジェクトをつくり、既存のオブジェクトを変え、アプリケーションパラメータを指定し、ジョブを計画するなどを行うことができる。ウェブインタフェース108は、図形のランタイムパラメータの、リポジトリ104に記憶された情報に基づいて、パラメータ化された図形に対する書式ベースのユーザインタフェースを自動的につくる。エグゼクティブ110は、ウェブインタフェース108を通じてアクセスされる任意のリポジトリベースのジョブ計画システムである。エグゼクティブ110は、ジョブとジョブ待ち行列を、リポジトリ104内のオブジェクトとして維持し、そしてウェブインタフェース108は、ジョブとジョブ待ち行列の表示、及びジョブとジョブ待ち行列を操作するためのファシリティを提供する。このような計画機能は当該技術分野では周知である本発明を使用すると、エグゼクティブを利用する必要がないことに留意のこと。図2は、指定のランタイムパラメータを含むロールアップ成分202と、ソート成分204を有する典型的な図形200のブロック図である。そのランタイムパラメータソート成分204のキー及びロールアップ成分202のルールは、入力するため、インタフェース206に、ユーザに対して表示される。以下の章で、ランタイムパラメータを指定し、次に、ユーザ入力を必要とするランタイムパラメータを提供するための結合ユーザインタフェースをつくる方法を説明する。ランタイムパラメータの指定ランタイムパラメータは、開発者が、図形実行時間すなわちランタイムにおいて、外部入力に基づいて、図形の挙動を変える機構を提供する。好ましい実施態様では、これらの外部の値は、直接ユーザ入力によって提供される。しかし、これらの外部の値は、環境変数やコマンド行パラメータを含むいくつもの異なるソースからくることがある。GDE102は、図形がGDEから直接実行されるとき、開発者を試験値に対してプロンプトするのみならず、これらの状態すべてを処理するために正しいコードを生成する。ランタイムパラメータを使用して、開発者は、例えば、入力ファイルの経路が特定のネームを有する環境変数によって提供され;その環境変数は図形インタフェースの既知の部分になる;ということを明確に宣言することができる。このように、このようなパラメータには明確に定義されたインタフェースがある。例えば、生成したシェルスクリプトを読み取って、それを、環境変数とコマンド行引き数を参照してサーチして、特定図形の実行を制御するパラメータのセットを見つける必要がない。ランタイムパラメータは、いくつもの方法で指定又は定義することができる。一つの方法は、GDE102に表示されるランタイムパラメータグリッドを使用する方法である。図3は、図形に関連しているランタイムパラメータグリッド300を表す図形ダイアログgraphicaldialogの一実施態様の線図である。新しいランタイムパラメータが、必要なフィールドを単に埋めることによってつくられる。各ランタイムパラメータに関連するオブジェクトは、リポジトリ104内につくられ、そのパラメータを利用するすべての図形成分にリンクされる。例えば、図形ソート成分のソートキーがランタイムパラメータとして定義されると、そのソートキーのパラメータを表すオブジェクトはリポジトリ104に記憶され、次いで関連するソート成分にリンクされる。ランタイムパラメータを定義する別の方法は、図形成分の既存のパラメータに特別にフラグを立てて、それを、他の成分に対して見えるようにするエクスポートする方法である。これらの方法の組み合わせを使用することができる。例えば、成分をつくるとき、開発者は、その成分の特定のパラメータを、ランタイムパラメータとして指定することができる。開発者は次に、パラメータグリッドを使用して、図形のすべてのランタイムパラメータのデフォルト値などの特定値を設定して、新しいランタイムパラメータを定義することができる。図形が実行されると、そのパラメータが処理されて、各パラメータに対する値が、ユーザ入力又は外部のプログラムソース例えばコマンド行パラメータ又は環境変数から得られる。例示実施態様には、ランタイムパラメータグリッド300が下記フィールドを含んでいる。ネーム302-このフィールドはランタイムパラメータのネームを含んでいる。スコア-しきい値scorethresholdはネームとして示される例である。タイプ304-このフィールドは、ランタイムパラメータに許容される値のタイプを含んでいる。整数Integerはタイプとして示される例である。例示実施態様にサポートされているタイプは次のとおりである。ブールboolean-値は真又は偽である。選択-値は一組の値のうちの一つの値である。コレータcollator-キーパラメータ値データセット-外部データファイルのネームと位置日付-日付値式-算術、論理及び/又は条件の式例えば選択式浮動小数-浮動小数点数整数-整数の数レイアウト-並列又は直列のレイアウトの定義レコード形式-レコード記述、又は変換記述を含むファイル文字列string-アービタリー文字列変換-変換記述、又は変換記述を含むファイルロケーションLoc306-このフィールドは、レコード形式と変換のタイプで使用される。それは、タイプフィールド304がファイルのロケーションを記述しているかどうか、又は埋め込み記述を含んでいるのかどうかを指定する。サポートされるロケーションは次のとおりである。埋め込み-パラメータはレコード記述又は変換記述を含んでいる。ホスト-パラメータはホスト計算器のファイルに対する参照を含んでいる。局所-パラメータは局所機械のファイルに対する参照を含んでいる。リポジトリ-パラメータは、リポジトリ変換又はレコード形式に対する参照を含んでいる。デフォルト値308-このフィールドは、1他の値が外部のプログラムソースから与えられない場合に使用されるランタイムパラメータのデフォルト値、又は2ランタイム値をユーザ入力から引き出す方法、もしくは図形を実行するユーザから対話によってその情報を得る方法を記述するルールもしくは式を含んでいる。後者の場合、ユーザが入力値を提供しない場合、第二のデフォルト値フィールド図示せずを使用して、ランタイムパラメータに対する値を提供することができる。ブール及び選択のタイプの場合、このフィールドは、ユーザを、有効な選択に限定する。レイアウトのタイプの場合、このフィールドは読み取り専用であり、現在定義されているレイアウトの定義を表示する。その他のすべてのタイプの場合、このフィールドは、好ましくは、ユーザが有効文字列をタイプできる簡単なテキストエディタtexteditorである。エディトedit310-パラメータ行のエディトスペース310又はアイコン、例えばペンシルアイコンに対するクリッキングは、もっと前進したmoreadvancedエディトウィンドウをもたらし、そのウィンドウは、デフォルト値フィールド308をエディトするため、ユーザに、各種オプションをウォークスルーさせる。例示した実施態様では、下記のエディタを、それらの関連するタイプに対して利用できる。単一ラインエディト-整数、浮動、日付及び文字列のタイプの場合選択ダイアログ-ブール及び選択のタイプの場合キーエディタ-コレータタイプの場合ファイルブラウザ-データセットタイプの場合及びロケーションが埋め込まれていないレコード形式と変換のタイプの場合変換エディタ-ロケーションが埋め込まれている変換タイプの場合レコード形式エディタ-ロケーションが埋め込まれているレコード形式タイプの場合式エディタ-式タイプの場合レイアウトエディタ-レイアウトタイプの場合上記のエディタは、カインドフィールド値下記参照がCDL成分記述言語ComponentDescriptionLanguageでない場合に起動する。この場合、ユーザは、図形を実行するときにパラメータ値を引き出すか又はプロンプトするためのルールを定義するCDLエディタを提供される。記述312-これは、開発者が、ランタイムパラメータの期待値を記述する自由形式のフィールドである。それは、デフォルト値が、ユーザに入力値を要求する場合のルールを含んでいる場合、ランタイムにおけるプロンプトとして使用される。カインド314-このフィールドは、図形実行時に関連パラメータの値を得る場所を定義する。サポートされるカインドフィールド314の値は次のとおりである。環境-ランタイムパラメータの値は、同じネームの環境変数中に見つかると予想される。環境変数が定義されていない場合、デフォルト値フィールド308の値が使用される。パラメータすなわち移出exportedパラメータが必要でしかもデフォルト値フィールド308が空いている場合は、ランタイムエラーが生じて図形実行が停止する。位置-ランタイムパラメータの値は、アプリケーションを呼び出すコマンド行のその関連位置に予想される。例えば、ランタイムパラメータが、定義された第三の位置ランタイムパラメータの場合、そのパラメータ値は、実行スクリプトにおける第三の位置コマンド行引き数と予想される。指定の位置パラメータを提供しなければならず、さもないとランタイムエラーが生じる。キーワード-ランタイムパラメータの値は、キーワードコマンド行パラメータとして予想される。例示実施態様では、キーワードパラメータは下記の形態である。キーワードパラメータは任意なものであり、ランタイムエラーは、キーワードパラメータが提供されずそしてデフォルト値フィールド308がブランクでありかつ対応する移出パラメータが必要な場合のみランタイムエラーが生じる。固定-パラメータのランタイム値は常にデフォルト値である。これは2種以上のランタイムパラメータ間で一定値を共用する場合に有用である。CDL-ランタイムパラメータのデフォルト値は、図形実行時にインタプリートされて、ランタイムパラメータの値を他のパラメータから引き出すか又はユーザに追加の入力をプロンプトするCDL式を含んでいる。本発明の特定の実施態様で使用するために選択される成分記述言語は、公に入手できるオブジェクト指向スクリプティング言語Pythonなどの適切なスクリプティング言語であればよい。このようなスクリプトは、プログラム制御下でメタデータタイプ及び変換を構築して、条件試験、比較、データ変換、算術演算と論理演算、文字列とリストの操作、並びにユーザ入力、プログラムで外部から供給される入力及び他のランタイムパラメータに対するその他の機能を実施して、ランタイムパラメータの最終値をつくることができる。例示実施態様では、ランタイムパラメータグリッド300に直接つくられたランタイムパラメータを参照するのに有用な規約は、ドルの記号が先行するパラメータネームを単純に入れることである。例えばkeyはkeyというネームのランタイム変数を意味する。例示実施態様では、新しいランタイムパラメータが、文字列のタイプ、及び省略時ランタイムカインドその省略時ランタイムカインドは環境であるに対する進んだオプションadvancedoptionに基づいた省略時カインドをデフォルト値としてとる。ランタイムパラメータ値は、ランタイムに決定することができそしてCDLスクリプトは条件試験を提供できるので、条件ランタイムパラメータをつくることができる。条件ランタイムパラメータは、パラメータのすべての条件ランタイムに決定されるが操作可能になっている場合のみ、ユーザ入力に対してプロンプトを起こす。したがって、例えば、データセットをNoでソートすべきかどうかを要求する第一プロンプトにユーザが応答する場合、ソートキーを要求する第二の条件プロンプトは表示する必要がない。したがって、設計段階設計時間中、開発者は、図形成分の特定のパラメータを、ランタイムパラメータとして指定する。次に、その図形成分に関連するオブジェクトは、関連するパラメータデータ例えば、図2に示すパラメータグリッド300からの情報のタイプとともに記憶される。図4は、ランタイムパラメータを使用するプロセスを要約するフローチャートである。ランタイム中、実行されるアプリケーションに対応するパラメータオブジェクトが検索される例えばリポジトリからステップ400。このようなオブジェクト各々について、ユーザ入力が必要かどうかについて決定されるステップ402。ユーザ入力が必要であれば、プロンプトを表示する条件が満たされているかどうかが確認されステップ403、これには前のプロンプトに対するユーザ入力の評価が含まれていてもよい。ユーザ入力が必要でなければ、デフォルト値が使用されるステップ408。あるいは、パラメータ値が必要でないことがあり例えばユーザがソート機能を付勢することを選択しない場合、ソートキーは必要でないこうしてパラメータ値が無視されることがある。そうでなければ、ユーザ入力に対するプロンプトが生じるステップ404。ユーザが、特定のパラメータに対し値を入力しない場合ステップ406、そのパラメータに対しデフォルト値が選択されることがあるステップ408。あるいは、ユーザ入力がないことを示す誤り条件を挙げてもよい。いずれにしてもユーザ入力がないので誤り条件がないと想定して、パラメータの最終値を決定し、入力の変換及び他のパラメータに基づいた従属性dependencyと条件をしんしゃくするステップ410。特定のパラメータに対しユーザ入力が必要でないと決定されたならばステップ402、例えば環境変数又はコマンド行パラメータによって、パラメータ値をプログラムによって外部から供給すべきかどうか決定されるステップ412。パラメータ値が供給されなかったならば、パラメータに対してデフォルト値が選択されるステップ414。あるいは、特定タイプの利用可能な入力がないことを示す誤り条件を挙げてもよい。いずれにしても外部からの入力がないので誤り条件がないと想定して、パラメータの最終値を決定し、入力の変換及び他のパラメータに基づいた従属性と条件をしんしゃくするステップ410。最終パラメータ値が、任意のステップとして一旦決定されると、すべての条件成分以下に考察するは、指定された条件及び先に述べたルールにしたがって、完全に除くか又はフローすなわち図形のリンクもしくはエッジによって置換することができるステップ416。一旦、演算図形構造が最終決定されて最終パラメータ値が決定されると、その図形は通常の方式で実行されるステップ418。試験値ランタイムパラメータで図形をつくり試験している間、開発者をサポートするため、GDE102の好ましい実施態様は、ランタイムパラメータの試験値もサポートする。開発者が、ランタイムパラメータで図形を実行するか、又は図形成分に作用するアンダーライニングコードunderliningcodeを表示したい場合、GDE102は、ユーザが1又は2以上のランタイムパラメータに新しい試験値を入れることができる関連試験パラメータグリッドを表示する。使用される試験値の最後のセットは、図形によって記憶されて保管されることが好ましい。各ランタイムパラメータに対し、開発者は、試験値コラム内の所要の試験値を入れる。エディトフィールドは、各試験値コラムに対応づけることができる。試験値フィールドとエディトフィールドは、パラメータカインドがCDLであるときを除いて、ランタイムパラメータグリッド200において、デフォルト値フィールド及びエディトフィールドと同様に振る舞う。CDLの式が、ユーザが一つの値を特定のランタイムパラメータに対してプロンプトされるべきであることを示す場合、試験値フィールドとエディトフィールドの振る舞いは、関連するCDL式のインタプリテーションに基づいている。CDLの式が、単に、一つの値を、他の入力に基づいて引き出す場合、ランタイムパラメータは、通常のモードでは、試験値グリッド中に見えない。ランタイムパラメータがその値を得る方法の指定一つのパラメータがランタイムパラメータとして指定された後、対応するオブジェクトがリポジトリ104内につくられる。ランタイムパラメータがCDLのカインドフィールド214値を有している場合、そのパラメータに対するデフォルト値フィールド値308は、下記好ましい形態のpromptfor擬似関数pseudofunctionを含んでいる。promptforpromptkindmodifiersoptions上記のように、上記promptfor擬似関数は、プロンプトを前の入力に基づいて表示すべきかどうかを決定する条件式の一部であってもよい。このようなオブジェクトの場合、ユーザのインタフェースが、ユーザにダイレクトエントリdirectentryランタイムパラメータを提供する必要がある。好ましい実施態様では、ウェブインタフェース108がこの機能を提供する。特に、ランタイム中、各ランタイムパラメータオブジェクトの各promptfor擬似関数は、ウェブインタフェース108によって構文解析されて、対応するユーザプロンプトを有するウェブページを例えばHTMLに生成するあるいは、このようなウェブページは、ランタイムの前に生成させて、次に簡単に、ランタイムに提供することができる。しかし、このようなウェブページがランタイムに生成すると、フレキシビリティが一層大きくなる。特に、そのページの内容は前のユーザ入力に依存することがある。ウェブインタフェース108は、このようなウェブページを表示し、ユーザ入力を受けることができる通常のウェブブラウザwebbrowserとともに使用される。上記promptfor擬似関数は、ウェブインタフェース108に、パラメータ値に対してプロンプトする方法を示す。特にpromptkindパラメータ、すなわち文字列定数stringconstantは、どんな種類のユーザインタフェースUI要素テキストブック、ドロップダウンリストなどを提供すべきかを示す。前記文字列のmodifierの部分、すなわちキーワードのコンマ区切りリストは、各種プロンプトに共通のいくつかの選択肢を提供する。例示実施態様では、スペースは、modifierの文字列内で重要ではない。modifierのキーワードは以下のようにインタプリートされる。キーワードinplaceは、その要素は、アプリケーションに対してサマリーレベルのユーザインタフェースが直接提供すべきであると宣言し、その値を、低いレベルにドリリングインdrillinginすることなしに送ることができる。inplaceが指定されない場合は、簡単なエディトボタンが、ユーザを別のページに案内してパラメータ値を送るサマリーレベルインタフェースで提供される。キーワードのblankokは、ユーザが値を送る必要がないことを宣言する。すなわち、そのアプリケーションは、妥当な方法で、デフォルト値を処理する。blankokが指定されない場合、ユーザはある種の値を送ることなしにそのアプリケーションを実行できない。異なるカインドのモディファイアを有するpromptforコールのいくつかの実施例を以下に示す。promptfortextinplacepromptforfilterinplaceinputtypepromptforradioblankokinplaceこの章の残りの部分に、各種のpromptkindとそれらの対応する選択肢を列挙し、各々、ウェブインタフェース108が生成したウェブページにどのように現れるかを説明する。textsize-通常の単線テキストボックスsize文字幅conventionalsinglelinetextboxsizecharacterswideを提供するsizeは、供給されない場合、テキストボックスに対して省略値として、ブラウザの省略時のサイズをとる。radiochoicelistdescriptionlist-1セットのラジオボタンの形態の通常の択一式chooseoneプロンプト、すなわち各要素に対して前記choicelistの一つのボタンを提供する。descriptionlistが供給されると、各choiceは対応するdescriptionでラベルされ、そうでなければ前記choiceは、choicelistからの文字列形態の対応するアイテムでラベルされる。radiopluschoicelistdescriptionlist-radioと同様であるが、テキストボックスの次の追加のボタンを提供して、ユーザにchoicelist内ではないライト-インwritein値を選択させる。checkboxchoicelistdescriptionlist-1セットのチェックボックスの形態の通常のチューズゼロ以上choosezeroormoreプロンプト、すなわちchoicelistの各要素に対する一つのボタンを提供する。descriptionlistが供給されると、各choiceは、対応するdescriptionでラベルされ、そうでなければ、これらchoiceは、choicelistからの対応するアイテムの文字列形でラベルされる。dropdownchoicelistdescriptionlistsize-dropdownlistの形態の通常の択一式プロンプトをchoicelistの要素に対して提供する。descriptionlistが供給されると、各choiceは、対応するdescriptionでラベルされ、そうでなければchoicelistからの対応するアイテムの文字列形態でラベルされる。sizeが送られると、その多くのchoiceは同時に見えるが、そうでなければ一つしか見えない。multidropdownchoicelistdescriptionlistsize-dropdownlistの形態の通常のチューズゼロ以上プロンプトをchoicelistの要素に対して提供する。descriptionlistが供給されると、各choiceは対応するdescriptionでラベルされ、そうでなければ、これらchoiceはchoicelistからの対応するアイテムの文字列形態でラベルされる。sizeが供給されると、その多くのchoiceは一度に見えるが、そうでなければ、アイテムのブラウザの省略時数が示される。keytypeobjsize-与えられたtypeobjからのフィールドで構成されたキーコレータとしても知られているに対するプロンプトを提供する。そのキーは、sizeと同じ数のパートを有していてもよく、typeobjのフィールドの数をデフォルト値としてとる。図5はキープロンプトが生成する図形ダイアログ500の一実施態様の線図である。3-エントリのkeyプロンプトに対するスクリプトテキストは次のとおりであり、そのテキストでは、そのfiledatasetsfixedは、下記ドロップダウンボックス502に示す利用可能なキーを定義する。promptforkeydatasettypedatasetsfixed3例示実施態様では、通常の照合順序collationorderは昇順であるが、ユーザは、関連するチェックボックス504をチェックすることによって、キーに対する昇順の照合順序を選択することができる。filtertypeobj-与えられたtypeobjの各フィールドの条件で構成されているフィルタ式に対するプロンプトを提供する。blankokもモディファイアはフィルタに対して影響を与えず、ブランクフィルタは真の式を生成する。図6はfilterプロンプトが生成した図形ダイアログ600の一実施態様の線図である。各式のテキストエディトボックス604に関連する利用可能なフィールドネーム602はtypeobjによって定義される。比較値がテキストエディトボックス604に入れられ、比較オペレータ例えば、等しい、~より大きい、~より小さい又は~に等しいが対応するドロップダウンリストコントロール606から選択される。flexifiltertypeobj-filterプロンプトと同様であるが、各ラインのフィールドネームがドロップダウンリストから選択できる与えられたtypeobjの各フィールドの条件で構成されているフィルタ式に対するプロンプトを提供する。これによって、複数の条件に対して同じフィールドを使用できる例えばfieldSTATEMAORfieldSTATECA。rolluptypeobjkeysize-与えられたキーによってロールアップされている与えられたtypeobjのフィールドに基づいてロールアップ演算に対するプロンプトを提供する。そのロールアップは、sizeと同数のルールを有していてもよく、typeobjのフィールドの数をデフォルト値としてとる。blankokモディファイアはロールアップに影響を与えず、ブランクロールアップが、各グループに対してちょうどキー値を提供するパッケージを生成する。図7は、rollupプロンプトが生成した図形ダイアログ700の一実施態様の線図である。その例示実施態様では、ドロップダウンボックス702のコラムが、利用可能なロールアップ計算関数例えば、合計、最小、最大を定義する。各計算に関連する利用可能なフィールドネーム704は、typeobjによって定義される。各ロールアップは、ユーザが所望の式を定義するための関連するテキストエディトボックス706、源値が計算に関与する基準を定義するブール式を通じてためのウェアwhereテキストエディトボックス708、及び計算結果を受け取るフィールドを指定するための出力フィールドテキストエディトボックス710を有している。それを明白に引き出せる場合、出力フィールドのネームは指定する必要はない。reformattypeobjsize-与えられたtypeobjのフィールドに基づいて書式変更reformat計算に対するプロンプトを提供する。その書式変更はsizeと同数のルールをもっていてもよく、typeobjのフィールドの数をデフォルト値としてとる。図8は、reformatプロンプトが生成する図形ダイアログ800の一実施態様の線図である。例示実施態様では、reformatプロンプトは、入力フィールドを単に同じネームの出力フィールドに複写するためのセクション802を含んでいるチェックボックス制御を使用して個々に、又はセレクトオールもしくはセレクトノンのボタンを使用して総合的に、選択/選択取り消しを行う。reformatプロンプトの第二のセクションは、書式変更式例えばtotalrevemue1-revenur2を定義できるテキストエディトボックス804のカラムを含んでいる。各ルールは、書式変更された結果を受け取るフィールドを指定するための、関連出力フィールドテキストエディトボックス806をもっている。outputspec-出力データセット仕様のためのプロンプトを提供する。その表示された制御は、利用可能な書式オプションを提供するためのドロップダウン制御、及び該出力データセットの特定定数のネームを入れるためのテキストエディトボックスを含んでいる。blankokモディファイアは、出力データセットの仕様に対して影響を与えない。fpathstartingpoint-ファイル経路に対するプロンプトを提供する。このプロンプトは、本来テキストボックスであるが、その隣に、ポップアップウィンドウをファイル経路に対しブラウズするために出現させるブラウズボタンを有している。そのテキストボックスは、ノンブランクnonblankの場合、上記ブラウジング操作のための出発点として使用され、ブランクの場合は、startingpoint引き数が使用される。rpathstartingpoint-リポジトリ経路に対するプロンプトを提供する。このプロンプトは、本来テキストボックスであるが、その隣に、ポップアップウィンドウをブラウジングのために出現させるブラウズボタンを有している。そのテキストボックスはノンブランクの場合、上記ブラウジング操作のための出発点として使用され、ブランクの場合は、startingpoint引き数が使用される。radiofpathchoicelistdescriptionlist-radioplusと同様であるが、ライト-インスロットに、fpath-スタイルボックス-プラス-ブラウズ-ボタンを提供する。radiorpathchoicelistdescriptionlist-radioplusと同様であるが、ライト-インスロットに、rpath-スタイルボックス-プラス-ブラウズ-ボタンを提供する。条件成分本発明の一実施態様は、図形の成分とフローの構造を、パラメータ値と計算されたメタデータに基づいて変えることができる条件成分機構を含んでいる。図形の各成分は、その成分を、ランタイムに、図形中に表示するかどうかを制御する条件を有している。その条件は、ランタイムパラメータによって、直接に又は間接的に計算することができる。条件成分は、図形を最適化又は特殊化することなどの各種の目的のために使用することができる。最適化する場合、特定のデータセットからの値が使用されないときは、オペレーションは、それらデータセットの処理を省略することができ、その結果、図形をより効率的に実行することができる。特殊化する場合、アプリケーションは、要求される詳細のレベルに基づいて、いくつもの異なる出力データセットの産生を調整することができるか、又は図形のいくつもの任意の部分の一つを実行できる。図9Aは、MergeJoin成分900がファイルAとBからのデータを結合して、その結果を出力ファイル902に出力する第一図形のブロック図である。図9Bは、ロールアップ成分904がファイルAからのデータを集めて、その結果を出力ファイル902に出力する第二図形のブロック図である。図9Cは、MergeJoin成分906がファイルAとBからのデータを結合し、次にロールアップ成分908が、その得られたデータを集めて最終結果を出力ファイル902に出力する図形のブロック図である。条件成分を使用して、これら三つの図形は、結合させて、最初は図9Cの図形のように見える単一図形にすることができるが、その正確な構造はランタイムまで決定されない。適切な条件を設定することによって、ロールアップ成分908は、コネクションフローで置換されて、図9Aの図形に類似のランタイム図形を生成することができる。同様に、適正な条件を設定することによって、MergeJoin成分906は、コネクションフローでファイルAに置換されて、図9Bの図形に類似のランタイム図形を生成することができる。例示実施態様では、条件成分は、頂点vertexを定義する図形成分すなわち、入力/出力ファイルなどのデータセット成分、書式変更又はソートの成分などの処理成分、又は部分図形subgraphとして知られているその他の図形であってもよい。好ましい実施態様では、条件成分は、二つの特定のパラメータすなわちcondition及びconditioninterpretationで制御される。conditionは、その評価がランタイムまで延期されるブール式又はブール値である。例示実施態様では、偽及び0の値が偽の条件を指定し、他のすべての値空を含むは真の条件を示す。Conditioninterpretationパラメータは、二つの許容される相互に排他的な値すなわちRemoveCompletely及びReplaceWithFlowを有している。図10は、Conditioninterpretationcontrol1004を有するCondition1002を提供する図形ダイアログ1000の一実施態様の線図である。Conditioninterpretationcontrol1004は、RemoveCompletelyのインタプリテーション1006又はReplaceWithFlowのインタプリテーション1008を選択することができる。RemoveCompletely:このインタプリテーションによって、conditionが満たされると、その成分及びその成分の接続されたフローのすべてすなわち図形のリンク又はエッジがその図形から除かれる。活性RemoveCompletely条件は、該成分及びその直接接続されたフローすべてを図形から機能的に除く。RemoveCompletely条件はどんな成分にも使うことができる。図形から除かれる条件成分が、その条件成分の存在に依存している他の接続された成分を汚染poisonすることがあり、それら他の接続された成分が除かれることがある。図11は、このような汚染が起こる状態を示す図形1100の線図である。入力ファイル成分1102の条件が除去を示し、かつその対応する条件-インタプリテーションがRemoveCompletelyの場合、入力ファイル成分1102とそれに接続されたフローは図形1100から除かれる。続いて、これはソート成分1104を汚染し、そしてその入力は必要な入力ポートであるがそれに接続されるデータフローはもはやないので、ソート成分は除去される。これは順にロールアップ成分1106を汚染し、そしてその入力は必要な入力ポートであるがそれに接続されるデータフローはもはやないのでロールアップ成分は除去される。この消失の汚染poisonofdisappearanceを停止させる唯一の方法は、下流成分の任意のポート又は計数ポートへ接続する方法である。したがって、ソート-ロールアップ図形ブランチ1108全体は、入力ファイル成分1102の条件が除去を示すとき、図形1100から効果的に除去される。図11に示す結果は、元の図形構造の、名目的に三つ入力された結合成分1100が、ランタイムには二つ入力された結合成分になることである。好ましい実施態様では、汚染暗示条件impliedconditionとしても知られているの詳細な意味は次のとおりである。成分が必要なポートを有し、かつそれに接続されたライブフローliveflowがない場合、その成分及びその成分に接続されたすべてのフローが図形から除かれる。成分が図形から完全に除かれると、そのポートに接続されたフローはすべて図形から除かれる。成分がフローで置換されると、その成分の指定された入力ポート及び指定された出力ポート以外のすべてのポートに接続されたフローはすべて図形から除かれる。必要な指標付きポートrequiredindexedportにライブフローが接続されていない場合、同じ指標を有する各対応する任意の指標付きポートについては、その対応するポートに接続されたフローは図形から除かれる。これらルールの驚くべき結果がいくつもある。例えば任意のポートしか持っていない成分は、汚染が理由で、除去されることは決してない。したがってこのような成分は、必要な場合に、明確に除かねばならない。図12はRemoveCompletely条件成分を含む図形のランタイムプリパレーションruntimepreparationのプロセスを要約するフローチャートである。conditioninterpretationがRemoveCompletelyであり、conditionが満たされない場合ステップ1200、その条件成分は図形から除去されないステップ1202。conditionが満たされた場合ステップ1200、その条件成分は、その成分に接続されたすべてのフローとともに、図形から除かれるステップ1204。次に、汚染された成分とフローをすべて、上記ルールにしたがって、図形から除くステップ1206。ReplaceWithFlow:このインタプリテーションによって、conditionが満たされた場合、成分はフローすなわち、図形エッジで置換される。ReplaceWithFlowの条件インタプリテーションは追加の情報が必要である。図10によれば、ユーザは、成分が図形から除かれるときに、接続を行う入力ポート1010すなわち計数ポートのファミリー及び出力ポート1012すなわち計数ポートのファミリーを指定する。正確に一つの必要な入力ポートもしくは計数ポート及び正確に一つの必要な出力ポートもしくは計数ポートがある場合、省略時解釈で、これらのポートは指定されたフロースルーコネクションポートflowthroughconnectionportそれぞれ指定された入力ポート及び指定された出力ポートと呼ばれているである。必要なポートは、接続すべきフローを少なくとも一つ必要とするポートである。図13は、本発明の特定の実施態様のReplaceWithFlow条件成分を含む図形のランタイムプリパレーションのプロセスを要約するフローチャートである。いくつかの成分が例示実施態様COOPERATINGSYSTEM登録商標で利用可能な成分に基づいているの特定の利用可能な入力と出力に依存しているので、いくつものルールがこの実行及びReplaceWithFlow条件の使用に、下記のように該当している。conditioninterpretationがReplaceWithFlowであり、かつそのconditionが満たされない場合ステップ1300、条件成分は図形から除去されないステップ1302。指定された入力ポート及び指定された出力ポートを有する成分は、その指定された入力ポートに接続された正確に一つのライブストレートフローlivestraightflow及びその指定された出力ポートに接続された正確に一つのライブストレートフローがある場合、一つだけのフローで置換できるライブフローはランタイムに除かれなかったフローであるステップ1304。そうであれば、成分自体が図形から除去され、そしてその指定された入力ポートに接続されたストレートライブフロー及びその指定された出力ポートに接続されたストレートライブフローが連結されるステップ1306。除かれた成分の他のポートすなわち特に指定された入力ポートと出力ポート以外のポートに直接連結された他のフローは図形から除かれる。除去された成分に接続された汚染された成分とフローは上記のように除去されるステップ1308。ReplaceWithFlow条件を有する成分が、計数入力のファミリーの2以上の指定された入力ポートに接続されたライブフローを有している場合ステップ1310、該成分は、図形を有効化する必要があるので、図形から除去されないステップ1312。必要な入力にライブファンインフローlivefaninflowを有する成分は、特別のハンドリングが必要である。用語ライブファンインフローは、成分が、必要な入力ポートにライブファンインフローもしくはオールツーオールalltoallフローを接続されているか、又は単一の必要な入力ポートに2以上のライブストレートフローを接続されていることを意味する。このような成分の場合、ReplaceWithFlow条件をインタプリートするには、該条件成分を、すべてのライブ入力フローを集合させる集合成分gathercomponentで置換しなければならないステップ1314。その置換された成分に接続された汚染フローと成分はいずれも次に、上記のように除かれるステップ1316。メタデータの伝搬好ましい実施態様では、フローが図形成分の除去が行われた後に生成した場合、このようなフローのデータを定義するメタデータが修正された図形内でどのように伝搬すべきか選択をしなければならない。メタデータは該フローの両末端から得ることができる。本発明の好ましい実施態様では、該フローの上流の末端からのメタデータが好ましい。該フローの上流の末端が、除去される成分である又は集合成分で置換されている成分である場合、GDE102は、それが除かれていない成分を見つけるまで、図形中の上流をウォークwalkすることによって、該フローに対するメタデータを見つける。その上流成分によって暴露されたメタデータを使用して生成したフローに対するデータの特性を定義する。典型的な使用法ユーザは、一般に、ウェブインタプリテーション108の前に座って、リポジトリ104内に、ユーザが実行したいアプリケーションの図形を見つける。該アプリケーションの図形に関連するすべてのオブジェクトを走査することによって、ウェブインタフェース108は、ユーザに、該アプリケーションのランタイムパラメータに対する値を指定させるウェブページフォームwebpageformを生成する。一旦、すべてのランタイムパラメータが指定されると、該アプリケーションとパラメータ設定の結合がジョブとして行われ、そのジョブはエグゼクティブ110によって実行するように計画されている。該ジョブを実行する時点に到達すると、エグゼクティブ110は、公知の方式で、並列操作システム106によって実行するため、そのアプリケーションを待ち行列に入れる。その並列操作システム106は、トラッキング情報とジョブステータスjobstatusを集め次にその情報をリポジトリ104に記憶し、その結果、ユーザと管理者はジョブの進行とパフォーマンスを追跡することができる。実施例図14は、ランタイムパラメータなしのロールアップアプリケーションを示す図形1400の線図である。この図形は、各種のアカウントaccountの数を計算し、次いでその結果を出力ファイルに書き込む。このアプリケーションのあらゆる側面が、図形すなわち入力ファイル成分1402のネーム、入力データのフォーマット、HashRollup成分1404中のデータをロールアップするために使用されるキーと変換ルール、出力フォーマット、及び出力ファイル成分1406のネームをつくった開発者によって決定されている。ユーザは、定義どおりに正確にこの図形を実行するだけでよい。図15は、図14に示すロールアップアプリケーションのランタイムパラメータ化バージョンを示す図形1500の線図である。このアプリケーションのデータフローの図形構造は、非ランタイムパラメータ化バージョンに非常に似ているが、このアプリケーションの方がはるかにフレキシブルである。ランタイムパラメータを通じて、エンドユーザは、抽象されたabstracted入力データセット1502入力ファイルネームとフォーマットが引き出される保管オブジェクトrepositedobject、HashRollup成分1504のロールアップキーとロールアップルール、及び出力ファイル成分1506のネームを指定することができる。図16は、図15に示す実施例アプリケーションのランタイムパラメータグリッド1600を示す図形ダイアログの一実施態様の線図である。これは図2に示すパラメータグリッドのバージョンに埋めこまれる。多数の省略時パラメータが、上記のように、promptfor擬似関数を使って定義され、その結果、ウェブインタフェース108を通じてのユーザ入力が必要になる。この図形の外観は、非ランタイムパラメータ化アプリケーション図形とほとんど変わらないが、1又は2以上のパラメータグリッド又は他の適切な制御器によって、開発者は、該図形の実行を制御するすべてのパラメータを完全に追跡可能になる。図17Aは、図16に示すパラメータグリッド1600内の情報からウェブインタフェース108が生成したフォーム1700を示す図形ダイアログの一実施態様の線図である。この実施例では、フォーム1700は、ユーザ入力に対する四つのランタイムパラメータ、すなわち入力データセットリポジトリ経路1702、ロールアップキー1704、ロールアップルール1706及び出力経路1708を表示する。図17Bは、ユーザがパラメータ値を埋めこんだ図17Aに示すフォーム1700の線図である。ランタイム1702~1708に関連する直接の入力及び/又は編集又はブラウザ制御のボタンを使用して、ユーザは、対応するパラメータ値1710~1716を提供して、関連する図形を実行する。図18は、ランタイムパラメータ化ロールアップと結合のアプリケーションを表す図形1800の線図である。図19は、図18に示す実施例アプリケーションに対するランタイムパラメータグリッド1900を表す図形ダイアログの一実施態様の線図である。この線図では、そのアプリケーションのいくつもの側面がパラメータ化されているが、ほとんど結合キーと入力データセットを含み、固定されたままである。図20は、図19に示すパラメータグリッド1900内の情報からウェブインタフェース108が生成したフォーム2000を表す図形ダイアログの一実施態様の線図であるロールアップに対する入力タイプは、トップレベルフォームが表示される時点に分かっているので、ロールアップルール2002はinplaceに対してプロンプトされうることに留意。図21は、ランタイムパラメータ化ロールアップ-結合-ソートアプリケーションを表す図形2100の線図である。図18に示す実施例に類似しているが、条件ソート成分が図形2100に加えられている。図22は、実施例21に示す実施例アプリケーションに対するランタイムパラメータグリッド2200を表す図形ダイアログの一実施態様の線図である。sortkeyランタイムパラメータ2202は、ソーティングが要望されていることをユーザが示す場合のみプロンプトされる。この効果を得るため、デベロップdevelopは、該sortkeyランタイムパラメータ2202のデフォルト値2204に対するif条件テスト中に、promptfor擬似関数を書き込むput。if条件テストは、第二ランタイムパラメータのdosort2206を参照する。そのdosortパラメータ2206のデフォルト値フィールド2208と記述フィールド2210が定義されて、テキストプロンプトそのデータはソートすべきかに対する真/偽又はyes/noの回答を、ユーザに求めるradioプロンプトを生成する。dosortパラメータ2206のために与えられた値が真である場合、そのソート成分2102は、ランタイムにおける図形の一部として含まれる。そうでなければ、ソート成分2102は、その指定された条件インタプリテーションに応じて、図形から完全に除かれるか又はフローで置換される。スクリプトインプリメンテーションscriptimplementationGDE102はパラメータ化図形を構築しやすくするが、時には、フォームベースインタフェースを提供したい非図形プログラムがある。アプリケーションレベルのCDLとリポジトリ104を使用して、アービタリーシェルスクリプトarbitraryshellscriptをパラメータ化することができる。例えばアプリケーションの記述は、下記のものに類似の構造でファイルに書きこむことができる。汎用コンピュータによる実行本発明はハードウェアもしくはソフトウェア又は両者の組み合わせ例えばプログラム可能論理アレイで実行することができる。特に断らない限り、本発明の一部として含まれているアルゴリズムは、特定のコンピュータ又は他の装置と本来関連がない。特に、各種汎用機は、本明細書の教示内容にしたがって書きこまれたプログラムで使用できるか、又は必要な方法のステップを実行するためにより特殊化された装置を構築する方がより便利なことがある。しかし、本発明は、好ましくは、各々少なくとも一つのプロセッサ、少なくとも一つのデータ記憶システム揮発性及び不揮発性のメモリ及び/又は記憶素子、少なくとも一つの入力デバイス又は入力ポート、並びに少なくとも一つの出力デバイス又は出力ポートを備えた1又は2以上のプログラム可能コンピュータシステムで実行する1又は2以上のコンピュータプログラムで実行される。そのプログラムコードは、本明細書に記載の機能を実行するプロセッサで実行される。このようなプロセッサは各々、所望のコンピュータ言語機械言語、アセンブリ言語、高レベル手順言語、論理プログラミング言語又はオブジェクト指向プログラミング言語を含むで実行してコンピュータシステムと交信することができる。いずれにしても、その言語はコンパイルされた言語又はインタプリートされた言語であればよい。このようなコンピュータプログラムは各々、好ましくは、汎用又は専用のプログラマブルコンピュータが読み取り可能な記憶媒体又は記憶デバイス例えば固体、磁気及び光の媒体に記憶されて、その記憶媒体又は記憶デバイスがコンピュータシステムに読み取られると、コンピュータを設定しconfigure作動させて本明細書に記載の手順を実行する。また、本発明のシステムは、コンピュータプログラムで設定されたコンピュータ読み取り可能記憶媒体として実現され、そしてこのように設定された記憶媒体は、コンピュータシステムを特定で既定義の方法で作動させて本明細書に記載の機能を実行すると考えることもできる。本発明のいくつもの実施態様を述べてきた。しかし、本発明の精神と範囲を逸脱することなく各種の変形を行うことができるものである。例えば、上記のいくつもの関数ステップは、全体の処理に実質的に影響することなしに異なる順序で実施することができる。例えば、図4に示すステップ402と412は、逆の順序で実行できる。したがって他の実施態様は本願の特許請求の範囲の範囲内にある。"