Simple rules
In real-world applications, the vast majority of rules are simple by nature. Typical rules dictate that A cannot be combined with B, selecting C requires D, or selecting E prompts a follow-up question.
Therefore, it is critical to have rule types that preserve this simplicity, making them easy to create, maintain, and locate for any engineer without specialized knowledge of a rule language. Combinum provides three types of simple rules for this purpose.
Disallowed combination rules
Disallowed combination rules define combinations of parameter values that are not allowed. The system prevents users from selecting these values by either disabling or hiding them. The rules are bi-directional, meaning the order in which parameters are selected does not matter - disallowed combinations of values are always prevented.
Assignment rules
Assignment rules automatically set or suggest values for one or more parameters. The trigger for a rule is defined by one or more parameters holding specific values. By enabling the Enforce assigned values setting, the values set by the rule cannot be changed by the user as long as the triggering condition remains active.
Inclusion rules
Inclusion rules determine whether a parameter is an active part of the configuration model or not. When a parameter is excluded by these rules, it is automatically hidden from the user interface and disabled in the background. A parameter whose inclusion is controlled by these rules is excluded by default and is only included (and made visible) once one or more of the rules are triggered.
Advanced rules
Even though most rules can remain simple, advanced rules are sometimes required to perfectly control how a product is configured. For this purpose, Combinum offers three types of advanced rules that allow you to define behavior by writing formulas in Combinum's expression language.
Assignment expression rules
Assignment expression rules automatically set values for one or more parameters using formulas called parameter expressions. The rule is controlled by a Boolean trigger expression. When this trigger expression evaluates to true, the rule's parameter expressions are executed in order from top to bottom.
Inclusion expression rules
Inclusion expression rules determine whether a parameter is an active part of the configuration model or not. These rules work like inclusion rules, with the difference that the trigger is a Boolean expression, allowing for more complex logic. When a parameter is excluded by these rules, it is automatically hidden from the user interface and disabled in the background.
Warning attribute
Warning attributes identify when a configuration has entered a disallowed state and inform the user. These rules can be arbitrarily complex and are frequently used in composite configuration scenarios. Triggered warning attributes prevent the promotion of a configuration's state and, depending on the configuration state, can also block the user from saving the configuration.