Legacy Issue Number: 14634
Source: NASA ( Maged Elaasar)
a) StructuredActivities::StructuredActivityNode (specializes FundamentalActivities::ActivityGroup) with the following errors:
StructuredActivities::StructuredActivityNode::activity redefines StructuredActivities::ActivityGroup::inActivity
StructuredActivities::StructuredActivityNode::node subsets StructuredActivities::ActivityGroup::containedNode
b) IntermediateActivities::Activity (does not specialize any other class), with the following errors
IntermediateActivities::Activity::group subsets Kernel::Element::ownedElement (notice that IntermediateActivities::Activity::partition subsets IntermediateActivities::Activity::group)
c) IntermediateActivities::ActivityGroup (does not specialize any other class), with the following errors
IntermediateActivities::ActivityGroup::inActivity subsets Kernel::Element::owner
d) IntermediateActivities::ActivityPartition (specializes IntermediateActivities::ActivityGroup), with the following errors
IntermediateActivities::ActivityPartition::subpartition subsets FundamentalActivities::ActivityGroup::subgroup
IntermediateActivities::ActivityPartition::superPartition subsets FundamentalActivities::ActivityGroup::superGroup (also notice the capitaliation diff between subpartitiion and superPartiion)
e) CompleteActivities::InterruptibleActivityRegion (specializes BasicActivities::ActivityGroup), with the following errors
CompleteActivities::InterruptibleActivityRegion::node subsets CompleteActivities::ActivityGroup::containedNode
f) Interfaces::Property (specializes Kernel::StructuralFeature), with the following errors
Interfaces::Property::interface subsets Kernel::A_attribute_classifier::classifier
- Fixes for those require fixing the spec and metamodel
Reported: UML 2.3 — Thu, 12 Nov 2009 05:00 GMT
Disposition: Resolved — UML 2.4
These problems are a consequence of improper understanding and documentation of package merge.
a). The problem is caused because StructuredActivities::StructuredActivityNode inherits from FundamentalActivities::ActivityGroup, not StructuredActivities::ActivityGroup. Although according to the text the latter does not exist, it is actually present in the UML 2.3 metamodel. (See also 15264). The resolution is to inherit from the local ActivityGroup. Researching this also shows that the spec document is already quite seriously adrift from the metamodel. Although this will be fixed in UML 2.5, this resolution takes some steps to fix it.
b) The problem is caused because IntermediateActivities::Activity has no base class. The resolution is to remove the subset assertion from IntermediateActivities::Activity::group. Since the subset is correctly declared in FundamentalActivities, it is reintroduced by the merge.
c) The problem and resolution are analogous to (b).
d) The problem is that the subsetted properties are those in FundamentalActivities, not those in IntermediateActivities. This is like (a).
e) The problem is that InterruptableActivityRegion inherits from BasicActivities::ActivityGroup, not CompleteActivities::ActivityGroup. We make it inherit from the latter.
f) The problem is that the Property defined in Interfaces is not related to Classifier, so there is no /attribute association to subset. We create a local Classifier and copy down the association.
Updated: Fri, 6 Mar 2015 20:58 GMT