-
Key: UMLR-711
-
Status: open Implementation work Blocked
-
Source: Flanders Make ( Klaas Gadeyne)
-
Summary:
One of the constraints on objectFlows in 15.7.22.6 is
compatible_types
ObjectNodes connected by an ObjectFlow, with optionally intervening ControlNodes, must have compatible types. In particular, the downstream ObjectNode type must be the same or a supertype of the upstream ObjectNode type.It is unclear how this has to be interpreted in the case of two objectNodes with a decisionNode in between. More specifically,
Imagine a decisionNode with 2 incoming objectFlows:
- 1 objectFlow, whose target is the decisionNode and whose source is an outputPin of type A
- 1 objectFlow, whose target is the decisionNode, and whose source is an outputPin of type Boolean. This objectFlow is tagged as the decisionInputFlow of the decisionNode
The decisionNode also has 2 outgoing objectFlows, guarded by [verdict] and [!verdict] and targeting to (two) inputPins of type A
Whereas the latter model snippet seems to be a valid model according to the documentation on DecisionNode, the 'compatible_types' constraint does not hold for the connection between the outputpin of type Boolean and any inputPin of type A, since A is not a supertype of boolean.
-
Reported: UML 2.5 — Fri, 14 Oct 2016 10:06 GMT
-
Updated: Wed, 28 Jun 2017 16:24 GMT