Errata bmi/2007-06-01 to bmi/2007-03-08 Production Rule Representation Submission
Differences between the submission and the corrected submission bmi/2007-05-01 Based on discussions at the FTF and ongoing corrections, the following changes were made to the submission. Notes about the edits are in italics and actual text added or removed is not. Section 1.3 1.7 Edits Spelling and grammar Added: 4. Updated model to link ComputerExecutableRule class to Class class 5. Made PRR OCL non-normative Spelling and capitalization Removed the following as an XMI file has been added and submitted Note that an XMI W3C XML Schema Description (xsd) for the production rule metamodel is not provided in this submission. This is deliberate so as to allow the W3C Rule Interchange Format (RIF) to become the standard format for interchange of production rules between modeling tools and inference engines. The RIF standard is still under development (see Appendix Error! Reference source not found.Error! Reference source not found.) and includes members of the PRR submission team as well as a number of PRR supporters. Added: Expression Language A number of sections in the RFP detail the need for an expression language e.g. for conditions, actions and conditions. Although the proposal contains a section (Error! Reference source not found.Error! Reference source not found.) on PRR OCL, this is included as a non-normative section. There is not broad agreement on the value of being able to model rules in PRR OCL, or on the costs and benefits of supporting PRR OCL. PRR OCL is non-normative and the submission team cannot guarantee that a rule modeler would find a platform to which implementations of PRR OCL in the rules would translate. PRR OCL would guarantee enough detail for the rules, however; and it was carefully crafted to constrain the expressiveness of the language to constructs that most production rule platforms are likely to support in some form. Table edited to reflect changes with corrected references References to PRR OCL made non-normative Figure updated to reflect changes in 3.4.6 Table updated to correct RuleVariable definition and add omitted Variable definition: ProductionRule::RuleVariable A RuleVariable defines a domain to be used in rule execution. The range of
2.3 2.5.2
2.5.3
2.6 3.1 3.4.1 3.4.5
Section
3.4.6
3.4.6.2
Edits values that a rule variable can take may be further constrained by a filter expression... RuleCore::Variable The variable represents a programming construct to hold values for use in executing a ruleset. The values must conform to the variable's type. Added: For additional information in PRR Core, associations to Classes used are provided. In PRR OCL and other variants with expression languages that refer to Class within OpaqueExpression, this is redundant. Added: modifies Class[*] The classes modified by the rule, e.g. within the OpaqueExpression for associated RuleAction. PRR Core only. referenced class[*] The classes referred to by the rule, e.g. within the OpaqueExpression for associated RuleCondition. PRR Core only.
3.4.8.2
Corrected association name Scoped by:ComputerExecutableRuleset[0..1] The variable may be part of the scope of a ruleset Added definition of association shown in metamodel but not described: scope:RuleVariable[*] The list of RuleVariables that define the bindings in rule instantiation for all ProductionRule instances associated with the ProductionRuleset. Added: PRR OCL is included as a non-normative section of the submission. Added: Only the PRR Core subset are considered for conformance as the PRR OCL set is non-normative. For PRR Core only Syntax Compliance is relevant. Changed Conformance Table to include only Syntax conformance for PRR Core Replaced abbreviations with full text for clarity Updated model to include edits noted above
3.4.9.2
3.5
3.8
4.8 A