studydotcom/ComputerScience307/DeploymentUML.xml
2025-11-28 12:06:47 -05:00

260 lines
19 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="app.diagrams.net" modified="2025-09-17T01:00:00.000Z" agent="diagrams.net" etag="detailed_deployment_v1" version="21.3.8">
<diagram name="Page-1" id="detailed-thermostat-deployment">
<mxGraphModel dx="1400" dy="1000" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<!-- Title -->
<mxCell id="2" value="Smart Thermostat System - Detailed Deployment Diagram" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=18;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="500" y="30" width="600" height="30" as="geometry" />
</mxCell>
<!-- Mobile Device Node -->
<mxCell id="3" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Mobile Device" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="80" y="120" width="300" height="400" as="geometry" />
</mxCell>
<!-- Mobile App Component -->
<mxCell id="4" value="&lt;&lt;artifact&gt;&gt;&lt;br&gt;Smart Thermostat&lt;br&gt;Mobile App" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="110" y="180" width="240" height="80" as="geometry" />
</mxCell>
<!-- Mobile Database -->
<mxCell id="5" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Local Cache DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="130" y="290" width="100" height="60" as="geometry" />
</mxCell>
<!-- User Interface -->
<mxCell id="6" value="&lt;&lt;interface&gt;&gt;&lt;br&gt;User Interface" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="250" y="290" width="100" height="60" as="geometry" />
</mxCell>
<!-- User Actor -->
<mxCell id="7" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#ff6b6b;" vertex="1" parent="1">
<mxGeometry x="215" y="420" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="8" value="User" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="190" y="490" width="80" height="20" as="geometry" />
</mxCell>
<!-- Cloud Server Node -->
<mxCell id="9" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Smart Thermostat Cloud Server" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="480" y="120" width="300" height="400" as="geometry" />
</mxCell>
<!-- Server Application -->
<mxCell id="10" value="&lt;&lt;artifact&gt;&gt;&lt;br&gt;Smart Thermostat&lt;br&gt;Server Application" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="510" y="180" width="240" height="80" as="geometry" />
</mxCell>
<!-- Server Database -->
<mxCell id="11" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Thermostat Data DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="530" y="290" width="100" height="60" as="geometry" />
</mxCell>
<!-- User Management DB -->
<mxCell id="12" value="&lt;&lt;database&gt;&gt;&lt;br&gt;User Management DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="650" y="290" width="100" height="60" as="geometry" />
</mxCell>
<!-- Analytics DB -->
<mxCell id="13" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Analytics &amp; Logs DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="590" y="370" width="100" height="60" as="geometry" />
</mxCell>
<!-- Database Server Node -->
<mxCell id="14" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Database Server" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="880" y="120" width="300" height="400" as="geometry" />
</mxCell>
<!-- SQL Server -->
<mxCell id="15" value="&lt;&lt;artifact&gt;&gt;&lt;br&gt;SQL Server&lt;br&gt;Database Engine" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="910" y="180" width="240" height="80" as="geometry" />
</mxCell>
<!-- Temperature History DB -->
<mxCell id="16" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Temperature History DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="930" y="290" width="120" height="50" as="geometry" />
</mxCell>
<!-- Energy Usage DB -->
<mxCell id="17" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Energy Usage DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="1060" y="290" width="120" height="50" as="geometry" />
</mxCell>
<!-- Device Registry DB -->
<mxCell id="18" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Device Registry DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="930" y="360" width="120" height="50" as="geometry" />
</mxCell>
<!-- Settings & Config DB -->
<mxCell id="19" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Settings &amp; Config DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="1060" y="360" width="120" height="50" as="geometry" />
</mxCell>
<!-- Smart Thermostat Device Node -->
<mxCell id="20" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Smart Thermostat Control Unit" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="80" y="600" width="300" height="400" as="geometry" />
</mxCell>
<!-- Thermostat OS -->
<mxCell id="21" value="&lt;&lt;artifact&gt;&gt;&lt;br&gt;Smart Thermostat&lt;br&gt;Operating System" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="110" y="660" width="240" height="80" as="geometry" />
</mxCell>
<!-- Local Settings DB -->
<mxCell id="22" value="&lt;&lt;database&gt;&gt;&lt;br&gt;Local Settings DB" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="130" y="770" width="100" height="60" as="geometry" />
</mxCell>
<!-- Control Panel Interface -->
<mxCell id="23" value="&lt;&lt;interface&gt;&gt;&lt;br&gt;Physical Control Panel" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="250" y="770" width="100" height="60" as="geometry" />
</mxCell>
<!-- User Interface (Physical) -->
<mxCell id="24" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#ff6b6b;" vertex="1" parent="1">
<mxGeometry x="215" y="880" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="25" value="Physical Access" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="180" y="950" width="100" height="20" as="geometry" />
</mxCell>
<!-- Smart Home Components Node -->
<mxCell id="26" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Smart Home Components" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="480" y="600" width="300" height="400" as="geometry" />
</mxCell>
<!-- Temperature Sensors -->
<mxCell id="27" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Temperature Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="510" y="660" width="120" height="60" as="geometry" />
</mxCell>
<!-- Humidity Sensors -->
<mxCell id="28" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Humidity Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="650" y="660" width="120" height="60" as="geometry" />
</mxCell>
<!-- Motion Sensors -->
<mxCell id="29" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Motion/Occupancy&lt;br&gt;Sensors" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="510" y="750" width="120" height="60" as="geometry" />
</mxCell>
<!-- Smart Vents -->
<mxCell id="30" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Smart Air Vents" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="650" y="750" width="120" height="60" as="geometry" />
</mxCell>
<!-- HVAC Interface -->
<mxCell id="31" value="&lt;&lt;interface&gt;&gt;&lt;br&gt;HVAC Control Interface" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="580" y="840" width="120" height="60" as="geometry" />
</mxCell>
<!-- HVAC System Node -->
<mxCell id="32" value="&lt;&lt;device&gt;&gt;&lt;br&gt;HVAC System" style="html=1;whiteSpace=wrap;strokeWidth=3;fillColor=#4285f4;strokeColor=#ffffff;fontFamily=Arial;fontSize=14;fontColor=white;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="880" y="600" width="300" height="400" as="geometry" />
</mxCell>
<!-- Heating Unit -->
<mxCell id="33" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Heating Unit&lt;br&gt;(Furnace/Boiler)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="910" y="660" width="120" height="60" as="geometry" />
</mxCell>
<!-- Cooling Unit -->
<mxCell id="34" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Cooling Unit&lt;br&gt;(Air Conditioner)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="1050" y="660" width="120" height="60" as="geometry" />
</mxCell>
<!-- Ventilation System -->
<mxCell id="35" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Ventilation System&lt;br&gt;(Fans &amp; Ducts)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="910" y="750" width="120" height="60" as="geometry" />
</mxCell>
<!-- Air Quality Control -->
<mxCell id="36" value="&lt;&lt;device&gt;&gt;&lt;br&gt;Air Quality Control&lt;br&gt;(Filters &amp; Purifiers)" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#ffffff;strokeColor=#333333;fontFamily=Arial;fontSize=11;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="1050" y="750" width="120" height="60" as="geometry" />
</mxCell>
<!-- HVAC Controller -->
<mxCell id="37" value="&lt;&lt;artifact&gt;&gt;&lt;br&gt;HVAC Control System" style="html=1;whiteSpace=wrap;strokeWidth=2;fillColor=#f0f0f0;strokeColor=#666666;fontFamily=Arial;fontSize=10;" vertex="1" parent="1">
<mxGeometry x="980" y="840" width="120" height="60" as="geometry" />
</mxCell>
<!-- Communication Lines -->
<!-- HTTPS Connection Mobile to Server -->
<mxCell id="38" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#ff9800;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="3" target="9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="39" value="HTTPS / REST API&lt;br&gt;TCP/IP over Internet" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="38">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- SQL Connection Server to DB -->
<mxCell id="40" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#9c27b0;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="9" target="14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="41" value="SQL / TCP-IP&lt;br&gt;Database Queries" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="40">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- MQTT/WiFi Connection Server to Thermostat -->
<mxCell id="42" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#4caf50;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="9" target="20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="43" value="MQTT over TLS&lt;br&gt;WiFi / TCP-IP" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- IoT Connection Thermostat to Smart Components -->
<mxCell id="44" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#2196f3;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="20" target="26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="45" value="Zigbee / Bluetooth LE&lt;br&gt;IoT Mesh Network" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="44">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- Wired Connection Smart Components to HVAC -->
<mxCell id="46" value="" style="endArrow=none;html=1;rounded=0;strokeWidth=3;strokeColor=#f44336;fontFamily=Arial;fontSize=11;" edge="1" parent="1" source="26" target="32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="47" value="24V DC Wired Control&lt;br&gt;Direct Physical Connection" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;fontFamily=Arial;fontSize=11;fontStyle=1;backgroundColor=white;" connectable="0" vertex="1" parent="46">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- Protocol Legend -->
<mxCell id="48" value="Communication Protocols:" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=14;fontStyle=1;" vertex="1" parent="1">
<mxGeometry x="1300" y="150" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="49" value="• HTTPS/REST = Secure web API communication" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#ff9800;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="1300" y="185" width="280" height="20" as="geometry" />
</mxCell>
<mxCell id="50" value="• SQL/TCP-IP = Database server communication" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#9c27b0;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="1300" y="210" width="280" height="20" as="geometry" />
</mxCell>
<mxCell id="51" value="• MQTT/TLS = IoT messaging protocol" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#4caf50;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="1300" y="235" width="280" height="20" as="geometry" />
</mxCell>
<mxCell id="52" value="• Zigbee/BLE = Low-power IoT mesh network" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#2196f3;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="1300" y="260" width="280" height="20" as="geometry" />
</mxCell>
<mxCell id="53" value="• 24V DC Wired = Direct HVAC control signals" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=11;strokeColor=#f44336;strokeWidth=2;" vertex="1" parent="1">
<mxGeometry x="1300" y="285" width="280" height="20" as="geometry" />
</mxCell>
<!-- Footer -->
<mxCell id="54" value="The completed UML deployment diagram showing detailed smart thermostat system architecture" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Arial;fontSize=12;fontStyle=2;" vertex="1" parent="1">
<mxGeometry x="400" y="1050" width="800" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>