This is the old Activity Diagram (legacy) syntax, to see the new current version see: Activity Diagram (new). 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. 🎉 Copied! 
 | @startuml
(*) --> "First Action"
"First Action" --> (*)
@enduml
|
기본적으로 화살표는 마지막으로 사용한 액티비티에서 시작한다. 화살표에 라벨을 붙이려면 화살표 정의 바로 다음에 대괄호를 사용한다. 🎉 Copied! 
 | @startuml
(*) --> "First Activity"
-->[You can put also labels] "Second Activity"
--> (*)
@enduml
| You can use -> for horizontal arrows. It is possible to force arrow's direction using the following syntax: -down-> (default arrow)-right-> or -> -left-> -up->
🎉 Copied! 
 | @startuml
(*) -up-> "First Action"
-right-> "Second Action"
--> "Third Action"
-left-> (*)
@enduml
|
You can use if/then/else keywords to define branches. 🎉 Copied! 
 | @startuml
(*) --> "Initialization"
if "Some Test" then
-->[true] "Some Action"
--> "Another Action"
-right-> (*)
else
->[false] "Something else"
-->[Ending process] (*)
endif
@enduml
| Unfortunately, you will have to sometimes repeat the same activity in the diagram text: 🎉 Copied! 
 | @startuml
(*) --> "check input"
If "input is verbose" then
--> [Yes] "turn on verbosity"
--> "run command"
else
--> "run command"
Endif
-->(*)
@enduml
|
기본적으로 브랜치는 마지막에 정의한 액티비티와 연결된다. 하지만 이 룰을 오버라이드 하여 다른 연결 관계를 if 키워드로 정의할 수 있다. 브랜치 내 브랜치 정도 가능하다. 🎉 Copied! 
 | @startuml
(*) --> if "Some Test" then
-->[true] "activity 1"
if "" then
-> "activity 3" as a3
else
if "Other test" then
-left-> "activity 5"
else
--> "activity 6"
endif
endif
else
->[false] "activity 2"
endif
a3 --> if "last test" then
--> "activity 7"
else
-> "activity 8"
endif
@enduml
| You can use === code === to display synchronization bars. 🎉 Copied! 
 | @startuml
(*) --> ===B1===
--> "Parallel Action 1"
--> ===B2===
===B1=== --> "Parallel Action 2"
--> ===B2===
--> (*)
@enduml
|
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. 🎉 Copied! 
 | @startuml
(*) -left-> "this <size:20>action</size>
is <b>very</b> <color:red>long2</color>
and defined on several lines
that contains many <i>text</i>" as A1
-up-> "Another action\n on several lines"
A1 --> "Short action <img:sourceforge.jpg>"
@enduml
|
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. 🎉 Copied! 
 | @startuml
(*) --> "Some action"
note right: This action has to be defined
"Some action" --> (*)
note left
This note is on
several lines
end note
@enduml
|
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 } . 🎉 Copied! 
 | @startuml
partition Conductor {
(*) --> "Climbs on Platform"
--> === S1 ===
--> Bows
}
partition Audience #LightSkyBlue {
=== S1 === --> Applauds
}
partition Conductor {
Bows --> === S2 ===
--> WavesArmes
Applauds --> === S2 ===
}
partition Orchestra #CCCCEE {
WavesArmes --> Introduction
--> "Play music"
}
@enduml
| 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. 🎉 Copied! 
 | @startuml
skinparam backgroundColor #AAFFFF
skinparam activity {
StartColor red
BarColor SaddleBrown
EndColor Silver
BackgroundColor Peru
BackgroundColor<< Begin >> Olive
BorderColor Peru
FontName Impact
}
(*) --> "Climbs on Platform" << Begin >>
--> === S1 ===
--> Bows
--> === S2 ===
--> WavesArmes
--> (*)
@enduml
| You can change the shape of activities to octagon using the skinparam activityShape octagon command. 🎉 Copied! 
 | @startuml
'Default is skinparam activityShape roundBox
skinparam activityShape octagon
(*) --> "First Action"
"First Action" --> (*)
@enduml
|
🎉 Copied! 
 | @startuml
title Servlet Container
(*) --> "ClickServlet.handleRequest()"
--> "new Page"
if "Page.onSecurityCheck" then
->[true] "Page.onInit()"
if "isForward?" then
->[no] "Process controls"
if "continue processing?" then
-->[yes] ===RENDERING===
else
-->[no] ===REDIRECT_CHECK===
endif
else
-->[yes] ===RENDERING===
endif
if "is Post?" then
-->[yes] "Page.onPost()"
--> "Page.onRender()" as render
--> ===REDIRECT_CHECK===
else
-->[no] "Page.onGet()"
--> render
endif
else
-->[false] ===REDIRECT_CHECK===
endif
if "Do redirect?" then
->[yes] "redirect request"
--> ==BEFORE_DESTROY===
else
if "Do Forward?" then
-left->[yes] "Forward request"
--> ==BEFORE_DESTROY===
else
-right->[no] "Render page template"
--> ==BEFORE_DESTROY===
endif
endif
--> "Page.onDestroy()"
-->(*)
@enduml
|
| |