SWADP/Opdracht_4/opdracht4.drawio

594 lines
54 KiB
Plaintext
Raw Permalink Normal View History

2023-05-31 23:08:15 +00:00
<mxfile host="65bd71144e">
<diagram id="KfANXQmF8nHkjfM11mp0" name="Page-1">
<mxGraphModel dx="2715" dy="2184" 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">
2023-05-31 23:08:15 +00:00
<root>
<mxCell id="0"/>
2023-06-08 11:45:31 +00:00
<mxCell id="1" style="" parent="0"/>
<mxCell id="65" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#006EAF;fontSize=16;fillColor=#1ba1e2;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="270" y="750" width="1508" height="430" as="geometry"/>
</mxCell>
2023-06-11 15:39:49 +00:00
<mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#D882C7;strokeColor=none;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry y="100" width="270" height="1080" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="3" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Infrastructure Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="10" y="100" width="160" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="30" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#B37524;fontSize=16;fillColor=#FF944D;fontColor=#ffffff;gradientColor=none;" parent="1" vertex="1">
<mxGeometry x="270" y="100" width="1508" height="210" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="31" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Interface Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="270" y="100" width="130" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="35" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=#d1d1d2;strokeColor=#2D7600;fontSize=16;fillColor=#60a917;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="270" y="310" width="1508" height="440" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="36" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Domain Implementatie Layer&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="260" y="315" width="230" height="30" as="geometry"/>
2023-06-08 11:45:31 +00:00
</mxCell>
<mxCell id="66" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;Domain&amp;nbsp;Layer&lt;br&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="330" y="750" width="120" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="144" value="" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;" parent="1" vertex="1">
<mxGeometry x="128" y="1530" width="147" height="73" as="geometry">
2023-06-08 11:45:31 +00:00
<mxRectangle width="147" height="73" as="alternateBounds"/>
</mxGeometry>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="125" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="280" y="368" width="1128" height="332" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="115" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="7" y="135" width="230" height="390" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="126" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="560" y="141" width="230" height="140" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="124" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="900" y="141" width="230" height="140" as="geometry"/>
2023-06-08 11:45:31 +00:00
</mxCell>
2023-06-11 15:39:49 +00:00
<mxCell id="280" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="365" y="790" width="920" height="310" as="geometry"/>
</mxCell>
2023-06-11 15:39:49 +00:00
<mxCell id="281" value="M" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="928" y="1050" width="30" height="30" as="geometry"/>
</mxCell>
2023-06-11 15:39:49 +00:00
<mxCell id="282" value="2" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="888" y="1050" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="284" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1.022;entryY=0.145;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="205" edge="1">
2023-06-11 15:39:49 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="718" y="260" as="sourcePoint"/>
<mxPoint x="642.2000000000003" y="416.35000000000014" as="targetPoint"/>
2023-06-11 15:39:49 +00:00
<Array as="points">
<mxPoint x="718" y="320"/>
<mxPoint x="639" y="395"/>
<mxPoint x="819" y="445"/>
<mxPoint x="808" y="445"/>
<mxPoint x="819" y="465"/>
2023-06-11 15:39:49 +00:00
</Array>
</mxGeometry>
</mxCell>
<mxCell id="286" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="1" edge="1">
2023-06-11 15:39:49 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="748" y="260" as="sourcePoint"/>
<mxPoint x="728" y="539" as="targetPoint"/>
2023-06-11 15:39:49 +00:00
<Array as="points">
<mxPoint x="728" y="430"/>
<mxPoint x="749" y="410"/>
<mxPoint x="649" y="405"/>
<mxPoint x="829" y="455"/>
<mxPoint x="818" y="455"/>
<mxPoint x="829" y="475"/>
2023-06-11 15:39:49 +00:00
</Array>
</mxGeometry>
</mxCell>
<mxCell id="289" value="return temperatuur" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1450" y="540" width="120" height="30" as="geometry"/>
</mxCell>
<mxCell id="291" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cout &amp;lt;&amp;lt; &quot;Voer een temperatuur in: &quot;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cin &amp;gt;&amp;gt; temperatuur&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;cout &amp;lt;&amp;lt; endl&lt;/span&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1470" y="480" width="210" height="60" as="geometry"/>
</mxCell>
<mxCell id="293" value="return t1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="1160" y="580" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="296" value="cout &amp;lt;&amp;lt; &quot;Elektrische motor has started&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="710" y="590" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="301" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=-0.01;entryY=0.455;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="296" target="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="988" y="600" as="sourcePoint"/>
<mxPoint x="1027.2000000000003" y="607.78" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="302" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=-0.013;entryY=0.737;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="303" target="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="988" y="630" as="sourcePoint"/>
<mxPoint x="1027.52" y="624.3400000000001" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="303" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Elektrische motor has stopped&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="680" y="610" width="260" height="30" as="geometry"/>
</mxCell>
<mxCell id="304" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Diesel motor has stopped&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="255" y="640" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="305" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="304" target="202">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="728" y="690" as="sourcePoint"/>
<mxPoint x="767.52" y="684.34" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="315" value="&amp;nbsp; &amp;nbsp; &amp;nbsp; cout &amp;lt;&amp;lt; &quot;Diesel motor has started&quot;&amp;nbsp;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="255" y="620" width="230" height="30" as="geometry"/>
</mxCell>
<mxCell id="316" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="315">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="500" y="634" as="sourcePoint"/>
<mxPoint x="540.3199999999997" y="633.8399999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="292" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1120.0000000000002" y="596" as="sourcePoint"/>
<mxPoint x="1170" y="596" as="targetPoint"/>
</mxGeometry>
</mxCell>
2023-06-08 11:45:31 +00:00
<mxCell id="145" value="Classes" parent="0"/>
<mxCell id="200" value="DieselMotor" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="540" y="539" width="160" height="126" as="geometry">
2023-06-08 11:45:31 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
2023-05-31 23:08:15 +00:00
</mxGeometry>
</mxCell>
<mxCell id="201" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="200" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="202" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="200" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="66" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="203" value="Machine &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=20;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry x="411" y="379" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
2023-05-31 23:08:15 +00:00
</mxGeometry>
</mxCell>
<mxCell id="204" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="203" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="20" width="160" height="10" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="205" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="203" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="30" width="160" height="70" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="329" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="203">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="79.00000000000023" y="77" as="sourcePoint"/>
<mxPoint x="459" y="77" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="206" value="ElectrischeMotor" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="960" y="540" width="160" height="100" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="207" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="206" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="208" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="206" vertex="1">
<mxGeometry y="40" width="160" height="60" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="209" value="Tsensor &lt;implementatie&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="1170" y="468" width="160" height="96" as="geometry">
2023-06-08 11:45:31 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="278" value="-temperatuur: int" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="209" vertex="1">
<mxGeometry y="26" width="160" height="30" as="geometry"/>
2023-06-08 11:45:31 +00:00
</mxCell>
<mxCell id="290" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="209">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="90" y="68" as="sourcePoint"/>
<mxPoint x="305" y="68" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="211" value="+read(): void&lt;br&gt;+temperature(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="209" vertex="1">
<mxGeometry y="56" width="160" height="40" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="288" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.021;entryY=0.459;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="209" target="289">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="130" y="85" as="sourcePoint"/>
<mxPoint x="210" y="85" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="212" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="145" source="264" target="209" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1010.9999999999995" y="254" as="sourcePoint"/>
<mxPoint x="311" y="599" as="targetPoint"/>
<Array as="points">
<mxPoint x="1250" y="350"/>
<mxPoint x="1011" y="360"/>
<mxPoint x="1191" y="410"/>
2023-06-08 11:45:31 +00:00
<mxPoint x="1180" y="410"/>
<mxPoint x="1191" y="430"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="213" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.006;exitY=0.317;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="211" edge="1" target="255">
2023-06-08 11:45:31 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1021" y="264" as="sourcePoint"/>
<mxPoint x="281" y="415" as="targetPoint"/>
<Array as="points">
<mxPoint x="351" y="415"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="214" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#f5f5f5;strokeColor=#FFFFFF;exitX=0.563;exitY=1.036;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="211" target="226" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="1200" y="560" as="sourcePoint"/>
2023-06-08 11:45:31 +00:00
<mxPoint x="1190.9999999999995" y="789" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="215" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;fillColor=#e51400;strokeColor=#FFFFFF;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.433;exitY=1.005;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" edge="1" source="208">
2023-06-08 11:45:31 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="900.9999999999995" y="639" as="sourcePoint"/>
<mxPoint x="891.0000000000005" y="802.5" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="216" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#e51400;strokeColor=#FFFFFF;" parent="145" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="641" y="665" as="sourcePoint"/>
<mxPoint x="611" y="786" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="217" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.471;exitY=1.022;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#e51400;strokeColor=#B20000;" parent="145" source="205" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="491.0799999999999" y="479" as="sourcePoint"/>
<mxPoint x="461" y="929" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="220" value="Machine &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="380" y="930" width="160" height="100" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="221" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="220" vertex="1">
<mxGeometry y="26" width="160" height="4" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="222" value="+ motor1() : Motor&lt;br&gt;+ motor2() : Motor&lt;br&gt;+ run() : void&lt;br&gt;+ halt() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="220" vertex="1">
<mxGeometry y="30" width="160" height="70" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="223" value="Motor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="780" y="950" width="160" height="100" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="224" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="223" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="225" value="+ tsensor() : Tsensor&lt;br&gt;+ start() : void&lt;br&gt;+ stop() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="223" vertex="1">
<mxGeometry y="40" width="160" height="60" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="226" value="TSensor &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="1115" y="970" width="160" height="80" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="227" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="226" vertex="1">
<mxGeometry y="26" width="160" height="14" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="228" value="+read(): void&lt;br&gt;+temperatuur(): Integer" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="226" vertex="1">
<mxGeometry y="40" width="160" height="40" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="229" value="Mone &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="530" y="787" width="160" height="83" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="230" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="229" vertex="1">
2023-05-31 23:08:15 +00:00
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="231" value="Mtwo &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="810" y="803.5" width="160" height="83" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="232" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="231" vertex="1">
2023-05-31 23:08:15 +00:00
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="233" value="" style="endArrow=none;html=1;fontSize=16;exitX=1.014;exitY=0.364;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="225" target="226" edge="1">
2023-05-31 23:08:15 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="970" y="830" as="sourcePoint"/>
<mxPoint x="1110" y="830" as="targetPoint"/>
2023-05-31 23:08:15 +00:00
</mxGeometry>
</mxCell>
<mxCell id="235" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;S&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=16;" parent="145" vertex="1">
<mxGeometry x="1080" y="980" width="30" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="236" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=12;" parent="145" vertex="1">
<mxGeometry x="1080" y="1010" width="30" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="238" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="145" target="223" edge="1">
2023-05-31 23:08:15 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="890" y="890" as="sourcePoint"/>
<mxPoint x="890" y="900" as="targetPoint"/>
2023-05-31 23:08:15 +00:00
<Array as="points">
<mxPoint x="960" y="920"/>
2023-05-31 23:08:15 +00:00
</Array>
</mxGeometry>
</mxCell>
<mxCell id="239" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="145" source="229" edge="1">
2023-05-31 23:08:15 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="830" y="1060" as="sourcePoint"/>
<mxPoint x="880" y="920" as="targetPoint"/>
2023-05-31 23:08:15 +00:00
<Array as="points">
<mxPoint x="610" y="920"/>
<mxPoint x="840" y="920"/>
2023-05-31 23:08:15 +00:00
</Array>
</mxGeometry>
</mxCell>
<mxCell id="243" value="" style="endArrow=none;html=1;fontSize=12;exitX=0.184;exitY=1.005;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.461;entryY=1.003;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" target="225" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400.44000000000005" y="1029.35" as="sourcePoint"/>
<mxPoint x="961" y="886" as="targetPoint"/>
<Array as="points">
<mxPoint x="401" y="1090"/>
<mxPoint x="854" y="1090"/>
2023-06-08 11:45:31 +00:00
</Array>
2023-05-31 23:08:15 +00:00
</mxGeometry>
</mxCell>
<mxCell id="244" value="" style="endArrow=block;endSize=10;endFill=0;shadow=0;strokeWidth=1;rounded=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.471;exitY=1.022;exitDx=0;exitDy=0;exitPerimeter=0;fillColor=#e51400;strokeColor=default;" parent="145" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry width="160" relative="1" as="geometry">
<mxPoint x="486.3599999999999" y="480.53999999999996" as="sourcePoint"/>
<mxPoint x="461" y="929" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="249" value="Observer &lt;interface&gt;" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
<mxGeometry x="27" y="150" width="160" height="86" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="250" value="# getSubject() : Subject" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="249" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="26" width="160" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="251" value="+ update() : void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="249" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="56" width="160" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="252" value="Subject" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;" parent="145" vertex="1">
<mxGeometry x="27" y="340" width="160" height="160" as="geometry">
2023-05-31 23:08:15 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="253" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 130, 199);&quot;&gt;- L : list&amp;lt;Observer*&amp;gt;&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="26" width="160" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="254" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="56" width="160" height="8" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="255" value="# notify() : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="64" width="160" height="24" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="256" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="88" width="160" height="8" as="geometry"/>
</mxCell>
<mxCell id="257" value="&lt;span style=&quot;color: rgb(240, 240, 240); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; float: none; display: inline !important; background-color: rgb(216, 130, 199);&quot;&gt;+ remove (Observer*) : void&lt;/span&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="96" width="160" height="32" as="geometry"/>
</mxCell>
<mxCell id="258" value="&lt;font face=&quot;Helvetica&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;+ insert (Observer*) : void&lt;/span&gt;&lt;/font&gt;" style="text;whiteSpace=wrap;html=1;fontSize=10;fontFamily=Verdana;fontColor=default;" parent="252" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="128" width="160" height="30" as="geometry"/>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="259" style="edgeStyle=none;html=1;endArrow=open;endFill=0;entryX=0.653;entryY=0.003;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.647;exitY=0.989;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="251" target="252" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry relative="1" as="geometry">
<mxPoint x="290.00000000000017" y="290" as="targetPoint"/>
<mxPoint x="129" y="260" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="260" style="edgeStyle=none;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0.249;entryY=1.005;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="252" target="251" edge="1">
2023-06-08 11:45:31 +00:00
<mxGeometry relative="1" as="geometry">
<mxPoint x="161" y="259" as="targetPoint"/>
<mxPoint x="504.8100000000001" y="470.0100000000002" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="261" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;" parent="145" source="262" target="249" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1030" y="40" as="sourcePoint"/>
2023-06-08 11:45:31 +00:00
<mxPoint x="670" y="70" as="targetPoint"/>
<Array as="points">
2023-06-08 11:45:31 +00:00
<mxPoint x="400" y="130"/>
<mxPoint x="600" y="130"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="262" value="UI" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
2023-06-11 15:39:49 +00:00
<mxGeometry x="930" y="157" width="160" height="100" as="geometry">
2023-06-08 11:45:31 +00:00
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="263" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=1;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="262" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="26" width="160" height="14" as="geometry"/>
</mxCell>
<mxCell id="264" value="+ update() : void" style="text;whiteSpace=wrap;html=1;" parent="262" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="40" width="160" height="60" as="geometry"/>
</mxCell>
<mxCell id="265" value="Main" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;fillColor=none;fontColor=#ffffff;strokeColor=#c5c7c9;" parent="145" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry x="580" y="160" width="160" height="100" as="geometry">
<mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds"/>
</mxGeometry>
</mxCell>
<mxCell id="266" value="" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="265" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="26" width="160" height="40" as="geometry"/>
</mxCell>
<mxCell id="267" value="+ main(): void" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#c5c7c9;fillColor=none;" parent="265" vertex="1">
2023-06-08 11:45:31 +00:00
<mxGeometry y="66" width="160" height="30" as="geometry"/>
</mxCell>
<mxCell id="272" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.002;exitY=0.739;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" source="202" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="651" y="549" as="sourcePoint"/>
<mxPoint x="1135" y="970" as="targetPoint"/>
<Array as="points">
<mxPoint x="1135" y="800"/>
<mxPoint x="1041" y="390"/>
<mxPoint x="1221" y="440"/>
<mxPoint x="1210" y="440"/>
<mxPoint x="1221" y="460"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="274" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=1.01;exitY=0.507;exitDx=0;exitDy=0;exitPerimeter=0;" parent="145" target="226" edge="1" source="208">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1090" y="610" as="sourcePoint"/>
<mxPoint x="1121" y="490" as="targetPoint"/>
<Array as="points">
<mxPoint x="1155" y="790"/>
<mxPoint x="1051" y="400"/>
<mxPoint x="1231" y="450"/>
<mxPoint x="1220" y="450"/>
<mxPoint x="1231" y="470"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="275" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;strokeWidth=1;" parent="145" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="448" as="sourcePoint"/>
<mxPoint x="780" y="1033" as="targetPoint"/>
<Array as="points">
<mxPoint x="330" y="680"/>
<mxPoint x="310" y="900"/>
<mxPoint x="510" y="1080"/>
<mxPoint x="310" y="1120"/>
<mxPoint x="220" y="1120"/>
<mxPoint x="290" y="1070"/>
<mxPoint x="300" y="840"/>
<mxPoint x="510" y="1070"/>
<mxPoint x="340" y="870"/>
<mxPoint x="1051" y="400"/>
<mxPoint x="1231" y="450"/>
<mxPoint x="1220" y="450"/>
<mxPoint x="1231" y="470"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="279" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;strokeWidth=1;exitX=1.007;exitY=0.551;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.089;entryY=-0.001;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="205" target="226" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="750" y="440" as="sourcePoint"/>
<mxPoint x="1120" y="1025" as="targetPoint"/>
<Array as="points">
<mxPoint x="1130" y="540"/>
<mxPoint x="1100" y="730"/>
<mxPoint x="650" y="892"/>
<mxPoint x="850" y="1072"/>
<mxPoint x="650" y="1112"/>
<mxPoint x="560" y="1112"/>
<mxPoint x="630" y="1062"/>
<mxPoint x="640" y="832"/>
<mxPoint x="850" y="1062"/>
<mxPoint x="680" y="862"/>
<mxPoint x="1391" y="392"/>
<mxPoint x="1571" y="442"/>
<mxPoint x="1560" y="442"/>
<mxPoint x="1571" y="462"/>
</Array>
</mxGeometry>
2023-05-31 23:08:15 +00:00
</mxCell>
<mxCell id="283" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.011;exitY=0.669;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;exitPerimeter=0;" parent="145" source="266" target="264" edge="1">
2023-06-11 15:39:49 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="829.9999999999998" y="235" as="sourcePoint"/>
<mxPoint x="931" y="470" as="targetPoint"/>
<Array as="points">
<mxPoint x="840" y="220"/>
<mxPoint x="751" y="370"/>
<mxPoint x="931" y="420"/>
<mxPoint x="920" y="420"/>
<mxPoint x="931" y="440"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="285" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.013;exitY=1.133;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" parent="145" source="267" target="206" edge="1">
2023-06-11 15:39:49 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="751.76" y="222.76" as="sourcePoint"/>
<mxPoint x="940" y="222" as="targetPoint"/>
<Array as="points">
<mxPoint x="831" y="410"/>
<mxPoint x="761" y="380"/>
<mxPoint x="941" y="430"/>
<mxPoint x="930" y="430"/>
<mxPoint x="941" y="450"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="287" value="" style="edgeStyle=elbowEdgeStyle;elbow=horizontal;endArrow=classic;html=1;curved=0;rounded=0;endSize=8;startSize=8;exitX=1.023;exitY=0.528;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.001;entryY=0.13;entryDx=0;entryDy=0;entryPerimeter=0;" parent="145" source="267" edge="1" target="209">
2023-06-11 15:39:49 +00:00
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="752.0800000000002" y="269.99" as="sourcePoint"/>
<mxPoint x="1110" y="480" as="targetPoint"/>
<Array as="points">
<mxPoint x="841" y="420"/>
<mxPoint x="771" y="390"/>
<mxPoint x="951" y="440"/>
<mxPoint x="940" y="440"/>
<mxPoint x="951" y="460"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="322" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="420" as="sourcePoint"/>
<mxPoint x="411.00000000000006" y="419.81000000000006" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="323" value="return m1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="290" y="405" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="324" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="435.19" as="sourcePoint"/>
<mxPoint x="411" y="435.00000000000006" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="325" value="return m2" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="290" y="420" width="70" height="30" as="geometry"/>
</mxCell>
<mxCell id="326" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1030" y="210" as="sourcePoint"/>
<mxPoint x="1245" y="210" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="327" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;font color=&quot;#ffffff&quot;&gt;cout &amp;lt;&amp;lt; dynamic_cast&amp;lt;TsensorImpl*&amp;gt;(getSubject())-&amp;gt;temperature() &amp;lt;&amp;lt; endl;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="1240" y="195" width="580" height="30" as="geometry"/>
</mxCell>
<mxCell id="331" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="870" y="450" as="sourcePoint"/>
<mxPoint x="870" y="40" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="332" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="464" as="sourcePoint"/>
<mxPoint x="880" y="460" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="333" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="880" y="460" as="sourcePoint"/>
<mxPoint x="880.0000000000002" y="48" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="334" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t1 = m1-&amp;gt;tsensor();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t1-&amp;gt;read();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m1-&amp;gt;start();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t2 = m2-&amp;gt;tsensor();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; t2-&amp;gt;read();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m2-&amp;gt;start();&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;" vertex="1" parent="145">
<mxGeometry x="670" y="-40" width="200" height="130" as="geometry"/>
</mxCell>
<mxCell id="335" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m1-&amp;gt;stop();&lt;/div&gt;&lt;div style=&quot;&quot;&gt;&amp;nbsp; &amp;nbsp; m2-&amp;gt;stop();&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#FFFFFF;" vertex="1" parent="145">
<mxGeometry x="850" y="10" width="140" height="50" as="geometry"/>
</mxCell>
<mxCell id="336" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;entryX=0.002;entryY=0.814;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="145">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="489" y="615.19" as="sourcePoint"/>
<mxPoint x="540" y="615" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="337" value="return t1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="145">
<mxGeometry x="419" y="600" width="70" height="30" as="geometry"/>
</mxCell>
2023-05-31 23:08:15 +00:00
</root>
</mxGraphModel>
</diagram>
</mxfile>