Upload
lorin-randall
View
218
Download
0
Embed Size (px)
Citation preview
Production Rule Representation Team Response
Presentation to BEIDTFOMG Montreal Aug 2004
Ruleml.org
Agenda
Introduction to PRR
Introduction to PRR Team
PRR Scope, Goals, Requirements
PRR Positioning & Other Standards
What is a Production Rule?
• A statement of programming logic that specifies the execution of one or more actions in the case that its conditions are satisfied.– If Conditions then Actions– Executed by an inference engine
• NOT what is meant in OMG model transformations
Why a PRR Standard?• Production Rules & Inference Engines are used in
industry as a means of– Efficiently representing and executing business rules– 100Ks – Ms of such rules in use across different
organizations– Used in decision automation in financial svcs, government,
insurance, healthcare etc
• Issues in PRR implementations include– How do I represent rules in my UML model?– How do I guarantee vendor neutrality in rule representation?
• Lack of standard results in– Rules being omitted from models– Rules being integrated into UML incorrectly– No rule exchange standards– No standardized training for modelers
State of the Technology• Inferencing with Production Rules: 20 years old
– Backward chaining and forward chaining are well established technologies
• Vendors in the industry– Commercial inference engines
• Fair Isaac: Blaze Advisor• ILOG: JRules• CA: Aion
– Open source / source-available tools• JESS• DROOLS
– More in development
PRR Team Members
• IBM: largest IT services and tools company
• Fair Isaac:
• Ilog:
• LibRT: vendor of rule verification technology
• RuleML: existing rule standards body
the Top 2 Suppliers of inference engines & rule management technology
PRR Scope
• MDA Platform Independent Model: an “Inferencing platform” that is independent of specific inferencing product
• Excludes – Logic programming and unification– Constraint programming and constraint
satisfaction– Event-Condition-Action (ECA) rules– Fuzzy rules and Bayesian inferencing
PRR Team Goals• Opportunity for PRR standard that satisfies
both OMG and RuleML.org needs• Provides basis for rule interoperability &
encourage further adoption of production rules in software systems
• Standardize the representation of rules within common UML diagrams
NOTE: At this time, we are NOT concerned withtheoretical MDA transformations
to/from other metamodelsHOWEVER: We do not preclude this capability
being provided outside of this standard
PRR Requirements• MOF 2.0 compliant Production Rule Metamodel
– Abstract syntax for representing PR in UML models– Supports “patterns” across Conditions and Actions
• Supported inferencing algorithms– Forward or backward chaining– Support for Rete algorithm is required
• XML Schema for XMI support• Rulesets
– Properties: reasoning mode, identifier– Ruleset aggregation– Association with UML Activity Diagram
• Rule/ruleset naming• Examples
PRR in UML
Re-use existing UML languages as much as possible, withminimum extensions / changes required to achieve a PRR
Conditions: OCL subset against a defined object model+ extensions to support patterns+ extensions to support variable / pattern sharing with actions- OR -
RuleML constructs
Actions: Action Language subset against a defined object model+ extended to support scope defined through conditions’ context
Metamodel of Rules
DerivationRule ReactionRuleIntegrityRule
SQL:1999Assertion
ProductionRule
ECARule
SQL:1999 Trigger
SQL:1999 View
OCL 2.0 Invariant
XSB 2.6 PrologRule Jess 3.4 Rule
ECAPRule
TransformationRule
XSL 1.0 RulePIM
MS Outlook 6 Rule
PSMOracle 10gSQL View
ILOG JRule BlazeAdvisorRule
Rule
Possibly also consider “Procedural Rules”
Metamodel under development
Investigating basics of representation structureas well as effects of OCL and AS; extended for rule scope
name[1] : string
ProductionRule1
condition1..*
1
producedAction1..*
{ordered}
ActionExpressionLogicalFormula
name : string
ProductionRule
ActionExpressionLogicalFormula
+parentRule
1
+producedAction1..*
-parentRule
1
-condition1..*
Use of association:this means conditions and actions arerepresented independently.Useful if conditions and actions- have independent scope,- can be shared.
Use of composition:this means conditions and actions arerepresented within rules.Useful if conditions and actions- are dependent on rule contexteg action depends on condition context for pattern,- should be repeated rather than shared.
Comparison with Existing Stds
JavaInvocation
JSR-094
Desire to includestandard
rule transportas well asinvocation
W3C / XML
XPath etc
Need for
specificproduction rulerepresentation
RuleML
Predicate-logic
Requirementfor more
commercial usageEg OORuleML
separatesrules from data
PRR positioningin MDA for Current Tools
CIM
PIM
PSM
Execution layer
Fair Isaac& IlogRule MgmtTechnology
IBMTools
andSolutions
thatdefine,embed
productionrules
LibRTRule
TestingTechnology
PRR
PRR positioningin MDA for BEIDTF Models
CIM
PIM
PSM
Execution layer
BPDMBSBR*Rule & ProcessModels
Business Metamodel
Business Object Model
PRR
BSBR Vocabulary
PRR positioningin MDA for BEIDTF Models
CIM
PIM
PSM
Execution layer
BPDMBSBR*Rule & ProcessModels
Business Metamodel
Business Object Model
PRR
BSBR Vocabulary
Appropriate engines / code generators
PRR Issues
• Is PRR still useful, given BSBR defines formal rules at business level?
• Will transformations be automatable? Or just traceable?
• Is OMG Metamodel structure too heavyweight?
POSSIBLY: BSBR is an information model; not targeted at implementation of services
UNKNOWN: Depends on customerinterest. Note lack of success of CASE…
POSSIBLY: Could derivea lightweight version in future
PRR Issues (2)
• Will RuleML be coverable in same standard?
Use/extend of BOTH OCL & ASL? Why not extend just 1?
PROBABLY: Working on examplesto verify this assumption
POSSIBLY: Might be that extensionsare useful for other rules / uses in OMG?
Status & Summary
• Effective PRR team in place• Current work:
– Expanding metamodel to accommodate RFP requirements
– Exploration of OCL + AL to provide behavior– Example-driven investigations comparing
RuleML, LibRT RBML, Ilog + Fair Isaac rule implementations, and OCL + AL definitions
• Next: Diagramming PR• Next Update: Nov mtg