B) ProductKeyDataRuleSet AbstractCase rule class

The AbstractCase rule class acts as the interface between the fixed key decision factor processing provided by the Engine, and the product-specific rules for the calculation of key decision factors for a case.

This "interface" rule class ensures that concrete sub-rule-classes have an implementation for the following rule attribute, which provides the fixed-structure key decision factors required by the Engine:

The Engine-supplied interface rule set has no implementations for this attribute - rule classes must be written (see below) to provide an implementation for the business requirements of the product; rather the interface rule class allows the Engine to communicate with the rule classes by specifying a contract for the data structures that it requires.