Production Rule Representation Proposal
Total Page:16
File Type:pdf, Size:1020Kb
Production Rule Representation Submission Object Management Group Production Rule Representation Proposal Draft Response to OMG RFP br/2003-09-03 Version (draft): June 2006 Objective of RFP br/2003-09-03 The RFP addresses the representation of production rules in UML models. (Production rules, as considered in this RFP, should not be confused with XMI production rules as defined in XMI 1.1 specification (formal/2000-11-02) or other model or grammar transformation rules specified by the OMG standards.) With respect of production rules, the RFP solicits proposals for the following: • A MOF2 compliant metamodel with precise dynamic semantics to represent production rules, where “production rules” refers to rules that are executed by an inference engine. This metamodel is intended to support a language that can be used with UML models for explicitly representing production rules as visible, separate and primary model elements in UML models. • An XMI W3C XML Schema Description (xsd) for production rules, based on the proposed metamodel, in order to support the exchange of production rules between modeling tools and inference engines. • An example of a syntax that is compliant with the proposed metamodel for expressing production rules in UML models. This syntax will be considered non-normative. br/xx-xx-xx PRR Submission 1 Production Rule Representation Submission Contents 1.0 Introduction............................................................................................................. 4 1.1 Goals of the Production Rule Representation Standard...................................... 5 1.2 Organization of this document............................................................................ 5 1.3 Contact Information............................................................................................ 6 1.4 RFP Credit.......................................................................................................... 7 1.5 IPR and Patents................................................................................................... 7 2.0 Context of the PRR ................................................................................................. 8 2.1 OMG MDA Context ........................................................................................... 8 2.1.1 Class of Platform......................................................................................... 8 2.1.2 MDA layers................................................................................................. 9 2.2 UML and Business Rules ................................................................................. 10 3.0 PRR Proposal........................................................................................................ 10 3.1 Introduction to PRR Core and PRR OCL......................................................... 10 3.2 Production Rules............................................................................................... 12 3.2.1 Production Rule definition........................................................................ 12 3.2.2 Production Ruleset definition ................................................................... 12 3.2.3 Rule Variable definition............................................................................ 13 3.2.4 Semantics of Rule Variables..................................................................... 13 3.2.5 Semantics of Production Rules ................................................................. 14 3.3 PRR Core Metamodel....................................................................................... 16 3.3.1 Overview................................................................................................... 16 3.3.2 Class Rule................................................................................................. 16 3.3.3 Class Ruleset............................................................................................. 17 3.3.4 Class Variable ........................................................................................... 17 3.3.5 Production Ruleset Diagram..................................................................... 18 3.3.6 Class ProductionRuleset ........................................................................... 18 3.3.7 Production Rule Diagram ......................................................................... 19 3.3.8 Class ProductionRule................................................................................ 20 3.3.9 Class RuleCondition ................................................................................. 21 3.3.10 Class Action.............................................................................................. 22 3.3.11 Rule Variable Diagram ............................................................................. 22 3.3.12 Class RuleVariable.................................................................................... 23 3.4 PRR OCL Metamodel....................................................................................... 25 3.4.1 PRR OCL Metamodel............................................................................... 25 3.4.1.1 OCL for PRR OCL ................................................................................... 25 3.4.1.2 RuleVariable ............................................................................................. 28 3.4.1.3 RuleCondition........................................................................................... 31 3.4.1.4 RuleAction ................................................................................................ 32 3.4.1.4.1 Class ImperativeExp ............................................................................. 33 3.4.1.4.1.1 Description........................................................................................ 34 3.4.1.4.1.2 Attributes........................................................................................... 34 3.4.1.4.1.3 Associations ...................................................................................... 34 br/xx-xx-xx PRR Submission 2 Production Rule Representation Submission 3.4.1.4.1.4 Constraints ........................................................................................ 34 3.4.1.4.1.5 Semantics .......................................................................................... 34 3.4.1.4.2 Class AssignExp ................................................................................... 34 3.4.1.4.2.1 Description........................................................................................ 34 3.4.1.4.2.2 Attributes........................................................................................... 34 3.4.1.4.2.3 Associations ...................................................................................... 34 3.4.1.4.2.4 Constraints ........................................................................................ 34 3.4.1.4.2.5 Semantics .......................................................................................... 35 3.4.1.4.3 Class InvokeExp ................................................................................... 35 3.4.1.4.3.1 Description........................................................................................ 35 3.4.1.4.3.2 Attributes........................................................................................... 35 3.4.1.4.3.3 Associations ...................................................................................... 35 3.4.1.4.3.4 Constraints ........................................................................................ 35 3.4.1.4.3.5 Semantics .......................................................................................... 35 3.4.2 PRR OCL: Standard Library..................................................................... 35 3.4.2.1 The OclAny, OclVoid types..................................................................... 36 3.4.2.2 OclType..................................................................................................... 36 3.4.2.3 Primitive Types......................................................................................... 37 3.4.2.4 Real ........................................................................................................... 37 3.4.2.5 Integer ....................................................................................................... 38 3.4.2.6 String......................................................................................................... 38 3.4.2.7 Boolean ..................................................................................................... 39 3.4.2.8 Collection-Related Types.......................................................................... 39 3.4.2.8.1 Collection.............................................................................................. 39 3.4.2.8.2 Set ......................................................................................................... 40 3.4.2.8.3 OrderedSet ............................................................................................ 40 3.4.2.8.4 Bag ........................................................................................................ 41 3.4.2.8.5 Sequence ............................................................................................... 42 3.4.2.9 The PRRRuleEngine class ........................................................................ 43 3.5 XMI W3C