demo_doc/puml/metal/sequence-ex.svg

921 lines
44 KiB
XML
Raw Permalink Normal View History

2021-06-25 21:37:59 +08:00
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1616.6667px" preserveAspectRatio="none" style="width:1351px;height:1616px;background:#00000000;" version="1.1" viewBox="0 0 1351 1616" width="1351.0417px" zoomAndPan="magnify"><defs><linearGradient id="g16jnlp3rzq0ih0" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#CDCDCD"/><stop offset="100%" stop-color="#9A9A9A"/></linearGradient><linearGradient id="g16jnlp3rzq0ih1" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#E5E4E2"/><stop offset="100%" stop-color="#B7B6B5"/></linearGradient><linearGradient id="g16jnlp3rzq0ih2" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#FDFDFD"/><stop offset="100%" stop-color="#F2F2F2"/></linearGradient><linearGradient id="g16jnlp3rzq0ih3" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#C0D0E5"/><stop offset="100%" stop-color="#8D9DB2"/></linearGradient></defs><g><rect fill="url(#g16jnlp3rzq0ih0)" height="52.4028" rx="4.1667" ry="4.1667" style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" width="388.5417" x="477.0833" y="32.9"/><text fill="#FDFDFD" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="355.2083" x="493.75" y="67.3869">Sequence Diagram - metal theme</text><rect fill="none" height="1494.6411" rx="7.8125" ry="7.8125" style="stroke:#737373;stroke-width:1.0416666666666667;" width="327.0833" x="979.1667" y="96.7611"/><text fill="#4D4D4D" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="111.4583" x="1086.9792" y="117.6615">Internal Service</text><rect fill="url(#g16jnlp3rzq0ih0)" height="246.3582" style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" width="10.4167" x="417.1875" y="377.4943"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="68.75" x2="68.75" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="68.75" x2="68.75" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="68.75" x2="68.75" y1="727.1525" y2="1490.7939"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="254.1667" x2="254.1667" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="254.1667" x2="254.1667" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="254.1667" x2="254.1667" y1="727.1525" y2="1490.7939"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="421.875" x2="421.875" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="421.875" x2="421.875" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="421.875" x2="421.875" y1="727.1525" y2="1490.7939"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="587.5" x2="587.5" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="587.5" x2="587.5" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="587.5" x2="587.5" y1="727.1525" y2="1490.7939"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="772.9167" x2="772.9167" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="772.9167" x2="772.9167" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="772.9167" x2="772.9167" y1="727.1525" y2="1490.7939"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;" x1="876.0417" x2="876.0417" y1="195.461" y2="666.1275"/><line style="stroke:#9A9A9A;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="876.0417" x2="876.0417" y1="666.1275" y2="727.1525"/><line style="stroke:#9A9A9A;stroke-width:1.
@startuml
!$THEME = "metal"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$WHITE = "#fdfdfd"
!$GRAY_DARK = "#4d4d4d"
!$GRAY = "#737373"
!$LIGHT = "#f2f2f2"
!$DARK = "#4d4d4d"
!$SILVER = "#c0c0c0"
!$COPPER = "#B87333c"
!$STEELBLUE = "#4682b4"
!$LIGHTSTEELBLUE = "#B0C4DE"
!$LIGHTSTEELBLUE_DARK = "#8d9db2"
!$LIGHTSTEELBLUE_LIGHT = "#c0d0e5"
!$ALUMINUM = "#c9ced0"
!$ALUMINUM_DARK = "#a1a5a6"
!$ALUMINUM_LIGHT = "#d4d8d9"
!$BRONZE = "#CD7F32"
!$BRONZE_DARK = "#a46628"
!$BRONZE_LIGHT = "#d7995b"
!$GOLD = "#FFD700"
!$PLATINUM = "#E5E4E2"
!$RUST = "#B7410E"
!$FGCOLOR = $DARK
!$PRIMARY = $PLATINUM
!$PRIMARY_LIGHT = "#eae9e8"
!$PRIMARY_DARK = "#b7b6b5"
!$PRIMARY_TEXT = $STEELBLUE
!$SECONDARY = $SILVER
!$SECONDARY_LIGHT = "#cdcdcd"
!$SECONDARY_DARK = "#9a9a9a"
!$SECONDARY_TEXT = $WHITE
!$INFO = $STEELBLUE
!$INFO_LIGHT = "#5c85ad"
!$INFO_DARK = "#29527a"
!$INFO_TEXT = $WHITE
!$SUCCESS = "#339933"
!$SUCCESS_LIGHT = "#5cad5c"
!$SUCCESS_DARK = "#297a29"
!$SUCCESS_TEXT = $WHITE
!$WARNING = $GOLD
!$WARNING_LIGHT = "#ffdf33"
!$WARNING_DARK = "#ccac00"
!$WARNING_TEXT = $WHITE
!$DANGER = $RUST
!$DANGER_LIGHT = "#c5673e"
!$DANGER_DARK = "#92340b"
!$DANGER_TEXT = $WHITE
!procedure $success($msg)
<font color=$SUCCESS><b>$msg
!endprocedure
!procedure $failure($msg)
<font color=$DANGER><b>$msg
!endprocedure
!procedure $warning($msg)
<font color=$WARNING><b>$msg
!endprocedure
!procedure $primary_scheme()
FontColor $PRIMARY_TEXT
BorderColor $PRIMARY_DARK
BackgroundColor $PRIMARY-$PRIMARY_DARK
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 15
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam Padding 8
skinparam ArrowColor $GRAY
skinparam stereotype {
CBackgroundColor $SECONDARY_LIGHT
CBorderColor $SECONDARY_DARK
ABackgroundColor $SUCCESS_LIGHT
ABorderColor $SUCCESS_DARK
IBackgroundColor $DANGER_LIGHT
IBorderColor $DANGER_DARK
EBackgroundColor $WARNING_LIGHT
EBorderColor $WARNING_DARK
NBackgroundColor $INFO_LIGHT
NBorderColor $INFO_DARK
}
skinparam title {
FontColor $WHITE
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
}
skinparam legend {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $SECONDARY_DARK
FontColor $PRIMARY_TEXT
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $BRONZE
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $SECONDARY-$SECONDARY_DARK
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
ParticipantBorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
TitleFontColor $WHITE
BackgroundColor $BGCOLOR
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $GRAY
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 3
LifeLineBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO
GroupBackgroundColor $BGCOLOR
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $WHITE-$LIGHT
DividerBorderColor $GRAY
DividerBorderThickness 2
DividerFontColor $DARK
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $GRAY
ReferenceFontColor $DARK
ReferenceHeaderFontColor $INFO
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY_DARK
BackgroundColor $BGCOLOR
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $LIGHTSTEELBLUE_LIGHT-$LIGHTSTEELBLUE_DARK
BorderColor $LIGHTSTEELBLUE_DARK
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
BorderColor $SECONDARY_DARK
FontColor $SECONDARY_TEXT
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_LIGHT
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING_LIGHT-$WARNING_DARK
BorderColor $WARNING_DARK
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $PRIMARY
FontColor $DARK
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
FontColor $DARK
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY_LIGHT-$PRIMARY_DARK
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $DARK
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $LIGHT
BorderThickness 1
AttributeFontColor $WHITE
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
$primary_scheme()
BackgroundColor $WHITE-$LIGHT
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
$primary_scheme()
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $RUST
FontColor $RUST
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO_LIGHT-$INFO_DARK
BorderColor $INFO
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
BorderColor $GRAY
FontColor $LIGHT
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
!if %variable_exists("$THEME")
title Sequence Diagram - $THEME theme
!else
title Sequence Diagram
!endif
'skinparam BackgroundColor transparent
skinparam responseMessageBelowArrow true
autonumber "<b>[000]"
header Page Header
footer Page %page% of %lastpage%
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
participant Bob
participant Alice << (C,#ADD1B2) Testable >>
box "Internal Service"
participant Bob
participant Alice
end box
== Initialization ==
Foo1 -> Foo2 : To boundary
|||
Foo2 -> Foo3 ++: To control
ref over Foo4, Foo5
This can be on
several lines
end ref
Foo3 -> Foo4 : To entity
Foo4 -> Foo5 : To database
Foo5 - -> Foo3 - - : return
Foo3 - -> Foo2 - -: return
... Some ~~long delay~~ ...
Foo1 -> Foo6 : To collections
Foo6 - -> Foo4: $success("success")
group alt [successful case]
Foo1 -> Alice: Authentication Accepted
Alice - -> Foo1: success
note left of Alice: this is a first note
else some kind of failure
Foo1 -> Alice: Authentication Failure
Alice - -> Foo1: $failure("Bad request")
group My own label
loop 1000 times
Alice -> Foo1: DNS Attack
end
end
else Just a Warning
Foo1 -> Alice: $warning("Please repeat")
end
note over Foo1, Foo2
this is a second note
that is really
long
end note
@enduml
@startuml
skinparam backgroundColor transparent
skinparam useBetaStyle false
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 15
skinparam ParticipantPadding 30
skinparam BoxPadding 30
skinparam Padding 8
skinparam ArrowColor #737373
skinparam stereotype {
CBackgroundColor #cdcdcd
CBorderColor #9a9a9a
ABackgroundColor #5cad5c
ABorderColor #297a29
IBackgroundColor #c5673e
IBorderColor #92340b
EBackgroundColor #ffdf33
EBorderColor #ccac00
NBackgroundColor #5c85ad
NBorderColor #29527a
}
skinparam title {
FontColor #fdfdfd
BorderColor #9a9a9a
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #cdcdcd-#9a9a9a
}
skinparam legend {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #9a9a9a
FontColor #4682b4
}
skinparam swimlane {
BorderColor #4682b4
BorderThickness 2
TitleBackgroundColor #cdcdcd-#c0c0c0
TitleFontColor #E5E4E2
}
skinparam activity {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BarColor #CD7F32
StartColor #4682b4
EndColor #4682b4
DiamondBackgroundColor #c0c0c0-#9a9a9a
DiamondBorderColor #9a9a9a
DiamondFontColor #fdfdfd
}
skinparam participant {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam arrow {
Thickness 3
Color #E5E4E2
FontColor #4d4d4d
}
skinparam sequence {
BorderColor #E5E4E2
TitleFontColor #fdfdfd
BackgroundColor transparent
StartColor #E5E4E2
EndColor #E5E4E2
BoxBackgroundColor transparent
BoxBorderColor #737373
BoxFontColor #4d4d4d
LifeLineBorderColor #9a9a9a
LifeLineBorderThickness 3
LifeLineBackgroundColor #cdcdcd-#9a9a9a
GroupBorderColor #737373
GroupFontColor #4d4d4d
GroupHeaderFontColor #4682b4
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #fdfdfd-#f2f2f2
DividerBorderColor #737373
DividerBorderThickness 2
DividerFontColor #4d4d4d
ReferenceBackgroundColor transparent
ReferenceBorderColor #737373
ReferenceFontColor #4d4d4d
ReferenceHeaderFontColor #4682b4
}
skinparam partition {
BorderColor #E5E4E2
FontColor #b7b6b5
BackgroundColor transparent
}
skinparam collections {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam control {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam entity {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam boundary {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
skinparam note {
BorderThickness 1
BackgroundColor #c0d0e5-#8d9db2
BorderColor #8d9db2
FontColor #fdfdfd
}
skinparam artifact {
BackgroundColor #cdcdcd-#9a9a9a
BorderColor #9a9a9a
FontColor #fdfdfd
}
skinparam component {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam interface {
BackgroundColor #c5673e
BorderColor #B7410E
FontColor #4d4d4d
}
skinparam storage {
BackgroundColor #ffdf33-#ccac00
BorderColor #ccac00
FontColor #fdfdfd
}
skinparam node {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #E5E4E2
FontColor #4d4d4d
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #4d4d4d
}
skinparam database {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
FontColor #4d4d4d
}
skinparam class {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
HeaderBackgroundColor #eae9e8-#b7b6b5
StereotypeFontColor #4d4d4d
BorderThickness 1
AttributeFontColor #4d4d4d
AttributeFontSize 11
}
skinparam object {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
StereotypeFontColor #f2f2f2
BorderThickness 1
AttributeFontColor #fdfdfd
AttributeFontSize 11
}
skinparam usecase {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BorderThickness 2
StereotypeFontColor #E5E4E2
}
skinparam rectangle {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BackgroundColor #fdfdfd-#f2f2f2
BorderThickness 2
StereotypeFontColor #E5E4E2
}
skinparam package {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
BackgroundColor #eae9e8-#E5E4E2
BorderThickness 2
}
skinparam folder {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #B7410E
FontColor #B7410E
BorderThickness 2
}
skinparam frame {
BackgroundColor #eae9e8-#E5E4E2
BorderColor #4682b4
FontColor #4682b4
BorderThickness 2
}
skinparam state {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
StartColor #4682b4
EndColor #4682b4
AttributeFontColor #c0c0c0
AttributeFontSize 11
}
skinparam queue {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
skinparam card {
BackgroundColor #5c85ad-#29527a
BorderColor #4682b4
FontColor #fdfdfd
}
skinparam file {
BackgroundColor #cdcdcd-#9a9a9a
BorderColor #737373
FontColor #f2f2f2
}
skinparam stack {
FontColor #4682b4
BorderColor #b7b6b5
BackgroundColor #E5E4E2-#b7b6b5
}
title Sequence Diagram - metal theme
skinparam responseMessageBelowArrow true
autonumber "<b>[000]"
header Page Header
footer Page %page% of %lastpage%
actor Foo1
boundary Foo2
control Foo3
entity Foo4
database Foo5
collections Foo6
participant Bob
participant Alice << (C,#ADD1B2) Testable >>
box "Internal Service"
participant Bob
participant Alice
end box
== Initialization ==
Foo1 -> Foo2 : To boundary
|||
Foo2 -> Foo3 ++: To control
ref over Foo4, Foo5
This can be on
several lines
end ref
Foo3 -> Foo4 : To entity
Foo4 -> Foo5 : To database
Foo5 - -> Foo3 - - : return
Foo3 - -> Foo2 - -: return
... Some ~~long delay~~ ...
Foo1 -> Foo6 : To collections
Foo6 - -> Foo4: <font color=#339933><b>success
group alt [successful case]
Foo1 -> Alice: Authentication Accepted
Alice - -> Foo1: success
note left of Alice: this is a first note
else some kind of failure
Foo1 -> Alice: Authentication Failure
Alice - -> Foo1: <font color=#B7410E><b>Bad request
group My own label
loop 1000 times
Alice -> Foo1: DNS Attack
end
end
else Just a Warning
Foo1 -> Alice: <font color=#FFD700><b>Please repeat
end
note over Foo1, Foo2
this is a second note
that is really
long
end note
@enduml
PlantUML version 1.2021.01(Mon Feb 01 23:55:08 PST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>