ルール・タスクの実行プロパティー
「プロパティー」ビューの「ルール・タスク」タブでルール・タスク実行のプロパティーを指定して、各実行モードでのルール実行を制御します。 ルール・エンジン・アルゴリズムを選択して、特定のルール・タスクでルールを実行し、実行制御プロパティーを使用して、ルール・エンジンが実行するルールの数と順序をさらに詳細化することができます。
一般に、選択されたルールのリスト内のルール成果物の順序は保証されません。選択されたルールのリストは、実行対象ルールのプールと見なされます。 しかし、「順序付け」を 「リテラル」に設定すると、 選択したルール成果物の順序が重視されます。
| アクション | 場所 | 説明 |
|---|---|---|
| ルール選択 | ルール・タスクの「プロパティー」ビューの「ルールの選択」タブ。 | 「ルールの選択」ダイアログを使用して、ルールおよびルール・パッケージの順序を追加および変更する場合は、「編集」をクリックします。 |
| ランタイム・ルールの選択 | ルール・タスクの「プロパティー」ビューの「ルールの選択」タブにある、 「動的な BAL」、 「静的な BAL」、および「IRL」。 | ルール・タスクで評価されるルールを制御します。 |
| 実行モード | ルール・タスクの「プロパティー」ビューの「ルール・タスク」タブ。 | ルール・タスクに対して実行モードを指定します。 |
| ルール・タスクの順序 | ルール・タスクの「プロパティー」ビューの「ルールの選択」タブ。 | ルール・タスクのデフォルトの順序付けは、次のとおりです。
|
| ルール・タスクの終了基準 | ルール・タスクの「プロパティー」ビューの「ルール・タスク」タブ。 | 終了基準の選択 は、タスクが終了する前にルールを実行する方法を指定します。 詳しくは、 出口基準プロパティー を参照してください。 |
実行モードにおけるルール・タスクの制御プロパティー
ルール・タスクを順序付けする特定のプロパティーを設定することができます。 これらの設定は、RetePlus、Sequential、Fastpath の各実行モードで異なります。
次の表は、ルール・フロー制御プロパティーが RetePlus 実行モードでどのように動作するのかを概説しています。
| 「順序付け」プロパティー | 「終了基準」プロパティー | 詳細プロパティーのみ |
|---|---|---|
デフォルト 完全なアジェンダ管理を備えた RetePlus ネットワークが作成されます。 |
なし タスク本体のすべてのルールがアクティブになります。 ルール・インスタンスはアジェンダが空になるまで実行されます。 以下と同等です。
|
firinglimit > 0: インスタンスは、指定された数に達するか、アジェンダが空になるまで実行されます。 |
RuleInstance タスク本体の優先度の最も高いルールのみがアクティブになります。 ルールの最初のインスタンスのみが実行されます。アジェンダが空の場合は何も実行されません。 以下と同等です。
|
||
リテラル RetePlus ネットワークは作成されますが、アジェンダはありません。 ルールは、本文によって提供される順序に従って 1 つずつアクティブにされ、インスタンスは再評価なしで実行されます。 または: priority RetePlus ネットワークは作成されますが、アジェンダはありません。 ルールは最初、優先度の高い順から低い順にソートされます。 その後、それらは 1 つずつアクティブになり、インスタンスは再評価なしで実行されます。 |
なし タスク本体で提供される各ルールについてループが作成され、そのインスタンスが計算され、実行されます。 インスタンスは、ループの終わりまで実行されます。 以下と同等です。
|
firinglimit > 0: ルール・インスタンスは、指定された番号またはループの終わりに達するまで実行されます。 |
規則 タスク本体で提供された各ルールでループが実行されます。 ルールをインスタンス化できるようになるとすぐに (つまり、少なくとも 1 つのルール・インスタンスが作成されるとすぐに)、それらのインスタンスがすべて実行され、ループは終了します。 以下と同等です。
|
||
RuleInstance タスク本体で提供された各ルールでループが実行されます。 ルールをインスタンス化するとすぐに (つまり、少なくとも 1 つのルール・インスタンスが作成されるとすぐに)、そのインスタンスが実行され、ループが終了します。 以下と同等です。
|
次の表は、ルール・フロー・プロパティーが Sequential 実行モードでどのように動作するのかを概説しています。
| 「順序付け」プロパティー | 「終了基準」プロパティー | 詳細プロパティーのみ |
|---|---|---|
デフォルト 順次モードでは、「デフォルト」プロパティーは、「優先度」プロパティーと同じように機能します。 意思決定テーブルの場合、ルール実行順序はトップ・ダウンです。 |
||
リテラル タスク本体 によって提供される順序に従ってルールがコンパイルされます。 ルールは、着信タプル・オブジェクトに対して評価され実行されます。 または: priority ルールは、その優先度に従ってソートされます。 さらに、そのソート順に従ってコンパイルされます。 ルールは、着信タプル・オブジェクトに対して順次評価され、実行されます。 |
なし タスク本体で提供されるすべてのルールが評価されます。 以下と同等です。
|
firinglimit > 0: true として評価されたルールは、指定された数のルールに達するまで、または選択するルールがなくなるまで実行されます。 |
規則 タスク本体で提供されるルールが逐次評価されます。 1 つのルールが 以下と同等です。
このプロパティーは、 |
該当なし。 |
|
RuleInstance タスク本体で提供されるルールが評価されます。 1 つのルールがインスタンス化されるとすぐに (つまり、1 つのルール・インスタンスが作成されるとすぐに)、そのインスタンスが実行され、ループが終了します。 以下と同等です。
|
||
次の表は、ルール・フロー・プロパティーが Fastpath 実行モードでどのように動作するのかを概説しています。
| 「順序付け」プロパティー | 「終了基準」プロパティー | 詳細プロパティーのみ |
|---|---|---|
デフォルト Fastpath モードでは、「デフォルト」プロパティーは、「優先度」プロパティーと同じように機能します。 |
||
リテラル タスク本体 によって提供される順序に従ってルールがコンパイルされます。 ルールは、着信タプル・オブジェクトに対して評価され実行されます。 または: priority ルールは、その優先度に従ってソートされます。 さらに、そのソート順に従ってコンパイルされます。 ルールは、着信タプル・オブジェクトに対して順次評価され、実行されます。 |
なし タスク本体で提供されるすべてのルールが評価されます。 以下と同等です。
|
firinglimit > 0: true として評価されたルールは、指定された数のルールに達するまで、または選択するルールがなくなるまで実行されます。 |
規則 タスク本体で提供されるルールが評価されます。 1 つのルールがインスタンス化されるとすぐに (つまり、1 つのルール・インスタンスが作成されるとすぐに)、それらのインスタンスが実行され、ループが終了します。 以下と同等です。
|
||
RuleInstance タスク本体で提供されるルールが評価されます。 1 つのルールがインスタンス化されるとすぐに (つまり、1 つのルール・インスタンスが作成されるとすぐに)、そのインスタンスが実行され、ループが終了します。 以下と同等です。
|
||
ルールの実行順序
ルール・タスクのルール成果物をコンパイル時または実行時に選択すると、選択したルールのリスト内のパッケージが展開されます。 この展開は、リストの先頭から開始されます。 ビジネス・ルールがそのパッケージの上に単独でリストされている場合は、リスト内でその実行位置が保持されます。
- R2 を追加し、その後パッケージを追加した場合、展開されたリストは R2、R1、および R3 です。
- パッケージを追加してから R2を追加すると、展開されたリストは R1、 R3 、および R2になります。
「終了基準」プロパティー
Exit
Criteria プロパティーは、すべてのルールを実行するか、最初のルールの最初のインスタンスのみを実行するかを指定します。 このプロパティーは、以下のいずれかの値に設定できます。- None: 次のタプルに移動する前に、該当するすべてのルールのすべてのインスタンスがタプルに対して実行されます。
- Rule: 次のタプルに移動する前に、タプルに対して適用可能な最初のルールのすべてのルール・インスタンスが実行されます。
- Rule Instance: 次のタプルに移動する前に、タプルに対して適用可能な最初のルールの最初のルール・インスタンスのみが実行されます。