Issue 6946: UML 2 Super / Deployments / Invalid cross-references (uml2-superstructure-ftf) Source: Simula Research Laboratory (Mr. Bran Selic, selic(at)acm.org) Nature: Uncategorized Issue Severity: Summary: Table 9 on page 199 references pages such as 10-50, 26-201. These are not valid page number in the spec. Resolution: see above Revised Text: Actions taken: January 29, 2004: received issue March 8, 2005: closed issue Discussion: Update the references in the table as follows: Association : page 81(section 7.11.2) Dependency : page 108 (section 7.14.3) Generalization : page 66 (section 7.8.2) End of Annotations:===== ubject: UML 2.0 Superstructure Derived Union vs. derivationExpression? Date: Mon, 1 Dec 2003 21:46:50 -0700 X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: UML 2.0 Superstructure Derived Union vs. derivationExpression? Thread-Index: AcO4XUQMvVLj0pE5TkGAnS+90z00OQ== From: "Steven T. Cramer" To: Cc: , "Branislav Selic" , , "Jeff Wright" , "Joe Otten" , "Mary Ananian" , "Marc J. Balcer" , "Jonas Hogstrom" , "Jesper Hogstrom" Derived Union vs. derivationExpression VS. The use of the latter would eliminate the isDerivedUnion Property from the Class Property and would eliminate the subsets and union property strings from all the associations. Also would allow for the definition of more complex derivations other than simple unions. A Property could be overridden/redefined for each child class to update the derivation for that class. Most importantly the information would be stored in a more appropriate location. When attempting to determine a value for a property one simply need look at the derivationExpression and not look at all other properties to determine which properties subset this derived union. Given the number of mistakes using derived union in the UML 2.0 Spec it seems apparent that this is error prone. Implementation would also be easier. Most modeling tools could simply add a couple of tagged values to allow for the definition of derivationExpression. Also languages would be able to generate a standard function call to calculate the derivationExpression. Example: The Property ownedMember of the Class Package is redefined to specialize the EndType from NamedElement to PackageableElement. In order to determine how to actually derive the value of ownedMember one has to currently iterate all the properties to determine which ones subset the derived union property and then perform the union. Also, one would have to ensure the property strings are on each subsetting member. Using the derivationExpression one would only need the following in one location: ownedType->union(nestedPackage)->union(ownedRule) If desired, but not required, the derivation expression could be displayed on a diagram via a comment. Steven T. Cramer SCramer@TimeWarpEngineering.com