Issues for Production Rule Representation (PRR) Finalization Task Force
To comment on any of these issues, send email to prr-ftf@omg.org. (Please include the issue number in the Subject: header, thusly: [Issue ###].) To submit a new issue, send email to issues@omg.org.
List of issues (green=resolved, yellow=pending Board vote, red=unresolved)
Issue 13538: need to update the PRR-W3C RIF relationship
Issue 13539: Replace references to metamodel to metamodel and profile
Issue 13540: Change model to use Expression in lieu of OpaqueExpression (nherited from UML2)
Issue 13541: Figure 7.5 is redundant as it is replaced by a more recent diagram displayed as Figure 7.6
Issue 13820: problems with the EMOF, CMOF, XSD and Profile files
Issue 13538: need to update the PRR-W3C RIF relationship (prr-ftf)
Click here for this issue's archive.
Source: TIBCO (Mr. Paul Vincent, pvincent(at)tibco.com)
Nature: Enhancement
Severity: Minor
Summary:
Per PRR FTF face2face meeting: need to update the PRR-W3C RIF relationship to the following text: In November 2005, the World Wide Web consortium (W3C) chartered the Rule Interchange Format (RIF) working group to specify a format for rules that can be used across diverse systems. This format (defined as a language) will function as an interlingua into which both established and new rule languages can be mapped, allowing rules written for one application to be published, shared, and re-used in other applications and other rule engines. Because of the great variety in rule languages and rule engine technologies used in academia and emerging technologies, this common format will take the form of a Core language to be used with a set of standard and non-standard extensions. These extensions need not, and are unlikely to, all be combinable into a single “unified rule language”. The primary normative syntax of all the dialects must be an XML syntax. Users are expected to work with tools or rule languages that are transformed to and from this format. Practically, the approach taken by the W3C RIF Working Group has been to develop a basic logic dialect of RIF (RIF-BLD) and a production rule dialect (RIF-PRD), and to define the Core dialect as a subset of their intersection that is useful on its own right. The semantics of RIF basic logic dialect [RIF-BLD] is essentially Horn Logic, a well-studied sublanguage of First-Order Logic that is the basis of Logic Programming, which is especially common amongst semantic web researchers. The W3C RIF working group is also developing a framework for logic dialects [RIF-FLD], which functions basically as a catalog of syntactic and semantic features to be assembled to specify a new logic dialect. RIF-BLD is defined both as a stand-alone specification, and as a specialization of RIF-FLD. The RIF production rule dialect [RIF-PRD] is designed to support a basic, but useful, set of features that are shared by the main stream production rule languages and engines (both commercial and open source). The expressiveness of the Core dialect [RIF-Core] will be essentially equivalent to Datalog, a minimal logic programming language with uses in active data bases. The RIF Core dialect is specified both as a specialization of RIF basic logic dialect and as a specialization of RIF production rule dialect. There is an overlap in scope between W3C RIF PRD and PRR, and they share the goal of rule interoperability, albeit for different stages of the software development lifecycle. The division of labor is o OMG PRR focuses on the standard metamodel definition and modeling of production rules (and possibly other rule types) with an XMI-compliant interchange format for UML based modeling tools o W3C RIF PRD focuses on a Rule Interchange Format suitable for the real-time “Web” and users of “Web technologies” such as XML. The W3C working group appointed a liaison to work with PRR Core metamodel to maximize the value of these standards efforts in both groups. The liaison effort is effective because of considerable overlap in membership of the PRR and RIF groups. In addition, the RIF working group is encouraged (by charter [RIF-Charter]) to produce a document showing how these standards work together. Furthermore it is expected that a future version of PRR, PRR RIF, will be extended to with W3C RIF PRD syntax for PRR Conditions and Actions, further enabling design-to-runtime transitions. [RIF-BLD] http://www.w3.org/TR/rif-bld [RIF-Charter] http://www.w3.org/2005/rules/wg/charter#omg-prr [RIF-Core] http://www.w3.org/TR/rif-core [RIF-FLD] http://www.w3.org/TR/rif-fld [RIF-PRD] http://www.w3.org/TR/rif-prd
Resolution: Per PRR FTF face2face meeting: need to update the PRR-W3C RIF relationship to the
following text.
Revised Text: Annex D text changed to (without formatting):
In November 2005, the World Wide Web consortium (W3C) chartered the Rule
Interchange Format (RIF) working group to specify a format for rules that can be used
across diverse systems. This format (defined as a language) will function as an
interlingua into which both established and new rule languages can be mapped, allowing
rules written for one application to be published, shared, and re-used in other applications
and other rule engines. Because of the great variety in rule languages and rule engine
technologies used in academia and emerging technologies, this common format will take
the form of a Core language to be used with a set of standard and non-standard
extensions. These extensions need not, and are unlikely to, all be combinable into a single
“unified rule language”. The primary normative syntax of all the dialects must be an
XML syntax. Users are expected to work with tools or rule languages that are
transformed to and from this format. Practically, the approach taken by the W3C RIF
Working Group has been to develop a basic logic dialect of RIF (RIF-BLD) and a
production rule dialect (RIF-PRD), and to define the Core dialect as a subset of their
intersection that is useful on its own right. The semantics of RIF basic logic dialect [RIFBLD]
is essentially Horn Logic, a well-studied sublanguage of First-Order Logic that is
the basis of Logic Programming, which is especially common amongst semantic web
researchers. The W3C RIF working group is also developing a framework for logic
dialects [RIF-FLD], which functions basically as a catalog of syntactic and semantic
features to be assembled to specify a new logic dialect. RIF-BLD is defined both as a
stand-alone specification, and as a specialization of RIF-FLD. The RIF production rule
dialect [RIF-PRD] is designed to support a basic, but useful, set of features that are
shared by the main stream production rule languages and engines (both commercial and
open source). The expressiveness of the Core dialect [RIF-Core] will be essentially equivalent to Datalog, a minimal logic programming language with uses in active data
bases. The RIF Core dialect is specified both as a specialization of RIF basic logic dialect
and as a specialization of RIF production rule dialect. There is an overlap in scope
between W3C RIF PRD and PRR, and they share the goal of rule interoperability, albeit
for different stages of the software development lifecycle. The division of labor is o
OMG PRR focuses on the standard metamodel definition and modeling of production
rules (and possibly other rule types) with an XMI-compliant interchange format for UML
based modeling tools o W3C RIF PRD focuses on a Rule Interchange Format suitable for
the real-time “Web” and users of “Web technologies” such as XML. The W3C working
group appointed a liaison to work with PRR Core metamodel to maximize the value of
these standards efforts in both groups. The liaison effort is effective because of
considerable overlap in membership of the PRR and RIF groups. In addition, the RIF
working group is encouraged (by charter [RIF-Charter]) to produce a document showing
how these standards work together. Furthermore it is expected that a future version of
PRR, PRR RIF, will be extended to with W3C RIF PRD syntax for PRR Conditions and
Actions, further enabling design-to-runtime transitions.
[RIF-BLD] http://www.w3.org/TR/rif-bld
[RIF-Charter] http://www.w3.org/2005/rules/wg/charter#omg-prr
[RIF-Core] http://www.w3.org/TR/rif-core
[RIF-FLD] http://www.w3.org/TR/rif-fld
[RIF-PRD] http://www.w3.org/TR/rif-prd
Actions taken:
February 23, 2009: received issue
July 23, 2009: closed issue
Issue 13539: Replace references to metamodel to metamodel and profile (prr-ftf)
Click here for this issue's archive.
Source: TIBCO (Mr. Paul Vincent, pvincent(at)tibco.com)
Nature: Enhancement
Severity: Minor
Summary: Replace references to metamodel to metamodel and profile. Chapter should now read: The following MOF2 compliant metamodel and profile defines the PRR. They feature: • A definition of production rules for forward chaining inference and procedural processing. • A non-normative definition for an interchangeable expression language (PRR OCL) for rule condition and action expressions, so they can be replaced by alternative representations for vendor-specific usage or in other standards. • A definition of rulesets as collections of rules with a particular mode of execution (sequential or inferencing). The metamodel and profile are composed of: • a core structure referred to as PRR Core • an non-normative abstract OCL-based syntax for PRR expressions, defined as an extended PRR Core metamodel referred to as PRR OCL. Future extensions of PRR may address: • rule metamodels and profiles for other classes of rules, such as Event-Condition-Action (ECA), backward chaining, and constraints • rule representations that are specific to graphical notations, such as decision tables and decision trees • representations of sequences of rulesets within larger decisions • transformations between PRR and other MDA models such as SBVR.
Resolution: Replace references to metamodel to metamodel and profile
Revised Text: Chapter 7.1 should now read (without definitive formatting):
The following MOF2 compliant metamodel and profile defines the PRR. They feature:
•A definition of production rules for forward chaining inference and procedural
processing.
•A non-normative definition for an interchangeable expression language (PRR OCL) for
rule condition and action expressions, so they can be replaced by alternative
representations for vendor-specific usage or in other standards.
•A definition of rulesets as collections of rules with a particular mode of execution
(sequential or inferencing).
The metamodel and profile are composed of:
•a core structure referred to as PRR Core
•an non-normative abstract OCL-based syntax for PRR expressions, defined as an
extended PRR Core metamodel referred to as PRR OCL.
Future extensions of PRR may address:
•rule metamodels and profiles for other classes of rules, such as Event-Condition-Action
(ECA), backward chaining, and constraints
•rule representations that are specific to graphical notations, such as decision tables and
decision trees
•representations of sequences of rulesets within larger decisions
•transformations between PRR and other MDA models such as SBVR.
Actions taken:
February 23, 2009: received issue
July 23, 2009: closed issue
Issue 13540: Change model to use Expression in lieu of OpaqueExpression (nherited from UML2) (prr-ftf)
Click here for this issue's archive.
Source: TIBCO (Mr. Paul Vincent, pvincent(at)tibco.com)
Nature: Revision
Severity: Minor
Summary: Change model to use Expression in lieu of OpaqueExpression (nherited from UML2) - following FTF face2face discussions on relevance of Expression vs OpaqueExpression. Affects: pg 9 Fig 7.1 PRR metamodel pg 11 Fig 7.3 PRR ProductionRule Classes pg 11 Fig 7.4 PRR RuleVariable Classes pg 12-13 7.4.6 Computer Executable Rule pg 13 7.4.8 Variable pg 14 7.4.9 ProductionRuleset pg 15 7.4.11 RuleCondition pg 16 7.4.12 RuleAction pg 16 7.4.15 RuleVariable pg 18 Fig 7.6 Metamodel for PRR OCL pg 43-44 Annex A Complete Metamodel In all the above, the OpaqueEpression is directly replaced by Expression with no other changes.
Resolution: Change model to use Expression in lieu of OpaqueExpression (inherited from UML2) -
following FTF face2face discussions on relevance of Expression vs OpaqueExpression
Revised Text: In the following figures, the UML class OpaqueExpression is replaced 1 for 1 by the
UML class Expression.
pg 9 Fig 7.1 PRR metamodel
pg 11 Fig 7.3 PRR ProductionRule Classes
pg 11 Fig 7.4 PRR RuleVariable Classes
pg 18 Fig 7.6 Metamodel for PRR OCL
pg 43-44 Annex A Complete Metamodel
In the following pages and chapters, the texts for the descriptions of the PRR classes are
identical except for the substitution of Expression for OpaqueExpression.
pg 12-13 7.4.6 Computer Executable Rule
pg 13 7.4.8 Variable
pg 14 7.4.9 ProductionRuleset
pg 15 7.4.11 RuleCondition
pg 16 7.4.12 RuleAction
pg 16 7.4.15 RuleVariable
Actions taken:
February 23, 2009: received issue
July 23, 2009: closed issue
Issue 13541: Figure 7.5 is redundant as it is replaced by a more recent diagram displayed as Figure 7.6 (prr-ftf)
Click here for this issue's archive.
Source: TIBCO (Mr. Paul Vincent, pvincent(at)tibco.com)
Nature: Revision
Severity: Minor
Summary: Figure 7.5 is redundant as it is replaced by a more recent diagram displayed as Figure 7.6. Probably a typesetting or Word error. Remove Figure 7.5.
Resolution: Figure 7.5 is redundant as it is replaced by a more recent diagram displayed as Figure 7.6.
Probably a typesetting or Word error
Revised Text: remove figure 7.5.
Actions taken:
February 23, 2009: received issue
July 23, 2009: closed issue
Issue 13820: problems with the EMOF, CMOF, XSD and Profile files (prr-ftf)
Click here for this issue's archive.
Source: TIBCO (Mr. Paul Vincent, pvincent(at)tibco.com)
Nature: Revision
Severity: Minor
Summary: For the included files in PRR, there are a number of problems with the EMOF, CMOF, XSD and Profile files as discussed by the AB. These are: 1. Profile document is missing. 2. The model as described in these files have several "private" associations defined, where all such associations should be "public". 3. The model as described in these files have several end associations defined as "*" in the specification indicating "0..*" cardinality, but are represented as "*..*" (lower bound * instead of 0) in the model. 4. The model as described in these files refers to CMOF Behavior instead of UML Behavior as per the spec. e.g. <superClass href="http://schema.omg.org/spec/MOF/2.0/cmof.xml#Behavior"/>
Resolution: Adjust the PRR model in Magicdraw to generate model files that comply with the above
suggestions, and ensure these corrected model files are part of the PRR specification:
- Ensure all association ends that are *..* ranges are changed to 0..*
- Ensure all associations are public not private
- Ensure all inherited classes from UML (Class, Behavior, NamedElement, Expression)
are defined as being explicitly from UML2
- Ensure that an explicit UML Profile file is provided
Note that none of these require any change to the specification document, just to the
delivered normative model files delivered with PRR
Revised Text: No changes to the specification document.
Replaced EMOF and CMOF files after adjustments to the model to meet the specification
and above requirements.
Changes to PRR.cmof are:
- All references to visibility="private" are replaced with
visibility="public"
- All references to lower="*" upper="*" are replaced with lower="0"
upper="*"
Changes to PRR.emof are:
- All references to lower="*" upper="*" are replaced with lower="0"
upper="*" Note that the non-normative UML modeling tool file was changed to ensure references to
inherited UML classes were explicitly UML rather than any reference to CMOF or
EMOF.
Added Profile file PRR.xml by transformed model file (removing vendor extensions) to
produce Profile file.
Replaced the ZIP file of MOF and XSD with ZIP file of MOF and XSD and Profile XMI
Actions taken:
March 24, 2009: received issue
July 23, 2009: closed issue