Back Forward How the system finds rules through rule resolution

Concepts and terms

  

Rule resolution is the search algorithm that the system uses to find the best or most appropriate rule instance to apply in a situation.

Rule resolution applies to all but a few rule types — classes that inherit from the Rule- base class. Rule resolution does not apply to instances of classes derived from the Work-, Data-, or any other base class.

While the rule resolution algorithm is fast and invisible, it is important to understand how it operates. As you create applications, make your choices of values for key parts based on how you want rules to be found by rule resolution.

An in-memory rule cache helps the rule resolution process operate faster. If the system finds an instance (or instances) of the rule in question in the cache, it accepts what is in the cache as the candidate rules and skips many steps in the resolution process (see below).

  Benefits

  Overview

  Step 1: Check the Rules Cache. If the rule is there, go to Step 8.

  Step 2: Choose instances with the correct purpose.

  Step 3: Discard rules where Availability = No.

  Step 4: Discard inapplicable RuleSets and Versions.

  Step 5: Discard all candidates not defined in a class in the 'ancestor tree'.

  Step 6: Rank remaining candidates.

  Step 6a: Discard choices that occur after the first "default" rule

  Step 7: Set the cache.

  Step 8: Find the best instance and check for duplicates.

  Step 9: Check Availability is not Blocked.

  Step 10: Verify requestor is authorized to see the rule.

  Example

  Exceptions

Definitions available rule, circumstance, access role, privilege, RuleSet list, time-qualified rules
Related topics How the system assembles your RuleSet list

UpConcepts