Issue 10079: Invalid redefinitions introduced into metamodel (uml2-rtf) Source: Adaptive (Mr. Pete Rivett, pete.rivett(at)adaptive.com) Nature: Uncategorized Issue Severity: Significant Summary: There seem to be cases where redefinitions have appeared in the metamodel that were not in the spec. I think something is needed but overall I think subsetting is probably more appropriate for these cases. It appears that these redefinitions between non-navigable properties (owned by associations) may have been inadvertently introduced by the tool processing the metamodel before the ends were assigned names. In the first example I suspect that the opposites of DirectedRelationship::target and Generalization::general were detected as being involved in an implicit redefinition because their names were empty (the same). The tool can probably be tweaked to produce a complete list of such redefinitions which we can then itemize and remove to resolve this issue.. The cause of the second example is the same, but was likely introduced before Package::ownedMember was renamed to Package::packagedElement and never cleaned up. For example, in Fig 7.9, the Classifiers diagram, the end opposite to Generalization::general is completely unlabeled. But in the metamodel we have <ownedEnd xmi:type="cmof:Property" xmi:id="A_general_generalization-generalization" name="generalization" type="Generalization" association="A_general_generalization" redefinedProperty="A_target_directedRelationship-directedRelationship"/> I'm not sure I see the need for a redefinition here - especially when its sibling (Classifier-generalization) is as follows and has no such redefinition: <ownedAttribute xmi:type="cmof:Property" xmi:id="Classifier-generalization" name="generalization" lower="0" upper="*" type="Generalization" association="A_generalization_specific" subsettedProperty="Element-ownedElement" isComposite="true"> This has no reference at all to the general Association A_source_directedRelationship - to be consistent I would have expected redefinedProperty="A_source_directedRelationship-directedRelationship. As I mentioned at the start though a subsets seems more appropriate - since the other ends use {subsets source} etc. One that has an additional problem is the following: <ownedMember xmi:type="cmof:Association" xmi:id="A_ownedStereotype_profile" name="A_ownedStereotype_profile" general="A_packagedElement_owningPackage" memberEnd="Profile-ownedStereotype A_ownedStereotype_profile-profile"> <ownedEnd xmi:type="cmof:Property" xmi:id="A_ownedStereotype_profile-profile" name="profile" type="Profile" association="A_ownedStereotype_profile" redefinedProperty="A_member_namespace-namespace"/> Here the Association inherits from A_packagedElement_owningPackage but the End redefines A_member_namespace-namespace which is not even a direct member of the specialized Association - and furthermore is a derivedUnion - so we have no real Slot to base the end on. If anything I would have expected a redefine of A_packagedElement_owningPackage-owningPackage Resolution: Revised Text: Actions taken: August 2, 2006: received issue Discussion: End of Annotations:===== ubject: Issue on UML 2.1 metamodel ptc/06-04-07 Date: Wed, 2 Aug 2006 06:49:13 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Issue on UML 2.1 metamodel ptc/06-04-07 Thread-Index: Aca2Om//BHo8KKfVS8KnUFM9IoLHng== From: "Pete Rivett" To: Cc: "Branislav Selic" , "Kenneth Hussey" This may be another candidate for an urgent issue: what do you think Bran/Kenn? BTW Kenn I incorporated your response to my email in the 2nd and 3rd paras of the issue. Pete Invalid redefinitions introduced into metamodel ------------------------------------------------------------------- There seem to be cases where redefinitions have appeared in the metamodel that were not in the spec. I think something is needed but overall I think subsetting is probably more appropriate for these cases. It appears that these redefinitions between non-navigable properties (owned by associations) may have been inadvertently introduced by the tool processing the metamodel before the ends were assigned names. In the first example I suspect that the opposites of DirectedRelationship::target and Generalization::general were detected as being involved in an implicit redefinition because their names were empty (the same). The tool can probably be tweaked to produce a complete list of such redefinitions which we can then itemize and remove to resolve this issue.. The cause of the second example is the same, but was likely introduced before Package::ownedMember was renamed to Package::packagedElement and never cleaned up. For example, in Fig 7.9, the Classifiers diagram, the end opposite to Generalization::general is completely unlabeled. But in the metamodel we have I'm not sure I see the need for a redefinition here - especially when its sibling (Classifier-generalization) is as follows and has no such redefinition: This has no reference at all to the general Association A_source_directedRelationship - to be consistent I would have expected redefinedProperty="A_source_directedRelationship-directedRelationship. As I mentioned at the start though a subsets seems more appropriate - since the other ends use {subsets source} etc. One that has an additional problem is the following: Here the Association inherits from A_packagedElement_owningPackage but the End redefines A_member_namespace-namespace which is not even a direct member of the specialized Association - and furthermore is a derivedUnion - so we have no real Slot to base the end on. If anything I would have expected a redefine of A_packagedElement_owningPackage-owningPackage Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com To: "Pete Rivett" Cc: Branislav Selic , issues@omg.org Subject: Re: Issue on UML 2.1 metamodel ptc/06-04-07 X-Mailer: Lotus Notes Release 7.0 HF144 February 01, 2006 From: Kenneth Hussey Date: Wed, 2 Aug 2006 10:12:39 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 6.5.4|March 27, 2005) at 08/02/2006 10:12:39, Serialize complete at 08/02/2006 10:12:39 Pete, Yes, if we are going to address urgent issues and reproduce the XMI, ideally we should clean up the other problems that we know exist in the metamodel. I would argue that your other issue about required owners (10074) should be a candidate as well. Cheers, Kenn Hussey Eclipse UML2 Project Lead Rational Software, IBM Software Group 770 Palladium Drive Kanata, Ontario, K2V 1C8 T: (613) 599-3980 F: (613) 599-3912 "Pete Rivett" 08/02/2006 09:49 AM To cc Branislav Selic/Ottawa/IBM@IBMCA, Kenneth Hussey/Ottawa/IBM@IBMCA Subject Issue on UML 2.1 metamodel ptc/06-04-07 This may be another candidate for an urgent issue: what do you think Bran/Kenn? BTW Kenn I incorporated your response to my email in the 2nd and 3rd paras of the issue. Pete Invalid redefinitions introduced into metamodel ------------------------------------------------------------------- There seem to be cases where redefinitions have appeared in the metamodel that were not in the spec. I think something is needed but overall I think subsetting is probably more appropriate for these cases. It appears that these redefinitions between non-navigable properties (owned by associations) may have been inadvertently introduced by the tool processing the metamodel before the ends were assigned names. In the first example I suspect that the opposites of DirectedRelationship::target and Generalization::general were detected as being involved in an implicit redefinition because their names were empty (the same). The tool can probably be tweaked to produce a complete list of such redefinitions which we can then itemize and remove to resolve this issue.. The cause of the second example is the same, but was likely introduced before Package::ownedMember was renamed to Package::packagedElement and never cleaned up. For example, in Fig 7.9, the Classifiers diagram, the end opposite to Generalization::general is completely unlabeled. But in the metamodel we have I'm not sure I see the need for a redefinition here - especially when its sibling (Classifier-generalization) is as follows and has no such redefinition: This has no reference at all to the general Association A_source_directedRelationship - to be consistent I would have expected redefinedProperty="A_source_directedRelationship-directedRelationship. As I mentioned at the start though a subsets seems more appropriate - since the other ends use {subsets source} etc. One that has an additional problem is the following: Here the Association inherits from A_packagedElement_owningPackage but the End redefines A_member_namespace-namespace which is not even a direct member of the specialized Association - and furthermore is a derivedUnion - so we have no real Slot to base the end on. If anything I would have expected a redefine of A_packagedElement_owningPackage-owningPackage Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Hello House, 135 Somerford Road, Christchurch, BH23 3PY, UK Tel: +44 (0)1202 491243 Fax: +44 (0)1202 491241 http://www.adaptive.com