Legacy Issue Number: 6646
Source: TimeWarp Engineering Ltd. ( Steven Cramer)
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.
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:
If desired, but not required, the derivation expression could be displayed on a diagram via a comment.
Reported: UML 1.5 — Mon, 1 Dec 2003 05:00 GMT
Disposition: Resolved — UML 1.4.2
This is really a continuation of issue 6644, not a separate issue.
Updated: Fri, 6 Mar 2015 20:58 GMT