Issue 8097: Section: 7.3.32 Page: 96-99 (uml2-rtf) Source: (, ) Nature: Clarification Severity: Significant Summary: The document defines multiplicity as an "inclusive interval of non-negative integers" which is the same thing as Unlimited Naturals, but in several other places the "non-negative" qualifier for integer is left off leaving only integer as the definition of the lower bound and integers may be negative. Examples are Additional Operations [4]and in the second paragraph of semantics. Additional Operations [2] OCL is incorrect if the type for includesCardinality(c:Integer) is Integer because the third line says that includesCardinality = (lowerBound() <= C) and (UpperBound () >= C). Everywhere else it is stated that the upperBound is UnlimitedNatural NOT an integer. Remove the word "is" following specification in the second sentence of the first paragraph under Notation. Resolution: see above Revised Text: In the second sentence of the first paragraph under Notation (page 98 of the Superstructure [page 78 in the Infrastructure]), replace the phrase: the notation will include a multiplicity specification is shown as a text string containing the bounds of the interval with the phrase: the notation will include a multiplicity specification, which is shown as a text string containing the bounds of the interval Actions taken: January 20, 2005: received issue August 23, 2006: closed issue Discussion: Constraint [2] of MultiplicityElement ensures that lower bounds of MultiplicityElements are non-negative integers, so the problems that are listed in the issue cannot occur. (It could be argued that it would have been “cleaner” to define the type of “lower” as UnlimitedNatural, but that is merely an optimization that is not worth the disruption that such a change would induce in existing tools.). AdditionalOperation [2] is fine even if the argument C is a negative Integer. In fact, defining the argument as a type Integer is certainly more general and will not result in exceptions if a negative argument is provided. End of Annotations:===== m: webmaster@omg.org Date: 20 Jan 2005 10:23:30 -0500 To: Subject: Issue/Bug Report -------------------------------------------------------------------------------- Name: Jane Messenger Company: U. S. Geological Survey mailFrom: jmessenger@usgs.gov Notification: Yes Specification: Superstructure Section: 7.3.32 FormalNumber: ptc/04-10-02 Version: 2.0 Draft Adopted RevisionDate: 10/08/2004 Page: 96-99 Nature: Clarification Severity: Significant HTTP User Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) Description The document defines multiplicity as an "inclusive interval of non-negative integers" which is the same thing as Unlimited Naturals, but in several other places the "non-negative" qualifier for integer is left off leaving only integer as the definition of the lower bound and integers may be negative. Examples are Additional Operations [4]and in the second paragraph of semantics. Additional Operations [2] OCL is incorrect if the type for includesCardinality(c:Integer) is Integer because the third line says that includesCardinality = (lowerBound() <= C) and (UpperBound () >= C). Everywhere else it is stated that the upperBound is UnlimitedNatural NOT an integer. Remove the word "is" following specification in the second sentence of the first paragraph under Notation. Reply-To: From: "Conrad Bock" To: "Branislav Selic" , Subject: RE: Resolution proposals for Infrastructure/Classes area Date: Thu, 25 Aug 2005 16:18:53 -0400 X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Bran, Comments on the infra proposals. Conrad - Issue 8066: clarify what a directed association is The quoted text gives the semantic (or at least metamodel) interpretation of the triangle notation on associations, namely, the order of the association ends (see figure 12, Association.memberEnd is ordered). It happens to be overloaded with the reading convention, which is strange, but that's what it says. I think the proposed text adds confusion. The reader is just asking what the informal term "directed association" means. This normally means a one-way navigation association. We can say that in discussion, but it doesn't seem like we should introduce it in the spec if it isn't already. - Issue 8097: Section: 7.3.32 Page: 96-99 As long as you're fixing typos, insert "," before "which". Otherwise it modifies the kind of multiplicity specifications that are included in the notation, rather than modifying all multiplicity specifications. (OK, now it would be OK to call me pedantic, except that pedantic means to tell people details they already know, which of course I might be doing . - Issue 8719: Semantics for instances applies to InstanceSpecification? Per the separate discussion, would it be possible to clarify this in the spec. It would be enough just to have a sentence saying that M0 semantics specified in UML does not apply to instance