demo_doc/puml/sketchy/sequence-ex.svg

908 lines
145 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="1403.125px" preserveAspectRatio="none" style="width:1333px;height:1403px;background:#00000000;" version="1.1" viewBox="0 0 1333 1403" width="1333.3333px" zoomAndPan="magnify"><defs><linearGradient id="geea5lo8kmutv0" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#666666"/><stop offset="100%" stop-color="#555555"/></linearGradient></defs><g><polygon fill="url(#geea5lo8kmutv0)" points="466.6667,32.2591,466.6667,32.4781,476.9737,31.8275,487.2807,32.4605,497.5877,32.6754,507.8947,31.516,518.2018,32.1782,528.5088,31.8149,538.8158,31.8596,549.1228,32.1881,559.4298,31.5389,569.7368,32.8358,580.0439,31.6026,590.3509,32.0531,600.6579,32.7091,610.9649,32.1698,621.2719,32.3302,631.5789,32.2258,641.886,32.4451,652.193,32.5082,662.5,32.8692,672.807,32.9581,683.114,32.9667,693.4211,32.5244,703.7281,32.742,714.0351,32.9906,724.3421,31.5079,734.6491,32.9659,744.9561,31.9503,755.2632,32.8152,765.5702,31.7435,775.8772,32.1878,786.1842,33.0316,796.4912,32.2083,806.7982,32.3688,817.1053,32.6119,827.4123,32.6927,837.7193,32.255,848.0263,32.5583,858.3333,32.2591,858.2573,32.0755,858.9604,32.5944,859.5847,32.9231,860.1602,33.134,860.7718,33.4321,861.2796,33.4795,861.1246,33.4153,861.3145,33.9821,861.5684,34.5754,861.993,35.2394,862.1929,35.8104,862.5,36.4258,862.7366,36.4258,862.4393,43.776,862.3809,51.1263,862.5793,58.4766,862.2685,65.8268,862.5,73.1771,862.3335,73.1081,862.4641,73.8526,862.1516,74.4135,862.0034,75.0424,861.4205,75.4913,861.2796,76.1234,861.322,76.2258,860.7688,76.5568,860.0383,76.46,859.4991,76.8248,858.9393,77.1401,858.3333,77.3438,858.3333,78.0227,848.0263,77.3394,837.7193,77.8256,827.4123,76.7669,817.1053,76.6383,806.7982,77.8683,796.4912,76.5969,786.1842,77.8739,775.8772,77.559,765.5702,77.0647,755.2632,76.9752,744.9561,77.8216,734.6491,77.0319,724.3421,77.9603,714.0351,76.768,703.7281,77.9869,693.4211,77.8482,683.114,77.5989,672.807,77.3929,662.5,78.1006,652.193,77.9829,641.886,77.5201,631.5789,77.6231,621.2719,77.2081,610.9649,78.0901,600.6579,77.5051,590.3509,77.5235,580.0439,76.7101,569.7368,76.9216,559.4298,77.8966,549.1228,77.7914,538.8158,77.299,528.5088,77.0082,518.2018,77.1157,507.8947,76.629,497.5877,77.7758,487.2807,78.1141,476.9737,77.8921,466.6667,77.3438,466.759,77.5667,466.0592,77.0558,465.4997,76.8836,464.8474,76.4872,464.3474,76.4586,463.7204,76.1234,463.7995,76.1562,463.6535,75.6075,463.1586,74.9143,462.945,74.3377,462.8863,73.8253,462.5,73.1771,462.697,73.1771,462.322,65.8268,462.4327,58.4766,462.5518,51.1263,462.2879,43.776,462.5,36.4258,462.6134,36.4727,462.8268,35.8708,462.9558,35.2339,463.2779,34.6769,463.7101,34.1656,463.7204,33.4795,463.6788,33.3791,464.3515,33.3365,464.9369,33.083,465.5035,32.7844,466.0961,32.5484,466.6667,32.2591" style="stroke:#4D4D4D;stroke-width:1.0416666666666667;"/><text fill="#FFFFFF" font-family="Segoe Print" font-size="20.8333" lengthAdjust="spacing" textLength="372.9167" x="476.0417" y="62.0138">Sequence Diagram - sketchy theme</text><polygon fill="none" points="930.2083,88.8021,930.2083,89.021,940.4718,88.3705,950.7353,89.0034,960.9988,89.2184,971.2623,88.059,981.5257,88.7211,991.7892,88.3578,1002.0527,88.4026,1012.3162,88.7311,1022.5797,88.0819,1032.8431,89.3788,1043.1066,88.1455,1053.3701,88.5961,1063.6336,89.252,1073.8971,88.7127,1084.1605,88.8732,1094.424,88.7688,1104.6875,88.988,1114.951,89.0512,1125.2145,89.4122,1135.4779,89.5011,1145.7414,89.5096,1156.0049,89.0673,1166.2684,89.285,1176.5319,89.5336,1186.7953,88.0508,1197.0588,89.5089,1207.3223,88.4932,1217.5858,89.3581,1227.8493,88.2864,1238.1127,88.7307,1248.3762,89.5746,1258.6397,88.7513,1268.9032,88.9118,1279.1667,88.8021,1279.2117,88.9107,1279.8112,89.1797,1280.3447,89.289,1280.9726,89.6265,1281.4476,89.5948,1282.1129,90.0225,1282.2042,90.0603,1282.5329,90.6846,1282.7437,91.2601,1283.0418,91.8717,1282.9343,92.3153,1283.3333,92.9688,1282.654,92.9688,1282.686,103.3939,1283.272
@startuml
!$THEME = "sketchy"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
skinparam handwritten true
skinparam shadowing false
!$BLUE = "#007bff"
!$INDIGO = "#6610f2"
!$PURPLE = "#6f42c1"
!$PINK = "#e83e8c"
!$RED = "#dc3545"
!$ORANGE = "#fd7e14"
!$YELLOW = "#ffc107"
!$GREEN = "#28a745"
!$TEAL = "#20c997"
!$CYAN = "#17a2b8"
!$WHITE = "#ffffff"
!$GRAY = "#868e96"
!$GRAYDARK = "#333333"
!$PRIMARY = "#333333"
!$SECONDARY = "#555555"
!$SUCCESS = "#28a745"
!$INFO = "#17a2b8"
!$WARNING = "#ffc107"
!$DANGER = "#dc3545"
!$LIGHT = "#ffffff"
!$DARK = "#555555"
!$FGCOLOR = $WHITE
!$PRIMARY_DARK = "#2e2e2e"
!$PRIMARY_LIGHT = "#474747"
!$PRIMARY_TEXT = $WHITE
!$SECONDARY_DARK = "#4d4d4d"
!$SECONDARY_LIGHT = "#666666"
!$SECONDARY_TEXT = $WHITE
!$INFO_DARK = "#1592a6"
!$INFO_LIGHT = "#2eabbf"
!$INFO_TEXT = $WHITE
!$SUCCESS_DARK = "#24963e"
!$SUCCESS_LIGHT = "#3eb058"
!$SUCCESS_TEXT = $WHITE
!$WARNING_DARK = "#e6ae06"
!$WARNING_LIGHT = "#ffc720"
!$WARNING_TEXT = $WHITE
!$DANGER_DARK = "#c6303e"
!$DANGER_LIGHT = "#e04958"
!$DANGER_TEXT = $WHITE
!$DARK_DARK = "#4d4d4d"
!$DARK_LIGHT = "#666666"
!$LIGHT_DARK = "#e6e6e6"
!$LIGHT_LIGHT = "#ffffff"
!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
BackgroundColor $PRIMARY_LIGHT
!endprocedure
skinparam defaultFontName "Segoe Print"
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_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 $FGCOLOR
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
}
skinparam legend {
BackgroundColor $SECONDARY
BorderColor $SECONDARY_DARK
FontColor $LIGHT
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $FGCOLOR
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $SUCCESS
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $SECONDARY_LIGHT
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 $DARK
ReferenceHeaderFontColor $INFO
ReferenceHeaderBackgroundColor $SECONDARY
}
!endsub
!startsub partition
skinparam partition {
BorderColor $PRIMARY
FontColor $PRIMARY
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 $SECONDARY
BorderColor $LIGHT
FontColor $LIGHT
}
!endsub
!startsub cloud
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor $DARK
}
!endsub
!startsub database
skinparam database {
$primary_scheme()
}
!endsub
!startsub class
skinparam class {
$primary_scheme()
FontColor $FGCOLOR
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 $SECONDARY_LIGHT
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
BackgroundColor $SECONDARY
BorderColor $PRIMARY
FontColor $PRIMARY
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_DARK
BorderColor $LIGHT
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 handwritten true
skinparam shadowing false
skinparam defaultFontName "Segoe Print"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing false
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 5
skinparam ArrowColor #555555
skinparam stereotype {
CBackgroundColor #666666
CBorderColor #4d4d4d
ABackgroundColor #3eb058
ABorderColor #24963e
IBackgroundColor #e04958
IBorderColor #c6303e
EBackgroundColor #ffc720
EBorderColor #e6ae06
NBackgroundColor #2eabbf
NBorderColor #1592a6
}
skinparam title {
FontColor #ffffff
BorderColor #4d4d4d
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #666666-#555555
}
skinparam legend {
BackgroundColor #555555
BorderColor #4d4d4d
FontColor #ffffff
}
skinparam swimlane {
BorderColor #17a2b8
BorderThickness 2
TitleBackgroundColor #666666-#555555
TitleFontColor #ffffff
}
skinparam activity {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
BarColor #28a745
StartColor #17a2b8
EndColor #17a2b8
DiamondBackgroundColor #666666
DiamondBorderColor #4d4d4d
DiamondFontColor #ffffff
}
skinparam participant {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam arrow {
Thickness 3
Color #333333
FontColor #ffffff
}
skinparam sequence {
BorderColor #333333
TitleFontColor #333333
BackgroundColor transparent
StartColor #333333
EndColor #333333
BoxBackgroundColor transparent
BoxBorderColor #555555
BoxFontColor $DARk
LifeLineBorderColor #555555
LifeLineBorderThickness 2
LifeLineBackgroundColor #4d4d4d
GroupBorderColor #555555
GroupFontColor #555555
GroupHeaderFontColor #17a2b8
GroupBackgroundColor #555555
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #555555
DividerBorderColor #555555
DividerBorderThickness 2
DividerFontColor #ffffff
ReferenceBackgroundColor transparent
ReferenceBorderColor #555555
ReferenceFontColor #555555
ReferenceHeaderFontColor #17a2b8
ReferenceHeaderBackgroundColor #555555
}
skinparam partition {
BorderColor #333333
FontColor #333333
BackgroundColor transparent
}
skinparam collections {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam control {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam entity {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam boundary {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam agent {
BackgroundColor #ffc107
BorderColor #ffc720
FontColor #555555
}
skinparam note {
BorderThickness 1
BackgroundColor #17a2b8
BorderColor #1592a6
FontColor #ffffff
}
skinparam artifact {
BackgroundColor #555555
BorderColor #4d4d4d
FontColor #ffffff
}
skinparam component {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam interface {
BackgroundColor #c6303e
BorderColor #dc3545
FontColor #555555
}
skinparam storage {
BackgroundColor #ffc107
BorderColor #e6ae06
FontColor #ffffff
}
skinparam node {
BackgroundColor #555555
BorderColor #ffffff
FontColor #ffffff
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #555555
}
skinparam database {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam class {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
FontColor #ffffff
HeaderBackgroundColor #474747
StereotypeFontColor #555555
BorderThickness 1
AttributeFontColor #ffffff
AttributeFontSize 11
}
skinparam object {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
StereotypeFontColor #555555
BorderThickness 1
AttributeFontColor #ffffff
AttributeFontSize 11
}
skinparam usecase {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
BorderThickness 2
StereotypeFontColor #333333
}
skinparam rectangle {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
BackgroundColor #666666
BorderThickness 2
StereotypeFontColor #333333
}
skinparam package {
BackgroundColor #555555
BorderColor #333333
FontColor #333333
BorderThickness 2
}
skinparam folder {
BackgroundColor #666666
BorderColor #ffc107
FontColor #ffc107
BorderThickness 2
}
skinparam frame {
BackgroundColor #666666
BorderColor #17a2b8
FontColor #17a2b8
BorderThickness 2
}
skinparam state {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
StartColor #17a2b8
EndColor #17a2b8
AttributeFontColor #ffffff
AttributeFontSize 11
}
skinparam queue {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
skinparam card {
BackgroundColor #17a2b8
BorderColor #1592a6
FontColor #ffffff
}
skinparam file {
BackgroundColor #4d4d4d
BorderColor #ffffff
FontColor #ffffff
}
skinparam stack {
FontColor #ffffff
BorderColor #333333
BackgroundColor #474747
}
title Sequence Diagram - sketchy 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=#28a745><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=#dc3545><b>Bad request
group My own label
loop 1000 times
Alice -> Foo1: DNS Attack
end
end
else Just a Warning
Foo1 -> Alice: <font color=#ffc107><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>