Hello Plantuml Experts,
I am about to document quite some procedures using sequence diagrams. It appears essential that within 'participants' some logic needs to be expressed.
Currently I am using 'alt'. Unfortunately the size of these alt blocks seems to be determined as well by all arrows within an 'alt' and its closing 'end' statement.
Since routines may have multiple calls to other participants and as well have more than one return statement my 'alt' blocks are printed much bigger than I'd like to see: they include all participants called from within the 'alt' and all callers being returned to from within the 'alt' block.
Unfortunately that makes the diagram unreadable. I now kind of adapt the logic I want to document just in order to get my diagrams, which is of course not what documentation should do.
Is there any way to control the horizontal size of such 'alt' blocks ?
Thanks in advance
@startuml
participant B
participant C
participant D
note over C: some if-else logic in C should be horizontally limited to its scope: 'C'
note over B: the alt block visually includes B\nbut B is not part of the logic\n -> bad!
B -> C
alt this alt logic is coded exclusively in 'C'
note over C: but the logic appears all over B,C and D
B <- C : return variant 1
else
C --> D
D --> D
note right
this 'D' code as well appears
within the C's 'alt' block
but is not related to it
-> bad!
end note
C <-- D
B <- C : return variant 2
end
note over C: reason (my guess): the arrows between B,C and D
note over C: this simplified example still looks pretty\nnow think of e.g. 7 participants all calling each other\nconditioned by 'alt' conditions:\nall 'alt' blocks become 'global': what a mess !
note over C: How could I let those arrows *cross* the border\nof that 'alt' block instead of enlarging it ?
note over C: proposal: allow 'dashed' arrows to cross ...
@enduml