demo_doc/puml/black-knight/sequence-ex.svg

903 lines
43 KiB
XML
Raw 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="1427.0833px" preserveAspectRatio="none" style="width:1354px;height:1427px;background:#00000000;" version="1.1" viewBox="0 0 1354 1427" width="1354.1667px" zoomAndPan="magnify"><defs><linearGradient id="g82nvhvv4u2010" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#6D6D6D"/><stop offset="100%" stop-color="#484848"/></linearGradient><linearGradient id="g82nvhvv4u2011" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#595959"/><stop offset="100%" stop-color="#262626"/></linearGradient></defs><g><rect fill="url(#g82nvhvv4u2010)" height="46.1528" rx="4.1667" ry="4.1667" style="stroke:#3A3A3A;stroke-width:1.0416666666666667;" width="453.125" x="446.3542" y="32.9"/><text fill="#FEFEFE" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="426.0417" x="459.8958" y="64.2619">Sequence Diagram - black-knight theme</text><rect fill="none" height="1311.1328" rx="4.1667" ry="4.1667" style="stroke:#484848;stroke-width:1.0416666666666667;" width="356.25" x="947.9167" y="90.5111"/><text fill="#484848" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="111.4583" x="1070.3125" y="108.2865">Internal Service</text><rect fill="#3A3A3A" height="215.1082" style="stroke:#484848;stroke-width:1.0416666666666667;" width="10.4167" x="389.0625" y="343.986"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="65.625" x2="65.625" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="65.625" x2="65.625" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="65.625" x2="65.625" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="238.5417" x2="238.5417" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="238.5417" x2="238.5417" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="238.5417" x2="238.5417" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="393.75" x2="393.75" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="393.75" x2="393.75" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="393.75" x2="393.75" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="546.875" x2="546.875" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="546.875" x2="546.875" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="546.875" x2="546.875" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="719.7917" x2="719.7917" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="719.7917" x2="719.7917" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="719.7917" x2="719.7917" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="827.0833" x2="827.0833" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="827.0833" x2="827.0833" y1="595.1192" y2="649.8942"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="827.0833" x2="827.0833" y1="649.8942" y2="1307.2856"/><line style="stroke:#484848;stroke-width:1.0416666666666667;" x1="1018.75" x2="1018.75" y1="180.7027" y2="595.1192"/><line style="stroke:#484848;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="1018.75" x2="1018.75" y1="595.1192" y2="649.8942"/><l
@startuml
!$THEME = "black-knight"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$PRIMARY = "#303030"
!$PRIMARY_DARK = "#262626"
!$PRIMARY_LIGHT = "#595959"
!$PRIMARY_TEXT = "#fff200"
!$SECONDARY = "#484848"
!$SECONDARY_DARK = "#3a3a3a"
!$SECONDARY_LIGHT = "#6d6d6d"
!$SECONDARY_TEXT = "#fefefe"
!$SUCCESS = "#00FF00"
!$SUCCESS_DARK = "#00cc00"
!$SUCCESS_LIGHT = "#33ff33"
!$INFO = "#0060a8"
!$INFO_DARK = "#004d86"
!$INFO_LIGHT = "#3380b9"
!$WARNING = "#ff8000"
!$WARNING_DARK = "#cc6600"
!$WARNING_LIGHT = "#ff9933"
!$WARNING_TEXT = "#222222"
!$DANGER = "#ff0000"
!$DANGER_DARK = "#cc0000"
!$DANGER_LIGHT = "#ff3333"
!$LIGHT = "#fff200"
!$DARK = "#484848"
!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_LIGHT-$PRIMARY_DARK
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 5
skinparam ArrowColor $DARK
skinparam stereotype {
CBackgroundColor $SECONDARY_DARK
CBorderColor $SECONDARY_LIGHT
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 $SECONDARY_TEXT
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
}
skinparam legend {
BackgroundColor $PRIMARY
BorderColor $PRIMARY_DARK
FontColor $PRIMARY_TEXT
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY_TEXT
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $SUCCESS
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $SECONDARY_LIGHT-$SECONDARY_DARK
DiamondBorderColor $SECONDARY_DARK
DiamondFontColor $SECONDARY_TEXT
}
!endsub
!startsub participant
skinparam participant {
$primary_scheme()
ParticipantBorderThickness 2
}
!endsub
!startsub actor
skinparam actor {
$primary_scheme()
}
!endsub
!startsub arrow
skinparam arrow {
Thickness 3
Color $PRIMARY
FontColor $FGCOLOR
}
!endsub
!startsub sequence
skinparam sequence {
BorderColor $PRIMARY
TitleFontColor $PRIMARY
BackgroundColor $BGCOLOR
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $DARK
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY
LifeLineBorderThickness 2
LifeLineBackgroundColor $SECONDARY_DARK
GroupBorderColor $DARK
GroupFontColor $DARK
GroupHeaderFontColor $INFO
GroupBackgroundColor $SECONDARY
GroupBodyBackgroundColor $BGCOLOR
GroupHeaderBackgroundColor $BGCOLOR
DividerBackgroundColor $DARK
DividerBorderColor $DARK
DividerBorderThickness 2
DividerFontColor $LIGHT
ReferenceBackgroundColor $BGCOLOR
ReferenceBorderColor $DARK
ReferenceFontColor $SECONDARY_TEXT
ReferenceHeaderFontColor $INFO
ReferenceHeaderBackgroundColor $SECONDARY
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY_LIGHT
BackgroundColor $BGCOLOR
}
!endsub
!startsub collections
skinparam collections {
$primary_scheme()
}
!endsub
!startsub control
skinparam control {
$primary_scheme()
}
!endsub
!startsub entity
skinparam entity {
$primary_scheme()
}
!endsub
!startsub boundary
skinparam boundary {
$primary_scheme()
}
!endsub
!startsub agent
skinparam agent {
BackgroundColor $WARNING
BorderColor $WARNING_LIGHT
FontColor $DARK
}
!endsub
!startsub note
skinparam note {
BorderThickness 1
BackgroundColor $INFO
BorderColor $INFO_DARK
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $DARK
BorderColor $DARK_DARK
FontColor $LIGHT
}
!endsub
!startsub component
skinparam component {
$primary_scheme()
}
!endsub
!startsub interface
skinparam interface {
BackgroundColor $DANGER_DARK
BorderColor $DANGER
FontColor $DARK
}
!endsub
!startsub storage
skinparam storage {
BackgroundColor $WARNING
BorderColor $WARNING_DARK
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $BGCOLOR
BorderColor $PRIMARY_LIGHT
FontColor $PRIMARY_TEXT
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor $DARK
FontColor $LIGHT
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
HeaderBackgroundColor $PRIMARY_LIGHT
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $LIGHT
AttributeFontSize 11
}
!endsub
!startsub object
skinparam object {
$primary_scheme()
StereotypeFontColor $DARK
BorderThickness 1
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub usecase
skinparam usecase {
$primary_scheme()
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub rectangle
skinparam rectangle {
$primary_scheme()
BackgroundColor $BGCOLOR
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
$primary_scheme()
BackgroundColor $BGCOLOR
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $SECONDARY_LIGHT
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $SECONDARY_LIGHT
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO
BorderColor $INFO_DARK
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $INFO
FontColor $SECONDARY_TEXT
}
!endsub
!startsub stack
skinparam stack {
$primary_scheme()
}
!endsub
!if %variable_exists("NEWSTYLE")
<style>
wbsDiagram {
LineColor $PRIMARY
BorderThickness 3
BackgroundColor $LIGHT
FontColor $PRIMARY_TEXT
:depth(0) {
fontSize 16
fontStyle bold
fontColor $SECONDARY
}
:depth(1) {
fontSize 14
padding 5
fontStyle bold
}
:depth(2) {
fontSize 12
padding 4
}
:depth(3) {
fontSize 11
padding 3
fontColor $INFO
}
}
</style>
!endif
!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 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 5
skinparam ArrowColor #484848
skinparam stereotype {
CBackgroundColor #3a3a3a
CBorderColor #6d6d6d
ABackgroundColor #33ff33
ABorderColor #00cc00
IBackgroundColor #ff3333
IBorderColor #cc0000
EBackgroundColor #ff9933
EBorderColor #cc6600
NBackgroundColor #3380b9
NBorderColor #004d86
}
skinparam title {
FontColor #fefefe
BorderColor #3a3a3a
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #6d6d6d-#484848
}
skinparam legend {
BackgroundColor #303030
BorderColor #262626
FontColor #fff200
}
skinparam swimlane {
BorderColor #0060a8
BorderThickness 2
TitleBackgroundColor #6d6d6d-#484848
TitleFontColor #fff200
}
skinparam activity {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
BarColor #00FF00
StartColor #0060a8
EndColor #0060a8
DiamondBackgroundColor #6d6d6d-#3a3a3a
DiamondBorderColor #3a3a3a
DiamondFontColor #fefefe
}
skinparam participant {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam arrow {
Thickness 3
Color #303030
FontColor $FGCOLOR
}
skinparam sequence {
BorderColor #303030
TitleFontColor #303030
BackgroundColor transparent
StartColor #303030
EndColor #303030
BoxBackgroundColor transparent
BoxBorderColor #484848
BoxFontColor #484848
LifeLineBorderColor #484848
LifeLineBorderThickness 2
LifeLineBackgroundColor #3a3a3a
GroupBorderColor #484848
GroupFontColor #484848
GroupHeaderFontColor #0060a8
GroupBackgroundColor #484848
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #484848
DividerBorderColor #484848
DividerBorderThickness 2
DividerFontColor #fff200
ReferenceBackgroundColor transparent
ReferenceBorderColor #484848
ReferenceFontColor #fefefe
ReferenceHeaderFontColor #0060a8
ReferenceHeaderBackgroundColor #484848
}
skinparam partition {
BorderColor #303030
FontColor #595959
BackgroundColor transparent
}
skinparam collections {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam control {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam entity {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam boundary {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam agent {
BackgroundColor #ff8000
BorderColor #ff9933
FontColor #484848
}
skinparam note {
BorderThickness 1
BackgroundColor #0060a8
BorderColor #004d86
FontColor $WHITE
}
skinparam artifact {
BackgroundColor #484848
BorderColor $DARK_DARK
FontColor #fff200
}
skinparam component {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam interface {
BackgroundColor #cc0000
BorderColor #ff0000
FontColor #484848
}
skinparam storage {
BackgroundColor #ff8000
BorderColor #cc6600
FontColor #222222
}
skinparam node {
BackgroundColor transparent
BorderColor #595959
FontColor #fff200
}
skinparam cloud {
BackgroundColor transparent
BorderColor #484848
FontColor #fff200
}
skinparam database {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam class {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
HeaderBackgroundColor #595959
StereotypeFontColor #484848
BorderThickness 1
AttributeFontColor #fff200
AttributeFontSize 11
}
skinparam object {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
StereotypeFontColor #484848
BorderThickness 1
AttributeFontColor #fefefe
AttributeFontSize 11
}
skinparam usecase {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
BorderThickness 2
StereotypeFontColor #303030
}
skinparam rectangle {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
BackgroundColor transparent
BorderThickness 2
StereotypeFontColor #303030
}
skinparam package {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
BackgroundColor transparent
BorderThickness 2
}
skinparam folder {
BackgroundColor #6d6d6d
BorderColor #ff8000
FontColor #ff8000
BorderThickness 2
}
skinparam frame {
BackgroundColor #6d6d6d
BorderColor #0060a8
FontColor #0060a8
BorderThickness 2
}
skinparam state {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
StartColor #0060a8
EndColor #0060a8
AttributeFontColor #fefefe
AttributeFontSize 11
}
skinparam queue {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
skinparam card {
BackgroundColor #0060a8
BorderColor #004d86
FontColor $INFO_TEXT
}
skinparam file {
BackgroundColor #6d6d6d-#484848
BorderColor #0060a8
FontColor #fefefe
}
skinparam stack {
FontColor #fff200
BorderColor #262626
BackgroundColor #595959-#262626
}
title Sequence Diagram - black-knight 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=#00FF00><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=#ff0000><b>Bad request
group My own label
loop 1000 times
Alice -> Foo1: DNS Attack
end
end
else Just a Warning
Foo1 -> Alice: <font color=#ff8000><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>