Return to the BRG Response Overview

Responses to MDC "Issues"

Four issues were raised in the MDC's business rules draft. Below are the responses by the BRG on these points.

C1. The InferenceRule Construct

C1.1 MDC: "Where does the text of the inference rule go?"  

For any Business Rule (not just Derivation/InferenceRule), there is a narrative text property in the supertype (Business Rule) that can be used to express the rule informally.

C1.2 MDC: "Should there be generic text in the InferenceRule class...?"  

The full definition of a Derivation (InferenceRule) is expressed in terms of its associated constructs (refer to response point 8).

C2. Domain constraints

C2.1 MDC: "is there some ... way to accommodate such a constraint?"  

In the BRG model, a domain (AKA value class, datatype, etc.) is defined as a Term (subtype 'Type'). To enumerate specific values for the domain, each value is defined as an additional Term (subtype 'Literal') and associated with the Literal that is its Type, using the association under response point 5.
Using the Fact constructs of the model, an attribute (and its associated domain) can be defined either as two binary Facts (entity class to attribute, and attribute to domain) or as one ternary Fact (entity class, attribute, domain).

C3. Unary Facts

C3.1 MDC: "Some Business-Rule products ... recognize a "Unary" relationship.... UML, unfortunately, does not accommodate unary relationships...."  

Neither model (MDC or BRG) currently supports the definition of a "unary" relationship. However, removal of the "at least 2" constraint is on our list to consider in the next revision of the BRG model. This would provide better support for languages that do support unary Facts (e.g., NIAM, ORM).

If the user community has a legitimate need to represent unary facts then the conceptual model must support this construct. (The question of whether or not UML supports a particular construct should be irrelevant to the conceptual model.)

C4. Derived Facts

C4.1 MDC: "we could have a DerivedFact that specializes both FactRule and InferenceRule ... which is the preferred way to do this?"  

The BRG model supports the example you have provided (refer to the model shown with response point 8).
The Fact itself is classified as a DerivedFact (a subtype of Fact). This DerivedFact is related to the (separate) BusinessRule that specifies its derivation. Any other BusinessRules that participate in the derivation are associated with the Derivation (InferenceRule).