Activity Diagram (UML)

Activity diagram is a behavior diagram, which shows a scenario using a flow of actions. It models a sequence of actions, decisions based on conditions, concurrent branches and various cycles.

Software Ideas Modeler offers tools for following elements of an activity diagram:

  • Swimlane
  • Initial Node
  • Activity Final Node
  • Flow Final
  • Activity
  • Activity Parameter Node
  • Object
  • Action
  • Call Behavior Action
  • Fork
  • Join
  • Decision
  • Merge
  • Control Flow
  • Object Flow
  • Pin
  • Signal Receipt
  • Signal Send
  • Accept Time Event Action
  • Interruptible Activity Region
  • Expansion Region
  • Conditional Node
  • Loop Node
  • Connector


Activity describes behavior using flow of actions. It can also consist of another subactivities. Activity can be the invocation of an operation, a step in a business process, an entire business process.


A single atomic step of flow, which cannot be broken nor divided.

Action Example

Control Flow

A control flow connects actions and activities (an action with an action, an action with an activity, an activity with an activity). It can specify a condition, which will be displayed in brackets. The condition determines whether the path can be used. Conditions are used together with decision diamonds, when there are multiple possible ways of continuation.

Control Flow Example

Object Flow

An object flow connects an action with an object (or with a pin).

Object Flow Example


A pin represents an object. It is attached to an action. A flow of objects between actions is described using an object flow relationship.

Pins Example

Initial Node

It is a starting node of the modeled activity flow.

Initial Node Example

Flow Final Node

It terminates flows which arrives to this node.

Flow Final Node Example

Activity Final Node

It terminates all flows in an activity. Activity diagram can contain multiple nodes of this kind. The first reached activity final node stops the whole activity.

Activity Final Node Example


Fork element splits one incoming flow into multiple outcoming concurrent asynchronous flows.

Fork Example


Join element combines multiple incoming asynchronous flows into one outcoming flow. It stops processing until all incoming flows are completed.

Join Example


Decision element creates multiple alternative branches of the flow. Conditions in control flows decide which flow will be used. Only one outgoing flow can be used.

Decision Example


Merge element combines alternative incoming flows into the single one. Do not confuse this with Join element. Merge is not used for synchronization of concurrent flows.

Merge Example

Signal Send

This action node invokes an asynchronous event in a target object or a process.

Signal Send Action Example

Signal Receipt

This action node receives an asynchronous message from an object or a process.

Signal Receipt Action Example

Accept Time Event

This node represents a source of periodically generated outputs. This action is called each defined unit of time and continues with a defined flow.

Accept Time Event Example

Interruptible Activity Region

It represents an area of diagram which can be left by an event. This interrupting event is modeled using an exception handler relationship (a flashlightning line).

Interruptible Activity Region Example

New Comment