demo_doc/puml/materia/sequence-ex.svg
2021-06-25 21:37:59 +08:00

908 lines
44 KiB
XML

<?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="1762.5px" preserveAspectRatio="none" style="width:1491px;height:1762px;background:#00000000;" version="1.1" viewBox="0 0 1491 1762" width="1491.6667px" zoomAndPan="magnify"><defs><linearGradient id="g1dlgih1cvx8by0" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#FFFFFF"/><stop offset="100%" stop-color="#FFFFFF"/></linearGradient><filter height="300%" id="f1dlgih1cvx8by" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0833333333333335"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.166666666666667" dy="4.166666666666667" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter><linearGradient id="g1dlgih1cvx8by1" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#4DABF5"/><stop offset="100%" stop-color="#2196F3"/></linearGradient><linearGradient id="g1dlgih1cvx8by2" x1="50%" x2="50%" y1="0%" y2="100%"><stop offset="0%" stop-color="#B052C0"/><stop offset="100%" stop-color="#9C27B0"/></linearGradient></defs><g><rect fill="url(#g1dlgih1cvx8by0)" height="56.5694" rx="4.1667" ry="4.1667" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" width="414.5833" x="534.375" y="32.9"/><text fill="#2196F3" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="377.0833" x="553.125" y="69.4702">Sequence Diagram - materia theme</text><rect fill="none" height="1636.3078" rx="4.1667" ry="4.1667" style="stroke:#666666;stroke-width:1.0416666666666667;" width="385.4167" x="1056.25" y="100.9277"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="111.4583" x="1193.2292" y="123.9115">Internal Service</text><rect fill="#FFFFFF" filter="url(#f1dlgih1cvx8by)" height="267.1916" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" width="10.4167" x="435.9375" y="406.661"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="70.8333" x2="70.8333" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="70.8333" x2="70.8333" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="70.8333" x2="70.8333" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="264.5833" x2="264.5833" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="264.5833" x2="264.5833" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="264.5833" x2="264.5833" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="440.625" x2="440.625" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="440.625" x2="440.625" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="440.625" x2="440.625" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="614.5833" x2="614.5833" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="614.5833" x2="614.5833" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="614.5833" x2="614.5833" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="808.3333" x2="808.3333" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="808.3333" x2="808.3333" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="808.3333" x2="808.3333" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="928.125" x2="928.125" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="928.125" x2="928.125" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="928.125" x2="928.125" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="1134.375" x2="1134.375" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="1134.375" x2="1134.375" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="1134.375" x2="1134.375" y1="785.4858" y2="1628.2939"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="1328.125" x2="1328.125" y1="212.1277" y2="720.2942"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;stroke-dasharray:1.0,4.0;" x1="1328.125" x2="1328.125" y1="720.2942" y2="785.4858"/><line style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" x1="1328.125" x2="1328.125" y1="785.4858" y2="1628.2939"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="52.0833" y="199.0865">Foo1</text><ellipse cx="71.3542" cy="116.7277" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="8.3333" ry="8.3333" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><path d="M71.3542,125.061 L71.3542,153.186 M57.8125,133.3944 L84.8958,133.3944 M71.3542,153.186 L57.8125,168.811 M71.3542,153.186 L84.8958,168.811 " fill="none" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="52.0833" y="1650.236">Foo1</text><ellipse cx="71.3542" cy="1673.6938" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="8.3333" ry="8.3333" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><path d="M71.3542,1682.0272 L71.3542,1710.1522 M57.8125,1690.3605 L84.8958,1690.3605 M71.3542,1710.1522 L57.8125,1725.7772 M71.3542,1710.1522 L84.8958,1725.7772 " fill="none" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="245.8333" y="199.0865">Foo2</text><path d="M243.75,146.936 L243.75,171.936 M243.75,159.436 L261.4583,159.436 " fill="none" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><ellipse cx="273.9583" cy="159.436" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="245.8333" y="1650.236">Foo2</text><path d="M243.75,1667.4438 L243.75,1692.4438 M243.75,1679.9438 L261.4583,1679.9438 " fill="none" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><ellipse cx="273.9583" cy="1679.9438" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="421.875" y="199.0865">Foo3</text><ellipse cx="441.1458" cy="159.436" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><polygon fill="#2196F3" points="436.9792,146.936,443.2292,141.7277,441.1458,146.936,443.2292,152.1444,436.9792,146.936" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="421.875" y="1650.236">Foo3</text><ellipse cx="441.1458" cy="1679.9438" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><polygon fill="#2196F3" points="436.9792,1667.4438,443.2292,1662.2355,441.1458,1667.4438,443.2292,1672.6522,436.9792,1667.4438" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="595.8333" y="199.0865">Foo4</text><ellipse cx="615.1042" cy="159.436" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><line style="stroke:#2196F3;stroke-width:2.0833333333333335;" x1="602.6042" x2="627.6042" y1="174.0194" y2="174.0194"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="595.8333" y="1650.236">Foo4</text><ellipse cx="615.1042" cy="1679.9438" fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" rx="12.5" ry="12.5" style="stroke:#2196F3;stroke-width:2.0833333333333335;"/><line style="stroke:#2196F3;stroke-width:2.0833333333333335;" x1="602.6042" x2="627.6042" y1="1694.5272" y2="1694.5272"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="789.5833" y="199.0865">Foo5</text><path d="M790.1042,138.6027 C790.1042,128.186 808.8542,128.186 808.8542,128.186 C808.8542,128.186 827.6042,128.186 827.6042,138.6027 L827.6042,165.686 C827.6042,176.1027 808.8542,176.1027 808.8542,176.1027 C808.8542,176.1027 790.1042,176.1027 790.1042,165.686 L790.1042,138.6027 " fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:1.5625;"/><path d="M790.1042,138.6027 C790.1042,149.0194 808.8542,149.0194 808.8542,149.0194 C808.8542,149.0194 827.6042,149.0194 827.6042,138.6027 " fill="none" style="stroke:#2196F3;stroke-width:1.5625;"/><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="789.5833" y="1650.236">Foo5</text><path d="M790.1042,1673.6938 C790.1042,1663.2772 808.8542,1663.2772 808.8542,1663.2772 C808.8542,1663.2772 827.6042,1663.2772 827.6042,1673.6938 L827.6042,1700.7772 C827.6042,1711.1938 808.8542,1711.1938 808.8542,1711.1938 C808.8542,1711.1938 790.1042,1711.1938 790.1042,1700.7772 L790.1042,1673.6938 " fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" style="stroke:#2196F3;stroke-width:1.5625;"/><path d="M790.1042,1673.6938 C790.1042,1684.1105 808.8542,1684.1105 808.8542,1684.1105 C808.8542,1684.1105 827.6042,1684.1105 827.6042,1673.6938 " fill="none" style="stroke:#2196F3;stroke-width:1.5625;"/><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="67.7083" x="894.7917" y="152.1444"/><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="67.7083" x="890.625" y="156.311"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="908.3333" y="186.5865">Foo6</text><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="67.7083" x="894.7917" y="1627.2522"/><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="67.7083" x="890.625" y="1631.4189"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="32.2917" x="908.3333" y="1661.6943">Foo6</text><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="60.4167" x="1102.0833" y="156.311"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="25" x="1119.7917" y="186.5865">Bob</text><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="50.6083" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="60.4167" x="1102.0833" y="1627.2522"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="25" x="1119.7917" y="1657.5277">Bob</text><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="65.8" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="131.25" x="1260.4167" y="141.1194"/><ellipse cx="1278.125" cy="158.8277" fill="#ADD1B2" rx="10.4167" ry="10.4167" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><path d="M1280.0293,163.2548 Q1279.6061,163.4664 1279.1341,163.5803 Q1278.6621,163.6943 1278.1576,163.6943 Q1276.3021,163.6943 1275.3255,162.4898 Q1274.3652,161.2691 1274.3652,158.9742 Q1274.3652,156.663 1275.3255,155.4586 Q1276.3021,154.2379 1278.1576,154.2379 Q1278.6621,154.2379 1279.1341,154.3518 Q1279.6224,154.4495 1280.0293,154.6773 L1280.0293,156.6793 Q1279.5736,156.2561 1279.1341,156.0608 Q1278.6947,155.8492 1278.2389,155.8492 Q1277.2461,155.8492 1276.7415,156.6467 Q1276.237,157.428 1276.237,158.9742 Q1276.237,160.5042 1276.7415,161.2854 Q1277.2461,162.0667 1278.2389,162.0667 Q1278.6947,162.0667 1279.1341,161.8713 Q1279.5736,161.676 1280.0293,161.2528 L1280.0293,163.2548 Z " fill="#FFFFFF"/><text fill="#000000" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="68.75" x="1305.2083" y="171.3949">«Testable»</text><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="29.1667" x="1325" y="186.5865">Alice</text><rect fill="url(#g1dlgih1cvx8by1)" filter="url(#f1dlgih1cvx8by)" height="65.8" rx="4.1667" ry="4.1667" style="stroke:#2196F3;stroke-width:1.5625;" width="131.25" x="1260.4167" y="1627.2522"/><ellipse cx="1278.125" cy="1644.9605" fill="#ADD1B2" rx="10.4167" ry="10.4167" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><path d="M1280.0293,1649.3876 Q1279.6061,1649.5992 1279.1341,1649.7131 Q1278.6621,1649.8271 1278.1576,1649.8271 Q1276.3021,1649.8271 1275.3255,1648.6226 Q1274.3652,1647.4019 1274.3652,1645.107 Q1274.3652,1642.7958 1275.3255,1641.5914 Q1276.3021,1640.3707 1278.1576,1640.3707 Q1278.6621,1640.3707 1279.1341,1640.4846 Q1279.6224,1640.5823 1280.0293,1640.8101 L1280.0293,1642.8121 Q1279.5736,1642.3889 1279.1341,1642.1936 Q1278.6947,1641.982 1278.2389,1641.982 Q1277.2461,1641.982 1276.7415,1642.7795 Q1276.237,1643.5608 1276.237,1645.107 Q1276.237,1646.637 1276.7415,1647.4182 Q1277.2461,1648.1995 1278.2389,1648.1995 Q1278.6947,1648.1995 1279.1341,1648.0042 Q1279.5736,1647.8088 1280.0293,1647.3857 L1280.0293,1649.3876 Z " fill="#FFFFFF"/><text fill="#000000" font-family="Verdana" font-size="12.5" font-style="italic" lengthAdjust="spacing" textLength="68.75" x="1305.2083" y="1657.5277">«Testable»</text><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="29.1667" x="1325" y="1672.7193">Alice</text><rect fill="#FFFFFF" filter="url(#f1dlgih1cvx8by)" height="267.1916" style="stroke:#CCCCCC;stroke-width:1.0416666666666667;" width="10.4167" x="435.9375" y="406.661"/><rect fill="url(#g1dlgih1cvx8by0)" filter="url(#f1dlgih1cvx8by)" height="3.125" style="stroke:url(#g1dlgih1cvx8by0);stroke-width:1.0416666666666667;" width="1484.375" x="0" y="254.0985"/><line style="stroke:#666666;stroke-width:1.0416666666666667;" x1="0" x2="1484.375" y1="254.0985" y2="254.0985"/><line style="stroke:#666666;stroke-width:1.0416666666666667;" x1="0" x2="1484.375" y1="257.2235" y2="257.2235"/><rect fill="url(#g1dlgih1cvx8by0)" filter="url(#f1dlgih1cvx8by)" height="44.3583" style="stroke:#666666;stroke-width:2.0833333333333335;" width="126.0417" x="679.1667" y="232.961"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="86.4583" x="695.8333" y="260.1115">Initialization</text><polygon fill="#2196F3" points="252.6042,325.8443,263.0208,330.011,252.6042,334.1777,256.7708,330.011" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="71.3542" x2="258.8542" y1="330.011" y2="330.011"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="89.0625" y="314.8865">[001]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="82.2917" x="154.6875" y="314.8865">To boundary</text><polygon fill="#2196F3" points="423.4375,402.4943,433.8542,406.661,423.4375,410.8276,427.6042,406.661" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="265.1042" x2="429.6875" y1="406.661" y2="406.661"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="282.8125" y="391.5365">[002]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="64.5833" x="348.4375" y="391.5365">To control</text><rect filter="url(#f1dlgih1cvx8by)" height="97.6583" style="stroke:#666666;stroke-width:2.0833333333333335;fill:none;" width="255.2083" x="582.2917" y="414.9943"/><polygon fill="#EEEEEE" points="582.2917,414.9943,669.7917,414.9943,669.7917,442.0776,659.375,452.4943,582.2917,452.4943,582.2917,414.9943" style="stroke:#666666;stroke-width:2.0833333333333335;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="19.7917" x="606.25" y="440.0614">ref</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="94.7917" x="664.5833" y="479.6448">This can be on</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="82.2917" x="664.5833" y="494.8364">several lines</text><polygon fill="#2196F3" points="602.6042,555.9692,613.0208,560.1359,602.6042,564.3026,606.7708,560.1359" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="446.3542" x2="608.8542" y1="560.1359" y2="560.1359"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="464.0625" y="545.0114">[003]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="57.2917" x="529.6875" y="545.0114">To entity</text><polygon fill="#2196F3" points="796.3542,606.5776,806.7708,610.7442,796.3542,614.9109,800.5208,610.7442" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="615.1042" x2="802.6042" y1="610.7442" y2="610.7442"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="632.8125" y="595.6197">[004]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="82.2917" x="698.4375" y="595.6197">To database</text><polygon fill="#2196F3" points="457.8125,619.0776,447.3958,623.2442,457.8125,627.4109,453.6458,623.2442" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:2.0,2.0;" x1="451.5625" x2="807.8125" y1="623.2442" y2="623.2442"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="474.4792" y="647.2697">[005]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="40.625" x="540.1042" y="647.2697">return</text><polygon fill="#2196F3" points="276.5625,669.6859,266.1458,673.8525,276.5625,678.0192,272.3958,673.8525" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:2.0,2.0;" x1="270.3125" x2="440.1042" y1="673.8525" y2="673.8525"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="293.2292" y="697.878">[006]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="40.625" x="358.8542" y="697.878">return</text><text fill="#000000" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="36.4583" x="645.5729" y="757.8613">Some</text><text fill="#000000" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="67.7083" x="686.1979" y="757.8613">long delay</text><text fill="#000000" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="0" x="758.0729" y="757.8613"/><polygon fill="#2196F3" points="916.1458,823.5942,926.5625,827.7608,916.1458,831.9275,920.3125,827.7608" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="71.3542" x2="922.3958" y1="827.7608" y2="827.7608"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="89.0625" y="812.6363">[007]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="87.5" x="154.6875" y="812.6363">To collections</text><polygon fill="#2196F3" points="626.5625,836.0942,616.1458,840.2608,626.5625,844.4275,622.3958,840.2608" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:2.0,2.0;" x1="620.3125" x2="927.6042" y1="840.2608" y2="840.2608"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="643.2292" y="864.2863">[008]</text><text fill="#4CAF50" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="53.125" x="708.8542" y="864.2863">success</text><path d="M14.5833,893.9941 L100,893.9941 L100,921.0775 L89.5833,931.4941 L10.4167,931.4941 L10.4167,898.1608 " style="stroke:#666666;stroke-width:1.0416666666666667;fill:none;"/><rect fill="none" height="625.1831" rx="4.1667" ry="4.1667" style="stroke:#666666;stroke-width:2.0833333333333335;" width="1458.3333" x="10.4167" y="893.9941"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="17.7083" x="36.4583" y="918.0196">alt</text><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="118.75" x="126.0417" y="919.0613">[successful case]</text><polygon fill="#2196F3" points="1315.625,990.6108,1326.0417,994.7774,1315.625,998.9441,1319.7917,994.7774" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="71.3542" x2="1321.875" y1="994.7774" y2="994.7774"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="89.0625" y="979.6529">[009]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="158.3333" x="154.6875" y="979.6529">Authentication Accepted</text><polygon fill="#2196F3" points="82.8125,1003.1108,72.3958,1007.2774,82.8125,1011.4441,78.6458,1007.2774" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:2.0,2.0;" x1="76.5625" x2="1327.0833" y1="1007.2774" y2="1007.2774"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="99.4792" y="1031.3029">[010]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="51.0417" x="165.1042" y="1031.3029">success</text><path d="M1161.4583,1063.0941 L1161.4583,1100.5941 A4.1667,4.1667 0 0 0 1165.625,1104.7607 L1314.5833,1104.7607 A4.1667,4.1667 0 0 0 1318.75,1100.5941 L1318.75,1069.3441 L1308.3333,1058.9274 L1165.625,1058.9274 A4.1667,4.1667 0 0 0 1161.4583,1063.0941 " fill="url(#g1dlgih1cvx8by2)" filter="url(#f1dlgih1cvx8by)" style="stroke:#9C27B0;stroke-width:1.0416666666666667;"/><path d="M1308.3333,1058.9274 L1308.3333,1067.2607 A2.0833,2.0833 0 0 0 1310.4167,1069.3441 L1318.75,1069.3441 L1308.3333,1058.9274 " fill="url(#g1dlgih1cvx8by2)" style="stroke:#9C27B0;stroke-width:1.0416666666666667;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="114.5833" x="1178.125" y="1087.1195">this is a first note</text><line style="stroke:#666666;stroke-width:1.0416666666666667;stroke-dasharray:2.0,2.0;" x1="10.4167" x2="1468.75" y1="1115.7857" y2="1115.7857"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="148.9583" x="26.0417" y="1138.7695">[some kind of failure]</text><polygon fill="#2196F3" points="1315.625,1190.9607,1326.0417,1195.1274,1315.625,1199.294,1319.7917,1195.1274" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="71.3542" x2="1321.875" y1="1195.1274" y2="1195.1274"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="89.0625" y="1180.0028">[011]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="142.7083" x="154.6875" y="1180.0028">Authentication Failure</text><polygon fill="#2196F3" points="82.8125,1203.4607,72.3958,1207.6274,82.8125,1211.794,78.6458,1207.6274" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;stroke-dasharray:2.0,2.0;" x1="76.5625" x2="1327.0833" y1="1207.6274" y2="1207.6274"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="99.4792" y="1231.6528">[012]</text><text fill="#E51C23" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="82.2917" x="165.1042" y="1231.6528">Bad request</text><path d="M25,1261.3607 L179.1667,1261.3607 L179.1667,1288.444 L168.75,1298.8607 L20.8333,1298.8607 L20.8333,1265.5273 " style="stroke:#666666;stroke-width:1.0416666666666667;fill:none;"/><rect fill="none" height="161.8083" rx="4.1667" ry="4.1667" style="stroke:#666666;stroke-width:2.0833333333333335;" width="1437.5" x="20.8333" y="1261.3607"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="90.625" x="46.875" y="1285.3861">My own label</text><path d="M35.4167,1306.7607 L128.125,1306.7607 L128.125,1333.844 L117.7083,1344.2607 L31.25,1344.2607 L31.25,1310.9273 " style="stroke:#666666;stroke-width:1.0416666666666667;fill:none;"/><rect fill="none" height="109.1166" rx="4.1667" ry="4.1667" style="stroke:#666666;stroke-width:2.0833333333333335;" width="1416.6667" x="31.25" y="1306.7607"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="29.1667" x="57.2917" y="1330.7861">loop</text><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="91.6667" x="154.1667" y="1331.8278">[1000 times]</text><polygon fill="#2196F3" points="82.8125,1365.269,72.3958,1369.4356,82.8125,1373.6023,78.6458,1369.4356" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="76.5625" x2="1327.0833" y1="1369.4356" y2="1369.4356"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="99.4792" y="1393.4611">[013]</text><text fill="#222222" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="71.875" x="165.1042" y="1393.4611">DNS Attack</text><line style="stroke:#666666;stroke-width:1.0416666666666667;stroke-dasharray:2.0,2.0;" x1="10.4167" x2="1468.75" y1="1431.5023" y2="1431.5023"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="115.625" x="26.0417" y="1454.4861">[Just a Warning]</text><polygon fill="#2196F3" points="1315.625,1506.6772,1326.0417,1510.8439,1315.625,1515.0106,1319.7917,1510.8439" style="stroke:#2196F3;stroke-width:1.0416666666666667;"/><line style="stroke:#2196F3;stroke-width:3.125;" x1="71.3542" x2="1321.875" y1="1510.8439" y2="1510.8439"/><text fill="#222222" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="40.625" x="89.0625" y="1495.7194">[014]</text><text fill="#FF9800" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="94.7917" x="154.6875" y="1495.7194">Please repeat</text><path d="M43.75,1535.8439 L43.75,1603.5522 A4.1667,4.1667 0 0 0 47.9167,1607.7189 L287.5,1607.7189 A4.1667,4.1667 0 0 0 291.6667,1603.5522 L291.6667,1542.0939 L281.25,1531.6772 L47.9167,1531.6772 A4.1667,4.1667 0 0 0 43.75,1535.8439 " fill="url(#g1dlgih1cvx8by2)" filter="url(#f1dlgih1cvx8by)" style="stroke:#9C27B0;stroke-width:1.0416666666666667;"/><path d="M281.25,1531.6772 L281.25,1540.0106 A2.0833,2.0833 0 0 0 283.3333,1542.0939 L291.6667,1542.0939 L281.25,1531.6772 " fill="url(#g1dlgih1cvx8by2)" style="stroke:#9C27B0;stroke-width:1.0416666666666667;"/><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="136.4583" x="92.7083" y="1559.8694">this is a second note</text><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="81.25" x="92.7083" y="1575.061">that is really</text><text fill="#FFFFFF" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="28.125" x="92.7083" y="1590.2527">long</text><text fill="#888888" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="85.4167" x="1398.9583" y="17.7755">Page Header</text><text fill="#888888" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="75" x="704.6875" y="1753.9693">Page 1 of 1</text><!--MD5=[8611a604358bf176bb2829e8adeb96ec]
@startuml
!$THEME = "materia"
!if %not(%variable_exists("$BGCOLOR"))
!$BGCOLOR = "transparent"
!endif
skinparam backgroundColor $BGCOLOR
skinparam useBetaStyle false
!$BLUE = "#2196F3"
!$INDIGO = "#6610f2"
!$PURPLE = "#6f42c1"
!$PINK = "#e83e8c"
!$RED = "#e51c23"
!$ORANGE = "#fd7e14"
!$YELLOW = "#ff9800"
!$GREEN = "#4CAF50"
!$TEAL = "#20c997"
!$CYAN = "#9C27B0"
!$WHITE = "#FFF"
!$GRAY_DARK = "#222"
!$GRAY = "#666"
!$PRIMARY = "#2196F3"
!$SECONDARY = "#fff"
!$SUCCESS = "#4CAF50"
!$INFO = "#9C27B0"
!$WARNING = "#ff9800"
!$DANGER = "#e51c23"
!$LIGHT = "#fff"
!$DARK = "#222"
!$FGCOLOR = $DARK
!$PRIMARY_LIGHT = "#4dabf5"
!$PRIMARY_DARK = "#1a78c2"
!$PRIMARY_TEXT = $WHITE
!$SECONDARY_LIGHT = "#fff"
!$SECONDARY_DARK = "#cccccc"
!$SECONDARY_TEXT = $DARK
!$INFO_LIGHT = "#b052c0"
!$INFO_DARK = "#7D1F8D"
!$INFO_TEXT = $WHITE
!$SUCCESS_LIGHT = "#70bf73"
!$SUCCESS_DARK = "#3D8C40"
!$SUCCESS_TEXT = $WHITE
!$WARNING_LIGHT = "#ffad33"
!$WARNING_DARK = "#CC7A00"
!$WARNING_TEXT = $WHITE
!$DANGER_DARK = "#b7161c"
!$DANGER_LIGHT = "#B7161C"
!$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
BackgroundColor $PRIMARY_LIGHT-$PRIMARY
!endprocedure
skinparam defaultFontName "Verdana"
skinparam defaultFontSize 12
skinparam dpi 100
skinparam shadowing true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
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 $PRIMARY
BorderColor $SECONDARY_DARK
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
}
skinparam legend {
BackgroundColor $SECONDARY
BorderColor $SECONDARY_DARK
FontColor $DARK
}
!startsub swimlane
skinparam swimlane {
BorderColor $INFO
BorderThickness 2
TitleBackgroundColor $SECONDARY_LIGHT-$SECONDARY
TitleFontColor $PRIMARY
}
!endsub
!startsub activity
skinparam activity {
$primary_scheme()
BarColor $SUCCESS
StartColor $INFO
EndColor $INFO
DiamondBackgroundColor $WHITE-$SECONDARY_LIGHT
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 $PRIMARY
BackgroundColor transparent
StartColor $PRIMARY
EndColor $PRIMARY
BoxBackgroundColor $BGCOLOR
BoxBorderColor $GRAY
BoxFontColor $DARK
LifeLineBorderColor $SECONDARY_DARK
LifeLineBorderThickness 2
LifeLineBackgroundColor $SECONDARY_LIGHT
GroupBorderColor $GRAY
GroupFontColor $DARK
GroupHeaderFontColor $INFO_TEXT
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
BackgroundColor transparent
}
!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 $INFO_LIGHT-$INFO
BorderColor $INFO
FontColor $WHITE
}
!endsub
!startsub artifact
skinparam artifact {
BackgroundColor $WHITE-$LIGHT
BorderColor $GRAY
FontColor $GRAY
}
!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
BorderColor $WARNING
FontColor $WARNING_TEXT
}
!endsub
!startsub node
skinparam node {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $DARK
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-$PRIMARY_DARK
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 {
FontColor $PRIMARY
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderThickness 2
StereotypeFontColor $PRIMARY
}
!endsub
!startsub package
skinparam package {
$primary_scheme()
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderThickness 2
}
!endsub
!startsub folder
skinparam folder {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $WARNING
FontColor $WARNING
BorderThickness 2
}
!endsub
!startsub frame
skinparam frame {
BackgroundColor $WHITE-$SECONDARY_LIGHT
BorderColor $INFO
FontColor $INFO
BorderThickness 2
}
!endsub
!startsub state
skinparam state {
$primary_scheme()
BorderColor $PRIMARY_DARK
StartColor $INFO
EndColor $INFO
AttributeFontColor $SECONDARY_TEXT
AttributeFontSize 11
}
!endsub
!startsub queue
skinparam queue {
$primary_scheme()
}
!endsub
!startsub card
skinparam card {
BackgroundColor $INFO_LIGHT-$INFO
BorderColor $INFO
FontColor $INFO_TEXT
}
!endsub
!startsub file
skinparam file {
BackgroundColor $SECONDARY_LIGHT-$SECONDARY
BorderColor $GRAY
FontColor $GRAY
}
!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 true
skinparam roundcorner 8
skinparam ParticipantPadding 40
skinparam BoxPadding 40
skinparam Padding 10
skinparam ArrowColor #666
skinparam stereotype {
CBackgroundColor #fff
CBorderColor #cccccc
ABackgroundColor #70bf73
ABorderColor #3D8C40
IBackgroundColor #B7161C
IBorderColor #b7161c
EBackgroundColor #ffad33
EBorderColor #CC7A00
NBackgroundColor #b052c0
NBorderColor #7D1F8D
}
skinparam title {
FontColor #2196F3
BorderColor #cccccc
FontSize 20
BorderRoundCorner 8
BorderThickness 1
BackgroundColor #fff-#fff
}
skinparam legend {
BackgroundColor #fff
BorderColor #cccccc
FontColor #222
}
skinparam swimlane {
BorderColor #9C27B0
BorderThickness 2
TitleBackgroundColor #fff-#fff
TitleFontColor #2196F3
}
skinparam activity {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BarColor #4CAF50
StartColor #9C27B0
EndColor #9C27B0
DiamondBackgroundColor #FFF-#fff
DiamondBorderColor #cccccc
DiamondFontColor #222
}
skinparam participant {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
ParticipantBorderThickness 2
}
skinparam actor {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam arrow {
Thickness 3
Color #2196F3
FontColor #222
}
skinparam sequence {
BorderColor #2196F3
TitleFontColor #2196F3
BackgroundColor transparent
StartColor #2196F3
EndColor #2196F3
BoxBackgroundColor transparent
BoxBorderColor #666
BoxFontColor #222
LifeLineBorderColor #cccccc
LifeLineBorderThickness 2
LifeLineBackgroundColor #fff
GroupBorderColor #666
GroupFontColor #222
GroupHeaderFontColor #FFF
GroupBackgroundColor transparent
GroupBodyBackgroundColor transparent
GroupHeaderBackgroundColor transparent
DividerBackgroundColor #FFF-#fff
DividerBorderColor #666
DividerBorderThickness 2
DividerFontColor #222
ReferenceBackgroundColor transparent
ReferenceBorderColor #666
ReferenceFontColor #222
ReferenceHeaderFontColor #9C27B0
}
skinparam partition {
BorderColor #2196F3
FontColor #2196F3
BackgroundColor transparent
}
skinparam collections {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam control {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam entity {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam boundary {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam agent {
BackgroundColor #orange
BorderColor #999999
FontColor #333333
}
skinparam note {
BorderThickness 1
BackgroundColor #b052c0-#9C27B0
BorderColor #9C27B0
FontColor #FFF
}
skinparam artifact {
BackgroundColor #FFF-#fff
BorderColor #666
FontColor #666
}
skinparam component {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam interface {
BackgroundColor #B7161C
BorderColor #e51c23
FontColor #222
}
skinparam storage {
BackgroundColor #ffad33-#ff9800
BorderColor #ff9800
FontColor #FFF
}
skinparam node {
BackgroundColor #fff-#fff
BorderColor #222
FontColor #222
}
skinparam cloud {
BackgroundColor transparent
BorderColor #F2FCFE
FontColor #222
}
skinparam database {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
FontColor #222
}
skinparam class {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
HeaderBackgroundColor #2196F3-#1a78c2
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #fff
AttributeFontSize 11
}
skinparam object {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
StereotypeFontColor #222
BorderThickness 1
AttributeFontColor #222
AttributeFontSize 11
}
skinparam usecase {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam rectangle {
FontColor #2196F3
BackgroundColor #fff-#fff
BorderThickness 2
StereotypeFontColor #2196F3
}
skinparam package {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BackgroundColor #fff-#fff
BorderThickness 2
}
skinparam folder {
BackgroundColor #FFF-#fff
BorderColor #ff9800
FontColor #ff9800
BorderThickness 2
}
skinparam frame {
BackgroundColor #FFF-#fff
BorderColor #9C27B0
FontColor #9C27B0
BorderThickness 2
}
skinparam state {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
BorderColor #1a78c2
StartColor #9C27B0
EndColor #9C27B0
AttributeFontColor #222
AttributeFontSize 11
}
skinparam queue {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
skinparam card {
BackgroundColor #b052c0-#9C27B0
BorderColor #9C27B0
FontColor #FFF
}
skinparam file {
BackgroundColor #fff-#fff
BorderColor #666
FontColor #666
}
skinparam stack {
FontColor #FFF
BorderColor #2196F3
BackgroundColor #4dabf5-#2196F3
}
title Sequence Diagram - materia 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=#4CAF50><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=#e51c23><b>Bad request
group My own label
loop 1000 times
Alice -> Foo1: DNS Attack
end
end
else Just a Warning
Foo1 -> Alice: <font color=#ff9800><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>