Issue 15260: Example from Annex F in SBVR Structured English (prr-rtf) Source: Rule ML Initiative (Mr. John Hall, john.hall(at)modelsystems.co.uk) Nature: Enhancement Severity: Minor Summary: As a demonstration on an SBVR project, I wrote a version in SBVR Structured English of the example in PRR Annex E, pages 58 - 65. It was suggsted at a PRR meeting that it could be useful as an alternative view of the example, and might be included as an additional annex (or perhaps included in Annex E). It is contained in a separate document. Resolution: Revised Text: Actions taken: May 19, 2010: received issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 19 May 2010 13:37:18 -0400 To: Subject: Issue/Bug Report ******************************************************************************* Name: John Hall Company: Inferware mailFrom: john.hall@modelsystems.co.uk Notification: Yes Specification: PRR Section: New Annex FormalNumber: dtc/2009-02-22 Version: 1.0 RevisionDate: 22 Feb 2009 Page: New Title: Example from Annex F in SBVR Structured English Nature: Enhancement Severity: Minor test: 3qw8 B1: Report Issue Description: As a demonstration on an SBVR project, I wrote a version in SBVR Structured English of the example in PRR Annex E, pages 58 - 65. X-IronPort-AV: E=Sophos;i="4.53,468,1272870000"; d="gif'147?scan'147,208,217,147";a="11788444" Subject: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Date: Wed, 23 Jun 2010 09:51:25 -0700 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Thread-Index: AcsS9FFykeuXkNH3SjqjzI4zPIsvvQ== From: "Paul Vincent" To: "Ho Kit Robert Ong" , "Daniel Brookshier" Cc: X-OriginalArrivalTime: 23 Jun 2010 16:51:19.0347 (UTC) FILETIME=[4D9A5030:01CB12F4] Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple .levels. at which one might want to reference UML Class in a production rule .model.: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above .reference. associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to .match. at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian: Shows the relationships from the ExecutableRule level to the UML Classes. Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Cc: Daniel Brookshier , "" X-Mailer: iPhone Mail (8A293) From: Ho Kit Robert Ong Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Date: Fri, 25 Jun 2010 06:58:02 +0700 To: Paul Vincent Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: > Daniel, Robert ­ the below is really a UML metamodel expert questiion... hoping you can advise! > > Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 > > Christian and I were discussing these issues, which in a nutshell cover the multiple âlevelsâ at which one might want to reference UML Class in a production rule âmodelâ: these options and associated use cases are: > > - at the (ComputerExecutable) ruleset level ­ I define a ruleset tto tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing > > Where reference means modify or read > > - at the (ComputerExecutable) rule level ­ I define individual rulles against the UML Classes they reference > > Where reference means modify or read > > - at the RuleVariable, Condition and Action level ­ I define the CConditions and Actions and RuleVariables against the Classes they reference > > Where reference means modify or read for actions, but read for conditions and RuleVariables > > How best to represent this? > > Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above âreferenceâ associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to âmatchâ at each level: > eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels > > Solution 2a could replace such UML associations with specific association classes to represent the link: > eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes > > Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... > > Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. > > Examples from Christian: > > Shows the relationships from the ExecutableRule level to the UML Classes. > > Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple âlevelsâ at which one might want to reference UML Class in a production rule âmodelâ: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above âreferenceâ associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to âmatchâ at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian: cid_1_0833251C0835615C005A8B798625774B Shows the relationships from the ExecutableRule level to the UML Classes. cid_1_08332BE4083327DC005A8B798625774B Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. X-Disclaimed: 1278 To: Ho Kit Robert Ong Cc: Daniel Brookshier , "", Paul Vincent Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion X-KeepSent: 1A0FE283:611992FC-8825774D:000079F6; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.0.2 HF88 September 24, 2008 From: Christian De Sainte Marie Date: Thu, 24 Jun 2010 17:13:22 -0700 X-MIMETrack: Serialize by Router on D12ML703/12/M/IBM(Release 8.0.1|February 07, 2008) at 25/06/2010 02:13:24, Serialize complete at 25/06/2010 02:13:24 Hi Robert, After July 2 will be all right. Thanx. Before July 18 would fit optimaly with my own schedule. Cheers, Christian IBM 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 From: Ho Kit Robert Ong To: Paul Vincent Cc: Daniel Brookshier , "" Date: 24/06/2010 16:58 Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple .levels. at which one might want to reference UML Class in a production rule .model.: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above .reference. associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to .match. at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian:[attachment "cid:_1_0833251C0835615C005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships from the ExecutableRule level to the UML Classes.[attachment "cid:_1_08332BE4083327DC005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 Cc: Daniel Brookshier , "" , Paul Vincent From: Robert Ong Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Date: Tue, 20 Jul 2010 10:06:56 +0700 To: Christian De Sainte Marie X-Mailer: Apple Mail (2.1081) Hi All, Sorry for the late reply. We think that the solutions 2b is the best choice because it requires us to add only a association class to fulfill the link that we need. The metamodel is more clear and easier to understand in this solution. Solutions 1 require many constraint so it will cause the model difficult to read and understand. Solutions 2b will incase unnecessary subtype and complexity. Hope this help. If you have more question please do not hesitate to contact us. Thank you Sincerely, Robert On Jun 25, 2010, at 7:13 AM, Christian De Sainte Marie wrote: Hi Robert, After July 2 will be all right. Thanx. Before July 18 would fit optimaly with my own schedule. Cheers, Christian IBM 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 From: Ho Kit Robert Ong To: Paul Vincent Cc: Daniel Brookshier , "" Date: 24/06/2010 16:58 Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple .levels. at which one might want to reference UML Class in a production rule .model.: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above .reference. associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to .match. at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian:[attachment "cid:_1_0833251C0835615C005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships from the ExecutableRule level to the UML Classes.[attachment "cid:_1_08332BE4083327DC005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 X-IronPort-AV: E=Sophos;i="4.55,232,1278313200"; d="scan'208,217";a="12715733" Subject: RE: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Date: Tue, 20 Jul 2010 05:13:26 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Thread-Index: AcsnuLPDlCvur7YgQ1+Mthaa2RZomwATCjdg From: "Paul Vincent" To: "Robert Ong" , "Christian De Sainte Marie" Cc: "Daniel Brookshier" , X-OriginalArrivalTime: 20 Jul 2010 12:13:27.0726 (UTC) FILETIME=[F5B214E0:01CB2804] X-TM-AS-Product-Ver: SMEX-10.0.0.1412-6.000.1038-17516.003 X-TM-AS-Result: No--47.650900-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No Thanks Robert: good to hear. I.ll plan on adjusting the model and sending out votes for the PRR model next week... Paul Vincent +1 650 206 2493 / mobile +44 781 493 7229 From: Robert Ong [mailto:robert_o@nomagicasia.com] Sent: 20 July 2010 04:07 To: Christian De Sainte Marie Cc: Daniel Brookshier; ; Paul Vincent Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Hi All, Sorry for the late reply. We think that the solutions 2b is the best choice because it requires us to add only a association class to fulfill the link that we need. The metamodel is more clear and easier to understand in this solution. Solutions 1 require many constraint so it will cause the model difficult to read and understand. Solutions 2b will incase unnecessary subtype and complexity. Hope this help. If you have more question please do not hesitate to contact us. Thank you Sincerely, Robert On Jun 25, 2010, at 7:13 AM, Christian De Sainte Marie wrote: Hi Robert, After July 2 will be all right. Thanx. Before July 18 would fit optimaly with my own schedule. Cheers, Christian IBM 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 From: Ho Kit Robert Ong To: Paul Vincent Cc: Daniel Brookshier , "" Date: 24/06/2010 16:58 Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert queestion... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple .levels. at which one might want to reference UML Class in a production rule .model.: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle somee rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UUML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariabless against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above .reference. associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to .match. at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian:[attachment "cid:_1_0833251C0835615C005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships from the ExecutableRule level to the UML Classes.[attachment "cid:_1_08332BE4083327DC005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 4465 03644 X-Disclaimed: 3786 To: "Paul Vincent" Cc: "Daniel Brookshier" , prr-rtf@omg.org, "Robert Ong" Subject: RE: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion X-KeepSent: 1218A7D6:2657C617-C1257766:0043C566; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 8.0.2 HF88 September 24, 2008 From: Christian De Sainte Marie Date: Tue, 20 Jul 2010 14:22:04 +0200 X-MIMETrack: Serialize by Router on D12ML703/12/M/IBM(Release 8.0.2FP2|June 22, 2009) at 20/07/2010 14:22:05, Serialize complete at 20/07/2010 14:22:05 Thanx, indeed, Robert. For the avoidance of doubt, can you confirm that you meant solution 2a (I mean, that you think solution 2a is the best, not 2b)? Cheers, Christian IBM 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel./Fax: +33 1 49 08 29 81 From: "Paul Vincent" To: "Robert Ong" , Christian De Sainte Marie/France/IBM@IBMFR Cc: "Daniel Brookshier" , Date: 20/07/2010 14:13 Subject: RE: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Thanks Robert: good to hear. I.ll plan on adjusting the model and sending out votes for the PRR model next week... Paul Vincent +1 650 206 2493 / mobile +44 781 493 7229 From: Robert Ong [mailto:robert_o@nomagicasia.com] Sent: 20 July 2010 04:07 To: Christian De Sainte Marie Cc: Daniel Brookshier; ; Paul Vincent Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Hi All, Sorry for the late reply. We think that the solutions 2b is the best choice because it requires us to add only a association class to fulfill the link that we need. The metamodel is more clear and easier to understand in this solution. Solutions 1 require many constraint so it will cause the model difficult to read and understand. Solutions 2b will incase unnecessary subtype and complexity. Hope this help. If you have more question please do not hesitate to contact us. Thank you Sincerely, Robert On Jun 25, 2010, at 7:13 AM, Christian De Sainte Marie wrote: Hi Robert, After July 2 will be all right. Thanx. Before July 18 would fit optimaly with my own schedule. Cheers, Christian IBM 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 From: Ho Kit Robert Ong To: Paul Vincent Cc: Daniel Brookshier , "" Date: 24/06/2010 16:58 Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple .levels. at which one might want to reference UML Class in a production rule .model.: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above .reference. associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to .match. at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian:[attachment "cid:_1_0833251C0835615C005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships from the ExecutableRule level to the UML Classes.[attachment "cid:_1_08332BE4083327DC005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 Cc: Paul Vincent , Daniel Brookshier , "prr-rtf@omg.org" X-Mailer: iPhone Mail (8A306) From: "Robert O." Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Date: Tue, 20 Jul 2010 21:29:31 +0700 To: Christian De Sainte Marie Hi All, Sorry for the mistyping, I mean solution 2a. Sent from my iPhone On Jul 20, 2010, at 19:22, Christian De Sainte Marie wrote: Thanx, indeed, Robert. For the avoidance of doubt, can you confirm that you meant solution 2a (I mean, that you think solution 2a is the best, not 2b)? Cheers, Christian IBM 9 rue de Verdun 94253 - Gentilly cedex - FRANCE Tel./Fax: +33 1 49 08 29 81 From: "Paul Vincent" To: "Robert Ong" , Christian De Sainte Marie/France/IBM@IBMFR Cc: "Daniel Brookshier" , Date: 20/07/2010 14:13 Subject: RE: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Thanks Robert: good to hear. Iâll plan on adjusting the model and sending out votes for the PRR model next week... Paul Vincent +1 650 206 2493 / mobile +44 781 493 7229 From: Robert Ong [mailto:robert_o@nomagicasia.com] Sent: 20 July 2010 04:07 To: Christian De Sainte Marie Cc: Daniel Brookshier; ; Paul Vincent Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion Hi All, Sorry for the late reply. We think that the solutions 2b is the best choice because it requires us to add only a association class to fulfill the link that we need. The metamodel is more clear and easier to understand in this solution. Solutions 1 require many constraint so it will cause the model difficult to read and understand. Solutions 2b will incase unnecessary subtype and complexity. Hope this help. If you have more question please do not hesitate to contact us. Thank you Sincerely, Robert On Jun 25, 2010, at 7:13 AM, Christian De Sainte Marie wrote: Hi Robert, After July 2 will be all right. Thanx. Before July 18 would fit optimaly with my own schedule. Cheers, Christian IBM 94253 - Gentilly cedex - FRANCE Tel. +33 1 49 08 35 00 Fax +33 1 49 08 35 10 From: Ho Kit Robert Ong To: Paul Vincent Cc: Daniel Brookshier , "" Date: 24/06/2010 16:58 Subject: Re: [PRR RTF] issues 15260 and 15261 - modelling enhancements for PRR - discussion -------------------------------------------------------------------------------- Hi Paul, When do you need it? I am busy now. And should able to look at it after June 2. Thanks. Sincerely, Robert Sent from my iPhone On Jun 23, 2010, at 11:51 PM, "Paul Vincent" wrote: Daniel, Robert . the below is really a UML metamodel expert question... hoping you can advise! Ref: http://www.omg.org/issues/prr-rtf.open.html#Issue15260 Christian and I were discussing these issues, which in a nutshell cover the multiple âlevelsâ at which one might want to reference UML Class in a production rule âmodelâ: these options and associated use cases are: - at the (ComputerExecutable) ruleset level . I define a ruleset to tackle some rule service of some kind, and associate the ruleset with the UML Classes its rules will be referencing Where reference means modify or read - at the (ComputerExecutable) rule level . I define individual rules against the UML Classes they reference Where reference means modify or read - at the RuleVariable, Condition and Action level . I define the Conditions and Actions and RuleVariables against the Classes they reference Where reference means modify or read for actions, but read for conditions and RuleVariables How best to represent this? Solution 1 might be to simply allow (ie include in the PRR model as optional associations) all the above âreferenceâ associations existing between UML Class and the PRR constructs above. There would need to be a described constraint that where these associations are defined, they would need to âmatchâ at each level: eg you cannot not have a RuleVariable specifying a read link to Customer if that link is not also at the rule and ruleset levels Solution 2a could replace such UML associations with specific association classes to represent the link: eg a ClassRuleAssociation, which is used to maintain the relationships between ruleset/rule/rulepart and classes Solution 2b could refine that with subtypes of ClassRuleAssociation such as ClassRuleAssociationInRuleset, ClassRuleAssociationInRule and ClassRuleAssociationInRuleVariable / ClassRuleAssociationInRuleAction / ClassRuleAssociationInRuleCondition to help manage these links... Solution Option X, that could be applied to all of the above, would be to have separated out associations for the different read and modify types. Examples from Christian:[attachment "cid:_1_0833251C0835615C005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships from the ExecutableRule level to the UML Classes.[attachment "cid:_1_08332BE4083327DC005A8B798625774B" deleted by Christian De Sainte Marie/France/IBM] Shows the relationships again from the ExecutableRule level, but the components (RuleVariables et al) are also embedding (and therefore should have associations) to the UML Classes for Customer, Creditcard, and Rental. Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 Sauf indication contraire ci-dessus:/ Unless stated otherwise above: Compagnie IBM France Siege Social : 17 avenue de l'Europe, 92275 Bois-Colombes Cedex RCS Nanterre 552 118 465 Forme Sociale : S.A.S. Capital Social : 611.451.766,20 . SIREN/SIRET : 552 118 465 03644 It was suggsted at a PRR meeting that it could be useful as an alternative view of the example, and might be included as an additional annex (or perhaps included in Annex E). It is contained in a separate document.