You can define the logic of your model using decision tables. These tables use a tabular layout to document all possible conditions and results, ensuring your business rules are clear and complete.
Decision logic defines how the output of each decision is derived from its inputs.
In DMN there are several ways to model decision logic. Currently, Cardanit supports decision tables to model decision logic. Decision tables are the most common form of decision logic, and the best suited to model complex logic. Its tabular layout helps you document all the possible conditions and results of a decision.
A decision table represents a set of related input and outputs, organized into rules that indicate which output entry applies to a specific set of input entries. It should only contain the inputs that are required to determine the output. A complete table contains all possible combinations of input values. In determining which rules to apply, the expressions defined in input clauses are evaluated for the given inputs and the expression results are then used to find rules with matching input entries.
You configure decision tables in the Logic tab.
A decision table consists of several key elements that define its structure and logic.
| Element | Description |
|---|---|
| Information item name | The name of the Decision or Business Knowledge Model (BKM) the table belongs to. |
| Inputs | Columns representing an "input clause." They consist of an input expression and a list of entries. |
| Outputs | Columns representing an "output clause." They contain the result corresponding to a specific set of inputs. |
| Input Expression | The specific logic or variable associated with an input column. |
| Input Entries | Cells within a rule row that express a specific condition to be met. |
| Rules | The horizontal rows of the table. Each row connects specific input conditions to an output result. |
| Hit Policy | Indicates how the table selects an output when multiple rules match the inputs. |
| Output Entry | The specific result value for a rule. |
| Allowed Values | Optional expressions that define a limited range of expected values for an input or output. |