Issue 18812: No explanation of how to deal with conflicting transitions of equal priority (uml25-ftf) Source: Simula Research Laboratory (Mr. Bran Selic, selic(at)acm.org) Nature: Uncategorized Issue Severity: Summary: The spec does not say anything about how to deal with the case where two or more conflicting transitions with the same priority (e.g., triggered by the same event but with different guards that evaluate to true). Presumably, this is left as an implementation choice. In any case, there should be an explicit statement on this point. Resolution: Revised Text: Actions taken: July 15, 2013: received issue Discussion: End of Annotations:===== M-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:from:date:x-google-sender-auth:message-id :subject:to:content-type; bh=ixZwOtgBF4FlLa66TCKwXPpaxBZLIZCqJmhj2uERBwE=; b=iwwsDm8/HhCODzje2XYgS+bHkj0B0wqv/j1JdmFb3pfB5VYjgp5AXHRE7ELjQrw3/W bBvF/XRmvc70I5xwbJ/2XmUT21h9shu29Ew7JeaxvNyU7ado8mkMbuy5k0dK/4atqFZm u7V6LYF5iP5liQwb7RcT2cQGhojafHud8Xboto9GYqG2uiXjiPjTt/DCFqrdJiMxobDj A9uRQxL3Tr+jA6B79B1mmM38O5q3tX16EugE4Q7FQuJrG4tHso2kbikDj992BBcLDWy9 3l1aymT0e6oRLDCgH+lRCqvUXC7FG2aKFjUK7QhS6oqTSFZUd8fRQ93ph0d4jGhnEwZ4 qdng== X-Received: by 10.58.118.200 with SMTP id ko8mr28256445veb.94.1373888214443; Mon, 15 Jul 2013 04:36:54 -0700 (PDT) Sender: bran.selic@gmail.com From: Bran Selic Date: Mon, 15 Jul 2013 13:36:14 +0200 X-Google-Sender-Auth: 6chUya4j6Inug4EqsZk-nGQf_sA Subject: No explanation of how to deal with conflicting transitions of equal priority To: "issues@omg.org" , "uml25-ftf@omg.org" X-Virus-Scanned: amavisd-new at omg.org The spec does not say anything about how to deal with the case where two or more conflicting transitions with the same priority (e.g., triggered by the same event but with different guards that evaluate to true). Presumably, this is left as an implementation choice. In any case, there should be an explicit statement on this point. X-Virus-Scanned: OK From: Ed Seidewitz To: Bran Selic CC: "issues@omg.org" , "uml25-ftf@omg.org" Subject: RE: No explanation of how to deal with conflicting transitions of equal priority Thread-Topic: No explanation of how to deal with conflicting transitions of equal priority Thread-Index: AQHOgU+7RdvmXNSnN0CDIjpwzYQlxJlltlAw Date: Mon, 15 Jul 2013 13:12:49 +0000 Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [71.178.85.7] X-Virus-Scanned: amavisd-new at omg.org Bran . Well, the spec does say a number of times that there can be at most one transitioned fired per orthogonal region. So I am not sure that it .does not say anything.. The section in 14.2.3 on .Transition Selection Algorithm. ends with .The only non-trivial issue is resolving Transition conflicts across orthogonal States on all levels. This is resolved by terminating the search in each orthogonal State once a Transition inside any one of its components is fired.. Is the issue just that this could be more explicit that, if there are multiple conflicting transitions with the same priority, the specification does not define which one actually fires? -- Ed From: bran.selic@gmail.com [mailto:bran.selic@gmail.com] On Behalf Of Bran Selic Sent: Monday, July 15, 2013 7:36 AM To: issues@omg.org; uml25-ftf@omg.org Subject: No explanation of how to deal with conflicting transitions of equal priority The spec does not say anything about how to deal with the case where two or more conflicting transitions with the same priority (e.g., triggered by the same event but with different guards that evaluate to true). Presumably, this is left as an implementation choice. In any case, there should be an explicit statement on this point. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=GDnSFEOOvqBEQzbT1oiULoCBF8XYyE/BXkv+QZqf8kE=; b=Cgf4d84X/r17Jr3wOA00q8t7WYEtXAFq6xwkjhExhsGVn42JSTS5LzeRfD32GzFvhd J+K6SU97sW89W5MwdJfoyaUfaFNnAy/H/6Bzt7fGbLqm7t/9qGGMJFTCDHFfLu62cGHI TExWqqV5VmaoQYrIHNQLoMhriHkF6aB7fFq7FNAfr02fPN5Hz4ZvG6jtgHRndZotfuZX xmMDIUJFNESsU5f7DjCRoRRgDB5nga6sfaPiqp51R8HQuSiM5iRTUheCLrsi5KH5QNl2 A36j7LoriN34kO7Nec+svASTpY3G6K2EVFkw52kh1DdKlnDfettt9r0ch5at442TZteV Sxnw== X-Received: by 10.52.95.113 with SMTP id dj17mr24072193vdb.82.1373894404248; Mon, 15 Jul 2013 06:20:04 -0700 (PDT) Sender: bran.selic@gmail.com From: Bran Selic Date: Mon, 15 Jul 2013 15:19:24 +0200 X-Google-Sender-Auth: rL4Zq4ecyljF0r-7YKQk2qUgFZY Subject: Re: No explanation of how to deal with conflicting transitions of equal priority To: Ed Seidewitz Cc: "issues@omg.org" , "uml25-ftf@omg.org" X-Virus-Scanned: amavisd-new at omg.org You are right, it says something, but, unfortunately, not enough ("at most one" includes zero). The issue is indeed that it should be more explicit, even if that only means saying that in case of conflicting equal priority transitions the choice is not defined. Note also that the conditions for firing a set of Transition (in orthogonal regions) states that "there are no conflicting Transitions within the set". This means that the conflict between enabled transitions of equal priority has somehow been resolved at this point. So the text should indeed be more explicit. On Mon, Jul 15, 2013 at 3:12 PM, Ed Seidewitz wrote: Bran . Well, the spec does say a number of times that there can be at most one transitioned fired per orthogonal region. So I am not sure that it .does not say anything.. The section in 14.2.3 on .Transition Selection Algorithm. ends with .The only non-trivial issue is resolving Transition conflicts across orthogonal States on all levels. This is resolved by terminating the search in each orthogonal State once a Transition inside any one of its components is fired.. Is the issue just that this could be more explicit that, if there are multiple conflicting transitions with the same priority, the specification does not define which one actually fires? -- Ed From: bran.selic@gmail.com [mailto:bran.selic@gmail.com] On Behalf Of Bran Selic Sent: Monday, July 15, 2013 7:36 AM To: issues@omg.org; uml25-ftf@omg.org Subject: No explanation of how to deal with conflicting transitions of equal priority The spec does not say anything about how to deal with the case where two or more conflicting transitions with the same priority (e.g., triggered by the same event but with different guards that evaluate to true). Presumably, this is left as an implementation choice. In any case, there should be an explicit statement on this point. From: "Rouquette, Nicolas F (313K)" To: Bran Selic , Ed Seidewitz CC: "issues@omg.org" , "uml25-ftf@omg.org" , "h.eshuis@tue.nl" Subject: Re: No explanation of how to deal with conflicting transitions of equal priority Thread-Topic: No explanation of how to deal with conflicting transitions of equal priority Thread-Index: AQHOgU+574JuJtflN0KE9lrtBfYRhZlmLLuAgAAB1wCAAARGAA== Date: Mon, 15 Jul 2013 20:34:43 +0000 Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Microsoft-MacOutlook/14.3.4.130416 x-originating-ip: [128.149.137.113] X-Source-Sender: nicolas.f.rouquette@jpl.nasa.gov X-AUTH: Authorized X-Virus-Scanned: amavisd-new at omg.org Bran, Ed, I suggest taking a look at Rik Eshuis' paper: "Reconciling Statechart Semantics" here: doi:10.1016/j.scico.2008.09.001 His paper presents a nice unified formalization of 3 state chart semantics: UML, Statemate and Pnueli's fixed-point axomatization. His unified formalization is the basis for 16 syntactic and 1 semantic criteria, each of which points to an observable difference in behavior for the same state chart in at least 2 formalisms. On the topic of UML's transition priority rule, he shows an example that highlights the incompleteness of the transition selection algorithm in the spec (see pages 70,71 and figure 3) - Nicolas. From: Bran Selic Date: Monday, July 15, 2013 6:19 AM To: Ed Seidewitz Cc: "issues@omg.org" , "uml25-ftf@omg.org" Subject: Re: No explanation of how to deal with conflicting transitions of equal priority You are right, it says something, but, unfortunately, not enough ("at most one" includes zero). The issue is indeed that it should be more explicit, even if that only means saying that in case of conflicting equal priority transitions the choice is not defined. Note also that the conditions for firing a set of Transition (in orthogonal regions) states that "there are no conflicting Transitions within the set". This means that the conflict between enabled transitions of equal priority has somehow been resolved at this point. So the text should indeed be more explicit. On Mon, Jul 15, 2013 at 3:12 PM, Ed Seidewitz wrote: Bran . Well, the spec does say a number of times that there can be at most one transitioned fired per orthogonal region. So I am not sure that it .does not say anything.. The section in 14.2.3 on .Transition Selection Algorithm. ends with .The only non-trivial issue is resolving Transition conflicts across orthogonal States on all levels. This is resolved by terminating the search in each orthogonal State once a Transition inside any one of its components is fired.. Is the issue just that this could be more explicit that, if there are multiple conflicting transitions with the same priority, the specification does not define which one actually fires? -- Ed From:bran.selic@gmail.com [mailto:bran.selic@gmail.com] On Behalf Of Bran Selic Sent: Monday, July 15, 2013 7:36 AM To: issues@omg.org; uml25-ftf@omg.org Subject: No explanation of how to deal with conflicting transitions of equal priority The spec does not say anything about how to deal with the case where two or more conflicting transitions with the same priority (e.g., triggered by the same event but with different guards that evaluate to true). Presumably, this is left as an implementation choice. In any case, there should be an explicit statement on this point.