Configurator Rules

The Configurator constraint engine acts on a configurator model, according to configurator rules, to produce valid configurations.

Typical uses for configurator rules are to:

  • Set default choices or values for model nodes

  • Automatically select options based on another choice by end user

  • Prevent users from selecting invalid combinations

  • Control how many instances of a model can be created at run time

  • Calculate and set the values for numeric options

A valid configuration is like a solution to a problem consisting of variables in the configurator model. Rules constrain how the problem is solved.

  • Variables have a defined domain and a run time range of values.

  • Variables must be bound to a value.

  • Variables can require input.

  • Configurator can automatically try to solve the problem, using a feature called autocompletion.

Rules are defined in the the Configurator Models work area as statement rules, written in the Constraint Definition Language (CDL).

Rules can be disabled. Invalid rules in participating models should be disabled or deleted before releasing a workspace. When testing a model, invalid rules are ignored.

Implicit rules are imported from the Product Information Management work area. An example of an implicit rule is an option class defined with options that are mutually exclusive. Similar rule behavior is also implicit in supplemental structure, such as minimum and maximum selections in an option feature.

Configurator rules that you create for a model are part of the definition of that model, like supplemental structure and user interfaces. Configurator rules can't be shared with other models.

Each rule has a class, which indicates how the rule is to be enforced during the configuration process. The rule classes are:

  • Constraint

  • Default

  • Search Decision

Each rule has a type, which is a classification based on the operator or operation employed in the rule. The rule types are:

  • Logic

  • Numeric comparison

  • Numeric accumulator

  • Attribute-based compatibility

Rules, which produce valid model configurations, are different from run time user interface conditions, which can display or enable elements in a user interface, depending on the value of an attribute. User interface conditions don't affect the selections in a configuration.