Issue 4645: Nameclash in UML 1.4 (uml2-superstructure-ftf) Source: (Brian Henderson-Sellers, nobody) Nature: Uncategorized Issue Severity: Summary: As far as I can see there is a name clash in UML 1.4. <<implementation>> is used as both (1) a stereotype of Generalization to mean implementation (or private) inheritance and (2) a stereotype of Class to mean the coding or implementation details of a Class Resolution: see above Revised Text: Actions taken: October 27, 2001: received issue March 9, 2005: closed issue Discussion: No change. The issue is valid with respect to UML 1.4, but does not require any change in the UML 2 specification. In UML 2, the stereotype of a Class in sense (2) of the issue summary has become <<Implementation Class>>. In UML 2 there is a model element Implementation to handle sense (1) of the issue. In UML 1.4 there was no such model element. See the Interfaces package of the Kernel, Section 7.15 and Figure 58. The UML 2 Implementation model element is a subtype of Realization, which itself is a dependency relationship, and as such cannot clash with any use of <<implementation>> as a stereotype. There remains a stylistic problem in that the word "implementation" is used to define the semantics of Realization, and then the model element Implementation is introduced as a specialization of Realization. Defining the semantics of Realization by means of the concept of implementation does raise some doubts about the need for specializing Realization as Implementation, but the name clash cited in this issue no longer exists in the UML 2 metamodel. End of Annotations:===== rom: Brian Henderson-Sellers Message-Id: <200110270505.PAA13696@linus.it.uts.edu.au> Subject: Nameclash in UML 1.4 In-Reply-To: <4.3.2.7.2.20010705104748.04d47b30@emerald.omg.org> from Juergen Boldt at "Jul 5, 1 10:48:33 am" To: juergen@omg.org (Juergen Boldt) Date: Sat, 27 Oct 2001 15:05:47 +1000 (EST) Cc: brian@it.uts.edu.au, 71051.1733@compuserve.com (Jim Odell), CKobryn@acm.org (Cris Kobryn) X-Mailer: ELM [version 2.4ME+ PL40 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-UIDL: 'Q:!!B9D!!aO1!!,fA!! Status: RO Juergen As far as I can see there is a name clash in UML 1.4. <> is used as both (1) a stereotype of Generalization to mean implementation (or private) inheritance and (2) a stereotype of Class to mean the coding or implementation details of a Class FYI Brian Henderson-Selleres -- ================================================================= Professor Brian Henderson-Sellers Director, Centre for Object Technology Applications and Research and Professor of Information Systems Faculty of Information Technology University of Technology, Sydney P.O. Box 123 Tel: +61 (0)2 9514 1687 Broadway Fax: +61 (0)2 9514 1807 NSW 2007 email: brian@it.uts.edu.au Australia http://www-staff.it.uts.edu.au/~brian OMG Issue No: 4645 Title: Nameclash in UML 1.4 Source: University of Technology, Sydney (Brian Henderson-Sellers, brian@it.uts.edu.au) Summary: As far as I can see there is a name clash in UML 1.4 «implementation» is used as both (1) a stereotype of Generalization to mean implementation (or private) inheritance and (2) a stereotype of Class to mean the coding or implementation details of a Class Discussion: No change. The issue is valid with respect to UML 1.4, but does not require any change in the UML 2 specification. In UML 2, the stereotype of a Class in sense (2) of the issue summary has become <>. In UML 2 there is a model element Implementation to handle sense (1) of the issue. In UML 1.4 there was no such model element. See the Interfaces package of the Kernel, Section 7.15 and Figure 58. The UML 2 Implementation model element is a subtype of Realization, which itself is a dependency relationship, and as such cannot clash with any use of <> as a stereotype. There remains a stylistic problem in that the word "implementation" is used to define the semantics of Realization, and then the model element Implementation is introduced as a specialization of Realization. Defining the semantics of Realization by means of the concept of implementation does raise some doubts about the need for specializing Realization as Implementation, but the name clash cited in this issue no longer exists in the UML 2 metamodel. Disposition: Unresolved OMG Issue No: 4645 Title: Nameclash in UML 1.4 Source: University of Technology, Sydney (Brian Henderson-Sellers, brian@it.uts.edu.au) Summary: As far as I can see there is a name clash in UML 1.4 «implementation» is used as both (1) a stereotype of Generalization to mean implementation (or private) inheritance and (2) a stereotype of Class to mean the coding or implementation details of a Class Discussion: No change. The issue is valid with respect to UML 1.4, but does not require any change in the UML 2 specification. In UML 2, the stereotype of a Class in sense (2) of the issue summary has become <>. In UML 2 there is a model element Implementation to handle sense (1) of the issue. In UML 1.4 there was no such model element. See the Interfaces package of the Kernel, Section 7.15 and Figure 58. The UML 2 Implementation model element is a subtype of Realization, which itself is a dependency relationship, and as such cannot clash with any use of <> as a stereotype. There remains a stylistic problem in that the word "implementation" is used to define the semantics of Realization, and then the model element Implementation is introduced as a specialization of Realization. Defining the semantics of Realization by means of the concept of implementation does raise some doubts about the need for specializing Realization as Implementation, but the name clash cited in this issue no longer exists in the UML 2 metamodel. Disposition: UnresolvedClosed, no change OPEN webpage is at http://www.open.org.au