Activity Diagram (legacy)

This is the old Activity Diagram (legacy) syntax, to see the new current version see: Activity Diagram (new).

Simple Action

You can use (*) for the starting point and ending point of the activity diagram.

In some occasion, you may want to use (*top) to force the starting point to be at the top of the diagram.

Use --> for arrows.

Label on arrows

By default, an arrow starts at the last used activity.

You can put a label on an arrow using brackets [ and ] just after the arrow definition.

Changing arrow direction

You can use -> for horizontal arrows. It is possible to force arrow's direction using the following syntax:

Branches

You can use if/then/else keywords to define branches.

Unfortunately, you will have to sometimes repeat the same activity in the diagram text:

More on Branches

By default, a branch is connected to the last defined activity, but it is possible to override this and to define a link with the if keywords.

It is also possible to nest branches.

Synchronization

You can use === code === to display synchronization bars.

Long action description

When you declare activities, you can span on several lines the description text. You can also add \n in the description.

You can also give a short code to the activity with the as keyword. This code can be used latter in the diagram description.

Notes

You can add notes on a activity using the commands note left, note right, note top or note bottom, just after the description of the activity you want to note.

If you want to put a note on the starting point, define the note at the very beginning of the diagram description.

You can also have a note on several lines, using the endnote keywords.

Partition

You can define a partition using the partition keyword, and optionally declare a background color for your partition (Using a html color code or name)

When you declare activities, they are automatically put in the last used partition.

You can close the partition definition using a closing bracket }.

Skinparam

You can use the skinparam command to change colors and fonts for the drawing.

You can use this command : You can define specific color and fonts for stereotyped activities.

Octagon

You can change the shape of activities to octagon using the skinparam activityShape octagon command.

Complete example