This question already has answers here:
Can't connect activities in activity diagram in EA
(3 answers)
Closed 1 year ago.
I'm looking over internet for the solution but I can't find anything.
I have a big system with multiple interfaces.
In our company we have an uml repository where we have an activity diagrams for all use cases.
And here:
I know that I should use actions on activity diagram and I can't connect two activities by control flow.
But
We want to have also reusable actions/activities for interface methods with diagram for the method body.
Is there any possibility to connect two activities by object flow or control flow?
I can't connect two activities by control flow
Is there any possibility to connect two activities by object flow or control flow?
you want to call an activity from an other, for that just use a call behavior action where the behavior is the called activity.
From ยง16.3.4.1 Call Behavior Action page 454 of formal/2017-12-05 :
The call of an Activity is indicated by placing a rake-style symbol within the Action symbol (see Figure 16.15, left). The
rake resembles a miniature hierarchy, indicating that this invocation starts another Activity that represents a further
decomposition. An alternative notation in the case of an invoked Activity is to show the contents of the invoked Activity
inside a large round-cornered rectangle symbol (see Figure 16.15, right).
Related
I'm working on my graduation project which is an online quiz website. now i'm drawing the UML activity diagram but it gets too complex and i can't add more details because at the end it must be printed in the project documentation in A4 papers.
can i split the diagram into multiple diagrams?. and if i did this should i repeat the login/registration actions in the beginning of each diagram?
Use structured activities to form logical groups. You can instantiate these activities as call behavior actions where needed.
Assume you have an activity Login
(the lying 8 is an invention of Enterprise Architect to indicate an embedded diagram; not UML standard)
which looks inside like
(just very simplified).
Now you can instantiate that like
where the fork indicates the action is a call behavior.
Adding activity parameters it would even be possible to parametrize these. Just like you would do when calling a function in a programming language.
For eg: I have an activity diagram depicting the flow of an API. Now that API calls an internal/static function. So, is it possible to depict the called function activity diagram with the caller activity diagram?
There are a couple of ways to achieve nesting in EA. One would be to create an Activity for the sub-process and invoke that.
You can nest the actions in an activity and use that in the main flow as invocation (when dragging the Activity on the diagram use as "Invocation" rather than as "Link"). It then looks like
From the browser (well, it's EA) you can choose Add/Composite Structure Diagram. Here you can layout the subprocess (e.g. like)
When you double click the invocation it will open this structure diagram.
Additionally you can use this diagram and drag it onto the (enlarged) invocation so it would show its guts:
The way it's shown in uml-diagrams.org is not possible for the diagram representation in EA (or I don't know how to do that). However, you can add ObjectNodes to Activities from the browser's Add context menu. These can be use in the referenced way.
How do we represent in an Activity Diagram, which entities are to be accessed or updated? Is this is to be done as part of an activity diagram, or to be done separately?
You specify which Classes are accessed or updated using Pins on an Action or using an ActivityParameterNode on an Activity. Those Pins look like little squares on the periphery of the Action, or rectangles on the diagram frame of an Activity, and you connect OutputPins to InputPins using ObjectFlows (which unfortunately look just like the ControlFlows that connect Actions together). Here's an example from the UML 2.5 spec:
Now, to answer what I think you are really asking. I think you want to know how to navigate to instances of Classes in your model. To do that from an Activity, you use a ReadStructuralFeatureAction to read properties from the Class instance that owns the Activity you're specifying. The values flow out of an OutputPin. Using ReadStructuralFeatureActions you can navigate anywhere your instances allow. (Note that when a Property is owned by an Association rather than a Class, you use one of the ReadLink*Actions specializations of Action.)
Please see Part 4 of Conrad Bock's excellent series, UML 2 Activity and Action Models,
Part 4: Object Nodes for a better understanding.
You can use either
a dependency (dashed line) or
an object flow (solid line) to show that an action is interacting with an object or
an information flow (stereotyped with <<flow>>). This way you can specify one or more classes which control the information that is flowing (in the example it is FileTypeObject).
Background
I have one action (action_a) that calls an operation(operation_x) on another action (action_b).
The parameters to operation_x are as follows:
action_b.operation_x( param_1, param_2 )
I'm trying to work out how to document the parameters being passed in UML activity diagrams.
Option 1
One option may be to use a comment?
Option 2
Another option may be to use activity parameters, but it doesn't seem right to show two flows from action_a for one operation call?
Question
How can I show multiple objects being passed?
Option 2 is close, but the edges coming out of action_a are not right, and I don't think it's legal to show the call and the details on the same diagram. Please see my other answer.
I am trying to draw an activity diagram in UML 2. I have an action called "splitter" which takes an object and split it into two groups of objects called A and B. These new objects undergo two different flows in the activity diagrams in parallel. I am wondering if UML2 supports taking multiple output from an action. How can I emphasize on the parallelism without using a fork symbol?
Your action can have two outgoing data flows - either using pins or connecting the two outgoing links to different object nodes. After this from either the pins or the nodes you can start two different flows. There is no need to use fork.
The activity diagram provides two kinds of flows: control flow and object flow. The "fork" is used for control flow only.
According you question it looks like you are talking about object flow. There is no any kind of "parallelism" in UML notation for object flow.