Issue 8443: Section: 15.3.14 (uml2-rtf) Source: (, ) Nature: Clarification Severity: Minor Summary: Association guard:Constraint[0..1] subsets ownedElement. Need to add this to the definition. Association replacedTransition:Transition[0..1] redefined redefinedElement. Need to add this to the definition. Association /redefinitionContext:Classifier[1] subsets redefinitionContext. Need to add this to the definition. Also need to add OCL notation. Constraint [2] - delete last paranthesis. Add OCL notation or a note that OCL cannot express constraint [7]. Add OCL notation or a note that OCL cannot express Additional operation [1]. Typos - pg. 626, para 4, sent 2, add "s" to transition. - pg. 627, 1st bullet under sub-section Example, first sent, delete the final "s" in "states." Why aren't he bulleted statements under sub-section Enabled (compound) transitions constraints? The activities named in fig. 396 ("MinorReq = ID;" and "MajorReq = ID:") are not the same format as indicated in Table 20 ("MinorReq := Id;") - the colon is missing before the equal sign in the figure. Resolution: Revised Text: (1) Association end “guard: Constraint[0..1]” is shown as subsetting Element::ownedElement on figure 354 on page 575. Update as suggested. However, I noticed that in some portions of the spec, this is sometimes listed at the end of the definition without curly braces and italicization. Is there a preferred style for this? (2) Association end “redefinedTransition: Transition[0..1]” is shown redefining RedefinableElement::redefinedElement on figure 355 on page 576; Name of association is listed as “replacedTransition”; recommend changing association role name to “redefinedTransition” and wordsmithing “replacement” with “redefinition” in definition as appropriate. (3.1) Assocation end “/redefinitionContext: Classifier[1]” is shown redefining RedefinableElement::redefinitionContext” on figure 355 on page 576. Update as suggested. (3.2) OCL notation appears to be already present as constraint [8]. No update required. (4) Update as suggested. (5) Since each trigger is associated with an Event and Event is an abstract superclass, I’m not sure how to write an OCL expression for constraint [7] unless it was reworded. Since some Event subclasses do not have a signatures associated with them, not sure exactly what to do. What does it mean for “the signatures of these must be compatible”? Does that mean all triggers must be associated with the same event subtype and if so, the event subtypes must have signals with the same attribute types or operations with same parameter types? (6) Add OCL as suggested. (7) Update as suggested. (8) Update as suggested. (9) Not sure if enabled (compound transition) semantics should be described using constraints or not. (10) Update as suggested. Revised Text: Superstructure (ptc/04-10-02) (1) Page 624: Replace definition for association end “guard: Constraint[0..1]” (2 nd bullet): “A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.” with: “{subsets Element::ownedElement} A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.” Editor’s note: subsets constraint added at the end to conform to standard format OMG Issue No: 8443 Editor’s note: overridden by the resolution to 9196 (2) Page 624: Replace association “replacedTransition” end and definition: “• replacedTransition: Transition[0..1] The transition of which this is a replacement.” with: “• redefinedTransition: Transition[0..1] {redefines RedefinableElement::redefinedElement} The transition that is redefined by this transition.” Editor’s note: subsets constraint added (instead of redefines constraint) at the end to conform to standard format; this is modified to conform with the resolution to issue 9093 (3.1) Page 624: Replace definition for assocation end “/redefinitionContext: Classifier[1]” (7 th bullet): “References the classifier in which context this element may be redefined.” with: “{redefines RedefinableElement::redefinitionContext} References the classifier in which context this element may be redefined.” Editor’s note: subsets constraint added (instead of redefines constraint) at the end to conform to standard format (3.2) No change required. (4) Page 624: Replace OCL for constraint [2]: “(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty()))” with: “(target.oclIsKindOf(Pseudostate) and target.kind = #join) implies (guard->isEmpty() and trigger->isEmpty())” (5) No change required at this time until text of constraint clarified. (6) Page 625: Add OCL for constraint [7]: “context Transition::isConsistentWith(redefinee : RedefinableElement): Boolean pre: redefinee.isRedefinitionContextValid(self) isConsistentWith = (redefinee.oclIsKindOf(Transition) and let trans: Transition = redefinee.oclAsType(Transition) in ( source() = trans.source() and trigger() = trans.trigger() ) OMG Issue No: 8443 Editor’s note: the above change was not entered because it is not valid OCL and does not do what the constraint specifies (7) Page 626: Replace 4 th paragraph: “In a compound transition multiple outgoing transitions may emanate from a common junction point. In that case, only one of the outgoing transition whose guard is true is taken. If multiple transitions have guards that are true, a transition from this set is chosen. The algorithm for selecting such a transition is not specified. Note that in this case, the guards are evaluated before the compound transition is taken.” With: “In a compound transition multiple outgoing transitions may emanate from a common junction point. In that case, only one of the outgoing transitions whose guard is true is taken. If multiple transitions have guards that are true, a transition from this set is chosen. The algorithm for selecting such a transition is not specified. Note that in this case, the guards are evaluated before the compound transition is taken.” Editor’s note: fixed in formal copy edit (8) Page 627: Replace first bulleted item under Example” “• The common simple case: A transition t between two simple states s1 and s2, in a composite states. Here the least common ancestor of t is s, the main source is s1 and the main target is s2.” With: “• The common simple case: A transition t between two simple states s1 and s2, in a composite state. Here the least common ancestor of t is s, the main source is s1 and the main target is s2.” Editor’s note: fixed in formal copy edit (9) No change required at this time. (10) Page 631: Replace figure 395: Actions taken: March 3, 2005: received issue August 23, 2006: closed issue Discussion: End of Annotations:===== m: webmaster@omg.org Date: 03 Mar 2005 12:40:19 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Jane Messenger Company: U. S. Geological Survey mailFrom: jmessenger@usgs.gov Notification: Yes Specification: Superstructure Section: 15.3.14 FormalNumber: ptc/04-10-02 Version: 2.0 Draft Adopted RevisionDate: 10/08/2004 Page: 623-633 Nature: Clarification Severity: Minor HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) Description Association guard:Constraint[0..1] subsets ownedElement. Need to add this to the definition. Association replacedTransition:Transition[0..1] redefined redefinedElement. Need to add this to the definition. Association /redefinitionContext:Classifier[1] subsets redefinitionContext. Need to add this to the definition. Also need to add OCL notation. Constraint [2] - delete last paranthesis. Add OCL notation or a note that OCL cannot express constraint [7]. Add OCL notation or a note that OCL cannot express Additional operation [1]. Typos - pg. 626, para 4, sent 2, add "s" to transition. - pg. 627, 1st bullet under sub-section Example, first sent, delete the final "s" in "states." Why aren't he bulleted statements under sub-section Enabled (compound) transitions constraints? The activities named in fig. 396 ("MinorReq = ID;" and "MajorReq = ID:") are not the same format as indicated in Table 20 ("MinorReq := Id;") - the colon is missing before the equal sign in the figure.