JP2010524134A - ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム - Google Patents
ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム Download PDFInfo
- Publication number
- JP2010524134A JP2010524134A JP2010503118A JP2010503118A JP2010524134A JP 2010524134 A JP2010524134 A JP 2010524134A JP 2010503118 A JP2010503118 A JP 2010503118A JP 2010503118 A JP2010503118 A JP 2010503118A JP 2010524134 A JP2010524134 A JP 2010524134A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- output
- input
- test
- case
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000004590 computer program Methods 0.000 title claims description 11
- 230000014509 gene expression Effects 0.000 claims abstract description 101
- 230000009466 transformation Effects 0.000 claims abstract description 51
- 238000004364 calculation method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 11
- 238000012360 testing method Methods 0.000 claims description 260
- 230000006870 function Effects 0.000 claims description 48
- 238000011156 evaluation Methods 0.000 claims description 38
- 230000008859 change Effects 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 5
- 238000006243 chemical reaction Methods 0.000 description 69
- 238000013507 mapping Methods 0.000 description 50
- 230000001960 triggered effect Effects 0.000 description 22
- 239000013598 vector Substances 0.000 description 10
- 244000035744 Hura crepitans Species 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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)
Abstract
【選択図】 図1C
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」。出力フィールドには、上のセルで計算された値と同じ値が割り当てられる。
意図した通りにルールセットが動作するか否かの評価を支援するために、ルールセットにテストデータセットを含めることができる。ルールセットのためのこのテストデータセットは、例えば、図3に示すような、プロトタイプ入力と期待される出力とのセットである。テストデータセットは、ルールが参照するフィールドごとに1つの行402a〜402eと、出力ごと(この実施例では1つしかない)に1つの行404とを有するスプレッドシート様の表400で構成される。次いで、ユーザーは、テストデータおよび期待される結果の列406a〜406rに表されるテストケースを作成する。このテストデータはルールと併せて保存される。図3の実施例は、図2A〜図2Bのルールに対する可能な入力402a〜402eと、意図される出力404を収納する。フリークエントフライヤーマイル数および座席割り当ての様々な組合せ406に対して、搭乗グループ404について計算すべき事柄(図示したよりずっと多い可能な入力の組合せがある)を示す。実施例によっては、テスト入力には全てのルックアップ内の全ての変数に対する値が含まれる。テスト入力には、全てのパラメータに対する値、および現在の日付または時間を参照する何らかのルールに対して、「今」として使用するための値も含まれる。個々のユニットをテストするために、テスト入力には、任意の被包含セットに対する値を含めることができ、それにより、包含ルールセットをテストする場合、被包含ルールセットを評価する必要がなくなる。
上記のように、変換式はルールセットから生成される。ルールセットは以下の属性を有する。
上記のように、各ルールセットは、変数および定数が関係する表のセットを有する。実施例によっては、これらの表は、ルールセットに固有であり、ルールセット間で共有することはできない。変数および定数の表はいくつかの目的で使用される:
1.ルールセットが使用する入力変数と、ルールセットが生成し、計算する出力変数との最終的なリストとして。
2.編集中に利用可能なビジネス名のリストとして。編集中に本システムは、変数および定数のビジネス名のリストを提示する。このリストは、変数および定数の表によってもたらされる。
3.ビジネス名を技術名へ読み替えるマッピング表として。このルールはビジネス名を含む(後述するように、テキストで、DMLプリプロセッサ指令の内部で)。変換式が生成されると、ビジネス名は技術名またはDMLの式により置換される。入力変数および出力変数のような表のいくつかは、多数のデータセットを有することができ、それぞれがビジネス名に対して異なる技術名を有する。使用される読替法は展開に依存する(詳細は後述する)。
1.入力の変数および定数の表。変換式型ルールセットでは、この表は、ルール内で参照される入力レコードフォーマットのフィールドを収納する。レコードフォーマットでのフィールド全てをリストにする必要はないが、普通はそうする。結合型ルールセットでは、多数の入力表があり、各表は結合操作に対して1つの入力データセットを表す。
2.全ての被包含ルールセットのための入力の変数および定数の表。被包含ルールセットを用いる場合、各被包含ルールセットは、それ自体の入力の変数および定数の表を有する。変換式が立てられると、被包含ルールセットが使用する入力変数を、包含を行うルールセットに照らして実際の入力にマッピングしなければならない。従って、このリストは包含ルールセットへ展開される。多数の被包含ルールセットを包含する場合、各入力変数の表が展開される(被包含ルールセットがルールセットを包含する場合、第2レベル変数は展開されない)。被包含ルールセットから展開される入力の変数および定数は、包含ルールセットでの使用には利用できない。この表は単に包含されるだけなので、マッピングは、被包含ルールセットへの入力と包含ルールセットへの入力との間で確立できる。詳細については後述する。
3.全ての被包含ルールセットの出力の変数および定数の表。ルールセットが既に包含されている場合、これらの被包含ルールセットの出力は、包含ルールセットへの入力となる。この表はこれら変数全てをリストにする。この表は、初期状態では、全ての被包含ルールセット内の出力の変数および定数の表から直接読み込まれる。但し、ビジネス名を変更して名前衝突を避けることができる。この表において、技術名は被包含ルールセット内部のビジネス名のままである。
4.出力の変数および定数の表。変換式型ルールセットでは、この表は、ルールセットが計算する出力レコードフォーマットのフィールドを収納する。計算されない出力変数は包含されることができるが、ルールセットにより無視されることになる。(生成される変換式は、入力を出力へコピーするワイルドカードのルールを有する。更に、出力により、既定値を包含させることができるだろう。)
出力変数を中間変数として用いることもできるが、これは1つのルールから生成される出力の値が後のルールで参照できることを意味する。時には、出力をこの方法だけで使用する。出力が、変換式から出力レコード内へ直接的に包含されることはあり得ない。
5.パラメータの表。ルールパラメータへの参照を含む。パラメータは、グラフのパラメーターセットに照らしてランタイム時に変形される。パラメータは、他の変数と同様に、ルールセット内にビジネス名、技術名(例えば、$RUNDATE)および型を有する。
6.ルックアップファイルごとの変数マッピングの表。これらは入力表と同様であるが、ルックアップファイル用のレコードフォーマットでフィールドへマッピングする。
変数は以下の特性を有し、表形式でユーザーに提示される:
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.オプションとしての説明およびコメント
変数の各種表は、変数だけでなく定数のマッピングも含む。定数はC++のenumに対応する。本ソフトウエアは、正当な値および不当な値に由来する初期状態の定数値、ならびに正当な範囲および不当な範囲に由来する初期状態の定数範囲をサポートできる。さらに異なる値および/または範囲のセットを表す定数を生成することができる。
1.変数名。全ての定数は1つの変数だけに適用される。変数名は、実際には関係する変数自体の一部である。
2.ビジネス名。ビジネス名はルールで使用される名前である。名前は値で示す識別子でなくてもよい。具体的には、内部スペースおよび句読点が許される。定数に対するビジネス名は、適用する変数の範囲で一意でなければならないということだけである。
3.定数型。値、範囲、またはセットの内の1つ。上記したように、範囲およびセットは、比較で用いる場合(入力)のみ必須であるが、割り当てで用いる場合(出力)は必須ではない。
4.値に関して:実際値。本実施例では、文字列は引用符で囲み、数字は囲まない方がよい。日付および日時は、既定形式にて引用符で囲むのがよい(例えば「“YYYY-MM-DD”」)。式が変数型へ自動変換される単純な型を返す限り、式を用いてもよい。
定数が、被包含ルールセットの入力または出力のテーブルの一部である場合、値は存在しない。その代わり、値は、対応する入力または出力の変数に対する関係定数のビジネス名である。
5.範囲に関して:最小値および最大値。ともに、上記実際値とまさに同じく、定数または式である。範囲は、ルール内比較の簡易表現として使用される。等式による比較だけが範囲に許され、本ソフトウエアは、範囲を「変数>=最小値および変数<=最大値」に読み替える。最小値が規定されない場合、その部分の比較はスキップされる。最大値についても同様である。範囲は、コンマで最小値と最大値を区切って実際に格納される。
6.セットに関して:コンマで区切った値のリスト。リストの各要素は、上記実際値とまさに同じく定数または式である。等式による比較だけがセットに許され、本ソフトウエアは、セットを「[値のベクトルリスト]の変数メンバー」の形式で式に読替える。
7.オプションとしての説明およびコメント
入力として用いられるもの全ては、全ルールセット内で一意の名前を持たねばならないことが一般的である。これには、入力変数のビジネス名、パラメータのビジネス名、および全ての被包含ルールセットの出力にマッピングされるビジネス名が含まれる。入力操作に関しては、異なる入力セット内の入力変数は同一名を持てる。同一名は、例えば、入力セットのビジネス名に対応する接頭語により、曖昧さを解消できる。
循環ロジックを防ぐために、本ソフトウエアは、変数およびルールの厳格な序列を実施する。全般的な序列は以下の通りである:
1.入力変数およびパラメータ。
2.第1の被包含ルールセットの入力マッピング。
3.第1の被包含ルールセットの出力値。
4.N番目の被包含ルールセットの入力マッピング。
5.N番目の被包含ルールセットの出力値。
6.第1のルックアップファイルの既定キー値。
7.第1のルックアップファイルの出力フィールド。
8.N番目のルックアップファイルの既定キー値。
9.N番目のルックアップファイルの出力フィールド。
10.全ての出力変数の既定値。
実施例によっては、入力変数の表は、入力データセットレコード形式から直接得られ、ビジネス名は入力データセットのメタデータから得られる。しかし、実施例によっては、ルールセット内にこのマッピングのコピーを持つと便利である。第1に、ルールセット内に変数マッピング表のコピーを持つことにより、生成環境の状況から外れてルールセットを編集できるようになる。ルールセットと関係するルールとは、サンドボックス内でシリアル化し、サンドボックスプロジェクトの一部として編集できる。第2に、入力変数マッピング表のコピーを持つことにより、コンフリクトをユーザーが解決するか、または既存のメタデータを書き換えることができる。例えば、入力データセット内の2つのフィールドが同じビジネス名にマッピングされたとすると、これらのビジネス名の1つを入力変数表の中で変更できる。
1.フィールド(物理要素)が表示名を有する場合、フィールドの表示名をビジネス名として用いる。
2.それ以外の、フィールドが論理要素をもち、論理要素が表示名を有する場合、論理要素の表示名がビジネス名として用いられる。
3.それ以外の、フィールドが論理要素を有する場合、論理要素名がビジネス名として用いられる。
4.それ以外の場合、ビジネス名は技術名から算出される。
1.正当な値(正当な範囲等)が表示名を有する場合、表示名をビジネス名として用いる。
2.それ以外の、正当な値(正当な範囲等)が記述を有する場合、その記述がビジネス名として用いられる。
3.それ以外の場合、定数は、ビジネス名なしで変数表に含まれる。
実施例によっては、ルールセットを共有できる。詳細には、被包含ルールセットは、別のルールセット内部に包含されるように設計されるので、その論理は包含ルールセットの生成変換式の一部となる。
―包含ルールセット内の名前を、共用ルールセット内の対応する名前にマッピングする表―を有する。
共用ルールセットの入力および出力の変数のための定数が、被包含ルールセットのマッピング表内に包含される。変数自体と同様に、共用ルールセットが使用する定数をマッピングしなければならない。入力変数では、共用ルールセットは、フィールドを入力表で定義される定数と内部比較できる。別のルールセット内に共用ルールセットが包含される場合、その入力変数の定数は、包含ルールセットに重ねてコピーされる。次いで、ユーザーは、包含ルールセットに関連してその値を書き換えることができる。通常は、共用ルールセットの入力変数と包含ルールセット内の変数との間のマッピングをユーザーが定義した場合、2つの変数間の定数はよく調和する。そうでない場合、ユーザーは、共用ルールセットが定義するどれかの定数値に技術的な値を提供する必要がある。
ルールセットは、オプションとして1つ以上のルックアップファイルを有することができる。ルールセット内のルックアップファイルはそれぞれ以下の情報を含む:
1.ルックアップファイルのビジネス名。
2.オプションの説明およびコメント。
3.キーを作成するフィールドのビジネス名のリスト。これらの名前は、ルックアップファイルが式に追加される場合に用いられるので、ユーザーは次のような文を提示される:lookup(My Lookup File, <顧客名キー>,
<アカウント形式キー>).
4.キーそれぞれの既定の式のリスト。
5.ルックアップファイルの技術名。実施例によっては、これを展開の中で書き換えることができる。
6.1つ以上のルックアップデータセット。各ルックアップファイルは、本システム内で、ルールセットが入力データセットと結合されているのと全く同様に、データセットに緩く結合している。既定設定により、ルールセット内の各ルックアップファイルと関係する1つのルックアップデータセットがあるが、代わりの展開で使用するためのもっと多くのルックアップデータセットを存在させることができる。
7.入力の変数および定数の表。これはルックアップファイルごとに1つの表があることを除いて、ルールセットの入力の変数および定数の表と全く同じである。入力変数と同様に、ルックアップファイルの入力の変数および定数の表は、関係するルックアップデータセットそれぞれに対応する多数の技術名を有することができる。
ルールセットはパラメータを参照できる。実施例によっては、各ルールセットは、オプションのパラメータ表を有し、その表は、変数表と同様に、パラメータのビジネス名を技術名にマッピングする。パラメータ表の各項目は以下の属性を有する:
1.ビジネス名。ビジネス名は、ルール本体に現れるときのパラメータの名前である。一般に、パラメータは、入力変数が使用されるところではどこでも使用できる。
2.技術名。これは、開発環境におけるパラメータの名前である。
3.パラメータの型(文字列、10進数、日付、日時)。生成された変換式で、パラメータは必要に応じて他の型に変換できる。
4.オプションについての説明およびコメント。
変換式の生成または更新の一部は、変換式が、対応するルールをテストすることである。ルールは検証もされる。すなわち、ルールのシンタックスおよびセマンティックの一貫性がチェックされる。検証とは対照的に、テストはルールの実行を伴い、例えば、期待される出力がもたらされるか、または出力を期待値と手動で比較することにより、ユーザーが正当性を判定する。
1.ルックアップファイルに関して:ユニットテストモードでは、テストケースごとに各ルックアップ変数の値がテストの一部として定義される。キーは規定されない:テストが実行された場合、テストケースごとに、ルックアップ変数ごとに同一の値を前提とする。テストデータセットは、多数のテストケースを収納し、各テストケースは、ルックアップ変数ごとに異なる値を規定できる。ファイルテストモードでは、実際のルックアップファイルが用いられる。この意味は、異なるキーが異なる値を返すということであるが、特定のキーに対する何らかの所与のルックアップ変数に用いられる値がテスト中に変更できないということも意味する。
2.被包含ルールセットに関して:ユニットテストモードでは、被包含ルールセットは実行されず、完全である必要すらない。その代わりに、各被包含ルールセットからの出力ごとに、テストデータセット内で値を指定する。ファイルテストモードでは、被包含ルールセットが、稼働中に実行されるはずの方法で実行される。この意味は、被包含ルールセットが必要とする何らかのルックアップファイルまたはパラメータをも、テスト時に指定しなければならないということである。
3.パラメータに関して:ユニットテストモードでは、各テストケースに対してパラメータごとに異なる値を設定できる。ファイルテストモードでは、各パラメータの値はテスト全体に対して定数である。
4.現在の日付に関して:テスト時に、ルールが現在の日付または時間を参照する場合、ユーザーは、現在の日時に対して想定すべき値を指定する。ユニットテストモードでは、日付および時間はテストケースごとに異なっていてもよい。ファイルテストモードでは、テスト全体に対して単一の日付および時間の値が設定される(この値は、テストが実行時のマシンの日付および時間と異なっていてもよい。
5.レコードフォーマットおよびマッピングに関して:ユニットテストではマッピングを指定する必要はなく、テストは変数のビジネス名に基づいて全体的に実施される。ファイルテストでは、全ての変数は技術名にマッピングされ、入力、出力およびルックアップのレコードフォーマットが指定される。
1.入力データセットの物理場所。これは、入力データセットごとに入力変数表内のルールセットに格納される。結合型データセットでは、全ての物理場所が必要である。物理場所が必要な場合、データベース内の表の名前を用いることができる。
1.入力データセットのレコードフォーマット。既定設定によれば、これは入力データセット用のデータセット定義から得られる。サンドボックス内で点検された別のレコードフォーマットでこれを書き換えるための場所が入力変数内にある。結合型変換式では全てのレコードフォーマットが必要である。
2.どの展開を使用するか。
3.全てのルックアップファイルの物理場所。これはルックアップファイル表内に格納される。
4.ルックアップファイルごとのレコードフォーマット。ルックアップファイルそれぞれと関係するデータセット定義から、または書き換えレコードフォーマットファイルから得られる。
5.パラメータごとの値。テストパラメータダイアログ内で設定される。
6.出力ファイルの物理場所。回帰(比較)テストを行う場合にだけ必要である。出力変数表に格納される。
7.出力ファイル用のレコードフォーマット。上記と同様に、回帰テストを行う場合にだけ必要であり、出力データセット定義から、またはオプションの書き換えレコードフォーマットファイルから得られる。
8.プロジェクトサンドボックスの場所。テストはホスト上のサンドボックスの外で行わねばならない。サンドボックスは、ルールセットを収納するプロジェクトの点検済みコピーでなければならない。全てのレコードフォーマットファイルは、サンドボックスから得られる。
9.ルールが「今」、「今日」または類似の値を参照する場合の日付および時間に使用する値。
実施例によっては、上記のように、ユーザーがルールセットに対してテストデータセットを実行すると、トリガーされたどのルールも追跡することができる、すなわち、優先度が高いルールケースも、その全ての入力条件を満たさなかったとしても、全ての入力条件を満たすようにしたルールケースが、出力を生成したはずである。テストデータを処理した後、本ソフトウエアはテスト出力データを後処理し、どのテストケースにもトリガーされなかった全てのルールまたはルールケースのリストを生成できる。この情報は、エディタ内のルールの表示上にオーバーレイして、どのルールがトリガーされたか、またはされなかったかをユーザーに直ちに示すことができる。この情報から、ユーザーは他のルールにより覆い隠されている可能性のあるルール、すなわち、重なりあっているルールを探すことができる。ルールケースごとにカウントを示すこともできる。カウントは、ルールケースがトリガーされたかどうかを知ることと同じくらい有用なことがあり、特に、出力の所望の分布を達成するよう値を調整し、性能を調整するのに最適なルールセットを識別するのに有用である。
ビジネスルールは、各ルールセットを変換式へ変換することにより、アプリケーション(グラフ)で評価される。次いで、変換式をグラフ内の成分へ貼り付ける。そのような成分は、変換式を実行するために特定の方法でリンクされる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 (55)
- 計算システムの関数成分の振舞いを規定するための方法であって、
少なくとも1つの入力列および少なくとも1つの出力列を有する表を生成するためのユーザーインターフェースを提供するステップであって、前記各入力列は入力変数と関係付けられ、前記各出力列は出力変数と関係付けられる、ユーザーインターフェースを提供するステップ、
前記表の少なくとも1つの行で、前記それぞれの入力列の入力値についての1つ以上の条件を受け取るステップであって、前記少なくとも1つの行にある条件は、前記入力変数の内の2セット以上の可能な値を識別する、1つ以上の条件を受け取るステップ、および
前記それぞれの出力列の1つ以上の出力値を受け取るステップを含み、
よって、ルール仕様のルールケースを定義し、前記ルール仕様に基づいてデータを変換するための関数を生成し、前記関数を前記関数成分と関係付ける方法。 - 前記入力値についての1つ以上の条件には、閾値と等しい値を有する、閾値を超える値を有する、閾値未満の値を有する、1セットの値に属する値を有する、パターンと一致する値を有する、別の入力の値と関係がある、別のルール仕様の出力の値と関係がある、またはメモリ内の値と関係がある、という条件の1つ以上が含まれる、
請求項1の方法。 - 前記1つ以上の出力値には、前記入力の値、所定の値、または前記入力の値の内の1つ以上から計算された値、の内の1つ以上またはその組合せが含まれる、
請求項1の方法。 - 各テスト列が前記1つ以上の入力変数に対する値を収納する1セットのテスト列を含むテスト表を受け取るステップ、
前記テスト列ごとに、前記テスト列の前記入力値を所与とする出力を生成する前記ルール仕様テーブルの内の1行を識別するステップ、および
前記テスト列ごとに、前記識別された行の識別をユーザーに出力するステップをさらに含む、
請求項1の方法。 - 前記テスト列ごとに結果行を含む結果表を生成するステップをさらに含み、各結果行は、前記テスト列の前記入力値を所与として生成される出力を指示する、
請求項4の方法。 - 前記各結果行において、生成されることになる前記出力が、以前のバージョンの前記ルール仕様に対して指示された出力から変更されるかどうかを指示するステップをさらに含む、
請求項5の方法。 - ユーザーの、結果行との間の相互作用に応じて、前記ルール仕様のどの列がその結果行に前記出力を生成するかを指示するステップをさらに含む、
請求項5の方法。 - 前記ルール仕様の各行に対応する評価行を含む評価表を生成するステップ、
前記表の前記各評価行に、可能な入力ごとに、その可能な入力に対する第1テスト列内の前記値がその可能な入力に対する関係性を満たしているかどうかを指示するステップ、および
前記第1テスト列の前記入力値を所与とする出力を生成する前記ルール仕様の行に対応する評価行に、生成される前記出力を指示するステップをさらに含む、
請求項5の方法。 - 前記評価行の順序は、前記ルール仕様の行の順序に対応し、前記出力が指示される前記評価行は、前記可能な入力に対する関係性のそれぞれが満たされる前記ルール仕様の前記第1行に対応する、
請求項8の方法。 - 前記可能な入力に対する関係性のそれぞれが満たされる前記1行のルール仕様に対応する前記評価行ごとに生成される出力を指示するステップをさらに含む、
請求項8の方法。 - 前記ルール仕様の各行に対応する評価行を含む評価表を生成するステップ、および
前記各評価行において、いくつのテスト列が、前記ルール仕様の対応行における関係性を満たす入力を有するかを指示するステップをさらに含む、
請求項5の方法。 - 前記各テスト列が出力期待値も収納し、
前記対応するテスト列の前記入力値を所与として生成される前記出力が、そのテスト列内の前記期待出力と一致するかどうかを、前記各結果行が指示するステップをさらに含む、
請求項5の方法。 - 前記テスト列ごとに結果行を含む表を生成するステップであって、前記各結果行は、前記テスト列の入力値を所与として、前記ルール仕様の内の1つにおける行により生成される各出力を指示する、表を生成するステップをさらに含む、
請求項1の方法。 - 第1テスト列の入力値を所与として生成される出力に対して、その出力の生成をもたらすルール仕様の入力と出力との間の相互関係のグラフィック表示を生成するステップをさらに含む、
請求項1の方法。 - 前記テスト列の表を受け取るステップは、
1セットの入力値をユーザーから受け取るステップ、
前記入力値のセットを前記ルール仕様の前記可能な入力の値と一致させるステップ、および
前記入力値のセットを前記表の列に格納するステップを含む、
請求項4の方法。 - 1セットの入力値を受け取る前記ステップは、前記可能な入力の値の識別を表示するステップに応じて受け取る、
請求項15の方法。 - あるセットのルール仕様内の各ルール仕様が少なくとも1つの出力を生成することになるという決定に応じて、前記ルール仕様のセットが正当であることを決定するステップをさらに含む、
請求項4の方法。 - 前記ルール仕様テーブルの値の変更を受け取るステップ、
前記変更されたルール仕様が正当であることを確認するステップ、
前記編集されたルール仕様に基づいて新規関数を生成するステップ、
前記最初の変換式を前記関数成分と無関係にするステップ、および
前記新規関数を前記関数成分と関係付けるステップをさらに含む、
請求項1の方法。 - 前記ルール仕様テーブルの値の変更を受け取るステップ、
前記変更されたルール仕様が正当であることを確認するステップ、
前記計算の実行を待機するステップ、
前記計算が前記関数成分を要求したとき、前記編集されたルール仕様に基づいて新規関数を生成するステップ、および
前記新規関数を前記関数成分と関係付けるステップをさらに含む、
請求項1の方法。 - 前記関数を生成するステップは、
前記ルール仕様内の複数のルールケースのそれぞれを論理式に変換して複数の論理式を形成するステップ、および
前記複数の論理式をコンピュータ実行可能コードにコンパイルするステップを含む、
請求項1の方法。 - 前記複数の論理式をコンパイルするステップが、式を組合せるステップ、個々の式を最適化するステップ、および式のグループを最適化するステップの内の1つ以上を含む、
請求項20の方法。 - 前記複数の論理式をコンパイルするステップは、前記式と、前記計算で使用するのに適した成分とを関係付けるステップを含む、
請求項20の方法 - 計算システムの関数成分の振舞いを指定するためのシステムであって:
少なくとも1つの入力列および少なくとも1つの出力列を有する表を生成するためのユーザーインターフェースを提供する手段であって、前記各入力列は、入力変数と関係付けられ、前記各出力列は、出力変数と関係付けられる、ユーザーインターフェースを提供するための手段;
前記表の少なくとも1つの行において、
i.前記それぞれの入力列の入力値についての1つ以上の条件であって、前記少なくとも1つの行にある前記条件は、前記入力変数の内の2セット以上の可能な値を識別する、1つ以上の条件と、
ii.前記それぞれの出力列の1つ以上の出力値と、
を受け取ることにより、
iii.ルール仕様のルールケースを定義するための手段;および
iv.前記ルール仕様に基づいてデータを変換するための関数を生成するように、そして
v.前記関数を前記関数成分と関係付けるように構成されるプロセッサ;
を備えるシステム。 - コンピュータ読み取り可能媒体上に格納され、計算システムの関数成分の振舞いを指定するコンピュータープログラムであって、前記コンピュータープログラムは、コンピュータに、
少なくとも1つの行にある条件が入力変数の内の2セット以上の可能な値を識別する少なくとも1つの入力列、および少なくとも1つの出力列を有する表を作成するためのユーザーインターフェースを提供するステップであって、前記各入力列は、入力変数と関係付けられ、前記各出力列は、出力変数と関係付けられる、ユーザーインターフェースを提供するステップ、
前記表の少なくとも1つの行において、
vi.前記それぞれの入力列の入力値についての1つ以上の条件であって、前記少なくとも1つの行にある前記条件は、前記入力変数の内の2セット以上の可能な値を識別する、1つ以上の条件と;
vii.前記それぞれの出力列の1つ以上の出力値と;
を受け取ることにより、
viii.ルール仕様のルールケースを定義するステップ、
前記ルール仕様に基づいてデータを変換するための関数を生成するステップ、および
前記関数を前記関数成分と関係付けるステップ、
を実行させる命令を含むコンピュータープログラム。 - 計算をテストするための方法であって、
1セットのルールケースを含むルール仕様を受け取るステップであって、各ルールケースは、可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは、2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るステップ、
1セットのテストケースを受け取るステップであって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るステップ、および
前記テストケースごとに、前記テストケースの入力値を所与として出力を生成することになる前記ルールケースの内の1つを識別するステップを含む方法。 - 前記テストケースごとに、出力を生成するルールケースを識別するステップに応じて、生成されることになる前記出力の指示を格納または出力するステップをさらに含む、
請求項25の方法。 - 前記セットのテストケースを受け取るステップは、
1セットのテスト列を含む表を受け取るステップを含み、前記各テスト列は、対応する前記1つのテストケースに対する前記1つ以上の可能な入力に対する値を収納する、
請求項25の方法。 - テストケースごとに、かつそのテストケースに対する前記識別されたルールケースごとに、前記識別されたルールケースにより何の出力が生成されるかを指示するステップをさらに含む、
請求項25の方法。 - テストケースごとに、かつそのテストデータセットに対する前記識別されたルールケースごとに、前記識別されたルールケースに出力を生成させる原因となった、前記テストケース内の1つ以上の前記入力値を識別するステップをさらに含む、
請求項25の方法。 - テストケースごとに、前記各ルールケースに対して、そのルールケースのどの関係性が前記テストケース内の値により満たされたか、そしてどの関係性が満たされなかったかを指示するステップをさらに含む、
請求項29の方法。 - 前記ルールケースには順序があり、前記テストケースごとの前記識別されたルールケースは、前記可能な入力に対する関係性のそれぞれが満たされる順序で前記第1のルールケースに対応する、
請求項25の方法。 - 第2セットのルールケースを含む第2ルール仕様を受け取るステップをさらに含み、1つ以上の前記ルールケースは、前記第1ルール仕様の1つ以上の出力と前記第2ルール仕様の対応入力とに対する関係性を含む、
請求項25の方法。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成することになる前記第2ルール仕様の内の1つの前記ルールケース、および前記第1ルール仕様の内の前記識別されたルールケースの前記出力を識別するステップをさらに含む、
請求項32の方法。 - テストケースごとに、前記第2ルール仕様の出力の生成をもたらす前記第1および第2ルール仕様の入出力間の相互関係のグラフィック表示を生成するステップをさらに含む、
請求項33の方法。 - テストケースごとに、前記テストケースの前記入力値を所与として出力を生成する前記各ルールケースを指示するステップをさらに含む、
請求項25の方法。 - ルールケースごとに、いくつの前記テストケースがそのルールケースに出力を生成させる前記可能な入力に対する値を有するかを指示するステップをさらに含む、
請求項25の方法。 - 前記テストケースのそれぞれが出力を含み、前記識別されたルールケースで生成される前記出力が、前記テストケースに含まれる前記出力と一致するかどうかを決定するステップ、および
前記決定の結果を格納する、または通信するステップをさらに含む、
請求項25の方法。 - テストケースごとに結果行を含むテーブルを生成するステップをさらに含み、前記各結果行は、前記テストケースの前記入力値を所与として前記ルール仕様により生成される出力を指示する、
請求項25の方法。 - 各結果行において、生成されることになる前記出力が、前記ルール仕様の以前のバージョンに対して指示された出力から変更されるかどうかを指示するステップをさらに含む、
請求項38の方法。 - ユーザーの結果行との相互作用に応じて、その結果行に前記出力を生成することになる識別された前記ルールケースを指示するステップをさらに含む、
請求項38の方法。 - 1つの前記テストケースに対して、前記ルール仕様の各ルールケースに対応する評価行を含むテーブルを生成するステップ、および
前記表の各評価行において、可能な入力ごとに、前記テストケースにおけるその可能な入力に対する値が、その評価行に対応する前記ルールケースでその可能な入力に対する関係性を満たしたかどうかを指示するステップをさらに含む、
請求項38の方法。 - 前記テストケースに対する前記識別されたルールケースに対応する前記表の評価行において、そのルールケースにより生成される前記出力を指示するステップをさらに含む、
請求項41の方法。 - 前記評価行は、前記ルール仕様内の前記ルールケースの順序に対応する順序を有し、
前記出力が指示される前記評価行は、前記可能な入力に対するそれぞれの関係性が満たされる前記第1のルールケースに対応する、
請求項42の方法。 - 前記可能な入力に対するそれぞれの関係性が前記テストケースにより満たされるルールケースに対応する前記各評価行で生成されることになる出力を指示するステップをさらに含む、
請求項41の方法。 - 第2ルール仕様を受け取るステップは、第2セットのルールケースを含み、
テストケースごとに結果行を表示するステップは、前記テストケースの入力値を所与として前記第1または第2ルール仕様により生成される各出力を指示し、
ユーザーの、前記第2ルール仕様からのルールケースの出力を指示する結果行に指示される出力との相互作用に応じて、前記指示されるルールケースを指示するステップが、前記第1ルール仕様からのルールケースと、前記指示されるルールケースの入力関係性を満たすそのルールケースの出力とを指示するステップを含む、
請求項25の方法。 - 前記テストケースのセットを受け取るステップは、ユーザーから1セットの入力値を受け取るステップ、
前記入力値のセットを前記ルール仕様の可能な入力の値へ一致させるステップ、および
前記入力値のセットを表の列へ格納するステップを含む、
請求項25の方法。 - 入力値のセットを受け取る前記ステップは、前記可能な入力の値の識別を表示するステップに応答する、
請求項46の方法。 - 計算をテストするためのシステムであって、
1セットのルールケースを含むルール仕様を受け取るための手段であって、前記各ルールケースは可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るための手段、
1セットのテストケースを受け取るための手段であって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るための手段、および
前記テストケースごとに、前記テストケースの入力値を所与として出力を生成する前記ルールケースの内の1つを識別するよう構成されるプロセッサを備えるシステム。 - 計算をテストするための、コンピュータ読み取り可能媒体上に格納されたコンピュータープログラムであって、
1セットのルールケースを含むルール仕様を受け取るステップであって、前記各ルールケースは、可能な入力と対応出力との関係性を含み、前記ルールケースの内の少なくとも1つは、2セット以上の可能な入力が満たす関係性を含む、ルール仕様を受け取るステップ、
1セットのテストケースを受け取るステップであって、前記各テストケースは1つ以上の前記可能な入力に対する値を収納する、テストケースを受け取るステップ、および
前記テストケースごとに前記テストケースの入力値を所与として出力を生成する前記ルールケースの内の1つを識別するステップ、をコンピュータに実行させるための命令を含むコンピュータープログラム。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするための方法であって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記方法は、
実行環境において1セットの入力データでグラフ型計算を実行するステップ、
前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するステップ、および
前記実行環境とは別のテスト環境において、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するステップを含む方法。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするためのシステムであって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記システムは、
ix.1セットの入力データで前記グラフ型計算を実行し、および
x.前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するように構成された実行環境、および
前記実行環境とは別の、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するよう構成されたテスト環境を備えるシステム。 - データフローを表すリンク要素により接続されるデータ処理成分を有するグラフ型計算の成分をテストするための、コンピュータ読み取り可能媒体上に格納されたコンピュータープログラムであって、前記成分は、1セットのルールケースを含むルール仕様に基づいてデータを変換するための変換式を含み、前記各ルールケースは、可能な入力と対応出力との関係性を含み、少なくとも1つの前記ルールケースは、2つ以上の可能な入力が満たす関係性を含み、前記コンピュータープログラムは、
実行環境において、
xi.1セットの入力データで前記グラフ型計算を実行するステップ、
xii.前記入力データと、前記入力データセット内の各データ項目に対する前記計算により生成される前記出力とをログ記録するステップ、および
前記実行環境とは別のテスト環境において、前記ログ記録される入力データセット内の前記データ項目ごとに、前記項目内の前記入力値を所与として前記ログ記録される出力を生成する前記ルールケースの内の1つを識別するステップ、をコンピュータに実行させるための命令を含むコンピュータープログラム。 - 計算システムの関数成分の振舞いを指定するための方法であって、
ルールケースを定義する1セットの論理式を含むルール仕様を受け取るステップであって、前記ルールケースの内の少なくとも1つは2つ以上の論理式により定義される、ルール仕様を受け取るステップ、
前記ルール仕様に基づいてデータを変換するための関数を生成するステップ、および
前記関数を関数成分と関係付けるステップを含む方法。 - 前記1つ以上の出力値がエラー条件と一致するかどうかを判定するステップ、および
前記関数成分が実行される前にユーザーへ報告するためのエラー警告を生成するステップをさらに含む、
請求項1の方法。 - 前記エラー条件が、ヌル不可の出力列それぞれに対するヌル出力値に対応する、
請求項54の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/733,434 | 2007-04-10 | ||
US11/733,434 US8069129B2 (en) | 2007-04-10 | 2007-04-10 | Editing and compiling business rules |
PCT/US2008/058360 WO2008124319A1 (en) | 2007-04-10 | 2008-03-27 | Editing and compiling business rules |
Related Child 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 |
---|---|
JP2010524134A true JP2010524134A (ja) | 2010-07-15 |
JP5444208B2 JP5444208B2 (ja) | 2014-03-19 |
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 After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013228076A Active JP5827296B2 (ja) | 2007-04-10 | 2013-11-01 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
JP2015203699A Active JP6216757B2 (ja) | 2007-04-10 | 2015-10-15 | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム |
Country Status (8)
Country | Link |
---|---|
US (5) | US8069129B2 (ja) |
EP (5) | EP2958016B1 (ja) |
JP (3) | JP5444208B2 (ja) |
KR (3) | KR101864673B1 (ja) |
CN (2) | CN101702942A (ja) |
AU (1) | AU2008237503A1 (ja) |
CA (4) | CA3015741C (ja) |
WO (1) | WO2008124319A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002759A (ja) * | 2008-06-30 | 2014-01-09 | Ab Initio Technology Llc | グラフベース計算におけるデータ記録 |
JP2014130628A (ja) * | 2009-01-30 | 2014-07-10 | Ab Initio Technology Llc | ベクトルフィールドを用いるデータ処理 |
JP2015011685A (ja) * | 2013-07-02 | 2015-01-19 | 株式会社プリマジェスト | ビジネスルール管理システム及びビジネスルール管理方法 |
JP2015502620A (ja) * | 2011-12-21 | 2015-01-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 矛盾するルールを伴うケースの検出 |
JP2015060445A (ja) * | 2013-09-19 | 2015-03-30 | 三菱電機株式会社 | コード生成システム、コード生成方法及びコード生成プログラム |
JP2016510442A (ja) * | 2012-12-10 | 2016-04-07 | アビニシオ テクノロジー エルエルシー | トランスフォーム生成システム |
JP2017506371A (ja) * | 2013-09-27 | 2017-03-02 | アビニシオ テクノロジー エルエルシー | データに適用される規則の評価 |
WO2015137641A3 (ko) * | 2014-03-11 | 2017-05-18 | (주)이노룰스 | 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법 |
JP2017188001A (ja) * | 2016-04-08 | 2017-10-12 | 株式会社日立製作所 | ルールテスト装置およびルールテスト方法 |
JP2021144719A (ja) * | 2014-11-05 | 2021-09-24 | アビニシオ テクノロジー エルエルシー | 影響分析 |
JP2021530766A (ja) * | 2018-07-19 | 2021-11-11 | アビニシオ テクノロジー エルエルシー | データウェアハウスへの発行 |
Families Citing this family (129)
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 |
JP5453273B2 (ja) * | 2007-09-20 | 2014-03-26 | アビニシオ テクノロジー エルエルシー | グラフベース計算におけるデータフロー管理 |
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 |
ES2492670T3 (es) * | 2008-05-27 | 2014-09-10 | Genzyme Corporation | Análogos peptídicos de la hormona estimulante de alfa-melanocitos |
US10140196B2 (en) | 2008-06-04 | 2018-11-27 | Oracle International Corporation | System and method for configuring a sliding window for testing an event processing system based on a system time |
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 |
US20120102421A1 (en) * | 2010-10-22 | 2012-04-26 | Bigmachines, Inc. | Methods and apparatus for specifying and applying business rules in a product configurator |
EP2356581A4 (en) | 2008-11-12 | 2012-05-02 | Ab Initio Technology Llc | MANAGEMENT AND AUTOMATIC CONNECTION OF DATA OBJECTS |
JP5257016B2 (ja) * | 2008-11-21 | 2013-08-07 | 富士通株式会社 | 更新関数検証プログラム,更新関数検証方法及び情報処理装置 |
KR20150042866A (ko) * | 2008-12-02 | 2015-04-21 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스 |
CN102224492B (zh) * | 2008-12-02 | 2015-11-25 | 起元技术有限责任公司 | 数据维护系统 |
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 |
KR101730513B1 (ko) | 2009-02-13 | 2017-04-26 | 아브 이니티오 테크놀로지 엘엘시 | 태스크 실행 관리 |
KR20150038757A (ko) * | 2009-02-13 | 2015-04-08 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 저장 시스템과의 통신 |
US10102398B2 (en) | 2009-06-01 | 2018-10-16 | Ab Initio Technology Llc | Generating obfuscated data |
EP2440882B1 (en) | 2009-06-10 | 2020-02-12 | Ab Initio Technology LLC | Generating test data |
US8205113B2 (en) * | 2009-07-14 | 2012-06-19 | Ab Initio Technology Llc | Fault tolerant batch processing |
KR101660348B1 (ko) * | 2009-09-16 | 2016-09-27 | 아브 이니티오 테크놀로지 엘엘시 | 데이터세트 요소의 매핑 |
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 |
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 |
WO2021220058A1 (en) | 2020-05-01 | 2021-11-04 | Monday.com Ltd. | Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network 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 |
WO2011159759A1 (en) | 2010-06-15 | 2011-12-22 | Ab Initio Technology Llc | Dynamically loading graph-based computations |
US20110320438A1 (en) * | 2010-06-29 | 2011-12-29 | Alcatel-Lucent Canada, Inc. | Rule summary |
CN103180826B (zh) * | 2010-10-25 | 2017-04-05 | 起元技术有限责任公司 | 在代表计算机程序的数据流图中管理数据集对象 |
WO2012094496A1 (en) * | 2011-01-07 | 2012-07-12 | Ab Initio Technology Llc | Flow analysis instrumentation |
WO2012097278A1 (en) | 2011-01-14 | 2012-07-19 | Ab Initio Technology Llc | Managing changes to collections of data |
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 |
KR102031392B1 (ko) | 2011-11-15 | 2019-11-08 | 아브 이니티오 테크놀로지 엘엘시 | 후보 쿼리들에 기반한 데이터 클러스터링 |
US9330117B2 (en) * | 2012-06-08 | 2016-05-03 | 24/7 Customer, Inc. | Business rules manager |
AU2013295864B2 (en) * | 2012-07-24 | 2017-09-14 | Ab Initio Technology Llc | Mapping entities in data models |
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 |
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 |
CA2907208C (en) * | 2013-03-15 | 2023-10-24 | 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 |
CA2932763C (en) | 2013-12-05 | 2022-07-12 | Ab Initio Technology Llc | Managing interfaces for dataflow graphs composed of sub-graphs |
AU2014360106B2 (en) | 2013-12-06 | 2019-05-23 | Ab Initio Technology Llc | Source code translation |
JP6882892B2 (ja) * | 2013-12-18 | 2021-06-02 | アビニシオ テクノロジー エルエルシー | データ生成 |
US11487732B2 (en) | 2014-01-16 | 2022-11-01 | Ab Initio Technology Llc | Database key identification |
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 |
EP3742284A1 (en) | 2014-07-18 | 2020-11-25 | AB Initio Technology LLC | Managing lineage information |
US9996528B2 (en) * | 2014-07-24 | 2018-06-12 | Seal Software Ltd. | Advanced clause groupings detection |
CA2959389A1 (en) | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Compilation of graph-based program specifications with automated clustering of graph components based on the identification of particular data port connections |
SG11201701605XA (en) | 2014-09-02 | 2017-03-30 | Ab Initio Technology Llc | Controlling data processing tasks |
AU2015312003B2 (en) | 2014-09-02 | 2019-08-29 | Ab Initio Technology Llc | Executing graph-based program specifications |
CN106687920B (zh) | 2014-09-02 | 2020-07-03 | 起元科技有限公司 | 管理任务的调用 |
SG11201701651SA (en) | 2014-09-02 | 2017-04-27 | Ab Initio Technology Llc | Managing execution state of components in a graph-based program specification for controlling their associated tasks |
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 |
KR101965522B1 (ko) | 2014-10-20 | 2019-04-03 | 아브 이니티오 테크놀로지 엘엘시 | 데이터에 대한 규칙들의 명시 및 적용 |
US10055333B2 (en) | 2014-11-05 | 2018-08-21 | Ab Initio Technology Llc | Debugging a graph |
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 |
US10176085B2 (en) * | 2015-06-24 | 2019-01-08 | 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 | 삼성전자주식회사 | 사용자 단말장치, 서버, 및 그 어플리케이션 실행 방법 |
US10671669B2 (en) | 2015-12-21 | 2020-06-02 | Ab Initio Technology Llc | Sub-graph interface generation |
US11989096B2 (en) | 2015-12-21 | 2024-05-21 | Ab Initio Technology Llc | Search and retrieval data processing system for computing near real-time data aggregations |
US10601890B2 (en) | 2016-01-14 | 2020-03-24 | Ab Initio Technology Llc | Recoverable stream processing |
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 |
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 |
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 |
US11263533B2 (en) * | 2018-07-12 | 2022-03-01 | Sap Portals Israel Ltd. | Dynamic configurable rule representation |
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 | 上海宝阶智能科技有限公司 | 一种异构嵌入式表格化处理及执行动作流程的方法和装置 |
US11361156B2 (en) | 2019-11-18 | 2022-06-14 | Monday.Com | Digital processing systems and methods for real-time status aggregation in collaborative work systems |
EP4062313A1 (en) | 2019-11-18 | 2022-09-28 | Monday.com Ltd. | Collaborative networking systems, methods, and devices |
BR112022014874A2 (pt) | 2020-01-28 | 2022-09-20 | Ab Initio Technology Llc | Editor para gerar gráficos computacionais |
US11210285B2 (en) | 2020-03-06 | 2021-12-28 | Ab Initio Technology Llc | Generation of optimized logic from a schema |
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 | 吟飞科技(江苏)有限公司 | 基于灯光显示的打击乐垫控制器编辑方法 |
US11481288B2 (en) | 2021-01-14 | 2022-10-25 | Monday.com Ltd. | Digital processing systems and methods for historical review of specific document edits in collaborative work systems |
WO2022165321A1 (en) | 2021-01-31 | 2022-08-04 | Ab Initio Technology Llc | Data processing system with manipulation of logical dataset groups |
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 |
US11989234B1 (en) * | 2022-06-29 | 2024-05-21 | Amazon Technologies, Inc. | Rule engine implementing a rule graph for record matching |
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 |
CN117032665B (zh) * | 2023-07-24 | 2024-05-03 | 易方达基金管理有限公司 | 一种投资因子的可视化构建方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04352029A (ja) * | 1991-05-29 | 1992-12-07 | Hitachi Ltd | ソースプログラム自動生成装置 |
JP2003208307A (ja) * | 2002-01-16 | 2003-07-25 | Hitachi Software Eng Co Ltd | ソースプログラム生成システム |
Family Cites Families (73)
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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 推論エンジンの実行監視方法及び装置 |
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 |
AU2001259690A1 (en) | 2000-05-09 | 2001-11-20 | Hnc Software, Inc. | Approach for generating 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 |
AU2002332556A1 (en) * | 2001-08-15 | 2003-03-03 | Visa International Service Association | 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 | 会員カード装置、会員カード処理方法、会員カード処理プログラム、及び、会員カード処理プログラムを記録した記録媒体 |
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 |
KR20050011745A (ko) * | 2002-04-19 | 2005-01-29 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | 추론 서비스 제공 시스템 및 방법 |
US8612404B2 (en) | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
US8417678B2 (en) | 2002-07-30 | 2013-04-09 | Storediq, Inc. | System, method and apparatus for enterprise policy management |
US7610329B2 (en) | 2002-07-30 | 2009-10-27 | Storediq, Inc. | Method and apparatus for managing file systems and file-based data storage |
US7565642B2 (en) * | 2002-08-09 | 2009-07-21 | Corticon Technologies, Inc. | Rule engine |
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 |
US7676387B2 (en) | 2002-10-31 | 2010-03-09 | Computer Sciences Corporation | Graphical display of business rules |
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 | プログラムテスト支援装置、コンピュータプログラム、及びコンピュータ読み取り可能な記憶媒体 |
AU2004252837A1 (en) * | 2003-06-04 | 2005-01-06 | Fair Isaac Corporation | Relational logic management system |
JP2007529050A (ja) | 2003-07-08 | 2007-10-18 | ユーエス リンクス リミテッド ライアビリティ カンパニー | 仮想ドキュメントアーキテクチャを通して共同編集と責任分担を容易にする自動出版システム |
JP2005038253A (ja) | 2003-07-16 | 2005-02-10 | Nec Electronics Corp | テスト方法、テストシステム、及び、プログラム |
US8307109B2 (en) | 2003-08-27 | 2012-11-06 | International Business Machines Corporation | Methods and systems for real time integration services |
US7849075B2 (en) | 2003-09-15 | 2010-12-07 | Ab Initio Technology Llc | Joint field profiling |
JP2005122509A (ja) * | 2003-10-17 | 2005-05-12 | Hitachi Ltd | 階層構造データ分析方法、分析装置および分析プログラム |
WO2005111850A2 (en) * | 2004-04-30 | 2005-11-24 | Microsoft Corporation | End-user application customization using rules |
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 |
US7426688B2 (en) | 2004-11-02 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Embedded spreadsheet commands |
US7899833B2 (en) * | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
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 |
US8064672B2 (en) | 2005-10-18 | 2011-11-22 | Koninklijke Philips Electronics N.V. | Patient scan time optimization for PET/SPECT imaging |
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 |
US8478706B2 (en) | 2009-01-30 | 2013-07-02 | 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 |
US20110255794A1 (en) | 2010-01-15 | 2011-10-20 | Copanion, Inc. | Systems and methods for automatically extracting data by narrowing data search scope using contour matching |
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 EP EP15177169.8A patent/EP2958016B1/en active Active
- 2008-03-27 EP EP12166032A patent/EP2521026A1/en not_active Ceased
- 2008-03-27 CN CN200880011618A patent/CN101702942A/zh active Pending
- 2008-03-27 KR KR1020167036579A patent/KR101864673B1/ko active IP Right Grant
- 2008-03-27 EP EP18175608.1A patent/EP3454205B1/en active Active
- 2008-03-27 KR KR1020097021155A patent/KR101560307B1/ko active IP Right Grant
- 2008-03-27 AU AU2008237503A patent/AU2008237503A1/en not_active Abandoned
- 2008-03-27 CA CA3015741A patent/CA3015741C/en active Active
- 2008-03-27 EP EP08732897A patent/EP2135160A1/en not_active Ceased
- 2008-03-27 CN CN201310126429.0A patent/CN103218229B/zh active Active
- 2008-03-27 EP EP09012430A patent/EP2138934A1/en not_active Withdrawn
- 2008-03-27 CA CA2679990A patent/CA2679990C/en active Active
- 2008-03-27 CA CA2868236A patent/CA2868236C/en active Active
- 2008-03-27 KR KR1020137009402A patent/KR101738651B1/ko active IP Right Grant
- 2008-03-27 WO PCT/US2008/058360 patent/WO2008124319A1/en active Application Filing
- 2008-03-27 CA CA3070176A patent/CA3070176C/en active Active
- 2008-03-27 JP JP2010503118A patent/JP5444208B2/ja active Active
-
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04352029A (ja) * | 1991-05-29 | 1992-12-07 | Hitachi Ltd | ソースプログラム自動生成装置 |
JP2003208307A (ja) * | 2002-01-16 | 2003-07-25 | Hitachi Software Eng Co Ltd | ソースプログラム生成システム |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014002759A (ja) * | 2008-06-30 | 2014-01-09 | Ab Initio Technology Llc | グラフベース計算におけるデータ記録 |
JP2014130628A (ja) * | 2009-01-30 | 2014-07-10 | Ab Initio Technology Llc | ベクトルフィールドを用いるデータ処理 |
US8996442B2 (en) | 2009-01-30 | 2015-03-31 | Ab Initio Technology Llc | Processing data using vector fields |
JP2015212972A (ja) * | 2009-01-30 | 2015-11-26 | アビニシオ テクノロジー エルエルシー | ベクトルフィールドを用いるデータ処理 |
JP2015502620A (ja) * | 2011-12-21 | 2015-01-22 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 矛盾するルールを伴うケースの検出 |
US10817503B2 (en) | 2012-12-10 | 2020-10-27 | Ab Initio Technology Llc | System for transform generation |
JP2016510442A (ja) * | 2012-12-10 | 2016-04-07 | アビニシオ テクノロジー エルエルシー | トランスフォーム生成システム |
JP2015011685A (ja) * | 2013-07-02 | 2015-01-19 | 株式会社プリマジェスト | ビジネスルール管理システム及びビジネスルール管理方法 |
JP2015060445A (ja) * | 2013-09-19 | 2015-03-30 | 三菱電機株式会社 | コード生成システム、コード生成方法及びコード生成プログラム |
JP2017506371A (ja) * | 2013-09-27 | 2017-03-02 | アビニシオ テクノロジー エルエルシー | データに適用される規則の評価 |
WO2015137641A3 (ko) * | 2014-03-11 | 2017-05-18 | (주)이노룰스 | 계층적인 룰 구조를 가지고 있는 비즈니스 룰 관리 시스템 및 그 표현 방법 |
JP2021144719A (ja) * | 2014-11-05 | 2021-09-24 | アビニシオ テクノロジー エルエルシー | 影響分析 |
JP7090778B2 (ja) | 2014-11-05 | 2022-06-24 | アビニシオ テクノロジー エルエルシー | 影響分析 |
US11475023B2 (en) | 2014-11-05 | 2022-10-18 | Ab Initio Technology Llc | Impact analysis |
JP2017188001A (ja) * | 2016-04-08 | 2017-10-12 | 株式会社日立製作所 | ルールテスト装置およびルールテスト方法 |
JP2021530766A (ja) * | 2018-07-19 | 2021-11-11 | アビニシオ テクノロジー エルエルシー | データウェアハウスへの発行 |
US11893036B2 (en) | 2018-07-19 | 2024-02-06 | Ab Initio Technology Llc | Publishing to a data warehouse |
JP7464543B2 (ja) | 2018-07-19 | 2024-04-09 | アビニシオ テクノロジー エルエルシー | データウェアハウスへの発行 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6216757B2 (ja) | ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム | |
AU2021201067B2 (en) | Editing and compiling business rules | |
AU2016202201B2 (en) | Editing and compiling business rules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110203 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120323 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120419 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120830 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121129 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121206 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121221 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130104 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130701 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130927 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20131004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131101 |
|
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: 20131125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131220 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5444208 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 |
|
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 |