The Interactive Rule Map
The interactive rule map can be used to trace Rule execution.
After opening a rule policy, we go to the interactive rule map. Right click on a derived term or output term and select 'Resolve' from the context menu.
How it works? We use the backward chaining algorithm to resolve a goal.
The user can select any business term as a goal.
When the user clicks resolve, the inference engine will try to resolve this goal by executing the rules. When a term is encountered that can not be derived from other rules, an ask dialog will be shown to the user. The user value will be stored into an internal table, so consecutive runs will first use this table before asking the user. Internally the rule manager supports defining restrictions on business terms. This allows the inference engine to show input options when asking a value for a term.
About the animation options:
The inference engine is running in a special animation mode that allows various options
- 'Pause When' allows general breakpoint options. You can check
- Pause When Term Sourced
- Pause When Term Modified
- Pause Before Rule Fired
- Pause After Rule Fired
- 'Pause Time' allows you to control the animation time
- No Wait
- Wait for User; The engine is suspended until you click the flashing 'bug' in the lower left corner.
- Wait for half a second.
- Wait for one second
- Wait for two seconds.
- 'Ask Terms' allows you to tell the inference engine when a dialog should be prompted.
- Input Terms; only ask terms that are not computed by any rules
- Derived Terms; ask (or confirm) an engine derived term
- Output Terms; confirm the engine derived terms
You can kill the process by clicking on the bug with the red square. This will not flush out the user data value table, it just stop the inferencing process.
About the user data value table:
The table can be cleared by clicking on 'Reset All Values' from the context menu.
You can change the value of one particular term by selecting the 'Reset Term' on the Term context menu.
Note: also business terms that are inferred by the inference engine can be overwritten by the user. Be careful with this because this would skip the backward-chaining of this rule branch.
- Green: Rule fired
- Red: Rule failed
- Orange: Rule is pending
- Green: Term is assigned
- Orange: Term is unknown