Issue 6524: class "InfrastructureLibrary.core.constructs.Association", (uml2-rtf) Source: Pivot Point (Mr. Cris Kobryn, ) Nature: Uncategorized Issue Severity: Summary: found something strange in the specification of UML 2.0. First of all, in the class "InfrastructureLibrary.core.constructs.Association", there is an attribute "ownedEnd" with return type of "InfrastructureLibrary.Core.Constructs.Property" and 0...*; and it its direct subclass "infrastructurelibrary.profiles.Extension", there is an attribute "ownedEnd" which redefines ownedEnd in class "Association", but with return type "infrastructurelibrary.profiles.ExtensionEnd" and multiplicity of 1. It causes conflicts of generated JMI interface. Resolution: Revised Text: Actions taken: November 7, 2003: received issue February 18, 2005: moved from infrastructure August 23, 2006: closed issue Discussion: Extension is a subclass of Association, and ExtensionEnd is a subclass of Property. So Extension::ownedEnd: ExtensionEnd is an implicit redefinition of inherited property Association::ownedEnd: Property. Redefinitions of this sort are used throughout the UML2 metamodel, many of them occurring as the result of package merges. Unfortunately, there is no way to have this fixed without a major reworking of the entire UML metamodel and a change in the definition of UML 2. This is because the concept of property redefinition is (a) a fundamental capability of UML 2.0 and (b) very tightly integrated into the metamodel. Removing it, which is what would be required to deal with this issue, is far outside the scope of an RTF. Disposition: Closed, no change End of Annotations:===== -Return: cris@ieee.org Date: Sat, 08 Nov 2003 07:36:45 -0000 From: "Cris Kobryn" To: juergen@omg.org, issues@omg.org, cris.kobryn@telelogic.com Subject: Fwd: bugs in UML 2.0 specification User-Agent: eGroups-EW/0.82 X-Mailer: Yahoo Groups Message Poster X-Originating-IP: 68.71.8.84 --- In u2p-info@yahoogroups.com, "Fu,Bin" wrote: Hi, I am doing a job to convert U2P-UML-Infra-v2-XMI-030303.xmi (Specificaiton of UML 2.0 described by MOF 2.0 and XMI 2.0) into a format of XMI 1.2 and MOF 1.4, so that it can be acceptable by Metadata Repository (MDR). I found something strange in the specification of UML 2.0. First of all, in the class "InfrastructureLibrary.core.constructs.Association", there is an attribute "ownedEnd" with return type of "InfrastructureLibrary.Core.Constructs.Property" and 0...*; and it its direct subclass "infrastructurelibrary.profiles.Extension", there is an attribute "ownedEnd" which redefines ownedEnd in class "Association", but with return type "infrastructurelibrary.profiles.ExtensionEnd" and multiplicity of 1. It causes conflicts of generated JMI interface. Reply-To: Joaquin Miller X-Mailer: QUALCOMM Windows Eudora Version 6.2.1.2 Date: Fri, 05 Aug 2005 10:15:25 -0700 To: UML-RTF From: Joaquin Miller Subject: Re: Draft ballot 7 -- please review Oops. I'm sure i mailed this, but it looks like maybe i did not. 6524: Does this deal with the complaint about the generated JMI interface? The resolution would be more satisfying (if so) if it explained how or (if not) said why not. 8021: "an unnamed property ::SubB (or SubB::subA by default)" seems fishy: Should the '::' jump around 'SubB' like that? 8023: How about: Specialization is, in contrast to Subsetting, a relationship in the domain of intentional semantics, which is to say it characterizes the criteria whereby membership in the collection of instances is defined, not by specifying the actual collection of instances. One classifier may specialize another by adding or redefining features; while a set cannot specialize another set, it can only be a subset or superset of another set. A naïve but popular and useful view has it that as the classifier becomes more specialized, the extent of the collection(s) of its instances narrows. This is because instances of the more general classifier include instances of all its different specializations. In the case of associations, subsetting ends, according to this view, corresponds to specializing the association since the collection of instances of a specialization would be a subset of the collection of instances of its generalization. This view falls down because it ignores the case of classifiers which, for whatever reason (e.g. abstract classes), have no instances. Adding new criteria for membership does not narrow the set of instances if the classifier already has no instances. [I don't even like that. [-- I don't feel it helps. [-- It seems to say that UML 2 subsetting is a relationship in the domain of extensional semantics. But it is not. If we like the phrase, 'a relationship in the domain of intentional semantics,' then certainly UML 2 subsetting is a relationship in the domain of intentional semantics. [-- The example of abstract classes also seems to me to be incorrect: Abstract classes have instances. In particular, an abstract class which is specialized by concrete classes has, as instances, as many instances as those classes have.] To: Joaquin Miller Cc: UML-RTF Subject: Re: Draft ballot 7 -- please review X-Mailer: Lotus Notes Release 6.0.1CF1 March 04, 2003 From: Branislav Selic Date: Fri, 5 Aug 2005 16:59:06 -0400 X-MIMETrack: Serialize by Router on D25ML01/25/M/IBM(Release 6.5.4|March 27, 2005) at 08/05/2005 16:59:10, Serialize complete at 08/05/2005 16:59:10 Hello Joaquin, > Oops. I'm sure i mailed this, but it looks like maybe i did not. If you did, I have not received it. However, better late than never. > 6524: Does this deal with the complaint about the generated JMI > interface? The resolution would be more satisfying (if so) if it > explained how or (if not) said why not. I have added an explanation to the resolution. The problem is that the concept of feature redefinition -- which is not supported by most popular OO languages -- is (a) an architectural feature of UML 2 and (b) used extensively in the definition of the UML metamodel. Removing this would require major surgery to the metamodel and a change to the definition of the UML language. It is far beyond the scope of an RTF. One choice might be to defer the issue, but the issue text is not cirectly challenging the concept of redefinition but is focusing on just one particular usage of it. Therefore, I think that it is appropriate to close this issue as "no change". If someone wants to challenge the redefinition capability of UML, then an explicit issue should be formulated to that end. > 8021: "an unnamed property ::SubB (or SubB::subA by default)" seems > fishy: Should the '::' jump around 'SubB' like that? This is merely the OCL convention for giving names to un-named association ends. Jim was just using it to explain things. > 8023: How about: > Specialization is, in contrast to Subsetting, a relationship in the > domain of intentional semantics, which is to say it characterizes > the criteria whereby membership in the collection of instances is > defined, not by specifying the actual collection of instances. One > classifier may specialize another by adding or redefining features; > while a set cannot specialize another set, it can only be a subset > or superset of another set. A naïve but popular and useful view has > it that as the classifier becomes more specialized, the extent of > the collection(s) of its instances narrows. This is because > instances of the more general classifier include instances of all > its different specializations. In the case of associations, > subsetting ends, according to this view, corresponds to specializing > the association since the collection of instances of a > specialization would be a subset of the collection of instances of > its generalization. This view falls down because it ignores the > case of classifiers which, for whatever reason (e.g. abstract > classes), have no instances. Adding new criteria for membership > does not narrow the set of instances if the classifier already has > no instances. Issue 8023 has been withdrawn from the ballot. Please discuss with Jim Amsden about your preferred reformulation. Cheers...Bran