"グラフに基づくデータ処理のためにデータセットオブジェクトを管理する方法であって、1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、前記データセットオブジェクトのそれぞれは各データセットを表すこと、前記グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含むことを含む方法。前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、前記データフローグラフに対応するデータ構造にアクセスすることであって、前記データフローグラフは、前記第1のノードを含む複数のノード及び前記ノードを接続するリンクを含み、前記リンクは、前記ノード間のデータフローを表すこと、ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信することであって、前記第1のデータセットオブジェクトは複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、ユーザ入力に基づいて前記第1のデータセットオブジェクトに対して選択されたモードを受信すること、前記選択されたモードを受信した後、前記データフローグラフに前記第1のノードを生成することであって、前記第1のノードは、前記選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含むこと、リンクを使用して、前記第1のノードを前記データフローグラフ内の少なくとも1つのノードに接続すること、を含む、請求項1に記載の方法。前記第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、前記第1のノードは前記パラメータの値をさらに含む、請求項2に記載の方法。前記複数のモードのうちの第1のモードの前記変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む、請求項2に記載の方法。前記複数のモードのうちの第2のモードの前記変換ロジックは、データレコードを前記データストアに書き込む変換ロジックを含む、請求項4に記載の方法。前記第1のノードは、前記第1のデータセットオブジェクトを識別する情報を含む、請求項2に記載の方法。ユーザ入力に基づいて前記グループから選択された前記第1のデータセットオブジェクトを受信すること、複数のデータフローグラフを識別することであって、前記データフローグラフのそれぞれは、前記第1のデータセットオブジェクトを識別するノードを含むこと、をさらに含む、請求項1に記載の方法。前記データセットオブジェクトの各モードは、ノード及び前記ノードを接続するリンクを含む別個のデータフローグラフで表され、前記リンクは前記ノード間のデータフローを表す、請求項1に記載の方法。前記関連付けられたデータセットオブジェクトと前記関連付けられたノードとの間の関連付けを生成することは、前記第1のノードを含む前記データフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及び前記ノードを接続するリンクを含み、前記ノードは変換ロジックを含み、前記リンクは前記ノード間のデータフローを表すこと、同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含むこと、データセットオブジェクトを生成することであって、前記識別されたノードの前記変換ロジックに基づいて、前記生成されたデータセットオブジェクトの複数のモードを識別すること、前記識別されたノードに関連付けられたパラメータに基づいて、前記生成されたデータオブジェクトのパラメータを識別することを含むこと、前記生成されたデータセットオブジェクトを前記グループに記憶すること、を含む、請求項1に記載の方法。前記生成されたデータセットオブジェクトを識別する情報に基づいて、前記複数のノードのそれぞれを更新して、前記データストアにアクセスすることをさらに含む、請求項9に記載の方法。同じデータストアにアクセスする前記複数のデータフローグラフの複数のノードを識別することは、前記複数のデータフローグラフのそれぞれを実行すること、前記データフローグラフの実行中、前記複数のデータフローグラフの前記ノードのパラメータに割り当てられたパラメータ値を記録すること、前記記録されたパラメータ値に基づいて前記複数のノードを識別すること、を含む、請求項9に記載の方法。グラフに基づくデータ処理のためにデータセットオブジェクトを管理するコンピュータプログラムを記憶するコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、計算システムに、1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、前記データセットオブジェクトのそれぞれは各データセットを表すこと、前記グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含むことを行わせる命令を含む、コンピュータ可読媒体。グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システムであって、1つ又は複数のデータセットオブジェクトのグループを記憶するデータ記憶システムであって、前記データセットオブジェクトのそれぞれは各データセットを表す、データ記憶システムと、前記データ記憶システムに結合され、前記グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成するように構成される少なくとも1つのプロセッサであって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含む、少なくとも1つのプロセッサと、を含む、計算システム。グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システムであって、1つ又は複数のデータセットオブジェクトのグループを記憶する手段であって、前記データセットオブジェクトのそれぞれは各データセットを表す、手段と、前記グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成する手段であって、前記第1のノードは、前記データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、前記第1のデータセットオブジェクトは、異なる変換ロジックが前記第1のノードで処理されるデータに適用される複数のモードを含む、手段と、を含む、計算システム。概要一態様では、一般には、グラフに基づくデータ処理のためにデータセットオブジェクトを管理する方法は、1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、データセットオブジェクトのそれぞれは各データセットを表す、記憶すること、及びグループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの間の関連付けを生成することを含み、第1のノードは、データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、第1のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む。態様は以下の特徴のうちの1つ又は複数を含み得る。関連付けられたデータセットオブジェクトと関連付けられたノードとの関連付けを生成することは、データフローグラフに対応するデータ構造にアクセスすることであって、データフローグラフは、第1のノードを含む複数のノード及びノードを接続するリンクを含み、リンクは、ノード間のデータフローを表す、アクセスすること、ユーザ入力に基づいてグループから選択された第1のデータセットオブジェクトを受信することであって、第1のデータセットオブジェクトは複数のモードを含み、各モードは、変換ロジック及び入力ポート又は出力ポートのうちの少なくとも1つを含む、受信すること、ユーザ入力に基づいて第1のデータセットオブジェクトに選択されたモードを受信すること、選択されたモードを受信した後、データフローグラフに第1のノードを生成することであって、第1のノードは、選択されたモードの変換ロジック、任意の入力ポート、及び任意の出力ポートを含む、生成すること、並びにリンクを使用して、第1のノードをデータフローグラフ内の少なくとも1つのノードに接続すること、を含む。第1のデータセットオブジェクトは少なくとも1つのパラメータをさらに含み、第1のノードはパラメータの値をさらに含む。複数のモードのうちの第1のモードの変換ロジックは、データストアからデータレコードを読み取る変換ロジックを含む。複数のモードのうちの第2のモードの変換ロジックは、データレコードをデータストアに書き込む変換ロジックを含む。第1のノードは、第1のデータセットオブジェクトを識別する情報を含む。この方法は、ユーザ入力に基づいてグループから選択された第1のデータセットオブジェクトを受信すること、及び複数のデータフローグラフを識別することであって、データフローグラフのそれぞれは、第1のデータセットオブジェクトを識別するノードを含む、識別することをさらに含み得る。データセットオブジェクトの各モードは、ノード及びノードを接続するリンクを含む別個のデータフローグラフで表され、リンクはノード間のデータフローを表す。関連付けられたデータセットオブジェクトと関連付けられたノードとの関連付けを生成することは、第1のノードを含むデータフローグラフを含む複数のデータフローグラフに対応するデータ構造にアクセスすることであって、各データフローグラフは、複数のノード及びノードを接続するリンクを含み、ノードは変換ロジックを含み、リンクはノード間のデータフローを表す、アクセスすること、同じデータストアにアクセスする複数のデータフローグラフの複数のノードを識別することであって、少なくとも1つの識別されたノードは1つ又は複数のパラメータを含む、識別すること、データセットオブジェクトを生成することであって、識別されたノードの変換ロジックに基づいて、生成されたデータセットオブジェクトの複数のモードを識別すること、及び識別されたノードに関連付けられたパラメータに基づいて、生成されたデータオブジェクトのパラメータを識別することを含む、生成すること、生成されたデータセットオブジェクトをグループに記憶することを含む。この方法は、生成されたデータセットオブジェクトを識別する情報に基づいて、複数のノードのそれぞれを更新して、データストアにアクセスすることをさらに含み得る。同じデータストアにアクセスする複数のデータフローグラフの複数のノードを識別することは、複数のデータフローグラフのそれぞれを実行すること、データフローグラフの実行中、複数のデータフローグラフのノードのパラメータに割り当てられたパラメータ値を記録すること、及び記録されたパラメータ値に基づいて複数のノードを識別することを含む。別の態様では、一般に、コンピュータ可読記憶媒体は、グラフに基づくデータ処理のためにデータセットオブジェクトを管理するコンピュータプログラムを記憶する。コンピュータプログラムは、計算装置に、1つ又は複数のデータセットオブジェクトのグループをデータ記憶システムに記憶することであって、データセットオブジェクトのそれぞれは各データセットを表す、記憶すること、及びグループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの関連付けを生成することであって、第1のノードは、データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、第1のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む、生成することを行わせる命令を含む。別の態様では、一般に、グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システム。計算システムは、1つ又は複数のデータセットオブジェクトのグループを記憶するデータ記憶システムであって、データセットオブジェクトのそれぞれは各データセットを表す、データ記憶システムと、データ記憶システムに結合され、グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの関連付けを生成するように構成される少なくとも1つのプロセッサであって、第1のノードは、データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、第1のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む、少なくとも1つのプロセッサとを含む別の態様では、一般に、グラフに基づくデータ処理のためにデータセットオブジェクトを管理する計算システム。計算システムは、1つ又は複数のデータセットオブジェクトのグループを記憶する手段であって、データセットオブジェクトのそれぞれは各データセットを表す、手段と、グループ内の少なくとも第1のデータセットオブジェクトと、データ処理システムでデータを処理するデータフローグラフの少なくとも第1のノードとの関連付けを生成する手段であって、第1のノードは、データフローグラフ内のリンクにより表されるデータフロー内のデータのソース又はシンクを表し、第1のデータセットオブジェクトは、異なる変換ロジックが第1のノードで処理されるデータに適用される複数のモードを含む、手段とを含む。態様は、以下の利点のうちの1つ又は複数を含むことができる。データセットオブジェクトを、複数のデータフローグラフで再使用し得る。データレコードの更新を簡易化し得る。データの従属性を特定し得る。アプリケーション開発を簡易化し得る。本発明の他の特徴及び利点が以下の説明及び特許請求の範囲から明らかになろう。説明図1は、データセットオブジェクト技法を使用することができる例示的なデータ処理システム100を示す。システム100はデータソース102を含み、データソース102は、記憶装置又はオンラインデータストリームへの接続等の1つ又は複数のデータソースを含み得、各データソースは、任意の様々な記憶フォーマット例えば、データベーステーブル、スプレッドシートファイル、平文ファイル、又はメインフレームで使用されるネイティブフォーマットでデータを記憶し得る。実行環境104は、事前実行モジュール106及び実行モジュール112を含む。実行環境104は、UNIX登録商標オペレーティングシステム等の適したオペレーティングシステムの制御下で1つ又は複数の汎用コンピュータでホストし得る。例えば、実行環境104は、ローカルである例えば、SMPコンピュータ等のマルチプロセッサシステムか、又はローカルに分散する例えば、クラスタとして結合された複数のプロセッサ又はMPPか、又はリモートであるか、又はリモートに分散する例えば、ローカルエリアネットワークLAN及び/又は広域ネットワークWANを介して結合された複数のプロセッサか、又はこれらの任意の組み合わせである複数の中央演算処理装置CPUを使用するコンピュータシステムの構成を含む複数ノード並列計算環境を含むことができる。事前実行モジュール106は、データフローグラフ及びデータフローグラフのコンパイル、実行環境104がアクセス可能なデータ記憶システム116への/からのコンパイルされたデータフローグラフの記憶/ロード等の他の実行可能プログラム、又はデータフローグラフの管理に関連付けられた他のタスクを実行する準備として、様々なタスクを実行するように構成される。実行モジュール112は、データをデータソース102から読み取り、データフローグラフの形態で表現されるプログラムを含む実行可能プログラムを使用してデータを処理する。データソース102を提供する記憶装置は、実行環境104にローカルであってもよく、例えば、実行環境104を実行するコンピュータに接続された記憶媒体例えば、ハードドライブ108に記憶されてもよく、又は実行環境104からリモートであってもよく、例えば、リモート接続を介して実行環境104を実行するコンピュータと通信するリモートシステム例えば、メインフレーム110でホストしてもよい。実行モジュール112は、実行環境104がアクセス可能なデータ記憶システム116に記憶されたデータセットオブジェクトのカタログ114を使用して、データフローグラフを実行する。カタログ114は、事前処理モジュール106により管理されて、より詳細に後述するように、異なるモードに構成することができるデータセットオブジェクトを提供する。カタログは、データセットオブジェクトのグループをデータ構造又は特定のロケーション例えば、ファイルシステムディレクトリに記憶し得、又は様々なロケーションに記憶されたデータオブジェクトのグループを識別する情報を含み得る。いくつかの実施態様では、カタログは、検索又は他の動作を可能にするインデックス又はメタデータ等の情報を含む。開発者120がデータフローグラフを開発し、カタログ114と対話することが可能な開発環境118も、データ記憶システム116にアクセス可能である。開発環境118は、いくつかの実施態様では、有向リンク作業要素の流れを表すで接続される頂点コンポーネント又はデータセットを表すを含むデータフローグラフとしてアプリケーションを開発するシステムである。例えば、そのような環境については、ManagingParametersforGraphBasedApplicationsという名称の米国特許出願公開第2007/0011668号により詳細に説明されており、この公開出願を参照により本明細書に援用する。そのようなグラフに基づく計算を実行するシステムは、米国特許第5,566,072号、EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHSに記載されており、この特許を参照により本明細書に援用する。このシステムに従って作成されたデータフローグラフは、グラフコンポーネントにより表される個々のプロセス内外への情報を取得する方法、例えば、プロセス間で情報を移動させ、プロセスの実行順序を定義する方法を提供する。このシステムは、プロセス間通信方法を選ぶアルゴリズムを含む例えば、グラフのリンクに従う通信路は、TCP/IP又はUNIX登録商標ドメインソケットを使用することができ、又は共有メモリを使用して、プロセス間でデータを渡すことができる。実行モジュール112は、異なる形態のデータベースシステムを含む様々なタイプのシステムからデータを受信することができる。データは、ヌル値を含むことが可能な、各フィールド属性又は列とも呼ばれるに値を有するレコードとして編成し得る。データソースから最初にデータを読み取る際、実行モジュール112は通常、そのデータソース内のレコードについてのいくらかの初期フォーマット情報で開始する。いくつかの状況では、データソースのレコード構造は、最初に分からず、代わりに、データソースの分析後に特定し得る。レコードについての初期情報は、別個の値を表すビット数、レコード内のフィールドの順序、及びビットで表される値のタイプ例えば、文字列、署名付き/署名なし整数を含むことができる。開発環境118は、実行環境104で実行すべきデータフローグラフの構築及び/又は編集を行うために開発者120が使用するインタフェースを提供する。データフローグラフには、データ記憶システム116に記憶される実行可能データ構造が関連付けられ、データフローグラフは、開発環境118において、ノード及びノードを接続するリンクを含む有向グラフとして表現される。開発環境は、開発中のデータフローグラフに対応するデータ構造にアクセスすることが可能である。データフローグラフのノードは、データソース、データシンク、及びデータ処理コンポーネントを表す。リンクは、ノード間のデータフローを表す。開発環境118は、データセットオブジェクトのカタログ114へのアクセスを提供することも可能である。カタログ114は、データ記憶システム116内のデータストア又は別のデータストア内に配置し得る。カタログ114は、ユーザ入力に基づいて選択することができる1つ又は複数のデータセットオブジェクトを含む。データセットオブジェクトは、データセットオブジェクトが提供する機能を決める複数のモードパーソナリティと呼ばれるを含むデータフローグラフノードである。例えば、データセットオブジェクトは、データソースパーソナリティ及びデータシンクパーソナリティを含み得る。データセットオブジェクトが、データフローグラフ内のノードとして使用されるように選択される場合、データセットオブジェクトは、例えば、ユーザ入力に基づいてパーソナリティの1つを採用する。例えば、開発環境118は、データフローグラフ例えば、リンクで接続されたノードの表現を含むカタログ及びカンバスの表現を含むグラフィカルユーザインタフェースGUIを含み得る。ユーザ例えば、開発者120は、データセットオブジェクトをカタログからカンバスにドラッグアンドドロップすることができる。データセットオブジェクトの表現がカンバスに配置されると、ユーザはデータセットオブジェクトのパーソナリティを選択することができる。選択されたパーソナリティを使用して、データフローグラフに新しいノードを生成する。選択されたパーソナリティには、何らかの方法でデータを変更する変換ロジックが関連付けられる。例えば、データソースパーソナリティは、データレコードをデータストア例えば、データベーステーブル、ファイル、又は他のデータストアから読み取り、何らかの変換を実行する変換ロジックを含むことができる。データシンクパーソナリティは、何らかの変換を実行した後、データレコードをデータストアに書き込む変換ロジックを含むことができる。いくつかの実施態様では、データセットオブジェクトのパーソナリティの変換ロジックは、データフローグラフを使用して実施することができる。いくつかの実施態様では、データセットオブジェクトの各パーソナリティには、ノード及びノードを接続するリンクを含む異なる各データフローグラフが関連付けられる。各パーソナリティは、入力ポート例えば、データシンクパーソナリティを有してもよく、出力ポート例えば、データソースパーソナリティを有してもよく、入力ポート及び出力ポートの両方例えば、データ変換パーソナリティを有してもよく、又はポートを全く有さなくてもよい例えば、ルックアップテーブルパーソナリティ。データセットオブジェクトに選択されたパーソナリティを受信することにより生成される新しいノードは、選択されたパーソナリティの変換ロジック及びポートを反映する。いくつかの実施態様では、データセットオブジェクトは、データソースのロケーションを識別する。データセットオブジェクトは、データソースのロケーションを識別するパラメータを含み得る。いくつかの実施態様では、パラメータは、データフローグラフの実行中に決定される値を含む動的パラメータを使用して、データソースのロケーションを識別する。データソースにアクセスするデータセットオブジェクトは、データのフォーマットを識別するとともに、データが圧縮又は暗号化されているか否かを識別することができる。生成されたノードは、リンクを使用して、生成されたノードをデータフローグラフ内の少なくとも1つのノードに接続することにより、データフローグラフに組み込むことができる。いくつかの実施態様では、生成されたノードは、データソースからのデータをデータフローグラフに提供するか、又はデータフローグラフからのデータをデータストアに記憶する。図2Aは、データセットオブジェクトを管理するシステムにより実施することができる例示的なプロセス200のフローチャートを示す。便宜上、プロセスについてプロセスを実行するシステムに関連して説明する。プロセス200は、データフローグラフに対応するデータ構造にアクセスする202。データ構造は、ノード及びノードを接続するリンクを含み、リンクはノード間のデータフローを表す。プロセス200は、データセットオブジェクトのカタログを提供する204。上述したように、カタログは1つ又は複数のデータセットオブジェクトを含むことができる。プロセス200は、カタログから選択されたデータセットオブジェクトを受信する206。例えば、ユーザは、データセットオブジェクトをカタログからカンバスにドラッグすることにより、データカタログからデータセットオブジェクトを選択することができる。上述したように、データセットオブジェクトは複数のパーソナリティを含み、各パーソナリティは、変換ロジックと、少なくとも1つの入力ポート及び/又は少なくとも1つの出力ポートとを含む。プロセス200は、データセットオブジェクトに選択されたパーソナリティを受信する208。上述したように、ユーザは、例えば、ラジオボタン又はドロップダウンメニュー上の値を選択することにより、選択されたデータセットオブジェクトのパーソナリティを選択することができる。プロセス200は、データフローグラフ内にノードを生成する210。生成されたノードは、選択されたパーソナリティの変換ロジック及び任意の入力及び出力ポートを含む。プロセス200は、生成されたノードをデータフロー内の少なくとも1つのノードに接続する212。図2Bは、データセットオブジェクトを管理するシステムにより実施することができる例示的なプロセス230のフローチャートを示す。便宜上、プロセスについて、プロセスを実行するシステムに関連して説明する。プロセス230は、複数のデータフローグラフにアクセスする232。上述したように、各データフローグラフは、ノード及びノードを接続するリンクを含む。ノードは変換ロジックを含み、リンクはノード間のデータフローを表す。プロセス230は、同じデータストアにアクセスする複数のノードを識別する234。各ノードはパラメータ及び変換ロジックを含む。プロセス230は、データセットオブジェクトを生成する236。データセットオブジェクトを生成するために、プロセスは、複数のノードの変換ロジックに基づいて複数のパーソナリティを識別する238。プロセス230は、ノードに関連付けられたパラメータに基づいてパラメータも識別する240。プロセス230は、生成されたデータセットオブジェクトをデータカタログに記憶する242。図3は、開発環境、例えば、図1の開発環境118のユーザインタフェース例300を示す。ユーザインタフェース300は、複数のデータセットオブジェクト304a~eを含むデータセットオブジェクトのカタログ302を含む。ユーザインタフェース300はカンバス306も含み、カンバス306において、ユーザはデータフローを作成又は変更することができる。カンバスは、データフローグラフに含まれるノードの表現を表示する。この例では、データフローグラフは、第1のデータソース310、第2のデータソース312、第1のコンポーネントノード314、第2のコンポーネントノード316、データシンク320、及びルックアップテーブル308を含む。データフローグラフを通してのデータの流れは、リンクにより定義される。例えば、第1のデータソース310は出力ポート322を含み、出力ポート322は、リンク326によりコンポーネントノード314の入力ポート324に接続される。ユーザ図示せずは、データセットオブジェクト例えば、データセットオブジェクト304bをカタログ302からカンバス306にドラッグして、新しいノード318を生成する。ユーザは、例えば、属性インタフェース要素332上のラジオボタンを使用してパーソナリティを選択することにより、新しいノード318のパーソナリティを選択する。パーソナリティが選択されると、新しいノード318は、パーソナリティに関連付けられた入力ポート、出力ポート、及び/又は変換ロジックを提示する。後述するように、新しいオブジェクトは、ユーザが設定し得るパラメータを含むこともできる。図4は、データセットオブジェクトに関連付けられた例示的なパーソナリティを示す。データセットオブジェクト400には、1つ又は複数のパラメータ414を関連付けることができる。例えば、データセットオブジェクト400には、ラベル、ファイル名、レコードフォーマット、データベーステーブル名、又は他の任意の情報を定義する値を有するパラメータを関連付けることができる。いくつかの実施態様では、パラメータ値を実行時に動的に決定することができる。データセットオブジェクト400は複数のパーソナリティを含むことができ、各自の特徴を有する各パーソナリティは、各自の入力ポート、出力ポート、及び/又は変換ロジックを含む。例えば、データセットオブジェクトはデータソースパーソナリティ404を含むことができ、データソースパーソナリティ404は、ファイル、データベーステーブル、又は他のデータ構造からデータを読み取り、データフローグラフに提供する。データセットオブジェクト400はデータシンクパーソナリティ410を含むこともでき、データシンクパーソナリティ410は、入力ポートでデータレコードフローを受け入れ、データストア、例えば、データベーステーブル、ファイル、又は他の何らかのデータストアに記憶する。データセットオブジェクト400はパラレルデータソースパーソナリティ402を含むことができ、パラレルデータソースパーソナリティ402は、データを複数のパラレルデータ構造から読み取り、データフローグラフに提供する。同様に、データセットオブジェクト400は、データレコードストリームを複数のデータストアに提供するパラレルデータシンクパーソナリティ412を含むことができる。データセットオブジェクト400は、ルックアップテーブルパーソナリティ418を含むことができる。一般に、ルックアップテーブルは入力ポート又は出力ポートを含まない。ルックアップテーブルパーソナリティは、他のノードでの高速データ参照のためにデータソースをメモリに読み出す。データセットオブジェクト400は、1つ又は複数のコンポーネントパーソナリティ、例えば、パーソナリティ406を含むことができる。一般に、コンポーネントパーソナリティは、少なくとも1つの入力ポート及び少なくとも1つの出力ポートを含み得、データフローに対して演算を実行する。例えば、コンポーネントは、データフローをフィルタリングして、特定の値を有するデータレコードを識別し得る。いくつかの実施態様では、パラメータにデータセットオブジェクトパーソナリティを関連付けることができる。例えば、パラレルデータシンクパーソナリティ412に、データフローを分割すべきファイルの名前を定義するパラメータ416が関連付けられる。いくつかの状況では、データセットオブジェクトは複数のデータシンク及びデータソースを含むことができる。例えば、データセットオブジェクトは、データをデータベーステーブルに書き込む第1のデータシンクパーソナリティ、データをフラットファイルに書き込む第2のデータシンクパーソナリティ、及びファイル転送プロトコルFTPを使用してデータをリモートサーバに書き込む第3のデータシンクパーソナリティを含むことができる。同様に、データセットオブジェクトは、データベーステーブルからデータを読み取る第1のデータソースパーソナリティ、データをフラットファイルから読み取る第2のデータソースパーソナリティ、及びFTPを使用してリモートサーバ上のデータにアクセスする第3のデータソースパーソナリティを含むことができる。いくつかの実施態様では、他のプロトコル及びデータアクセス方法を使用することができる例えば、ハイパーテキスト転送プロトコルHTTP及び拡張可能マークアップ言語XMLドキュメント。いくつかの実施態様では、データセットオブジェクトのすべてのデータソースパーソナリティは、同一の出力を生成し、データセットオブジェクトのすべてのデータシンクパーソナリティは、同一の入力を受け入れる。したがって、どのデータソースパーソナリティ又はデータシンクパーソナリティがデータフローグラフに含まれるかは、データフローグラフ内のその他のノードにトランスペアレントであり得る。上述したように、いくつかの実施態様では、データセットパーソナリティには、データに対して変換を実行するデータフローグラフとして実施される変換ロジックを関連付けることができる。例えば、データセットオブジェクトのデータソースパーソナリティは、XMLファイルを読み取り、処理のために、階層XMLデータを一連のシーケンシャルレコードに変換し得る。同様に、データセットオブジェクトのデータシンクパーソナリティは、一連のシーケンシャルレコードを受け入れ、レコードを階層XMLデータに変換して、XMLファイルに記憶し得る。データセットオブジェクトに関連付け得る他のパーソナリティは、データソースからのデータをリフレッシュするパーソナリティ及びデータソースにおいてレコードを更新するパーソナリティを含む。図5は、カタログ内のデータフローグラフ間及びデータセットオブジェクト間の関係を示す。カタログからのデータセットオブジェクトが、データフローグラフ内のノードの生成に使用される場合、コンポーネントとデータセットオブジェクトとの関係が維持される。この例では、データセットオブジェクト504を使用して、データフローグラフ506a内にノード508aを生成した。同様に、同じデータセットオブジェクト504を使用して、データフローグラフ505b~e内でノード508b~eを生成した。線510aで表されているように、カタログ502はデータセットオブジェクト504とノード508aとの関係を維持する。線510b~eで表されるように、データセットオブジェクト504とノード508b~eとの関係も、線510b~eで表されるように、同様に維持される。いくつかの実施態様では、ノード508a~eは、ノードの生成に使用されたデータセットオブジェクト504の識別情報を維持する。いくつかの実施態様では、データフローグラフ506a~eは、データセットオブジェクト504を参照することによりノード508a~eを実施する。この実施態様では、データセットオブジェクト504のパーソナリティに行われた変更は、データフローグラフ506a~eの実行に自動的に反映される。開発環境、例えば、図1の開発環境118のユーザは、維持された関係を使用して、データフローグラフ間の従属性を分析することができる。例えば、ユーザは、データセットオブジェクト504及びデータセットオブジェクトにより識別されるデータソースへの変更により影響を受けるデータフローグラフ506a~eのそれぞれを識別することができる。識別されたデータフローグラフは、変更を達成するために、必要に応じて変更することができる。図6は、カタログ内のデータセットオブジェクトへの既存のノードの関連付けを示す。いくつかの状況では、ユーザは、カタログからのデータセットオブジェクトを使用せずにデータストアにアクセスする、生成されたノード例えば、データソース、データシンク、又はルックアップテーブルを有し得る。これは、データフローグラフの作成時に適切なデータセットオブジェクトが存在しなかったか、又は同様に、開発者が、提供されたデータフローグラフの使用を怠ったために発生し得る。図1を参照すると、データ記憶システム116及び潜在的に実行環境104と併せて開発環境118は、これらのノードを識別し、後述するように、適切なデータセットオブジェクトに関連付けることができる。図6を再び参照すると、データシンク612は、データストア618のシンクであり、データストア618にアクセスする変換ロジックを含む。開発環境は、カタログ内のデータセットオブジェクト620が、データストア618のシンクでもあるデータシンクパーソナリティ図示せずを含むことを特定する。矢印624で表されるように、データシンク612にはデータセットオブジェクト620が関連付けられる。いくつかの実施態様では、データシンク612内の変換ロジックは、データセットオブジェクト620のデータシンクパーソナリティ内の変換ロジックで置換される。他の実施態様では、変換ロジックは置換されない。いくつかの状況では、データシンク612は、別個のパーソナリティとしてデータセットオブジェクト620に追加し得る例えば、データセットオブジェクト620がデータシンクパーソナリティを含まない場合。別の状況では、データシンク614はデータストア626のシンクであり、データストア626にアクセスする変換ロジックを含む。開発環境は、データシンク614に対応するデータセットオブジェクトがカタログ622に存在しないと特定する。その結果、開発環境は、データシンク614に基づいてデータシンクパーソナリティ図示せずを有する新しいデータセットオブジェクト630を作成する。新しいデータセットオブジェクト630は、カタログ622に追加される。新しいデータセットオブジェクト630にはデータシンク614が関連付けられる。いくつかの実施態様では、開発環境は、ノードのパラメータの値に基づいてノードデータソース、データシンク、ルックアップテーブル、又は他のコンポーネントを関連付けることができる。例えば、データセットオブジェクトのパラメータ及びパラメータ値が、ノードのパラメータ及びパラメータ値に一致する場合、ノードにデータセットオブジェクトを関連付けることができる。いくつかの実施態様では、パラメータ及びパラメータ値が厳密に一致しない場合であっても、ノード及びデータセットオブジェクトを関連付け得る。例えば、いくつかのパラメータは、必要なパラメータとして見なされ得る例えば、ノード及びデータセットオブジェクトを関連付けるには、パラメータ及びパラメータ値の両方が一致しなければならない。他のパラメータは、存在する必要がないか、又はデータセットオブジェクトに関連付けるべきノードのデータセットオブジェクトのパラメータ値に一致する必要がない任意選択的なパラメータと見なされ得る。上述したように、いくつかのパラメータは、グラフが実行されるまで決定されない値を有することができる。この状況では、システムは、実行中、データフローグラフのノードのパラメータの値を追跡することができる。実行中に決定されるパラメータ及びパラメータ値は、上述したように、データセットオブジェクトのパラメータ及びパラメータ値と比較することができる。図7を参照すると、いくつかの実施態様では、実行中に決定されるパラメータ及びパラメータ値は、実行中、データセットオブジェクトに関連付けられた他のノードのパラメータ及びパラメータ値と比較される。例えば、データカタログ702は、値inputfileを有するパラメータ706FileNameを有するデータセットオブジェクト704を含み、inputfileは、パラメータ706が、値が実行中に決定される動的パラメータであることを示す。接続線708により表されるように、データセットオブジェクト704には、データセットオブジェクト704のデータソースパーソナリティとして以前に生成されたデータソース710が関連付けられる。実行中、パラメータ712FileNameの値は、X\Input20101001datであると決定される。データセットオブジェクト704に関連付けられないデータシンク714は、値X\Input20101001datを有するパラメータ716FileNameを含む。一致するパラメータ706及び716並びにデータセットオブジェクト704にすでに関連付けられた別のパラメータ712の値に一致するパラメータ716の値に基づいて、データシンク714は、データセットオブジェクト704のデータシンクパーソナリティとして、データセットオブジェクト704に関連付けられると決定される。一般に、データセットオブジェクトへのノードデータソース、データシンク、又はルックアップテーブルの一致では、複数のパラメータ及びパラメータ値が一致する必要があり得る。例えば、データセットオブジェクトへのノードの関連付けでは、データストアのロケーション及びレコードフォーマットを識別するパラメータが一致する必要があり得る。上述したデータセットオブジェクト手法は、コンピュータで実行されるソフトウェアを使用して実施することができる。例えば、ソフトウェアは、それぞれが少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム揮発性及び不揮発性メモリ及び/又は記憶要素を含む、少なくとも1つの入力装置又はポート、及び少なくとも1つの出力装置又はポートを含むプログラムされるか、又はプログラム可能な1つ又は複数のコンピュータシステム分散、クライアント/サーバ、又はグリッド等の様々なアーキテクチャであり得るで実行される1つ又は複数のコンピュータプログラム内のプロシージャを形成する。ソフトウェアは、例えば、データフローグラフの設計及び構成に関連する他のサービスを提供するより大きなプログラムの1つ又は複数のモジュールを形成し得る。グラフのノード及び要素は、コンピュータ可読媒体に記憶されたデータ構造又はデータリポジトリに記憶されたデータモデルに準拠する他の編成データとして実施することができる。ソフトウェアは、汎用又は専用プログラマブルコンピュータにより可読のCD-ROM等の記憶媒体に提供してもよく、又はコンピュータにネットワークの通信媒体を介して送られ伝播信号に符号化される、コンピュータで実行されてもよい。すべての機能は、汎用コンピュータで実行されてもよく、又はコプロセッサ等の専用ハードウェアを使用して実行されてもよい。ソフトウェアは、ソフトウェアにより指定される計算の異なる部分が異なるコンピュータにより実行される分散様式で実施してもよい。そのような各コンピュータプログラムは、好ましくは、汎用又は汎用プログラマブルコンピュータにより可読の記憶媒体又は装置例えば、固体状態メモリ、固体状態媒体、磁気媒体、又は光学媒体に記憶又はダウンロードされて、記憶媒体又は装置がコンピュータシステムにより読み取られ、本明細書に記載のプロシージャを実行する場合、コンピュータを構成し動作させる。本発明によるシステムは、コンピュータ可読記憶媒として実施され、コンピュータプログラムが構成されるものと見なすこともでき、そうして構成された記憶媒体は、コンピュータシステムを特定の事前定義された様式で動作させて、本明細書に記載の機能を実行させる。本発明のいくつかの実施形態について説明した。それにも関わらず、本発明の趣旨及び範囲から逸脱せずに様々な変更を行い得ることが理解されよう。例えば、上述したステップのうちのいくつかは順序から独立し得、したがって、説明された順序と異なる順序で実行することもできる。上記説明が例示を目的とし、本発明の範囲を限定せず、本発明の範囲が、添付の特許請求の範囲により定義されることを理解されたい。例えば、上述したいくつかの機能ステップは、全体処理に実質的に影響せずに異なる順序で実行し得る。他の実施形態も以下の特許請求の範囲内にある。"