(57)【要約】  コンピュータ実行可能アプリケーションを構成するためにユーザ・インターフェースを提供することは、ユーザ・インターフェース要素（３１２、４０２）間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフ（２０２、３０８、５１２）の構成要素間の依存性、及び、構成要素間のデータフローを表すノード間のリンクに基づく、関係と、データフロー・グラフの構成要素のそれぞれの特徴を定義するパラメータ（４０８、４１８、５１４、５１６）と、ユーザ・インターフェース要素のそれぞれの特徴を定義する変数（４１０、５０８）と、を定義する、仕様（２２２、３０２、５００）を受信することを含む。ユーザ・インターフェース（２５０、３０４）の動作中に、仕様内に定義された関係に基づいてユーザ・インターフェース要素が表示される。【選択図】  図３
2013513864.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ実行可能アプリケーションを構成するためにユーザ・インターフェースを提供するための方法であって、
ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、前記構成要素間のデータフローを表す前記ノード間のリンクに基づく、関係と、
前記データフロー・グラフの構成要素のそれぞれの特徴を定義するパラメータと、
前記ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、
を定義する、仕様を受信すること、及び、
ユーザ・インターフェースの動作中に、前記仕様内に定義された前記関係に基づいてユーザ・インターフェース要素を表示すること
を含む、方法。
【請求項２】
前記ユーザ・インターフェース要素間の前記関係のうちの少なくともいくつかが、データベース、データ・ファイル、メタデータ・リポジトリ、及びウェブ・サービスからなるグループのうちの少なくとも１つから受信されたデータ要素間の依存性に基づくものである、請求項１に記載の方法。
【請求項３】
前記仕様が、前記ユーザ・インターフェースの前記動作中に受信されたデータを示すソース値を定義し、前記ユーザ・インターフェースの前記動作中に更新されたデータを示すターゲット値を定義する、請求項１に記載の方法。
【請求項４】
前記ユーザ・インターフェースの動作中に、前記ユーザ・インターフェース要素とのユーザの対話に基づいてデータを更新することをさらに含む、請求項１に記載の方法。
【請求項５】
前記パラメータのうちの少なくともいくつかが前記更新されたデータを含む、請求項４に記載の方法。
【請求項６】
前記更新されたデータのうちの少なくともいくつかが、データ・ファイル、データベース、及びメタデータ・エンジン、及びウェブ・サービスに関連付けられたデータ・ソースからなる前記グループのうちの少なくとも１つに含まれる、請求項４に記載の方法。
【請求項７】
前記パラメータに関連付けられたデータを外部ソースから受信することをさらに含む、請求項１に記載の方法。
【請求項８】
前記外部ソースが、データ・ファイル、データベース、メタデータ・エンジン、及びウェブ・サービスからなる前記グループのうちの少なくとも１つである、請求項７に記載の方法。
【請求項９】
前記データフロー・グラフのリンクによって表されたデータの少なくとも１つの流れに関連付けられた構成要素出力データを表示することをさらに含む、請求項１に記載の方法。
【請求項１０】
少なくとも１つのパラメータが前記データフロー・グラフの前記構成要素のうちの少なくとも１つのプロパティを定義し、前記プロパティは前記ユーザ・インターフェース要素のうちの１つに関連付けられる、請求項１に記載の方法。
【請求項１１】
前記ユーザ・インターフェース要素が前記プロパティにデータを提供するように定義される、請求項１０に記載の方法。
【請求項１２】
前記ユーザ・インターフェース要素が前記プロパティからデータを受信するように定義される、請求項１０に記載の方法。
【請求項１３】
ユーザ・インターフェースの前記動作中に、前記変数のうちの少なくとも１つに基づいて少なくとも１つのユーザ・インターフェース要素が表示される、請求項１に記載の方法。
【請求項１４】
前記ユーザ・インターフェース要素が前記変数のうちの１つにおける変更に応答して表示される、請求項１３に記載の方法。
【請求項１５】
前記仕様が拡張マークアップ言語で定義される、請求項１に記載の方法。
【請求項１６】
前記仕様が、データベース管理システム本来の言語で定義された表現を含む、請求項１に記載の方法。
【請求項１７】
前記データフロー・グラフから少なくとも１つのパラメータを自動的に獲得することを含む、請求項１に記載の方法。
【請求項１８】
少なくとも１つの変数が、データベース・システムに記憶されたオブジェクトへの参照を定義する、請求項１に記載の方法。
【請求項１９】
前記仕様が、前記仕様外部のデータ・ファイルへの参照を定義する、請求項１に記載の方法。
【請求項２０】
前記参照が、前記データ・ファイルに記憶された値へのポインタを含む、請求項１９に記載の方法。
【請求項２１】
少なくとも１つの変数が前記参照を定義する、請求項１９に記載の方法。
【請求項２２】
少なくとも１つのパラメータが前記参照を定義する、請求項１９に記載の方法。
【請求項２３】
前記仕様が、データベース・システムに記憶されたデータにアクセスするためのクエリー文字列を含む、請求項１に記載の方法。
【請求項２４】
前記クエリー文字列が、前記ユーザ・インターフェースの前記動作中にユーザによって指定された引数を含む、請求項２３に記載の方法。
【請求項２５】
前記クエリー文字列が、前記ユーザ・インターフェースの前記動作中に実行可能である、請求項２３に記載の方法。
【請求項２６】
少なくとも１つのパラメータが前記クエリー文字列を含む、請求項２３に記載の方法。
【請求項２７】
少なくとも１つの変数が前記クエリー文字列を含む、請求項２３に記載の方法。
【請求項２８】
コンピュータ実行可能アプリケーションを構成するためにユーザ・インターフェースを提供するためのコンピュータ・プログラムを記憶するコンピュータ読み取り可能媒体であって、前記コンピュータ・プログラムは、
ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、前記構成要素間の前記データフローを表すノード間のリンクに基づく、関係と、
前記データフロー・グラフの前記構成要素のそれぞれの特徴を定義するパラメータと、
前記ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、
を定義する、仕様を受信すること、及び、
ユーザ・インターフェースの動作中に、前記仕様内に定義された前記関係に基づいてユーザ・インターフェース要素を表示すること
を、コンピュータに実行させるための命令を含む、コンピュータ読み取り可能媒体。
【請求項２９】
コンピュータ実行可能アプリケーションを構成するためのシステムであって、
ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、構成要素間のデータフローを表すノード間のリンクに基づく、関係と、
前記データフロー・グラフの前記構成要素のそれぞれの特徴を定義するパラメータと、
前記ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、
を定義する、仕様を受信するための手段と、
ユーザ・インターフェースの動作中に、前記仕様内に定義された関係に基づいてユーザ・インターフェース要素を表示するための手段と、
を含む、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれた、２００９年１２月１４日出願の米国特許出願第６１／２８６２９３号に対する優先権を主張するものである。
【０００２】
本明細書は、ユーザ・インターフェース要素を指定することに関する。
【背景技術】
【０００３】
ユーザ・インターフェースは、計算システムによって処理されるデータとユーザが対話できるようにするために生成され、ユーザに表示されうる。いくつかのユーザ・インターフェースはアプリケーション・プログラムの静的構成要素であり、ユーザ・インターフェースは複数の問題についてのユーザに対して同様に動作する。ユーザ・インターフェースは特定の目的に合わせて顧客向けに作成されるため、いくつかのユーザ・インターフェースはアプリケーション・プログラムのユーザによって定義されうる。例えば、アプリケーション・プログラムは、複数のユーザ・インターフェースの仕様（specification）を許容し、ユーザは複数のユーザ・インターフェースの中から選択することができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
一態様では、コンピュータ実行可能アプリケーションを構成するためにユーザ・インターフェースを提供するための方法は、ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、構成要素間のデータフローを表すノード間のリンクに基づく、関係と、データフロー・グラフの構成要素のそれぞれの特徴を定義するパラメータと、ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、を定義する、仕様を受信すること、並びに、ユーザ・インターフェースの動作中に、仕様内に定義された関係に基づいてユーザ・インターフェース要素を表示することを含む。
【０００５】
一態様では、一般に、コンピュータ実行可能アプリケーションを構成するためにユーザ・インターフェースを提供するためのコンピュータ・プログラムを記憶するコンピュータ読み取り可能媒体であって、コンピュータ・プログラムは、ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、構成要素間のデータフローを表すノード間のリンクに基づく、関係と、データフロー・グラフの構成要素のそれぞれの特徴を定義するパラメータと、ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、を定義する、仕様を受信すること、並びに、ユーザ・インターフェースの動作中に、仕様内に定義された関係に基づいてユーザ・インターフェース要素を表示することを、コンピュータに実行させるための命令を含む。
【０００６】
一態様では、一般に、コンピュータ実行可能アプリケーションを構成するためのシステムは、ユーザ・インターフェース要素間の関係であって、データフロー・グラフの構成要素を表す複数のノードを含むデータフロー・グラフの構成要素間の依存性、及び、構成要素間のデータフローを表すノード間のリンクに基づく、関係と、データフロー・グラフの構成要素のそれぞれの特徴を定義するパラメータと、ユーザ・インターフェース要素のそれぞれの特徴を定義する変数と、を定義する、仕様を受信するための手段と、ユーザ・インターフェースの動作中に、仕様内に定義された関係に基づいてユーザ・インターフェース要素を表示するための手段と、を含む。
【０００７】
諸態様は、以下の特徴のうちの１つ又は複数を含むことができる。ユーザ・インターフェース要素間の関係のうちの少なくともいくつかは、データベース、データ・ファイル、メタデータ・リポジトリ、及びウェブ・サービスのうちの少なくとも１つから受信したデータ要素間の依存性に基づく。仕様は、ユーザ・インターフェースの動作中に受信されたデータを示すソース値を定義し、ユーザ・インターフェースの動作中に更新されたデータを示すターゲット値を定義する。態様は、ユーザ・インターフェースの動作中の、ユーザ・インターフェース要素とのユーザの対話に基づく更新を含む。パラメータの少なくともいくつかは、更新されたデータを含む。更新されたデータの少なくともいくつかは、データ・ファイル、データベース、及びメタデータ・エンジン、並びにウェブ・サービスに関連付けられたデータ・ソースのうちの、少なくとも１つに含められる。態様は、外部ソースからのパラメータに関連付けられたデータの受信を含む。外部ソースは、データ・ファイル、データベース、メタデータ・エンジン、及びウェブ・サービスのうちの少なくとも１つである。態様は、データフロー・グラフのリンクによって表されるデータの少なくとも１つの流れに関連付けられた構成要素出力データの表示を含む。少なくとも１つのパラメータは、データフロー・グラフの構成要素のうちの少なくとも１つのプロパティを定義し、このプロパティはユーザ・インターフェース要素のうちの１つに関連付けられる。ユーザ・インターフェース要素は、プロパティにデータを提供するように定義される。ユーザ・インターフェース要素は、プロパティからデータを受信するように定義される。ユーザ・インターフェースの動作中、少なくとも１つのユーザ・インターフェース要素は、変数のうちの少なくとも１つに基づいて表示される。ユーザ・インターフェース要素は、変数のうちの１つにおける変化に応答して表示される。仕様は、拡張マークアップ言語で定義される。仕様は、データベース管理システム本来の言語で定義された表現を含む。態様は、データフロー・グラフから少なくとも１つのパラメータを自動的に獲得することを含む。少なくとも１つの変数は、データベース・システムに記憶されたオブジェクトへの参照を定義する。仕様は、仕様外部のデータ・ファイルへの参照を定義する。参照は、データ・ファイルに記憶された値へのポインタを含む。少なくとも１つの変数は参照を定義する。少なくとも１つのパラメータは参照を定義する。仕様は、データベース・システムに記憶されたデータにアクセスするためのクエリー文字列を含む。クエリー文字列は、ユーザ・インターフェースの動作中にユーザによって指定された引数を含む。クエリー文字列は、ユーザ・インターフェースの動作中に実行可能である。少なくとも１つのパラメータはクエリー文字列を含む。少なくとも１つの変数はクエリー文字列を含む。
【発明の効果】
【０００８】
諸態様は、以下の利点のうちの１つ又は複数を含むことができる。データフロー・グラフを可視様式で構成できるようにする仕様が、定義可能である。複数の仕様を１つのデータフロー・グラフが使用可能である。
【０００９】
本発明の他の特徴及び利点については、以下の説明及び特許請求の範囲から明らかとなろう。
【図面の簡単な説明】
【００１０】
【図１】データベース管理システムを示す概略図である。
【図２Ａ】例示的データフロー・グラフを示す図である。
【図２Ｂ】データフロー・グラフをカスタマイズするためのインターフェースの一部を示す図である。
【図２Ｃ】データフロー・グラフをカスタマイズするためのインターフェースの一部を示す図である。
【図３】ユーザ・インターフェース仕様の受信及びユーザ・インターフェースの表示を示す、プロセス図である。
【図４Ａ】ユーザ・インターフェースとのユーザの対話を示す図である。
【図４Ｂ】ユーザ・インターフェースとのユーザの対話を示す図である。
【図５】ユーザ・インターフェース及びデータベースとのユーザの対話を示す図である。
【図６】構成管理インターフェースを示す図である。
【図７】インターフェース内での結果の例示的表示を示す図である。
【図８】ブリッジ付き（bridged）クライアント・サーバ・システムを示す概略図である。
【発明を実施するための形態】
【００１１】
図１を参照すると、データフロー・グラフを構成するためのシステム１０は、それぞれが様々なストレージ・フォーマット（例えば、データベース・テーブル、スプレッドシート・ファイル、フラット・テキスト・ファイル、又はメインフレームによって使用される固有のフォーマット）のいずれかでデータを記憶しうる、ストレージ・デバイス又はオンライン・データ・ストリームへの接続などの１つ又は複数のデータのソースを含みうる、データ・ソース１２を含む。実行環境１４は、グラフ構成モジュール１６及びユーザ・インターフェース・モジュール２２を含む。実行環境１４は、ＵＮＩＸ（登録商標）オペレーティング・システムなどの好適なオペレーティング・システムの制御の下で、１つ又は複数の汎用コンピュータ上にホストされうる。例えば、実行環境１４は、ローカルな（例えばＳＭＰコンピュータなどのマルチプロセッサ・システム）、又はローカルに分散された（例えばクラスタ又はＭＰＰとして結合された複数プロセッサ）、又はリモートに、又はリモートに分散された（例えばＬＡＮ又はＷＡＮネットワークを介して結合された複数のプロセッサ）、又はそれらの任意の組み合わせで、複数の中央処理ユニット（ＣＰＵ）を使用するコンピュータ・システムの構成を含む、マルチノード並列コンピューティング環境を含むことができる。
【００１２】
グラフ構成モジュール１６は、以下でより詳細に説明するように、データフロー・グラフの構成を変更する。ユーザ・インターフェース・モジュール２２は、ユーザ３０に構成情報を表示し、ユーザ３０から構成動作を受信する。ユーザ・インターフェース・モジュール２２は、ユーザの動作に基づいてデータフロー・グラフを構成するグラフ構成モジュール１６とも通信する。例えば、データフロー・グラフは、データ・ソース１２内に記憶することもできる。データ・ソース１２を提供するストレージ・デバイスは、例えば、実行環境１４を実行するコンピュータに接続されたストレージ媒体（例えばハード・ドライブ１８）上に記憶されるなど、実行環境１４に対してローカルとすることができるか、或いは、例えば、ローカル又はワイド・エリア・データ・ネットワークを介して実行環境１４を実行するコンピュータと通信するリモート・システム（例えばメインフレーム２０）上でホストされるなど、実行環境１４に対してリモートとすることができる。
【００１３】
実行環境は、ユーザ・インターフェースを表示するためにユーザ・インターフェース・モジュール２２によって使用される情報を含む、データ・ストレージ・システム２６と通信する。データ・ストレージ・システム２６は、データ・ストレージ・システム２６内に記憶され、ユーザ・インターフェースを表示するためにユーザ・インターフェース・モジュール２２によって使用される、開発者３０が開発可能な開発環境２８に対してもアクセス可能である。
【００１４】
データ・ソース１２は、いくつかの実装では、頂点間の有向リンク（作業要素の流れを表す）によって接続された頂点（構成要素又はデータセット）を含むデータフロー・グラフとして、アプリケーションを開発するためのシステムである。例えば、こうした環境については、参照により本明細書に組み込まれた、「Managing Parameters for Graph-Based Applications」という名称の米国特許第２００７／００１１６６８号で、より詳細に説明されている。
【００１５】
データフロー・グラフは、１つ又は複数のデータ・ソースからのデータを処理するデータフロー・グラフ実行環境内で実行される、コンピュータ・プログラムである。データ・ソースからのデータは、データフロー・グラフに従って操作及び処理され、１つ又は複数のデータ・シンク（data sinks）へとエクスポートされる。データ・ソース及びシンクは、例えば、ファイル、データベース、データ・ストリーム、又はキューを含むことができる。データフロー・グラフは、それぞれが、少なくとも１つのデータ入力からのデータを処理するため、及び少なくとも１つのデータ出力へデータを提供するためのコードを含む、データ処理構成要素を表すノードと、データ・ソース及び／又はシンクにアクセスするためのデータセット・オブジェクトを表すノードとを含む、有向グラフとして表される。ノードは、データ・ソースから送出され、データ・シンクで終端する、構成要素間のデータの流れを表す有向リンクによって接続される。アップストリーム構成要素のデータ出力ポートは、ダウンストリーム構成要素のデータ入力ポートに接続される。データフロー・グラフは、データセット・オブジェクトによって表される、異なるデータ・ソース及び異なるデータ・シンクに再使用しうる。データフロー・グラフを実装するために使用されるデータ構造及びプログラム・コードは、複数の異なる構成を、例えば、異なるソース及びシンクを容易に置換可能にするためにパラメータ化することによって、サポートすることができる。さらに、いくつかの配置構成では、データフロー・グラフの流れはパラメータの使用によって変更可能であるため、結果として構成要素又は一連の構成要素を迂回することができる。一般に、パラメータは、構成又は変更可能なデータフロー・グラフのプロパティを表す。例えば、プロパティはデータフロー・グラフの使用間で変更可能であり、データフロー・グラフは変更の結果として様々に動作を実行することができる。
【００１６】
データフロー・グラフの構成は、いくつかのケースでは本来非常に技術的なものとすることができる。特定のビジネス・エンドを達成するために作成される一方で、グラフの基礎となる構造及び構成は技術的な考察に基づいて決定される。例えば、グラフ構成要素は、再使用可能性を最大にするため、又は並行処理をサポートするために、選択されうる。他方で、グラフがどのようにどこで使用されるかは、主として業務上の決定となりうる。パラメータ化されたデータフロー・グラフに関連付けられたパラメータのいくつかは、ビジネス・ユーザが、その実装の背後にある技術的な複雑性を理解する必要なしに、データフロー・グラフをカスタマイズできるようにするために、使用することができる。パラメータ化されたデータフロー・グラフは、カスタマイズ化を簡略化し、再使用を容易にする。
【００１７】
データフロー・グラフを構成するためのパラメータ値の識別に関するインターフェースを、クライアント・マシン上に提示することができる。いくつかの実装では、クライアントは、パラメータ・インターフェースを提供するクライアント上のウェブ・ブラウザを使用して、サーバ上で実行する開発環境にアクセスすること、及び、クライアント側での処理のためにいくつかの機能を提供するスクリプト言語を使用することが、できうる。スクリプト言語は、パラメータを更新し、他の必要な動作を実行するために、サーバと通信しうる。この通信は、構成されているグラフに関するオブジェクト及び関連付けられたパラメータ値を記憶する開発環境を実行するクライアントとサーバとの間の通信を橋渡しする（translate）ブリッジ・マシンを介して、生じうる。
【００１８】
インターフェースは、たとえデータフロー・グラフ及びデータフロー・グラフ構成に関する技術的知識をユーザが持たない場合であっても、パラメータ化されたデータフロー・グラフのパラメータをユーザが構成できるようにする。例えば、図２Ａを参照すると、データフロー・グラフ２０２は、データ・ソース２０６ａ、２０６ｂ、構成要素２０８ａ〜ｃ、２１０、及びデータ・シンク２１２を含むことができる。ソース、構成要素、及びシンクのそれぞれは、パラメータのセット２０４ａ〜ｇに関連付けられうる。１つのソース、構成要素、又はシンクに関するパラメータは、異なるソース、構成要素、又はシンクに関するパラメータを評価するために使用されうる。ソース２０６ａ、２０６ｂは、構成要素２０８ａ、２０８ｃの入力ポートに接続される。構成要素２０８ａの出力ポートは、構成要素２０８ｂの入力ポートに接続される。構成要素２１０の出力ポートは、データ・シンク２１２に接続される。ソース、構成要素、及びシンク間の接続は、データフローを定義する。
【００１９】
データ・ソース、構成要素、又はシンクのいくつかは、グラフの挙動のいくつかを定義することが可能な入力パラメータ２０４ａ〜ｇを有することができる。例えば、パラメータは、物理ディスク上でのデータ・ソース又はシンクの位置を定義することができる。パラメータは構成要素の挙動も定義可能であり、例えばパラメータは、分類構成要素がどのように入力を分類するかを定義することができる。いくつかの構成（arrangement）では、１つのパラメータの値は他のパラメータの値に依存する可能性がある。例えば、ソース２０６ａは、特定のディレクトリ内のファイルに記憶されうる。パラメータ・セット２０４ａは、「ＤＩＲＥＣＴＯＲＹ」と呼ばれるパラメータ及び「ＦＩＬＥＮＡＭＥ」と呼ばれる他のパラメータを含みうる。この場合、ＦＩＬＥＮＡＭＥパラメータはＤＩＲＥＣＴＯＲＹパラメータに依存することになる。（例えば、ＤＩＲＥＣＴＯＲＹは「／ｕｓｒ／ｌｏｃａｌ／」とすることが可能であり、ＦＩＬＥＮＡＭＥは「／ｕｓｒ／ｌｏｃａｌ／ｉｎｐｕｔ．ｄａｔ」とすることが可能である。）パラメータは、他の構成要素に関するパラメータに依存するかも知れない。例えば、シンク２１２の物理位置は、ソース２０６ａの物理位置に依存するかも知れない。この例では、シンク２１２は、ソース２０６ａのＤＩＲＥＣＴＯＲＹパラメータに依存するＦＩＬＥＮＡＭＥパラメータを含む、パラメータ２０４ｇのセットを含む。（例えば、セット２０４ｇ内のＦＩＬＥＮＡＭＥパラメータは「／ｕｓｒ／ｌｏｃａｌ／ｏｕｔｐｕｔ．ｄａｔ」とすることができ、ここで値「／ｕｓｒ／ｌｏｃａｌ／」はセット２０４ａ内のＤＩＲＥＣＴＯＲＹパラメータから取得される。）
【００２０】
クライアント上のユーザ・インターフェース内では、ユーザと対話するために、パラメータ・セット２０４ａ〜２０４ｇのパラメータを組み合わせ、技術的な考察ではなくビジネス的な考察を反映する異なるグループに再編成することができる。ユーザ入力に基づいてパラメータに関する値を受信するためのユーザ・インターフェースは、サーバ上の開発環境の諸態様によって制限される必要のない柔軟な方法で、パラメータ間の関係に従って、異なるパラメータを表示することができる。例えば、図２Ｂを参照すると、パラメータ間の依存性を表す関係と共にアイコンが内部に表示される、ユーザ・インターフェースを提示することができる。この例では、パラメータは、第１のソース・データセットに対するパラメータを表す第１のソース・アイコン２２４と、第２のソース・データセットに対するパラメータを表す第２のソース・アイコン２２６と、シンク・データセットに対するパラメータを表すシンク・アイコン２３０と、構成中のデータフロー・グラフの１つ又は複数の構成要素に対するパラメータを表し、ソース・データセット及びシンク・データセットに対してそれらの関係を示す変換アイコン２２８とによって表される、パラメータの第１のグループに分割される。このパラメータのグループ分けは、ユーザがクライアント上のユーザ・インターフェース内のデータフロー・グラフからのパラメータとどのように対話することになるか、及び、アイコン２２４、２２６、２２８、２３０などのユーザ・インターフェース要素が、どのように互いに関連し合い、ユーザ・インターフェース内に提示するために配置構成されることになるかを定義する、記憶された仕様２２２に基づいてなされうる。いくつかの実装では、仕様はＸＭＬ文書である。以下でより詳細に説明されるように、仕様は、データフロー・グラフ構成要素を識別すること、及び、サンプル・データの表示などの、ユーザがグラフを構成している間にある機能が実行可能な対象である、特定の構成要素を識別することも可能である。
【００２１】
いくつかのケースでは、仕様は、パラメータがどのように表示されるかに関する命令を含みうる。例えば、図２Ｂ及び２Ｃを参照すると、仕様２２２は、ユーザに表示されるユーザ・インターフェース２５０を定義しうる。さらに、仕様２２２は、ソース・データセット・アイコン２２４との対話に応答して、１つのパラメータは、ユーザが記入可能なテキスト・ボックス２５２としてユーザ・インターフェース２５０内に表示されるべきであり、他のパラメータは、事前に値が入れられたドロップ・ダウン・リスト２５４としてユーザ・インターフェース２５０内に表示されるべきであること、さらに他のパラメータは、ラジオ・ボタン２５６としてユーザ・インターフェース２５０内に表示可能であることなどを、示しうる。したがって仕様は、ビジネス・ユーザ及び／又は非技術的ユーザに合わせることが可能なようにデータフロー・グラフをカスタマイズするために、パラメータがユーザに対してどのように提示されるかにおける柔軟性を提供する。
【００２２】
いくつかのケースでは、仕様は、ビジネス・ユーザがパラメータ値を投入する（populate）順序を制約することができる。破線によって表された、シンク２３０に関連付けられたパラメータは、ユーザが何らかの事前に定義された条件を満たすまで、ユーザに対して不可視とすることができる。例えば、ユーザは、データ・シンク・パラメータ・セットが表示される前に、特定のパラメータ値を提供するか、又はパラメータのセットを記入しなければならない場合がある。
【００２３】
いくつかの実装では、仕様は、（データフロー・グラフの構成要素の特徴を定義するパラメータとは対照的に）ユーザ・インターフェース要素の特徴を定義する変数を含むこともできる。変数は、例えばビジネス・ユーザによってユーザ・インターフェース要素が使用される順序を制御するために使用されうる。変数は少なくとも１つのデータ値を参照する。いくつかの例では、変数は複数のデータ値を参照し、それぞれのデータ値は変数のプロパティとして定義される。したがって、単一の変数が、それぞれがデータ値に関連付けられた複数のプロパティを有することができる。
【００２４】
仕様によって定義されるユーザ・インターフェース２５０は、ユーザ・インターフェース要素（例えば、テキスト・ボックス２５２、ドロップ・ダウン・リスト２５４、ラジオ・ボタン２５６）が、データフロー・グラフをカスタマイズするために使用されるパラメータに直接対応しないように、提示されうる。これに代わって、いくつかのユーザ・インターフェース要素は、例えば、パラメータの知識のない可能性のあるビジネス・ユーザ及び／又は非技術的ユーザなどの、ユーザに関連する構成オプションに対応することができる。
【００２５】
これらの例では、ユーザ・インターフェース２５０を、データフロー・グラフの特定の構成要素２２４に関連付ける必要がない。さらに、ユーザ・インターフェース２５０は、複数のデータフロー・グラフ及び他のデータ処理及びデータ・ストレージ構造に関連付けることができる。
【００２６】
例えば、ユーザ・インターフェース要素は、技術的な意味ではなく、ビジネス的な意味を有する構成オプションを、ユーザに変更可能にすることができる。構成オプションは、商取引で現在使用されているタイプ間の変換に関するオプション、又は、製品在庫の特定のカテゴリに関連付けられた情報を更新するためのオプション、又は、単一のパラメータの構成と相関しない他のタイプのオプションとすることができる。仕様２２２は、ビジネス・ユーザ／非技術的ユーザが自分が理解する用語で表した構成オプションへの変更を実行できるように、並びに、パラメータへの変更が仕様２２２内に定義された関連付け及び依存性を通じて実行されるように、定義されうる。
【００２７】
仕様２２２は、構成オプションがデータフロー・グラフのパラメータ並びにユーザ・インターフェース２５０を介して構成可能な他のデータ要素の構成に、どのように対応するかを定義することができる。例えば、ユーザとユーザ・インターフェース要素との間の対話は、複数のデータフロー・グラフ内のパラメータへの変更、並びにデータベース、データ・ファイル、メタデータ・リポジトリ、又は他の種類のデータ・ストレージに記憶されたデータへの変更を、トリガすることができる。仕様２２２は、ユーザ・インターフェース２５０の動作中、ユーザ・インターフェース要素と、ユーザ・インターフェース要素に対する変更に関連して変化するデータとの間の関係を、定義することができる。
【００２８】
仕様２２２はまた、データベース、データ・ファイル、メタデータ・リポジトリ、又は他の種類のデータ・ストレージ、又はウェブ・サービスなどの他の種類のデータ・ソースから受信されたデータに基づいて、ユーザ・インターフェース要素を定義することもできる。ユーザ・インターフェース２５０が表示された場合、受信されたデータを使用して、ユーザ・インターフェース要素を表示する様式が決定される。いくつかの実装では、ユーザ・インターフェース２５０の動作中、データは、データベース、データ・ファイル、メタデータ・リポジトリ、又は他の種類のデータ・ストレージ、又はウェブ・サービスなどの他の種類のデータ・ソースなどの、外部ソースから受信され、外部ソースから受信されるデータは、仕様２２２内で、パラメータに関連付けられるように定義される（例えば、パラメータは外部ソースから受信されたデータを含むように更新される）。
【００２９】
ユーザ・インターフェースはまた、データフロー・グラフのリンクによって表されるデータの少なくとも１つの流れに関連付けられた、構成要素出力データを表示することもできる。例えば、図２Ｃを参照すると、データは、１つの構成要素２２４から他の構成要素２２８へと流れる。構成要素間のこのデータの流れは、ユーザ・インターフェース２５０内に表示することができる。いくつかの例では、構成要素２２４によってデータがどのように処理されるかを決定するために、サンプル・データ（例えば、処理又は変換の目的ではなく、テストの目的で取り出されたデータ）が１つの構成要素２２４に提供される。
【００３０】
図３に示されるように、仕様３０２は、パラメータ、変数、及びユーザ・インターフェース要素の間の関係を定義する。仕様３０２は、パラメータの定義をデータフロー・グラフに含めるために記述可能であり、ユーザ・インターフェース要素は、データフロー・グラフ３０８からパラメータを読み取り、データフロー・グラフ３０８にパラメータを書き込むために使用されうる。ユーザ・インターフェース・モジュール２２が仕様３０２に基づいてユーザ・インターフェース３０４を生成した場合、ユーザ・インターフェース３０４はパラメータを含むユーザ・インターフェース要素３１２を表示する。例えば、ユーザ・インターフェース３０４は、ユーザによって編集可能なパラメータに関連付けられた値を表示しうるか、又はその他の方法で、ユーザ３１０がパラメータに関連付けられたデータフロー・グラフ３０８を構成できるようにしうる。ユーザ・インターフェースの動作中、パラメータに対するユーザの変更は、例えばグラフ構成モジュール１６によって、対応するデータフロー・グラフ３０８のパラメータ・セット３０６に書き込まれうる。他のタイプのデータは、ユーザ・インターフェース３０４の動作中に更新することができる。例えばユーザ・インターフェース３０４は、データベース、データ・ファイル、メタデータ・リポジトリ、又は他の種類のデータ・ストレージに、更新されたデータを提供するか、或いは、ウェブ・サービス又は他のネットワーク・サービスによってアクセス可能なリモート・データ・ソースにデータを提供することができる。
【００３１】
いくつかの実装では、仕様は、ユーザ・インターフェース要素を制御するために使用可能な変数を定義する。パラメータ及び変数の使用は、ここでは例を挙げて実証される。図４Ａは、現行データ・ファイル・オプション４１４及びデフォルト・データ・ファイル・オプション４１６などの、内部でユーザが複数のファイル（例えばデータフロー・グラフに関する入力データを含むファイル）の中から選択可能な仕様４００によって定義されたユーザ・インターフェース要素４０２を示す。仕様４００は、ユーザ・インターフェースの動作中に変更可能な、現行ファイルの経路を示す変数を定義することができる。さらに仕様は、パラメータがデータフロー・グラフの構成に関連付けられたデータとしてアクセス可能なように、デフォルト・ファイルの経路を示すパラメータを定義することができる。
【００３２】
以下のＸＭＬコードは、ユーザ・インターフェース要素４０２を表示するために使用可能な仕様４００の一部を表す。例えば、ユーザ・インターフェース・モジュール２２は、仕様を受信し、ユーザ・インターフェース要素４０２をユーザ４０４に表示することができる。「ｃｕｒｒｅｎｔ＿ｆｉｌｅ」４１２と呼ばれる変数が定義され、ユーザ４０４によってユーザ・インターフェース内で以前に選択されたファイル経路を表す。「ａｃｔｉｏｎ＿ｆｉｌｅ」４１０と呼ばれる他の変数が定義され、例えば読み取り及び書き込みなどの、着信するデータフロー・グラフの動作において使用するためのファイルを表す。仕様４００は、選択ボックスとして表されたユーザ・インターフェース要素４０２も定義する。選択ボックスはテキスト「Ｃｕｒｒｅｎｔ  ｄａｔａ  ｆｉｌｅ」をリスト表示し、このテキストは変数「ｃｕｒｒｅｎｔ＿ｆｉｌｅ」４１２にリンクされる。選択ボックスはテキスト「Ｄｅｆａｕｌｔ  ｄａｔａ  ｆｉｌｅ」もリスト表示し、このテキストは、「ｍｙ＿ｇｒａｐｈ」４０６と呼ばれるデータフロー・グラフに関連付けられた構成データとしてアクセス可能な、パラメータ「ｐｄｌ＿ｄｅｆａｕｌｔ＿ｄａｔｐａｔｈ」４０８にリンクされる。
<Variables name=“vars”>
<Variable name=“current_file”type=“string”/>
<Variable name=“action_file”type=“string”/>
</Variables>
...
<List>
<Label>Choose file to use(current or default)</Label>
<ChoiceDisplayNames>
<Constant>Current data file</Constant>
<Constant>Default data file</Constant>
</ChoiceDisplayNames>
<Choices>
<SourceValue reference=“vars.current_file”/>
<SourceValue reference=“pset.my_graph.pdl_default_datpath”/>
</Choices>
<SourceValue reference=“vars.current_file”/>
<TargetValue reference=“vars.action_file”/>
</List>
<TextLabel>
<Label>
<Expression>“Actual path of file to use:”+vars.action_file</Expression>
</Label>
</TextLabel>
【００３３】
仕様に基づくユーザ・インターフェースが動作中である場合、ユーザは２つのオプション、「Ｃｕｒｒｅｎｔ  ｄａｔａ  ｆｉｌｅ」及び「Ｄｅｆａｕｌｔ  ｄａｔａ  ｆｉｌｅ」から選択することができる。ユーザが「Ｃｕｒｒｅｎｔ  ｄａｔａ  ｆｉｌｅ」を選択した場合、ユーザ・インターフェースは変数「ｃｕｒｒｅｎｔ＿ｆｉｌｅ」４１２のコンテンツを変数「ａｃｔｉｏｎ＿ｆｉｌｅ」４１０に割り当てる。ユーザが「Ｄｅｆａｕｌｔ  ｄａｔａ  ｆｉｌｅ」を選択した場合、ユーザ・インターフェースはパラメータ「ｐｄｌ＿ｄｅｆａｕｌｔ＿ｄａｔｐａｔｈ」４０８のコンテンツを変数「ａｃｔｉｏｎ＿ｆｉｌｅ」４１０に割り当てる。したがって、インターフェースは、データフロー・グラフに関連付けられたパラメータ又はユーザ・インターフェース要素に関連付けられた変数のいずれかに基づいて、構成動作を実行するオプションをユーザに提供する。
【００３４】
ユーザ・インターフェースの動作中に１つのユーザ・インターフェース要素で実行された変更は、他のユーザ・インターフェース要素での他の変更を引き起こしうる。図４Ａに示された例では、ｖａｒｓ．ａｃｔｉｏｎ＿ｆｉｌｅ変数のコンテンツ４２２は、ユーザ・インターフェース要素４０２内に表示される。ｖａｒｓ．ａｃｔｉｏｎ＿ｆｉｌｅ変数は、示されたユーザ・インターフェース要素４０２とは異なる他のユーザ・インターフェース要素によって変更することが可能であり、これに応答して、変数のコンテンツ４２２の表示がなされる。
【００３５】
また、変数「ａｃｔｉｏｎ＿ｆｉｌｅ」４１０は、データフロー・グラフを構成するために使用されうる。図４Ｂに示されるように、ユーザ・インターフェース・モジュール２２は、変数「ａｃｔｉｏｎ＿ｆｉｌｅ」４１０のコンテンツをデータフロー・グラフ４０６のパラメータ「ｐｄｌ＿ｆｉｌｅ＿ｐａｔｈ」４１８に割り当てるために、ユーザ４０４から動作を受信することが可能であり、これによってデータフロー・グラフ４０６は、「ａｃｔｉｏｎ＿ｆｉｌｅ」ファイル経路によって表されたファイル４２０へ読み出すか、又はここから書き取ることができる。
【００３６】
ここに示された例では、ＳｏｕｒｃｅＶａｌｕｅ及びＴａｒｇｅｔＶａｌｕｅのタグによって識別されるデータ要素が変数及びパラメータを表す。ＳｏｕｒｃｅＶａｌｕｅ及びＴａｒｇｅｔＶａｌｕｅのタグによって識別されるデータ要素はまた、データ・ファイルに記憶されたデータ要素、データベースに記憶されたデータ要素（例えば、データベース記録又はデータベース記録の一部）、メタデータ・リポジトリに記憶されたデータ要素、他のタイプのデータ・ストレージに記憶されたデータ要素、又はウェブ・サービス又は他のネットワーク・サービスを使用してアクセス可能なデータ要素でありうる。
【００３７】
図５に示されるように、仕様５００はまた、仕様の本来の言語以外の言語で定義された用語を組み込むこともできる。例えば、仕様はＸＭＬで定義可能であり、構造化問い合わせ言語（ＳＱＬ）で作成されたデータベースクエリー５０６を含むこともできる。以下の例は、ＳＱＬデータベースクエリー５０６を定義する仕様５００の一部である。仕様５００はクエリーを識別する「Ｑｕｅｒｙ」タグを含む。クエリー自体は、仕様内に定義された変数「ｄｂ＿ｑｕｅｒｙ」に関連付けられる。
<Metadata>
<Variables name=“vars”>
<Variable name=“source”type=“databeseObject”/>
<Variable name=“income”type=“integer”value=10000/>
...
</Variables>
<Database name=“mrkt_db”dbcPath=“$AI_DB/mrkt.dbc”>
<Query name=“db_query”>
select*from PROSPECT where income>vars.income
</Query>
<Database>...
</Metadata>
<UserInterface>
<TextInput>
<Label>Enter income</Label>
<TargetValue reference=“vars.income”/>
</TextInput>
...
<DatabaseBrowser>
<Database reference=“mrkt_db”/>
...
<SourceValue reference=“mrkt_db.db_query”property=“lname_array”/>
<SourceTargetValue reference=“vars.source”/>
</DatabaseBrowser>
【００３８】
仕様５００は、仕様５００によって定義されたような、ユーザ・インターフェース・モジュール２２によって表示されたユーザ・インターフェースからアクセス可能なデータベース５１０を識別する、「Ｄａｔａｂａｓｅ」タグも含む。仕様５００は、ユーザ・インターフェースが動作中である場合、データベース情報にアクセスするためにユーザ・インターフェース要素を確立する、「ＤａｔａｂａｓｅＢｒｏｗｓｅｒ」タグも含む。
【００３９】
この例では、データベースクエリー５０６は、仕様内に定義された変数「ｖａｒｓ．ｉｎｃｏｍｅ」５０８を含む。ユーザ・インターフェースの動作中、ユーザは「ｖａｒｓ．ｉｎｃｏｍｅ」５０８に関する値を入力することができる。データベース５１０にアクセスされた場合、クエリー５０６は実行のためにデータベースに送信され、「ｖａｒｓ．ｉｎｃｏｍｅ」５０８によって表されたユーザによって入力された値を組み込む。いくつかの例では、クエリー５０６は、データフロー・グラフに関連付けられたパラメータ５１６を組み込むことができる。いくつかの例では、パラメータ５１６に関連付けられたデータ値を、データベースクエリーを使用してデータベース５１０から獲得されたデータの要素に変更することによって、データフロー・グラフ５１２のパラメータ５１６を変更するために、ユーザ・インターフェースはまた、グラフ構成モジュール１６と共に使用されうる。
【００４０】
他の言語が仕様に組み込まれることも可能である。以下の例は、仕様の一部へのデータベース管理言語表現の組み込みを示す。この表現は、仕様内の「Ｅｘｐｒｅｓｓｉｏｎ」タグで識別される。データベース管理言語表現を使用して、データフロー・グラフにとって本来の言語でデータフロー・グラフのパラメータにアクセスし及び処理することができる。この例では、表現は、パラメータがいずれかのデータに関連付けられているかどうかを決定するために、パラメータ「ＴＡＲＧＥＴ＿ＴＡＢＬＥ」のコンテンツを評価する。データベース管理言語表現は、パラメータにデータ値を割り当てるためにも使用可能である。
<SourceValue>
<Expression>pset.complex_load.TARGET_TABLE!=“”</EXpression>
</SourceValue>
【００４１】
仕様によって定義されたユーザ・インターフェースはまた、データ・ファイルなどの外部データ構造に記憶されたデータにアクセスするために使用されうる。例えば、データ・ファイルからのデータは、ユーザ・インターフェース要素と共に使用されうるか、又はデータフロー・グラフのパラメータを構成するために使用されうる。以下の仕様の一部分の例では、以下の仕様の一部分によって定義されたユーザ・インターフェースによって、ユーザはファイルの経路を入力することが可能であり、その後、変数「ｃｔｒｌ＿ｆｉｌｅ＿０１」を使用して、そのコンテンツにアクセスすることができる。例えば、変数は、テキストを表示するための例えばユーザ・インターフェース要素などの、ユーザ・インターフェースの要素内から、ファイルのコンテンツ全体にアクセスするために使用しうるプロパティ「ｃｏｎｔｅｎｔｓ」を有する。変数「ｃｔｒｌ＿ｆｉｌｅ＿０１」及びプロパティ「ｃｏｎｔｅｎｔｓ」によって表されるデータは、データフロー・グラフの他の変数に割り当てられ、又はパラメータに割り当てられうる。
<TextInput>
<Label>Edit path to control file 1</Label>
<SourceTargetValue reference=“ctrl_file_01”
sourceProperty=“path”targetProperty=“path”/>
</TextInput>
<TextArea>
<Label>Contents of control file 1</Label>
<SourceValue reference=“ctrl_file_01”property=“contents”/>
</TextArea>
【００４２】
図６は、仕様６０４を表示し、作成し、及び編集するために使用可能な、構成マネージャ・インターフェース６００を示す。例えば、構成マネージャ・インターフェース６００は、図１に示されるような、ユーザ３２によって動作される開発環境２８の一部でありうる。構成マネージャ・インターフェース６００は仕様６０４のリストを提示し、そのそれぞれを使用して、アプリケーション６０２を構成するためのユーザ・インターフェースを生成することができる（例えばデータフロー・グラフ又はデータフロー・グラフの集合）。いくつかの実装では、複数の仕様６０４を同じアプリケーション６０２で使用することができる。例えば、１つの仕様は、アプリケーションに関連付けられたいくつかのパラメータを構成するためのユーザ・インターフェースを提供することが可能であり、他の仕様は、仕様に関連付けられた他のパラメータを構成するためのユーザ・インターフェースを提供することが可能である。いくつかの例では、１つの仕様は初心者又は非技術的ユーザに好適なユーザ・インターフェースを提供することが可能であり、他の仕様は、経験者又は技術的熟練者に好適なユーザ・インターフェースを提供することが可能である。
【００４３】
いくつかの実装では、システムは、パラメータ値によって構成されるような、ユーザ・インターフェース内からサーバ上のグラフの実行を開始することによって、グラフを介してサンプル・データを実行すること、及び、図７に示されるような、ユーザ・インターフェース内でサンプル実行の結果７２０を表示することを、ユーザに可能にさせうる。結果７２０は、どのタイプのデータが結果７２０に含まれるかに依存して、ユーザ・インターフェースの適切なブラウザ又はエディタ内に表示されうる。この例では、結果７２０は、サンプル・データ内の記録に対応する行と、異なるフィールドに関する記録内の値に対応する列とを含む。テスト・データを使用したサーバ上でのグラフの実行は、例えば、パラメータに関する値のユーザ供給に応答して、トリガ可能である。
【００４４】
図８を参照すると、クライアント・システム８０２は、前述のユーザ・インターフェース８０４をユーザに表示しうる。ユーザ・インターフェース８０４を介したユーザとの対話に基づいて生成されたパラメータ・セット８１４は、サーバ８０８上に記憶されうる。したがって、ユーザ・インターフェース８０４によって実行された変更は、ブリッジ８０６を介してクライアント８０２からサーバ８０８へと送信される。矢印８２０によって表されるように、クライアント８０２は、メッセージを、例えばシンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）を使用して送信されるメッセージなどの、１つの形式で、ブリッジ８０６に送信する。ブリッジ８０６はメッセージを新しい形式に変換し（translate）、必要であれば、サーバ８０８でクライアント・セッションを開始する。矢印８２２によって表されるように、ブリッジ８０６はメッセージを、例えばＣＯＭ＋メッセージなどの、サーバ８０８によって理解される形式で、サーバ８０８に送信する。サーバ８０８は、メッセージを受信し、パラメータ・セットを更新する。矢印８２４によって表されるように、サーバ８０８は、クライアント８０２が受信された入力によってパラメータ・セットに対して実行された任意の変更を含む回答を、ブリッジ８０６に送信する。ブリッジ８０６はメッセージを復号し、クライアント８０２に対する回答メッセージを作成する。矢印８２６によって表されるように、ブリッジ８０６は回答メッセージをクライアント８０２に送信する。クライアント８０２は、前述のような前提条件の不全によって、以前は非表示とされた任意の構成要素を表示することを含む、変更を反映するために、ユーザ・インターフェース８０４を更新する。
【００４５】
ユーザは、完了しているか又は完了していない可能性のある、現行のパラメータ・セットに基づくサンプル・データを使用して、グラフの構成を実行することを希望する旨をクライアント８０２に示すこともできる。前述のように、クライアント８０２はブリッジ８０６を介してメッセージをサーバ８０８に送信する。サーバ８０８は任意の変更をパラメータ・セットに適用し、サーバ上で実行しているプロセス８１６はデータフロー・グラフをコンパイルする。コンパイルされたデータフロー・グラフは、サンプル・データベース８１０、８１２からデータを受け入れ、コンパイルされたデータフロー・グラフを実行する。データフロー・グラフは、要求された出力データセット８１８への出力を生成する。データフロー・グラフの出力は、クライアント８０２によって要求される中間データであり、必ずしも、データフロー・グラフの完全な実行によって生成されることになるデータではない。
【００４６】
前述のように、結果として生じるデータは、ブリッジ８０６を介してサーバ８０８からクライアント８０２へと送信される。
【００４７】
前述のグラフ構成手法は、コンピュータ上で実行するためにソフトウェアを使用して実装可能である。例えば、ソフトウェアは、それぞれが、少なくとも１つのプロセッサ、（揮発性及び不揮発性のメモリ及び／又はストレージ要素を含む）少なくとも１つのデータ・ストレージ・システム、少なくとも１つの入力デバイス又はポート、及び少なくとも１つの出力デバイス又はポートを含む、（分散型、クライアント／サーバ、又はグリッドなどの、様々なアーキテクチャとすることが可能な）１つ又は複数のプログラム済み又はプログラム可能なコンピュータ・システム上で実行する１つ又は複数のコンピュータ・プログラム内に手順を形成する。ソフトウェアは、例えば、計算グラフの設計及び構成に関する他のサービスを提供する、より大規模なプログラムの１つ又は複数のモジュールを形成することができる。グラフのノード及び要素は、コンピュータ読み取り可能媒体、又はデータ・リポジトリに記憶されたデータ・モデルに合致する他の編成データに記憶される、データ構造として実装されうる。
【００４８】
ソフトウェアは、ＣＤ−ＲＯＭなどの、汎用又は特定用途向けプログラム可能コンピュータによって読み取り可能な、又はネットワークの通信媒体を介して実行されるコンピュータに配信される（伝搬信号内に符号化された）、ストレージ媒体上に提供することができる。すべての機能は、特定用途向けコンピュータ上で、又はコプロセッサなどの特定用途向けハードウェアを使用して、実行することができる。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される、分散様式で実装可能である。好ましくは、こうしたコンピュータ・プログラムはそれぞれ、本明細書に記載された手順を実行するために、ストレージ媒体又はデバイスがコンピュータ・システムによって読み取られた場合、コンピュータを構成及び動作させるために、汎用又は特定用途向けプログラム可能コンピュータによって読み取り可能なストレージ媒体又はデバイス（例えばソリッド・ステート・メモリ又は媒体、或いは磁気又は光媒体）上に記憶されるか、又はこれらにダウンロードされる。本発明のシステムは、コンピュータ・プログラムを用いて構成された、コンピュータ読み取り可能ストレージ媒体として実装されるものとみなすことも可能であり、そのように構成されたストレージ媒体によって、コンピュータ・システムは、本明細書で説明された機能を実行するための特定及び事前に定義された様式で動作する。
【００４９】
以上、本発明のいくつかの実施形態について説明してきた。しかしながら、本発明の趣旨及び範囲を逸脱することなく、様々な修正が実行可能であることを理解されよう。例えば、前述のステップのいくつかは、順序に依存しない可能性があるため、説明された順序とは異なる順序で実行可能である。
【００５０】
前述の説明は、添付の特許請求の範囲によって画定された本発明の範囲を例示することを意図しており、これを限定するものではない。例えば、前述のいくつかの機能ステップは、処理全体にそれほど影響を与えることなく、異なる順序で実行することができる。他の実施形態は、以下の特許請求の範囲内に入る。
【図１】
2013513864.tif 000003
【図２Ａ】
2013513864.tif 000004
【図２Ｂ】
2013513864.tif 000005
【図２Ｃ】
2013513864.tif 000006
【図３】
2013513864.tif 000007
【図４Ａ】
2013513864.tif 000008
【図４Ｂ】
2013513864.tif 000009
【図５】
2013513864.tif 000010
【図６】
2013513864.tif 000011
【図７】
2013513864.tif 000012
【図８】
2013513864.tif 000013
【国際調査報告】
2013513864.tif 000014
2013513864.tif 000015
2013513864.tif 000016