Issue 6187: UML 2 Super/Metamodel::Super/missing merge (uml2-rtf) Source: Simula Research Laboratory (Mr. Bran Selic, selic(at)acm.org) Nature: Uncategorized Issue Severity: Summary: Package Super isn't merged anywhere, so the constraints it adds to Classifier are never included in L3 Resolution: Revised Text: Actions taken: September 7, 2003: received issue August 23, 2006: closed issue Discussion: No packages from Abstractions are currently merged into any compliance level pending reorganization of Abstractions. Disposition: Closed, no change End of Annotations:===== To: issues@omg.org Subject: UML 2 Super/Metamodel::Super/missing merge X-Mailer: Lotus Notes Release 5.0.11 July 24, 2002 From: Branislav Selic Date: Sun, 7 Sep 2003 08:51:59 -0400 X-MIMETrack: Serialize by Router on D25ML05/25/M/IBM(Release 6.0.2CF1|June 9, 2003) at 09/07/2003 08:52:00, Serialize complete at 09/07/2003 08:52:00 Package Super isn't merged anywhere, so the constraints it adds to Classifier are never included in L3. Bran Selic IBM Software Group -- Rational Software 770 Palladium Drive Kanata, Ontario, Canada K2V 1C8 ph. (613) 591-7915 fax (613) 599-3912 Subject: RE: Ballot 23 Date: Wed, 18 Aug 2004 04:40:01 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Ballot 23 Thread-Index: AcSBggiDzvWXv4IqRoGC9OTAQRPrtgDelEOA From: "Pete Rivett" To: "Branislav Selic" , Cc: X-Virus-Scanned: by amavisd-new at sentraliant.com Adaptive votes YES to all the proposed resolutions except 6187 and 6197 to which it votes NO. The 6187 resolution (6197 is very similar) makes the claim that Super (from Abstractions) is in effect merged since: The Constructs package of Infrastructure imports the Super package as shown in figure 11 on page 39 of the Infrastructure FAS (ptc/03-09-15). This is then merged into the Classes package... However AFAIK an import merely allows one to use the names from the imported package (Semantics of 11.6.5 only states that "A package import is a relationship between an importing namespace and a package, indicating that the importing namespace adds the names of the members of the package to its own namespace.") An import consequently does not in any way have merge semantics, so the fact that Classes merges Constructs just leads Classes to have an import of Super and not a merge. So the Issue seems correct in saying that Super is not merged. (I'm willing to be corrected on this and change my vote accordingly) Pete Rivett (mailto:pete.rivett@adaptive.com) Chief Scientist, Adaptive Inc. Dean Park House, 8-10 Dean Park Crescent, Bournemouth, BH1 1HL, UK Tel: +44 (0)1202 449419 Fax: +44 (0)1202 449448 http://www.adaptive.com -------------------------------------------------------------------------------- From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Friday, August 13, 2004 10:58 PM To: uml2-superstructure-ftf@omg.org Cc: mu2i-ftf@omg.org Subject: Ballot 23 Attached, please find ballot 23. The following two issues were removed from the draft that was published earlier: 3391 6248 (compliance points issue) The text of the resolution to issue 7039 was changed but not the "closed, no change" disposition. Vote ends next Friday at 6 pm EDT. Regards, Bran Subject: RE: Ballot 7 Date: Mon, 8 Aug 2005 08:54:55 -0400 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Ballot 7 Thread-Index: AcWa5nF2SJMJR4FXSXuTCngW5XvGqgBH4mzQ From: "Pete Rivett" To: "Branislav Selic" , X-Virus-Scanned: by amavisd-new at sentraliant.com Adaptive votes YES to all the issues except 6187, 6197, 6201, 6254 to which it votes NO and 6699, to which it ABSTAINS (sorry I was traveling when the draft went round). It seems premature to close 6187 and 6197. They should either be closed when the 'pending' Abstractions happens (there is still the need to do the merge even after that) or by cloning the constraints (which I think is what Jim has suggested). 6201 has the following problems: - the property being constrained is not multivalued so it seems inappropriate to return "Set{}" - the value should be set to null. While scalar values can be treated as sets, the converse does not apply. - in "let otherEnd = (association.memberEnd - self)->any() ", the usage of any() seems incorrect since it requires a boolean condition as a 'parameter' e.g. "any(true)" Note: a separate issue is neded to replace the use of 'navigable' in the English description of 'opposite'. The English description of the constraint requires the ends to be 'owned by a class' which is not captured in the OCL - though I'm not sure if this is the real intention (e.g. would 'opposite' apply to associations between Actor and UseCase.) 6254 does raise a valid specic problem for this specific redefinition; the isConsistentWith() operation which is required for a valid redefinition requires that the lowerbound of the redefined element is >= that of the redefinition. In this particular case that does not apply since the redefining element has lowerbound of 1 and the original has lowerbound of 0. The answer is to make the multiplicity of Extension.ownedEnd [0..1] and add a constraint that Extension.ownedEnd->notEmpty(). BTW when fixing this we should also take the opportunity to make this {redefines} explicit. 6699 does not have a justification for making Constraint::namespace navigable, when most other 'owner' properties are not navigable, so I don't see a reason for changing this but not the others (which I would not be averse to). 8720, 8769 should also have an equivalent change made to Infra as an editorial action. Pete Rivett (mailto:pete.rivett@adaptive.com) CTO, Adaptive Inc. Dean Park House, 8-10 Dean Park Crescent, Bournemouth, BH1 1HL, UK Tel: +44 (0)1202 449419 Fax: +44 (0)1202 449448 http://www.adaptive.com -------------------------------------------------------------------------------- From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Friday, August 05, 2005 10:19 PM To: uml2-rtf@omg.org Subject: Ballot 7 Attached is the official ballot 7. Voting starts at 6 pm EDT today (Friday, Aug. 5) and ends in 2 weeks at 6 pm EDT on Friday, August 19. Regards, Bran e-mail: bselic@ca.ibm.com