Issue 6154: TimeObservationAction can't return values (uml2-superstructure-ftf) Source: NIST (Dr. Conrad Bock, conrad.bock(at)nist.gov) Nature: Revision Severity: Significant Summary: TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should be more like DurationObservationAction Resolution: see above Revised Text: Actions taken: August 30, 2003: received issue March 8, 2005: closed issue Discussion: The explanatory text could be improved. It is correct that it is a WriteStructuralFeatureAction and it does not itself return a value, but writes the value to a given structural feature. This is at least shown in the example. The same should hold for DurationObservationAction. Replace the text for TimeObservationAction up to, but not including the example, by the following (i.e., don’t change Fig. 324 or the text below the figure): 13.3.26 TimeObservationAction (from Time) Description A TimeObservationAction defines an action that observes the current point in time and writes this value to a structural feature. Attributes No additional attributes. Associations • now: TimeExpression [1] Represents the current point in time and the value which is observed, given by the keyword now. Constraints No additional constraints. Semantics A TimeObservationAction is an action that, when executed, obtains the current value of time in the context in which it is executing and writes this value to the given structural feature. Notation A TimeExpression is depicted by text in the expression language used to denote a time value. It may be possible that a time value contains arithmetic operators. The time expression is associated with a NamedElement with a line. A time observation action assigns a time expression to an structural feature. timeobservation ::= write-once-attribute “=” “now” Replace the text for DurationObservationAction up to, but not including the examples section: 13.3.13 DurationObservationAction (from Time) Description A DurationObservationAction defines an action that observes a duration in time and writes this value to a structural feature. Attributes No additional attributes. Associations • duration: Duration[1] represent the measured Duration Constraints No additional constraints. Semantics A DurationObservationAction is an action that, when executed, measures an identified duration in the context in which it is executing and writes the obtained value to the given structural feature. Notation A Duration is depicted by text in the expression language used to denote a duration value. It may be possible that a duration contains arithmetic operators. A duration observation occurs when a duration is assigned to a sructural feature. The duration observation is associated with two NamedElements with lines. durationobservation ::= write-once-attribute “=” “duration” End of Annotations:===== OMG Issue No: 6154 Title: TimeObservationAction can't return values Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should be more like DurationObservationAction Discussion: The explanatory text could be improved. It is correct that it is a WriteStructuralFeatureAction and it does not itself return a value, but writes the value to a given structural feature. This is at least shown in the example. The same should hold for DurationObservationAction. Replace the text for TimeObservationAction up to, but not including the example, by the following (i.e., don.t change Fig. 324 or the text below the figure): 13.3.26 TimeObservationAction (from Time) Description A TimeObservationAction defines an action that observes the current point in time and writes this value to a structural feature. Attributes No additional attributes. Associations . now: TimeExpression [1] Represents the current point in time and the value which is observed, given by the keyword now. Constraints No additional constraints. Semantics A TimeObservationAction is an action that, when executed, obtains the current value of time in the context in which it is executing and writes this value to the given structural feature. Notation A TimeExpression is depicted by text in the expression language used to denote a time value. It may be possible that a time value contains arithmetic operators. The time expression is associated with a NamedElement with a line. A time observation action assigns a time expression to an structural feature. timeobservation ::= write-once-attribute .=. .now. Replace the text for DurationObservationAction up to, but not including the examples section: 13.3.13 DurationObservationAction (from Time) Description A DurationObservationAction defines an action that observes a duration in time and writes this value to a structural feature. Attributes No additional attributes. Associations . duration: Duration[1] represent the measured Duration Constraints No additional constraints. Semantics A DurationObservationAction is an action that, when executed, measures an identified duration in the context in which it is executing and writes the obtained value to the given structural feature. Notation A Duration is depicted by text in the expression language used to denote a duration value. It may be possible that a duration contains arithmetic operators. A duration observation occurs when a duration is assigned to a sructural feature. The duration observation is associated with two NamedElements with lines. durationobservation ::= write-once-attribute .=. .duration. Disposition: Resolved Name: Conrad Bock Company: NIST mailFrom: conrad.bock@nist.gov Nature: Revision Severity: Significant Subject: TimeObservationAction can't return values TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should OMG Issue No: 6154 Title: TimeObservationAction can't return values Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should be more like DurationObservationAction Discussion: The explanatory text could be improved. It is correct that it is a WriteStructuralFeatureAction and it does not itself return a value, but writes the value to a given structural feature. This is at least shown in the example. The same should hold for DurationObservationAction. Replace the text for TimeObservationAction up to, but not including the example, by the following (i.e., don.t change Fig. 324 or the text below the figure): 13.3.26 TimeObservationAction (from Time) Description A TimeObservationAction defines an action that observes the current point in time and writes this value to a structural feature. Attributes No additional attributes. Associations . now: TimeExpression [1] Represents the current point in time and the value which is observed, given by the keyword now. Constraints No additional constraints. Semantics A TimeObservationAction is an action that, when executed, returns the current value of time in the context in which it is executing and writes this to the given structural feature. Notation A TimeExpression is depicted by text in the expression language used to denote a time value. It may be possible that a time value contains arithmetic operators. The time expression is associated with a NamedElement with a line. A time observation action assigns a time expression to a write-once attribute. timeobservation ::= write-once-attribute .=. .now. Replace the text for DurationObservationAction up to, but not including the examples section: 13.3.13 DurationObservationAction (from Time) Description A DurationObservationAction defines an action that observes a duration in time and writes this value to a structural feature. Attributes No additional attributes. Associations . duration: Duration[1] represent the measured Duration Constraints No additional constraints. Semantics A DurationObservationAction is an action that, when executed, measures an identified duration in the context in which it is executing and writes the obtained value to the given structural feature. Notation A Duration is depicted by text in the expression language used to denote a time value. It may be possible that a duration contains arithmetic operators. A duration observation is when a duration is assigned to a write-once variable. The duration observation is associated with two NamedElements with lines. durationobservation ::= write-once-attribute .=. duration Disposition: Resolved be more like DurationObservationAction To: "Thomas Weigert" Cc: "Thomas Weigert" , uml2-superstructure-ftf@omg.org Subject: RE: ,cs cb, Ballot 13 proposed resolutions X-Mailer: Lotus Notes Release 6.0.2CF1 June 9, 2003 From: Branislav Selic Date: Thu, 22 Apr 2004 16:57:33 -0400 X-MIMETrack: Serialize by Router on D25ML05/25/M/IBM(Release 6.0.2CF1|June 9, 2003) at 04/22/2004 16:57:35, Serialize complete at 04/22/2004 16:57:35 Thomas, I have reviewed your proposed resolutions for ballot 13 and have the following comments and concerns: (1) Issue 6078: (a) from your explanation, it looks to me that the vertical bar -- indicating choice -- in the expression: ref interactionident | [strict] is incorrect and should be removed. (b) it seems that the information that the inline decomposition is strict is only kept in the notation and not in the model. Presumably, this information is somehow transferred into some interaction operator of some combined fragment of the part decomposition corresponding to the lifeline -- however, how this is done is not described. This needs to be clarified. (2) Issue 6146: I agree with your "closed, no change" disposition, but I think your explanation is missing at least one major point. I believe that the question primarily related to the fact that Collaboration is defined as a kind of BehavioredClassifier -- which is perfectly reasonable since we want to be able to associate Interactions with Collaborations. It would be useful if this was added to the resolution. (3) Issue 6154: The text in the Semantics part of TimeObservationAction says that this action, "...when executed, returns the current value of time in the context in which....". I suggest replacing the word "returns" in this text with the word "reads" or "registers". Otherwise, it seems to clash with the fact that this action, being a write action does not have return values. (An aside: I should have been paying attention to this when it was being done in the U2P. Why should this action be restricted to just write-once-attributes? Why not make it more general? This seems like a piece of an SDL profile that snuck in under the radar.) (4) Issue 6251: I sent you an OCL constraint that effectively said that all roles that are connected by a connector have to be in the same Classifier (namespace). This also resolves issue 6668. So, I suggest that you change this to "resolved" and add my constraint. (In fact, the fix I sent you also includes a nice illustration which is a bit easier to follow than your textual explanation, so I suggest you replace the resolution with the one I proposed.) (5) Issue 6257: It would really help me and others if in the future you could put a figure number for the diagram that you want to change -- it makes it a lot easier to review the resolution proposal and to make the change once it is adopted. (I assume you mean figure 318 in this case?) (6) Issue 6355: I don't think that "Duplicate" is the right resolution to this issue. What happened here is that the reader who read the spec missed the rather convoluted "trick" that is used to specify when a connector end is connected to a port. The trick is used to avoid a "PortReference" concept, by providing a link to a part that owns the port that is being connected when the connector terminates on a port of some part (i.e., if this link is nil, then the connector terminates on a port or part, otherwise, it terminates on the port of a part, and you know which it is based on which port the connector end is linked to). This is very subtle and will be confusing to many unless additional text is provided. (7) Issue 6668: See my comment for issue 6251. Cheers, Bran "Thomas Weigert" 04/21/2004 04:33 PM To "Thomas Weigert" , Branislav Selic/Ottawa/IBM@IBMCA, cc Subject RE: ,cs cb, Ballot 13 proposed resolutions Please find attached an additional issue resolution (included in the pack sent earlier)... Th -----Original Message----- From: Thomas Weigert [mailto:thomas.weigert@motorola.com] Sent: Monday, April 19, 2004 11:27 AM To: Branislav Selic; uml2-superstructure-ftf@omg.org Subject: ,cs cb, Ballot 13 proposed resolutions Please find attached the first installment of Ballot 13 proposals (I think that is the next ballot). All the best, Th.[attachment "Comp struc + com beh issues 3rd v2 done.doc" deleted by Branislav Selic/Ottawa/IBM] Reply-To: From: "Conrad Bock" To: Subject: RE: ,cs cb, Ballot 13 proposed resolutions Date: Sun, 25 Apr 2004 10:52:50 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Hi Thomas. Here are comments on cb/cs proposals for ballot 13. Conrad - 6146 (Composite structure dependent on Behavior) I was referring to the dependency of StructuredClasses on Behavior introduced by Figure 98. A structured class should be able to be used in implementations that only implement structure. Communication is not the only application for associations and connectors (see Joaquin's example of an association not used for communication). - 6154 (TimeObservationAction can't return values) The proposed semantics text for TimeObservationAction still says "returns a value". If this were removed, as it is in DurationObservationAction, it would be fine. - 6251 (UML 2 super/Composite Classes/Connecting parts of parts) This is an unnecessary restriction. Parts of parts should be connectable without going through ports. partWithPort should be able to connect parts of parts without needing to use ports. Just loosen constraint 2 of ConnectorEnd to allow all parts. - 6458 (Change 'Part' to 'Role) The discussion acknowledges the issue and cites the amount of work to resolve it, but then closes it without change. How about deferring on that basis, instead? - 6668 (UML2 Super/Connector) The discussion refers to adtf/03-08-02, which doesn't exist (and From: "Thomas Weigert" To: , Subject: RE: ,cs cb, Ballot 13 proposed resolutions Date: Tue, 27 Apr 2004 22:15:32 -0500 X-Mailer: Microsoft Outlook IMO, Build 9.0.6604 (9.0.2911.0) Conrad, comments to your comments... > -----Original Message----- > From: Conrad Bock [mailto:conrad.bock@nist.gov] > > - 6146 (Composite structure dependent on Behavior) > > I was referring to the dependency of StructuredClasses on Behavior > introduced by Figure 98. A structured class should be able to be > used in implementations that only implement structure. Communication > is not the only application for associations and connectors (see > Joaquin's example of an association not used for communication). Sure. Except Figure 98 defines a Class which is both EncapsulatedClassifier and Class. If you want a different kind of concrete subtype for StructuredClassifier, it is easy to define one. Note that both EncapsulatedClassifier and Communications::Class inherit from Communications. > > > - 6154 (TimeObservationAction can't return values) > > The proposed semantics text for TimeObservationAction still says > "returns a value". If this were removed, as it is in > DurationObservationAction, it would be fine. Sorry. Fixed now. > > > - 6251 (UML 2 super/Composite Classes/Connecting parts of parts) > > This is an unnecessary restriction. Parts of parts should be > connectable without going through ports. partWithPort should be able > to connect parts of parts without needing to use ports. Just loosen > constraint 2 of ConnectorEnd to allow all parts. Well, that's how structured classes were designed intentionally. > > > - 6458 (Change 'Part' to 'Role) > > The discussion acknowledges the issue and cites the amount of work to > resolve it, but then closes it without change. How about deferring > on that basis, instead? Actually, the discussion did not "acknowledge" the issue in the sense of accepting it. Rather it says that part and role are not synonymous, and while there are situations that one could use the term role where part is meant, this is not true throughout. In a sense, the issue just says, "I don't like this word, why don't you use this other word". As there are many other terms in the UML that overlap with common sense terms, without a systematic program of replacing them all, there seems little reason to start here. > > > - 6668 (UML2 Super/Connector) > > The discussion refers to adtf/03-08-02, which doesn't exist (and > ad/03-08-02 is a MOF QVT review). OMG Issue No: 6154 Title: TimeObservationAction can't return values Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should be more like DurationObservationAction Discussion: The explanatory text could be improved. It is correct that it is a WriteStructuralFeatureAction and it does not itself return a value, but writes the value to a given structural feature. This is at least shown in the example. The same should hold for DurationObservationAction. Replace the text for TimeObservationAction up to, but not including the example, by the following (i.e., don.t change Fig. 324 or the text below the figure): 13.3.26 TimeObservationAction (from Time) Description A TimeObservationAction defines an action that observes the current point in time and writes this value to a structural feature. Attributes No additional attributes. Associations . now: TimeExpression [1] Represents the current point in time and the value which is observed, given by the keyword now. Constraints No additional constraints. Semantics A TimeObservationAction is an action that, when executed, obtains the current value of time in the context in which it is executing and writes this value to the given structural feature. Notation A TimeExpression is depicted by text in the expression language used to denote a time value. It may be possible that a time value contains arithmetic operators. The time expression is associated with a NamedElement with a line. A time observation action assigns a time expression to a write-once attribute. timeobservation ::= write-once-attribute .=. .now. Replace the text for DurationObservationAction up to, but not including the examples section: 13.3.13 DurationObservationAction (from Time) Description A DurationObservationAction defines an action that observes a duration in time and writes this value to a structural feature. Attributes No additional attributes. Associations . duration: Duration[1] represent the measured Duration Constraints No additional constraints. Semantics A DurationObservationAction is an action that, when executed, measures an identified duration in the context in which it is executing and writes the obtained value to the given structural feature. Notation A Duration is depicted by text in the expression language used to denote a time value. It may be possible that a duration contains arithmetic operators. A duration observation is when a duration is assigned to a write-once variable. The duration observation is associated with two NamedElements with lines. durationobservation ::= write-once-attribute .=. duration Disposition: Resolved OMG Issue No: 6154 Title: TimeObservationAction can't return values Source: Kabira Technologies, Inc. (Mr. Conrad Bock, conrad.bock@nist.gov) Summary: TimeObservationAction says it returns a value, but it is a kind of WriteStructuralFeatureAction, which doesn't return values. Does it write the value to a structural feature? I assume the semantics should be more like DurationObservationAction Discussion: The explanatory text could be improved. It is correct that it is a WriteStructuralFeatureAction and it does not itself return a value, but writes the value to a given structural feature. This is at least shown in the example. The same should hold for DurationObservationAction. Replace the text for TimeObservationAction up to, but not including the example, by the following (i.e., don.t change Fig. 324 or the text below the figure): 13.3.26 TimeObservationAction (from Time) Description A TimeObservationAction defines an action that observes the current point in time and writes this value to a structural feature. Attributes No additional attributes. Associations . now: TimeExpression [1] Represents the current point in time and the value which is observed, given by the keyword now. Constraints No additional constraints. Semantics A TimeObservationAction is an action that, when executed, obtains the current value of time in the context in which it is executing and writes this value to the given structural feature. Notation A TimeExpression is depicted by text in the expression language used to denote a time value. It may be possible that a time value contains arithmetic operators. The time expression is associated with a NamedElement with a line. A time observation action assigns a time expression to an structural feature. timeobservation ::= write-once-attribute .=. .now. Replace the text for DurationObservationAction up to, but not including the examples section: 13.3.13 DurationObservationAction (from Time) Description A DurationObservationAction defines an action that observes a duration in time and writes this value to a structural feature. Attributes No additional attributes. Associations . duration: Duration[1] represent the measured Duration Constraints No additional constraints. Semantics A DurationObservationAction is an action that, when executed, measures an identified duration in the context in which it is executing and writes the obtained value to the given structural feature. Notation A Duration is depicted by text in the expression language used to denote a duration value. It may be possible that a duration contains arithmetic operators. A duration observation occurs when a duration is assigned to a sructural feature. The duration observation is associated with two NamedElements with lines. durationobservation ::= write-once-attribute .=. .duration. Disposition: Resolved ad/03-08-02 is a MOF QVT review).