"パラメータの値をバインドするための方法であって、依存性グラフに従って複数のタスクを定義するステップと、それぞれが異なるタスクスコープと関係付けられている複数のパラメータコンテキストを保持するステップと、第1の前記タスクで用いられる第1のパラメータに値をバインドするステップであって、前記依存性グラフに従って第1の前記パラメータコンテキストを識別するステップおよび前記識別したコンテキストから前記パラメータに対する前記値を引き出すステップを含むステップと、を含む方法。更に、第2の前記タスクの実行中に前記第1のパラメータに割り当てるための値を決定するステップと、前記第1のパラメータコンテキスト内の前記第1のパラメータに対する前記値を格納するステップと、を含む請求項1の方法。前記第1のパラメータコンテキストが、前記第2のタスクと関係付けられる請求項2の方法。前記依存性グラフが前記タスクの実行順序を規定し、前記第1のコンテキストを識別するステップが、前記第1のタスクの前に実行する必要があるタスクを識別するステップを含む請求項1の方法。前記第1のコンテキストを識別するステップが、前記第1のパラメータに値を割り当てるタスクを識別するステップを含む請求項4の方法。前記第1のパラメータに値を割り当てるタスクを識別するステップは、前記依存性グラフに従って最後に実行するタスクを識別するステップを含む請求項5の方法。パラメーターアクセスをチェックするための方法であって、少なくとも幾つかのタスクが互いに順序付けられていない複数の前記タスクに対する順序制約の仕様を受け入れるステップと、一つ以上のパラメータのそれぞれに対して、これらのパラメータにアクセスする前記タスクを識別するステップと、前記順序制約の仕様に従って、前記識別したタスクによる前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするステップと、を含む方法。前記順序制約の仕様を受け入れるステップが、依存性グラフの仕様を受け入れるステップを含む請求項7の方法。パラメータにアクセスする前記タスクを識別するステップが、前記タスクに対する宣言を処理するステップを含む請求項7の方法。前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするステップが、前記パラメータの内の一つにおけるインスタンスのスコープ、及び複数の前記インスタンスのスコープが前記パラメータを参照するタスクを含むかどうか、を決定するステップを含む請求項7の方法。更に、複数の前記インスタンスのスコープが、前記パラメータを参照する前記タスクを含む場合、前記参照されるパラメータを曖昧なパラメータとして識別するステップを含む請求項10の方法。コンピューターシステムに、以下のステップを実行させるための命令を含むコンピュータ可読媒体上に格納されるソフトウエアであって、依存性グラフに従って複数のタスクを定義するステップと、異なるタスクスコープとそれぞれが関係付けられる複数のパラメータコンテキストを保持するステップと、第1の前記タスクで用いられる第1のパラメータに値をバインドするステップであって、前記依存性グラフに従って第1の前記パラメータコンテキストを識別するステップおよび前記識別したコンテキストから前記パラメータに対する値を引き出すステップを含むステップと、を実行させるためのソフトウエア。更に、前記コンピューターシステムに以下のステップを実行させるための命令を含む請求項12のソフトウエアであって、第2の前記タスクの実行中に、前記第1のパラメータに割り当てるための値を決定するステップと、前記第1のパラメータコンテキスト内の前記第1のパラメータに対する前記値を格納するステップと、を実行させるためのソフトウエア。前記第1のパラメータコンテキストを前記第2タスクと関係付ける請求項13のソフトウエア。前記依存性グラフが前記タスクの実行順序を規定し、前記第1のコンテキストを識別するステップが、前記第1のタスクの前に実行する必要があるタスクを識別するステップを含む請求項12のソフトウエア。前記第1のコンテキストを識別するステップが、前記第1のパラメータに値を割り当てるタスクを識別するステップを含む請求項15のソフトウエア。前記第1のパラメータに値を割り当てるタスクを識別するステップは、前記依存性グラフに従って最後に実行するタスクを識別するステップを含む請求項16のソフトウエア。タスク管理システムであって、依存性グラフに従って複数のタスクを定義するよう構成されるタスクマネージャ定義モジュールと、それぞれが異なるタスクスコープと関係付けられている複数のパラメータコンテキストを保持する格納空間を有するタスクマネージャ動的コンテキストモジュールと、前記パラメータコンテキストへのアクセスを有し、第1の前記タスク内で用いられる第1のパラメータに値をバインドするよう構成され、前記依存性グラフに従って第1の前記パラメータコンテキストを識別するステップおよび前記識別したコンテキストから前記パラメータに対する値を引き出すステップを含むタスクマネージャーパラメーターバインドモジュールと、を含むシステム。前記タスクマネージャーパラメーターバインドモジュールが更に、第2の前記タスクの実行中に前記第1のパラメータに割り当てるための値を決定するステップと、前記第1のパラメータコンテキスト内の前記第1のパラメータに対する前記値を格納するステップと、を実行するよう構成される請求項18のシステム。前記第1のパラメータコンテキストが、前記第2タスクと関係付けられる請求項19のシステム。前記依存性グラフが前記タスクの実行順序を規定し、前記第1のコンテキストを識別するステップが、前記第1のタスクの前に実行する必要があるタスクを識別するステップを含む請求項18のシステム。前記第1のコンテキストを識別するステップが、前記第1のパラメータに値を割り当てるタスクを識別するステップを含む請求項21のシステム。前記第1のパラメータに値を割り当てるタスクを識別するステップは、前記依存性グラフに従って最後に実行するタスクを識別するステップを含む請求項22のシステム。タスク管理システムであって、依存性グラフに従って複数のタスクを定義するための手段と、それぞれが異なるタスクスコープと関係付けられている複数のパラメータコンテキストを保持するための手段と、第1の前記タスク内で用いられる第1のパラメータに値をバインドするための手段であって、前記依存性グラフに従って第1の前記パラメータコンテキストを識別するステップおよび前記識別したコンテキストから前記パラメータに対する値を引き出すステップを含む手段と、を含むシステム。更に、第2の前記タスクの実行中に前記第1のパラメータに割り当てるための値を決定するための手段と、前記第1のパラメータコンテキスト内の前記第1のパラメータに対する前記値を格納するための手段と、を含む請求項24のシステム。前記第1のパラメータコンテキストが、前記第2のタスクと関係付けられる請求項25のシステム。前記依存性グラフが前記タスクの実行順序を規定し、前記第1のコンテキストを識別するステップが、前記第1タスクの前に実行する必要があるタスクを識別するステップを含む請求項24のシステム。前記第1のコンテキストを識別するステップが、前記第1のパラメータに値を割り当てるタスクを識別するステップを含む請求項27のシステム。前記第1のパラメータに値を割り当てるタスクを識別するステップは、前記依存性グラフに従って最後に実行するタスクを識別するステップを含む請求項28のシステム。コンピューターシステムに、以下のステップを実行させるための命令を含むコンピュータ可読媒体上に格納されたソフトウエアであって、少なくとも幾つかのタスクが互いに順序付けられていない複数の前記タスクに対する順序制約の仕様を受け入れるステップと、一つ以上のパラメータのそれぞれに対して、これらパラメータにアクセスする前記タスクを識別するステップと、前記順序制約の仕様に従って、前記識別したタスクによる前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするステップと、を実行させるためのソフトウエア。前記順序制約の仕様を受け入れるステップが、依存性グラフの仕様を受け入れるステップを含む請求項30のソフトウエア。パラメータにアクセスする前記タスクを識別するステップが、前記タスクに対する宣言を処理するステップを含む請求項30のソフトウエア。前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするステップが、前記パラメータの内の一つにおけるインスタンスのスコープ、及び複数の前記インスタンスのスコープが前記パラメータを参照するタスクを含むかどうか、を決定するステップを含む請求項30のソフトウエア。更に、複数の前記インスタンスのスコープが、前記パラメータを参照する前記タスクを含む場合、前記参照されるパラメータを曖昧なパラメータとして前記コンピューターシステムに識別させるための命令を含む請求項33のソフトウエア。タスク管理システムであって、少なくとも幾つかのタスクが互いに順序付けられていない複数の前記タスクに対する順序制約の仕様を受け入れるよう構成されるタスクマネージャ定義モジュールと、前記仕様にアクセスを有し、一つ以上のパラメータのそれぞれに対して、これらパラメータにアクセスする前記タスクを識別し、且つ、前記順序制約の仕様に従って、前記識別したタスクによる前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするように構成された、タスクマネージャ静的チェックモジュールと、を含むシステム。前記順序制約の仕様の受け入れが、依存性グラフの仕様の受け入れを含む請求項35のシステム。パラメータにアクセスする前記タスクの識別が、前記タスクに対する宣言の処理を含む請求項35のシステム。前記パラメータへのアクセスにおける潜在的なコンフリクトのチェックが、前記パラメータの内の一つにおけるインスタンスのスコープ、及び複数の前記インスタンスのスコープが前記パラメータを参照するタスクを含むかどうか、を決定することを含む請求項35のシステム。更に、複数の前記インスタンスのスコープが、前記パラメータを参照する前記タスクを含む場合、前記タスクマネージャ静的チェックモジュールが、前記参照されるパラメータを曖昧なパラメータとして識別するよう構成される請求項38のシステム。タスク管理システムであって、少なくとも幾つかのタスクが互いに順序付けられていない複数の前記タスクに対する順序制約の仕様を受け入れるための手段と、一つ以上のパラメータのそれぞれに対して、これらパラメータにアクセスする前記タスクを識別するための手段と、前記順序制約の仕様に従って、前記識別したタスクによる前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするための手段と、を含むシステム。前記順序制約の仕様を受け入れるステップが、依存性グラフの仕様を受け入れるステップを含む請求項40のシステム。パラメータにアクセスする前記タスクを識別するステップが、前記タスクに対する宣言を処理するステップを含む請求項40のシステム。前記パラメータへのアクセスにおける潜在的なコンフリクトをチェックするステップが、前記パラメータの内の一つにおけるインスタンスのスコープ、及び複数の前記インスタンスのスコープが前記パラメータを参照するタスクを含むかどうか、を決定するステップを含む請求項40のシステム。更に、複数の前記インスタンスのスコープが、前記パラメータを参照する前記タスクを含む場合、前記参照されるパラメータを曖昧なパラメータとして識別するための手段を含む請求項43のシステム。あるパラメータにおける多数のインスタンスは、それぞれ、異なる1つの前記パラメータコンテキストと関連づけられている、請求項1の方法。あるパラメータにおける前記多数のインスタンスは、それぞれ、異なるタスクにより値を割り当てられている、請求項45の方法。説明概略図1を参照すると、タスク管理システム100は、計画のどのタスクを他のタスクが実行される前に完了しなければならないかを規定する依存性制約に従って、全体計画を作り上げるタスクの実行を制御する。有向の依存性グラフ132を用いて従属性制約が表され、各ノード134が計画の異なるタスクに対応し、あるノードから別のノードへの有向の弧136のそれぞれが、第1の上流ノードに対応するタスクは第2の下流ノードと対応するタスクが実行される前に完了しなければならないという順序制約を示す。更に一般的には、ノードと対応するタスクは、グラフ内の全ての上流タスクが完了した後だけ実行できる。依存性グラフはタスクの部分的な順序付けを確立する。従って、タスクは、グラフベースの依存性制約を含む制約を受けて同時に実行できる。また、タスクを異なるコンピュータ上で実行して、計画の全体実行における並列処理による速度向上を達成してもよい。タスク管理システム100には、計画仕様120を読み込むタスクマネージャ110が含まれる。計画仕様は、依存性グラフ132を定義するグラフ仕様122、およびそれぞれのタスクの特性を定義するタスク仕様124を含む。グラフ仕様122は、ノード134のリスト、およびそれぞれがグラフのソースノードおよび宛先ノードを識別する弧136のリストにより、依存性グラフを定義する。各ノードはタスク定義と関係付けられていて、これはタスク仕様124で規定され、タスクで実行される特定操作を規定する。タスクは、タスクテンプレートを用いて定義でき、計画は計画テンプレートを用いて定義できる。タスクまたは計画のためのテンプレートは、シンボル的に表され、タスクが実行されるまで必ずしも値にバインドされるとは限らないパラメータへの参照を含むことができる。例えば、タスクテンプレートは、FILENAMEと命名されたパラメータへの参照を含むとともに、ドル記号構文のFILENAMEを用いて表現するそのパラメータへの参照を含むことができ、タスクの実行前または実行中に、タスクマネージャ110により特定の値にバインドされる。幾つかのパラメータは、全体計画に対してグローバルであり、全体計画が最初に実行される時に値を割り当てられる。このようなパラメータは全体として、計画の正式なパラメータとすることができ、例えば、全体計画を呼び出すコマンド内で規定することができるか、または計画を呼び出すユーザからインタラクティブに引き出すことができる。他のパラメータは、計画が最初に実行される時に規定される値を持っているとは限らない。このような動的パラメータは、一つ以上のタスクの実行中またはその実行の結果として、値を割り当てることができ、次いで、他のタスクのテンプレートにより参照される。例えば、図2では、パラメータAは、タスク1によりある値に設定することができ、次いで、その値をタスク2が用いることができる。タスク管理システム100は、以下に説明に関連する幾つかの追加の特長をサポートする。第1の特長は、ノード134が単一タスクではなく、全体のサブ計画と関係付けることができることである。サブ計画は、部分的に順序付けしたタスクの下位レベルの計画である。サブ計画は、トップレベルの計画仕様と同一または類似の構造の計画仕様120を有する。第2の特長は、タスクがその実行を通じて計画仕様120を修正できることである。詳細には、タスクは、グラフ132に追加のノード134および弧136を加え、タスクマネージャ110が提供するサービスを用いて追加ノードと関係付けられるタスクに対する特性を定義することができる。例えば、第1タスクは、実行すべき未知数ランタイム前にはのタスクを有する計画に対するテンプレートを用いてサブ計画を生成できる。テンプレート内のタスクの数は、動的パラメータを用いてランタイム時にバインドする。生成したサブ計画は、タスクマネージャ110により第1タスクの高次レベルの計画に組み込まれる。バインド手法タスクマネージャ110は、以下に説明するようにパラメーターバインドの幾つかの選択的な手法の内の一つを用いる。あるいは、タスクマネージャ110は、例えば、パラメータの宣言に従って異なるパラメータには異なる手法を用いる組合せバインド手法を用いる。幾つかまたは全ての手法が異なる一局面は、パラメータ定義の適用範囲にある。手法1図3を参照すると、第1バインド手法では、タスクマネージャ110は、全てのパラメータに対して単一のグローバルコンテキスト310を保持する。タスクマネージャ110は、任意のパラメータの単一コピーを保持する。すなわち、タスクマネージャ110は、幾つかの異なるパラメータ名322のそれぞれを、そのパラメータの現在値324と関係付けるデータ構造320を保持する対応するパラメータに値が割り当てられていない場合、値324は空のことがある。このデータ構造320を用いて、グローバルパラメータの値および実行する際にタスクが動的に割り当てる値を保持することができる。図2および図3を参照すると、この第1手法の実施例では、タスク1は、割当てAFOOにより示されるように値FOOをパラメータAに割り当てる。タスクマネージャ110は、割り当てられた値FOOをタスク1から受け取りタスク1からパラメータAの値セル324への矢印により示される、値セル324にその値を格納する。タスクマネージャ110は後で、タスク2に対するテンプレート内のパラメータAへの参照をバインドするために、値FOOをタスク2に提供する。本実施例では、タスク2は、割当てBABAZを含み、パラメータBには値FOOBAZが割り当てられることになる。タスクマネージャ110は、Bに対して割り当てられた値を受け取り、グローバルコンテキスト310に格納する。グラフ132に従って、タスク2は、タスク1が完了した後のみ実行される。従って、パラメータAへのFOOの割り当ては、タスク2の実行の前に実行されていることが保証される。一般的に、計画のマルチタスクのグループは、同時に実行することができる。特定の依存性グラフでは、互いに順序が付けられていない二つ以上のタスクは、同時に実行できるか、または従属性グラフ内でそれらの間に直接パスがない場合、予測できないシーケンスで実行される可能性がある。図2では、タスク2および3が、このような順序不定のタスクである。図2の実施例では、タスク3がパラメータAにBARの値を割り当てる。タスク3をタスク2の前に実行する場合、パラメータBには、タスク2でBARBAZの値が割り当てられる一方で、タスク3をタスク2の後で実行する場合、パラメータBには、FOOBAZの値が割り当てられる。幾つかのアプリケーションでは、Bに割り当てられる値の不確定性は好ましいことではない。このような状況を防ぐ一手法は、依存性グラフの静的なチェックを実行して、このような不確定性を示す計画の使用を禁じることである。チェックは、グラフによって順序付けられていないタスクグループの識別を含む。特定パラメータを、グループの内の一つのタスクが用いて、そのグループの別のタスクが割り当てる場合、曖昧さが発生する可能性がある。同様に、そのようなグループの内の二つのタスクが、特定のパラメータに値を割り当てる場合にも、コンフリクトが存在する。一般に、多数のタスクが特定パラメータにアクセスする任意の順序不定タスクのグループでは、どのタスクもそのパラメータに値を割り当てることができない。この静的チェックは、タスク2とタスク3との間の、パラメータAの参照に関するコンフリクトを識別する。タスク管理システム100は、静的チェックにより識別されるコンフリクトを扱う例えば、エラーハンドリングメカニズムを用いて。本実施例で注意すべきは、タスク2およびタスク5もまた、予測できない順序で実行できるが、両者はパラメータAの値を割り当てるのではなく、使用するのであり、従って、コンフリクトまたは曖昧さを表すことはない。依存性グラフの静的チェックは、計画実行の前に、タスクマネージャ110が実行するか、または代替として、計画仕様の妥当性評価をする別のモジュールが、処理前に実行してもよい。グラフがタスクの実行により修正される状況では、静的チェックを再度実行するか、または強化してグラフ修正にあたる。サブ計画を含む計画では、本手法の2つの変形を用いることができる。第1の変形では、タスクマネージャ110は、サブ計画の全てのレベルについての全パラメータに対して単一のコンテキストを保持する。サブ計画をもつノードを含む計画の静的チェックでは、そのサブ計画の任意のタスクによるパラメータ割り当ては、そのパラメータの値を用いる高位レベルの計画内の、任意の順序不定そのサブ計画をもつノードに関するタスクとコンフリクトする。サブ計画と関わる第2の変形では、タスクマネージャ110は、各サブ計画のパラメータに対して別々のコンテキストを保持し、サブ計画が完了した時に、サブ計画から次に高位レベルの計画にどのパラメータがエクスポートされるかを、サブ計画の仕様が明示的に識別する。そのような変形では、静的チェックが、サブ計画のエクスポートされたパラメータと、サブ計画実行と順序付けられていない次に高位レベルの計画内のタスクのそのパラメータへのアクセスとの間のコンフリクトと関わる。本手法の別のバージョンでは、タスクマネージャ110は、任意の特定のグローバル動的パラメータへの値の繰り返し割り当てを禁止する。手法2図4Aを参照すると、第2手法で、タスクマネージャ110は、全体として計画に設定されるパラメータに対するグローバルコンテキスト310、および依存性グラフの異なるノードとそれぞれが関係付けられる多数の動的コンテキスト410を保持する。パラメータを割り当てる各タスクは、そのパラメータの新規インスタンスを生成し、割り当てられた値をタスクマネージャ110を介してそのタスクと対応するノードと関係付けられる動的コンテキスト410内に格納する。従って、タスクマネージャ110は、パラメータと関係付けられる多数の値を格納でき、それぞれの値は、パラメータの異なるインスタンスと関係付けられる。任意の特定パラメータに対しては例えば、A、タスクマネージャ110は、パラメータが割り当てられている各タスクと関係付けられたパラメータの別々の値を保持する各タスクは別々のノードおよび別々の動的コンテキスト410と対応しているからである。図4Bおよび図4Cを参照すると、パラメータの各インスタンスおよびその関係する動的コンテキスト410は、どのタスクがそのインスタンスに割り当てられた値を見るかを決定するタスクスコープを有する。各動的コンテキスト410は、依存性グラフ132に従ってパターン420に付随する動的コンテキスト410間の関連性に基づいて、異なるタスクスコープと関係付けられる。例えば、タスク1でAFOOを割り当てられたパラメータAのインスタンス動的コンテキスト410に格納されているは、タスク3でABARを割り当てられているパラメータAのインスタンスと関係付けられるタスクスコープ432とは異なるタスクスコープ430を有する。タスク2でBABAZを割り当てられているパラメータBのインスタンスと関係付けられるタスクスコープ434は、タスク4を含むが、タスク5は含まない。本手法では、タスクスコープまたはパラメータのインスタンスおよび関係するその動的コンテキスト410のスコープは、パラメータのインスタンスに値を割り当てられたタスクおよびそのタスクの後下流に順序付けられたタスクのみを含む。タスクがパラメータを参照する場合、タスクマネージャ110は、そのスコープがタスクを含むパラメータのインスタンスの値をその参照にバインドする。タスク1が値FOOをパラメータAに割り当てる場合、タスクマネージャ110は、タスク1と関係付けられる動的コンテキスト410に値を格納する。同様に、タスク3が値BARをパラメータAに割り当てる場合、タスクマネージャ110は、タスク3と関係付けられる動的コンテキスト410に値を格納する。タスク2は、タスク1で値AFOOを割り当てられたパラメータAのインスタンスのスコープ内にあるが、タスク3でABARを割り当てられたパラメータAのインスタンスのスコープ内にはない。従って、本スコーピング手法のもとでは、タスク2のBの値に関する不確定性または曖昧さがない。タスクマネージャ110は、タスク2でのパラメータAへの参照を、タスク1に対する動的コンテキスト410からの値とバインドする。タスク2は、値FOOBAZをBに割り当て、タスク2と関係付けられる動的コンテキスト410内に格納するためにタスクマネージャ110に提供する。一般に、実行中は、タスクマネージャ110は、パラメータに値を割り当てるタスクで終了するグラフを通る上流パスすなわち、単一弧を通る直接パス、または既に実行されたタスクを通る間接的なパスを考慮することにより、タスク内のパラメータへの参照に値をバインドする。本実施例では、タスク2でパラメータAをバインドする場合、タスクマネージャ110は、パラメータがセットされているタスク1まで上流パスをたどる。図2の実施例では、タスク4は、タスク1のパラメータAのインスタンス、およびタスク3のそれの両方のスコープ内にある可能性をもつ。すなわち、タスク4からタスク1タスク2を通じて間接的におよびタスク3直接的にまでの上流パスがあり、それぞれ値をAに割り当てている。しかしながら、本実施例では、タスク3はタスク1の後に実行するという制約があるので曖昧さはない。多数の上流のパラメータ割り当てがあり、他の全ての後に順序付けられている一つのタスクがある場合、曖昧さはなく、最後のタスクの動的コンテキスト410のパラメータのインスタンスに割り当てられた値が用いられる。第1の手法と同様に、潜在的な曖昧さは、依存性グラフから静的にチェックできる。詳細には、グラフ内のノードタスクでのパラメータへの各参照に対して、パラメータへの値を割り当てることができる上流タスクは、最初に識別される。そのようなタスクがない場合、パラメータは、定義されていない値をもつことになるか、または計画に対するグローバルコンテキストから提供される。正確に一つの上流タスクがある場合、曖昧さはない。パラメータに値を割り当てる多数の上流タスクがある場合、これらのタスクすなわち、依存性グラフにより他のものの後に実行する制約があるの内の唯一つが他のものの後に順序付けられない限り、曖昧さが存在する。実装手法図5を参照すると、タスク仕様500図1のタスク仕様124に含まれているは、宣言部510および命令部520を含む。宣言部510は、対応するタスクの実行を通じて割り当てられる動的パラメータを識別する例えば、一つ、または複数の宣言命令文を用いて。図5に示すタスク仕様は、図2のタスク1と対応する。パラメータAは、宣言動的A512として示すように、タスクにより動的に割り当てられるとして宣言する。宣言部510はまた、利用可能なパラメータのスコープに従って、タスクマネージャ110がバインドするよう要求されるパラメータへの参照も識別する。命令部520は、タスクが実行する操作のためのコンピュータ命令例えば、プログラム言語または他の手続き命令文、および命令AFOO522等の動的パラメータに値を割り当てるための命令を含む。例えば、このようなコンピュータ命令は、ユーザが規定するか、またはコンピュータ処理により自動的に生成できる。タスクマネージャ110は、計画に対するタスク仕様の宣言部を処理して、対応するタスクの実行中に、どのパラメータを割り当てるか、または参照するか、またはその両方をすべきか決定できる。タスクマネージャ110は、タスク仕様の命令部を追加して処理することにより、または代替として、動的パラメータ割り当てまたは参照に対する別の種類の宣言文を用いることにより、割り当てまたは参照を区別できる。例えば、図2に示す実施例では、タスクマネージャ110は、タスク仕様を構文解析して、タスク2がパラメータAを参照する一方、タスク3がAに値を割り当てることを決定できる。これにより、タスクマネージャ110は、タスク2での参照およびタスク3での割り当てがコンフリクトする第1手法図3参照に対する静的チェックのような静的チェックを実行できる。宣言部が、参照されるべきパラメータを識別できる場合、タスクマネージャ110は、パラメータ環境と命令部520の命令を実行する前にバインドした値とをアセンブルできる。タスクの環境をアセンブルすると、タスクマネージャ110は、タスク仕様の命令部の命令を実行する処理を呼び出す。次いで、その処理は、それに対して作成された環境からのパラメータ値にアクセスする。実行中は、動的パラメータに対する割り当て命令処理の結果、タスク実行の出力である動的パラメータ割り当て部530にパラメータ、値の対が記録される。例えば、対A,FOO532が割り当て部530に記録されることになる。タスクマネージャ110は、命令部520の命令実行の後、割り当て部530を受け取り、その内容を用いてパラメータ値を更新する。本手法の一特定の実装では、命令部520には、ksh等のシェルスクリプト言語の命令文が含まれる。命令を解釈するシェルスクリプトを呼び出す前に、タスクマネージャ110は、宣言部510を用いてシェル命令を処理するのに用いるパラメータ値の環境をアセンブルする。この実装では、割り当て命令文は、スクリプトのテキスト出力への出力命令文の形式をとる。すなわち、割り当てAFOOを用いるのではなく、スクリプト命令はPRINTAFOO等の命令文を含み、その結果AFOOの行が出力される。スクリプトのテキスト出力は、動的パラメータ割り当て部530を形成する。タスクマネージャ110は、テキスト出力を受け取り、適切な動的コンテキスト410に値を格納する割り当て命令文を解釈する。別の実装では、命令部520の命令を解釈する処理は、タスクマネージャ110と通信し、タスクマネージャ110は、動的パラメータの値を格納、またはアクセスするリクエストのサービスを行う。パラメータ参照を値にバインドして命令を実行する必要がある場合、処理は、そのパラメータに対する適切な動的コンテキスト410を決定し、その動的コンテキスト410の値を戻すタスクマネージャ110にリクエストを送る。同様に、パラメータを値に割り当てる場合、処理は、適切な動的コンテキスト410の値を格納するリクエストを送る。代替の実装では、タスク仕様500の宣言部510は、実行中にタスクが必要とするパラメータを識別せず、タスクの命令が実行されている間、パラメータ値をリクエストするのに適した交信メカニズムを利用することができない。この実装では、そのタスクマネージャ110は、スコープがタスクを含む全てのパラメーターインスタンスの完全なリストをアセンブルする。バインドが曖昧さを招く可能性があるパラメータに対しては例えば、多数の上流の順序不定タスクによりパラメータに値が割り当てられたため、パラメータ値がambiguousValue曖昧な値等のインジケータで置換されて、パラメータがタスク内で参照されたというエラーが発生する。宣言部510が、動的に割り当てられるか、および/または各タスク内で参照されるパラメータの宣言を含まない場合、依存性グラフの静的チェックが不可能になることもある。しかしながら、タスクマネージャ110は、計画実行中に発生するかもしれない幾つかの潜在的コンフリクトを依然として識別できる。例えば、単一のグローバルコンテキスト図3参照をもつスコーピング手法を用いると、タスクマネージャ110が計画の実行中に、多数の順序不定タスクが一つのパラメータに値を割り当てたことを検出した場合、タスクマネージャ110は、潜在的なコンフリクトを識別できる。次いで、タスク管理システム100は、タスクマネージャが識別したコンフリクトを扱うことができる。実施例図6Aを参照すると、動的に割り当てたパラメータを用いる実施例が、幾つかのデータファイル641~643の処理に関わっていて、そのそれぞれは全体計画の異なるタスク631~633により処理される。データファイル641~643のファイル名は計画を最初に実行する時には未知である。正確には、ファイル名はテキストファイル622にリストアップされ、その名称は全体計画に対してグローバルパラメータLISTFILEとして提供される。計画は、LISTFILEのファイル622を開いて、その内容を読み出すのを受け持つ第1タスク620を含む。このタスク620は、ファイルを開いて内容を読み取り、リストにされた別々のデータファイルの数を決定する。本実施例では、リストファイル622は3つのファイル名、FNAME1DAT、FNAME2DAT、およびFNAME3DATを有する。タスクはリストにされたファイル641~643を、例えば、データネットワークにわたるファイル転送プロトコルを用いて検索する。タスク1は、幾つかの動的パラメータ、NUMINPUTおよびDATAFILE1~DATAFILE3に値を割り当て、適切なコンテキスト610にそれを記録するタスクマネージャ110に、この割り当て情報を渡す例えば、使用するスコーピング手法に依存するグローバルコンテキストまたはタスク1と関係付けられる動的コンテキスト。本実施例のこの第1バージョンでは、開始時に規定した計画は、入力ファイルを処理するための、タスク2~4631~633の3つのインスタンスのタスクを有する。各タスクは、タスク1が割り当てた動的パラメータを参照することにより、その対応する入力データファイルの名称を検索する。本実施例の変形は、タスクが計画仕様を修正することができるという利点がある。計画は、開始時には、単一タスク、GETNAMESタスク1620だけを有する。GETNAMESタスクが、処理するデータファイルが3つあるということを決定した後、タスクは、タスクマネージャ110のサービスを利用して、3つの処理タスク631~633を作成し、それらを自身に接続するタスク1。タスク1が完了した後、タスクマネージャ110は、上記のように新規に作成したタスク631~633を実行する。代替として、本実施例の別の変形では、タスクマネージャ110は、修正可能な幾つかのタスクを有する計画テンプレートを用いることができる。図6Bを参照すると、計画は、開始時には、二つのタスク、GETNAMESタスク1620、およびPROCESSタスク2650を有する。GETNAMESタスクが、処理するデータファイルが3つあるということを決定した後、PROCESSタスクは、修正可能な幾つかのタスクを有する計画テンプレートを用いてサブ計画を作成する。PROCESSタスクは、動的パラメータNUMINPUTを参照して、3つの順序付けられていない処理タスク631~633をもつサブ計画を作成する。タスクマネージャ110は、上記のように、新規に作成したサブ計画内のタスク631~633を実行する。上記のパラメータースコーピング手法は、コンピュータ上で実行するためのソフトウエアを用いて実装できる。例えば、ソフトウエアは、一台以上にプログラムされるか、またはプログラム可能な分散型、クライアント/サーバ、またはグリッド型等の各種のアーキテクチャからなってもよいコンピューターシステム上で実行される一つ以上のコンピュータープログラム内に手順を形成する。コンピューターシステムそれぞれは、少なくとも一つのプロセッサ、少なくとも一つのデータ格納システム揮発性または不揮発性メモリおよび/または格納素子を含む、少なくとも一つの入力装置またはポート、および少なくとも一つの出力装置またはポートを含む。ソフトウエアは、例えば、計算グラフの設計および構成と関連する他のサービスを提供する長いプログラムの一つ以上のモジュールを形成する。ソフトウエアは、汎用または特殊用途のプログラマブルコンピュータにより可読なCD-ROM等の媒体上に提供するか、またはそれを実行するコンピュータにネットワークを越えて配信する伝搬信号で符号化する。全ての機能は、特殊用途のコンピュータ上で、またはコプロセッサ等の特殊用途ハードウエアを用いて実行できる。ソフトウエアは、ソフトウエアが規定する計算の異なる部分を異なるコンピュータで実行する分散形式で実装してもよい。かかるコンピュータープログラムはそれぞれ、汎用または特殊用途プログラマブルコンピュータにより可読な格納媒体または装置例えば、固体メモリまたは媒体、または磁気式または光式媒体に格納するかまたはダウンロードし、その格納媒体、または装置をコンピューターシステムが読み取って、本明細書で説明した手順を実行する場合に、コンピュータを構成、および動作させるのが好ましい。発明性のある本システムは、コンピュータープログラムにより構成したコンピュータ可読格納媒体として実装されると考えてもよく、そのように構成した格納媒体は、コンピューターシステムに規定の、かつ所定の方法で本明細書で説明した機能を実行するよう動作させる。言うまでもなく、上記説明は、説明を意図したものであり、添付クレームの適用範囲により定義される本発明の適用範囲を制限する意図はない。他の実施の形態は、以下のクレームの適用範囲内にある。"