mirror of
https://github.com/davidalves04/Trabalho-Pratico-SD.git
synced 2025-12-08 20:43:32 +00:00
178 lines
19 KiB
Plaintext
178 lines
19 KiB
Plaintext
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:145.0) Gecko/20100101 Firefox/145.0" version="29.2.6">
|
|
<diagram name="Arquitetura SD" id="QKeTeUWuUs8JeLsq44d-">
|
|
<mxGraphModel dx="891" dy="484" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
|
<root>
|
|
<mxCell id="0" />
|
|
<mxCell id="1" parent="0" />
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-27" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;fillColor=#fff2cc;strokeColor=#d6b656;spacing=10;fontColor=#000000;" value="<b>MessageProtocol</b><hr>interface:<br>• getType()<br>• getPayload()<br>• getSourceNode()<br>• getDestinationNode()" vertex="1">
|
|
<mxGeometry height="120" width="180" x="30" y="30" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-28" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;fillColor=#fff2cc;strokeColor=#d6b656;spacing=10;fontColor=#000000;" value="<font style="color: rgb(0, 0, 0);"><b style="background-color: transparent;">Tipos de Mensagens</b><br></font><hr style="background-color: transparent;"><font style="color: rgb(0, 0, 0);"><span style="background-color: transparent;">• VEHICLE_TRANSFER</span><br><span style="background-color: transparent;">• VEHICLE_SPAWN</span><br><span style="background-color: transparent;">• STATS_UPDATE</span><br><span style="background-color: transparent;">•</span><span style="background-color: transparent;">&nbsp;</span><span style="background-color: transparent;">SIMULATION_START</span><br><span style="background-color: transparent;">•</span><span style="background-color: transparent;">&nbsp;</span><span style="background-color: transparent;">SHUTDOWN</span><br><span style="background-color: transparent;">•</span><span style="background-color: transparent;">&nbsp;</span><span style="background-color: transparent;">ROUTING_POLICY_CHANGE</span></font>" vertex="1">
|
|
<mxGeometry height="130" width="200" x="20" y="170" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-26" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;verticalAlign=top;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;spacing=10;" value="<b>LEGENDA</b><hr>━━━► Comunicação síncrona<br>╌╌╌► Comunicação periódica<br><br><b>Cores:</b><br>🔵 Azul =&nbsp;<span style="background-color: transparent;">Criação do veículo</span><div>🟢 Verde = Transferência do veículo<br>🟠 Laranja = Chegada ao destino<br>🟣 Roxo =&nbsp;<span style="background-color: transparent;">Envio das estatísticas</span></div><div><br><b>Serialização:</b> JSON (Gson)<br><b>Protocolo:</b> TCP/IP</div>" vertex="1">
|
|
<mxGeometry height="220" width="220" x="10" y="320" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="L62mICw2ZrYi1D68OOFe-13" connectable="0" parent="1" style="group;strokeColor=light-dark(transparent,#CC6600);" value="" vertex="1">
|
|
<mxGeometry height="730" width="850" x="280" y="40" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-20" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;exitX=0.616;exitY=-0.011;exitDx=0;exitDy=0;entryX=0.661;entryY=-0.002;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" target="0K4eb2koB2xQ8duQ1-_a-8" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="99" y="122" />
|
|
<mxPoint x="793" y="122" />
|
|
</Array>
|
|
<mxPoint x="794" y="530" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-1" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>CoordinatorProcess</b><br>(Cliente Socket)<hr>• VehicleGenerator<br>• Modelo Poisson<br>• Liga a Cr1-Cr5" vertex="1">
|
|
<mxGeometry height="101.38888888888889" width="176.28318584070794" x="205.6637168141593" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-2" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>Cr1</b> (IntersectionProcess)<br><hr><div>• ServerSocket (8001)</div><div>• Eventos DES:&nbsp;</div><div>&nbsp; &nbsp;- Este</div><div>&nbsp; &nbsp;- Sul</div><div>• Fila Eventos (DES)</div><div>• ReentrantLock</div><div><div>• Objetos TrafficLight</div><div>• Pool Threads (I/O rede)</div></div><div><br></div>" vertex="1">
|
|
<mxGeometry height="162.22" width="160" y="162.22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-3" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>Cr2</b> (IntersectionProcess)<br><hr>• ServerSocket (8002)<br><div>• Eventos DES:&nbsp;</div><div>&nbsp; &nbsp;- Oeste</div><div>&nbsp; &nbsp;- Este</div><div>&nbsp; &nbsp;- Sul</div><div>• Fila Eventos (DES)</div><div>• ReentrantLock</div><div><div>• Objetos TrafficLight</div></div><div>• Pool Threads (I/O rede)</div>" vertex="1">
|
|
<mxGeometry height="177.78" width="162.3" x="227.7" y="162.22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-5" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>Cr4</b> (IntersectionProcess)<br><hr><div>• ServerSocket (8004)</div><div><div>• Eventos DES:&nbsp;</div><div>&nbsp; &nbsp;- Este</div><div>&nbsp; &nbsp;- Norte</div><div>• Fila Eventos (DES)<br>• ReentrantLock</div></div><div><div>• Objetos TrafficLight</div><div>• Pool Threads (I/O rede)</div></div>" vertex="1">
|
|
<mxGeometry height="163.33" width="160" y="486.67" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-6" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>Cr5</b> (IntersectionProcess)<br><hr>• ServerSocket (8005)<br><div><div><div>• Eventos DES:&nbsp;</div><div>&nbsp; &nbsp;- Norte</div><div>&nbsp; &nbsp;- Este</div><div>&nbsp; &nbsp;- Sul</div>• Fila Eventos (DES)<br>• ReentrantLock</div><div><div>• Objetos TrafficLight</div><div>• Pool Threads (I/O rede)</div></div></div>" vertex="1">
|
|
<mxGeometry height="173.33" width="169.65" x="220.35" y="486.67" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-7" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>ExitNode (S)</b><div><hr><div>• Server Socket (9001)<br>• Recebe veículos finais<br>• Calcula estatísticas:<br> - Tempo no sistema<br> - Tempo de espera<br> - Métricas por tipo<br>• Envia para o Dashboard</div></div>" vertex="1">
|
|
<mxGeometry height="172.36" width="154.6" x="464.07" y="476.53" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-8" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>DashboardServer</b><hr>• Server Socket (9000)<br><div>• Thread Pool (10 threads)<br>• ConcurrentHashMap<br>• Agrega estatísticas<br>• Display a cada segundo:<br> - Throughput<br> - Tempos médios<br> - Tamanhos de filas</div>" vertex="1">
|
|
<mxGeometry height="180" width="166.9" x="683.1" y="540" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-9" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0000FF;strokeWidth=2;" target="0K4eb2koB2xQ8duQ1-_a-2" value="">
|
|
<mxGeometry relative="1" x="-0.2105" as="geometry">
|
|
<mxPoint as="offset" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-10" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0000FF;strokeWidth=2;" target="0K4eb2koB2xQ8duQ1-_a-3" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="309" y="120" />
|
|
<mxPoint x="309" y="120" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-11" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#0000FF;strokeWidth=2;" target="0K4eb2koB2xQ8duQ1-_a-4" value="">
|
|
<mxGeometry relative="1" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-12" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00AA00;strokeWidth=2;endArrow=classic;startArrow=classic;" target="0K4eb2koB2xQ8duQ1-_a-3" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="210" y="243" />
|
|
<mxPoint x="210" y="243" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-14" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00AA00;strokeWidth=2;endArrow=classic;startArrow=none;startFill=0;" target="0K4eb2koB2xQ8duQ1-_a-5" value="">
|
|
<mxGeometry relative="1" x="0.125" y="100" as="geometry">
|
|
<mxPoint y="-1" as="offset" />
|
|
<Array as="points">
|
|
<mxPoint x="66.10619469026548" y="446.11111111111114" />
|
|
<mxPoint x="66.10619469026548" y="446.11111111111114" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-16" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00AA00;strokeWidth=2;endArrow=classic;startArrow=none;startFill=0;align=center;" value="">
|
|
<mxGeometry relative="1" x="-0.0178" y="-49" as="geometry">
|
|
<mxPoint as="offset" />
|
|
<Array as="points">
|
|
<mxPoint x="220" y="571" />
|
|
</Array>
|
|
<mxPoint x="160" y="570" as="sourcePoint" />
|
|
<mxPoint x="220" y="571" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-19" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#b46504;strokeWidth=2;fillColor=#fad7ac;" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points" />
|
|
<mxPoint x="390" y="580" as="sourcePoint" />
|
|
<mxPoint x="462.74" y="580.22" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-22" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;exitX=0.981;exitY=0.08;exitDx=0;exitDy=0;exitPerimeter=0;" target="0K4eb2koB2xQ8duQ1-_a-8" value="">
|
|
<mxGeometry relative="1" x="0.1427" y="-60" as="geometry">
|
|
<mxPoint as="offset" />
|
|
<Array as="points">
|
|
<mxPoint x="593" y="175" />
|
|
<mxPoint x="593" y="140" />
|
|
<mxPoint x="764" y="140" />
|
|
</Array>
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-4" parent="L62mICw2ZrYi1D68OOFe-13" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;align=left;verticalAlign=top;spacing=10;fontColor=#000000;" value="<b>Cr3</b> (IntersectionProcess)<div><hr></div><div>• ServerSocket (8003)<br><div>• Eventos DES:&nbsp;</div><div>&nbsp; &nbsp;- Oeste</div><div>&nbsp; &nbsp;- Sul</div><div>• Fila Eventos (DES)</div>• ReentrantLock</div><div><div>• Objetos TrafficLight</div></div><div>• Pool Threads (I/O rede)</div>" vertex="1">
|
|
<mxGeometry height="157.78" width="167.26" x="462.74" y="162.22" as="geometry" />
|
|
</mxCell>
|
|
<mxCell id="0K4eb2koB2xQ8duQ1-_a-30" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;entryX=0.186;entryY=0.998;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.638;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" target="0K4eb2koB2xQ8duQ1-_a-8" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="102" y="730" />
|
|
<mxPoint x="714" y="730" />
|
|
</Array>
|
|
<mxPoint x="103" y="660" as="sourcePoint" />
|
|
<mxPoint x="710" y="730" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="L62mICw2ZrYi1D68OOFe-2" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00AA00;strokeWidth=2;endArrow=none;startArrow=classic;startFill=1;endFill=0;entryX=0.409;entryY=0.993;entryDx=0;entryDy=0;entryPerimeter=0;" target="0K4eb2koB2xQ8duQ1-_a-3" value="">
|
|
<mxGeometry relative="1" x="-0.2214" y="26" as="geometry">
|
|
<mxPoint x="-17" y="6" as="offset" />
|
|
<Array as="points" />
|
|
<mxPoint x="293.8053097345133" y="486.6666666666666" as="sourcePoint" />
|
|
<mxPoint x="293.8053097345133" y="324.44444444444446" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="L62mICw2ZrYi1D68OOFe-10" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;exitX=0.621;exitY=-0.003;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
|
|
<mxGeometry relative="1" x="0.1427" y="-60" as="geometry">
|
|
<mxPoint as="offset" />
|
|
<Array as="points">
|
|
<mxPoint x="329" y="130" />
|
|
<mxPoint x="780" y="130" />
|
|
</Array>
|
|
<mxPoint x="330.53097345132744" y="141.94444444444443" as="sourcePoint" />
|
|
<mxPoint x="780" y="540" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="L62mICw2ZrYi1D68OOFe-11" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;exitX=0.627;exitY=1.014;exitDx=0;exitDy=0;exitPerimeter=0;" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="327" y="700" />
|
|
</Array>
|
|
<mxPoint x="326" y="654" as="sourcePoint" />
|
|
<mxPoint x="683.1" y="700" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="L62mICw2ZrYi1D68OOFe-12" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9933FF;strokeWidth=2;dashed=1;" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points">
|
|
<mxPoint x="556" y="663" />
|
|
</Array>
|
|
<mxPoint x="556" y="650" as="sourcePoint" />
|
|
<mxPoint x="683.0973451327434" y="663.0833333333331" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="J0awZyeCmWOCt0z9hVlQ-7" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=light-dark(#00AA00,#C98531);strokeWidth=2;endArrow=none;startArrow=classic;startFill=1;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" value="">
|
|
<mxGeometry relative="1" x="-0.2214" y="26" as="geometry">
|
|
<mxPoint x="-17" y="6" as="offset" />
|
|
<Array as="points" />
|
|
<mxPoint x="541" y="470" as="sourcePoint" />
|
|
<mxPoint x="541.17" y="320" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
<mxCell id="J0awZyeCmWOCt0z9hVlQ-33" edge="1" parent="L62mICw2ZrYi1D68OOFe-13" source="0K4eb2koB2xQ8duQ1-_a-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#00AA00;strokeWidth=2;endArrow=classic;startArrow=classic;entryX=-0.001;entryY=0.513;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.454;exitDx=0;exitDy=0;exitPerimeter=0;" target="0K4eb2koB2xQ8duQ1-_a-4" value="">
|
|
<mxGeometry relative="1" as="geometry">
|
|
<Array as="points" />
|
|
<mxPoint x="391" y="243.13" as="sourcePoint" />
|
|
<mxPoint x="460" y="243" as="targetPoint" />
|
|
</mxGeometry>
|
|
</mxCell>
|
|
</root>
|
|
</mxGraphModel>
|
|
</diagram>
|
|
</mxfile>
|