Hatred's Log Place

DON'T PANIC!

Jan 27, 2014 - 1 minute read -

PlantUML: параллельное выполнение в Sequence Diagram

Давно хотелось иметь в PlantUML возможно в Sequence диаграмме рисовать две параллельные ветки выполнения (на самом деле иногда больше, но хотя бы…).

И вот, случайно в последней версии нащупал такую команду:

par2
  ...
else
  ...
end

Т.е. при примерно таком коде:

@startuml
hide footbox

A++
par2
    A -> B ++
    B -> B ++
    return
    return
else
    A -> C ++
    C -> C ++
end
A--

@enduml

мы получим следующую картинку:

в общем, чего и хотелось.

Правда при таком подходе, если, допустим, A, B и C - разные потоки, то операции с A нужно корректно вставлять в одну из веток par2

PS в примере можно видеть различные операции типа ++ и -- найти их описание можно здесь: http://plantuml.sourceforge.net/incubation.html