diagram.svg 11.1 KB
<?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="556px" preserveAspectRatio="none" style="width:289px;height:556px;" version="1.1" viewBox="0 0 289 556" width="289px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ixqxrqxug2c6" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><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.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[0851f84a889f989e7bb0bebc385d0f09]
class Request--><rect fill="#FEFECE" filter="url(#f1ixqxrqxug2c6)" height="124.8281" id="Request" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="62" y="154"/><ellipse cx="109.75" cy="170" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M112.7188,175.6406 Q112.1406,175.9375 111.5,176.0859 Q110.8594,176.2344 110.1563,176.2344 Q107.6563,176.2344 106.3359,174.5859 Q105.0156,172.9375 105.0156,169.8125 Q105.0156,166.6875 106.3359,165.0313 Q107.6563,163.375 110.1563,163.375 Q110.8594,163.375 111.5078,163.5313 Q112.1563,163.6875 112.7188,163.9844 L112.7188,166.7031 Q112.0938,166.125 111.5,165.8516 Q110.9063,165.5781 110.2813,165.5781 Q108.9375,165.5781 108.25,166.6484 Q107.5625,167.7188 107.5625,169.8125 Q107.5625,171.9063 108.25,172.9766 Q108.9375,174.0469 110.2813,174.0469 Q110.9063,174.0469 111.5,173.7734 Q112.0938,173.5 112.7188,172.9219 L112.7188,175.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="52" x="130.25" y="174.1543">Request</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="63" x2="217" y1="186" y2="186"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="48" x="68" y="200.2104">platform</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="68" y="213.0151">userId</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="68" y="225.8198">message: Message</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="68" y="238.6245">history: Trace</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="68" y="251.4292">metadata: KeyValueStore</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="63" x2="217" y1="258.0234" y2="258.0234"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="68" y="272.2339">answer(): Response</text><!--MD5=[bea5b0d46523efab5ea1c1d339f396f0]
class Message--><rect fill="#FEFECE" filter="url(#f1ixqxrqxug2c6)" height="86.4141" id="Message" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="79" y="339"/><ellipse cx="109.3" cy="355" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M112.2688,360.6406 Q111.6906,360.9375 111.05,361.0859 Q110.4094,361.2344 109.7063,361.2344 Q107.2063,361.2344 105.8859,359.5859 Q104.5656,357.9375 104.5656,354.8125 Q104.5656,351.6875 105.8859,350.0313 Q107.2063,348.375 109.7063,348.375 Q110.4094,348.375 111.0578,348.5313 Q111.7063,348.6875 112.2688,348.9844 L112.2688,351.7031 Q111.6438,351.125 111.05,350.8516 Q110.4563,350.5781 109.8313,350.5781 Q108.4875,350.5781 107.8,351.6484 Q107.1125,352.7188 107.1125,354.8125 Q107.1125,356.9063 107.8,357.9766 Q108.4875,359.0469 109.8313,359.0469 Q110.4563,359.0469 111.05,358.7734 Q111.6438,358.5 112.2688,357.9219 L112.2688,360.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="126.7" y="359.1543">Message</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="80" x2="200" y1="371" y2="371"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="85" y="385.2104">id: unique</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="85" y="398.0151">evaluated: Meaning</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="80" x2="200" y1="404.6094" y2="404.6094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="85" y="418.8198">evaluate()</text><!--MD5=[62ba8ad8b61caf20139235a169a8c31d]
class Response--><rect fill="#FEFECE" filter="url(#f1ixqxrqxug2c6)" height="86.4141" id="Response" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="85" y="8"/><ellipse cx="107.2" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M110.1688,29.6406 Q109.5906,29.9375 108.95,30.0859 Q108.3094,30.2344 107.6063,30.2344 Q105.1063,30.2344 103.7859,28.5859 Q102.4656,26.9375 102.4656,23.8125 Q102.4656,20.6875 103.7859,19.0313 Q105.1063,17.375 107.6063,17.375 Q108.3094,17.375 108.9578,17.5313 Q109.6063,17.6875 110.1688,17.9844 L110.1688,20.7031 Q109.5438,20.125 108.95,19.8516 Q108.3563,19.5781 107.7313,19.5781 Q106.3875,19.5781 105.7,20.6484 Q105.0125,21.7188 105.0125,23.8125 Q105.0125,25.9063 105.7,26.9766 Q106.3875,28.0469 107.7313,28.0469 Q108.3563,28.0469 108.95,27.7734 Q109.5438,27.5 110.1688,26.9219 L110.1688,29.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="122.8" y="28.1543">Response</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="86" x2="194" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="91" y="54.2104">request: Request</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="91" y="67.0151">answer</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="79" x="91" y="79.8198">history: Trace</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="86" x2="194" y1="86.4141" y2="86.4141"/><!--MD5=[5756c407c546eb76320546df130f846f]
class TextMessage--><rect fill="#FEFECE" filter="url(#f1ixqxrqxug2c6)" height="60.8047" id="TextMessage" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="6" y="485"/><ellipse cx="21" cy="501" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,506.6406 Q23.3906,506.9375 22.75,507.0859 Q22.1094,507.2344 21.4063,507.2344 Q18.9063,507.2344 17.5859,505.5859 Q16.2656,503.9375 16.2656,500.8125 Q16.2656,497.6875 17.5859,496.0313 Q18.9063,494.375 21.4063,494.375 Q22.1094,494.375 22.7578,494.5313 Q23.4063,494.6875 23.9688,494.9844 L23.9688,497.7031 Q23.3438,497.125 22.75,496.8516 Q22.1563,496.5781 21.5313,496.5781 Q20.1875,496.5781 19.5,497.6484 Q18.8125,498.7188 18.8125,500.8125 Q18.8125,502.9063 19.5,503.9766 Q20.1875,505.0469 21.5313,505.0469 Q22.1563,505.0469 22.75,504.7734 Q23.3438,504.5 23.9688,503.9219 L23.9688,506.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="35" y="505.1543">TextMessage</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="119" y1="517" y2="517"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="42" x="12" y="531.2104">content</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="119" y1="537.8047" y2="537.8047"/><!--MD5=[f3b14c42bd846bb4f5d93c15ed046653]
class AudioMessage--><rect fill="#FEFECE" filter="url(#f1ixqxrqxug2c6)" height="60.8047" id="AudioMessage" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="155.5" y="485"/><ellipse cx="170.5" cy="501" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M173.4688,506.6406 Q172.8906,506.9375 172.25,507.0859 Q171.6094,507.2344 170.9063,507.2344 Q168.4063,507.2344 167.0859,505.5859 Q165.7656,503.9375 165.7656,500.8125 Q165.7656,497.6875 167.0859,496.0313 Q168.4063,494.375 170.9063,494.375 Q171.6094,494.375 172.2578,494.5313 Q172.9063,494.6875 173.4688,494.9844 L173.4688,497.7031 Q172.8438,497.125 172.25,496.8516 Q171.6563,496.5781 171.0313,496.5781 Q169.6875,496.5781 169,497.6484 Q168.3125,498.7188 168.3125,500.8125 Q168.3125,502.9063 169,503.9766 Q169.6875,505.0469 171.0313,505.0469 Q171.6563,505.0469 172.25,504.7734 Q172.8438,504.5 173.4688,503.9219 L173.4688,506.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="184.5" y="505.1543">AudioMessage</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="156.5" x2="277.5" y1="517" y2="517"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="161.5" y="531.2104">url</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="156.5" x2="277.5" y1="537.8047" y2="537.8047"/><!--MD5=[5af9a8e90eccd1848976d3e8d85364f2]
reverse link Request to Message--><path d="M140,292.556 C140,308.48 140,324.747 140,338.915 " fill="none" id="Request&lt;-Message" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="140,279.312,136,285.312,140,291.312,144,285.312,140,279.312" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a905890a09fc18570ecff8ed6529e96e]
link Response to Request--><path d="M140,94.105 C140,112.272 140,133.885 140,153.804 " fill="none" id="Response-Request" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6e305c8292983e4dba865e72ad2f2c9c]
reverse link Message to AudioMessage--><path d="M174.967,442.717 C183.502,457.2915 192.269,472.2651 199.574,484.7402 " fill="none" id="Message&lt;-AudioMessage" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="168.853,446.1273,164.787,425.331,180.934,439.053,168.853,446.1273" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[efc94696550a27b5ab0c1273fde348d9]
reverse link Message to TextMessage--><path d="M105.0328,442.717 C96.4985,457.2915 87.7307,472.2651 80.4259,484.7402 " fill="none" id="Message&lt;-TextMessage" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="99.0662,439.053,115.213,425.331,111.147,446.1273,99.0662,439.053" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bcb9645ba84ad722dd7f033385ef5f56]
@startuml
class Request {
platform
userId
message: Message
history: Trace
metadata: KeyValueStore
answer(): Response
}



class Message {
id: unique
evaluated: Meaning
evaluate()
}

Request *- - Message

Response - - Request


class Response {
request: Request
answer
history: Trace
}

class TextMessage {
content
}

class AudioMessage {
url
}

Message <|- - AudioMessage
Message <|- - TextMessage
@enduml

PlantUML version 1.2019.11(Sun Sep 22 10:02:15 UTC 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_212-8u212-b01-1~deb9u1-b01
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: null
--></g></svg>