Issue 6458: Change 'Part' to 'Role. (uml2-superstructure-ftf) Source: (, ) Nature: Uncategorized Issue Severity: Summary: In the UML 1 specification, "every time a word coinciding with the name of some construct in UML is used, that construct is referenced." [UML 1 2.3.4] In the UML 2 specification, the word, 'part,' is used both to mean a Part and with its ordinary meaning. This is an example of a recurrent problem in the specification: words that name UML 2 concepts are used both to refer to that concept, or an instance of that concept, and with their ordinary meaning. The rule of the UML 1 specification needs to be both stated and carefully followed. ... Suggested resolution: Change 'Part' to 'Role.' This permits the use of 'part' to mean part. Add the rule of the UML 1 specification. Carefully follow that rule. Resolution: Revised Text: Actions taken: November 7, 2003: received issue March 9, 2005: closed issue Discussion: The issue suggests a massive rewrite needing very careful attention. Note that 'part' is not synonymous with 'role': A role is a ConnectableElement referenced by a StructuredClassifier, while a part is a property specifying instances that a classifier owns by composition. All parts are roles, but not every role is a part. However, the issue is correct in that many times when "part" is used informally in the specification, "role" could be used instead. To implement this suggestion, every occurrence of the term "part" would need to be examined carefully. (There may be also some impact if Port is made a property.) We could of course blanket replace part by role and then introduce another term for role. As it stands, the value of this suggestion may be questionable. Disposition: Closed, no change End of Annotations:===== n the UML 1 specification, "every time a word coinciding with the name of some construct in UML is used, that construct is referenced." [UML 1 2.3.4] In the UML 2 specification, the word, 'part,' is used both to mean a Part and with its ordinary meaning. This is an example of a recurrent problem in the specification: words that name UML 2 concepts are used both to refer to that concept, or an instance of that concept, and with their ordinary meaning. The rule of the UML 1 specification needs to be both stated and carefully followed. ... Suggested resolution: Change 'Part' to 'Role.' This permits the use of 'part' to mean part. Add the rule of the UML 1 specification. Carefully follow that rule. OMG Issue No: 6458 Title: Change 'Part' to 'Role Source: X-Change Technologies Group, LLC (Mr. Joaquin Miller, joaquin@joaquin.net) Summary: In the UML 1 specification, "every time a word coinciding with the name of some construct in UML is used, that construct is referenced." [UML 1 2.3.4] In the UML 2 specification, the word, 'part,' is used both to mean a Part and with its ordinary meaning. This is an example of a recurrent problem in the specification: words that name UML 2 concepts are used both to refer to that concept, or an instance of that concept, and with their ordinary meaning. The rule of the UML 1 specification needs to be both stated and carefully followed. ... Suggested resolution: Change 'Part' to 'Role.' This permits the use of 'part' to mean part. Add the rule of the UML 1 specification. Carefully follow that rule. Discussion: The issue suggests a massive rewrite needing very careful attention. Note that 'part' is not synonymous with 'role': A role is a ConnectableElement referenced by a StructuredClassifier, while a part is a property specifying instances that a classifier owns by composition. All parts are roles, but not every role is a part. However, the issue is correct in that many times when "part" is used informally in the specification, "role" could be used instead. To implement this suggestion, every occurrence of the term "part" would need to be examined carefully. (There may be also some impact if Port is made a property.) We could of course blanket replace part by role and then introduce another term for role. As it stands, the value of this suggestion may be questionable. Disposition: Closed, no change 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: 6458 Title: Change 'Part' to 'Role Source: X-Change Technologies Group, LLC (Mr. Joaquin Miller, joaquin@joaquin.net) Summary: In the UML 1 specification, "every time a word coinciding with the name of some construct in UML is used, that construct is referenced." [UML 1 2.3.4] In the UML 2 specification, the word, 'part,' is used both to mean a Part and with its ordinary meaning. This is an example of a recurrent problem in the specification: words that name UML 2 concepts are used both to refer to that concept, or an instance of that concept, and with their ordinary meaning. The rule of the UML 1 specification needs to be both stated and carefully followed. ... Suggested resolution: Change 'Part' to 'Role.' This permits the use of 'part' to mean part. Add the rule of the UML 1 specification. Carefully follow that rule. Discussion: The issue suggests a massive rewrite needing very careful attention. Note that 'part' is not synonymous with 'role': A role is a ConnectableElement referenced by a StructuredClassifier, while a part is a property specifying instances that a classifier owns by composition. All parts are roles, but not every role is a part. However, the issue is correct in that many times when "part" is used informally in the specification, "role" could be used instead. To implement this suggestion, every occurrence of the term "part" would need to be examined carefully. (There may be also some impact if Port is made a property.) We could of course blanket replace part by role and then introduce another term for role. As it stands, the value of this suggestion may be questionable. Disposition: Closed, no change ad/03-08-02 is a MOF QVT review).