Return to the BRG Response Overview
Four issues were raised in the MDC's business rules draft. Below are the responses by the BRG on these points.
| 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.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.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.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).