Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

When using multivalued attributes as conditions in a decision table, make sure you place the condition alternatives in the correct order.

Warning

Since a decision table is evaluated by the Blueriq rule engine from left to right, a decision can have an unexpected outcome when the condition alternatives are in the incorrect order.

See the example below. This decision advises how to prepare yourself by means of clothes or an umbrella in different weather conditions, when going outside.

Image Added  When it rains, take an umbrella.
Image Added  When the wind blows, wear a coat.
Image Added  When the sun shines, there is no dresscode advice.

Image AddedImage Added  When it rains and the wind blows, the umbrella will blow away, so it is advised to wear a raincoat.
Image AddedImage Added  When the sun shines and the wind blows, it is advised to wear a coat.

In the application it has been made sure that it is not possible that sunshine and rain happen simultaneously. Vicariously sunshine, rain and wind are not possible at the same time.
Although these scenarios are possible in real life (and rainbows exist), we have left them out for the sake of simplicity.

See the decision table below and ask yourself these two questions:

  1. "What will the advice be when it rains and the wind blows?"
    It should be "Wear a raincoat"
  2. "What will the advice be when the sun shines and the wind blows?"
    It should be "Wear a coat"
Warning
iconfalse

Image Added

When it rains and the wind blows, the advice will be to wear a coat. Evaluated from left to right, the second condition alternative applies:

Warning
iconfalse

Image Added

When the sun shines and the wind blows, the advice will be "No dresscode". Evaluated from left to right, the first condition alternative applies:

Warning
iconfalse

Image Added

The correct decision table is given below, where the conditions are placed intentionally in the following order: From left to right from means from most complete to least complete.

Tip
iconfalse

Image Added

Another option is to use two conditions, both regarding the weather. Blueriq does not prohibit us to do so, which is nice. See below, where all possible combinations are modeled.

Tip
iconfalse

Image Added

The choice between the last two decision tables (in green) is a matter of taste. Some prefer the first, some prefer the second. 
A downside of the second decision table is that it is highly redundant. It is possible to make use of the fact that Blueriq evaluates decision tables from left to right to shorten the decision table a bit, as shown below, but this is not advised!

Note
iconfalse

Image Added

Info

Carefully reading the decision table shown above might suggest that when first selecting "Rain" and then "Wind" makes the last condition alternative apply (and therefor Umbrella is advised). However, there is no first and second in a multivalued attribute, so selecting ["Rain", Wind] is exactly the same as selecting ["Wind","Rain"]. The third condition alternative will apply and in both circumstances, a raincoat is advised. As it should be!


Panel
Section
Column
width50%

Main chapter: Design considerations

Previous: Attributes and expressions

Column

Next: Dealing with lots of logic elements