-
Key: UMLR-236
-
Legacy Issue Number: 15449
-
Status: open
-
Source: NASA ( Dr. Nicolas F. Rouquette)
-
Summary:
Resolution 14977 cleaned up many association end subsets/redefinitions; in particular, this resolution ensures that if an association end subsets/redefines another, then there is a symmetric subsetting/redefinition of the other end and that the subsetted/redefined ends belong to the same association.
Two group of proposed changes were removed from 14977.
The first group involves generalization relationships among associations: http://www.omg.org/issues/uml2-rtf.open.html#Issue15274
Generalization relationships are needed when the semantics of an association whose ends subset/redefine the ends of another association is that the set of links of the former association are necessarily a subset of the links of the latter. Since this isn't necessarily the case, it implies that generalization relationships are needed to clarify this semantic intent as shown in slide 31 of the following UML2.0 presentation: http://www.omg.org/members/cgi-bin/doc?omg/04-05-01.pdfThe second group involves associations that are under-specified in the sense that each association:
- does not own any end (i.e., both ends are navigable according to 7.3.45)
- none of the ends subset/redefine ends of another association that has semantic directionality
The criteria for an association to have semantic directionality is:
a) one end is navigable; the other isn't
b) one end is composite; the other isn't
c) one end subsets/redefines another end of an association that is semantically directed; the other doesn't
d) one end has required multiplicity (i.e., lower>0); the other is optional (i.e., lower=0)
e) one end has bounded multiplicity (i.e., upper>0); the other has unbounded multiplicity (i.e., upper<0)Without semantic directionality, an association owns neither of its member ends and there is no objective criteria to determine what effect changing one association end can/should/may have on changes to the other end, if any.
In UML2.4, there are 9 associations that fail all of (a) through (e):
[qvto:transformation] A_containedEdge_inGroup
[qvto:transformation] A_containedNode_inGroup
[qvto:transformation] A_covered_coveredBy
[qvto:transformation] A_edge_inPartition
[qvto:transformation] A_generalizationSet_generalization
[qvto:transformation] A_inInterruptibleRegion_node
[qvto:transformation] A_inPartition_node
[qvto:transformation] A_predecessorClause_successorClause
[qvto:transformation] A_subject_useCase19 associations satisfy (a), (b), (c) but fail either (d) and (e):
[qvto:transformation] A_before_toAfter
[qvto:transformation] A_classifier_templateParameter_parameteredElement
[qvto:transformation] A_connectableElement_templateParameter_parameteredElement
[qvto:transformation] A_end_role
[qvto:transformation] A_extension_metaclass
[qvto:transformation] A_incoming_target_node
[qvto:transformation] A_incoming_target_vertex
[qvto:transformation] A_inputElement_regionAsInput
[qvto:transformation] A_interruptingEdge_interrupts
[qvto:transformation] A_method_specification
[qvto:transformation] A_operation_templateParameter_parameteredElement
[qvto:transformation] A_outgoing_source_node
[qvto:transformation] A_outgoing_source_vertex
[qvto:transformation] A_outputElement_regionAsOutput
[qvto:transformation] A_parameterSet_parameter
[qvto:transformation] A_parameteredElement_templateParameter
[qvto:transformation] A_powertypeExtent_powertype
[qvto:transformation] A_submachineState_submachine
[qvto:transformation] A_toBefore_afterAll 28 cases above correspond to associations that, while well-formed in the metamodel according to 14977 & other applicable resolutions, are under-specified in the specification in the sense that there is a reasonable interpretation where each association has a natural direction, either because of cardinality restrictions (i.e., (d) or (e) would suffice to give direction to the 19 associations above) or because there is insufficient application of the architecture principles for OMG metamodels (e.g., incomplete modeling of ownership in most of the cases for the first group of 9 association).
The consequence for end users is that each of the 28 associations represents a source of modeling errors unless tool implementations choose to implement these associations in a non-standard way, e.g., by ascribing a sensible semantics to these associations that removes the ambiguity about which end can be changed independently of the other end – i.e., the association is semantically directed in that one end can be logically derived from the other end.
-
Reported: UML 2.5 — Wed, 8 Sep 2010 04:00 GMT
-
Updated: Fri, 6 Mar 2015 20:57 GMT
UMLR — Under-specified associations in UML2.4 & the need for clarifying the semantic directionality for all UML associations
- Key: UMLR-236
- OMG Task Force: UML 2.6 RTF