Production Rule Representation Proposal

Transcription

Production Rule Representation SubmissionObject Management GroupProduction Rule RepresentationProposalDraft Response to OMG RFP br/2003-09-03Version (draft): June 2006Objective of RFP br/2003-09-03The RFP addresses the representation of production rules in UML models.(Production rules, as considered in this RFP, should not be confused with XMIproduction rules as defined in XMI 1.1 specification (formal/2000-11-02) orother model or grammar transformation rules specified by the OMG standards.)With respect of production rules, the RFP solicits proposals for the following:br/xx-xx-xx A MOF2 compliant metamodel with precise dynamic semantics to representproduction rules, where “production rules” refers to rules that are executedby an inference engine. This metamodel is intended to support a languagethat can be used with UML models for explicitly representing productionrules as visible, separate and primary model elements in UML models. An XMI W3C XML Schema Description (xsd) for production rules, basedon the proposed metamodel, in order to support the exchange of productionrules between modeling tools and inference engines. An example of a syntax that is compliant with the proposed metamodel forexpressing production rules in UML models. This syntax will be considerednon-normative.PRR Submission1

Production Rule Representation SubmissionContents1.0Introduction. 41.1Goals of the Production Rule Representation Standard. 51.2Organization of this document. 51.3Contact Information . 61.4RFP Credit . 71.5IPR and Patents . 72.0Context of the PRR . 82.1OMG MDA Context . 82.1.1Class of Platform. 82.1.2MDA layers. 92.2UML and Business Rules . 103.0PRR Proposal . 103.1Introduction to PRR Core and PRR OCL. 103.2Production Rules. 123.2.1Production Rule definition. 123.2.2Production Ruleset definition . 123.2.3Rule Variable definition. 133.2.4Semantics of Rule Variables. 133.2.5Semantics of Production Rules . 143.3PRR Core Metamodel . 163.3.1Overview. 163.3.2Class Rule . 163.3.3Class Ruleset. 173.3.4Class Variable . 173.3.5Production Ruleset Diagram . 183.3.6Class ProductionRuleset . 183.3.7Production Rule Diagram . 193.3.8Class ProductionRule. 203.3.9Class RuleCondition . 213.3.10Class Action . 223.3.11Rule Variable Diagram . 223.3.12Class RuleVariable. 233.4PRR OCL Metamodel. 253.4.1PRR OCL Metamodel. 253.4.1.1 OCL for PRR OCL . 253.4.1.2 RuleVariable . 283.4.1.3 RuleCondition . 313.4.1.4 RuleAction . 323.4.1.4.1 Class ImperativeExp . 333.4.1.4.1.1Description. 343.4.1.4.1.2Attributes. 343.4.1.4.1.3Associations . 34br/xx-xx-xxPRR Submission2

Production Rule Representation Submission3.4.1.4.1.4Constraints . 343.4.1.4.1.5Semantics . 343.4.1.4.2 Class AssignExp . 343.4.1.4.2.1Description. 343.4.1.4.2.2Attributes. 343.4.1.4.2.3Associations . 343.4.1.4.2.4Constraints . 343.4.1.4.2.5Semantics . 353.4.1.4.3 Class InvokeExp . 353.4.1.4.3.1Description. 353.4.1.4.3.2Attributes. 353.4.1.4.3.3Associations . 353.4.1.4.3.4Constraints . 353.4.1.4.3.5Semantics . 353.4.2PRR OCL: Standard Library. 353.4.2.1 The OclAny, OclVoid types . 363.4.2.2 OclType. 363.4.2.3 Primitive Types. 373.4.2.4 Real . 373.4.2.5 Integer . 383.4.2.6 String. 383.4.2.7 Boolean . 393.4.2.8 Collection-Related Types. 393.4.2.8.1 Collection. 393.4.2.8.2 Set . 403.4.2.8.3 OrderedSet . 403.4.2.8.4 Bag . 413.4.2.8.5 Sequence . 423.4.2.9 The PRRRuleEngine class . 433.5XMI W3C XML schema . 443.6PRR Compliance. 444.0Comparison with RFP. 445.0Comparison with other OMG Standards. 455.1UML. 455.1.1UML Activities . 455.1.2UML Events. 455.2Alignment with MDA - Model Driven Architecture . 455.3Alignment with OCL - Object Constraint Language. 455.4Alignment with Action Semantics . 455.5Comparison with other Standards. 465.5.1Semantics for Business Vocabularies and Rules (SBVR) . 465.5.2Business Process Definition Metamodel (BPDM) . 465.5.3Ontology Definition Metamodel (ODM). 465.5.4Enterprise Distributed Object Computing (EDOC) and EnterpriseCollaboration Architecture (ECA). 475.6Possible Transformations. 47br/xx-xx-xxPRR Submission3

Production Rule Representation Submission5.6.1Production Rule Transformation from the SBVR . 476.0References. 476.1References Specific to the PRR . 476.2General References . 48Appendix A Glossary . 51Appendix B Guidance for Users . 52Appendix C Example implementation: PR-RuleML . 52Appendix D Relationship with: W3C Rule Interchange Format. 52Appendix E Example Rule Mappings from other formats. 52Appendix F Other Rule Types: ECA Rule example. 52Appendix G IPR Statements for OMG Business Committee. 53G.1Ilog . 53G.2IBM . 54This draft constitutes a work in progress. To be discussed at ongoing OMGTechnical Meetings and Conference Calls.In particular, the following non-normative content is in progress:1. Further explanations as to the semantics of inference rule engines2. Examples of PRR OCL versus commercial rule engine languages 3. Example of PRR extensions for other languages such as ECA rules4. Completion and verification of PRR OCL.5. Any revisions outstanding from the W3C RIF effort that affects rule modelingand production rules in particular.6. PRR RuleML as an example PRR OCL implementation.Sections 3.5 on will be completed later.1.0IntroductionThe Production Rule Representation (PRR) standard was first proposed as thefirst technology-based rule-related standards in the OMG Business RulesWorking Group, now part of the Business Modeling and Integration (BMI)domain task force. PRR addresses the requirement for a common productionrule representation, as used in rule engines from a variety of vendors today.Although OMG standards are traditionally associated with “software modeling”tasks, the BMI task force (as well as many vendors represented in OMG) isassociated with more “business-oriented” approaches to system automation,such as business rule automation and business process automation. This is fullycomp

Jon Pellant of Pega Systems: jon.pellant@pega.com . Production Rule Representation Submission br/xx-xx-xx PRR Submission 7 David Springgay of IBM: David_Springgay@ca.ibm.com Pedram Abrari of Corticon: Pedram@Corticon.com Representing associated tool vendors for UML and BPM: Jim Frank of IBM: joachim_frank@us.ibm.com Mark Linehan of IBM: mlinehan@us.ibm.com Jacques Durand of