デシジョンモデルの定義が完了したら、DMNシミュレーション要素を作成し、モデルのシミュレーションを実行できます。
- DMNシミュレーション要素を作成し、シミュレーションの実行やステップ実行などを行うことができます。
- シミュレーションの際にデータセットを切り替えて実行することで、さまざまな条件でシミュレーションを実行し、モデルがビジネスの要求に合致するかどうかを確認できます。
- 定義したモデルからソースコードを生成できます。Java/JavaScript/C++/C#の4つの言語に対応しています。
- BPMNとDMNを組み合わせてシミュレーションを実行できます。
このページでは、DMNのみのシミュレーションについて説明します。
DMNシミュレーションの設定
DMNシミュレーションを設定するには、「シミュレーションの設定」要素を作成する必要があります。
- 意思決定要求図を開きます。
- 「シミュレーションの設定」要素をツールボックスからダイアグラムにドラッグします。
- ダイアグラムで要素をダブルクリックし、DMNシミュレーションサブウィンドウを開きます。
このパッケージ内のすべてのDMN要素(デシジョン、ビジネス知識モデル、入力データ、アイテム定義)がシミュレーションサブウィンドウに読み込まれます。
対象のデシジョンを選択するドロップダウンリストには、すべてのデシジョンが表示されます:
- 対象のデシジョンを選択すると、依存する入力データがリストに表示されます。
- リストの「データセット」セルをクリックし、定義済みのデータセットを選択します。
下の図のように、入力データ「Applicant data」にはデータセット 「Income5000」を選択し、入力データ「Requested product」には 「既定」を選択するなど、定義済みのデータセットを選択することが可能です。
DMNモデルのシミュレーション
- 対象のデシジョンを指定すると、下の一覧に依存関係順にデシジョンが表示されます。
- デシジョンがビジネス知識モデルを参照している場合、一覧で展開して表示できます。
- 実行ボタンを押すと入力データの値でシミュレーションを実行します。
- ステップ実行ボタンを押すと、1つのデシジョンでの判定結果がDMN表現サブウィンドウに表示されます。デシジョンに対する入力値と、その結果適用されるルールが明示されます。ダイアグラムでは、実行されているデシジョンが明示され、実行時の値がラベルとして表示されます。
この例では、 "Eligibility" は文字列 "ELIGIBLE" を戻しています。デシジョン "Eligibility" はビジネス知識モデル "Eligibility rules" を呼び出しています。
- "Pre-Bureau Affordability" はデシジョン "Pre-bureau affordability" (実行時の値: true) に結びついています。
- "Pre-Bureau Risk Category" はデシジョン "Pre-bureau risk category" (実行時の値: VERY LOW) に結びついています。
- "Age" は入力データ "Applicant data"の"Age" (実行時の値: 40) に結びついています。
ビジネス知識モデル "Eligibility rules" の適用方針は P (Priority) なので、複数のルールが該当する場合には、最も優先度が高いものを返します。シミュレーションでは、優先度が低いが条件を満たす項目も確認できます。
この場合には、 (Pre-Bureau Affordability = true, Pre-Bureau Risk Category = VERY LOW, Age = 40) なので、出力 "ELIGIBLE"が該当します。