(57)【要約】  論理的規則を指定するための、コンピュータ記憶媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置であり、各方法のうちの１つの方法は、項目に基づいて動作を適用する論理的規則を定義することを含む。この方法は、複数のフィールドと複数の項目の間のマッピングを定義することを含み、このマッピングは、１つのフィールドと１つの項目との間のマッピングを含む。この方法は、項目に関連づけられた論理的規則を記憶することを含む。この方法はまた、それぞれのフィールドがそれぞれの項目に割り当てられた第１のフィールドによって識別されたデータに、論理的規則を適用することを含む。
2017509971.tif 000002
【特許請求の範囲】
【請求項１】
論理的規則を指定するためのコンピュータ実施方法であって、
論理的規則を受信することであって、前記論理的規則が１つまたは複数の動作を指定し、前記動作のうちの少なくとも１つが項目に割り当てられた値に適用されることと、
前記項目に関連づけられた前記論理的規則を記憶することと、
複数のフィールドと複数の項目の間のマッピングを定義することであって、前記マッピングが、１つのフィールドと１つの項目との間のマッピングを含むことと、
それぞれのフィールドがそれぞれの項目に割り当てられる第１のフィールドによって識別されたデータに前記論理的規則を適用することと
を含む方法。
【請求項２】
前記論理的規則がさらに、第２の項目に基づいて動作を適用し、前記マッピングがさらに、第２のフィールドと前記第２の項目の間のマッピングを含む、請求項１に記載の方法。
【請求項３】
前記論理的規則が、１つまたは複数の妥当性検査試験を含み、前記１つまたは複数の妥当性検査試験のうちの第１の妥当性検査試験の前記項目への適用が前記第２の項目に基づく、請求項２に記載の方法。
【請求項４】
データセット内のフィールドと、対応する項目との間のマッピングを記憶することをさらに含む、請求項１に記載の方法。
【請求項５】
前記項目と前記フィールドの間のマッピングに基づいて前記論理的規則を選択することをさらに含む、請求項１に記載の方法。
【請求項６】
前記項目と前記フィールドの間の前記マッピングに基づいて潜在的に可能な論理的規則のリストを示すことをさらに含む、請求項１に記載の方法。
【請求項７】
コンピュータプログラム命令で符号化されたコンピュータ記憶媒体であって、前記コンピュータプログラム命令は１つまたは複数のコンピュータによって実行されたときに、
論理的規則を受信することであって、前記論理的規則が１つまたは複数の動作を指定し、前記動作のうちの少なくとも１つが項目に割り当てられた値に適用されることと、
前記項目に関連づけられた前記論理的規則を記憶することと、
複数のフィールドと複数の項目の間のマッピングを定義することであって、前記マッピングが、１つのフィールドと１つの項目との間のマッピングを含むことと、
それぞれのフィールドがそれぞれの項目に割り当てられる第１のフィールドによって識別されたデータに前記論理的規則を適用することと
を含む動作を、前記１つまたは複数のコンピュータに実行させる、コンピュータ記憶媒体。
【請求項８】
前記論理的規則がさらに、第２の項目に基づいて動作を適用し、前記マッピングがさらに、第２のフィールドと前記第２の項目の間のマッピングを含む、請求項７に記載の媒体。
【請求項９】
前記論理的規則が、１つまたは複数の妥当性検査試験を含み、前記１つまたは複数の妥当性検査試験のうちの第１の妥当性検査試験の前記項目への適用が前記第２の項目に基づく、請求項８に記載の媒体。
【請求項１０】
データセット内の各フィールドと、それに対応する項目との間のマッピングを記憶することをさらに含む、請求項７に記載の媒体。
【請求項１１】
前記項目と前記フィールドの間のマッピングに基づいて前記論理的規則を選択することをさらに含む、請求項７に記載の媒体。
【請求項１２】
前記項目と前記フィールドの間の前記マッピングに基づいて潜在的に可能な論理的規則のリストを示すことをさらに含む、請求項７に記載の媒体。
【請求項１３】
１つまたは複数のコンピュータと、
前記１つまたは複数のコンピュータによって実行されると、
論理的規則を受信することであって、前記論理的規則が１つまたは複数の動作を指定し、前記動作のうちの少なくとも１つが項目に割り当てられた値に適用されること、
前記項目に関連づけられた前記論理的規則を記憶すること、
複数のフィールドと複数の項目の間のマッピングを定義することであって、前記マッピングが、１つのフィールドと１つの項目との間のマッピングを含むこと、および
それぞれのフィールドがそれぞれの項目に割り当てられる第１のフィールドによって識別されたデータに前記論理的規則を適用することを含む動作を、前記１つまたは複数のコンピュータが実行できるようにするよう動作可能である命令を記憶する、１つまたは複数の記憶装置と
を備えるシステム。
【請求項１４】
前記論理的規則がさらに、第２の項目に基づいて動作を適用し、前記マッピングがさらに、第２のフィールドと前記第２の項目の間のマッピングを含む、請求項１３に記載のシステム。
【請求項１５】
前記論理的規則が、１つまたは複数の妥当性検査試験を含み、前記１つまたは複数の妥当性検査試験のうちの第１の妥当性検査試験の前記項目への適用が前記第２の項目に基づく、請求項１４に記載のシステム。
【請求項１６】
データセット内の各フィールドと、それに対応する項目との間のマッピングを記憶することをさらに含む、請求項１３に記載のシステム。
【請求項１７】
前記項目と前記フィールドの間のマッピングに基づいて前記論理的規則を選択することをさらに含む、請求項１３に記載のシステム。
【請求項１８】
前記項目と前記フィールドの間の前記マッピングに基づいて潜在的に可能な論理的規則のリストを示すことをさらに含む、請求項１３に記載の媒体。
【請求項１９】
論理的規則を受信するための手段であって、前記論理的規則が１つまたは複数の動作を指定し、前記動作のうちの少なくとも１つが項目に割り当てられた値に適用される手段と、
前記項目に関連づけられた前記論理的規則を記憶するための手段と、
複数のフィールドと複数の項目の間のマッピングを定義するための手段であって、前記マッピングが、１つのフィールドと１つの項目との間のマッピングを含む手段と、
それぞれのフィールドがそれぞれの項目に割り当てられる第１のフィールドによって識別されたデータに前記論理的規則を適用するための手段と
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、データへの規則の指定および適用に関する。
【背景技術】
【０００２】
業務アプリケーションを含め、現代の数多くのアプリケーションでは、データの大規模なセット（すなわち「データセット」）を処理し、これらを様々なソースからコンパイルすることができる。データセットにデータを供給する様々なソースは、様々なレベルのデータ品質を有することがある。アプリケーションが確実に適切に機能するように、データセットでの適切なレベルのデータ品質を監視および／または維持しなければならない。適切なレベルのデータ品質を監視または維持するために、データ妥当性検査システムによってデータセットを処理することができる。このようなシステムが、妥当性検査規則をデータセットに適用した後に、このデータセットがアプリケーションに提供される。例によっては、データ妥当性検査システムは、妥当性検査規則の結果を使用して、データ品質の測定値を計算し、データ品質の測定値が所定の閾値を下回っている場合にはプリケーションの管理者に警告する。他の例では、データ妥当性検査システムは、妥当性検査規則のうちの１つまたは複数の規則から外れるデータを取り扱うためのモジュールを備える。たとえば、データ妥当性検査システムは、妥当性検査規則のうちの１つまたは複数の規則から外れるデータを破棄または修復することができる。
【０００３】
一般に、データ妥当性検査システムによって適用される妥当性検査規則は、データ妥当性検査システムのユーザまたは管理者によって定義される。
【発明の概要】
【０００４】
一般に、本明細書に記載された主題の革新的な一態様は、論理的規則を受信する動作を含む方法で実施することができ、この論理的規則は、１つまたは複数の動作を指定し、これら動作のうちの少なくとも１つの動作が、ある項目に割り当てられた値に適用される。これらの方法は、その項目に関連した論理的規則を記憶する動作を含む。これらの方法は、複数のフィールドと複数の項目の間のマッピングを定義する動作を含み、このマッピングは、１つのフィールドと１つの項目との間のマッピングを含む。これらの方法はまた、それぞれのフィールドがそれぞれの項目に割り当てられた第１のフィールドによって識別されたデータに、論理的規則を適用する動作を含む。
【０００５】
この態様の他の実施形態は、対応するコンピュータシステム、装置、および１つまたは複数のコンピュータ記憶装置上に記録されたコンピュータプログラムを含み、それぞれが、これらの方法の動作を実行するように構成されている。１つまたは複数のコンピュータのシステムは、このシステムに組み込まれたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せを有することによって特定の動作を実行するように構成することができ、動作に際して、これらによってシステムが動作を実行するようになる。１つまたは複数のコンピュータプログラムは、データ処理装置によって実行されると、その装置が動作を実行できるようにする命令を含むことによって、特定の動作を実行するよう構成することができる。
【０００６】
上記その他の実施形態はそれぞれ、任意選択により、以下の特徴のうちの１つまたは複数を単独または組み合わせて含むことができる。論理的規則はさらに、第２の項目に基づいて動作をさらに実行してもよく、マッピングはさらに、第２のフィールドと第２の項目の間のマッピングを含む。論理的規則は、１つまたは複数の妥当性検査試験を含み、この１つまたは複数の妥当性検査試験のうちの第１の妥当性検査試験の項目への適用が、第２の項目に基づく。方法はさらに、データセット内の各フィールドと、それに対応する項目との間のマッピングを記憶する動作を含んでもよい。方法はさらに、項目とフィールドの間のマッピングに基づいて論理的規則を選択する動作を含んでもよい。方法はさらに、項目とフィールドの間のマッピングに基づいて、潜在的に可能な論理的規則のリストを示す動作を含んでもよい。
【０００７】
開示されたシステムの態様は、以下の例示的な利点のうちの１つまたは複数を有することができる。ユーザインターフェースによって、ビジネスユーザが妥当性検査規則を識別できるようにすることが可能である。論理的規則は、柔軟なやり方でビジネス項目と関連づけることができる。データセット内の各フィールドも、柔軟なやり方でビジネス項目と関連づけることができる。デフォルトの妥当性検査規則は、これらの関連づけに基づいて決定することができる。論理的規則は、特定用途向けの妥当性検査規則を生成するのに費やされる時間を短縮し、データセットを妥当性検査するのに費やされる時間を短縮することができ、妥当性検査規則の複数使用にわたって一貫性を実現することができ、通常はモジュラプログラミングに関連する他の利点とともに、妥当性検査規則自体の品質をさらに改善する。無効データによってアプリケーションの性能が落ちることがあるので、データセットを事前に妥当性検査することで、そのデータセットを使用するアプリケーションの性能を向上させることができる。妥当性検査規則をモジュール化することで、そうした規則を開発し、試験し、生産に移すためのワークフローを企業が開発できるようにすることが可能である。さらに、そうした妥当性検査規則は、改善され、変更されるとき、一箇所で変更することができ、したがって、こうした規則の保守性が改善される。一貫した規則が、データ品質を改善することができる。
【０００８】
本発明の他の特徴および利点は、以下の説明および特許請求の範囲から明白になろう。
【図面の簡単な説明】
【０００９】
【図１】データを妥当性検査するための妥当性検査規則を指定するための、システムのブロック図である。
【図２】データを妥当性検査するための論理的規則を指定するための、ユーザインターフェースの一例を示す図である。
【図３Ａ】論理的規則を作成する例を示す図である。
【図３Ｂ】論理的規則を作成する例を示す図である。
【図４】論理的規則をフィールドに割り当てるための例示的なユーザインターフェースを示す図である。
【図５】データセット内のフィールドをビジネス項目にマッピングする様子を示す概念図である。
【発明を実施するための形態】
【００１０】
データ処理システムは、様々なソースからのデータを受け付け、このデータに基づいて出力を生成する。このシステムによって処理されるデータは、異常、誤り、または問題点を含んでいることがある。これらのデータ品質問題は、たとえば、キー入力誤りなど不正確な入力に起因する誤り、データ破壊などのマシン故障、およびデータの符号化の不正確な識別など変換誤りに起因する誤りが原因となることがある。誤りはまた、紛失したデータまたは報告されなかったデータ、不適切にフォーマットされたデータ、データ使用側でのデータ誤解釈につながるデータ供給側での仕様変更、データとの不整合につながる参照コードセットでの誤り、同期問題（たとえば、新規の基準データが時間通りに出現せず、ソースデータが相対的に古い基準データと一致しない）、新規のコード値の導入などが原因となることがある。一般に、データ品質システムの目標は、時にはデータ改善プログラム（データ品質問題点の数が、時間とともに円滑に減少するよう設計されたプログラム）の一部分として、測定する必要のあるデータ内の問題点を検出することである。
【００１１】
データ妥当性検査が、データ品質を測定するプロセスである。一般に、データソースに対して１つまたは複数のデータ妥当性検査試験が実行される。データの品質が定量化され、必要ならば、データの品質を改善するための処置をとることができる。
【００１２】
ユーザインターフェースは、妥当性検査規則を作成するプロセスを簡略化することができる。一般に、妥当性検査規則は、１つまたは複数の妥当性検査試験のセットであり、これをデータに適用して、データ品質を決定することができる。たとえば、妥当性検査規則は、データのフィールドが特定のデータタイプなのかどうか判定する妥当性検査試験、およびデータのフィールドが特定のサイズなのかどうか判定する妥当性検査試験を含んでもよい。１つの有用な比較基準は、論理的規則を編集し、コンパイルするためのシステムであり、これが２００７年４月１０日出願の「ＥＤＩＴＩＮＧ  ＡＮＤ  ＣＯＭＰＩＬＩＮＧ  ＬＯＧＩＣＡＬ  ＲＵＬＥＳ」と題する米国特許第８，０６９，１２９号に記載されており、その内容は、特にコラム６〜２１を参考として組み込まれる。本明細書に記載のシステム、方法、および媒体は、従来技術に勝る以下の利点のうち少なくともいくつかを有する。ユーザインターフェースによって、ビジネスユーザが妥当性検査規則を識別できるようにすることが可能である。論理的規則は、ビジネス項目と関連づけることができる。データセット内の各フィールドも、ビジネス項目と関連づけることができる。デフォルトの妥当性検査規則は、これらの関連づけに基づいて決定することができる。論理的規則により、データセットを妥当性検査するのに費やす時間を短縮することができる。データセットを妥当性検査することで、そのデータセットを使用するアプリケーションの性能を向上させることができる。別の有用な比較基準は、規則を指定し、その規則をデータに適用するためのシステムであり、これが２０１２年１０月１７日出願の「ＳＰＥＣＩＦＹＩＮＧ  ＡＮＤ  ＡＰＰＬＹＩＮＧ  ＲＵＬＥＳ  ＴＯ  ＤＡＴＡ」と題する米国特許出願第１３／６５３，９９５号に記載されている。ビジネス項目は、データに組み込まれている概念を表す。たとえば、「ｃｕｓｔ＿ｔｂ１」と名前のついたリレーショナルデータベースの表は、「ｐｈｏｎｅ＿ｎｏ」と名前のついたフィールドを含んでもよい。ある値を「ｐｈｏｎｅ＿ｎｏ」フィールド内に有する「ｃｕｓｔ＿ｔｂ１」内の行は、その特定の電話番号をもつ顧客が存在することを表す。この例では、「顧客」は、少なくとも「ｃｕｓｔ＿ｔｂ１」に組み込まれたビジネス項目であり、「電話番号」は、「ｐｈｏｎｅ＿ｎｏ」フィールドに組み込まれたビジネス項目である。妥当性検査規則は、ビジネス項目および概念を使用して構成することができ、続いてデータに適用することができる。このようにして、ビジネスユーザは、コンピュータ専門家の支援をほとんどまたは全く借りることなく、論理的規則を構成することができる。
【００１３】
一般に、システム、たとえば図１に示すシステムを使用して、論理的妥当性検査規則を指定することができる。図２には、ユーザインターフェースの一例が示してあり、これを使用して論理的妥当性検査規則を指定することができる。図３Ａおよび３Ｂには、論理的規則の具体例が示してある。図３Ａには、もっぱらビジネス項目に関連して生成される論理的妥当性検査規則が示してある。図３Ｂには、データセット内のデータを使用して生成され、次いで論理的規則へと一般化される、論理的妥当性検査規則が示してある。図３Ｂにはさらに、論理的妥当性検査規則を作成している間の、データセットからの試験データが表示してある。論理的妥当性検査規則が定義されると、この規則を様々なデータセットに適用することができる。図４には、論理的妥当性検査規則をデータセットに適用するための例示的なユーザインターフェースが示してある。実装形態によっては、データセット内のフィールドをビジネス項目にマッピングしてもよく、その結果、論理的妥当性検査規則をコンピュータシステムによって自動的に選択してもよい。図５は、データセット内のフィールドがビジネス項目にどのようにマッピングできるのかの概念図である。
【００１４】
図１には、妥当性検査技法を使用することのできる例示的なデータ処理システム１００が示してある。システム１００は、データソース１０２を含む。データソース１０２は、記憶装置またはオンラインデータストリームへの接続など、１つまたは複数のデータのソースを含むことができ、そのそれぞれが、様々な記憶フォーマット（たとえば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、またはメインフレームが使用するネイティブフォーマット）のうち任意のフォーマットで、データ（「データセット」と呼ばれることもある）を記憶することができる。
【００１５】
実行環境１０４は、ＵＮＩＸ（登録商標）など適切なオペレーティングシステムの制御下で、１つまたは複数の汎用コンピュータ上にホスティングすることができる。たとえば、実行環境１０４は、複数ノードの並列コンピューティング環境を含むことができ、これは、複数の中央処理装置（ＣＰＵ）、ローカルプロセッサ（たとえば、ＳＭＰコンピュータなどのマルチプロセッサシステム）もしくはローカル分散プロセッサ（たとえば、クラスタもしくはＭＰＰとして結合されたマルチプロセッサ）、遠隔プロセッサもしくは遠隔分散プロセッサ（たとえば、ローカルエリアネットワーク（ＬＡＮ）および／もしくは広域ネットワーク（ＷＡＮ）を介して結合されたマルチプロセッサ）、またはその任意の組合せを使用するコンピュータシステムの構成を含むことができる。
【００１６】
この実行環境は、ユーザインターフェース（ＵＩ）モジュール１０６および処理モジュール１０８を備える。ＵＩモジュール１０６は、ユーザインターフェース１１２ａ（たとえば、表示画面上のグラフィカルな図）を介してユーザ１１０ａから受信した入力を管理し、この入力は、論理的規則を指定するのに利用される。論理的規則は、たとえば、ビジネス項目について定義される妥当性検査規則でもよい。論理的規則を処理モジュール１０８が使用して、データソース１０２からのデータを処理することができる。ＵＩモジュール１０６はまた、ユーザインターフェース１１２ｂを介してユーザ１１０ｂから受信される入力を管理することができ、この入力は、データセット内のフィールドを、識別されたビジネス項目にマッピングするのに利用される。
【００１７】
処理モジュール１０８は、データソース１０２からのデータを読み取り、ＵＩモジュール１０６が取得した妥当性検査情報に基づいて妥当性検査手順を実行する。データソース１０２を設ける記憶装置は、実行環境１０４に対してローカルとすることができ、これは、たとえば実行環境１０４を実行するコンピュータに接続された記憶媒体（たとえばハードドライブ１１４）に記憶することができる。別法として、またはさらに、記憶装置は、実行環境１０４に対して遠隔とすることができ、これは、たとえば実行環境１０４を実行するコンピュータと遠隔接続を介して通信する遠隔システム（たとえばメインフレーム１１６）にホスティングすることができる。
【００１８】
一般に、データソース１０２からアクセスされるデータセットは、いくつかのデータ要素を含み、この要素は、所定のレコード構造に従ってフォーマット化されたレコード、すなわちデータベーステーブル内の各行とすることができる。各データ要素は、いくつかのフィールドについての値、たとえば、レコード構造内すなわちデータベーステーブルでの各列内で定義される属性を含むことができ、これらは、場合によってはヌル値または空の値である。フィールド内の値の様々な特性、またはあるフィールドでの値の有無を、有効または無効とみなすことができる。たとえば、文字列「Ｓｍｉｔｈ」を含む「ｌａｓｔ＿ｎａｍｅ」フィールドは有効とみなしてもよく、空白の「ｌａｓｔ＿ｎａｍｅ」フィールドは無効とみなしてもよい。フィールドが有効か無効か判定する条件は、フィールドが異なれば違っていてもよい。たとえば、文字列「Ｒａｎｄｏｌｆ」を含む「ｍｉｄｄｌｅ＿ｎａｍｅ」フィールドは有効とみなしてもよく、空白の「ｍｉｄｄｌｅ＿ｎａｍｅ」フィールドも有効とみなしてよい。
【００１９】
一般に、データセット内のフィールドは、論理的規則の物理表現を示すことができる。たとえば、「顧客」データセットでの「ｆｉｒｓｔ＿ｎａｍｅ」フィールド（たとえば、リレーショナルデータベースに記憶された可変長の文字列でもよい）は、顧客の名であり、したがってビジネス項目「名」に関連づけられているデータを含んでもよい。すなわち、顧客データセットのデータ要素の「ｆｉｒｓｔ＿ｎａｍｅ」フィールドでの文字列「Ｊｏｈｎ」は、「Ｊｏｈｎ」という名前のビジネス顧客の存在を表す。他のデータセットは、様々な方式で同じビジネス概念を表してもよい。たとえば、第２のデータセットは、フィールド「ｆｎａｍｅ」を含むことができ、これもビジネス項目「名」に対応してよい。
【００２０】
ビジネス項目について、論理的規則を定義することができる。たとえば、妥当性検査規則は、ビジネス項目「名」に関連づけられたフィールドが英字列であることを妥当性検査するように構成することができる。次いで、論理的規則を使用して、「ｆｉｒｓｔ＿ｎａｍｅ」フィールドおよび「ｆｎａｍｅ」フィールドを妥当性検査してもよい。
【００２１】
データセットがかなりの数の無効フィールドを含む場合、データソース１０２からのデータセットを利用するアプリケーションの性能に悪影響が及ぶことがある。処理モジュール１０８は、データ妥当性検査規則をデータセットに適用する工程を含むデータ妥当性検査手順を実行して、このデータセットが品質制約条件を確実に満たすようにする。データセットの品質が品質制約条件を満たしていない場合、データ処理システム１００がシステム管理者に警告する。構成によっては、処理モジュール１０８は、可能なら無効データを修復するよう、または様々なデータクレンジング手順を実行して、クレンジングされたデータ要素のデータセットを生成するよう構成することができる。処理モジュール１０８は、レポートを生成できる元になる無効データを含むフィールドのリストを生成するよう構成することができる。これらのレポートは、フィールドのリスト内の各フィールドのうち１つまたは複数のフィールドについての無効データを含むレコードのカウントを含むことができる。これらのレポートは、フィールドのリストから計算された無効フィールドの集合を含むこともできる。
【００２２】
一般に、様々なアプリケーションが、様々なタイプのデータを処理する。したがって、アプリケーションに応じて、データセットの各要素が、様々なフィールドを含むことができる。ＵＩモジュール１０６がユーザインターフェース１１２を設け、このユーザインターフェースによって、妥当性検査規則のセットを指定し、これを使用してデータセットを妥当性検査できるようになる。ユーザインターフェース１１２は、特定のデータ要素構造の複数のフィールド（実装形態によっては、利用可能な全てのフィールド）を含む単一ビューを提示することができる。したがって、所与のアプリケーションに対して、ユーザ１１０（たとえばシステム管理者）は、データについての適切な妥当性検査規則を指定することができる。
【００２３】
図２は、論理的規則を指定してデータを妥当性検査するための、ユーザインターフェース１１２の一例である。ユーザインターフェース１１２は、ユーザ１１０が、１つまたは複数の論理的規則を容易に指定して妥当性を確認するように構成される。この例では、論理的規則は、１つまたは複数の妥当性検査試験を含んでもよく、この妥当性検査試験のそれぞれは、別の妥当性検査規則の適用が必要となる場合がある。妥当性検査試験および対応する規則のそれぞれを、ビジネス項目に適用することができる。
【００２４】
ＵＩモジュール１０６は、ユーザインターフェース１１２を提供する。ユーザインターフェース１１２は、たとえばコンピュータモニタ上に表示してもよい。ユーザインターフェース１１２は、第１の軸２２６および第２の軸２２８を有する２次元グリッド２２５に配置された、いくつかのセル２２４を含む。セル２２４の１つまたは複数のサブセット２３０（詳細説明のこれ以降では、行２３０と呼ぶ）は、２次元グリッド２２５の第１の軸２２６に沿った方向に拡張する。行２３０のそれぞれは、フィールド２１８に関連している。構成によっては、行２３０のそれぞれの第１の（すなわち左端の）セルは、行２３０に関連づけられたビジネス項目２１８の名前を含む。この例では、各行の第１のセルは、ビジネス項目名「項目１」、「項目２」、．．．「項目Ｍ」を含む。
【００２５】
セル２２４の複数のサブセット２３２（詳細説明のこれ以降では、列２３２と呼ぶ）は、第２の軸２２８に沿って拡張する。列２３２のうち１つまたは複数の列は、妥当性検査規則２３４に関連している。列２３２は、（行によって識別される）ビジネス項目に関連づけられた妥当性検査規則が適用される下となる環境を識別する、「条件」の列２５０を含むことができる。例によっては、残りの列２３２のそれぞれの第１の（すなわち最上部の）セルは、この列に関連する妥当性検査規則２３４の名前を含む。この例では、妥当性検査規則名は、「妥当性検査規則１」、「妥当性検査規則２」、．．．「妥当性検査規則Ｎ」である。例によっては、第１の軸２２６の方向と第２の軸２２８の方向とを入れ替えることができ、それにより、フィールド２１８に関連する行２３０が列になり、妥当性検査規則２３４に関連する列２３２が行になることに留意されたい。
【００２６】
１つまたは複数の妥当性検査規則の列２３２が２次元グリッド２２５に追加された後、ユーザ１１０は、どの妥当性検査規則２３４をどのビジネス項目２１８に適用すべきか指定することができる。所与の妥当性検査規則２３４を所与のビジネス項目２１８に適用すべきであると指定するには、ユーザ１１０はまず、所与のビジネス項目２１８に関連する行２３０が、所与の妥当性検査規則２３４に関連する列２３２と交わるセル２２４を選択する。次いで、ユーザ１１０は、選択されたセル２２４の入力要素（たとえば、テキストフィールドまたはチェックボックス）に、１つまたは複数の妥当性検査規則パラメータ２３６を入力する。一般に、規則パラメータ２３６をセルに含めることは、２つの目的にかなう。第１の目的は、妥当性検査規則２３４を構成する「構成入力」を提供することである。第２の目的は、所与の妥当性検査規則２３４を所与のビジネス項目２１８に適用しなければならないと示すことである。その結果、セル２２４が妥当性検査規則パラメータ２３６を含まない（すなわち、セルが空白のままである）場合、処理モジュール１０８は、セル２２４に関連する妥当性検査規則２３４を、セル２２４に関連するそのそれぞれのビジネス項目２１８に適用することはなくなる。
【００２７】
数多くの様々なタイプの規則パラメータ２３６を、セル２２４に入力することができる。場合によっては、規則を構成するのに構成入力は必要でなく、したがって、規則パラメータ２３６は単に、対応する妥当性検査規則を適用すべきであることを確認する「確認入力」規則パラメータとすることができる。確認入力規則パラメータを受信するための入力要素の一例はチェックボックスであり、このチェックボックスは、チェックされると、セル２２４に関連する妥当性検査規則２３４を、セル２２４に関連するビジネス項目２１８に適用しなければならないことを示す。様々なタイプの妥当性検査規則の例を以下のリストに示す。各妥当性検査規則は、その妥当性検査規則が以下の構成入力によって構成されるかどうかを示す。
・整数−整数妥当性検査規則は、ビジネス項目が整数のみを含んでいることを妥当性検査する（構成入力は不要）。
・無効値−無効値規則は、ビジネス項目がユーザ指定された無効値（構成入力として提供される）を含んでいないことを妥当性検査する。
・最高精度−最高精度規則は、ビジネス項目の桁数が、小数点以下でユーザ指定数（構成入力として提供される）以下であることを妥当性検査する。
・最大値−最大値規則は、ビジネス項目の値がユーザ指定値（構成入力として提供される）よりも大きい場合に、値が有効であると判定する。
・最大長−最大長規則は、ビジネス項目の文字数またはバイト数が、ユーザ指定数（構成入力として提供される）以下であることを妥当性検査する。
・最小値−最小値規則は、ビジネス項目がユーザ指定値（構成入力として提供される）よりも小さい場合に、値が無効であると判定する。
・非空白−非空白規則は、ビジネス項目が空である場合、すなわち空白のみを含む場合（構成入力は必要ない）、値が無効であると判定する。
・非ヌル−非ヌル規則は、ビジネス項目がヌルである場合（必要な構成入力として提供される）、値が無効であると判定する。
・パターン−パターン規則は、指定されたパターン（構成入力として提供される）としてストリングビジネス項目を妥当性検査する。
・有効値−有効値規則は、ビジネス項目がユーザ指定された有効値（構成入力として提供される）のみを含んでいることを妥当性検査する。
・タイプ有効性−タイプ有効性規則は、ビジネス項目データが、そのタイプについて有効であることを妥当性検査する（構成入力は必要ない）。
【００２８】
妥当性検査規則の上記リストは必ずしも包括的ではない。
【００２９】
例によっては、ユーザインターフェース１１２は、１つまたは複数の混成された妥当性検査規則の列を、２次元グリッド２２５に挿入する選択肢を含む。混成された妥当性検査規則の列により、ユーザ１１０は、その列に含まれる（所与のフィールド２１８に関連する）各セルについて、互いに異なる妥当性検査規則を指定できるようになる。たとえば、混成された妥当性検査規則の列の１つのセルは、「有効値」試験を含むこともでき、混成された妥当性検査規則の列の別のセルは、「最大値」試験を含むこともできる。一般に、ユーザ１００は、試験の名前と、それに続いて（試験が規則パラメータを受け付ける場合は）試験についての規則パラメータとを入力することによって、混成された妥当性検査規則の列の所与のセルについて妥当性検査規則を指定する。一般に、列としての２次元グリッド２２５に追加できる任意の妥当性検査規則は、混成された妥当性検査規則の列の単一セルに入力することができる。「非ヌル」、「最大値（９９）」、および「有効値（Ｍ、Ｆ）」は、混成された妥当性検査規則の列で目にすることができるセルの例示的な内容である。
【００３０】
混成された妥当性検査規則の列によって実現される１つの利点は、たまにしか使用しない試験をより効率的に画面上に表示することによって、ユーザインターフェース１１２の使い勝手が改善されることである。具体的には、ユーザ１１０は、２次元のグリッド２２５の列２３２全体を、単一フィールド２１８のみに適用される妥当性検査規則に当てはめなくてもよい。たとえば、混成された妥当性検査規則の列は、「有効ｅメール」の試験が単一フィールド２１８（たとえば、「ｅｍａｉｌ＿ａｄｄｒ」フィールド）のみに適用されるが、２次元グリッド２２５の列２３２全体を占有し、それによって貴重な画面スペースを無駄にする状況を回避することができる。
【００３１】
先に述べたように、ユーザ１１０は、既定の妥当性検査規則のいずれにも含まれない機能を有する妥当性検査規則を要求することがある。構成によっては、ユーザ１１０は、新規の再使用可能で特定用途向けの妥当性検査規則２３４で、既定の妥当性検査規則のリストを増やすことができる。ユーザインターフェース１１２は、ユーザ１１０が、新規の妥当性検査規則２３４の機能を定義するためのテンプレートを提供する。ユーザ１１０は、たとえば、構造化コメントで装飾されたＤＭＬコードなどのプログラミング言語または式言語を使用して、テンプレートの範囲内で所望の特定用途向け機能を定義する。一般に、特定用途向けの妥当性検査規則の作成には、文字列のような入力、数字のような入力、データのような入力、および日時のような入力に、妥当性検査試験を実行するためのソフトウェア命令を必要とする。特定用途向けの妥当性検査規則はまた、パラメータの名前、記述、およびリストを必要とし、このパラメータは、特定用途向けの妥当性検査規則に必要であり、パラメータの名前、パラメータのデータタイプ、およびパラメータの位置を含む。特定用途向けの妥当性検査規則はまた、この特定用途向けの妥当性検査規則が生成してもよい誤りコードのリストを必要とすることがある。
【００３２】
新規の妥当性検査規則２３４を保存すると、この妥当性検査規則２３４は、既定の妥当性検査規則のリストまたは階層データ構造など他のデータ構造に追加される。実装形態によっては、ユーザは、階層データ構造を定義し、後にアクセスするため新規の妥当性検査規則をこの構造内に配置することができる。
【００３３】
ユーザ１１０は、たとえば、妥当性検査規則のリストから２次元グリッド２２５まで妥当性検査規則をドラッグすることによって、または他の利用方法とともに妥当性検査規則をダブルクリックすることによって、新規で特定用途向けの妥当性検査規則２３４を後で使用することができる。既定の妥当性検査規則の場合と同様に、新規の妥当性検査規則をグリッド２２５までドラッグするか、またはこの新規の妥当性検査規則をダブルクリックすることによって、新規の列２３２がグリッド２２５に追加され、この新規の列２３２は、新規の妥当性検査規則に関連づけられる。
【００３４】
妥当性検査規則は、既定の妥当性検査規則であろうと、特定用途向けの妥当性検査規則であろうと、この規則をヌル値に適用すべきか、ブランク値に適用すべきかを示す属性を有することができる。この規則をヌル値に適用すべきではないと規則が指定する場合、まずその値がヌルについて試験され、次いでヌルの場合はこの規則が適用されず、ヌルでない場合にはこの規則が適用される。この規則をブランク値に適用すべきではないとこの規則が指定する場合、まずこの値がブランクかどうか確認するために試験され、この値がブランクではないと分かった場合にのみこの規則が適用される。
【００３５】
妥当性検査規則は、既定であろうと特定用途向けであろうと、セル２２４に入力される１組の規則パラメータ２３６が妥当性検査規則において有効かどうか判定するのに使用できる論理を示す属性を有することができる。たとえば、ユーザインターフェース１１２は、セル２２４に入力される規則パラメータ２３６のそれぞれのセットが正しいかどうか判定することができる。（たとえば、構文誤りによって）規則パラメータが間違っていると判定される場合、表示（たとえば赤色停止標識）がセル内に表示され、論理によって決定される誤りメッセージが（たとえば、誤りのリスト内に、またはセル上に停止しているときのツールチップとして）表示される。規則パラメータの正しさを検査する別の例は、指定された参照ファイル識別子が、実際に処理モジュール１０８に知られていることを検査することなど、セマンティクスを検査することである。
【００３６】
場合によっては、特定のビジネス項目に割り当てられた値が有効かどうかは、別のビジネス項目に依存することがある。たとえば、郵便番号およびジップコード、または電話番号の有効フォーマットは、国によって異なることがある。ビジネス項目が特定の値を有するときに適用されるか、または他の何らかの判定基準に基づいている行は、再使用可能な論理的規則の柔軟性を向上させる。
【００３７】
構成によっては、ユーザインターフェース１１２は条件の列２５０を含み、この列により、ユーザは、所与の行での妥当性検査規則を試験するための前提条件を確立できるようになる。たとえば、ユーザは、規則パラメータ１，１２３６を有する「妥当性検査規則１」をビジネス項目「項目１」２３０に適用する前に、「条件１」２５２を満たすべきであると指定してもよい。
【００３８】
前述の通り、条件は、妥当性検査の主題であってもなくてもよいビジネス項目を参照することができる。たとえば、所定の値と一致し、実現可能な値の範囲もしくはセット内に含まれ、または提供される正規表現値と一致する値をビジネス項目が有していることを、条件が必要としてもよい。条件は、ビジネス項目がある値を有する（たとえば、ビジネス項目がヌル値の表示を含まない）ことを必要とする場合がある。
【００３９】
実装形態によっては、条件は、データ駆動型とすることができる。たとえば、あるタイプのレコード、ある範囲内のアカウント、１組の値での国である。条件は、別の入力ファイルまたはデータベーステーブル内に、参照ファイルまたは参照データを含んでもよい。
【００４０】
ユーザは、論理的規則を定義すると、後でアクセスするために、この規則を記憶しておこうと考えることがある。一般に、論理的規則が記憶された後に、この規則を見つけるのが容易になるほど、この規則を再使用する可能性が高くなる。妥当性検査規則の再使用を容易にするために、この規則は、ラベルまたは名前によって識別することができ、また特定のビジネス項目に関連づけることもできる。
【００４１】
構成によっては、ユーザインターフェース１１２はフィールド２５４を含むことができ、ここでユーザは、論理的規則に名前を指定することができる。ユーザインターフェース１１２はフィールド２５６をも含むことができ、ここでユーザは、論理的規則に関連づけるため１次ビジネス項目を指定することができる。構成によっては、フィールド２５６は、ユーザインターフェースの第１の行２３０内で識別されたビジネス項目２１８で自動入力することができる。
【００４２】
論理的規則は、リポジトリまたは他のデータストアに記憶することができる。
【００４３】
図３Ａおよび図３Ｂには、論理的規則を定義するための２つの手法の例が示してある。第１の例（図３Ａ）では、特定のデータセットに関係なく、論理的規則が定義される。第２の例（図３Ｂ）では、モデルとしての既存のデータセットからのデータを使用して、論理的規則が定義される。
【００４４】
図３Ａには、論理的規則を生成する一例が示してある。たとえば、図２のユーザインターフェース２１２とすることができるユーザインターフェース３００は、名前フィールド３０４を含む。ここで、名前フィールド３０４には、名前「ジップ妥当性検査」が取り込まれている。フィールド３１４に示すように、論理的規則は、ビジネス項目「郵便番号」に関連づけられている。
【００４５】
表３０６は、「郵便番号」のビジネス項目についての妥当性検査規則を定義する。再使用可能な国をまたぐ郵便番号の妥当性検査規則は、３つの条件付き妥当性検査を含む。第１の妥当性検査３０８は、国が「ＵＳ」である場合、郵便番号が「（９９９９９）｜（９９９９９−９９９９）」のフォーマットでなければならないことを示す。第２の妥当性検査３１０は、国が「ＣＡ」である場合、郵便番号が「Ａ９Ａ  ９Ａ９」のフォーマットでなければならないことを示す。第３の妥当性検査３１２は、国が「ＵＫ」である場合、郵便番号が「Ａ（（Ａ９）｜９）（Ａ｜９）？９ＡＡ」のフォーマットでなければならないことを示す。
【００４６】
論理的規則は、入力としてデータ値を受け付けることができる。構成によっては、システムは、妥当性検査規則からの必要なデータを決定することができる。ここで、システムは、ビジネス項目「郵便番号」およびビジネス項目「国」に割り当てられた値を、論理的規則が必要とすることを決定できる。他の構成では、このシステムは、ユーザインターフェース（図示せず）からの要求されたデータ値のリストを受け付けることができる。
【００４７】
一般に、ユーザは、表３０６に所望の条件および妥当性検査を入力することができる。ユーザは、妥当性検査規則に満足すると、この規則をデータリポジトリに保存することができる。「保存」ボタン３１６をクリックすることによって、またはメニュー選択など別の同様な機構、もしくは他の同様な動作を介して、これを実行することができる。
【００４８】
前述の通り、論理的規則は、リポジトリまたは他のデータストアに記憶することができる。ユーザインターフェースは、リポジトリにアクセスし、自動的に、またはユーザ入力と連動して、関連する再使用可能なビジネス妥当性検査規則を識別することができる。
【００４９】
図３Ｂを参照すると、実装形態によっては、既存のデータセットを参照して論理的規則を定義することができる。たとえば、「顧客データセット（ＣｕｓｔｏｍｅｒＤａｔａＳｅｔ）」は、「ｃｕｓｔｉｄ」、「名前」、「主要道路（ｐｒｉｍａｒｙ＿ｓｔｒｅｅｔ）」、「主要都市（ｐｒｉｍａｒｙ＿ｃｉｔｙ）」、「主要州（ｐｒｉｍａｒｙ＿ｓｔａｔｅ）」、「主要ジップコード（ｐｒｉｍａｒｙ＿ｚｉｐｃｏｄｅ）」、「主要国（ｐｒｉｍａｒｙ＿ｃｏｕｎｔｒｙ）」、および「主要電話（ｐｒｉｍａｒｙ＿ｐｈｏｎｅ）」を含んでもよい。ユーザインターフェース３５０により、ユーザは、主要ジップコードのフィールド（図示せず）を参照することによって論理的規則を作成できるようになる。
【００５０】
表３５６は、「主要ジップコード」についての妥当性検査規則を定義する。再使用可能な国をまたぐ郵便番号の妥当性検査規則は、３つの条件付き妥当性検査を含む。第１の妥当性検査３５８は、主要国のフィールド内の値が「ＵＳ」である場合、郵便番号が「（９９９９９）｜（９９９９９−９９９９）」のフォーマットでなければならないことを示す。第２の妥当性検査３６０は、主要国のフィールド内の値が「ＣＡ」である場合、郵便番号が「Ａ９Ａ  ９Ａ９」のフォーマットでなければならないことを示す。第３の妥当性検査３６２は、主要国のフィールド内の値が「ＵＫ」である場合、郵便番号が「Ａ（（Ａ９）｜９）（Ａ｜９）？９ＡＡ」のフォーマットでなければならないことを示す。
【００５１】
一般に、ユーザは、表３５６に所望の条件および妥当性検査を入力することができる。ユーザは、妥当性検査規則に満足すると、この規則をデータリポジトリに保存することができる。「保存」ボタン３６４をクリックすることによって、またはメニュー選択など別の同様な機構、もしくは他の同様な動作を介して、これを実行することができる。ユーザが妥当性検査規則を保存する時点で、ユーザには、表３５６内で識別される各フィールドにビジネス項目を割り当てる選択肢が与えられる。たとえば、ユーザは、ビジネス項目「郵便番号」を「主要ジップコード」フィールドに割り当て、ビジネス項目「国」を「主要国」フィールドに割り当ててもよい。
【００５２】
前述の通り、論理的規則は、リポジトリまたは他のデータストアに記憶することができる。ユーザインターフェースは、リポジトリにアクセスし、自動的に、またはユーザ入力と連動して、関連する再使用可能なビジネス妥当性検査規則を識別することができる。
【００５３】
このようにして論理的規則を構築することには、ユーザが試験データを利用して論理的規則を妥当性検査できるようになる利点がある。たとえば、試験表３６６には、「顧客データセット」内のレコードのデータ値、ならびにその結果得られる妥当性検査結果が示してある。たとえば、第１の行３６８は、主要ジップコード「０２４２１」および主要国「ＵＳ」を含む。表３５６内の第１の妥当性検査３５８に基づいて、ユーザインターフェース３５０は、第１の行３６８が有効であることを表示する。第２の行３７０は、主要ジップコード「Ｍ３Ａ  １０２」および主要国「ＵＳ」を含む。主要ジップコードと主要国の組合せが、表３５６内のいかなる妥当性検査にも一致しないので、ユーザインターフェース３５０は、第２の行３７０が無効であると表示する。第３の行３７２は、主要ジップコード「Ｍ３Ａ  １０２」および主要国「ＣＡ」を含む。表３５６内の第３の妥当性検査３６２に基づいて、ユーザインターフェース３５０は、第３の行３７０が有効であることを表示する。
【００５４】
図４には、ユーザインターフェース４００の一例が示してあり、これを使用して、論理的規則をフィールドに割り当てることができる。ユーザインターフェース４００は、データセットのフィールドを表示することができる。データセットは、１つまたは複数のデータストアに記憶された、様々なデータセットの中から選択することができる。データセットは、たとえば、リレーショナルデータベース、単層ファイル、または他のデータ構造内の表とすることができる。この例では、「顧客データセット」４１６が選択されている。
【００５５】
ユーザインターフェース４００は、選択されたデータセット内のフィールド４２０を表示する表４１８を含む。「顧客データセット」は、フィールド「ｃｕｓｔｉｄ」４０２、「名前」、「主要道路」、「主要都市」、「主要州」（まとめて４０６と表示する）、「主要ジップコード」４０８、「主要国」４１４、および「主要電話」４２２を含む。
【００５６】
ユーザインターフェース４００により、ユーザは、特定用途向けの妥当性検査規則をフィールドに提供できるようになる。ここで、「ｃｕｓｔｉｄ」フィールド４０２が妥当性検査規則に関連づけられ、「ｃｕｓｔｉｄ」フィールド４０２の値がパターンＳ「９９９９９９９」４０４に一致することが必要となる。ユーザインターフェース４００により、ユーザはまた、論理的規則４１８を選択できるようになる。この例では、「主要ジップコード」４０８は、ジップ妥当性検査規則４１０に関連づけられている。図３を参照して先に定義したジップ妥当性検査規則４１０には、パラメータとして「主要国」が与えられる。割り当てられた値は、それぞれ「国」のビジネス項目に対応する。
【００５７】
前述の通り、使用可能な妥当性検査規則のデータセットへの適用を簡略化するために、ユーザは、データセット内のフィールドをビジネス項目にマッピングしようと考えてもよい。図５は、データセット内のフィールドをビジネス項目にマッピングする一例を示す概念図である。マッピングによって、データセット内のフィールドとビジネス項目との間の関係が確立する。一般に、１つまたは複数のフィールドを、ビジネス項目にマッピングすることができる。マッピングは、各フィールドを連結して、または他の方法で結合して、ビジネス項目を作成することを指定できる。構成によっては、データセット内に記憶された値を標準のビジネスフォーマットに変更するのに、変換を指定することができる。
【００５８】
データストア５０２はデータセットを含む。この例では、データストアは「顧客データセット」５０４を含む。「顧客データセット」５０４は、主要ジップコードのフィールド５０８、主要国のフィールド５１０、および主要電話のフィールド５１６を有するフィールドを含む。データセット内の各フィールドは、既存のビジネス項目にマッピングすることができる。たとえば、主要ジップコードのフィールド５０８は、郵便番号のビジネス項目５１２にマッピングすることができる。主要国のフィールド５１０は、国のビジネス項目５１４にマッピングすることができる。主要電話のフィールド５１６は、電話番号のビジネス項目５１８にマッピングすることができる。
【００５９】
構成によっては、変換は、フィールドをビジネス項目にマッピングすることの一部分として指定することができる。変換を使用して、あるフォーマットから別のフォーマットにデータを変換することができる。電話番号は、「（９９９）９９９−９９９９」、「９９９−９９９−９９９９」のフォーマットで記憶することもでき、または市外局番、プレフィックス、およびサフィックスを３つ別々のフィールドに記憶することもできる。ここで、主要電話のフィールド５１６は、「（９９９）９９９−９９９９」のフォーマットで電話番号を記憶してもよい。電話番号のビジネス項目を使用する機能は、「９９９−９９９−９９９９」など特定の方式（すなわち、標準のビジネスフォーマット）でデータがフォーマットされることを想定することができる。変換５２０は、データを標準ビジネスフォーマットに変換する機能を定義する。
【００６０】
ビジネス項目とフィールドの間の関連づけが確立されると、この関連づけをビジネス項目のデータストア５０８に記憶することができる。たとえば、関連づけ５２２は、「顧客データセット」の主要ジップコードのフィールドを郵便番号のビジネス項目にマッピングすることを示している。システムは、フィールドからビジネス項目へのマッピングを使用して、特定のフィールド向けの論理的規則を自動的に識別し、識別された論理的規則への入力を識別することができる。データセット内のフィールドがビジネス項目に関連づけられる場合、システムは、同じビジネス項目に関連づけられた論理的規則を識別することができる。次いで、システムは、識別された妥当性検査規則をフィールドに割り当てることができる。たとえば、図４を参照すると、システムは、主要ジップコードのフィールドが郵便番号のビジネス項目に関連づけられていることを識別してもよい。システムはまた、ジップ妥当性検査規則が、郵便番号のビジネス項目に関連づけられていることを識別することもできる。したがって、システムは、ユーザインターフェース４００において、ジップ妥当性検査規則と主要ジップコードのフィールドを関連づけることができる。
【００６１】
システムはまた、マッピングを使用して、選択された妥当性検査規則への入力を識別することができる。システムは、たとえば、ジップ妥当性検査規則が郵便番号のビジネス項目および国のビジネス項目を入力として必要とすることを識別することもできる。ここで、システムは、「顧客データセット」の主要ジップコードのフィールドが郵便番号のビジネス項目に関連づけられており、「顧客データセット」の主要国のフィールドが国のビジネス項目に関連づけられていることを識別するはずである。それに応じて、システムは、主要ジップコードおよび主要国をジップ妥当性検査規則のパラメータに自動で割り当てる。
【００６２】
構成によっては、複数の論理的規則がビジネス項目に関連づけられているとシステムが判定する場合、ユーザインターフェースは、適切な妥当性検査規則を選択する元になるリストをユーザに示すことができる。
【００６３】
構成によっては、ユーザには、妥当性検査規則およびシステムが選択した入力を見直し、それを修正する機会を与えることができる。たとえば、代替規則を選択することによって、選択された妥当性検査規則をユーザが修正しようとする状況では、前述の通り、システムは、各フィールドが入力として提供されるものと識別することができる。
【００６４】
ユーザは、選択された論理的規則および入力に満足する場合、妥当性検査の選択結果を保存することができる。
【００６５】
前述の各技法は、コンピュータ上で実行するためのソフトウェアを使用して実装することができる。たとえば、ソフトウェアは、（分散アーキテクチャ、クライアント／サーバ、またはグリッドなど様々なアーキテクチャとすることができる）１つまたは複数のプログラムされた、またはプログラム可能なコンピュータシステム上で実行される、１つまたは複数のコンピュータプログラムにおいて手順を形成し、このコンピュータシステムのそれぞれが、少なくとも１つのプロセッサ、（揮発性メモリおよび不揮発性メモリ、ならびに／または記憶素子を含む）少なくとも１つのデータ記憶システム、少なくとも１つの入力装置もしくは入力ポート、ならびに少なくとも１つの出力装置もしくは出力ポートを備える。ソフトウェアは、たとえば、データ流れ図の設計および構成に関連する他のサービスを提供する、さらに大きいプログラムの１つまたは複数のモジュールを形成することができる。グラフのノードおよび要素は、コンピュータ読取り可能な媒体に記憶されたデータ構造、またはデータリポジトリに記憶されたデータモデルに合致する他の編成されたデータとして実装することができる。
【００６６】
ソフトウェアは、汎用もしくは専用のプログラマブルコンピュータから読取り可能な、ＣＤ−ＲＯＭなどの記憶媒体上に準備することができ、またはネットワークの通信媒体を介して、このソフトウェアが実行されるコンピュータの記憶媒体まで配布する（伝搬信号内に符号化する）ことができる。専用コンピュータ上で、またはコプロセッサなどの専用ハードウェアを使用して、機能の全てを実行することができる。ソフトウェアによって指定された計算の様々な部分を様々なコンピュータによって実行する分散方式で、ソフトウェアを実装することができる。本明細書に記載の手順を実行するよう、記憶媒体または記憶装置がコンピュータシステムに読み取られるときにコンピュータを構成し動作させるために、このようなコンピュータプログラムはそれぞれ、汎用または専用のプログラム可能なコンピュータで読取り可能な記憶媒体または記憶装置（たとえば、固体記憶装置もしくは固体記憶媒体、または磁気媒体もしくは光媒体）に、記憶またはダウンロードされることが好ましい。この発明性のあるシステムはまた、コンピュータプログラムで構成された、コンピュータ読取り可能な記憶媒体として実施されるものとみなすことができ、ここで、そのように構成された記憶媒体により、コンピュータシステムは、特定の事前定義された方式で動作して、本明細書に記載の機能を実行できるようになる。
【００６７】
本発明の実施形態をいくつか説明してきた。それにもかかわらず、本発明の精神および範囲から逸脱することなく様々な修正を加え得ることが理解されよう。たとえば、前述の工程のいくつかは、順序に依存しなくてもよく、したがって記載された順序とは異なる順序で実行することができる。
【００６８】
前述の説明は、本発明の範囲を例示するものであり、それを限定するものではなく、本発明の範囲は、添付の特許請求の範囲に記載の範囲によって定義されることを理解されたい。たとえば、前述のいくつかの機能工程は、処理全体に実質的に影響を及ぼすことなく、互いに異なる順序で実行することができる。他の実施形態は、添付の特許請求の範囲に記載の範囲内にある。
【図１】
2017509971.tif 000003
【図２】
2017509971.tif 000004
【図３Ａ】
2017509971.tif 000005
【図３Ｂ】
2017509971.tif 000006
【図４】
2017509971.tif 000007
【図５】
2017509971.tif 000008
【国際調査報告】
2017509971.tif 000009
2017509971.tif 000010