• Business Rules Group Response to MDC/Microsoft Business Rules Metamodel


  •   
  • FileName: BRG-MDC.pdf [preview-online]
    • Abstract: Business Rules Group Response to MDC/Microsoft Business Rules MetamodelResponse to MDC/Microsoft Business Rules Metamodelby the Business Rules Group (BRG)presented at the Nov. 1999 MDC working session

Download the ebook

Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
Response to MDC/Microsoft Business Rules Metamodel
by the Business Rules Group (BRG)
presented at the Nov. 1999 MDC working session
by Keri Anderson Healy and Michael Eulenberg
A. Introduction / Overview
1 The Business Rules Metamodel ~ Background
• Developed originally as a GUIDE project deliverable
• Published in 1995; revised in 1997
• Widely-adopted (defacto) standard for the definition of a "business rule"
• Uses the Zachman Framework as a context
– specifically "row-3" (the I/S Perspective)
• The Business Rules Group (the model's original author) continues to evolve and
expand these definitions
– more information: www.evergreen.edu/businessRules/
2 The Business Rules Group & the MDC
• The Business Rules Group (BRG) reviewed the MDC Business Rules metamodel at
our last working meeting (Aug. 1999).
– Our members agreed to provide a response to the MDC.
• Contact was made with Thomas Bergstraesser (Microsoft), who invited us to attend
today's meeting.
– objective: understand the format & timing of our response
• An invitation has been extended to the MDC to attend our next working meeting.
– Orlando, FL
– February 2000
3 Feedback and Initial Review
• Terry Moriarty (a BRG member) was asked by Microsoft to review the MDC
Business Rules submodel.
– Her independent response was provided to Microsoft/MDC and was used by the
BRG to prepare this response.
• We have begun to compile a point-by-point response to the MDC Business Rules
model (Review Draft 7/15/99).
– Some initial comments are provided here.
– The notation of the BRG metamodel is represented here in UML form for ease of
comparison.
• Our current work has developed a metamodel that covers several of the constructs in
the MDC Business Engineering Model (e.g., Goal, Objective, Mission, Vision, etc.).
– Our input on these constructs is also relevant.
BRG-MDC.doc 1 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
B. Metamodel Response Points
This section contains the point-by-point response (comparison) between the two
metamodels.
1. The Origins of a Business Rule ~ part 1
related to Business Rule Statement based on * Policy
* * basis for
* *
source of
based on
*
Business Rule
from [GBRP Figure 3]
1.1 Relating rules to policies rating:
The BRG model permits business rules to be related to policy.
The MDC model does not appear to provide this relationship.
1.2 Business Rule Statement vs. Business Rambling rating:
The BRG model uses the term "Business Rule Statement" for the concept.
The MDC model uses the term "Business Rambling" for the concept.
We initially considered the popular 'rambling' term for the concept but discarded it
(because of its somewhat negative tone).
1.3 Business Rambling to Business Rule multiplicity (MDC model)
rating:
The BRG model permits a Business Rule Statement to be related to many Business
Rules (and vice versa).
The MDC model restricts the multiplicity of Business Rambling to Business Rule to
"at most 1"; this is incorrect (ref. MDC definition text).
BRG-MDC.doc 2 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
2. The Origins of a Business Rule ~ part 2
Formal Expression Type
1
in the
convention of
*
Formal Rule Statement an expression of 1 Business Rule
* expressed in
From [GBRP Figure 3]
2.1 Formal Expression Type/Formal Rule Statement vs. the MDC Grammar Model
rating:
If we understand the nature of the MDC's proposed Grammar Model, it appears to
correspond to the intent of this portion of our model, but in more detail.
During the development of our model, we spent some time modeling grammars but
abandoned that activity. Instead, the main point we chose to emphasize in our model
is that
(a) one business rule may be expressed in multiple (language-specific) grammars, and
(b) this submodel does not impact or determine the essential statement (specification)
of the business rule.
In other words, we would treat "grammar" as a set of language bindings. There is no
one, single grammar.
Rather, we consider the essential statement of the business rule is in its conceptual
model (i.e., the detail of its definition in terms of the metamodel constructs of
"Business Rule.")
BRG-MDC.doc 3 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
3. Business Rule Types ~ Core Taxonomy
Business Rule
Derivation Structural Assertion Action Assertion
Mathematical Calculation Inference Term Fact
From [GBRP Figure 4; Figure 13]
3.1 Kinds of Business Rule rating:
The BRG model subtypes "Business Rule" into: Structural Assertion, Action
Assertion, and Derivation, and then further subtypes Structural Assertion into Term
and Fact.
The MDC model has flattened the initial set of types to: TermRule, FactRule,
ActionRule, and InferenceRule. This omits our generalization of Term and Fact into
Structural Assertion. Therefore, there is no explicit representation of the "Structural
Assertion" concept on the MDC model.
3.2 Derivation (BRG) vs. InferenceRule (MDC) rating:
The BRG model subtypes Derivation into Mathematical Calculation and Inference.
The MDC model appears to have removed the distinction between the concepts of
deriving knowledge by algorithm (Mathematical Calculation) vs. by reasoning
(Inference).
Furthermore, the MDC model has relabeled the general (supertype) concept as
"Inference" -- i.e., uses the label of one of its subtypes on the BRG model.
BRG-MDC.doc 4 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
4. Structural Assertions ~ Term in Context
Context *
Term *
* a synonym of
user of
used in
*
Business Term Common Term
From [GBRP Figure 5]
4.1 Terms in Context rating:
The BRG model provides for the ability to define a term in various contexts. (It also
provides for common terms -- those which have a generally-understood
interpretation, regardless of context.)
The ability to relate a term to one or more contexts was mentioned in the Workshop
but is not evident on the MDC model.
4.2 Terms and Synonyms rating:
The BRG model provides for a term to be a synonym of another term.
The ability to define multiple terms for a concept (I.e., terms as synonyms) was
mentioned in the Workshop but is not evident on the MDC model.
BRG-MDC.doc 5 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
5. Structural Assertions ~ Kinds of Term
Term
Literal 1 Type
*
Sensor
Clock
From [GBRP Figure 7]
5.1 Terms as Types or Literals rating:
The BRG model makes explicit the ability to distinguish a term as either a 'type' or a
'literal.'
The MDC model does not appear to reflect this.
5.2 Further subtypes of Type rating:
The BRG model further subtypes 'Type' into additional concepts that are often used
in expressing rules (especially the notion of the system 'clock').
The MDC model does not appear to reflect this.
5.3 Relating Type and Literal rating:
The BRG model expresses the ability to relate a 'type' with one or more 'literals' (i.e.,
to declare the set of 'valid values' for a datatype/domain).
The MDC model does not appear to reflect this.
BRG-MDC.doc 6 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
6. Structural Assertions ~ Terms and Facts
Fact
Term
1
1 the player of a
a possible expressed as
semantic role as 2..* wording of 1..*
* Object Role
Text Ordering
the use of
1
described by
1..*
Phrase
1..* position-in-ordering
text-with-marker
a sequential use of
syntactic-role-of-object-role
From [GBRP Figure 5]
6.1 The structuring of Terms into Facts rating:
The BRG model permits the deep-structured semantics of a Fact to be captured in the
conceptual model.
The MDC model appears to omit this.
(Note: during the Workshop, reference was made to another OIM submodel -- the
Semantics Model. This additional submodel should be reviewed to see if these
important constructs are accommodated in another part of the OIM.)
BRG-MDC.doc 7 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
7. Structural Assertions ~ Kinds of Fact
Fact
Attribute Participation Generalization
Association Aggregation Role
From [GBRP Figure 8]
7.1 Fact taxonomy rating:
The BRG model classifies Fact into subtypes: Attribute, Generalization, and
Participation. It further subtypes Participation into Association, Aggregation, and
Role.
While not called out as explicit types on the MDC model, the MDC's documentation
indicates that this general capability is provided via a property of FactRule. The
documentation implies that the valueset of this property is extensible.
7.2 Operation as a kind of Fact rating:
The MDC model includes "Feature" which is either an Attribute or an Operation.
The BRG model omits Operation as a kind of Fact.
BRG-MDC.doc 8 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
8. Derivations & Facts
1..* Business Rule Fact
used in
Derivation used to derive 1..* Derived Fact Base Fact
*
based on 1 derived using
Mathematical Calculation Inference
From [GBRP Figure 13]
8.1 Derivation (AKA the MDC model's InferenceRule) rating:
The BRG model includes relationships that permit the composition of the derivation
to be specified.
The MDC model does not appear to support this.
BRG-MDC.doc 9 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
9. Action Assertions
Construct correspondent object
1..*
evaluated
Action
using
Business Rule anchor object
1 a property
of
Action Assertion *
*
From [GBRP Figure 9]
9.1 Action Assertion (AKA the MDC model's ActionRule) rating:
The BRG model includes relationships that permit the statement of an Action
Assertion to be specified.
The MDC model does not appear to support this.
BRG-MDC.doc 10 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
10. Action Assertions ~ Categorization (1)
Action Assertion
Condition Integrity Constraint Authorization
From [GBRP Figure 10]
10.1 Action Assertion: basic classification rating:
The BRG model supports three basic types of Action Assertion.
This basic classification appears to be recognized in the MDC model (it is discussed
in the narrative), but it is not apparent how this is handled.
BRG-MDC.doc 11 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
11. Action Assertions ~ Categorization (2)
Action Assertion
Action Controlling Assertion Action Influencing Assertion
From [GBRP Figure 12]
11.1 Action Assertion: classification of the degree of control rating:
The BRG model provides for distinguishing Action Assertions that are controlling in
the system from those that merely provide guidance.
The MDC ActionRules does not appear to support this distinction.
BRG-MDC.doc 12 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
12. Action Assertions ~ Categorization (3)
Action Assertion
Enabler Timer Executive
From [GBRP Figure 11]
12.1 Action Assertion: alternative classification(s) rating:
The BRG model illustrates that Action Assertions need to be classified in various
other kinds of classification schemes. We have illustrated this on the model with a
selection of the subtypes from the taxonomy of the Ross Method.
The MDC ActionRules does not appear to support this ability to have user-defined
classification schemes for "rules."
BRG-MDC.doc 13 rev. 00.01.20
Business Rules Group Response to MDC/Microsoft Business Rules Metamodel
C. 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 above).
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, above.
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, above).
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).
BRG-MDC.doc 14 rev. 00.01.20


Use: 0.2907