Decision Table Overview
A decision table row represents a business rule. It has one or more conditions and one or more actions.
Each condition cell is equivalent to one condition (one line) in the TIBCO BusinessEvents rule editor condition area. Similarly each action cell is equivalent to one action (one line) in the TIBCO BusinessEvents rule editor action area (that is, one rule). Decision table rules are like business rules. The rule that calls the virtual rule function that implements the decision table participates in inferencing in the usual way. When the virtual rule function is called, the decision table rules are applied.
Conditions and Actions
The columns of a decision table are made up of condition columns on the left, and action columns on the right. Each column represents one condition or one action.
A condition is a test that must evaluate to true before the action is executed. If a decision table rule uses multiple conditions, all the conditions for a row must evaluate to true for the action to execute.
In each row (rule) you define the specific conditions and actions. For example, if a condition column is Age (using a concept property of that name), then each row can define a different age range. The action for each row would define what action to take if a given concept instance contains an age property within the specified range.
If you add a second condition column called Income, then before the action is taken, a concept instance would be tested to see if both the age and the income are within the ranges specified in the rule’s conditions.
Regular and Custom Conditions and Actions
b.YY
. The effect is different depending on the type of column:
- In a condition column, this means: compare the value of property ZZ with the value of property YY.
- In an action column this means: set the property ZZ to the value of YY.
Row Priorities
Each row in a decision table represents a separate business rule. You can control the order in which sets of rows are executed using the row priority setting.
Rows with higher priorities are executed before those with lower priorities, as follows:
- First, all conditions are checked for all rows that have the highest priority. The checking order within a set of rows with the same priority is not determinate.
- Then the rule actions for all of those rows whose conditions evaluate to true are executed. The execution order is not determinate. The runtime engine optimizes rule execution.)
- The process is repeated for all rows with the next highest priority, and so on.
Ten is the lowest priority and one is the highest. Five is the default priority.