study.com work
This commit is contained in:
@@ -0,0 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mxfile host="app.diagrams.net" modified="2023-06-13T06:46:42.677Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" etag="2dm6wh7Nnmh6Q2141RGR" version="21.3.8">
|
||||
<diagram name="Page-1" id="Pp5D8NyYfTdBCvUGVL6m">
|
||||
<mxGraphModel dx="655" dy="849" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-7" value="Thermostat" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="60" y="80" width="240" height="424" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-11" value="currentTemperature: float" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="26" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-8" value="<div>desiredTemperature: float</div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="52" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-13" value="heatingSystem: HeatingSystem" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="78" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-12" value="<div>coolingSystem: CoolingSystem</div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="104" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-14" value="<div>fan: Fan</div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="130" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-46" value="<div><div>temperatureSensor: Sensor</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="156" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-9" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="182" width="240" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-10" value="<div>setDesiredTemperature(temp: float): void</div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="190" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-15" value="<div><div>getCurrentTemperature(): float</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="216" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-16" value="<div><div>startHeating(): void</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="242" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-17" value="<div><div>stopHeating(): void</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="268" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-18" value="<div><div>startCooling(): void</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="294" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-19" value="<div><div><div>stopCooling(): void</div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="320" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-20" value="<div><div><div>startFan(speed: int): void</div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="346" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-21" value="<div><div><div><div>stopFan(): void</div></div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="372" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-47" value="<div><div><div><div><div>getTemperatureSensorValue(): float</div></div></div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-7">
|
||||
<mxGeometry y="398" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-26" value="HeatingSystem" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="80" width="240" height="112" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-27" value="<div>heatingStatus: boolean</div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-26">
|
||||
<mxGeometry y="26" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-32" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-26">
|
||||
<mxGeometry y="52" width="240" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-33" value="<div><div>startHeating(): void</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-26">
|
||||
<mxGeometry y="60" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-34" value="<div><div><div>stopHeating(): void</div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-26">
|
||||
<mxGeometry y="86" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-41" value="CoolingSystem" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="290" width="240" height="112" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-42" value="<div><div>coolingStatus: boolean</div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-41">
|
||||
<mxGeometry y="26" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-43" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-41">
|
||||
<mxGeometry y="52" width="240" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-44" value="<div><div><div>startCooling(): void</div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-41">
|
||||
<mxGeometry y="60" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-45" value="<div><div><div><div>stopCooling(): void</div></div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-41">
|
||||
<mxGeometry y="86" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-48" value="Sensor" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#f5f5f5;fontColor=#333333;strokeColor=#666666;" vertex="1" parent="1">
|
||||
<mxGeometry x="60" y="550" width="240" height="86" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-49" value="<div><div>sensorValue: float<br></div></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-48">
|
||||
<mxGeometry y="26" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-50" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-48">
|
||||
<mxGeometry y="52" width="240" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-51" value="<div><div><div>getSensorValue(): float<br></div></div></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-48">
|
||||
<mxGeometry y="60" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-54" value="Fan" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="498" width="240" height="138" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-55" value="<div><div>fanStatus: boolean<br></div></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry y="26" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-59" value="<div><div><div>fanSpeed: int</div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry y="52" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-56" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry y="78" width="240" height="8" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-57" value="<div><div><div><div>startFan(speed: int): void</div></div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry y="86" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-58" value="<div><div><div><div><div>stopFan(): void</div></div></div></div></div><div><br></div>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry y="112" width="240" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-60" value="" style="endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;rounded=0;entryX=-0.003;entryY=0.127;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#ffe6cc;strokeColor=#d79b00;" edge="1" parent="1" source="uLgKkJphqwm_8STbQmNH-13" target="uLgKkJphqwm_8STbQmNH-26">
|
||||
<mxGeometry width="160" relative="1" as="geometry">
|
||||
<mxPoint x="300" y="94" as="sourcePoint" />
|
||||
<mxPoint x="490" y="410" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-63" value="" style="endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;rounded=0;entryX=-0.004;entryY=0.179;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#dae8fc;strokeColor=#6c8ebf;" edge="1" parent="1" source="uLgKkJphqwm_8STbQmNH-12" target="uLgKkJphqwm_8STbQmNH-41">
|
||||
<mxGeometry width="160" relative="1" as="geometry">
|
||||
<mxPoint x="300" y="135.57999999999998" as="sourcePoint" />
|
||||
<mxPoint x="359" y="135.57999999999998" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="197" />
|
||||
<mxPoint x="340" y="310" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-65" value="" style="endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;rounded=0;entryX=-0.001;entryY=0.132;entryDx=0;entryDy=0;entryPerimeter=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.553;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#d5e8d4;strokeColor=#82b366;" edge="1" parent="1" source="uLgKkJphqwm_8STbQmNH-14" target="uLgKkJphqwm_8STbQmNH-54">
|
||||
<mxGeometry width="160" relative="1" as="geometry">
|
||||
<mxPoint x="300" y="220" as="sourcePoint" />
|
||||
<mxPoint x="359" y="333" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="310" y="224" />
|
||||
<mxPoint x="330" y="224" />
|
||||
<mxPoint x="330" y="516" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="uLgKkJphqwm_8STbQmNH-66" value="" style="endArrow=block;startArrow=block;endFill=1;startFill=1;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;exitX=1;exitY=0.553;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#f5f5f5;strokeColor=#666666;" edge="1" parent="1">
|
||||
<mxGeometry width="160" relative="1" as="geometry">
|
||||
<mxPoint x="300" y="250" as="sourcePoint" />
|
||||
<mxPoint x="300" y="560" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="320" y="250" />
|
||||
<mxPoint x="320" y="560" />
|
||||
<mxPoint x="300" y="560" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1,260 @@
|
||||
<?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="<<device>><br>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="<<artifact>><br>Smart Thermostat<br>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="<<database>><br>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="<<interface>><br>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="<<device>><br>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="<<artifact>><br>Smart Thermostat<br>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="<<database>><br>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="<<database>><br>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="<<database>><br>Analytics & 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="<<device>><br>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="<<artifact>><br>SQL Server<br>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="<<database>><br>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="<<database>><br>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="<<database>><br>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="<<database>><br>Settings & 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="<<device>><br>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="<<artifact>><br>Smart Thermostat<br>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="<<database>><br>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="<<interface>><br>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="<<device>><br>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="<<device>><br>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="<<device>><br>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="<<device>><br>Motion/Occupancy<br>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="<<device>><br>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="<<interface>><br>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="<<device>><br>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="<<device>><br>Heating Unit<br>(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="<<device>><br>Cooling Unit<br>(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="<<device>><br>Ventilation System<br>(Fans & 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="<<device>><br>Air Quality Control<br>(Filters & 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="<<artifact>><br>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<br>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<br>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<br>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<br>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<br>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>
|
||||
@@ -0,0 +1,178 @@
|
||||
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mxfile host="app.diagrams.net" modified="2023-09-17T10:00:00.000Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" etag="thermostat_seq_v2" version="21.3.8">
|
||||
<diagram name="Page-1" id="thermostat-sequence-improved">
|
||||
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="900" background="none" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
|
||||
<!-- User Lifeline -->
|
||||
<mxCell id="2" value="Home Owner/User" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="80" width="120" height="650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3" value="" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" vertex="1" parent="2">
|
||||
<mxGeometry x="55" y="5" width="10" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="4" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
||||
<mxGeometry x="55" y="80" width="10" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="5" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
||||
<mxGeometry x="55" y="320" width="10" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="6" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="2" vertex="1">
|
||||
<mxGeometry x="55" y="480" width="10" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Mobile App Lifeline -->
|
||||
<mxCell id="7" value="Mobile APP" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
||||
<mxGeometry x="280" y="80" width="120" height="650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="8" value="" style="shape=umlBoundary;whiteSpace=wrap;html=1;" vertex="1" parent="7">
|
||||
<mxGeometry x="48" y="5" width="24" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="9" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
||||
<mxGeometry x="55" y="80" width="10" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="10" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
||||
<mxGeometry x="55" y="280" width="10" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="11" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="7" vertex="1">
|
||||
<mxGeometry x="55" y="480" width="10" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Thermostat System Lifeline -->
|
||||
<mxCell id="12" value="Smart Thermostat System" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
||||
<mxGeometry x="480" y="80" width="150" height="650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="13" value="" style="ellipse;shape=umlEntity;whiteSpace=wrap;html=1;" vertex="1" parent="12">
|
||||
<mxGeometry x="65" y="5" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="14" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="12" vertex="1">
|
||||
<mxGeometry x="70" y="120" width="10" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="15" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="12" vertex="1">
|
||||
<mxGeometry x="70" y="420" width="10" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- HVAC System Lifeline -->
|
||||
<mxCell id="16" value="HVAC System" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;outlineConnect=0;rounded=1;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;size=40;" parent="1" vertex="1">
|
||||
<mxGeometry x="720" y="80" width="120" height="650" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="17" value="" style="ellipse;shape=umlEntity;whiteSpace=wrap;html=1;" vertex="1" parent="16">
|
||||
<mxGeometry x="50" y="5" width="20" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="18" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="16" vertex="1">
|
||||
<mxGeometry x="55" y="160" width="10" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="19" value="" style="html=1;points=[];perimeter=orthogonalPerimeter;rounded=0;shadow=0;comic=0;labelBackgroundColor=none;strokeWidth=1;fontFamily=Verdana;fontSize=12;align=center;" parent="16" vertex="1">
|
||||
<mxGeometry x="55" y="450" width="10" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 1: User to Mobile App -->
|
||||
<mxCell id="20" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="4" target="9">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="21" value="1. Set Temperature" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="20">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 2: Mobile App to Thermostat -->
|
||||
<mxCell id="22" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="9" target="14">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="23" value="2. Send Temperature Command" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="22">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 3: Thermostat to HVAC -->
|
||||
<mxCell id="24" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="14" target="18">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="25" value="3. Adjust HVAC Settings" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="24">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 4: HVAC to Thermostat (return) -->
|
||||
<mxCell id="26" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="18" target="14">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="775" y="280" as="sourcePoint" />
|
||||
<mxPoint x="560" y="280" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="27" value="4. Status Acknowledgment" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="26">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 5: Thermostat to Mobile App (return) -->
|
||||
<mxCell id="28" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="14" target="10">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="550" y="320" as="sourcePoint" />
|
||||
<mxPoint x="345" y="320" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="29" value="5. Send Confirmation" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="28">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 6: Mobile App to User (return) -->
|
||||
<mxCell id="30" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="10" target="5">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="31" value="6. Display Confirmation" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="30">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Loop Frame for continuous monitoring -->
|
||||
<mxCell id="32" value="loop" style="shape=umlFrame;whiteSpace=wrap;html=1;width=60;height=30;boundedLbl=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="480" y="400" width="380" height="220" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="33" value="[Continuous Operation]" style="text;html=1;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;fontSize=10;fontStyle=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="550" y="405" width="120" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 7: HVAC to Thermostat (continuous updates) -->
|
||||
<mxCell id="34" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1" source="19" target="15">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="775" y="520" as="sourcePoint" />
|
||||
<mxPoint x="560" y="520" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="35" value="7. Temperature Updates" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="34">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 8: Thermostat self-call -->
|
||||
<mxCell id="36" value="8. Monitor & Control" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;" edge="1" parent="1" target="15">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="560" y="540" as="sourcePoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="590" y="540" />
|
||||
<mxPoint x="590" y="560" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 9: Thermostat to Mobile App (status updates) -->
|
||||
<mxCell id="37" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="15" target="11">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="550" y="580" as="sourcePoint" />
|
||||
<mxPoint x="345" y="580" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="38" value="9. Status Updates" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="37">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
<!-- Message 10: Mobile App to User (display status) -->
|
||||
<mxCell id="39" value="" style="endArrow=classic;html=1;rounded=0;dashed=1;" edge="1" parent="1" source="11" target="6">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="40" value="10. Display Current Status" style="edgeLabel;resizable=0;html=1;align=center;verticalAlign=middle;" connectable="0" vertex="1" parent="39">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mxfile host="app.diagrams.net" modified="2023-06-12T14:31:29.070Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" etag="8nDfyyYeRWOEhZrY6fnp" version="21.3.8">
|
||||
<diagram name="Page-1" id="e7e014a7-5840-1c2e-5031-d8a46d1fe8dd">
|
||||
<mxGraphModel dx="453" dy="623" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="826" background="none" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="wfs432I5Vr80NUk8ZSk_-13" target="wfs432I5Vr80NUk8ZSk_-16">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-13" value="In-home Smart<br>Thermostat System" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
|
||||
<mxGeometry x="330" y="136" width="180" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="wfs432I5Vr80NUk8ZSk_-15" target="wfs432I5Vr80NUk8ZSk_-22">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="200" y="270" as="targetPoint" />
|
||||
<mxPoint x="200" y="180" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-15" value="User" style="shape=umlActor;verticalLabelPosition=top;verticalAlign=bottom;html=1;labelPosition=center;align=center;" vertex="1" parent="1">
|
||||
<mxGeometry x="220" y="150" width="40" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.668;entryY=0.982;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="wfs432I5Vr80NUk8ZSk_-16" target="wfs432I5Vr80NUk8ZSk_-13">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-16" value="HVAC<br>System" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="268" width="120" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.107;entryY=1.035;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="wfs432I5Vr80NUk8ZSk_-22" target="wfs432I5Vr80NUk8ZSk_-13">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="wfs432I5Vr80NUk8ZSk_-22" value="Mobile<br>Device" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
|
||||
<mxGeometry x="185" y="268" width="110" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,232 @@
|
||||
<mxfile host="app.diagrams.net">
|
||||
<diagram name="Smart Thermostat Activity Diagram">
|
||||
<mxGraphModel dx="1422" dy="962" grid="1" gridSize="10" guides="1">
|
||||
<root>
|
||||
<mxCell id="0"/>
|
||||
<mxCell id="1" parent="0"/>
|
||||
|
||||
<!-- Start Node -->
|
||||
<mxCell id="start" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="20" width="20" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- User Input Activity -->
|
||||
<mxCell id="userInput" value="Home Owner
Provides Input" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="70" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Electronic Device Processes Input -->
|
||||
<mxCell id="processInput" value="Electronic Device/App
Processes User Input" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="150" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Send Data to Network -->
|
||||
<mxCell id="sendToNetwork" value="Send Data to
Internet Gateway" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="230" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Network Receives Data -->
|
||||
<mxCell id="networkReceive" value="Internet Gateway
Receives Data" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="310" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Send to SmartThermostat -->
|
||||
<mxCell id="sendToThermostat" value="Send Data to
SmartThermostat" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="390" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Fork for Parallel Activities -->
|
||||
<mxCell id="fork1" value="" style="line;strokeWidth=3;html=1;fillColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="350" y="470" width="100" height="10" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Left Branch - Sensor Activities -->
|
||||
<mxCell id="readSensors" value="Read Temperature
from Sensors" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="180" y="520" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="sendSensorData" value="Send Sensor Data
to SmartThermostat" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
|
||||
<mxGeometry x="180" y="600" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Right Branch - Database Activities -->
|
||||
<mxCell id="retrieveData" value="Retrieve Data
from Database" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="520" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="storeData" value="Store Sensor Data
in Database" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="600" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Join after Parallel Activities -->
|
||||
<mxCell id="join1" value="" style="line;strokeWidth=3;html=1;fillColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="350" y="700" width="100" height="10" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Decision Diamond -->
|
||||
<mxCell id="decision1" value="Temperature
Control Needed?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="750" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Heating Branch -->
|
||||
<mxCell id="startHeating" value="Switch HVAC to
Heating Mode" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#ff6666;" vertex="1" parent="1">
|
||||
<mxGeometry x="120" y="880" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="sendHeatingState" value="Send Heating State
Data to SmartThermostat" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#ff6666;" vertex="1" parent="1">
|
||||
<mxGeometry x="120" y="960" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Cooling Branch -->
|
||||
<mxCell id="startCooling" value="Switch HVAC to
Cooling Mode" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ccffff;strokeColor=#0066cc;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="880" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="sendCoolingState" value="Send Cooling State
Data to SmartThermostat" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#ccffff;strokeColor=#0066cc;" vertex="1" parent="1">
|
||||
<mxGeometry x="560" y="960" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- No Action Branch -->
|
||||
<mxCell id="maintain" value="Maintain Current
Temperature" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="880" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Join after Decision -->
|
||||
<mxCell id="join2" value="" style="line;strokeWidth=3;html=1;fillColor=#000000;" vertex="1" parent="1">
|
||||
<mxGeometry x="350" y="1050" width="100" height="10" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Display Current Temperature -->
|
||||
<mxCell id="displayTemp" value="Display Current
Temperature to User" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="1090" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Wait Activity -->
|
||||
<mxCell id="wait" value="Wait for Next
Monitoring Cycle" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f0f0f0;strokeColor=#999999;" vertex="1" parent="1">
|
||||
<mxGeometry x="340" y="1170" width="120" height="50" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Loop Back Decision -->
|
||||
<mxCell id="loopDecision" value="Continue
Monitoring?" style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="1250" width="160" height="80" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- End Node -->
|
||||
<mxCell id="end" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#000000;strokeWidth=3;" vertex="1" parent="1">
|
||||
<mxGeometry x="390" y="1370" width="20" height="20" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<!-- Transitions -->
|
||||
<mxCell id="t1" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="start" target="userInput">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="userInput" target="processInput">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t3" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="processInput" target="sendToNetwork">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t4" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="sendToNetwork" target="networkReceive">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t5" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="networkReceive" target="sendToThermostat">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t6" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="sendToThermostat" target="fork1">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t7" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="fork1" target="readSensors">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t8" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="fork1" target="retrieveData">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t9" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="readSensors" target="sendSensorData">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t10" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="retrieveData" target="storeData">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t11" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0;entryY=0.5;" edge="1" parent="1" source="sendSensorData" target="join1">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t12" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=1;entryY=0.5;" edge="1" parent="1" source="storeData" target="join1">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t13" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="join1" target="decision1">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t14" value="Need Heating" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="decision1" target="startHeating">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t15" value="Need Cooling" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="decision1" target="startCooling">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t16" value="No Change" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="decision1" target="maintain">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t17" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="startHeating" target="sendHeatingState">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t18" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="startCooling" target="sendCoolingState">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t19" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0;entryY=0.5;" edge="1" parent="1" source="sendHeatingState" target="join2">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t20" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=1;entryY=0.5;" edge="1" parent="1" source="sendCoolingState" target="join2">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t21" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0.5;" edge="1" parent="1" source="maintain" target="join2">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t22" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="join2" target="displayTemp">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t23" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="displayTemp" target="wait">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t24" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="wait" target="loopDecision">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t25" value="Yes" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="loopDecision" target="readSensors">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="50" y="1290"/>
|
||||
<mxPoint x="50" y="545"/>
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
|
||||
<mxCell id="t26" value="No" style="edgeStyle=orthogonalEdgeStyle;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="loopDecision" target="end">
|
||||
<mxGeometry relative="1" as="geometry"/>
|
||||
</mxCell>
|
||||
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,157 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0" version="28.2.3">
|
||||
<diagram name="Page-1" id="75ae7d71-7dc9-cc9a-2de6-0ed70c28521b">
|
||||
<mxGraphModel dx="1152" dy="648" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--13" value="ACTOR/HOME OWNER" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="320" y="180" width="140" height="34" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--14" value="Electronic Device/App" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="334.25" y="270" width="115.75" height="34" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--15" value="Inputs" style="curved=1;startArrow=none;endArrow=block;exitX=0.25;exitY=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitDx=0;exitDy=0;" edge="1" parent="1" target="ySzUzg68vfxPxYYMFw7--14">
|
||||
<mxGeometry x="-0.4037" y="20" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="250" y="246" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="320" y="190" as="sourcePoint" />
|
||||
<mxPoint x="290" y="285" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--16" value="Displays current 
temperature " style="curved=1;startArrow=none;endArrow=block;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1">
|
||||
<mxGeometry x="0.1547" y="12" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="498" y="256" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="450" y="286" as="sourcePoint" />
|
||||
<mxPoint x="461" y="200" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--17" value="Internet Gateway / Local home network" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="316.38" y="370" width="151.5" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--18" value="Send Data" style="curved=1;startArrow=none;endArrow=block;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="ySzUzg68vfxPxYYMFw7--17">
|
||||
<mxGeometry x="-0.4347" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="290" y="354" />
|
||||
</Array>
|
||||
<mxPoint x="352" y="304" as="sourcePoint" />
|
||||
<mxPoint x="352" y="358" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--19" value="Receive Data" style="curved=1;startArrow=none;endArrow=block;exitX=0.849;exitY=1.017;entryX=1;entryY=0.75;exitDx=0;exitDy=0;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--14">
|
||||
<mxGeometry x="-0.4567" y="3" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="480" y="360" />
|
||||
</Array>
|
||||
<mxPoint x="534" y="370" as="sourcePoint" />
|
||||
<mxPoint x="420" y="370" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--20" value="SmartThermostat" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="322.13" y="500" width="140" height="34" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--21" value="Send Data" style="curved=1;startArrow=none;endArrow=block;exitX=0.201;exitY=-0.067;exitDx=0;exitDy=0;entryX=0.277;entryY=1.052;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--20" target="ySzUzg68vfxPxYYMFw7--17">
|
||||
<mxGeometry x="-0.4415" y="-7" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="290" y="460" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="320" y="510" as="sourcePoint" />
|
||||
<mxPoint x="314" y="400" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--22" value="Receive Data" style="curved=1;startArrow=none;endArrow=block;exitX=0.669;exitY=0.986;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--17" target="ySzUzg68vfxPxYYMFw7--20">
|
||||
<mxGeometry x="-0.459" y="-11" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="510" y="470" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="470" y="400" as="sourcePoint" />
|
||||
<mxPoint x="462" y="500" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--23" value="HVAC" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="110" y="600" width="170" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--24" value="Sensors" style="whiteSpace=wrap;strokeWidth=2;" vertex="1" parent="1">
|
||||
<mxGeometry x="420" y="630" width="100" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--25" value="Switch state (On/Off)
Cooling/Heating" style="curved=1;startArrow=none;endArrow=block;exitX=-0.003;exitY=0.622;entryX=0.634;entryY=0.01;entryDx=0;entryDy=0;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--20" target="ySzUzg68vfxPxYYMFw7--23">
|
||||
<mxGeometry x="-0.2523" y="26" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="180" y="510" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="110" y="508" as="sourcePoint" />
|
||||
<mxPoint x="191" y="600" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--26" value="Heating" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="120" y="620" width="50" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--27" value="<div>Cooling</div>" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="220" y="620" width="50" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--28" value="Send state data" style="curved=1;startArrow=none;endArrow=block;exitX=1;exitY=0.25;entryX=0.7351110859860098;entryY=0.9754902895759133;exitDx=0;exitDy=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--23">
|
||||
<mxGeometry x="0.3237" y="23" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="356.13" y="614" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="438.13" y="626" as="sourcePoint" />
|
||||
<mxPoint x="346.13" y="534" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--29" value="Reads temperature" style="curved=1;startArrow=none;endArrow=block;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=0.895;exitY=0.975;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--20">
|
||||
<mxGeometry x="-0.532" y="21" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="400" y="580" />
|
||||
</Array>
|
||||
<mxPoint x="444" y="540" as="sourcePoint" />
|
||||
<mxPoint x="444" y="630" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--30" value="Sends Sensor data" style="curved=1;startArrow=none;endArrow=block;exitX=0.75;exitY=0;entryX=1;entryY=0.75;exitDx=0;exitDy=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="ySzUzg68vfxPxYYMFw7--20">
|
||||
<mxGeometry x="-0.3033" y="15" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="580" y="560" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="520" y="659" as="sourcePoint" />
|
||||
<mxPoint x="546" y="560" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--32" value="<div>Database</div>" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.database;whiteSpace=wrap;" vertex="1" parent="1">
|
||||
<mxGeometry x="640" y="460" width="60" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--33" value="Retrieve Data" style="curved=1;startArrow=none;endArrow=block;entryX=1.001;entryY=0.134;entryDx=0;entryDy=0;entryPerimeter=0;exitX=-0.033;exitY=0.229;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--32" target="ySzUzg68vfxPxYYMFw7--20">
|
||||
<mxGeometry x="0.0056" y="1" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="600" y="480" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="598" y="480" as="sourcePoint" />
|
||||
<mxPoint x="590" y="597" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="ySzUzg68vfxPxYYMFw7--34" value="Store Sensor Data" style="curved=1;startArrow=none;endArrow=block;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.014;entryY=0.705;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="ySzUzg68vfxPxYYMFw7--20" target="ySzUzg68vfxPxYYMFw7--32">
|
||||
<mxGeometry x="0.504" y="26" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="600" y="575" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
<mxPoint x="639" y="667" as="sourcePoint" />
|
||||
<mxPoint x="633" y="550" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
@@ -0,0 +1,139 @@
|
||||
<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:142.0) Gecko/20100101 Firefox/142.0" version="28.2.3">
|
||||
<diagram name="Page-1" id="75ae7d71-7dc9-cc9a-2de6-0ed70c28521b">
|
||||
<mxGraphModel dx="1152" dy="648" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
||||
<root>
|
||||
<mxCell id="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="AwyJn9_doaVMq5rt1h0n-42">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="455" y="160" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="2" target="4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="2" value="IDLE" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="360" y="160" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="3" target="4">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="3" target="2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="3" value="" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="80" y="320" width="200" height="200" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="4" target="3">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="4" target="2">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="4" value="COOLING" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1">
|
||||
<mxGeometry x="640" y="280" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-28" value="ACTIVE" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="135" y="470" width="90" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="AwyJn9_doaVMq5rt1h0n-29" target="AwyJn9_doaVMq5rt1h0n-28">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-29" value="ACTIVATING" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="135" y="370" width="90" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-31" value="Heating" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;fontSize=20;" vertex="1" parent="1">
|
||||
<mxGeometry x="135" y="330" width="95" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-38" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="90" y="330" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-39" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" source="AwyJn9_doaVMq5rt1h0n-38" parent="1" target="AwyJn9_doaVMq5rt1h0n-29">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="105" y="420" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="105" y="400" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-40" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="360" y="70" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-41" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;" edge="1" source="AwyJn9_doaVMq5rt1h0n-40" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="375" y="160" as="targetPoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-42" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="1">
|
||||
<mxGeometry x="440" y="70" width="30" height="30" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-52" value="<div>End Of Cycle</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF66);" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="560" y="84.71000000000001" as="sourcePoint" />
|
||||
<mxPoint x="480" y="84.71000000000001" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-53" value="<div>Initial State</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF66);" edge="1" parent="1">
|
||||
<mxGeometry x="-0.0041" relative="1" as="geometry">
|
||||
<mxPoint x="104.71" y="260" as="sourcePoint" />
|
||||
<mxPoint x="104.71" y="330" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-54" value="<div>Start Of Cycle</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF66);" edge="1" parent="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="230" y="85" as="sourcePoint" />
|
||||
<mxPoint x="350" y="85" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-56" value="LowTemp" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="229" y="134" width="80" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-57" value="<div>Trigger</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF66);" edge="1" parent="1">
|
||||
<mxGeometry x="-0.1429" y="17" relative="1" as="geometry">
|
||||
<mxPoint x="299" y="162.71" as="sourcePoint" />
|
||||
<mxPoint x="229" y="162.71" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-58" value="<div>Trigger</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF00);" edge="1" parent="1">
|
||||
<mxGeometry x="-0.151" y="-17" relative="1" as="geometry">
|
||||
<mxPoint x="550" y="160" as="sourcePoint" />
|
||||
<mxPoint x="620" y="160" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-59" value="HighTemp" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="540" y="134" width="80" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-60" value="<div>Trigger</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF00);" edge="1" parent="1">
|
||||
<mxGeometry x="-0.151" y="-17" relative="1" as="geometry">
|
||||
<mxPoint x="510" y="396" as="sourcePoint" />
|
||||
<mxPoint x="580" y="396" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-61" value="HighTemp" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="370" width="80" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-65" value="LowTemp" style="text;align=center;fontStyle=1;verticalAlign=middle;spacingLeft=3;spacingRight=3;strokeColor=none;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;" vertex="1" parent="1">
|
||||
<mxGeometry x="500" y="480.72" width="80" height="26" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="AwyJn9_doaVMq5rt1h0n-66" value="<div>Trigger</div>" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;strokeColor=light-dark(#000000,#FFFF66);" edge="1" parent="1">
|
||||
<mxGeometry x="-0.1429" y="17" relative="1" as="geometry">
|
||||
<mxPoint x="570" y="509.43000000000006" as="sourcePoint" />
|
||||
<mxPoint x="500" y="509.43000000000006" as="targetPoint" />
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
||||
Reference in New Issue
Block a user