(57)【要約】【課題】視覚フィードバックをインターフェースに提示する。【解決手段】所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報をインターフェースで受信することと、入力変数にマッピングされた入力データセットの要素に関連する入力データセットからの入力データに基づいて、変形式によりデータ処理システムから出力データを生成することと、妥当性検査基準に基づいて、生成された出力データに応じて妥当性検査情報を決定することを含む。【選択図】  図２
2018185858.tif 000002
【特許請求の範囲】
【請求項１】
入力データセットの１つ又は複数の要素を出力データセットの１つ又は複数の要素にマッピングするための方法であって、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、
それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報を前記インターフェースで受信することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することと、
前記出力データセットの前記識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示すること
を含む、方法。
【請求項２】
前記マップ済み関係により、前記入力データセットから前記出力データセットに入力データをインポートすることをさらに含む、請求項１記載の方法。
【請求項３】
前記入力データをインポートすることが、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含み、前記入力レコードの少なくともいくつかのフィールドが前記入力変数にマッピングされた前記入力データセットの前記要素に対応し、前記出力レコードの少なくともいくつかのフィールドがそれぞれのマップ済み関係の出力にマッピングされた前記出力データセットの前記要素に対応する、請求項２記載の方法。
【請求項４】
前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することが、データ処理コンポーネントを表すノードと、前記データ処理コンポーネント間のデータフローを表すリンクと、前記入力レコードのデータフローを提供する前記入力データセットを表すノードと、前記出力レコードのデータフローを受信する前記出力データセットを表すノードとを含むデータフロー・グラフを実行することを含む、請求項３記載の方法。
【請求項５】
前記マップ済み関係を指定するマッピングを記憶することをさらに含む、請求項１記載の方法。
【請求項６】
前記妥当性検査情報を決定することが、記憶された前記妥当性検査基準の指定を抽出することを含む、請求項１記載の方法。
【請求項７】
前記インターフェースが前記データ処理システムによって提供され、第１のユーザに提示され、前記妥当性検査基準の前記指定が第２のユーザから受信される、請求項６記載の方法。
【請求項８】
前記生成された出力データを表す値を前記インターフェースに提示することをさらに含む、請求項１記載の方法。
【請求項９】
前記妥当性検査情報を決定することが、変形中のマップ済み関係の出力にマッピングされた前記出力データセットの前記識別済み要素に関連する前記妥当性検査基準に基づいて、変形式を含むそれぞれの変形中のマップ済み関係について生成された出力データを評価することを含む、請求項１記載の方法。
【請求項１０】
前記マップ済み関係が、変形式を含む複数の変形中のマップ済み関係を含む、請求項９記載の方法。
【請求項１１】
前記妥当性検査基準が、第１の識別済み要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第１の識別済み要素に関連する第１の妥当性検査基準と、第２の識別済み要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第２の識別済み要素に関連する第２の妥当性検査基準とを含む、請求項９記載の方法。
【請求項１２】
妥当性検査情報が、前記第１の識別済み要素に対応する第１のフィールドと、前記第２の識別済み要素に対応する第２のフィールドとを含む、生成された出力レコードに応じて決定される、請求項１１記載の方法。
【請求項１３】
前記第１の妥当性検査基準が前記出力レコードの前記第２のフィールド内の値に依存する、請求項１２記載の方法。
【請求項１４】
前記妥当性検査情報が、前記出力レコードの前記第１のフィールド内の値と、前記出力レコードの前記第２のフィールド内の値に依存する、請求項１２記載の方法。
【請求項１５】
変形式について有効な構造を示す構文情報を決定することをさらに含む、請求項１記載の方法。
【請求項１６】
前記決定された構文情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項１５記載の方法。
【請求項１７】
前記変形式に対する受信ユーザ変更に基づいて変更済み変形式を受け入れることをさらに含む、請求項１記載の方法。
【請求項１８】
前記入力データセットからの前記入力データに基づいて、前記変更済み変形式により前記データ処理システムから変更済み出力データを生成することをさらに含む、請求項１７記載の方法。
【請求項１９】
前記生成された変更済み出力データに応じて変更済み妥当性検査情報を決定し、前記変更済み妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項１８記載の方法。
【請求項２０】
前記変更済み出力データを生成し、前記変更済み妥当性検査情報に基づいて前記視覚フィードバックを提示することが、前記変形式が変更されている間に行われる、請求項１９記載の方法。
【請求項２１】
前記変更済み出力データを生成し、前記変更済み妥当性検査情報に基づいて前記視覚フィードバックを提示することが、前記変形式が変更された後でユーザ要求に応じて行われる、請求項１９記載の方法。
【請求項２２】
前記入力データセットからの前記入力データが、前記変形式を適用するデータフロー・グラフのコンポーネントへのデータの流れを表すリンクにより受信され、前記データフロー・グラフが、データ処理コンポーネントを表すノードと、前記データ処理コンポーネント間のデータフローを表すリンクと、前記入力データのデータフローを提供する前記入力データセットを表すノードと、前記出力データのデータフローを受信する前記出力データセットを表すノードとを含む、請求項１記載の方法。
【請求項２３】
前記出力データセットに記憶された前記生成済み出力データが、前記変形式を適用するデータフロー・グラフのコンポーネントからのデータの流れを表すリンクにより前記出力データセットに提供され、前記データフロー・グラフが、データ処理コンポーネントを表すノードと、前記データ処理コンポーネント間のデータフローを表すリンクと、前記入力データのデータフローを提供する前記入力データセットを表すノードと、前記出力データのデータフローを受信する前記出力データセットを表すノードとを含む、請求項１記載の方法。
【請求項２４】
少なくとも第１のマップ済み関係が、前記第１のマップ済み関係を適用するデータフロー・グラフのコンポーネントの選択に応じて受信され、前記データフロー・グラフが、データ処理コンポーネントを表すノードと、前記データ処理コンポーネント間のデータフローを表すリンクと、前記入力データのデータフローを提供する前記入力データセットを表すノードと、前記出力レコードのデータフローを受信する前記出力データセットを表すノードとを含む、請求項１記載の方法。
【請求項２５】
前記視覚フィードバックが、前記インターフェース上に表示されたリネージ・ダイアグラムの複数のノードのうちの１つに関する妥当性検査情報を表すインジケータを含み、前記ノードが前記出力データセットの前記１つ又は複数の識別済み要素に関連する少なくとも１つの変形値を含む変形値を表す、請求項１記載の方法。
【請求項２６】
前記視覚フィードバックが、前記インターフェース上に表示された前記リネージ・ダイアグラムの前記複数のノードのうちの１つのノードにそれぞれが関連する複数のインジケータを含む、請求項２５記載の方法。
【請求項２７】
前記インジケータに関連する前記ノードのうちの少なくともいくつかが、前記ノードによって表される前記変形値間の依存性を表すリンクによって接続される、請求項２６記載の方法。
【請求項２８】
前記視覚フィードバックが、前記出力データセットの前記１つ又は複数の識別済み要素を表す少なくとも１つの出力要素を含み、前記インターフェース上に表示された複数の出力要素のうちの１つの出力要素にそれぞれが関連する複数のインジケータを含む、請求項１記載の方法。
【請求項２９】
前記インターフェース上に表示された前記複数の出力要素が、前記入力データのレコードに変形式を適用した結果を表すフィールドに対応する、請求項２８記載の方法。
【請求項３０】
少なくとも１つのインジケータが、前記複数フィールド用の値の行に関する妥当性検査情報を示し、前記行が前記入力データの単一レコードに変形式を適用した結果として得られる出力値を表す、請求項２９記載の方法。
【請求項３１】
少なくとも１つのインジケータが、１つのフィールド用の値の列に関する妥当性検査情報を示し、前記列が前記入力データのそれぞれのレコードに単一変形式を複数回適用することを表す、請求項２９記載の方法。
【請求項３２】
前記視覚フィードバックが前記妥当性検査情報に基づいて計算された統計を含み、前記統計が前記入力データの複数レコードに前記妥当性検査基準を適用した結果を表す、請求項１記載の方法。
【請求項３３】
前記統計が一定の時間間隔で計算される、請求項３２記載の方法。
【請求項３４】
前記視覚フィードバックが前記妥当性検査基準に関連するカスタム・エラー・メッセージを含み、前記カスタム・エラー・メッセージが前記入力データのレコードに前記妥当性検査基準を適用した特定のインスタンスの結果に関する情報を示す、請求項１記載の方法。
【請求項３５】
前記入力変数とは関係なく少なくとも1つの定数として定義された出力を前記インターフェースで受信することをさらに含む、請求項１記載の方法。
【請求項３６】
変形式の結果を表す期待値を受信することをさらに含み、前記妥当性検査情報を決定することが、変形式を含み、それぞれの変形中のマップ済み関係について生成された出力データと前記期待値とを比較することを含む、請求項１記載の方法。
【請求項３７】
入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのシステムであって、前記システムが、
入力データセットを記憶する入力データ記憶システムと、
出力データセットを記憶する出力データ記憶システムと、
ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供するように構成されたデータ処理システムであって、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を前記インターフェースで受信することであって、前記マップ済み関係のうちの少なくとも１つが前記データ処理システム上で実行可能な変形式を含み、前記変形式が前記入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、
それぞれのマップ済み関係の出力にマッピングされた前記出力データセットの要素の識別情報を前記インターフェースで受信することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することと、
前記出力データセットの前記識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することを含む、データ処理システムと
を含む、システム。
【請求項３８】
入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのシステムであって、前記システムが、
入力データセットを記憶するための手段と、
出力データセットを記憶するための手段と、
ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供するための手段であって、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を前記インターフェースで受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が前記入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、
それぞれのマップ済み関係の出力にマッピングされた前記出力データセットの要素の識別情報を前記インターフェースで受信することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することと、
前記出力データセットの前記識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することを含む、手段と
を含む、システム。
【請求項３９】
入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのコンピュータ・プログラムを記憶するコンピュータ可読媒体であって、前記コンピュータ・プログラムが、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、
それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報を前記インターフェースで受信することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することと、
前記出力データセットの前記識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示すること
をコンピュータに実行させるための命令を含む、コンピュータ可読媒体。
【請求項４０】
前記妥当性検査基準が１組の妥当性検査規則を含み、それぞれが出力データセットの前記識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する、請求項１記載の方法。
【請求項４１】
前記妥当性検査規則が、出力データセットの所望のフォーマットにより有効なものとして受け入れられる出力データのタイプを示す、請求項４０記載の方法。
【請求項４２】
前記妥当性検査基準のうちの少なくともいくつかが、出力データセットの要素のフォーマットに関する制約を指定する、請求項１記載の方法。
【請求項４３】
前記妥当性検査基準のうちの少なくともいくつかが、出力データセットの複数要素間の依存性に基づいて有効値の特性を指定する、請求項１記載の方法。
【請求項４４】
前記妥当性検査基準のうちの少なくともいくつかが、複数フォーマットで表されたデータに関する有効値を示すデータ構造を参照し、前記複数フォーマットが出力データセットの複数要素のそれぞれのフォーマットに対応する、請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  優先権の主張
本出願は、２００９年９月１６日に出願された米国仮特許出願第６１／２４３１３２号に対する優先権を主張するものであり、その内容全体は参照により本明細書に組み込まれるものである。
【０００２】
[0001]  本明細書はデータセット要素のマッピングに関する。
【背景技術】
【０００３】
[0002]  いくつかのデータベース又はデータ・ウェアハウジング・システムでは、あるデータセット（「ソース」又は「入力」データセット）の要素が他のデータセット（「出力」又は「ターゲット」データセット）の要素にマッピングされる。これらの要素は、例えば、データベース・テーブルのフィールド又はデータ・オブジェクトの属性を含むことができる。その場合、入力データセットのレコード（例えば、テーブルの行）を出力データセットにインポートすることができ、適切な入力フィールドが適切な出力フィールドにマッピングされる。入力データセットのフォーマットと出力データセットのフォーマットの間には、出力フォーマットを満足するためにデータ値を変換することを要求するような違いが存在する可能性がある。あるケースでは、例えば、データ品質を保証するため、又は出力データセットの所望の特性を満足するために、追加のデータ変形（data transformation）も適用される。マッピング・プロセスは、異なるスキル・レベル（例えば、初心者又は専門家）或いは異なる焦点分野（例えば、ビジネス又は技術）を有する異なるユーザ間での対話を必要とする可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
[0003]  一態様では、概略的に、入力データ処理システムに記憶された入力データセットの１つ又は複数の要素を、出力データ処理システムに記憶された出力データセットの１つ又は複数の要素にマッピングするための方法が記載されている。この方法は、所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係（mapped relationship）をインターフェースで受信することであって、マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式（transformational expression）を含み、変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することを含む。この方法は、それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報をインターフェースで受信することを含む。この方法は、入力変数にマッピングされた入力データセットの要素に関連する入力データセットからの入力データに基づいて、変形式によりデータ処理システムから出力データを生成することを含む。この方法は、出力データセットの識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、生成された出力データに応じて妥当性検査情報（validation information）を決定することと、決定された妥当性検査情報に基づいて視覚フィードバック（visual feedback）をインターフェースに提示することを含む。
【０００５】
[0004]  諸態様は以下の特徴のうちの１つ又は複数を含むことができる。
【０００６】
[0005]  この方法は、マップ済み関係により、入力データセットから出力データセットに入力データをインポートすることをさらに含む。
【０００７】
[0006]  入力データをインポートすることは、入力データセットの入力レコードのそれぞれのフィールド内の入力値に変形式を適用し、出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含み、入力レコードの少なくともいくつかのフィールドが入力変数にマッピングされた入力データセットの要素に対応し、出力レコードの少なくともいくつかのフィールドがそれぞれのマップ済み関係の出力にマッピングされた出力データセットの要素に対応する。
【０００８】
[0007]  入力データセットの入力レコードのそれぞれのフィールド内の入力値に変形式を適用こと、及び出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することは、データ処理コンポーネントを表すノードと、データ処理コンポーネント間のデータフローを表すリンクと、入力レコードのデータフローを提供する入力データセットを表すノードと、出力レコードのデータフローを受信する出力データセットを表すノードとを含む、データフロー・グラフ（dataflow graph）を実行することを含む。
【０００９】
[0008]  この方法は、マップ済み関係を指定するマッピングを記憶することをさらに含む。
【００１０】
[0009]  妥当性検査情報を決定することは、出力データ処理システムに記憶された妥当性検査基準の指定を抽出することを含む。
【００１１】
[0010]  インターフェースはデータ処理システムによって提供され、第１のユーザに提示され、出力データ処理システムに記憶された妥当性検査基準の指定は第２のユーザから受信される。
【００１２】
[0011]  この方法は、生成された出力データを表す値をインターフェースに提示することをさらに含む。
【００１３】
[0012]  妥当性検査情報を決定することは、変形中のマップ済み関係の出力にマッピングされた出力データセットの識別済み要素に関連する妥当性検査基準に基づいて、変形式を含むそれぞれの変形中のマップ済み関係について生成された出力データを評価することを含む。
【００１４】
[0013]  マップ済み関係は、変形式を含む複数の変形中のマップ済み関係を含む。
【００１５】
[0014]  妥当性検査基準は、第１の識別済み要素に関連する有効値の１つ又は複数の特性を定義する出力データセットの第１の識別済み要素に関連する第１の妥当性検査基準と、第２の識別済み要素に関連する有効値の１つ又は複数の特性を定義する出力データセットの第２の識別済み要素に関連する第２の妥当性検査基準とを含む。
【００１６】
[0015]  妥当性検査情報は、第１の識別済み要素に対応する第１のフィールドと、第２の識別済み要素に対応する第２のフィールドとを含む、生成された出力レコードに応じて決定される。
【００１７】
[0016]  第１の妥当性検査基準は出力レコードの第２のフィールド内の値に依存する。
【００１８】
[0017]  妥当性検査情報は、出力レコードの第１のフィールド内の値と、出力レコードの第２のフィールド内の値に依存する。
【００１９】
[0018]  この方法は、変形式について有効な構造を示す構文情報を決定することをさらに含む。
【００２０】
[0019]  この方法は、決定された構文情報に基づいて視覚フィードバックをインターフェースに提示することをさらに含む。
【００２１】
[0020]  この方法は、変形式に対する受信ユーザ変更に基づいて変更済み変形式を受け入れることをさらに含む。
【００２２】
[0021]  この方法は、入力データセットからの入力データに基づいて、変更済み変形式によりデータ処理システムから変更済み出力データを生成することをさらに含む。
【００２３】
[0022]  この方法は、生成された変更済み出力データに応じて変更済み妥当性検査情報を決定し、変更済み妥当性検査情報に基づいて視覚フィードバックをインターフェースに提示することをさらに含む。
【００２４】
[0023]  変更済み出力データを生成し、変更済み妥当性検査情報に基づいて視覚フィードバックを提示することは、変形式が変更されている間に行われる。
【００２５】
[0024]  変更済み出力データを生成し、変更済み妥当性検査情報に基づいて視覚フィードバックを提示することは、変形式が変更された後でユーザ要求に応じて行われる。
【００２６】
[0025]  入力データセットからの入力データは、変形式を適用するデータフロー・グラフのコンポーネントへのデータの流れを表すリンクにより受信され、データフロー・グラフは、データ処理コンポーネントを表すノードと、データ処理コンポーネント間のデータフローを表すリンクと、入力データのデータフローを提供する入力データセットを表すノードと、出力データのデータフローを受信する出力データセットを表すノードとを含む。
【００２７】
[0026]  出力データセットに記憶された生成済み出力データは、変形式を適用するデータフロー・グラフのコンポーネントからのデータの流れを表すリンクにより出力データセットに提供され、データフロー・グラフは、データ処理コンポーネントを表すノードと、データ処理コンポーネント間のデータフローを表すリンクと、入力データのデータフローを提供する入力データセットを表すノードと、出力データのデータフローを受信する出力データセットを表すノードとを含む。
【００２８】
[0027]  少なくとも第１のマップ済み関係は、第１のマップ済み関係を適用するデータフロー・グラフのコンポーネントの選択に応じて受信され、データフロー・グラフは、データ処理コンポーネントを表すノードと、データ処理コンポーネント間のデータフローを表すリンクと、入力データのデータフローを提供する入力データセットを表すノードと、出力データのデータフローを受信する出力データセットを表すノードとを含む。
【００２９】
[0028]  視覚フィードバックは、インターフェース上に表示されたリネージ・ダイアグラム（lineage diagram）の複数のノードのうちの１つに関する妥当性検査情報を表すインジケータを含み、ノードは出力データセットの１つ又は複数の識別済み要素に関連する少なくとも１つの変形値（transformed value）を含む変形値を表す。
【００３０】
[0029]  視覚フィードバックは、インターフェース上に表示されたリネージ・ダイアグラムの複数のノードのうちの１つのノードにそれぞれが関連する複数のインジケータを含む。
【００３１】
[0030]  インジケータに関連するノードのうちの少なくともいくつかは、そのノードによって表される変形値間の依存性を表すリンクによって接続される。
【００３２】
[0031]  視覚フィードバックは、出力データセットの１つ又は複数の識別済み要素を表す少なくとも１つの出力要素を含み、インターフェース上に表示された複数の出力要素のうちの１つの出力要素にそれぞれが関連する複数のインジケータを含む。
【００３３】
[0032]  インターフェース上に表示された複数の出力要素は、入力データのレコードに変形式を適用した結果を表すフィールドに対応する。
【００３４】
[0033]  少なくとも１つのインジケータは、複数フィールド用の値の行に関する妥当性検査情報を示し、その行は入力データの単一レコードに変形式を適用した結果として得られる出力値を表す。
【００３５】
[0034]  少なくとも１つのインジケータは、１つのフィールド用の値の列に関する妥当性検査情報を示し、その列は入力データのそれぞれのレコードに単一変形式を複数回適用することを表す。
【００３６】
[0035]  視覚フィードバックは妥当性検査情報に基づいて計算された統計を含み、その統計は入力データの複数レコードに妥当性検査基準を適用した結果を表す。
【００３７】
[0036]  統計は一定の時間間隔で計算される。
【００３８】
[0037]  視覚フィードバックは妥当性検査基準に関連するカスタム・エラー・メッセージを含み、そのカスタム・エラー・メッセージは入力データのレコードに妥当性検査基準を適用した特定のインスタンスの結果に関する情報を示す。
【００３９】
[0038]  この方法は、入力変数とは関係なく少なくとも1つの定数として定義された出力をインターフェースで受信することをさらに含む。
【００４０】
[0039]  この方法は、変形式の結果を表す期待値を受信することをさらに含み、妥当性検査情報を決定することは、変形式を含み、それぞれの変形中のマップ済み関係について生成された出力データと期待値とを比較することを含む。
【００４１】
[0040]  他の態様では、概略的に、入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのシステムが記載されている。このシステムは、入力データセットを記憶する入力データ記憶システムと、出力データセットを記憶する出力データ記憶システムと、ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供するように構成されたデータ処理システムとを含む。受信し提示することは、所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報をインターフェースで受信することと、入力変数にマッピングされた入力データセットの要素に関連する入力データセットからの入力データに基づいて、変形式によりデータ処理システムから出力データを生成することと、出力データセットの識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、生成された出力データに応じて妥当性検査情報を決定することと、決定された妥当性検査情報に基づいて視覚フィードバックをインターフェースに提示することを含む。
【００４２】
[0041]  他の態様では、一般に、入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのシステムが記載されている。このシステムは、入力データセットを記憶するための手段と、出力データセットを記憶するための手段と、ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供するための手段とを含む。受信し提示することは、所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報をインターフェースで受信することと、入力変数にマッピングされた入力データセットの要素に関連する入力データセットからの入力データに基づいて、変形式によりデータ処理システムから出力データを生成することと、出力データセットの識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、生成された出力データに応じて妥当性検査情報を決定することと、決定された妥当性検査情報に基づいて視覚フィードバックをインターフェースに提示することを含む。
【００４３】
[0042]  他の態様では、一般に、コンピュータ可読媒体は、入力データセットの１つ又は複数の要素を、出力データセットの１つ又は複数の要素にマッピングするためのコンピュータ・プログラムを記憶する。このコンピュータ・プログラムは、所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係をインターフェースで受信することであって、マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義することと、それぞれのマップ済み関係の出力にマッピングされた出力データセットの要素の識別情報をインターフェースで受信することと、入力変数にマッピングされた入力データセットの要素に関連する入力データセットからの入力データに基づいて、変形式によりデータ処理システムから出力データを生成することと、出力データセットの識別済み要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、生成された出力データに応じて妥当性検査情報を決定することと、決定された妥当性検査情報に基づいて視覚フィードバックをインターフェースに提示することをコンピュータに実行させるための命令を含む。
【００４４】
[0043]  諸態様は以下の利点のうちの１つ又は複数を含むことができる。
【００４５】
[0044]  あるケースでは、１つの入力データセットが１つの出力データセットにマッピングされる時に（例えば、データ・フィードをデータ・ウェアハウスにロードする時に）、入力データセットが多数のフィールド（例えば、数千個のフィールド）を有し、出力データセットがそれより少数のフィールド（例えば、１００個未満のフィールド）を有する可能性がある。データ管理システムは、１つ又は複数の入力フィールドからの情報を所与の出力フィールドにどのようにマッピングするかという指定を提供するマッピングを使用する。ユーザが（「マッピング・プロセス」中に）マッピングを構成できるようにするために、データ管理システムのためのユーザ・インターフェースが提供される。
【００４６】
[0045]  ユーザ・インターフェースは、比較的経験不足のユーザがテスト値及び妥当性検査情報を表示して、マッピングの結果が意図するものと一致することをユーザが検証し、エラーを低減できるようにする、テスト及び妥当性検査機能を含む。妥当性検査機能は、より経験豊富なユーザが前もって妥当性検査規則を出力データセットの要素に関連付けることができるようにし、それはマッピング・プロセス中に後で適用することができる。例えば、１人又は複数の経験豊富なユーザは、多種多様な入力データ記憶システムに記憶された多数の入力データセットからのデータのためのリポジトリとして働く出力データ記憶システムに記憶された出力データセットの要件について知識を有する可能性がある。経験豊富なユーザがすべての入力データセットのフィールドを出力データセットの適切なフィールドにマッピングすることは実用的ではない可能性がある。ユーザ・インターフェースは、経験豊富なユーザが妥当性基準を施行して、経験豊富なユーザが行わないと思われるが、初心者ユーザが行う可能性のある潜在的エラーを捕捉するため、又は初心者ユーザが把握しないと思われる出力データセットに関連する特定の規約を満足するための方法を依然として提供しながら、異なる初心者ユーザが入力データセットのそれぞれについてマッピングを行えるようにするものである。
【００４７】
[0046]  より経験豊富な又はより専門的なユーザによって提供される規則に基づくテスト及び妥当性検査をユーザ・インターフェースに統合することにより、あまり経験豊富ではないか又はあまり専門的ではないユーザによってもたらされる潜在的エラー又は不一致は、より遅い時期（システム統合プロセス中）ではなく、より早い時期（マッピング・プロセス中）に捕捉することができる。このようなエラー又は不一致をより早い時期に捕捉することにより、潜在的に数桁分の費用節約を獲得することができる。異なるチームのユーザが論点を説明し、問題を識別するために必要な時間を削減するだけでなく、識別された後でその問題の修正をより容易なものにする。
【００４８】
[0047]  本発明のその他の特徴及び利点は、以下の説明並びに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００４９】
【図１】[0048]データセット要素をマッピングするための模範的なシステムである。
【図２】[0049]データ管理システムの一例である。
【図３Ａ】[0050]データ処理グラフの一例である。
【図３Ｂ】[0051]トランスフォーム（transform）の一例である。
【図４】[0052]規則入力インターフェースの一例である。
【図５】[0053]トランスフォーム・ビュー・インターフェース（transform view interface）及び関連要素の一例である。
【図６】[0054]トランスフォーム・ビュー・インターフェースの動作に関する手順を示すフローチャートである。
【図７Ａ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｂ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｃ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｄ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｅ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｆ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｇ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図７Ｈ】[0055]トランスフォーム・ビュー・インターフェースの動作の一例である。
【図８】[0056]トランスフォーム・ビュー・インターフェースの一例である。
【図９】[0057]リネージ・ダイアグラムの一例である。
【図１０】[0058]トランスフォーム・ビュー・インターフェースの一例である。
【図１１】[0059]妥当性検査規則インターフェースの一例である。
【発明を実施するための形態】
【００５０】
[0060]  図１を参照すると、データセット要素をマッピングし、マップ済みデータセット要素によりデータを処理するためのシステム１０は、記憶装置又はオンライン・データ・ストリームへの接続など、１つ又は複数のデータ・ソースを含むことができるデータ・ソース１２を含み、そのそれぞれは、様々な記憶フォーマット（例えば、データベース・テーブル、スプレッドシート・ファイル、フラット・テキスト・ファイル、又はメインフレームによって使用される固有フォーマット）のいずれかでデータを記憶することができる。実行環境１４はデータセット・マッピング・モジュール１６とデータセット処理モジュール２２とを含む。実行環境１４は、ＵＮＩＸオペレーティング・システムなどの適切なオペレーティング・システムの制御下で１つ又は複数の汎用コンピュータ上で処理され（hosted）うる。例えば、実行環境１４は、ローカル（例えば、ＳＭＰコンピュータなどのマルチプロセッサ・システム）又はローカル分散（例えば、クラスタ又はＭＰＰとして結合された複数プロセッサ）或いはリモート又はリモート分散（例えば、ＬＡＮ又はＷＡＮネットワークを介して結合された複数プロセッサ）若しくはこれらの任意の組み合わせの複数の中央演算処理装置（ＣＰＵ）を使用するコンピュータ・システムの構成を含む、複数ノード・パラレル・コンピューティング環境を含むことができる。
【００５１】
[0061]  以下により詳細に記載されているように、データセット・マッピング・モジュール１６は、入力データセットと出力データセットとの間でデータをマッピングするためのマッピング情報を記憶する。データセット処理モジュール２２は、データ・ソース１２に記憶された入力データセットからデータを読み取り、記憶したマッピング情報により、例えば、データに適用すべき変形式を含み、データ記憶システム２６に記憶されたマッピング情報２４に基づいて、データを処理する。データ・ソース１２を提供する記憶装置は、実行環境１５に対してローカルであり、例えば、実行環境１４を実行するコンピュータに接続された記憶媒体（例えば、ハード・ディスク・ドライブ１８）上に記憶される場合もあれば、実行環境１４に対してリモートであり、例えば、ローカル・エリア・データ・ネットワーク又は広域データ・ネットワークにより実行環境１４を実行するコンピュータと通信しているリモート・システム（例えば、メインフレーム２０）上で処理される場合もある。
【００５２】
[0062]  データセット・マッピング・モジュール１６は、マッピングされているデータに基づく可視表現を（例えば、ディスプレイ上に示されたユーザ・インターフェースにより）ユーザに対して表示する。データ記憶システム２６は開発環境２８にとってもアクセス可能であり、その環境で開発者３０は、データ記憶システム２６に記憶され、データを処理し表示するためにデータセット処理モジュール２２によって使用されるプログラムを開発することができる。実現例によっては、開発環境２８は、頂点（コンポーネント又はデータセット）間の有向リンク（作業要素の流れを表す）によって接続された頂点を含むデータフロー・グラフとしてアプリケーションを開発するためのシステムである。例えば、このような環境は、参照により本明細書に組み込まれ、「Managing Parameters for Graph-Based Applications」という名称の米国特許公報第２００７／００１１６６８号により詳細に記載されている。
【００５３】
[0063]  データセット処理モジュール２２は、種々の形式のデータベース・システムを含む様々なタイプのシステムからのデータを処理することができる。データは、場合によってはヌル値を含み、それぞれのフィールド（「属性」又は「列」とも呼ばれる）用の値を有するレコードとして編成することができる。まず、データ・ソースからデータを読み取る場合、データセット処理モジュール２２は、典型的に、そのデータ・ソース内のレコードに関する何らかの初期フォーマット情報から始める。（情況によっては、データ・ソースのレコード構造が最初に知られていない可能性があり、むしろデータ・ソースの分析後に決定される可能性があることに留意されたい。）レコードに関する初期情報としては、別個の値を表すビット数、レコード内のフィールドの順序、及びビットによって表される値のタイプ（例えば、文字列、符号付き／符号なし整数）を含むことができる。データセット処理モジュール２２はデータ・ソースからレコードを読み取る時に、変形式を適用して、中間データ及び出力データを生成する。データセット・マッピング・モジュール１６はこのデータにアクセスすることができ、データセット・マッピング・モジュール１６のユーザ・インターフェースでユーザに対してデータの表現を表示する。
【００５４】
[0064]  図２は、システム１０を使用して実現することができ、あるデータセットの要素を他のデータセットの要素にマッピングするための模範的なデータ管理システム３００を示している。この例では、システム３００は入力データ記憶システムに記憶された１つ又は複数の入力データセット３１０ａ、３１０ｂを含み、個々の入力データセット（例えば、データベース・テーブル）はシステム３００への入力として機能することができる複数の個別要素を有することができる。入力データセット３１０ａは、入力３１２ａ、３１２ｂ、３１２ｃ、３１２ｄ（例えば、データベース・テーブルのフィールド又は列）を有する。さらに、データ管理システム３００は出力データ記憶システム（入力データ記憶システムと同じものにすることができる）に記憶された１つ又は複数の出力データセット３２０ａ、３２０ｂも有し、個々の出力データセット（例えば、データベース・テーブル）はシステム３００の出力として機能することができる複数の個別要素を有することができる。出力データセット３２０ａは、出力３２２ａ、３２２ｂ、３２２ｃ、３２２ｄ（例えば、データベース・テーブルのフィールド又は列）を有する。データ管理システム３００は、入力３１２と出力３２２とのマップ済み関係を示すマッピング３４０を有し、任意選択で、入力から出力にマッピングされる要素に関連する指定の値又は特性を変換する。データ管理システム３００は、マッピングによって定義された変形を実行し、ユーザ・インターフェースによりユーザと対話するためのデータ処理システム（例えば、データセット処理モジュール２２によって実行されるデータフロー・グラフ）を含み、データベース・サーバ３５０又はその他のコンピューティング・システムに併せて動作することができる。いくつかの実装例では、データ管理システム３００のデータ処理システムは、マッピング３４０を使用して、入力データセット３１０ａからのデータを出力データセット３２０ａにインポートし、入力データセット３１０ａから出力データセット３２０ａにインポートされるデータ（例えば、個別レコード）に変形を適用する。また、いくつかの実装例では、データ管理システム３００のデータ処理システムは、マッピング３４０を使用して、より遅い時期にデータに適用される変形をユーザが設計するのを支援するか及び／又はデータをインポートするために異なるデータ処理システムを使用する。
【００５５】
[0065]  これらの図では、実線が付いた先端閉鎖矢印はデータの流れを示し、点線が付いた先端開放矢印は図の説明に指定されているように他の種類の関連づけを示している。
【００５６】
[0066]  いくつかの入力がいくつかの出力に直接マッピングする場合がある。例えば、データ管理システム３００は変形せずに入力３１２ａを出力３２２ａに直接渡す。入力３１２ａは「ラストネーム（Last Name）」というフィールドに対応することができ、出力３２２ａは「Ｌネーム（LName）」というフィールドに対応することができ、どちらのフィールドも同じフォーマットで同じデータ論理データ値を記憶するためのものであるので、入力データセット３１０ａのレコードが出力データセット３２０ａにインポートされる時にデータ値の変形はまったく不要になる。いくつかの入力が１つの出力にマッピングする場合があり、データ管理システム３００はその入力に関連するデータを変形することができる。例えば、入力３１２ｃを介してデータ管理システム３００によってマッピングされる要素は、計算を実行するか又は式を適用してその要素に関連するデータ値又はその要素に関連する特性を変更することにより変形されうる（例えば、入力データセット３１０ａ内のレコードの所与のフィールド内のデータ値は、そのレコードが出力データセット３２０ａにインポートされる時に変形される）。この変形は、データ値を同じ状態に保持しながらデータ・タイプを変形することを含む場合もあれば、例えば、測定単位又は大文字使用などの特性を変更するためにデータ値を変形することを含む場合もある。いくつかの入力が１つの出力にマッピングする場合があり、データ管理システム３００は、所定の基準に依存する変動方式で入力を変形することができる。例えば、入力３１２ｄを介してデータ管理システム３００によってマッピングされる要素に関連するデータの一部は所与の基準に基づいて、ある変形が適用される可能性があり、同じ入力３１２ｄを介してデータ管理システム３００によってマッピングされる要素に関連するその他のデータは所与の基準に基づいて、異なる変形が適用される可能性がある。どの変形がそのデータに適用されるかを決定するための基準は、例えば、データ管理システム３００内の計算ロジック３０２によって決定することができる。計算ロジック３０２は、例えば、以下により詳細に記載されているように、ユーザがユーザ・インターフェースで式を入力するか又は規則を定義することによって提供することができる。さらに、これらの例では、出力３２２ｂにマッピングされたデータを生成するために入力３１２ｂ及び３１２ｃからのデータが使用されるなど、単一出力にマッピングされたデータを生成するために２つ以上の入力からのデータに対して変形を行うことができる。例えば、出力３２２ｂは、その値が入力３１２ｂ及び３１２ｃに対応するフィールドの値の関数であるフィールドに対応することができる。従って、所与の１つの出力と１つ又は複数の入力とのマップ済み関係は、単一入力の識別情報又は１つ又は複数の識別された入力に適用される変形の指定を含むことができる。１つ又は複数の入力を１つの出力にマッピングする際に使用される変形は、以下により詳細に記載されているように、適用すべき式又は実行すべき計算を定義するデータ構造の形を取ることができ、様々なデータ処理コンテキストで使用可能なトランスフォームと呼ばれるものである。デー��管理システム３００内のマッピング３４０は、１組のトランスフォーム１３０ａ、１３０ｂ、１３０ｃ、１３０ｄを使用して実現される。
【００５７】
[0067]  トランスフォームは、１つ又は複数の可能な出力を生成するために１つ又は複数の入力に対して実行される動作を定義する。いくつかの実装例では、トランスフォームは、最初に所定のフォーマットを有するデータ構造として記憶され、その後、実行可能な形にコンパイルされる。トランスフォームは、データフローを表す要素をリンクすることによりデータ処理コンポーネントが接続されたデータフロー・グラフなど、グラフベースの計算のコンテキストで使用することができる。例えば、図３Ａの単純なデータフロー・グラフ１３０は、入力として２つのデータセット１３２、１３４（例えば、常連搭乗客データ及び定期便予約データ）を取り、まとめて使用できるように個別のフォーマット・コンポーネント１３６、１３８で各セット内のデータをフォーマットし、結合コンポーネント１４０でそれらを結合して出力データセット１４２を生成する。トランスフォーム自体は、グラフ１３０内のようにグラフベースの計算によって実現される場合もあれば、それによってグラフ１３０が構成される個別コンポーネント１３６、１３８、及び１４０など、グラフのコンポーネント内に実現される場合もある。
【００５８】
[0068]  トランスフォームはまた、「ビジネス・ルール」と呼ばれるデータ処理構成体を使用して実現することもできる。ビジネス・ルールは、例えば、あるフォーマットから他のフォーマットにデータを変換するため、データに関する決定を行うため、又は１組の入力データに基づいて新しいデータを生成するために使用可能な１組の基準として表すことができる。例えば、図３Ｂでは、定期便予約システムのレコード１０２は、乗客の名前１０４、その乗客が今年航空機を利用したマイル数１０６、この乗客のチケットのクラス１０８、並びにこの乗客が着席した座席の列１１０を示している。ビジネス・ルールは、このような乗客を搭乗グループ１に入れなければならないことを示している。ビジネス・ルールは一般に人間にとって理解しやすいものであり、即ち、「ファーストクラスの乗客はグループ１に入る」などであるが、データを操作するために使用するには、その前にコンピュータが理解できるものに変換する必要がある可能性がある。ビジネス・ルールは、１つ又は複数のデータ・ソース、例えば、入力データセット１００からレコード１０２などの入力レコードを受信し、乗客の名前１０４並びにその乗客が入るグループ１１８を示す出力レコード、例えば、レコード１１４を出力データセット１２０に挿入するトランスフォーム１１２を使用して実現することができる。入力及び出力データセットはデータ・ストリームと呼ぶこともできる。
【００５９】
[0069]  非専門ユーザに関するビジネス・ルールを実現するトランスフォームの作成及び操作を単純にするために、このようなユーザがトランスフォームに何を実行して欲しいかをコンピュータ・システムに指示するツールであって、このようなユーザが熟知しているフォーマットでルール・セット（rule set）と呼ばれる１つ又は複数のビジネス・ルールのセットを処理するためのツールが提供される。ルール・セットは、単一トランスフォームを生成するルールのセットである。１つのルールは、入力次第でそのルールの出力について種々の値を計算する１つ又は複数のルール・ケース（rule case）で構成することができる。また、１つのルールは他のルールも含むことができる。１つのルール・セット内のいくつかのルールは追加又は代替出力に関する値を生成することができる。１つのルール・セットは他のルール・セットを含むことができ、このような他のルール・セットは「含まれる（included）」ルール・セットと呼ぶ。
【００６０】
[0070]  図４はビジネス・ルール・エディタ２００を示しており、これは、ビジネス・ルールの特性を指定するためのユーザ・インターフェースの一例である。ビジネス・ルール・エディタ２００は、入力データセットの要素を出力データセットの要素にマッピングし、データ管理システム３００で使用される対応マッピング３４０を生成するためのユーザ・インターフェースのコンポーネントにすることができる。ビジネス・ルールの入力は左側にリストされ、ビジネス・ルールの出力は右側にリストされる。ビジネス・ルール・エディタ２００内のトリガ列２０２、２０４、２０６、２０８は使用可能なデータ値に対応し、行２１０ａ〜２１０ｈはルール・ケース、即ち、使用可能なデータ値を関連させる基準のセットに対応する。あるルール・ケースが基準を有する各トリガ列について、所与のレコード（例えば、図３Bの１０２）のデータ値がトリガ基準を満たす場合、そのルール・ケースはそのレコードに適用される。あるルール・ケースが適用される場合、１つ又は複数の出力列２１２に基づいて出力が生成される。その入力関係のすべてが満足されているルール・ケースは「トリガ済み（triggered）」と呼ぶことができる。それぞれの出力列２１２は潜在的な出力変数に対応し、適用可能な行２１０ａ〜２１０ｈの対応するセル内の値は、その変数に関する出力がある場合に、その出力を決定する。セルは、変数に割り当てられる値を含む場合もあれば、以下に述べるように、出力値を生成するために評価しなければならない式を含む場合もある。図４には１つしか示されていないが、２つ以上の出力列が存在する可能性もある。
【００６１】
[0071]  ビジネス・ルールの編集に関しては、出力変数は「デフォルト値」を有し、これは式であり、単純に入力変数の名前である式を含む。出力変数はまた、より複雑なロジックを表すルールによって計算することもできる。ユーザがビジネス・ルールを編集する場合、ユーザは出力変数を表示し、出力変数に対応するデフォルト値セル上にサイドバーから入力変数をドラッグすることによってマッピングを確立することができる。また、ユーザは、出力変数に関するデフォルト値式を直接編集することもできる。さらに、特定の出力を計算するためにより高度なロジックが必要な場合、ユーザはその出力を計算するために１つ又は複数のルールを作成することができる。
【００６２】
[0072]  ビジネス・ルールを編集する場合、ユーザは、出力変数に関する技術情報を含む出力変数グリッド内のデフォルト値を割り当てることができる。例えば、ユーザは、ルール・セットを示す主要書式から出力に関するルールを作成することができる。マッピング３４０を生成するためのユーザ・インターフェースのいくつかの実装例では、ユーザがルールを作成する時に、ユーザがデフォルト値を確認する可能性があり、ユーザがデフォルト値を割り当てる時に、対応するルールが使用可能である可能性がある。
【００６３】
[0073]  ビジネス・ルールは非専門ユーザが作成し操作することができるので、複数ユーザのグループでは、意図した通りに機能するルールを作成し操作するユーザの能力が様々になる可能性がある。ビジネス・ルールを作成し操作する方法について初歩的に又は不完全に理解しているユーザがいる可能性もあれば、技術的に熟練し、ビジネス・ルールの作成及び操作のあらゆる面を完全に理解しているユーザがいる可能性もある。また、ビジネス・ルールの根底にある意味、例えば、その実世界適用について知識があるユーザがいる可能性もあれば、ビジネス・ルールが適用される方法についてまったく知識がないユーザがいる可能性もある。例えば、所得税に関する知識が限られているか又はまったくないユーザは、所得税の申告書を処理するために使用されるビジネス・ルールの目的を完全に理解していない可能性がある。ビジネス・ルールの実世界適用に関するユーザの知識は、ビジネス・ルールに関するユーザの技術知識とは無関係である可能性がある。例えば、高い技術知識を有するが適用知識は低いユーザはビジネス・ルールを作成することができ、高い適用知識を有するユーザは、そのビジネス・ルールを再検討して、そのビジネス・ルールが利用される時に意図された目的を達成すること確認できるであろう。この例では、高い技術知識を有するユーザはビジネス・ルールの適用に関して初心者ユーザと見なされる可能性があり、高い適用知識を有するユーザはビジネス・ルールの適用に関して経験豊富なユーザと見なされる可能性がある。他の例では、技術的に熟練しているユーザは、技術知識が限られているユーザによって作成されたビジネス・ルールを再検討して、そのビジネス・ルールが技術的要件を満たすかどうかを判断することができるであろう。これらの例では、技術的に熟練しているユーザは経験豊富なユーザと見なされる可能性があり、技術知識が限られているユーザは初心者ユーザと見なされる可能性がある。さらに、システムによっては、多数のユーザによって多数のビジネス・ルールが生成され、それぞれのユーザがルール全体のごく一部しか生成しない場合もある。それぞれのルールの機能はそれぞれの作成者操縦者の熟練度を反映することになる。
【００６４】
[0074]  ユーザ・インターフェースは、入力レコードからのフィールドと出力レコード内のフィールドとのマッピングなど、入力データセットと出力データセットの要素間のマッピング３４０の生成を可能にすることができる。例えば、データ・フィードをデータ・ウェアハウスにロードする時に、このフィード（入力）が１００個のフィールドを有する可能性がある。フィード内のデータを使用して、データ・ウェアハウス（出力）内の５０個のフィールドを埋めることになる。この例のマッピング３４０は、入力フィールドが出力フィールドにどのようにマッピングするかという指定を提供する。
【００６５】
[0075]  いくつかのケースでは、個別入力フィールドが個別出力フィールドに直接マッピングする。従って、出力の多くは、単純にユーザ・インターフェース内で特定の入力フィールドの値をそれに割り当てることによって計算される。その他の出力は、式、定数、入力フィールドの単純な組み合わせ（例えば、文字列連結）、或いはｉｆ／ｔｈｅｎ／ｅｌｓｅロジック又は関数呼び出しを含む、より複雑なロジックによって計算することができる。また、一部の出力はビジネス・ルールを使用して計算することができる。ユーザ・インターフェースは、ビジネス・ルール・エディタ２００を含む、適切なエディタを提供することができる。
【００６６】
[0076]  いくつかの実装例では、データ管理システム３００は、より複雑なタスクに関連するユーザ・インターフェース内で直接フィードバックを受信しながら、ユーザがより単純なタスクを実行できるようにするユーザ・インターフェースを含む。例えば、以下により詳細に記載されているように、妥当性検査のタスクは、より経験豊富なユーザによって前もって準備された妥当性検査指定を介して組み込むことができる。複数の関連タスクを容易にする単一ユーザ・インターフェースは、所望のマッピングを提供するようにトランスフォームを操作又は変更することにより、ユーザが入力データセットの要素を出力データセットの要素にマッピングできるようにする。さらに、ユーザは、トランスフォームを操作することが入力と出力とのマッピングにどのように影響するかを１つの位置で確認することができる。例えば、ユーザ・インターフェースを使用して、ユーザは、トランスフォームが意図した通りに機能するようにエラーを捕捉し修正することができる。
【００６７】
[0077]  テスト・データは、１つ又は１組のトランスフォームが意図した通りに機能するかどうかを評価するのを支援することができる。テスト・データは、例えば、１組のプロトタイプ入力及び予想出力を使用して提供することができる。
【００６８】
[0078]  いくつかの例では、ユーザはテスト・データを生成するために使用することができる実データを有する。ユーザがテストするための実データを持たないケースを処理するために、システムは、例えば、一度にレコード１つずつ、テスト・データを入力するためのデータ入力書式を提供することができる。ユーザは、入力データセット内のフィールドのそれぞれについて値をタイプ入力することができ、これらのレコードはテスト・データセットに追加される。
【００６９】
[0079]  データ管理システム３００は、トランスフォームに関する構文規則を提供することができる。構文規則は、適切にコンパイル及び／又は実行することになるトランスフォームの構造を示す。データ管理システムを操作するユーザがいずれかのトランスフォームを変更する場合、ユーザの変更は構文規則に適合しなければならない。さらに、データ管理システム３００は、トランスフォームの出力に関する妥当性検査規則を提供することができる。妥当性検査規則は、出力データセットの所望のフォーマット又はその他の特性により有効なものとして受け入れられる出力のタイプを示す。ユーザがいずれかのトランスフォームを実データ又はテスト・データに適用する場合、トランスフォームの出力は妥当性検査規則に適合しなければならない。妥当性検査規則及び構文規則は、上記の通り、ルール・セットとして提供するか、トランスフォームの出力に適用可能なその他の形の実行可能ロジックとして提供することができる。
【００７０】
[0080]  いくつかの例では、ユーザは、単一ユーザ・インターフェースで１つ又は複数のトランスフォームにアクセスすることができる。このユーザ・インターフェースは、マッピング３４０に関連するトランスフォームの一部又は全部のビューをユーザに提供する。さらに、単一インターフェースは、トランスフォームのいずれかが変更又は実行される時に、トランスフォーム並びにテスト・データに対して構文規則及び妥当性検査規則を自動的に適用することもできる。
【００７１】
[0081]  従って、このインターフェースにより、ユーザは、入力の集合がどのように評価され変形されるかを含み、マッピングが入力の集合を出力の集合にどのように関連させるかを表示することができる。
【００７２】
[0082]  図５は、必ずしも重要な専門技術を備えていない初心者ユーザ４０２によって操作可能なマッピング・ビュー・インターフェース５００の一例を示している。マッピング・ビュー・インターフェース５００は、それぞれが１つ又は複数の入力と所与の出力とのマップ済み関係を指定する行を提示する。インターフェース５００は、入力し表示し編集することができる変形式の形で表示されたトランスフォーム５０２に関する列を含む。変形式は入力データセットのフィールドにマッピングされた入力変数を指す。いかなる変形もなく入力が出力に直接マッピングされる場合、トランスフォーム列は、いずれの変形式も含まずに、単純に入力を識別することができる。いくつかの実装例では、トランスフォーム５０２は一定値を出力に直接マッピングすることができ、結果として得られる出力はいずれかの入力変数に基づいて変化しない値を有することになる。
【００７３】
[0083]  トランスフォーム５０２は、インターフェースから自動的に実行するとともに、変更し、その変更を使用して再実行することができる。初心者ユーザ４０２は、自分が生成するか又は変更するトランスフォーム５０２の出力の妥当性を保証するための専門技術を備えていない可能性があるが、マッピング・ビュー・インターフェース５００は、より経験豊富なユーザの専門技術を取り入れる追加情報を初心者ユーザ４０２に提供し、初心者ユーザ４０２による潜在的エラーから保護するための追加の安全措置も提供する。
【００７４】
[0084]  トランスフォームは、１つ又は複数のコンポーネントを含むデータフロー・グラフ１３０によって実装され得る。データフロー・グラフ１３０は、そのトランスフォームの機能を実行する実行可能コードを含む。マッピング・ビュー・インターフェース５００は、そのコードを抽出し、それを直接実行することができる。
【００７５】
[0085]  初心者ユーザ４０２がトランスフォーム５０２を変更すると、マッピング・ビュー・インターフェース５００は、その変更が受け入れ可能であるかどうかを評価するために変更済みトランスフォームに構文規則５１０を適用することができる。構文規則５１０は、トランスフォームについて有効な構造を指定する。不適切に構造化されたトランスフォームは適切に実行できない可能性がある。トランスフォームに無効な構造を与えるように初心者ユーザ４０２がトランスフォームを変更する場合、トランスフォーム・ビュー・インターフェースは、構文規則を使用して無効性を識別し、その問題をユーザに示すことになる。構文規則５１０は、トランスフォームの構造及び実行に向けられた専門技術を備えた経験豊富なユーザ４０４ｂが定義することができ、その結果、初心者ユーザ４０２はトランスフォームについて経験豊富なユーザのより優れた理解の恩恵を受けることになる。
【００７６】
[0086]  使用中は、少数の経験豊富なユーザ４０４ａ、４０４ｂ、４０４ｃが存在する可能性があるが、多数の初心者ユーザ４０２は、いずれもマッピング・ビュー・インターフェース５００のインスタンスを使用して同様のデータセットに対して機能するトランスフォームを操作する。経験豊富なユーザ４０４ａ、４０４ｂ、４０４ｃは、多くの潜在的な操作シナリオにおいて多くの潜在的な初心者ユーザが使用する構文規則及び妥当性検査規則を定義することができる。このようにして、多くの潜在的な初心者ユーザはいずれも、経験豊富なユーザの知識及び専門技術を手元に備えることになる。
【００７７】
[0087]  さらに図５を参照すると、各トランスフォーム５０２は出力名５０８に関連付けられている。出力名５０８は、データ管理システム自体が使用する変数名又は他の識別名とは対照的に、変形された出力の「実世界」の機能を表すように選択することができる。出力名５０８は、トランスフォーム５０２がデータを提供する出力データセット３２０内のフィールドに対応する。例えば、トランスフォーム５０２が飛行機利用者のデータベース向けのデータを処理する場合、出力名５０８は、航空会社、定期便、乗客識別名、又は他の実世界の概念を扱う必要があるデータベース内のフィールドを表すことができる。
【００７８】
[0088]  各トランスフォーム５０２はテスト値５０４に関連付けることもできる。ユーザは、そのトランスフォームが実行されるテスト・データ５１２を選択することができ、その結果、テスト・データは、トランスフォーム５０２用の入力データセット３１０として使用するためにフォーマットされる。テスト・データ５１２内の所与のレコード（例えば、初期レコード）に対して実行されたトランスフォームの結果はテスト値５０４として示されている。テスト・データ５１２は、初心者ユーザ４０２によるか、又は様々なテスト・シナリオを定義するための専門技術を有する経験豊富なユーザ４０４ａ、４０４ｂ、４０４ｃによって生成することができ、その結果、初心者ユーザ４０２は単純にトランスフォーム５０２を編集し、その結果を表示することができる。
【００７９】
[0089]  各トランスフォームは妥当性検査５０６に関連付けることもできる。初心者ユーザ４０２がテスト・データ５１２を使用してトランスフォームを実行する場合、マッピング・ビュー・インターフェース５００は妥当性検査規則５１４を適用して、結果として得られるテスト値５０４が有効であるかどうかを判断することができる。トランスフォーム５０２の出力は、そのフォーマット又は内容に関する制約を有する可能性があり（例えば、出力データセット３２０の特性に基づく）、妥当性検査規則５１４は、出力についてどのフォーマット又は内容が有効であるかを指定する。例えば、トランスフォームは、特定の範囲内に留まらなければならない数の形で出力を提供する場合もあれば、特定の長さであるか、辞書通りに正しく綴られているか、又はその他の特徴を備えていなければならない単語の形で出力を提供する場合もある。妥当性検査規則５１４は、出力が所定の１組の可能値のうちの１つでなければならないことを指定することができる。妥当性検査規則５１４は、出力がブランク又はヌル値に対応してはならないことを指定することができ、これは、ブランク又はヌル値を発生する出力に入力を接続するトランスフォームによって引き起こされる場合もあれば、いずれの入力にもマッピングされない出力によって引き起こされる倍もある。妥当性検査規則５１４は、種々の出力間の制約が満足されることを保証するためにマップ済み出力にまとめて適用することができる。例えば、２つの出力は個々に有効値を有する可能性があるが、その合計が所与の制約を満足しない場合もあれば、一方の出力値が有効であるかどうかの判断が他の出力の値に依存する場合もある（例えば、「育児休暇」フィールドの有効値は「性別」フィールドが男性という値を有するか又は女性という値を有するかに依存する可能性がある）。いくつかの実装例では、妥当性検査規則５１４は、２次又は外部情報源に併せて機能する可能性がある。例えば、トランスフォーム５０２を使用して、第１のフォーマットから第２のフォーマットにデータを変換することができる。妥当性検査規則は、第１のフォーマットで表されたデータに関する有効値を示し、第２のフォーマットで表されたデータに関する有効値も示す、テーブルなどのデータ構造を参照することができる。
【００８０】
[0090]  テスト値５０４が妥当性検査規則５１４によって指定されたフォーマット又は内容の制約の範囲外である場合、妥当性検査５０６はテスト値５０４に関する問題があり、従って、潜在的にトランスフォーム５０２に関する問題があることを示すことになる。経験豊富なユーザ４０４ａ、４０４ｂ、４０４ｃは、所与のデータセットを分析し、何がそのデータセットに関する有効データを構成するかを決定する方法に関する経験豊富なユーザの知識を参考にして、妥当性検査規則５１４を定義することができる。また、経験豊富なユーザは、技術的プログラミング及びデータ管理知識も参考にして、実行可能コードとして記憶し、トランスフォームの出力に適用することができる妥当性の制約を妥当性検査規則５１４に体系化することもできる。従って、マッピング・ビュー・インターフェース５００を操作する初心者ユーザ４０２は、必ずしも、テスト・データ５１２の結果として得られるテスト値５０４を注意深く調べる必要はなく、むしろ、妥当性検査５０６を頼りにして、さらに注意を払わなければならない問題が存在するかどうかを確認することができる。
【００８１】
[0091]  図６は、ユーザがマッピング・ビュー・インターフェース５００を使用してマッピング及びその関連トランスフォームを表示し操作できるようにするためにシステム３００によって使用される模範的な手順６００に関するフローチャートを示している。この手順は、６０２で、所与のトランスフォームの入力にマッピングされた入力データセットの要素（例えば、フィールド）に対応する入力データ値を提供するための１つ又は複数のレコードを含むテスト・データを取得する。次にこの手順は、６０４で、所与のトランスフォームの出力にマッピングされた出力データセットの要素に対応するデータ宛先（例えば、フィールド）を識別する。次にこの手順は、６０６で、トランスフォームの最新バージョンを含むマッピングの最新バージョンを取得する。「レコード・テスト・モード」では、この手順は入力データセットの単一テスト・レコードに妥当性検査規則を適用する。「データセット・テスト・モード」では、この手順は入力データセットの複数テスト・レコード（場合によっては、入力データセット内のすべてのレコード）に妥当性検査規則を適用する。
【００８２】
[0092]  この手順は、６０８で、トランスフォームのうちの１つ又は複数に対する変更を表す新しい入力をユーザが入力したかどうかを判断する。ユーザが新しい入力を入力していない場合、この手順は、６１０で、トランスフォームの現行バージョンをテスト・データに適用する。次にこの手順は、６１２で、トランスフォームからの出力として受信された結果のテスト値に妥当性検査規則を適用する。この手順は、６１４で、変更済みトランスフォームを表示し、６１６で、変更済みトランスフォームから結果として得られるテスト値も表示する。さらに、この手順は、６１８で、テスト値が有効であるかどうかをユーザが評価できるように、妥当性検査規則を適用した結果に基づく妥当性検査情報を表示する。その出力が妥当性検査基準を満足しない特定のトランスフォームに妥当性検査情報が関連付けられる場合、妥当性検査情報は、（例えば、妥当性検査列の対応する行内のアイコン及び／又は説明文により）そのトランスフォームに視覚的に関連付けることができる。場合によっては、妥当性検査情報は、複数のトランスフォームの無効な出力又は複数のトランスフォーム間の無効な関係に関連付けられる可能性があり、その場合、妥当性検査情報は必ずしも任意の特定のトランスフォームに関連付けられない。また、この手順は、６２０で、トランスフォームによって使用される宛先の出力名も表示する。次にこの手順は、６０８に戻り、トランスフォームを変更する新しい入力をユーザが入力したかどうかを判断する。
【００８３】
[0093]  結果的に１つ又は複数の変更済みトランスフォームが得られる新しい入力をユーザが入力した場合、この手順は、６２２で、新しい入力に基づくトランスフォームを再コンパイルするトランスフォーム・コンパイラから変更済みトランスフォームを受信し、この手順は、６２４で、変更済みトランスフォームの構文もチェックする。構文が構文規則により無効である場合、この手順は、６２５で、ユーザが新しい入力の形で構文を訂正できるようにユーザに警告する。構文が有効である場合、この手順は、６２６で、変更済みトランスフォームを受け入れ、６１０でトランスフォームをテスト・データに適用することから始めて、上記の諸ステップを続行する。レコード・テスト・モードでは、変更済みトランスフォームを再コンパイルし、テスト・レコードに適用することは、ほとんどリアルタイムで（例えば、１秒未満で）行うことができ、トランスフォームが編集されるとユーザが構文規則及び妥当性検査規則に基づくフィードバックをライブで経験することになる。データセット・テスト・モードでは、変更済みトランスフォームを再コンパイルし、テスト・レコードに適用することは、ユーザ要求に応じて開始することができる。
【００８４】
[0078]  図７Ａ〜図７Ｈは、マッピング・ビュー・インターフェース５００との様々なユーザ対話の例を示している。このインターフェースは、変形式７０２（トランスフォームのテキスト表現）、テスト値７０４、妥当性検査７１２、及び出力７０８を含む。
【００８５】
[0079]  図７Ａを参照すると、ユーザは変形式７０２を変更する。この変更によって形状不良の変形式が生成される場合、インターフェースは、供給された構文規則により感嘆符７１０が付いた形状不良の変形式を示す。
【００８６】
[0080]  図７Ｂを参照すると、構文を訂正した変更済み変形式７０２をユーザが提供したことに応じて、テスト値７０４が提供される。
【００８７】
[0081]  図７Ｃを参照すると、ユーザは、式によって変形された入力データに基づいて出力７０８用の値を計算する変形式７０２を入力する。
【００８８】
[0082]  図７Ｄを参照すると、ユーザは、複数の変形式７０２ｂ、７０２ｃのうちの１つに基づいて出力７０８用の値を計算する変形式７０２ａを入力する。
【００８９】
[0083]  図７Ｅを参照すると、ユーザは、その出力７０８用の値を計算するために他の変形式７０２ｂに依存する変形式７０２ａ入力する。
【００９０】
[0084]  図７Ｆを参照すると、ユーザは、他の変形式７０２ａが依存する変形式７０２ｂを変更する。第１の変形式の出力７０８は、それに応じて更新される。
【００９１】
[0085]  図７Ｇを参照すると、変形式７０２が構文上、正しい場合でも、妥当性検査通知７１２はその変形式の出力に関する問題を示す。
【００９２】
[0086]  図７Ｈを参照すると、ユーザはテスト・データ７０８を表示する。妥当性検査通知７１２は、変形式７０２をテスト・データに適用する場合に関する問題を示す。
【００９３】
[0087]  図８は、納税申告用紙用の値を計算するための変形式を管理するために使用されるマッピング・ビュー・インターフェース５００の実装例を表す模範的なマッピング・ビュー・インターフェース８００を示している。マッピング・ビュー・インターフェース８００は多くの行８０２ａ、８０２ｂ、８０２ｃを有し、それぞれが出力フィールド８０４（例えば、この例では納税申告用紙の行）の名前、出力フィールド８０４に対応する出力値を計算するために実行される変形式８０６、テスト・データ（例えば、図５に示されているようなテスト・データ５１２）に適用される変形式８０６の計算値８０８の形のテスト値を含む。計算値８０８の１つが妥当性検査規則（例えば、図５に示されている妥当性検査規則５１４）の１つをトリガする場合、マッピング・ビュー・インターフェース８００は計算値の近くに妥当性検査インジケータ８１０を表示して妥当性検査規則がトリガされたことを示し、ユーザは計算値を調査して、それが無効であるかどうか及び／又は関連変形式８０６を変更する必要があるかどうかを判断することができる。いくつかの実装例では、妥当性検査インジケータ８１０は計算値８０８と期待値との差を示す。例えば、変形式８０６は、前のある時点で適用されて出力値を生成している可能性がある。変形式８０６が同じ入力データに適用されると、計算値８０８は前に生成された出力値と同じになると予想することができる。いくつかの実装例では、計算値８０８の１つが構文規則（例えば、図５に示されている構文規則５１０）の１つをトリガする場合、マッピング・ビュー・インターフェース８００はシンタックスエラー・インジケータ（図示せず）を表示する。
【００９４】
[0088]  マッピング・ビュー・インターフェース５００は、１つ又は複数のデータフロー・グラフによって実行された動作シーケンスにおいて複数の時点のいずれかで変形式、出力フィールド、及び計算値を表示するために使用することができる。マッピング・ビュー・インターフェース５００は、１つ又は複数の変形式により変形されたデータの種々のフィールド内の値に関する情報を表示するために使用可能なリネージ・ダイアグラムを生成することができる。時には、データベース・ユーザは、特定のデータが種々のデータ・ソースからどのように導出されるかを調査したいと希望する場合がある。例えば、データベース・ユーザは、データセット又はデータ・オブジェクトがどのように生成されたか或いはどのソースからデータセット又はデータ・オブジェクトがインポートされたかを把握したいと希望する場合がある。データセットが導出されたソースまでデータセットを追跡することはデータ・リネージ追跡（又は「アップストリーム・データ・リネージ追跡」）と呼ばれる。時には、データベース・ユーザは、特定のデータセットがどのように使用されたか、例えば、どのアプリケーションが所与のデータセットを読み取ったかを調査したい（「ダウンストリーム・データ・リネージ追跡」又は「影響分析」と呼ばれる）と希望する場合がある。また、データベース・ユーザは、あるデータセットがどのように他のデータセットに関連するかを把握することに関心がある場合がある。例えば、ユーザは、データセットが変更される場合にどのテーブルが影響を受けるかを把握したいと希望する場合がある。
【００９５】
[0089]  図９は、（例えば、データフロー・グラフ内の種々のコンポーネントによって）適用された変形式を表すノード９０４ａ、９０４ｂ、９０４ｃ並びにアップストリーム入力テスト・データセット９０８からダウンストリーム出力データセット９１２へのアップストリーム及びダウンストリーム依存関係を表すノード同士を接続するリンク９０６を含むことを表すリネージ・ダイアグラム（lineage diagram）９００を示している。入力データセット９０８からのテスト・データは、テスト・データを処理するために使用される変形式の適用を表すノード９０４ａ、９０４ｂに提供することができ、その結果はノード９０４ｃに伝搬され、そのノードは同様に変形式を適用し、テスト・データはリネージ・ダイアグラム９００の一連のノード内のノードによってさらに変形され続ける。ユーザは、ノードのうちのいずれか１つを選択し、そのノードに関連する出力フィールド及び変形式を表示できるとともに、リンク９０６によって表された依存関係により、そのノードによって表された変形式によって処理されたデータに変形式を適用することに基づく出力フィールドの計算値も表示することができる。
【００９６】
[0090]  １つ又は複数のデータフロー・グラフが入力テスト・データセット９０８内のデータを処理している時に、リネージ・ダイアグラムを生成するために必要な情報を記憶することができる。リネージ・ダイアグラム内の各ノードは、変形式を適用した結果得られる計算式に関連付けることができる。いくつかのケースでは、ノード９０４ｄ、９０４ｅ、９０４ｆのうちの１つ又は複数は、そのノードに関連する妥当性検査規則のうちの１つ又は複数をトリガする計算値に関連付けられる。このような場合、リネージ・ダイアグラム９００は、それについて妥当性検査規則がトリガされたノード９０４ｄ、９０４ｅ、９０４ｆ上に妥当性検査インジケータ９１０ａ、９１０ｂ、９１０ｃを表示する。ユーザは、マッピング・ビュー・インターフェース５００を使用して、これらのノードのいずれかの出力フィールド、変形式、及び計算値を表示し、問題があるかどうか、例えば、変形式が無効なデータを生成するかどうかを判断することができる。いくつかのケースでは、リネージ・ダイアグラム９００は、これらのノードのうちの１つが構文規則（例えば、図５の構文規則５１０のうちの１つ）をトリガした時期に関するインジケータも表示する。
【００９７】
[0091]  また、ユーザは、リネージ・ダイアグラム９００のビューも使用して、いくつかのノードが順に妥当性検査規則をトリガしたかどうかを判断し、無効なデータなどの妥当性検査問題の初期発生源を決定することができる。この例では、インジケータ９１０ａ、９１０ｂ、９１０ｃによって示されるように、３つのノード９０４ｄ、９０４ｅ、９０４ｆのすべてが妥当性検査規則をトリガしている。ノード９０４ｄ、９０４ｅ、９０４ｆと、それに対応してノード９０４ｄからノード９０４ｅへ並びにノード９０４ｅからノード９０４ｆへのリネージ関係について、潜在的な妥当性検査問題があるかどうかを調べることができる。ノード９０４ｄ内の変形式が無効なデータを生成し、そのデータが次にノード９０４ｅ及び９０４ｆに伝搬し、これらのノードにおいて同様の妥当性検査規則もトリガすることは起こり得ることである。このような可能性を考慮すると、ユーザはまず、第１のノード９０４ｄの変形式及び計算値を表示して、それが３つのノードすべてに関する問題の発生源であるかどうかを判断することができる。
【００９８】
[0092]  図１０は、多くの出力フィールド及び計算値を直ちに表示するために使用可能なテスト結果インターフェース１０００を示している。例えば、テスト結果インターフェース１０００は、データセット・テスト・モードでテスト・データに変形式を適用した結果を表示するために使用することができる。テスト結果インターフェース１０００は、（行としての）テスト・データの複数のレコード１００４ａ、１００４ｂ、１００４ｃにそれぞれの関連変形式を適用したことを表す複数の出力フィールド１００２ａ、１００２ｂ、１００２ｃを（列見出しに）表示する。ユーザは、テスト結果インターフェース１０００を表示して、テスト・データのいずれかが任意の妥当性検査規則をトリガするかどうかを含み、テスト・データの多くのレコードに対する多くの変形式を適用した効果を確認することができる。テスト結果インターフェース１０００は、どのデータ（特定のレコード内の計算値）が妥当性検査規則をトリガし、無効になる可能性があるかを示す妥当性検査インジケータ１００６ａを表示することができる。また、テスト結果インターフェース１０００は、それぞれの列（又は行）内の少なくとも１つのデータが妥当性検査規則をトリガしたことをユーザに示すために、その列（又は行）見出しに妥当性検査インジケータ１００６ｂも表示することができる。この形式の表示は、テスト結果インターフェース１０００によって提示されたデータのビューが非常に大きい時に、ユーザが個々のデータに関する妥当性検査インジケータ１００６ａを探し出すのを支援することができる。いくつかの実装例では、テスト結果インターフェース１０００は、そのデータのうちのいくつのデータが妥当性検査規則をトリガしたか並びにいくつの異なる規則がトリガされたかなど、提示されたデータに関する統計１００８も（例えば、ヒストグラムの形で）提示する。いくつかの例では、統計１００８はテスト・データに対する変形式の種々の適用に応じて毎時又は毎日などの一定の間隔で計算され、その他の例では、統計はデータが表示される時に変形式を適用することによりリアルタイムで計算される。例えば、経験豊富なユーザ（例えば、図５の経験豊富なユーザ４０４ｂ）は、毎日、テスト結果インターフェース１０００を使用して、その日の間に他のユーザによって行われた変更によっていずれかの妥当性検査規則がトリガされたかどうかを確認することができる。
【００９９】
[0093]  図１１は、ユーザが１組の妥当性検査規則１１０４ａ、１１０４ｂ、１１０４ｃのトリガ条件１１０２ａ、１１０２ｂ、１１０２ｃを表示し変更できるようにする、妥当性検査規則インターフェース１１００を示している。いくつかの実装例では、妥当性検査規則は、例えば、本質的な情報の省略又は出力フィールドによって表された情報間の不一致など、妥当性検査規則が表すエラーのタイプを示す関連エラー・コード１１０６も有する。いくつかの実装例では、妥当性検査規則インターフェース１１００は、ユーザが妥当性検査規則のいずれかによって使用される所与の入力に関する情報１１１０にアクセスできるようにし、その結果、ユーザはこの情報を入手するために異なるインターフェースにアクセスする必要がなくなる。
【０１００】
[0094]  妥当性検査規則は、ユーザが妥当性検査規則のトリガの特定のインスタンスに関する追加情報を探す時にユーザに対して関連のカスタム・エラー・メッセージ１１０８を表示させることもできる。例えば、ユーザは妥当性検査インジケータ（例えば、図９の妥当性検査インジケータ９１０ａ）をクリックする可能性があり、その場合、ユーザ・インターフェースはその妥当性検査規則に関する適切なカスタム・エラー・メッセージ１１０８を表示することになるか、又はユーザ・インターフェースは１組のデータによってトリガされた妥当性検査規則に関連するすべてのカスタム・エラー・メッセージのリストを表示する可能性がある。いくつかの例では、経験豊富なユーザ（例えば、図５の経験豊富なユーザ４０４ｃ）は、妥当性検査規則に不慣れである可能性があり、ユーザ・インターフェースを操作している他のユーザに対して人間が読める情報を提供するためのエラー・メッセージを定義する。
【０１０１】
[0095]  上記のマッピング手法は、コンピュータ上で実行するためのソフトウェアを使用して実現することができる。例えば、このソフトウェアは、１つ又は複数のプログラムされたか又はプログラム可能なコンピュータ・システム（分散、クライアント／サーバ、又はグリッドなど、様々なアーキテクチャのものにすることができる）上で実行される１つ又は複数のコンピュータ・プログラム内の手順を形成し、それぞれのコンピュータ・システムは、少なくとも１つのプロセッサと、少なくとも１つのデータ記憶システム（揮発性及び不揮発性のメモリ及び／又は記憶素子を含む）と、少なくとも１つの入力装置又はポートと、少なくとも１つの出力装置又はポートを含む。このソフトウェアは、例えば、データフロー・グラフの設計及び構成に関連する他のサービスを提供する、より大きいプログラムの１つ又は複数のモジュールを形成することができる。このグラフのノード（「コンポーネント」と呼ばれる）及びリンク（「データ・フロー」と呼ばれる）は、コンピュータ可読媒体に記憶されたデータ構造又はデータ・リポジトリに記憶されたデータ・モデルに適合するその他の編成済みデータとして実現することができる。
【０１０２】
[0096]  このソフトウェアは、汎用又は専用プログラマブル・コンピュータによって読み取り可能であるＣＤ−ＲＯＭなどの記憶媒体上で提供するか、或いはそれが実行されるコンピュータに対しネットワークの通信媒体により配信（伝搬信号としてコード化）することができる。すべての機能は、専用コンピュータ上で、又はコプロセッサなどの専用ハードウェアを使用して、実行することができる。このソフトウェアは、ソフトウェアによって指定された計算の種々の部分が種々のコンピュータによって実行される分散方式で実現することができる。このようなコンピュータ・プログラムはそれぞれ、本明細書に記載された手順を実行するために記憶メディア又はデバイスがコンピュータ・システムによって読み取られた時にコンピュータを構成し操作するために、好ましくは、汎用又は専用プログラマブル・コンピュータによって読み取り可能な記憶メディア又はデバイス（例えば、ソリッドステート・メモリ又はメディア、或いは磁気又は光メディア）上に記憶されるか又はそれにダウンロードされる。また、本発明のシステムは、コンピュータ・プログラムとともに構成されたコンピュータ可読記憶媒体として実現されるものと見なすこともでき、このように構成された記憶媒体により、コンピュータ・システムは本明細書に記載された機能を実行するように特定かつ定義済みの方式で動作する。
【０１０３】
[0097]  本発明のいくつかの実施形態について説明してきた。それにもかかわらず、本発明の精神及び範囲を逸脱せずに様々な変更が可能であることが理解されるであろう。例えば、上記のステップのいくつかは、順序とは無関係なものにすることができ、従って、上記のものとは異なる順序で実行することができる。
【０１０４】
[0098]  上記の説明は例示のためのものであって、特許請求の範囲によって定義される本発明の範囲を限定するためのものではないことを理解されたい。例えば、上記の機能ステップのいくつかは、全体的な処理に実質的に影響を及ぼさずに異なる順序で実行することができる。その他の実施形態は以下の特許請求の範囲の範囲内である。
【図１】
2018185858.tif 000003
【図２】
2018185858.tif 000004
【図３Ａ】
2018185858.tif 000005
【図３Ｂ】
2018185858.tif 000006
【図４】
2018185858.tif 000007
【図５】
2018185858.tif 000008
【図６】
2018185858.tif 000009
【図７Ａ】
2018185858.tif 000010
【図７Ｂ】
2018185858.tif 000011
【図７Ｃ】
2018185858.tif 000012
【図７Ｄ】
2018185858.tif 000013
【図７Ｅ】
2018185858.tif 000014
【図７Ｆ】
2018185858.tif 000015
【図７Ｇ】
2018185858.tif 000016
【図７Ｈ】
2018185858.tif 000017
【図８】
2018185858.tif 000018
【図９】
2018185858.tif 000019
【図１０】
2018185858.tif 000020
【図１１】
2018185858.tif 000021
【手続補正書】
【提出日】平成30年8月15日(2018.8.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターフェースに視覚フィードバックを提示するための方法であって、前記方法は、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義し、出力データセットの要素がそれぞれのマップ済み関係の出力に対応することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することであって、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含む、生成することと、
前記出力データセットの前記対応する要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することであって、前記視覚フィードバックは、前記出力データセットの前記１つ又は複数の対応する要素に関連する前記変形式により変形された少なくとも１つの値に対する妥当性検査情報に基づく少なくとも１つのインジケータを含むことと
を含む、方法。
【請求項２】
前記マップ済み関係により、前記入力データセットから前記出力データセットに入力データをインポートすることをさらに含む、請求項１記載の方法。
【請求項３】
前記入力データをインポートすることが、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含み、前記入力レコードの少なくともいくつかのフィールドが前記入力変数にマッピングされた前記入力データセットの前記要素に対応し、前記出力レコードの少なくともいくつかのフィールドがそれぞれのマップ済み関係の出力にマッピングされた前記出力データセットの前記要素に対応する、請求項２記載の方法。
【請求項４】
前記マップ済み関係を指定するマッピングを記憶することをさらに含む、請求項１記載の方法。
【請求項５】
前記妥当性検査情報を決定することが、記憶された前記妥当性検査基準の指定を抽出することを含む、請求項１記載の方法。
【請求項６】
前記インターフェースが前記データ処理システムによって提供され、第１のユーザに提示され、前記妥当性検査基準の前記指定が第２のユーザから受信される、請求項５記載の方法。
【請求項７】
前記生成された出力データを表す値を前記インターフェースに提示することをさらに含む、請求項１記載の方法。
【請求項８】
前記妥当性検査情報を決定することが、変形中のマップ済み関係の出力にマッピングされた前記出力データセットの前記対応する要素に関連する前記妥当性検査基準に基づいて、変形式を含むそれぞれの変形中のマップ済み関係について生成された出力データを評価することを含む、請求項１記載の方法。
【請求項９】
前記マップ済み関係が、変形式を含む複数の変形中のマップ済み関係を含む、請求項１記載の方法。
【請求項１０】
前記妥当性検査基準が、第１の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第１の対応する要素に関連する第１の妥当性検査基準と、第２の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第２の対応する要素に関連する第２の妥当性検査基準とを含む、請求項１記載の方法。
【請求項１１】
妥当性検査情報が、前記第１の対応する要素に対応する第１のフィールドと、前記第２の対応する要素に対応する第２のフィールドとを含む、生成された出力レコードに応じて決定される、請求項１０記載の方法。
【請求項１２】
前記第１の妥当性検査基準が前記出力レコードの前記第２のフィールド内の値に依存する、請求項１１記載の方法。
【請求項１３】
前記妥当性検査情報が、前記出力レコードの前記第１のフィールド内の値と、前記出力レコードの前記第２のフィールド内の値に依存する、請求項１１記載の方法。
【請求項１４】
変形式について有効な構造を示す構文情報を決定することをさらに含む、請求項１記載の方法。
【請求項１５】
前記決定された構文情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項１４記載の方法。
【請求項１６】
前記変形式に対するユーザから受信した変更に基づいて第２変形式を受け入れることをさらに含む、請求項１記載の方法。
【請求項１７】
前記入力データセットからの前記入力データに基づいて、第２変形式により前記データ処理システムから第２出力データを生成することをさらに含む、請求項１６記載の方法。
【請求項１８】
生成された第２出力データに応じて第２妥当性検査情報を決定し、前記第２妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項１７記載の方法。
【請求項１９】
前記決定された第２妥当性検査情報に基づいて前記視覚フィードバックを提示することが、前記変形式が前記第２の変形式へと変更されている間に行われる、請求項１８記載の方法。
【請求項２０】
インターフェースに視覚フィードバックを提示するためのシステムであって、前記システムが、
入力データセットを記憶する入力データ記憶システムと、
出力データセットを記憶する出力データ記憶システムと、
ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供するように構成されたデータ処理システムであって、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義し、出力データセットの要素がそれぞれのマップ済み関係の出力に対応することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することであって、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含む、生成することと、
前記出力データセットの前記対応する要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することであって、前記視覚フィードバックは、前記出力データセットの前記１つ又は複数の対応する要素に関連する前記変形式により変形された少なくとも１つの値に対する妥当性検査情報に基づく少なくとも１つのインジケータを含むことを含む、データ処理システムと
を含む、システム。
【請求項２１】
前記マップ済み関係を指定するマッピングを記憶することをさらに含む、請求項２０記載のシステム。
【請求項２２】
前記妥当性検査情報を決定することが、記憶された前記妥当性検査基準の指定を抽出することを含む、請求項２０記載のシステム。
【請求項２３】
前記インターフェースが前記データ処理システムによって提供され、第１のユーザに提示され、前記妥当性検査基準の前記指定が第２のユーザから受信される、請求項２２記載のシステム。
【請求項２４】
前記生成された出力データを表す値を前記インターフェースに提示することをさらに含む、請求項２０記載のシステム。
【請求項２５】
前記妥当性検査情報を決定することが、変形中のマップ済み関係の前記出力にマッピングされた前記出力データセットの前記対応する要素に関連する前記妥当性検査基準に基づいて、変形式を含むそれぞれの前記変形中のマップ済み関係について生成された出力データを評価することを含む、請求項２０記載のシステム。
【請求項２６】
前記マップ済み関係が、変形式を含む複数の変形中のマップ済み関係を含む、請求項２０記載のシステム。
【請求項２７】
前記妥当性検査基準が、第１の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第１の対応する要素に関連する第１の妥当性検査基準と、第２の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第２の対応する要素に関連する第２の妥当性検査基準とを含む、請求項２０記載のシステム。
【請求項２８】
前記変形式に対するユーザから受信した変更に基づいて第２変形式を受け入れることをさらに含む、請求項２０記載のシステム。
【請求項２９】
前記入力データセットからの前記入力データに基づいて、第２変形式により前記データ処理システムから第２出力データを生成することをさらに含む、請求項２８記載のシステム。
【請求項３０】
生成された変更済み第２出力データに応じて第２妥当性検査情報を決定し、前記第２妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項２９記載のシステム。
【請求項３１】
前記決定された第２妥当性検査情報に基づいて前記視覚フィードバックを提示することが、前記変形式が前記第２の変形式へと変更されている間に行われる、請求項３０記載のシステム。
【請求項３２】
インターフェースに視覚フィードバックを提示するためのコンピュータ・プログラムを記憶するコンピュータ可読記憶装置であって、前記コンピュータ・プログラムはコンピュータに以下の動作を実行させるための命令を含み、前記動作は、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義し、出力データセットの要素がそれぞれのマップ済み関係の出力に対応することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することであって、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含む、生成することと、
前記出力データセットの前記対応する要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することであって、前記視覚フィードバックは、前記出力データセットの前記１つ又は複数の対応する要素に関連する前記変形式により変形された少なくとも１つの値に対する妥当性検査情報に基づく少なくとも１つのインジケータを含むことと、
を含む、コンピュータ可読記憶装置。
【請求項３３】
前記マップ済み関係を指定するマッピングを記憶することをさらに含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項３４】
前記妥当性検査情報を決定することが、記憶された前記妥当性検査基準の指定を抽出することを含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項３５】
前記インターフェースが前記データ処理システムによって提供され、第１のユーザに提示され、前記妥当性検査基準の前記指定が第２のユーザから受信される、請求項３４記載のコンピュータ可読記憶装置。
【請求項３６】
前記生成された出力データを表す値を前記インターフェースに提示することをさらに含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項３７】
前記妥当性検査情報を決定することが、変形中のマップ済み関係の出力にマッピングされた前記出力データセットの前記対応する要素に関連する前記妥当性検査基準に基づいて、変形式を含むそれぞれの変形中のマップ済み関係について生成された出力データを評価することを含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項３８】
前記マップ済み関係が、変形式を含む複数の変形中のマップ済み関係を含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項３９】
前記妥当性検査基準が、第１の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第１の対応する要素に関連する第１の妥当性検査基準と、第２の前記対応する要素に関連する有効値の１つ又は複数の特性を定義する前記出力データセットの前記第２の対応する要素に関連する第２の妥当性検査基準とを含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項４０】
前記変形式に対するユーザから受信した変更に基づいて第２変形式を受け入れることをさらに含む、請求項３２記載のコンピュータ可読記憶装置。
【請求項４１】
前記入力データセットからの前記入力データに基づいて、第２変形式により前記データ処理システムから第２出力データを生成することをさらに含む、請求項４０記載のコンピュータ可読記憶装置。
【請求項４２】
生成された第２出力データに応じて第２妥当性検査情報を決定し、前記第２妥当性検査情報に基づいて視覚フィードバックを前記インターフェースに提示することをさらに含む、請求項４１記載のコンピュータ可読記憶装置。
【請求項４３】
前記決定された第２妥当性検査情報に基づいて前記視覚フィードバックを提示することが、前記変形式が前記第２の変形式へと変更されている間に行われる、請求項４２記載のコンピュータ可読記憶装置。
【請求項４４】
インターフェースに視覚フィードバックを提示するためのシステムであって、前記システムは、
入力データセットを記憶する手段と、
出力データセットを記憶する手段と、
ユーザ入力を受信し、データ処理の結果を提示するためのインターフェースを提供する手段であって、
所与の出力と、入力変数によって表された１つ又は複数の入力との間の１つ又は複数のマップ済み関係を受信することであって、前記マップ済み関係のうちの少なくとも１つがデータ処理システム上で実行可能な変形式を含み、前記変形式が入力データセットの要素にマッピングされた少なくとも１つの入力変数に基づいてマップ済み関係の出力を定義し、出力データセットの要素がそれぞれのマップ済み関係の出力に対応することと、
前記入力変数にマッピングされた前記入力データセットの前記要素に関連する前記入力データセットからの入力データに基づいて、前記変形式により前記データ処理システムから出力データを生成することであって、前記入力データセットの入力レコードのそれぞれのフィールド内の入力値に前記変形式を適用し、前記出力データセットの出力レコードのそれぞれのフィールドに出力値を記憶することを含む、生成することと、
前記出力データセットの前記対応する要素のうちの１つ又は複数に関連する有効値の１つ又は複数の特性を定義する妥当性検査基準に基づいて、前記生成された出力データに応じて妥当性検査情報を決定することと、
前記決定された妥当性検査情報に基づいて前記視覚フィードバックを前記インターフェースに提示することであって、前記視覚フィードバックは、前記出力データセットの前記１つ又は複数の対応する要素に関連する前記変形式により変形された少なくとも１つの値に対する妥当性検査情報に基づく少なくとも１つのインジケータを含むことを含む、データ処理システムと
を含む手段と、を含むシステム。
【外国語明細書】
2018185858000001.pdf