Many Complex Event Processing systems can be classified as “advanced decision support systems“; decisions are typically made with respect to the detection of complex events, and both the event detection AND decision are potentially rules-based. With the near-completion of the first stage / version 1.0 of the OMG Production Rule Representation (PRR) – arguably the first rules standard from a bona fide standards body for rule engines – it seems time to look at the supporting aspects for PRR [*1], such as decision model notations [*2].
For the latter, the PRR co-chairs (TIBCO and ILOG) are promoting discussion on a Decision Model and Notation standard that would equally fit within a BPMN model framework as well as map to PRR-type rules [*3].
The notification within OMG read:
One of the standard IT practices in BPM-BRMS is to “model” decision rules using notations like decision tables and trees, and then transform these either to some custom algorithm or production rules (which may or may not be involved in inferencing) as defined in PRR. With the BPMN2 “business rule task” not having a standard model or notation beyond the notation icon, the PRR team thought it relevant to propose to fill this gap with a Decision Model and Notation RFP that is also relevant to other decision rule uses.
DMN topics could include:
a. An initial notation for decision rules as used in business processes and services, such as a decision table and tree.
b. A mapping to PRR.
c. Some level of compatibility with the BPMN2 model, possibly as an optional extension (as well as a standalone model).
d. Links to SBVR term and fact models (although possibly this would piggyback work on SBVR-BPMN vocabulary-to-business-object-model translation).
e. Provide the decision component for Case Management and maybe other BMI RFPs / standards.
Note the previous OMG discussions on this topic were at Burlingame in Dec 07.
Notes:
[1] Other suggestions for PRR include PRR-specific notations (if-then constructs in UML diagrams referring to UML Class and UML Event, but missing a standard expression language), and addressing backward chaining rules (goal-driven, but missing much in the way of vendor support).
[2] At TIBCO, both iProcess Decisions (the BPM-only decision engine) and TIBCO BusinessEvents (the event-decision-action and CEP engine, also used in TIBCO BPM+) utilize Decision Table models to describe decisions. In case anyone is confused by the difference between decisions and production rules, note that BusinessEvents maps decisions to custom rule functions, and uses inference / production rules (or queries) to generate the supporting complex events referenced in those decisions.
[3] Recall that PRR defines both rules used in rule engines, and “sequential” / script non-inferencing rules of the type that is supported easily by most BPM and BPEL engines.




