Issue 8226: MultiplicityElement BNF too restrictive (uml2-rtf) Source: Adaptive (Mr. Pete Rivett, pete.rivett(at)adaptive.com) Nature: Uncategorized Issue Severity: Summary: The BNF for Notation in 9.12 of Infra and 7.3.32 of Super does not allow specification of uniqueness-designator without preceding order-designator. This seems too restrictive and is in fact inconsistent with the example in Fig 59 of Super which just shows {unique}. Resolution: Revised Text: OMG Issue No: 8226 The BNF for Notation in 9.12 of Infra and 7.3.32 of Super does not allow specification of This seems too restrictive and is in fact inconsistent with the example in Fig 59 of Super In the Superstructure document: On page 99 replace the BNF describing in the Presentation Options subsection of MultiplicityElement: <multiplicity> ::= <multiplicity-range> [ ‘{‘ <order-designator> [‘,’ <uniqueness-designator>] ‘}’ ] <multiplicity-range> ::= [ <lower> ‘..’ ] <upper> <lower> ::= <integer> | <value-specification> <upper> ::= ‘*’ | <value-specification> <order-designator> ::= ‘ordered’ | ‘unordered’ <uniqueness-designator> ::= ‘unique’ | ‘nonunique’ with the following: <multiplicity> ::= <multiplicity-range> [ [ ‘{‘ <order-designator> [‘,’ <uniqueness-designator> ] ‘}’ ] | [ ‘{‘ <uniqueness-designator> [‘,’ <order-designator> ] ‘}’ ] ] <multiplicity-range> ::= [ <lower> ‘..’ ] <upper> <lower> ::= <integer> | <value-specification> <upper> ::= ‘*’ | <value-specification> <order-designator> ::= ‘ordered’ | ‘unordered’ <uniqueness-designator> ::= ‘unique’ | ‘nonunique’ In the Infrastructure document: On page 78, replace the BNF describing in the Presentation Options subsection of MultiplicityElement: <multiplicity> ::= <multiplicity-range> <multiplicity-range> ::= [ <lower> ‘..’ ] <upper> <lower> ::= <integer> <upper> ::= ‘*’ | <unlimited_natural> <order-designator> ::= 'ordered' | 'unordered' <uniqueness-designator> ::= 'unique' | 'nonunique' with the following: <multiplicity> ::= <multiplicity-range> [ [ ‘{‘ <order-designator> [‘,’ <uniqueness-designator> ] ‘}’ ] | [ ‘{‘ <uniqueness-designator> [‘,’ <order-designator> ] ‘}’ ] ] <multiplicity-range> ::= [ <lower> ‘..’ ] <upper> <lower> ::= <integer> | <value-specification> <upper> ::= ‘*’ | <value-specification> <order-designator> ::= ‘ordered’ | ‘unordered’ <uniqueness-designator> ::= ‘unique’ | ‘nonunique’ On page 81, replace the BNF describing in the Presentation Options subsection of MultiplicityElement (as specialized): multiplicity ::= <multiplicity_range> [ ‘{‘ <order_designator> ‘}’ ] multiplicity_range ::= [ lower ‘..’ ] upper lower ::= integer | value_specification upper ::= unlimited_natural | ‘*’ | value_specification <order_designator> ::= ordered | unordered <uniqueness_designator> ::= unique | nonunique with the following: <multiplicity> ::= <multiplicity-range> [ [ ‘{‘ <order-designator> [‘,’ <uniqueness-designator> ] ‘}’ ] | [ ‘{‘ <uniqueness-designator> [‘,’ <order-designator> ] ‘}’ ] ] <multiplicity-range> ::= [ <lower> ‘..’ ] <upper> <lower> ::= <integer> | <value-specification> <upper> ::= ‘*’ | <value-specification> <order-designator> ::= ‘ordered’ | ‘unordered’ <uniqueness-designator> ::= ‘unique’ | ‘nonunique’ Actions taken: February 3, 2005: received issue August 23, 2006: closed issue Discussion: End of Annotations:===== ubject: UML2 RTF Issue: MultiplicityElement BNF too restrictive Date: Thu, 3 Feb 2005 21:22:20 -0500 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: UML2 RTF Issue: MultiplicityElement BNF too restrictive Thread-Index: AcUKVd5G1BthpNirQ7+3++OKUZiWzg== From: "Pete Rivett" To: X-Virus-Scanned: by amavisd-new at sentraliant.com The BNF for Notation in 9.12 of Infra and 7.3.32 of Super does not allow specification of uniqueness-designator without preceding order-designator. This seems too restrictive and is in fact inconsistent with the example in Fig 59 of Super which just shows {unique}. 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 Subject: RE: Resolution proposals for Infrastructure/Classes area Date: Wed, 24 Aug 2005 18:34:28 -0700 X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Resolution proposals for Infrastructure/Classes area Thread-Index: AcWo9WVm2zHXw+tDTVSx6dF6B7c6rQAGI/Ug From: "Pete Rivett" To: "Branislav Selic" , Here are some comments. I'm OK with the other proposals. Pete ----- Issue 8086 We need to be careful with 'association name' in the proposed phrase ", suggests a simple descriptive sentence with the association name serving as the verb" since although it is true, the UML2 spec itself consistently uses 'association' to refer to 'Property' (e.g. the list of 'Associations' for each metaclass in the spec). So maybe it should say '...with the name property of the Association serving as the verb'. The other question is whether the classifiers or the end names should be used in the constructed phrase. So for a reflexive Association on Person called 'is married to' with end names husband and wife, would the phrase be 'husband is married to wife' or 'Person is married to Person'? The example actually seems to be using the end names since player and year are lower case. --------- Issue 8100: I thought the different languages for an Expression were meant to be alternative formulations e.g. the same meaning depicted in English, Java and OCL. So that the list of languages needs to be the same length as the list of bodies with them being matched pair-wise. This is borne out by the original issue 3391 which made the attributes of Expression multivalued says: " For example, the Expression metaclass has an metaattribute for language and another for the uninterpreted string. This should be a set of such pairs. Then code generators can target multiple languages from the same model." ----- Issue 8226: I don;t think the new BNF is really tight enough - it allows arbitrary long expressions, repetition and inconsistency. e.g. it allows {ordered, ordered, unordered, unique, ordered} How about the following (changes from original spec in red) ::= [ .{. [ [.,. ] ] | [ [.,. ] ] .}. ] ::= [ .... ] ::= | ::= .*. | ::= .ordered. | .unordered. ::= .unique. | .nonunique. ...and likewise for the other changes. ------- Issue 8719 The instance diagram is interesting and could well be a useful addition to the spec - to help explain how the Instances model works. I think it reveals a weakness in the Instances metamodel in terms of how to represent Links - I think InstanceSpecification is not necessarily the right thing to use since an InstanceSpecification (in this case for ) cannot reference Slots it does not own. I created an extended Instances model in MOF to address this (see ptc/4-10-15 Figure 15) - though this is not part of the MOF metamodel but for defining constraints for MOF operations. I agree with the explanation of the original Issue but feel including the instance diagram could lead to misleading impressions about the Instances metamodel.. Regards Pete -------------------------------------------------------------------------------- From: Branislav Selic [mailto:bselic@ca.ibm.com] Sent: Wednesday, August 24, 2005 10:47 PM To: uml2-rtf@omg.org Subject: Resolution proposals for Infrastructure/Classes area Attached are proposals for 7 issue resolutions in the Infrastructure/Classes area. I would like to include them in the draft for ballot 9. Please review them if you care about this area. Cheers, Bran To: Branislav Selic Cc: uml2-rtf@omg.org Subject: Re: Resolution proposals for Infrastructure/Classes area X-Mailer: Lotus Notes Release 6.0.1CF1 March 04, 2003 From: Kenneth Hussey Date: Thu, 25 Aug 2005 16:10:01 -0400 X-MIMETrack: Serialize by Router on D25ML03/25/M/IBM(Release 6.5.4|March 27, 2005) at 08/25/2005 16:10:03, Serialize complete at 08/25/2005 16:10:03 Bran, I have a couple of comments. Issue 8084 Literals 'protected' and 'package' were added to VisibilityKind in Infrastructure as part of the resolution for FTF issue 6515 (ballot 19)... weren't they? Issue 8226 The convention in the specification document (and Rose model) seems to be to use "unique" to indicate uniqueness rather than "nonunique" to indicate non-uniqueness. Given that the default for the MultiplicityElement::isUnique property is true, the absence of a uniqueness designator would seem to indicate that a property is unique, in which case all properties in UML would be unique (since none are designated non-unique). Is this the case? This begs the question why designators need be included in the specification (and Rose model) at all... 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 Branislav Selic/Ottawa/IBM@IBMCA 08/24/2005 05:46 PM To uml2-rtf@omg.org cc Subject Resolution proposals for Infrastructure/Classes area Attached are proposals for 7 issue resolutions in the Infrastructure/Classes area. I would like to include them in the draft for ballot 9. Please review them if you care about this area. Cheers, Bran [attachment "BVS-candidates.050823.doc" deleted by Kenneth Hussey/Ottawa/IBM]