Issue 4298: Issue: Conflicting WFRs on Transition (uml2-superstructure-ftf) Source: Model Driven Solutions (Mr. Ed Seidewitz, ed-s(at)modeldriven.com) Nature: Uncategorized Issue Severity: Summary: UML 1.4 Specification, Section 2.12.3, p. 2-165 Description: WFR 5 for the class Transition states that "Transitions outgoing pseudostates may not have a trigger" and the OCL supports this absolute statement. However, WFR 6 is intended to allow transitions out of initial states, which are a kind of pseudostate, to have "a trigger with the stereotype 'create'". Unfortunately, WFR 5 prevents this from ever being legal. Recommendation: Change WFR 5 as follows. [5] Transitions outgoing pseudostates other than initial states may not have a trigger. self.source.oclIsKindOf(Pseudostate) implies self.source.oclAsType(Pseudostate).kind<>#initial implies (self.trigger->isEmpty()) Resolution: see below Revised Text: following text: [5] Only junctions, joins, and initial pseudostates can have triggers (source.oclIsKindOf(Pseudostate) and (source.kind <> #junction) and (source.kind <> #join) and (source.kind <> #initial)) implies trigger->isEmpty() Actions taken: May 10, 2001: received issue March 8, 2005: closed issue Discussion: Modify the WF rule [5] so that it reads:Transitions outgoing from pseudostates other than initial states may not have a strigger. self.source.oclIsKindOf(Pseudostate) and self.source.kind <> #initial implies (self.trigger->isEmpty()). the body of this function should read: result = if ancestor (s1, s2) then s2 else if ancestor (s2, s1) then s1 else (LCA(s1.container, s2.container)) context StateVertex: (self.container.size = 0) implies ((self.oclIsKindOf(State) and (self.stateMachine.size = 1)) End of Annotations:===== Reply-To: From: "Ed Seidewitz" To: Subject: Issue: Conflicting WFRs on Transition Date: Thu, 10 May 2001 12:38:02 -0400 Message-ID: <001601c0d96f$95976c60$142aa8c0@intelidata.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Content-Type: text/plain; charset="iso-8859-1" X-UIDL: CV\d90ih!!9aN!!AkX!! In responding to the recent message on transitions from history pseudostates, I noticed an issue in the WFRs for Transition. Juergen -- I don't know what the procedure is for resolving issues at this point, but this should at least be logged, I guess. UML 1.4 Specification, Section 2.12.3, p. 2-165 Description: WFR 5 for the class Transition states that "Transitions outgoing pseudostates may not have a trigger" and the OCL supports this absolute statement. However, WFR 6 is intended to allow transitions out of initial states, which are a kind of pseudostate, to have "a trigger with the stereotype 'create'". Unfortunately, WFR 5 prevents this from ever being legal. Recommendation: Change WFR 5 as follows. [5] Transitions outgoing pseudostates other than initial states may not have a trigger. self.source.oclIsKindOf(Pseudostate) implies self.source.oclAsType(Pseudostate).kind<>#initial implies (self.trigger->isEmpty()) Ed Seidewitz, Chief Architect InteliData Technologies Office: +1.703.259.3076 From: "Eran Gery" To: "'Branislav Selic'" Cc: Subject: RE: 10 more resolutions for Ballot 18 - 4298 Date: Tue, 6 Jul 2004 15:26:19 +0300 X-Mailer: Microsoft Outlook CWS, Build 9.0.6604 (9.0.2911.0) Bran - 4298 shall be addressed relatively to 6237 that already relaxed this constraint to junctions and joins (which may also have a trigger). Not sure how we logistically stack resolutions but 4298 can't stay as is as it would override 6237. I'm sure you know how to settle this... Eran [ -----Original Message----- From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Monday, July 05, 2004 7:21 PM To: uml2-superstructure-ftf@omg.org Cc: mu2i-ftf@omg.org Subject: 10 more resolutions for Ballot 18 -- state machine issues Attached, are proposed resolutions to 10 state machine issues. They are pretty much 'no brainers' and will be submitted to ballot 18 unless someone objects. Regards, Bran To: "Eran Gery" Cc: uml2-superstructure-ftf@omg.org Subject: RE: 10 more resolutions for Ballot 18 - 4298 X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Branislav Selic Date: Tue, 6 Jul 2004 09:21:48 -0400 X-MIMETrack: Serialize by Router on D25ML01/25/M/IBM(Release 6.0.2CF2|July 23, 2003) at 07/06/2004 09:21:50, Serialize complete at 07/06/2004 09:21:50 I will submit this one and, when you submit your resolution to 6237, you can override it. This will ensure that at least this issue is fixed. We no longer have the time to dawdle and navel gaze. There is only one more ballot after ballot 18. Cheers, Bran "Eran Gery" 07/06/2004 08:26 AM To Branislav Selic/Ottawa/IBM@IBMCA cc Subject RE: 10 more resolutions for Ballot 18 - 4298 Bran - 4298 shall be addressed relatively to 6237 that already relaxed this constraint to junctions and joins (which may also have a trigger). Not sure how we logistically stack resolutions but 4298 can't stay as is as it would override 6237. I'm sure you know how to settle this... Eran [ -----Original Message----- From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Monday, July 05, 2004 7:21 PM To: uml2-superstructure-ftf@omg.org Cc: mu2i-ftf@omg.org Subject: 10 more resolutions for Ballot 18 -- state machine issues Attached, are proposed resolutions to 10 state machine issues. They are pretty much 'no brainers' and will be submitted to ballot 18 unless someone objects. Regards, Bran Reply-To: From: "Conrad Bock" To: Subject: RE: 10 more resolutions for Ballot 18 - 4298 Date: Tue, 6 Jul 2004 15:26:57 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Eran, Bran, > [Eran] 4298 shall be addressed relatively to 6237 that already > relaxed this constraint to junctions and joins (which may also > have a trigger). How can pseudostate have triggers? Triggers are matched against events only on RTC cycles. Conrad From: "Eran Gery" To: Cc: Subject: RE: 10 more resolutions for Ballot 18 - 4298 Date: Tue, 6 Jul 2004 22:42:06 +0300 X-Mailer: Microsoft Outlook CWS, Build 9.0.6604 (9.0.2911.0) There's no contradiction. If you have a join fron 5 states, trigerred by e, then when RTC starts the join will take place and transition to the target ougoing the join. Pseudostates are just syntactic animals. -----Original Message----- From: Conrad Bock [mailto:conrad.bock@nist.gov] Sent: Tuesday, July 06, 2004 10:27 PM To: uml2-superstructure-ftf@omg.org Subject: RE: 10 more resolutions for Ballot 18 - 4298 Eran, Bran, > [Eran] 4298 shall be addressed relatively to 6237 that already > relaxed this constraint to junctions and joins (which may also > have a trigger). How can pseudostate have triggers? Triggers are matched against events only on RTC cycles. Conrad To: Cc: uml2-superstructure-ftf@omg.org Subject: RE: 10 more resolutions for Ballot 18 - 4298 X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Branislav Selic Date: Tue, 6 Jul 2004 15:42:54 -0400 X-MIMETrack: Serialize by Router on D25ML01/25/M/IBM(Release 6.0.2CF2|July 23, 2003) at 07/06/2004 15:42:57, Serialize complete at 07/06/2004 15:42:57 It's the transitions that emanate from the different kinds of pseudostates that have the triggers, not the pseudostates themselves. However, for convenience, the constraints are defined in the Pseudostate section rather than the Transition section. You could argue that it should have been done differently, but that is the way it is currently. Bran Selic IBM Distinguished Engineer IBM Rational Software 770 Palladium Drive Kanata, Ontario, Canada K2V 1C8 ph.: (613) 591-7915 fax: (613) 599-3912 e-mail: bselic@ca.ibm.com "Conrad Bock" 07/06/2004 03:26 PM Please respond to conrad.bock To cc Subject RE: 10 more resolutions for Ballot 18 - 4298 Eran, Bran, > [Eran] 4298 shall be addressed relatively to 6237 that already > relaxed this constraint to junctions and joins (which may also > have a trigger). How can pseudostate have triggers? Triggers are matched against events only on RTC cycles. Conrad Reply-To: From: "Conrad Bock" To: Subject: RE: 10 more resolutions for Ballot 18 - 4298 Date: Tue, 6 Jul 2004 16:17:46 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Eran, > There's no contradiction. If you have a join fron 5 states, > trigerred by e, > then when RTC starts the join will take place and transition to > the target ougoing the join. > Pseudostates are just syntactic animals. Then it would be good to explain the equivalences somewhere, eg, that a trigger from a join has the same semantics as placing copies of the trigger on each incoming transition. Conrad OMG Issue No: 4298 Title: Issue: Conflicting WFRs on Transition Source: InteliData Technologies Corporation (Mr. Ed Seidewitz, eseidewitz@intelidata.com) Summary: WFR 5 for the class Transition states that "Transitions outgoing pseudostates may not have a trigger" and the OCL supports this absolute statement. However, WFR 6 is intended to allow transitions out of initial states, which are a kind of pseudostate, to have "a trigger with the stereotype 'create'". Unfortunately, WFR 5 prevents this from ever being legal. Recommendation: Change WFR 5 as follows. [5] Transitions outgoing pseudostates other than initial states may not have a trigger. self.source.oclIsKindOf(Pseudostate) implies self.source.oclAsType(Pseudostate).kind<>#initial implies (self.trigger->isEmpty()) Discussion: On page 499, replace the entire constraint [5] of the Transition metaclass by the following text: [5] Transitions outgoing pseudostate other than initial states may not have a trigger source.oclIsKindOf(Pseudostate) implies source.oclAsType(Pseudostate).kind <> #initial implies trigger->isEmpty() Disposition: Resolved Mobile: +1.301.455.3938