Simple rules
In real-world examples the vast majority of the rules are always simple in their nature. Typical rules are of the type that A cannot be combined with B, the selection of C requires D and if E is selected a follow up question is required.
Therefor it’s critical to have rule types that keep the simplicity of these rules and make them easy to create, maintain and find for any engineer without specialized knowledge in a rule language. Combinum has three simple types of rules for this purpose.
Disallowed combination rule
Rules that define combinations of parameter values that are not allowed. The system prevents users from selecting these values by either disabling or hiding the values. The rules are bi-directional, so it doesn't matter in which order parameters are selected - disallowed combinations of values are always prevented.
Template rule
Rules that automatically set or suggest the setting of one or more parameter values. The trigger for a rule is defined by one or more parameters having certain values. By making a template rule forced the values that are set by the rule cannot be unset as long as the triggering condition remains.
Sub parameter rule
Rules that control when parameters are visible or hidden. The trigger for a rule is defined by one or more parameters having certain values. A parameter whose visibility is controlled by sub parameter rules is by default hidden and becomes visible once one or more of these rules are triggered.
Advanced rules
Even if the majority of the rules can be simple, sometimes advanced rules are needed to perfectly control how a product can be configured. For this purpose, Combinum has three types of rules that let you define the rules by writing expressions in Combinum's expression language.
Template expression rule
Rules that automatically set one or more parameters by formulas, parameter expressions. The trigger is a Boolean expression - the trigger expression. When the trigger expression becomes true the rule's parameter expressions are run in order from top to bottom.
Sub parameter expression rule
Rules that control when parameters are visible or hidden. These rules work like sub parameter rules with the difference that the trigger is a Boolean expression which allows more complex logic.
Warning attribute
Warning attributes identify that the configuration has ended up in a disallowed state and informs the user. These kind of rules can be arbitrarily complex and are often used in composite configuration scenarios. Triggered warning attributes prevent the promotion of a configuration's state.