Диаграмма последовательности

Базовый пример

(все пример можно посмотреть тут)

Для изображения обмена сообщениями между двумя участниками на диаграмме последовательности используется стрелка "->". Участники не обязательно должны быть явно указаны. Если необходимо изобразить пунктирную стрелку, следует использовать символы "-->". Также возможно использование стрелок "<-" и "<--", что не влияет на изображение, но может улучшить читаемость. Стоит отметить, что эти правила относятся только к диаграммам последовательности, для других типов диаграмм могут быть свои правила.


@startuml 
Alice -> Bob: Authentication Request 
Bob --> Alice: Authentication Response 

Alice -> Bob: Another authentication Request 
Alice <-- Bob: Another authentication Response
@enduml

Объявление участника

Если для объявления участника на диаграмме последовательности используется ключевое слово, это позволяет получить больший контроль над этим участником. Порядок объявления определяет порядок отображения участников на диаграмме (по умолчанию). Использование других ключевых слов для объявления участников изменит их внешний вид на диаграмме. Например, можно использовать ключевые слова * actor * boundary * control * entity * database * collections * queue.


@startuml
participant Participant as Foo
actor       Actor       as Foo1
boundary    Boundary    as Foo2
control     Control     as Foo3
entity      Entity      as Foo4
database    Database    as Foo5
collections Collections as Foo6
queue       Queue       as Foo7
Foo -> Foo1 : To actor
Foo -> Foo2 : To boundary
Foo -> Foo3 : To control
Foo -> Foo4 : To entity
Foo -> Foo5 : To database
Foo -> Foo6 : To collections
Foo -> Foo7: To queue
@enduml


Переименуйте участника, используя ключевое слово as.
Вы также можете изменить фоновую link::color[color] актера или участника.


@startuml
actor Bob #red
' The only difference between actor
'and participant is the drawing
participant Alice
participant "I have a really\nlong name" as L #99FF99
/' You can also declare:
   participant L as "I have a really\nlong name"  #99FF99
  '/

Alice->Bob: Authentication Request
Bob->Alice: Authentication Response
Bob->L: Log transaction
@enduml

Вы можете использовать ключевое слово order, чтобы настроить порядок отображения участников.


@startuml
participant Last order 30
participant Middle order 20
participant First order 10
@enduml


Объявление участника на multiline

Вы можете объявить участника многострочным.


@startuml
participant Participant [
    =Title
    ----
    ""SubTitle""
]

participant Bob

Participant -> Bob
@enduml


Сообщение на самого себя

Участник может отправить сообщение самому себе. Также возможно иметь несколько строк, используя \n.


@startuml
Alice -> Alice: This is a signal to self.\nIt also demonstrates\nmultiline \ntext
Alice <- Alice: This is a signal to self.\nIt also demonstrates\nmultiline \ntext
@enduml