Combined Control and Data(Object) flow in Activity Diagram

+5 votes
asked Aug 8, 2017 in Wanted features by anonymous
Is it possible to model a data(object) flow parallel to the control flow depicted by an activity diagram?

I saw that objects can be intserted into the activity diagram as elemens with the following notation ": name of object]", but this is an integration e.g. in-between two actions.

The question is now if it is also possible to draw a data flow next to the control flow, e.g. that one action follows the other coneccted by an arrow and in addition there is another arrow (e.g. dashed) going out of the first action pointing to an object. Again dashed arrows might indicate that this object feeds as input into other actions (especially these infeeds to other and potentially multiple actions is not reasonably to be modelled via fork).

Any idea how to get such a activity diagram via plantuml today? If not can one expect support for such a drawing soon?

Thx
commented Feb 18, 2018 by Anthony-Gaudino (5,720 points)
Please provide an image example of what you want to achieve.
commented Nov 13, 2018 by dubcio (140 points)
It shoudl support object state and stereotype as well.
commented Nov 13, 2018 by dubcio (140 points)
Yet anouther examples of object in activity diagrams: https://sparxsystems.com/resources/uml2_tutorial/uml2_activitydiagram.html

1 Answer

0 votes
answered Oct 20, 2018 by dubcio (140 points)

For now I found the following workaround. It is not pretty unfortunately.

@startuml
:before activity;

split
 -[dotted]->
 :object
 [state] ]
 -[dotted]->
split again
 :parallel activity;
end split

:middle activity;

split
 -[dotted]->
 :object]
 -[dotted]->
split again
end split

:middle activity;

@enduml

example

commented Nov 16, 2018 by anonymous
Hi dubico,

thx for the examples to my question - fit's perfectly.
...and yes, the work-around is not that pretty. Moreover one of the key issues is that the data flow looks like a part of the control flow - actually like an alternative path thru the data element.
This boils down to the extension needed in plant-uml: The arrows for the data flow need to start and end on activities, but they need to be separated from the control flow arrows - usually starting and ending at the edges of the activity which are orthogonal to the edges where the control flow arrows start/end.
Consequently plant-uml needs to have a means (semantics) to express (and graphically represent) a separate control and data flow in the same activity diagram.
...