This is one of the logical constructs of representing a decision. People frequently use this construct to select one decision out of many decisions. It is commonly represented in a tabular fashion as represented below:

Decision Table

The most important aspects of a decision table are as follows:

  1. Information item (or qualified name)
  2. Input expressions
  3. Output columns
  4. Rule rows
  5. Output Entry
  6. Hit policy

All of these are labeled in the diagram above.

Hit Policy

The hit policy of a decision table influences how it is evaluated. The commonly used options are as follows:

  1. U or Unique: Only one rule row is uniquely matched. If two rule rows happen to match the result would be undefined
  2. P or Priority: The output will be sorted as per their priority order which is defined as Optional Allowed Values (see pic above)
  3. F or First order: The first rule to match irrespective of rule order is taken as result.
  4. R or Rule order: There can be many matching rules, however the priority is given to the rule which comes earlier in the rule order.

For other hit policies please refer the specification.

A decision table with single output has no name, only value. Hence in a decision graph, that value is referred to by its qualified name.

When there are two or more outputs, each output has to be named when modeling, and, accessed likewise.

All input and output entries must be literal expressions or “Simple Unary Tests”; function invocations are not allowed.

FEEL is what defines what “expressions”.

“Simple Unary Tests” are just one kind of FEEL expressions.

To know more about expressions read FEEL Syntax.