Issue 18032: Pg. 613, Clause 17.3.4: Notation (uml25-ftf) Source: Lockheed Martin (Mr. Lenny Delligatti, lenny_delligatti2(at)omg.org) Nature: Uncategorized Issue Severity: Significant Summary: Title: Incomplete grammar for “<lifelineident>” in Clause 17.3.4 Summary: This clause specifies the following grammar for “<lifelineident>”: <lifelineident> ::= ([<connectable-element-name>[‘[‘<selector>‘]’]] [: <class_name>][decomposition]) | ‘self’ “<class_name>”, however, is too restrictive for the type. A lifeline may represent an instance of an Actor, not just an instance of a Class. In fact, the metamodel, as written, allows a lifeline to represent an instance of any type of BehavioredClassifier. Here are the relationships: A lifeline represents 0..1 instances of ConnectableElement. ConnectableElement is a type of TypedElement. TypedElement has an association with 0..1 instances of Type. BehavioredClassifier is a type of Classifier, which is a type of Type. BehavioredClassifier has 4 specializations: Class, Actor, UseCase, and Collaboration. Therefore, any of these 4 subtypes may serve as the type of the connectable element that a lifeline represents. But only 2 of these make sense in the context of a lifeline: Class and Actor. So there are really 2 problems that need to be resolved. Recommendations provided below Proposed Resolution: 1) The grammar for “<lifelineident>” needs to be expanded to allow for an actor to serve as the type of the connectable element that a lifeline represents, and 2) A constraint needs to be introduced to allow only two of the four subtypes of BehavioredClassifier to serve as the type of the connectable element that a lifeline represents. Resolution: Revised Text: Actions taken: September 27, 2012: received issue Discussion: End of Annotations:===== s is issue # 18032 Problem: 17.014 Severity: Significant Nature: Grammar Location: Pg. 613, Clause 17.3.4: Notation Title: Incomplete grammar for .. in Clause 17.3.4 Summary: This clause specifies the following grammar for ..: ::= ([[.[..].]] [: ][decomposition]) | .self. .., however, is too restrictive for the type. A lifeline may represent an instance of an Actor, not just an instance of a Class. In fact, the metamodel, as written, allows a lifeline to represent an instance of any type of BehavioredClassifier. Here are the relationships: A lifeline represents 0..1 instances of ConnectableElement. ConnectableElement is a type of TypedElement. TypedElement has an association with 0..1 instances of Type. BehavioredClassifier is a type of Classifier, which is a type of Type. BehavioredClassifier has 4 specializations: Class, Actor, UseCase, and Collaboration. Therefore, any of these 4 subtypes may serve as the type of the connectable element that a lifeline represents. But only 2 of these make sense in the context of a lifeline: Class and Actor. So there are really 2 problems that need to be resolved. Recommendations provided below Proposed Resolution: 1) The grammar for .. needs to be expanded to allow for an actor to serve as the type of the connectable element that a lifeline represents, and 2) A constraint needs to be introduced to allow only two of the four subtypes of BehavioredClassifier to serve as the type of the connectable element that a lifeline represents. Source: Lenny Delligatti