JP6216757B2 - ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム - Google Patents
ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム Download PDFInfo
- Publication number
- JP6216757B2 JP6216757B2 JP2015203699A JP2015203699A JP6216757B2 JP 6216757 B2 JP6216757 B2 JP 6216757B2 JP 2015203699 A JP2015203699 A JP 2015203699A JP 2015203699 A JP2015203699 A JP 2015203699A JP 6216757 B2 JP6216757 B2 JP 6216757B2
- Authority
- JP
- Japan
- Prior art keywords
- rule
- case
- output
- test
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- User Interface Of Digital Computer (AREA)
Description
― 式。式の評価が非ゼロ、非ヌルの値と評価される場合、この条件は真と見なされる。
― キーワード「any(任意)」または空の文字列。この条件は常に真である。トリガー列内の空の各セルは、キーワード「any」を明示的に収容するものと等価である。
― キーワード「else(その他)」。左側のセル全てが同一である行において、「else」を収納するセルの上のセルがどれも真でない場合、この条件は真である。
― キーワード「same(同上)」。上にあるセルが真の場合、この条件は真である。
comparison_value ::= compound_value ("or" compound_value)*
compound_value ::= simple_value ("and"simple_value)*
simple_value ::= ["not"](value_expression│simple_function│membership_expr)
value_expression ::= [operator] value_element
operator ::= ">"│"<"│">="│"<="│"!="│"="│"equals"
value_element ::= constant│constant│variable"("expression")"
simple_function ::= "is_null"│"is_blank"│"is_valid"│"is_defined"│
"is_bzero"
membership_expr ::= "in" "["value_element ( (","│"to"│"or")
value_element)*"]"
ここで、「*」はゼロ回以上繰り返される項目を意味する。
― 値。出力変数に割り当てられる値。
― 式。式の値が出力変数に割り当てられる。式がNULLと評価すると、出力フィールドがヌル不可でない限り、フィールドはNULL値を得る。この場合、エラーが生成される。
― キーワード「null」。出力フィールドがヌル可能な場合、フィールドにはNULLが割り当てられる。それ以外はエラーが生成される。
― 空文字列。出力フィールドが既定値を有する場合、既定値が割り当てられる。それ以外は、セルにキーワード「null」が収まっているかのように扱う。
― キーワード「same」。出力フィールドには、上のセルで計算された値と同じ値が割り当てられる。
[0050] 意図した通りにルールセットが動作するか否かの評価を支援するために、ルールセットにテストデータセットを含めることができる。ルールセットのためのこのテストデータセットは、例えば、図3に示すような、プロトタイプ入力と期待される出力とのセットである。テストデータセットは、ルールが参照するフィールドごとに1つの行402a〜402eと、出力ごと(この実施例では1つしかない)に1つの行404とを有するスプレッドシート様の表400で構成される。次いで、ユーザーは、テストデータおよび期待される結果の列406a〜406rに表されるテストケースを作成する。このテストデータはルールと併せて保存される。図3の実施例は、図2A〜図2Bのルールに対する可能な入力402a〜402eと、意図される出力404を収納する。フリークエントフライヤーマイル数および座席割り当ての様々な組合せ406に対して、搭乗グループ404について計算すべき事柄(図示したよりずっと多い可能な入力の組合せがある)を示す。実施例によっては、テスト入力には全てのルックアップ内の全ての変数に対する値が含まれる。テスト入力には、全てのパラメータに対する値、および現在の日付または時間を参照する何らかのルールに対して、「今」として使用するための値も含まれる。個々のユニットをテストするために、テスト入力には、任意の被包含セットに対する値を含めることができ、それにより、包含ルールセットをテストする場合、被包含ルールセットを評価する必要がなくなる。
[0056] 上記のように、変換式はルールセットから生成される。ルールセットは以下の属性を有する。
[0070] 上記のように、各ルールセットは、変数および定数が関係する表のセットを有する。実施例によっては、これらの表は、ルールセットに固有であり、ルールセット間で共有することはできない。変数および定数の表はいくつかの目的で使用される:
1.ルールセットが使用する入力変数と、ルールセットが生成し、計算する出力変数との最終的なリストとして。
2.編集中に利用可能なビジネス名のリストとして。編集中に本システムは、変数および定数のビジネス名のリストを提示する。このリストは、変数および定数の表によってもたらされる。
3.ビジネス名を技術名へ読み替えるマッピング表として。このルールはビジネス名を含む(後述するように、テキストで、DMLプリプロセッサ指令の内部で)。変換式が生成されると、ビジネス名は技術名またはDMLの式により置換される。入力変数および出力変数のような表のいくつかは、多数のデータセットを有することができ、それぞれがビジネス名に対して異なる技術名を有する。使用される読替法は展開に依存する(詳細は後述する)。
1.入力の変数および定数の表。変換式型ルールセットでは、この表は、ルール内で参照される入力レコードフォーマットのフィールドを収納する。レコードフォーマットでのフィールド全てをリストにする必要はないが、普通はそうする。結合型ルールセットでは、多数の入力表があり、各表は結合操作に対して1つの入力データセットを表す。
2.全ての被包含ルールセットのための入力の変数および定数の表。被包含ルールセットを用いる場合、各被包含ルールセットは、それ自体の入力の変数および定数の表を有する。変換式が立てられると、被包含ルールセットが使用する入力変数を、包含を行うルールセットに照らして実際の入力にマッピングしなければならない。従って、このリストは包含ルールセットへ展開される。多数の被包含ルールセットを包含する場合、各入力変数の表が展開される(被包含ルールセットがルールセットを包含する場合、第2レベル変数は展開されない)。被包含ルールセットから展開される入力の変数および定数は、包含ルールセットでの使用には利用できない。この表は単に包含されるだけなので、マッピングは、被包含ルールセットへの入力と包含ルールセットへの入力との間で確立できる。詳細については後述する。
3.全ての被包含ルールセットの出力の変数および定数の表。ルールセットが既に包含されている場合、これらの被包含ルールセットの出力は、包含ルールセットへの入力となる。この表はこれら変数全てをリストにする。この表は、初期状態では、全ての被包含ルールセット内の出力の変数および定数の表から直接読み込まれる。但し、ビジネス名を変更して名前衝突を避けることができる。この表において、技術名は被包含ルールセット内部のビジネス名のままである。
4.出力の変数および定数の表。変換式型ルールセットでは、この表は、ルールセットが計算する出力レコードフォーマットのフィールドを収納する。計算されない出力変数は包含されることができるが、ルールセットにより無視されることになる。(生成される変換式は、入力を出力へコピーするワイルドカードのルールを有する。更に、出力により、既定値を包含させることができるだろう。)
出力変数を中間変数として用いることもできるが、これは1つのルールから生成される出力の値が後のルールで参照できることを意味する。時には、出力をこの方法だけで使用する。出力が、変換式から出力レコード内へ直接的に包含されることはあり得ない。
5.パラメータの表。ルールパラメータへの参照を含む。パラメータは、グラフのパラメーターセットに照らしてランタイム時に変形される。パラメータは、他の変数と同様に、ルールセット内にビジネス名、技術名(例えば、$RUNDATE)および型を有する。
6.ルックアップファイルごとの変数マッピングの表。これらは入力表と同様であるが、ルックアップファイル用のレコードフォーマットでフィールドへマッピングする。
[0075] 変数は以下の特性を有し、表形式でユーザーに提示される:
1.ビジネス名(論理名)。ビジネス名はルールで使用される名前である。実施例によっては、2つの入力変数が同一名を持たず、2つの出力変数が同一名を持たず、被包含ルールセットからの2つの出力が同一名を持たず、そして同一ルックアップファイル内の2つのルックアップ変数が同一名をもたないように制限される。入力変数は、出力変数と同一名を持つことができる。その場合、ユーザーインターフェースは前後関係に基づくか、または出力変数名の前に「out」のような接頭語を用いて入力と出力の曖昧さを解消してもよい。異なるルックアップファイル内のルックアップ変数は、同一名を持つことができる。その場合は、ルックアップファイル名自体等の接頭語を用いて曖昧さを解消する。
2.単純な型。実施例によっては、4つの基本型−文字列、数字、日付および日時−をサポートすることができる。これらは、DML型文字列(int)、10進数(20)、日付(“YYYY-MM-DD”)および日時(“YYYY-MM-DD HH24:MI:SS.nnnnnn”)に対応する。変換式で使用される基本型と実際型の変換は、ビジネスルールの編集とは別に、例えば、生成される変換式成分により、扱われる。
3.既定値。既定値は出力変数だけに必要である。これは、(1)その出力に対するルールの出力列に空のセルがある場合、または(2)ルールがその出力の値を計算するのをトリガーしない場合に用いられる値である。既定値は、出力変数がNull可能な限りNULLとする(および空のセルをNULLと解釈する)ことができる。
既定値は、ルール式の表の出力列で使用される式と全く同じ式である。これは、既定値が入力変数または出力定数を参照でき、または式を収納することができるということである。既定値は、循環性が導入されていない限り、他の出力を参照することもできる。
4.技術名(物理名)または式。これは変数を指定する式である。入力変数および被包含変数のフィールド名の代わりに式を使用できる(実施例によっては、式の使用は出力変数には許されない)。ベクトルの場合には、式は完全修飾形であること。
入力要求されている変数および被包含ルールセットからの入力変数および出力変数を処理する場合、変数に関係する技術名は、共有ルールセット内で使用されるビジネス名そのものだけである。共有ルールセット内だけで使用される出力変数を処理する場合(1つのルールで計算されて、後続のルールで使用される中間変数)、技術名をブランクとすることができる。
5.オプションとしての説明およびコメント
[0076] 変数の各種表は、変数だけでなく定数のマッピングも含む。定数はC++のenumに対応する。本ソフトウエアは、正当な値および不当な値に由来する初期状態の定数値、ならびに正当な範囲および不当な範囲に由来する初期状態の定数範囲をサポートできる。さらに異なる値および/または範囲のセットを表す定数を生成することができる。
1.変数名。全ての定数は1つの変数だけに適用される。変数名は、実際には関係する変数自体の一部である。
2.ビジネス名。ビジネス名はルールで使用される名前である。名前は値で示す識別子でなくてもよい。具体的には、内部スペースおよび句読点が許される。定数に対するビジネス名は、適用する変数の範囲で一意でなければならないということだけである。
3.定数型。値、範囲、またはセットの内の1つ。上記したように、範囲およびセットは、比較で用いる場合(入力)のみ必須であるが、割り当てで用いる場合(出力)は必須ではない。
4.値に関して:実際値。本実施例では、文字列は引用符で囲み、数字は囲まない方がよい。日付および日時は、既定形式にて引用符で囲むのがよい(例えば「“YYYY-MM-DD”」)。式が変数型へ自動変換される単純な型を返す限り、式を用いてもよい。
定数が、被包含ルールセットの入力または出力のテーブルの一部である場合、値は存在しない。その代わり、値は、対応する入力または出力の変数に対する関係定数のビジネス名である。
5.範囲に関して:最小値および最大値。ともに、上記実際値とまさに同じく、定数または式である。範囲は、ルール内比較の簡易表現として使用される。等式による比較だけが範囲に許され、本ソフトウエアは、範囲を「変数>=最小値および変数<=最大値」に読み替える。最小値が規定されない場合、その部分の比較はスキップされる。最大値についても同様である。範囲は、コンマで最小値と最大値を区切って実際に格納される。
6.セットに関して:コンマで区切った値のリスト。リストの各要素は、上記実際値とまさに同じく定数または式である。等式による比較だけがセットに許され、本ソフトウエアは、セットを「[値のベクトルリスト]の変数メンバー」の形式で式に読替える。
7.オプションとしての説明およびコメント
[0082] 入力として用いられるもの全ては、全ルールセット内で一意の名前を持たねばならないことが一般的である。これには、入力変数のビジネス名、パラメータのビジネス名、および全ての被包含ルールセットの出力にマッピングされるビジネス名が含まれる。入力操作に関しては、異なる入力セット内の入力変数は同一名を持てる。同一名は、例えば、入力セットのビジネス名に対応する接頭語により、曖昧さを解消できる。
[0086] 循環ロジックを防ぐために、本ソフトウエアは、変数およびルールの厳格な序列を実施する。全般的な序列は以下の通りである:
1.入力変数およびパラメータ。
2.第1の被包含ルールセットの入力マッピング。
3.第1の被包含ルールセットの出力値。
4.N番目の被包含ルールセットの入力マッピング。
5.N番目の被包含ルールセットの出力値。
6.第1のルックアップファイルの既定キー値。
7.第1のルックアップファイルの出力フィールド。
・・・
8.N番目のルックアップファイルの既定キー値。
9.N番目のルックアップファイルの出力フィールド。
10.全ての出力変数の既定値。
[0088] 実施例によっては、入力変数の表は、入力データセットレコード形式から直接得られ、ビジネス名は入力データセットのメタデータから得られる。しかし、実施例によっては、ルールセット内にこのマッピングのコピーを持つと便利である。第1に、ルールセット内に変数マッピング表のコピーを持つことにより、生成環境の状況から外れてルールセットを編集できるようになる。ルールセットと関係するルールとは、サンドボックス内でシリアル化し、サンドボックスプロジェクトの一部として編集できる。第2に、入力変数マッピング表のコピーを持つことにより、コンフリクトをユーザーが解決するか、または既存のメタデータを書き換えることができる。例えば、入力データセット内の2つのフィールドが同じビジネス名にマッピングされたとすると、これらのビジネス名の1つを入力変数表の中で変更できる。
1.フィールド(物理要素)が表示名を有する場合、フィールドの表示名をビジネス名として用いる。
2.それ以外の、フィールドが論理要素をもち、論理要素が表示名を有する場合、論理要素の表示名がビジネス名として用いられる。
3.それ以外の、フィールドが論理要素を有する場合、論理要素名がビジネス名として用いられる。
4.それ以外の場合、ビジネス名は技術名から算出される。
1.正当な値(正当な範囲等)が表示名を有する場合、表示名をビジネス名として用いる。
2.それ以外の、正当な値(正当な範囲等)が記述を有する場合、その記述がビジネス名として用いられる。
3.それ以外の場合、定数は、ビジネス名なしで変数表に含まれる。
[0101] 実施例によっては、ルールセットを共有できる。詳細には、被包含ルールセットは、別のルールセット内部に包含されるように設計されるので、その論理は包含ルールセットの生成変換式の一部となる。
[0115] 共用ルールセットの入力および出力の変数のための定数が、被包含ルールセットのマッピング表内に包含される。変数自体と同様に、共用ルールセットが使用する定数をマッピングしなければならない。入力変数では、共用ルールセットは、フィールドを入力表で定義される定数と内部比較できる。別のルールセット内に共用ルールセットが包含される場合、その入力変数の定数は、包含ルールセットに重ねてコピーされる。次いで、ユーザーは、包含ルールセットに関連してその値を書き換えることができる。通常は、共用ルールセットの入力変数と包含ルールセット内の変数との間のマッピングをユーザーが定義した場合、2つの変数間の定数はよく調和する。そうでない場合、ユーザーは、共用ルールセットが定義するどれかの定数値に技術的な値を提供する必要がある。
[0116] ルールセットは、オプションとして1つ以上のルックアップファイルを有することができる。ルールセット内のルックアップファイルはそれぞれ以下の情報を含む:
1.ルックアップファイルのビジネス名。
2.オプションの説明およびコメント。
3.キーを作成するフィールドのビジネス名のリスト。これらの名前は、ルックアップファイルが式に追加される場合に用いられるので、ユーザーは次のような文を提示される。lookup(My Lookup File,<顧客名キー>,<アカウント形式キー>)
4.キーそれぞれの既定の式のリスト。
5.ルックアップファイルの技術名。実施例によっては、これを展開の中で書き換えることができる。
6.1つ以上のルックアップデータセット。各ルックアップファイルは、本システム内で、ルールセットが入力データセットと結合されているのと全く同様に、データセットに緩く結合している。既定設定により、ルールセット内の各ルックアップファイルと関係する1つのルックアップデータセットがあるが、代わりの展開で使用するためのもっと多くのルックアップデータセットを存在させることができる。
7.入力の変数および定数の表。これはルックアップファイルごとに1つの表があることを除いて、ルールセットの入力の変数および定数の表と全く同じである。入力変数と同様に、ルックアップファイルの入力の変数および定数の表は、関係するルックアップデータセットそれぞれに対応する多数の技術名を有することができる。
[0119] ルールセットはパラメータを参照できる。実施例によっては、各ルールセットは、オプションのパラメータ表を有し、その表は、変数表と同様に、パラメータのビジネス名を技術名にマッピングする。パラメータ表の各項目は以下の属性を有する:
1.ビジネス名。ビジネス名は、ルール本体に現れるときのパラメータの名前である。一般に、パラメータは、入力変数が使用されるところではどこでも使用できる。
2.技術名。これは、開発環境におけるパラメータの名前である。
3.パラメータの型(文字列、10進数、日付、日時)。生成された変換式で、パラメータは必要に応じて他の型に変換できる。
4.オプションについての説明およびコメント。
[0121] 変換式の生成または更新の一部は、変換式が、対応するルールをテストすることである。ルールは検証もされる。すなわち、ルールのシンタックスおよびセマンティックの一貫性がチェックされる。検証とは対照的に、テストはルールの実行を伴い、例えば、期待される出力がもたらされるか、または出力を期待値と手動で比較することにより、ユーザーが正当性を判定する。
1.ルックアップファイルに関して:ユニットテストモードでは、テストケースごとに各ルックアップ変数の値がテストの一部として定義される。キーは規定されない:テストが実行された場合、テストケースごとに、ルックアップ変数ごとに同一の値を前提とする。テストデータセットは、多数のテストケースを収納し、各テストケースは、ルックアップ変数ごとに異なる値を規定できる。ファイルテストモードでは、実際のルックアップファイルが用いられる。この意味は、異なるキーが異なる値を返すということであるが、特定のキーに対する何らかの所与のルックアップ変数に用いられる値がテスト中に変更できないということも意味する。
2.被包含ルールセットに関して:ユニットテストモードでは、被包含ルールセットは実行されず、完全である必要すらない。その代わりに、各被包含ルールセットからの出力ごとに、テストデータセット内で値を指定する。ファイルテストモードでは、被包含ルールセットが、稼働中に実行されるはずの方法で実行される。この意味は、被包含ルールセットが必要とする何らかのルックアップファイルまたはパラメータをも、テスト時に指定しなければならないということである。
3.パラメータに関して:ユニットテストモードでは、各テストケースに対してパラメータごとに異なる値を設定できる。ファイルテストモードでは、各パラメータの値はテスト全体に対して定数である。
4.現在の日付に関して:テスト時に、ルールが現在の日付または時間を参照する場合、ユーザーは、現在の日時に対して想定すべき値を指定する。ユニットテストモードでは、日付および時間はテストケースごとに異なっていてもよい。ファイルテストモードでは、テスト全体に対して単一の日付および時間の値が設定される(この値は、テストが実行時のマシンの日付および時間と異なっていてもよい。
5.レコードフォーマットおよびマッピングに関して:ユニットテストではマッピングを指定する必要はなく、テストは変数のビジネス名に基づいて全体的に実施される。ファイルテストでは、全ての変数は技術名にマッピングされ、入力、出力およびルックアップのレコードフォーマットが指定される。
1.入力データセットの物理場所。これは、入力データセットごとに入力変数表内のルールセットに格納される。結合型データセットでは、全ての物理場所が必要である。物理場所が必要な場合、データベース内の表の名前を用いることができる。
1.入力データセットのレコードフォーマット。既定設定によれば、これは入力データセット用のデータセット定義から得られる。サンドボックス内で点検された別のレコードフォーマットでこれを書き換えるための場所が入力変数内にある。結合型変換式では全てのレコードフォーマットが必要である。
2.どの展開を使用するか。
3.全てのルックアップファイルの物理場所。これはルックアップファイル表内に格納される。
4.ルックアップファイルごとのレコードフォーマット。ルックアップファイルそれぞれと関係するデータセット定義から、または書き換えレコードフォーマットファイルから得られる。
5.パラメータごとの値。テストパラメータダイアログ内で設定される。
6.出力ファイルの物理場所。回帰(比較)テストを行う場合にだけ必要である。出力変数表に格納される。
7.出力ファイル用のレコードフォーマット。上記と同様に、回帰テストを行う場合にだけ必要であり、出力データセット定義から、またはオプションの書き換えレコードフォーマットファイルから得られる。
8.プロジェクトサンドボックスの場所。テストはホスト上のサンドボックスの外で行わねばならない。サンドボックスは、ルールセットを収納するプロジェクトの点検済みコピーでなければならない。全てのレコードフォーマットファイルは、サンドボックスから得られる。
9.ルールが「今」、「今日」または類似の値を参照する場合の日付および時間に使用する値。
[0134] 実施例によっては、上記のように、ユーザーがルールセットに対してテストデータセットを実行すると、トリガーされたどのルールも追跡することができる、すなわち、優先度が高いルールケースも、その全ての入力条件を満たさなかったとしても、全ての入力条件を満たすようにしたルールケースが、出力を生成したはずである。テストデータを処理した後、本ソフトウエアはテスト出力データを後処理し、どのテストケースにもトリガーされなかった全てのルールまたはルールケースのリストを生成できる。この情報は、エディタ内のルールの表示上にオーバーレイして、どのルールがトリガーされたか、またはされなかったかをユーザーに直ちに示すことができる。この情報から、ユーザーは他のルールにより覆い隠されている可能性のあるルール、すなわち、重なりあっているルールを探すことができる。ルールケースごとにカウントを示すこともできる。カウントは、ルールケースがトリガーされたかどうかを知ることと同じくらい有用なことがあり、特に、出力の所望の分布を達成するよう値を調整し、性能を調整するのに最適なルールセットを識別するのに有用である。
[0135] ビジネスルールは、各ルールセットを変換式へ変換することにより、アプリケーション(グラフ)で評価される。次いで、変換式をグラフ内の成分へ貼り付ける。そのような成分は、変換式を実行するために特定の方法でリンクされる1セットの標準成分を収納するサブグラフであってもよい。次いで、これらのサブグラフを追加した成分とともに用いて、例えば、結合およびロールアップのためのキーを使用できる。
if (NUM == 1 and ROW < 10) then BG = 1
else if (NUM == 1) then BG = 2
else if (NUM == 2 and ROW < 15) then BG = 1
else if (NUM == 2) then BG = 2
else if ...
もう1つは:
Switch(NUM)
Case 1: if (ROW < 10) then BG = 1 else BG = 2
Case 2: if (ROW < 15) then BG = 1 else BG = 2
...
int expr = lookup(from, dest, class).expr
int miles = lookup(from, dest, class).miles
if (expr == 1 and is_using_miles) miles = 0
return miles;
1.展開名。ルールセット内部で一意でなければならない任意の文字列。
2.入力データセット名。入力変数表に挙げた複数の入力データセットがある場合、展開表内の項目はそれぞれ、その展開でどの入力データセットが使用されるかを指示する。
3.出力データセット名。出力変数表にリスト化された複数の出力データセットがある場合、展開表内の項目はそれぞれ、その展開でどの出力データセットが使用されるかを指示する。
4.被包含ルールセットごとの展開名。被包含ルールセットごとに、実施者は、対応する被包含ルールセットの展開ごとにどの展開を使用すべきかを指示する必要がある。
5.成分および生成されるべき変換式ファイルに対するターゲットの場所。
― 再フォーマット―入力は「in」と呼ばれ、入力変数は「in.field」等の技術名を有することができる。出力は「out」と呼ばれ、出力変数は「outfield」等の技術名を有することができる。
― 結合―2つの入力は「in0」および「in1」と呼ばれる。出力は「out」と呼ばれ、ワイルドカードルールは「in0」を「out」にコピーすることを前提とする。全てのパラメータは成分が生成されたときに設定できる。ルールセットは、その結合への入力ごとに1つの、多数の入力セットを有する。ルールセットは、入力を重複除外すべきか、フィールドのビジネス名を結合に対するキーとして使用すべきかの、結合型の指定も行う(実施例によっては、これは各入力セットで提示されなければならない)。また、ユーザーは、入力ごとに、入力フィルタとして使用される式を指定することもできる。
― ロールアップ―入力は「in」、出力は「out」と呼ばれる。ロールアップ型のルールセットの場合には、ユーザーは集合関数を使用することが許される(他の変換型ではサポートされない)。技術名が「input select(入力選択)」または「output select(出力選択)」の出力変数をユーザーが生成する場合、「input select」および/または「output select」の関数を、これらの出力を計算するルールのロジックとともに変換式に追加する。これら両関数の入力は「in」と呼ばれる(「output select」は通常、そのパラメータを「out」と名付けるが)。結合型と同様に、成分が生成されたときに全てのパラメータが設定される。
― フィルタ―2つの所定の定数の一方が出力される。フィルタ型変換式の出力変数は、型成分の「select,(選択,)」だけであり、出力を通過させるには非ゼロ、非NULLである。実施例によっては、これはサブグラフ内の再フォーマット成分として実装される。
― スキャン―スキャン関数は、「temp(一時的)」および「in」と名付けた2つの入力をとり、「out」と名付けた出力を生成する。ルールセット内のルールは「temp」レコードおよび「in」レコードの両方のフィールドを使用することができる。これは入力変数のための技術名により決定できる(例えば、技術名は、文字列「temp.field」または「in.field」に設定できる)。
変換式の一時的変数(「temp」)のためのレコードフォーマットは、ルールセットにより生成される全ての出力を収納する。初期化関数がソフトウエアにより自動的に作成されて、一時的なレコードフォーマット内の全てのフィールドを既定値に初期化する。終了関数もソフトウエアにより自動的に作成され、この関数は、一時的レコードを出力にコピーし、ワイルドカードルールを追加するだけである。スキャン型変換式も、ロールアップの場合と同様に、これらの技術名を有する変数が出力変数表にある場合、入力選択関数および出力選択関数の作成をサポートする。
― 正規化―正規化関数は「in」および「index」の2つの入力をとり、「out」と名付けられる出力を生成する。インデックス入力はレコードではなく、ユーザーがルール内のインデックスを用いたい場合、インデックスの技術名にマッピングされた入力をユーザーが生成する。(インデックス変数は各種のDML式内でも使用される)。本ソフトウエアは上記したように、ルールを通過するときにある長さ。
正規化型ルールセットは、ロールアップ型ルールセットと全く同様に、「input_select(入力選択)」および「output_select(出力選択)」と名付けられた出力変数もサポートする。
― 分類―ルールはN個の出力をもち、変換式は、レコードごとにどの出力を用いるべきか決定する。この成分では、本ソフトウエアはout::classify(in)関数を作成する。出力は一個の整数値であり、どの出力ポート(2つ以上ある)を使用すべきか指示する。0の出力は、0番のポートを意味し、1の出力は1番のポートを意味する。
分類型変換の出力変数は、型成分の「select(選択)」だけであり、それを出力ポートのインデックス(ゼロ基準)とする。これは、出力の2の代わりにN値が用いられることを除けばフィルタと同様である。
― 関数―関数型ルールセットを、DML変換ファイルに変えることができるが、成分変換としてではない。代わりに、関数型ルールセットを変換式に変える場合、構築した変換ファイルは、他の変換式に含まれるように設計される。出力変数それぞれをDML関数に変える。これら関数の入力は、ルールの型に依存する。関数型ルールでは、入力は表にリスト化した順序のルールへの入力である。非関数型ルールでは、出力関数はそれぞれ、「in」と名付けられた単一の入力をとり、その入力は、入力変数に対応するフィールド全てを有するレコードである。
Claims (75)
- 計算をテストするための方法であって、
第1のセットのルールケースを含む第1のルール仕様を受け取るステップであって、各ルールケースは、可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは、2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るステップ、
1セットのテストケースを受け取るステップであって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るステップ、
前記テストケースごとに、前記テストケースの入力値を所与として出力を生成することになる前記第1のルール仕様内に含まれる前記ルールケースの内の1つを識別するステップ、
第2のセットのルールケースを含む第2のルール仕様を受け取るステップ、
前記テストケースごとに、前記テストケースの前記入力値を所与として、前記第1または第2のルール仕様によって生成された各出力を指示する結果行を表示するステップ、および
前記第2のルール仕様から、第2のルールケースの出力を指示する結果行中で指示された出力とのユーザーの相互作用に応じて、前記第1のルール仕様からの第1のルールケースと、前記第1のルールケースの出力とを指示し、前記第1のルールケースの前記出力は、単独で、または他の値との組み合わせで、前記第2のルールケースの入力関係性を満たすステップ、
を含む方法。 - 前記テストケースごとに、出力を生成するルールケースを識別するステップに応じて、生成されることになる前記出力の指示を格納または出力するステップをさらに含む、
請求項1に記載の方法。 - 前記セットのテストケースを受け取るステップは、
1セットのテスト列を含む表を受け取るステップを含み、前記各テスト列は、対応する前記1つのテストケースに対する前記1つ以上の可能な入力に対する値を収納する、
請求項1に記載の方法。 - テストケースごとに、かつそのテストケースに対する前記識別されたルールケースごとに、前記識別されたルールケースにより何の出力が生成されるかを指示するステップをさらに含む、
請求項1に記載の方法。 - テストケースごとに、かつそのテストデータセットに対する前記識別されたルールケースごとに、前記識別されたルールケースに出力を生成させる原因となった、前記テストケース内の1つ以上の前記入力値を識別するステップをさらに含む、
請求項1に記載の方法。 - テストケースごとに、前記各ルールケースに対して、そのルールケースのどの関係性が前記テストケース内の値により満たされたか、そしてどの関係性が満たされなかったかを指示するステップをさらに含む、
請求項5に記載の方法。 - 前記ルールケースには順序があり、前記テストケースごとの前記識別されたルールケースは、前記可能な入力に対する関係性のそれぞれが満たされる順序で第1のルールケースに対応する、
請求項1に記載の方法。 - 第2セットのルールケースを含む第2ルール仕様を受け取るステップをさらに含み、1つ以上の前記ルールケースは、第1ルール仕様の1つ以上の出力と前記第2ルール仕様の対応入力とに対する関係性を含む、
請求項1に記載の方法。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成することになる前記第2ルール仕様の内の1つの前記ルールケース、および前記第1ルール仕様の内の前記識別されたルールケースの前記出力を識別するステップをさらに含む、
請求項8に記載の方法。 - テストケースごとに、前記第2ルール仕様の出力の生成をもたらす前記第1および第2ルール仕様の入出力間の相互関係のグラフィック表示を生成するステップをさらに含む、
請求項9に記載の方法。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成する前記各ルールケースを指示するステップをさらに含む、
請求項1に記載の方法。 - ルールケースごとに、いくつの前記テストケースがそのルールケースに出力を生成させる前記可能な入力に対する値を有するかを指示するステップをさらに含む、
請求項1に記載の方法。 - 前記テストケースのそれぞれが出力を含み、前記識別されたルールケースで生成される前記出力が、前記テストケースに含まれる前記出力と一致するかどうかを決定するステップ、および
前記決定の結果を格納する、または通信するステップをさらに含む、
請求項1に記載の方法。 - テストケースごとに結果行を含むテーブルを生成するステップをさらに含み、前記各結果行は、前記テストケースの前記入力値を所与として前記ルール仕様により生成される出力を指示する、
請求項1に記載の方法。 - 各結果行において、生成されることになる前記出力が、前記ルール仕様の以前のバージョンに対して指示された出力から変更されるかどうかを指示するステップをさらに含む、
請求項14に記載の方法。 - ユーザーの結果行との相互作用に応じて、その結果行に前記出力を生成することになる識別された前記ルールケースを指示するステップをさらに含む、
請求項14に記載の方法。 - 1つの前記テストケースに対して、前記ルール仕様の各ルールケースに対応する評価行を含むテーブルを生成するステップ、および
前記表の各評価行において、可能な入力ごとに、前記テストケースにおけるその可能な入力に対する値が、その評価行に対応する前記ルールケースでその可能な入力に対する関係性を満たしたかどうかを指示するステップをさらに含む、
請求項14に記載の方法。 - 前記テストケースに対する前記識別されたルールケースに対応する前記表の評価行において、そのルールケースにより生成される前記出力を指示するステップをさらに含む、
請求項17に記載の方法。 - 前記評価行は、前記ルール仕様内の前記ルールケースの順序に対応する順序を有し、
前記出力が指示される前記評価行は、前記可能な入力に対するそれぞれの関係性が満たされる第1のルールケースに対応する、
請求項18に記載の方法。 - 前記可能な入力に対するそれぞれの関係性が前記テストケースにより満たされるルールケースに対応する前記各評価行で生成されることになる出力を指示するステップをさらに含む、
請求項17に記載の方法。 - 第2ルール仕様を受け取るステップは、第2セットのルールケースを含み、
テストケースごとに結果行を表示するステップは、前記テストケースの入力値を所与として第1または第2ルール仕様により生成される各出力を指示し、
ユーザーの、前記第2ルール仕様からのルールケースの出力を指示する結果行に指示される出力との相互作用に応じて、前記指示されるルールケースを指示するステップが、前記第1ルール仕様からのルールケースと、前記指示されるルールケースの入力関係性を満たすそのルールケースの出力とを指示するステップを含む、
請求項1に記載の方法。 - 前記テストケースのセットを受け取るステップは、
ユーザーから1セットの入力値を受け取るステップ、
前記入力値のセットを前記ルール仕様の可能な入力の値へ一致させるステップ、および
前記入力値のセットを表の列へ格納するステップを含む、
請求項1に記載の方法。 - 入力値のセットを受け取る前記ステップは、前記可能な入力の値の識別を表示するステップに応答する、
請求項22に記載の方法。 - 計算をテストするためのシステムであって、
第1のセットのルールケースを含む第1のルール仕様を受け取るための手段であって、前記各ルールケースは可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るための手段、
1セットのテストケースを受け取るための手段であって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るための手段、
前記テストケースごとに、前記テストケースの入力値を所与として出力を生成する前記第1のルール仕様内に含まれる前記ルールケースの内の1つを識別し、
第2のセットのルールケースを含む第2のルール仕様を受け取り、
前記テストケースごとに、前記テストケースの前記入力値を所与として、前記第1または第2のルール仕様によって生成された各出力を指示する結果行を表示し、および
前記第2のルール仕様から、第2のルールケースの出力を指示する結果行中で指示された出力とのユーザーの相互作用に応じて、前記第1のルール仕様からの第1のルールケースと、前記第1のルールケースの出力とを指示し、前記第1のルールケースの前記出力は、単独で、または他の値との組み合わせで、前記第2のルールケースの入力関係性を満たす
よう構成されるプロセッサ、
を備えるシステム。 - 計算をテストするための、コンピュータ読み取り可能媒体上に格納されたコンピュータプログラムであって、
第1のセットのルールケースを含む第1のルール仕様を受け取るステップであって、前記各ルールケースは、可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは、2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るステップ、
1セットのテストケースを受け取るステップであって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るステップ、
前記テストケースごとに前記テストケースの入力値を所与として出力を生成する前記第1のルール仕様内に含まれる前記ルールケースの内の1つを識別するステップ、
第2のセットのルールケースを含む第2のルール仕様を受け取るステップ、
前記テストケースごとに、前記テストケースの前記入力値を所与として、前記第1または第2のルール仕様によって生成された各出力を指示する結果行を表示するステップ、および
前記第2のルール仕様から、第2のルールケースの出力を指示する結果行中で指示された出力とのユーザーの相互作用に応じて、前記第1のルール仕様からの第1のルールケースと、前記第1のルールケースの出力とを指示し、前記第1のルールケースの前記出力は、単独で、または他の値との組み合わせで、前記第2のルールケースの入力関係性を満たすステップ、をコンピュータに実行させるための命令を含むコンピュータプログラム。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするための方法であって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と前記ルールケースがトリガされる場合に生成される対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記方法は、
実行環境において1セットの入力データでグラフ型計算を実行し、前記入力データの少なくともいくつかのアイテムのそれぞれに対し、少なくとも1つのルールケースがトリガされて、前記対応出力が生成されることをもたらし、少なくとも1つのルールケースはトリガされないステップ、
前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するステップ、および
前記実行環境とは別のテスト環境において、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するステップを含む方法。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするためのシステムであって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と前記ルールケースがトリガされる場合に生成される対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記システムは、
i.1セットの入力データで前記グラフ型計算を実行し、前記入力データの少なくともいくつかのアイテムのそれぞれに対し、少なくとも1つのルールケースがトリガされて、前記対応出力が生成されることをもたらし、少なくとも1つのルールケースはトリガされないように、および
ii.前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するように
構成された実行環境、および
前記実行環境とは別の、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するよう構成されたテスト環境を備えるシステム。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするための、コンピュータ読み取り可能媒体上に格納されたコンピュータプログラムであって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と前記ルールケースがトリガされる場合に生成される対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記コンピュータプログラムは、
実行環境において、
iii.1セットの入力データで前記グラフ型計算を実行し、前記入力データの少なくともいくつかのアイテムのそれぞれに対し、少なくとも1つのルールケースがトリガされて、前記対応出力が生成されることをもたらし、少なくとも1つのルールケースはトリガされないステップ、
iv.前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するステップ、および
前記実行環境とは別のテスト環境において、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するステップ、をコンピュータに実行させるための命令を含むコンピュータプログラム。 - 計算システムの関数成分の振舞いを指定するための方法であって、
ルールケースを定義する1セットの論理式を含むルール仕様を受け取るステップであって、各ルールケースは、可能な入力と前記ルールケースがトリガされる場合に生成される対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは2つ以上の論理式により定義され、前記ルール仕様が1セットの入力データに適用される場合に、前記入力データの少なくともいくつかのアイテムのそれぞれに対し、少なくとも1つのルールケースがトリガされて、前記対応出力が生成されることをもたらし、少なくとも1つのルールケースはトリガされないように前記ルールケースは設計されている、ルール仕様を受け取るステップ、
前記ルール仕様に基づいてデータを変換するための関数を生成するステップ、および
前記関数を関数成分と関係付けるステップを含む方法。 - 前記テストケースごとに、出力を生成するルールケースを識別することに応じて、生成されることになる前記出力の指示を格納または出力する手段をさらに含む、
請求項24に記載のシステム。 - 前記セットのテストケースを受け取る手段は、
1セットのテスト列を含む表を受け取る手段を含み、前記各テスト列は、対応する前記1つのテストケースに対する前記1つ以上の可能な入力に対する値を収納する、
請求項24に記載のシステム。 - テストケースごとに、かつそのテストケースに対する前記識別されたルールケースごとに、前記識別されたルールケースにより何の出力が生成されるかを指示する手段をさらに含む、
請求項24に記載のシステム。 - テストケースごとに、かつそのテストデータセットに対する前記識別されたルールケースごとに、前記識別されたルールケースに出力を生成させる原因となった、前記テストケース内の1つ以上の前記入力値を識別する手段をさらに含む、
請求項24に記載のシステム。 - テストケースごとに、前記各ルールケースに対して、そのルールケースのどの関係性が前記テストケース内の値により満たされたか、そしてどの関係性が満たされなかったかを指示する手段をさらに含む、
請求項33に記載のシステム。 - 前記ルールケースには順序があり、前記テストケースごとの前記識別されたルールケースは、前記可能な入力に対する関係性のそれぞれが満たされる順序で第1のルールケースに対応する、
請求項24に記載のシステム。 - 第2セットのルールケースを含む第2ルール仕様を受け取る手段をさらに含み、1つ以上の前記ルールケースは、第1ルール仕様の1つ以上の出力と前記第2ルール仕様の対応入力とに対する関係性を含む、
請求項24に記載のシステム。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成することになる前記第2ルール仕様の内の1つの前記ルールケース、および前記第1ルール仕様の内の前記識別されたルールケースの前記出力を識別する手段をさらに含む、
請求項36に記載のシステム。 - テストケースごとに、前記第2ルール仕様の出力の生成をもたらす前記第1および第2ルール仕様の入出力間の相互関係のグラフィック表示を生成する手段をさらに含む、
請求項37に記載のシステム。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成する前記各ルールケースを指示する手段をさらに含む、
請求項24に記載のシステム。 - ルールケースごとに、いくつの前記テストケースがそのルールケースに出力を生成させる前記可能な入力に対する値を有するかを指示する手段をさらに含む、
請求項24に記載のシステム。 - 前記テストケースのそれぞれが出力を含み、前記識別されたルールケースで生成される前記出力が、前記テストケースに含まれる前記出力と一致するかどうかを決定する手段、および
前記決定の結果を格納する、または通信する手段をさらに含む、
請求項24に記載のシステム。 - テストケースごとに結果行を含むテーブルを生成する手段をさらに含み、前記各結果行は、前記テストケースの前記入力値を所与として前記ルール仕様により生成される出力を指示する、
請求項24に記載のシステム。 - 各結果行において、生成されることになる前記出力が、前記ルール仕様の以前のバージョンに対して指示された出力から変更されるかどうかを指示する手段をさらに含む、
請求項42に記載のシステム。 - ユーザーの結果行との相互作用に応じて、その結果行に前記出力を生成することになる識別された前記ルールケースを指示する手段をさらに含む、
請求項42に記載のシステム。 - 1つの前記テストケースに対して、前記ルール仕様の各ルールケースに対応する評価行を含むテーブルを生成する手段、および
前記表の各評価行において、可能な入力ごとに、前記テストケースにおけるその可能な入力に対する値が、その評価行に対応する前記ルールケースでその可能な入力に対する関係性を満たしたかどうかを指示する手段をさらに含む、
請求項42に記載のシステム。 - 前記テストケースに対する前記識別されたルールケースに対応する前記表の評価行において、そのルールケースにより生成される前記出力を指示する手段をさらに含む、
請求項45に記載のシステム。 - 前記評価行は、前記ルール仕様内の前記ルールケースの順序に対応する順序を有し、
前記出力が指示される前記評価行は、前記可能な入力に対するそれぞれの関係性が満たされる第1のルールケースに対応する、
請求項46に記載のシステム。 - 前記可能な入力に対するそれぞれの関係性が前記テストケースにより満たされるルールケースに対応する前記各評価行で生成されることになる出力を指示する手段をさらに含む、
請求項45に記載のシステム。 - 第2ルール仕様を受け取る手段は、第2セットのルールケースを含み、
テストケースごとに結果行を表示する手段は、前記テストケースの入力値を所与として第1または第2ルール仕様により生成される各出力を指示し、
ユーザーの、前記第2ルール仕様からのルールケースの出力を指示する結果行に指示される出力との相互作用に応じて、前記指示されるルールケースを指示する手段が、前記第1ルール仕様からのルールケースと、前記指示されるルールケースの入力関係性を満たすそのルールケースの出力とを指示する手段を含む、
請求項24に記載のシステム。 - 前記テストケースのセットを受け取る手段は、
ユーザーから1セットの入力値を受け取る手段、
前記入力値のセットを前記ルール仕様の可能な入力の値へ一致させる手段、および
前記入力値のセットを表の列へ格納する手段を含む、
請求項24に記載のシステム。 - 入力値のセットを受け取る前記手段は、前記可能な入力の値の識別を表示する手段に応答する、
請求項50に記載のシステム。 - 前記テストケースごとに、出力を生成するルールケースを識別するステップに応じて、生成されることになる前記出力の指示を格納または出力するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - 前記セットのテストケースを受け取るステップは、
1セットのテスト列を含む表を受け取るステップを含み、前記各テスト列は、対応する前記1つのテストケースに対する前記1つ以上の可能な入力に対する値を収納する、
請求項25に記載のコンピュータプログラム。 - テストケースごとに、かつそのテストケースに対する前記識別されたルールケースごとに、前記識別されたルールケースにより何の出力が生成されるかを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - テストケースごとに、かつそのテストデータセットに対する前記識別されたルールケースごとに、前記識別されたルールケースに出力を生成させる原因となった、前記テストケース内の1つ以上の前記入力値を識別するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - テストケースごとに、前記各ルールケースに対して、そのルールケースのどの関係性が前記テストケース内の値により満たされたか、そしてどの関係性が満たされなかったかを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項55に記載のコンピュータプログラム。 - 前記ルールケースには順序があり、前記テストケースごとの前記識別されたルールケースは、前記可能な入力に対する関係性のそれぞれが満たされる順序で第1のルールケースに対応する、
請求項25に記載のコンピュータプログラム。 - 第2セットのルールケースを含む第2ルール仕様を受け取るステップをコンピュータに実行させるための命令をさらに含み、1つ以上の前記ルールケースは、第1ルール仕様の1つ以上の出力と前記第2ルール仕様の対応入力とに対する関係性を含む、
請求項25に記載のコンピュータプログラム。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成することになる前記第2ルール仕様の内の1つの前記ルールケース、および前記第1ルール仕様の内の前記識別されたルールケースの前記出力を識別するステップをコンピュータに実行させるための命令をさらに含む、
請求項58に記載のコンピュータプログラム。 - テストケースごとに、前記第2ルール仕様の出力の生成をもたらす前記第1および第2ルール仕様の入出力間の相互関係のグラフィック表示を生成するステップをコンピュータに実行させるための命令をさらに含む、
請求項59に記載のコンピュータプログラム。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成する前記各ルールケースを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - ルールケースごとに、いくつの前記テストケースがそのルールケースに出力を生成させる前記可能な入力に対する値を有するかを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - 前記テストケースのそれぞれが出力を含み、前記識別されたルールケースで生成される前記出力が、前記テストケースに含まれる前記出力と一致するかどうかを決定するステップ、および
前記決定の結果を格納する、または通信するステップをコンピュータに実行させるための命令をさらに含む、
請求項25に記載のコンピュータプログラム。 - テストケースごとに結果行を含むテーブルを生成するステップをコンピュータに実行させるための命令をさらに含み、前記各結果行は、前記テストケースの前記入力値を所与として前記ルール仕様により生成される出力を指示する、
請求項25に記載のコンピュータプログラム。 - 各結果行において、生成されることになる前記出力が、前記ルール仕様の以前のバージョンに対して指示された出力から変更されるかどうかを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項64に記載のコンピュータプログラム。 - ユーザーの結果行との相互作用に応じて、その結果行に前記出力を生成することになる識別された前記ルールケースを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項64に記載のコンピュータプログラム。 - 1つの前記テストケースに対して、前記ルール仕様の各ルールケースに対応する評価行を含むテーブルを生成するステップ、および
前記表の各評価行において、可能な入力ごとに、前記テストケースにおけるその可能な入力に対する値が、その評価行に対応する前記ルールケースでその可能な入力に対する関係性を満たしたかどうかを指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項64に記載のコンピュータプログラム。 - 前記テストケースに対する前記識別されたルールケースに対応する前記表の評価行において、そのルールケースにより生成される前記出力を指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項67に記載のコンピュータプログラム。 - 前記評価行は、前記ルール仕様内の前記ルールケースの順序に対応する順序を有し、
前記出力が指示される前記評価行は、前記可能な入力に対するそれぞれの関係性が満たされる第1のルールケースに対応する、
請求項68に記載のコンピュータプログラム。 - 前記可能な入力に対するそれぞれの関係性が前記テストケースにより満たされるルールケースに対応する前記各評価行で生成されることになる出力を指示するステップをコンピュータに実行させるための命令をさらに含む、
請求項67に記載のコンピュータプログラム。 - 第2ルール仕様を受け取るステップは、第2セットのルールケースを含み、
テストケースごとに結果行を表示するステップは、前記テストケースの入力値を所与として第1または第2ルール仕様により生成される各出力を指示し、
ユーザーの、前記第2ルール仕様からのルールケースの出力を指示する結果行に指示される出力との相互作用に応じて、前記指示されるルールケースを指示するステップが、前記第1ルール仕様からのルールケースと、前記指示されるルールケースの入力関係性を満たすそのルールケースの出力とを指示するステップをコンピュータに実行させるための命令を含む、
請求項25に記載のコンピュータプログラム。 - 前記テストケースのセットを受け取るステップは、
ユーザーから1セットの入力値を受け取るステップ、
前記入力値のセットを前記ルール仕様の可能な入力の値へ一致させるステップ、および
前記入力値のセットを表の列へ格納するステップを含む、
請求項25に記載のコンピュータプログラム。 - 入力値のセットを受け取る前記ステップは、前記可能な入力の値の識別を表示するステップに応答する、
請求項72に記載のコンピュータプログラム。 - 前記テストケースに前記ルールケースのそれぞれを適用するステップを含み、
一旦ルールケースがトリガされると、その他のルールケース、または前記ルール仕様内のケースは評価されない、請求項1に記載の方法。 - 計算をテストするための方法であって、
1セットのルールケースを含むルール仕様を受け取るステップであって、各ルールケースは、可能な入力と前記ルールケースがトリガされる場合に生成される対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは、1セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るステップ、
1セットのテストケースを受け取るステップであって、各テストケースは1つ以上の前記可能な入力に対する値を収納し、前記テストケースの少なくともいくつかのそれぞれに対して、少なくとも1つのルールケースがトリガされて、前記対応出力が生成されることをもたらし、少なくとも1つのルールケースはトリガされない、テストケースを受け取るステップ、
各テストケースに対し、前記テストケースの前記入力値を所与として出力を生成することになる前記ルール仕様内に含まれる前記ルールケースの内の1つを識別するステップ、および
前記出力を生成することになる前記識別されたルールケースと、トリガされないその他のルールケースとを表示し、前記識別されたルールケースの指示を提供するステップ、
を含む方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/733,434 US8069129B2 (en) | 2007-04-10 | 2007-04-10 | Editing and compiling business rules |
US11/733,434 | 2007-04-10 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013228076A Division JP5827296B2 (ja) | 2007-04-10 | 2013-11-01 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016029582A JP2016029582A (ja) | 2016-03-03 |
JP6216757B2 true JP6216757B2 (ja) | 2017-10-18 |
Family
ID=39535137
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010503118A Active JP5444208B2 (ja) | 2007-04-10 | 2008-03-27 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
JP2013228076A Active JP5827296B2 (ja) | 2007-04-10 | 2013-11-01 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
JP2015203699A Active JP6216757B2 (ja) | 2007-04-10 | 2015-10-15 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010503118A Active JP5444208B2 (ja) | 2007-04-10 | 2008-03-27 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
JP2013228076A Active JP5827296B2 (ja) | 2007-04-10 | 2013-11-01 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Country Status (8)
Country | Link |
---|---|
US (5) | US8069129B2 (ja) |
EP (5) | EP2521026A1 (ja) |
JP (3) | JP5444208B2 (ja) |
KR (3) | KR101560307B1 (ja) |
CN (2) | CN103218229B (ja) |
AU (1) | AU2008237503A1 (ja) |
CA (4) | CA3015741C (ja) |
WO (1) | WO2008124319A1 (ja) |
Families Citing this family (137)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US7777717B2 (en) * | 2006-04-05 | 2010-08-17 | Research In Motion Limited | Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation |
US8069129B2 (en) | 2007-04-10 | 2011-11-29 | Ab Initio Technology Llc | Editing and compiling business rules |
CA2698265C (en) * | 2007-09-20 | 2017-08-29 | Craig W. Stanfill | Managing data flows in graph-based computations |
US8234155B2 (en) * | 2007-11-30 | 2012-07-31 | Sap Ag | Method and system incorporating business rules and price optimization for financial system |
US20090182689A1 (en) * | 2008-01-15 | 2009-07-16 | Microsoft Corporation | Rule-based dynamic operation evaluation |
US9449298B2 (en) * | 2008-05-13 | 2016-09-20 | Emc Corporation | Managing complex dependencies in a file-based team environment |
DK2297178T3 (da) * | 2008-05-27 | 2014-09-01 | Genzyme Corp | Peptidanaloger af alpha-melanocytstimulerende hormon |
US9892009B2 (en) * | 2008-06-04 | 2018-02-13 | Oracle International Corporation | System and method for supporting a sliding window for testing an event processing system |
US10102091B2 (en) | 2008-06-04 | 2018-10-16 | Oracle International Corporation | System and method for supporting a testing framework for an event processing system using multiple input event streams |
WO2010002919A1 (en) * | 2008-06-30 | 2010-01-07 | Ab Initio Software Llc | Data logging in graph-based computations |
US20120102421A1 (en) * | 2010-10-22 | 2012-04-26 | Bigmachines, Inc. | Methods and apparatus for specifying and applying business rules in a product configurator |
CN102272752B (zh) | 2008-11-12 | 2015-07-08 | 起元技术有限责任公司 | 管理和自动链接数据对象 |
JP5257016B2 (ja) * | 2008-11-21 | 2013-08-07 | 富士通株式会社 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
WO2010065507A1 (en) * | 2008-12-02 | 2010-06-10 | Ab Initio Software Llc | Data maintenance system |
JP5525541B2 (ja) * | 2008-12-02 | 2014-06-18 | アビニシオ テクノロジー エルエルシー | データ管理システム内のデータセットのインスタンスのマッピング |
US9589066B2 (en) * | 2009-01-26 | 2017-03-07 | International Business Machines Corporation | System, method, and computer program product for generating a representative view for a multipage compilation of information |
AU2015203863C1 (en) * | 2009-01-30 | 2017-03-09 | Ab Initio Technology Llc | Processing data using vector fields |
AU2010208112B2 (en) * | 2009-01-30 | 2015-05-28 | Ab Initio Technology Llc | Processing data using vector fields |
WO2010093933A1 (en) * | 2009-02-13 | 2010-08-19 | Ab Initio Technology Llc | Communicating with data storage systems |
KR20150038758A (ko) | 2009-02-13 | 2015-04-08 | 아브 이니티오 테크놀로지 엘엘시 | 태스크 실행 관리 |
US10102398B2 (en) | 2009-06-01 | 2018-10-16 | Ab Initio Technology Llc | Generating obfuscated data |
KR20150040384A (ko) | 2009-06-10 | 2015-04-14 | 아브 이니티오 테크놀로지 엘엘시 | 테스트 데이터의 생성 |
US8205113B2 (en) * | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
AU2010295547B2 (en) * | 2009-09-16 | 2015-05-07 | Ab Initio Technology Llc | Mapping dataset elements |
US10845962B2 (en) | 2009-12-14 | 2020-11-24 | Ab Initio Technology Llc | Specifying user interface elements |
US20110173591A1 (en) * | 2010-01-13 | 2011-07-14 | Target Brands, Inc. | Unit Test Generator |
US9665620B2 (en) | 2010-01-15 | 2017-05-30 | Ab Initio Technology Llc | Managing data queries |
US8661454B2 (en) * | 2010-01-26 | 2014-02-25 | Target Brands, Inc. | System and method for receiving and transmitting event information |
US8370809B2 (en) * | 2010-03-18 | 2013-02-05 | Salesforce.Com, Inc. | System, method and computer program product for automated test case generation and scheduling |
WO2021099839A1 (en) | 2019-11-18 | 2021-05-27 | Roy Mann | Collaborative networking systems, methods, and devices |
WO2021024040A1 (en) * | 2019-08-08 | 2021-02-11 | Mann, Roy | Digital processing systems and methods for automatic relationship recognition in tables of collaborative work systems |
US11410129B2 (en) | 2010-05-01 | 2022-08-09 | Monday.com Ltd. | Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
CN107066241B (zh) * | 2010-06-15 | 2021-03-09 | 起元技术有限责任公司 | 用于动态加载基于图的计算的系统和方法 |
US20110320438A1 (en) * | 2010-06-29 | 2011-12-29 | Alcatel-Lucent Canada, Inc. | Rule summary |
CA2814835C (en) * | 2010-10-25 | 2019-01-08 | Ab Initio Technology Llc | Managing data set objects in a dataflow graph that represents a computer program |
WO2012094496A1 (en) * | 2011-01-07 | 2012-07-12 | Ab Initio Technology Llc | Flow analysis instrumentation |
KR101872748B1 (ko) | 2011-01-14 | 2018-06-29 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 콜렉션에 대한 변경 관리 방법 |
US9116759B2 (en) | 2011-02-18 | 2015-08-25 | Ab Initio Technology Llc | Restarting data processing systems |
US9021299B2 (en) | 2011-02-18 | 2015-04-28 | Ab Initio Technology Llc | Restarting processes |
US9116955B2 (en) | 2011-05-02 | 2015-08-25 | Ab Initio Technology Llc | Managing data queries |
US8805771B2 (en) * | 2011-09-19 | 2014-08-12 | International Business Machines Corporation | Contextual feedback of rules proximity based upon co-occurence history in a collaborative rule editing system |
US20130332241A1 (en) * | 2011-09-29 | 2013-12-12 | James Taylor | System and Method for Decision-Driven Business Performance Measurement |
AU2012340429B2 (en) | 2011-11-15 | 2016-12-01 | Ab Initio Technology Llc | Data clustering based on candidate queries |
JP2015502620A (ja) * | 2011-12-21 | 2015-01-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 矛盾するルールを伴うケースの検出 |
US9330117B2 (en) * | 2012-06-08 | 2016-05-03 | 24/7 Customer, Inc. | Business rules manager |
JP6338579B2 (ja) * | 2012-07-24 | 2018-06-06 | アビニシオ テクノロジー エルエルシー | データモデルにおけるエンティティのマッピング |
US9032362B2 (en) * | 2012-09-10 | 2015-05-12 | Sap Se | System and method for generating high performance calculators for calculation graphs |
US10489360B2 (en) | 2012-10-17 | 2019-11-26 | Ab Initio Technology Llc | Specifying and applying rules to data |
US20140114939A1 (en) * | 2012-10-19 | 2014-04-24 | Salesforce.Com, Inc. | System, method and computer program product for determining issues between rules |
US20140122377A1 (en) * | 2012-10-29 | 2014-05-01 | InRule Technology, Inc. | System and method for applying a business rule management system to a customer relationship management system |
US9507682B2 (en) | 2012-11-16 | 2016-11-29 | Ab Initio Technology Llc | Dynamic graph performance monitoring |
US10108521B2 (en) | 2012-11-16 | 2018-10-23 | Ab Initio Technology Llc | Dynamic component performance monitoring |
US9703822B2 (en) * | 2012-12-10 | 2017-07-11 | Ab Initio Technology Llc | System for transform generation |
US9575950B2 (en) * | 2012-12-11 | 2017-02-21 | Smartorg, Inc. | Systems and methods for managing spreadsheet models |
US9274926B2 (en) | 2013-01-03 | 2016-03-01 | Ab Initio Technology Llc | Configurable testing of computer programs |
US8972947B2 (en) * | 2013-01-09 | 2015-03-03 | Apple Inc. | Data presentation in integrated development environments |
US9892026B2 (en) | 2013-02-01 | 2018-02-13 | Ab Initio Technology Llc | Data records selection |
US9811233B2 (en) | 2013-02-12 | 2017-11-07 | Ab Initio Technology Llc | Building applications for configuring processes |
WO2014151789A1 (en) * | 2013-03-15 | 2014-09-25 | Trans Union Llc | System and method for developing business rules for decision engines |
US20150006225A1 (en) * | 2013-06-28 | 2015-01-01 | Shreevathsa S | Project management application with business rules framework |
JP2015011685A (ja) * | 2013-07-02 | 2015-01-19 | 株式会社プリマジェスト | ビジネスルール管理システム及びビジネスルール管理方法 |
JP6000213B2 (ja) * | 2013-09-19 | 2016-09-28 | 三菱電機株式会社 | コード生成システム、コード生成方法及びコード生成プログラム |
US9984059B2 (en) | 2013-09-27 | 2018-05-29 | Ab Initio Technology Llc | Evaluating rules applied to data |
AU2014360308B2 (en) | 2013-12-05 | 2018-11-29 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
WO2015085291A1 (en) | 2013-12-06 | 2015-06-11 | Ab Initio Technology Llc | Source code translation |
EP3084611A1 (en) | 2013-12-18 | 2016-10-26 | AB Initio Technology LLC | Data generation |
US11487732B2 (en) | 2014-01-16 | 2022-11-01 | Ab Initio Technology Llc | Database key identification |
WO2015137641A2 (ko) * | 2014-03-11 | 2015-09-17 | (주)이노룰스 | 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법 |
US10769122B2 (en) | 2014-03-13 | 2020-09-08 | Ab Initio Technology Llc | Specifying and applying logical validation rules to data |
JP6488317B2 (ja) | 2014-03-14 | 2019-03-20 | アビニシオ テクノロジー エルエルシー | キー指定される実体の属性のマッピング |
US9563845B1 (en) * | 2014-06-05 | 2017-02-07 | Amazon Technologies, Inc. | Rule evaluation based on precomputed results |
EP3191962B1 (en) | 2014-07-18 | 2019-12-11 | AB Initio Technology LLC | Managing parameter sets |
US9996528B2 (en) * | 2014-07-24 | 2018-06-12 | Seal Software Ltd. | Advanced clause groupings detection |
AU2015312006B2 (en) | 2014-09-02 | 2020-03-19 | Ab Initio Technology Llc | Managing invocation of tasks |
CN107077364B (zh) | 2014-09-02 | 2021-06-04 | 起元科技有限公司 | 基于特定数据端口连接的识别使用图组件的自动聚类的基于图的程序规范的编译 |
SG11201701631QA (en) | 2014-09-02 | 2017-03-30 | Ab Initio Technology Llc | Executing graph-based program specifications |
CN106687919B (zh) | 2014-09-02 | 2020-10-09 | 起元科技有限公司 | 用于控制多个组件的执行的方法、系统和计算机可读介质 |
CN106605209B (zh) | 2014-09-02 | 2020-05-12 | 起元科技有限公司 | 控制数据处理任务 |
KR102356771B1 (ko) | 2014-09-08 | 2022-01-27 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 구동 테스트 프레임워크 |
US9626393B2 (en) | 2014-09-10 | 2017-04-18 | Ab Initio Technology Llc | Conditional validation rules |
US11100513B2 (en) | 2014-10-10 | 2021-08-24 | Paymation, Inc. | Dynamic financial management system, method and device |
SG11201703061XA (en) * | 2014-10-20 | 2017-05-30 | Ab Initio Technology Llc | Specifying and applying rules to data |
US10055333B2 (en) | 2014-11-05 | 2018-08-21 | Ab Initio Technology Llc | Debugging a graph |
US10176234B2 (en) * | 2014-11-05 | 2019-01-08 | Ab Initio Technology Llc | Impact analysis |
US10437819B2 (en) | 2014-11-14 | 2019-10-08 | Ab Initio Technology Llc | Processing queries containing a union-type operation |
US10417281B2 (en) | 2015-02-18 | 2019-09-17 | Ab Initio Technology Llc | Querying a data source on a network |
EP3109763A1 (en) * | 2015-06-24 | 2016-12-28 | Tata Consultancy Services Limited | Method and system for generating functional test cases for software systems |
US10007594B2 (en) | 2015-07-21 | 2018-06-26 | International Business Machines Corporation | Proactive cognitive analysis for inferring test case dependencies |
US10657134B2 (en) | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
US11720571B2 (en) | 2015-08-17 | 2023-08-08 | Comcast Cable Communications, Llc | Unified description scheme for controlling and operating network connected devices |
US10742739B2 (en) | 2015-08-18 | 2020-08-11 | Comcast Cable Communications, Llc | Platform for controlling and operating network connected devices |
US20170063611A1 (en) * | 2015-08-28 | 2017-03-02 | Stringify Inc. | User Configuration Mechanism for Internet-of-Things (IOT) |
US10127264B1 (en) | 2015-09-17 | 2018-11-13 | Ab Initio Technology Llc | Techniques for automated data analysis |
KR102492871B1 (ko) * | 2015-12-15 | 2023-01-30 | 삼성전자주식회사 | 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법 |
US20170177446A1 (en) | 2015-12-21 | 2017-06-22 | Ab Initio Technology Llc | Search and retrieval data processing system for computing near real-time data aggregations |
EP3394739B1 (en) | 2015-12-21 | 2020-11-11 | AB Initio Technology LLC | Sub-graph interface generation |
WO2017123849A1 (en) | 2016-01-14 | 2017-07-20 | Ab Initio Technology Llc | Recoverable stream processing |
JP6604892B2 (ja) * | 2016-04-08 | 2019-11-13 | 株式会社日立製作所 | ルールテスト装置およびルールテスト方法 |
US10929281B1 (en) * | 2016-05-20 | 2021-02-23 | Jpmorgan Chase Bank, N.A. | Systems and methods for testing of data transformations |
KR101919489B1 (ko) * | 2016-07-28 | 2019-02-08 | (주)아이티아이즈 | 신용평가 시스템에서의 룰 매니저 방법 및 시스템, 그리고 이 방법을 실행시키기 위한 프로그램을 저장한 기록매체 |
US10127144B2 (en) | 2016-10-24 | 2018-11-13 | Cisco Technology, Inc. | Automated testing of code modules against individually relevant data sets |
KR101908556B1 (ko) * | 2017-01-03 | 2018-10-17 | (주)비아이매트릭스 | 갱신 레코드를 자동 추출하는 스프레드시트 기반 데이터베이스 자동 갱신 시스템 |
US10831509B2 (en) | 2017-02-23 | 2020-11-10 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11947978B2 (en) | 2017-02-23 | 2024-04-02 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US10782960B2 (en) * | 2017-06-06 | 2020-09-22 | Ab Initio Technology Llc | User interface that integrates plural client portals in plural user interface portions through sharing of one or more log records |
US10839351B1 (en) * | 2017-09-18 | 2020-11-17 | Amazon Technologies, Inc. | Automated workflow validation using rule-based output mapping |
US11423083B2 (en) | 2017-10-27 | 2022-08-23 | Ab Initio Technology Llc | Transforming a specification into a persistent computer program |
US11068540B2 (en) | 2018-01-25 | 2021-07-20 | Ab Initio Technology Llc | Techniques for integrating validation results in data profiling and related systems and methods |
GB201804904D0 (en) * | 2018-03-27 | 2018-05-09 | Palantir Technologies Inc | Code correction |
US11698890B2 (en) | 2018-07-04 | 2023-07-11 | Monday.com Ltd. | System and method for generating a column-oriented data structure repository for columns of single data types |
US11436359B2 (en) | 2018-07-04 | 2022-09-06 | Monday.com Ltd. | System and method for managing permissions of users for a single data type column-oriented data structure |
US11263533B2 (en) * | 2018-07-12 | 2022-03-01 | Sap Portals Israel Ltd. | Dynamic configurable rule representation |
SG11202012622WA (en) * | 2018-07-19 | 2021-01-28 | Ab Initio Technology Llc | Publishing to a data warehouse |
US10924545B2 (en) * | 2018-10-10 | 2021-02-16 | Citrix Systems, Inc. | Computer system providing mirrored SAAS application sessions and related methods |
WO2020243514A1 (en) * | 2019-05-31 | 2020-12-03 | Paymation, Inc. | A dynamic financial management system, method and device |
EP3748518A1 (en) * | 2019-06-06 | 2020-12-09 | Siemens Aktiengesellschaft | Designing and building an automation system to perform rule-based transformations on complex technical systems |
US11093223B2 (en) | 2019-07-18 | 2021-08-17 | Ab Initio Technology Llc | Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods |
US20210065016A1 (en) * | 2019-08-27 | 2021-03-04 | Sap Se | Automatic generation of computing artifacts for data analysis |
CN110632878B (zh) * | 2019-10-08 | 2022-06-28 | 上海宝阶智能科技有限公司 | 一种异构嵌入式表格化处理及执行动作流程的方法和装置 |
US11727323B2 (en) | 2019-11-18 | 2023-08-15 | Monday.Com | Digital processing systems and methods for dual permission access in tables of collaborative work systems |
JP2023511631A (ja) | 2020-01-28 | 2023-03-20 | アビニシオ テクノロジー エルエルシー | 計算グラフを生成するためのエディタ |
US11210285B2 (en) | 2020-03-06 | 2021-12-28 | Ab Initio Technology Llc | Generation of optimized logic from a schema |
IL297858A (en) | 2020-05-01 | 2023-01-01 | Monday Com Ltd | Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices |
US11829953B1 (en) | 2020-05-01 | 2023-11-28 | Monday.com Ltd. | Digital processing systems and methods for managing sprints using linked electronic boards |
US11277361B2 (en) | 2020-05-03 | 2022-03-15 | Monday.com Ltd. | Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems |
US11221727B1 (en) | 2020-09-08 | 2022-01-11 | Avaya Management L.P. | Visual interlocking block based programming method and system |
US20220138026A1 (en) * | 2020-11-04 | 2022-05-05 | International Business Machines Corporation | Sharing data structure values between software applications |
CN112700758A (zh) * | 2021-01-08 | 2021-04-23 | 吟飞科技(江苏)有限公司 | 基于灯光显示的打击乐垫控制器编辑方法 |
US11531452B2 (en) | 2021-01-14 | 2022-12-20 | Monday.com Ltd. | Digital processing systems and methods for group-based document edit tracking in collaborative work systems |
US11783269B1 (en) * | 2021-02-05 | 2023-10-10 | Palantir Technologies Inc. | Systems and methods for rule management |
WO2022177904A1 (en) | 2021-02-16 | 2022-08-25 | Ab Initio Technology Llc | Dynamic execution of parameterized applications for the processing of keyed network data streams |
US11954458B2 (en) * | 2022-04-26 | 2024-04-09 | Accenture Global Solutions Limited | Decision logic translation system and method |
US11741071B1 (en) | 2022-12-28 | 2023-08-29 | Monday.com Ltd. | Digital processing systems and methods for navigating and viewing displayed content |
US11886683B1 (en) | 2022-12-30 | 2024-01-30 | Monday.com Ltd | Digital processing systems and methods for presenting board graphics |
US11893381B1 (en) | 2023-02-21 | 2024-02-06 | Monday.com Ltd | Digital processing systems and methods for reducing file bundle sizes |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01277939A (ja) | 1988-04-30 | 1989-11-08 | Meidensha Corp | 推論トレース方式 |
JPH01296354A (ja) * | 1988-05-25 | 1989-11-29 | Hitachi Ltd | ルール型推論のデバッグ方式 |
JPH02275539A (ja) | 1989-04-17 | 1990-11-09 | Fuji Xerox Co Ltd | デバッグ処理方式 |
JPH03116330A (ja) * | 1989-09-29 | 1991-05-17 | Nippon Telegr & Teleph Corp <Ntt> | 表形式知識デバッグ方式 |
JPH0782439B2 (ja) * | 1990-01-26 | 1995-09-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 推論エンジンの実行監視方法及び装置 |
JPH04352029A (ja) * | 1991-05-29 | 1992-12-07 | Hitachi Ltd | ソースプログラム自動生成装置 |
JPH07334371A (ja) * | 1994-06-10 | 1995-12-22 | Fujitsu Ltd | 推論装置 |
US5615359A (en) | 1994-06-23 | 1997-03-25 | Candle Distributed Solutions, Inc. | Data server with data probes employing predicate tests in rule statements |
US5734886A (en) * | 1994-11-16 | 1998-03-31 | Lucent Technologies Inc. | Database dependency resolution method and system for identifying related data files |
US5832497A (en) * | 1995-08-10 | 1998-11-03 | Tmp Worldwide Inc. | Electronic automated information exchange and management system |
US5848393A (en) * | 1995-12-15 | 1998-12-08 | Ncr Corporation | "What if . . . " function for simulating operations within a task workflow management system |
US5966072A (en) * | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
JPH11215127A (ja) * | 1998-01-26 | 1999-08-06 | Fujitsu Ltd | 交換ネットワークの運用データ作成装置 |
US6782374B2 (en) * | 1998-12-22 | 2004-08-24 | Accenture Global Services Gmbh | System, method and article of manufacturing for a runtime program analysis tool for a simulation engine |
US6477520B1 (en) * | 1999-02-22 | 2002-11-05 | Yatra Corporation | Adaptive travel purchasing optimization system |
US6728879B1 (en) * | 1999-06-02 | 2004-04-27 | Microsoft Corporation | Transactional log with multi-sector log block validation |
JP2001100999A (ja) * | 1999-09-30 | 2001-04-13 | Mitsubishi Electric Corp | ルールベースシステム |
US8332740B2 (en) | 2000-01-19 | 2012-12-11 | Graham John D | Systems and method for management of intangible assets |
JP2001331362A (ja) | 2000-03-17 | 2001-11-30 | Sony Corp | ファイル変換方法、データ変換装置及びファイル表示システム |
JP2001282580A (ja) * | 2000-03-28 | 2001-10-12 | Ntt Comware Corp | プログラム試験装置、試験用プログラム作成装置、試験用プログラム作成方法及び情報記録媒体 |
US7215637B1 (en) | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US6865566B2 (en) | 2000-05-09 | 2005-03-08 | Fair Isaac Corporation | Approach for re-using business rules |
US7164422B1 (en) * | 2000-07-28 | 2007-01-16 | Ab Initio Software Corporation | Parameterized graphs with conditional components |
JP2002157262A (ja) * | 2000-11-20 | 2002-05-31 | Hitachi Ltd | 分類ルール定義支援方法 |
US7020869B2 (en) | 2000-12-01 | 2006-03-28 | Corticon Technologies, Inc. | Business rules user interface for development of adaptable enterprise applications |
US20030120593A1 (en) * | 2001-08-15 | 2003-06-26 | Visa U.S.A. | Method and system for delivering multiple services electronically to customers via a centralized portal architecture |
JP2003099855A (ja) * | 2001-09-20 | 2003-04-04 | Mitsubishi Electric Information Systems Corp | 会員カード装置、会員カード処理方法、会員カード処理プログラム、及び、会員カード処理プログラムを記録した記録媒体 |
JP2003208307A (ja) * | 2002-01-16 | 2003-07-25 | Hitachi Software Eng Co Ltd | ソースプログラム生成システム |
US7107285B2 (en) * | 2002-03-16 | 2006-09-12 | Questerra Corporation | Method, system, and program for an improved enterprise spatial system |
US20040008140A1 (en) | 2002-04-15 | 2004-01-15 | Sengupta Louise C. | Frequency agile, directive beam patch antennas |
CA2482956A1 (en) * | 2002-04-19 | 2003-10-30 | Computer Associates Think, Inc. | System and method for providing inferencing services |
US8417678B2 (en) | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
AU2003265335A1 (en) | 2002-07-30 | 2004-02-16 | Deepfile Corporation | Method and apparatus for managing file systems and file-based data storage |
US8612404B2 (en) | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
EP1543472A2 (en) * | 2002-08-09 | 2005-06-22 | Corticon Technologies, Inc. | Rule engine |
US7676387B2 (en) * | 2002-10-31 | 2010-03-09 | Computer Sciences Corporation | Graphical display of business rules |
US20040085357A1 (en) * | 2002-10-31 | 2004-05-06 | Childress Allen B. | Method of generating a graphical display of a business rule and associated business rule elements |
US20040210661A1 (en) * | 2003-01-14 | 2004-10-21 | Thompson Mark Gregory | Systems and methods of profiling, matching and optimizing performance of large networks of individuals |
JP2004227396A (ja) * | 2003-01-24 | 2004-08-12 | Nippon Steel Corp | プログラムテスト支援装置、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体 |
EP1629358A4 (en) * | 2003-06-04 | 2009-11-04 | Fair Isaac Corp | RELATIONAL LOGIC MANAGEMENT SYSTEM |
BRPI0412400A (pt) | 2003-07-08 | 2006-09-05 | Us Lynx Llc | sistema automatizado de publicação que facilita a edição e a responsabilidade colaborativas através de arquitetura de documento virtual |
JP2005038253A (ja) | 2003-07-16 | 2005-02-10 | Nec Electronics Corp | テスト方法、テストシステム、及び、プログラム |
WO2005022417A2 (en) | 2003-08-27 | 2005-03-10 | Ascential Software Corporation | Methods and systems for real time integration services |
ATE515746T1 (de) | 2003-09-15 | 2011-07-15 | Ab Initio Technology Llc | Datenprofilierung |
JP2005122509A (ja) * | 2003-10-17 | 2005-05-12 | Hitachi Ltd | 階層構造データ分析方法、分析装置および分析プログラム |
US7631296B2 (en) * | 2004-04-30 | 2009-12-08 | Microsoft Corporation | Rules framework for definition and execution of end-user rules logic |
JP2005321892A (ja) * | 2004-05-06 | 2005-11-17 | Nec Corp | プログラムテスト支援装置及びプログラムテスト支援方法 |
US20060112061A1 (en) * | 2004-06-24 | 2006-05-25 | Masurkar Vijay B | Rule based engines for diagnosing grid-based computing systems |
US7899833B2 (en) | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
US7426688B2 (en) | 2004-11-02 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Embedded spreadsheet commands |
US7428520B2 (en) * | 2004-11-15 | 2008-09-23 | Becton, Dickinson And Company | Graphical user interface for use with open expert system |
US7461042B2 (en) | 2004-11-17 | 2008-12-02 | Long Jeffrey G | Method, system, and program for defining and managing complex contingent rules, and exceptions thereto, in a rule-based computer system |
US8468125B2 (en) | 2005-04-12 | 2013-06-18 | International Business Machines Corporation | Automatically moving multidimensional data between live datacubes of enterprise software systems |
US7401061B2 (en) * | 2005-06-14 | 2008-07-15 | Lehman Brothers Inc. | Attribute engine |
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US20070021995A1 (en) * | 2005-07-20 | 2007-01-25 | Candemir Toklu | Discovering patterns of executions in business processes |
CN101291624B (zh) | 2005-10-18 | 2011-10-19 | 皇家飞利浦电子股份有限公司 | 用于pet/spect成像的病人扫描时间优化 |
GB0617449D0 (en) * | 2006-09-06 | 2006-10-18 | Ibm | An apparatus for providing a visual representation of a sub-set of a visual program |
US7836004B2 (en) | 2006-12-11 | 2010-11-16 | International Business Machines Corporation | Using data mining algorithms including association rules and tree classifications to discover data rules |
US8069129B2 (en) | 2007-04-10 | 2011-11-29 | Ab Initio Technology Llc | Editing and compiling business rules |
US8595231B2 (en) | 2007-04-26 | 2013-11-26 | International Business Machines Corporation | Ruleset generation for multiple entities with multiple data values per attribute |
US7610294B2 (en) | 2007-05-31 | 2009-10-27 | International Business Machines Corporation | Multidimensional data cube validation |
US8347207B2 (en) | 2007-07-16 | 2013-01-01 | International Business Machines Corporation | Automatically moving annotations associated with multidimensional data between live datacubes |
US8190562B2 (en) | 2007-10-31 | 2012-05-29 | Microsoft Corporation | Linking framework for information technology management |
US8645434B2 (en) | 2008-03-18 | 2014-02-04 | Apple Inc. | Techniques for schema production and transformation |
US8073801B1 (en) * | 2008-05-30 | 2011-12-06 | The Decision Model Licensing, LLC | Business decision modeling and management system and method |
US8429614B2 (en) | 2008-06-23 | 2013-04-23 | International Business Machines Corporation | Method and apparatus of effective functional test data generation for web service testing |
AU2010208112B2 (en) | 2009-01-30 | 2015-05-28 | Ab Initio Technology Llc | Processing data using vector fields |
US8725660B2 (en) | 2009-07-30 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Applying non-linear transformation of feature values for training a classifier |
US8301413B2 (en) | 2009-10-30 | 2012-10-30 | Bank Of America Corporation | Testing analytics tool |
WO2011053891A2 (en) | 2009-10-31 | 2011-05-05 | Rutgers, The State University Of New Jersey | Virtual flow pipelining processing architecture |
US20110255789A1 (en) | 2010-01-15 | 2011-10-20 | Copanion, Inc. | Systems and methods for automatically extracting data from electronic documents containing multiple layout features |
US8438533B2 (en) | 2010-04-26 | 2013-05-07 | Sag Ag | Performance-related decision support for compositions of process modeling environments |
US9298687B2 (en) | 2010-11-29 | 2016-03-29 | Red Hat, Inc. | Automatic spreadsheet formula output validation |
US20120209800A1 (en) | 2011-02-11 | 2012-08-16 | Microsoft Corporation | Business rules |
-
2007
- 2007-04-10 US US11/733,434 patent/US8069129B2/en active Active
-
2008
- 2008-03-27 KR KR1020097021155A patent/KR101560307B1/ko active IP Right Grant
- 2008-03-27 KR KR1020137009402A patent/KR101738651B1/ko active IP Right Grant
- 2008-03-27 AU AU2008237503A patent/AU2008237503A1/en not_active Abandoned
- 2008-03-27 EP EP12166032A patent/EP2521026A1/en not_active Ceased
- 2008-03-27 EP EP09012430A patent/EP2138934A1/en not_active Withdrawn
- 2008-03-27 CA CA3015741A patent/CA3015741C/en active Active
- 2008-03-27 CA CA2868236A patent/CA2868236C/en active Active
- 2008-03-27 CN CN201310126429.0A patent/CN103218229B/zh active Active
- 2008-03-27 JP JP2010503118A patent/JP5444208B2/ja active Active
- 2008-03-27 EP EP15177169.8A patent/EP2958016B1/en active Active
- 2008-03-27 CA CA3070176A patent/CA3070176C/en active Active
- 2008-03-27 EP EP08732897A patent/EP2135160A1/en not_active Ceased
- 2008-03-27 CN CN200880011618A patent/CN101702942A/zh active Pending
- 2008-03-27 WO PCT/US2008/058360 patent/WO2008124319A1/en active Application Filing
- 2008-03-27 EP EP18175608.1A patent/EP3454205B1/en active Active
- 2008-03-27 CA CA2679990A patent/CA2679990C/en active Active
- 2008-03-27 KR KR1020167036579A patent/KR101864673B1/ko active IP Right Grant
-
2011
- 2011-11-14 US US13/295,701 patent/US8386408B2/en active Active
- 2011-11-14 US US13/295,760 patent/US8380651B2/en active Active
-
2012
- 2012-08-31 US US13/601,416 patent/US9002770B2/en active Active
-
2013
- 2013-11-01 JP JP2013228076A patent/JP5827296B2/ja active Active
-
2015
- 2015-04-02 US US14/677,063 patent/US9589232B2/en active Active
- 2015-10-15 JP JP2015203699A patent/JP6216757B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6216757B2 (ja) | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム | |
EP2324434A1 (en) | Data logging in graph-based computations | |
AU2021201067B2 (en) | Editing and compiling business rules | |
AU2016202201B2 (en) | Editing and compiling business rules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161124 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170424 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170925 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6216757 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |