<mxfile host="Electron" modified="2024-03-05T07:29:02.714Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/23.1.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="7GHwNhR7WAC2rOnc1UU4" scale="1" border="0" version="23.1.5" type="device">
  <diagram name="Page-1" id="Cfy-Rn5kCS3EPLz5Mwja">
    <mxGraphModel dx="1114" dy="686" 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="h67aKU-kCp2sBK-wfrBz-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=13;" parent="1" source="h67aKU-kCp2sBK-wfrBz-3" target="h67aKU-kCp2sBK-wfrBz-8" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fontSize=13;" parent="1" source="h67aKU-kCp2sBK-wfrBz-3" target="h67aKU-kCp2sBK-wfrBz-17" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-3" value="sim.py" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=13;" parent="1" vertex="1">
          <mxGeometry x="274" y="160" width="140" height="120" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-4" value="SimPositioner&lt;span style=&quot;white-space: pre; font-size: 13px;&quot;&gt;&#x9;&lt;/span&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-3" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-5" value="SimMonitor" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-3" vertex="1">
          <mxGeometry y="60" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-6" value="SimCamera" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-3" vertex="1">
          <mxGeometry y="90" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-21" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=classic;endFill=1;startArrow=classic;startFill=1;fontSize=13;" parent="1" source="h67aKU-kCp2sBK-wfrBz-7" target="h67aKU-kCp2sBK-wfrBz-15" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-22" value="- sim_state &lt;br style=&quot;font-size: 13px;&quot;&gt;(hosts simulated state)" style="edgeLabel;html=1;align=left;verticalAlign=middle;resizable=0;points=[];fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-21" vertex="1" connectable="0">
          <mxGeometry x="-0.25" y="-2" relative="1" as="geometry">
            <mxPoint x="-60" y="15" as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-7" value="sim_signals.py" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=13;" parent="1" vertex="1">
          <mxGeometry x="414" y="30" width="140" height="90" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-8" value="SettableSignal" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-7" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-9" value="ReadOnlySignal" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-7" vertex="1">
          <mxGeometry y="60" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-15" value="sim_data.py" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=13;" parent="1" vertex="1">
          <mxGeometry x="414" y="320" width="140" height="120" as="geometry">
            <mxRectangle x="510" y="280" width="110" height="30" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-16" value="SimulatedDataBase" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-15" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-17" value="SimulatedDataMonitor" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-15" vertex="1">
          <mxGeometry y="60" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-18" value="SimulatedDataCamera" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-15" vertex="1">
          <mxGeometry y="90" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-28" value="assigns method to override&amp;nbsp;&lt;br style=&quot;font-size: 13px;&quot;&gt;behaviour of a signal of&amp;nbsp;&lt;br style=&quot;font-size: 13px;&quot;&gt;a simulated device" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontSize=13;" parent="1" source="h67aKU-kCp2sBK-wfrBz-23" target="h67aKU-kCp2sBK-wfrBz-5" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-23" value="sim_frameworks.py" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=13;" parent="1" vertex="1">
          <mxGeometry x="20" y="320" width="140" height="90" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-24" value="&lt;div style=&quot;color: rgb(36, 41, 46); background-color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;&quot;&gt;&lt;font face=&quot;Helvetica&quot; style=&quot;font-size: 13px;&quot;&gt;SlitProxy&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-23" vertex="1">
          <mxGeometry y="30" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-25" value="&lt;div style=&quot;color: rgb(36, 41, 46); background-color: rgb(255, 255, 255); line-height: 18px; font-size: 13px;&quot;&gt;&lt;font face=&quot;Helvetica&quot; style=&quot;font-size: 13px;&quot;&gt;H5ImageReplayProxy&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;fontSize=13;" parent="h67aKU-kCp2sBK-wfrBz-23" vertex="1">
          <mxGeometry y="60" width="140" height="30" as="geometry" />
        </mxCell>
        <mxCell id="h67aKU-kCp2sBK-wfrBz-29" value="overrides _compute_method&amp;nbsp;&lt;br style=&quot;font-size: 13px;&quot;&gt;from sim_data class" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.486;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;exitX=0.486;exitY=1.033;exitDx=0;exitDy=0;exitPerimeter=0;fontSize=13;" parent="1" source="h67aKU-kCp2sBK-wfrBz-25" target="h67aKU-kCp2sBK-wfrBz-18" edge="1">
          <mxGeometry x="-0.4341" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="eiqkBEc7D3UI14zJ81t_-2" value="&lt;div style=&quot;text-align: justify; font-size: 13px;&quot;&gt;&lt;br style=&quot;font-size: 13px;&quot;&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;dashed=1;strokeColor=#9673a6;strokeWidth=1.5;fillStyle=solid;opacity=12;gradientColor=none;fontSize=13;" parent="1" vertex="1">
          <mxGeometry x="270" y="20" width="290" height="460" as="geometry" />
        </mxCell>
        <mxCell id="NRfVWOsRHMjiBT5IuF4j-1" value="&lt;font size=&quot;1&quot; style=&quot;&quot;&gt;&lt;b style=&quot;font-size: 16px;&quot;&gt;Device&lt;/b&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=13;" vertex="1" parent="1">
          <mxGeometry x="273" y="20" width="50" height="20" as="geometry" />
        </mxCell>
        <mxCell id="NRfVWOsRHMjiBT5IuF4j-2" value="&lt;font size=&quot;1&quot; style=&quot;&quot;&gt;&lt;b style=&quot;font-size: 16px;&quot;&gt;DeviceProxy&lt;/b&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;fontSize=13;" vertex="1" parent="1">
          <mxGeometry x="30" y="180" width="50" height="20" as="geometry" />
        </mxCell>
        <mxCell id="NRfVWOsRHMjiBT5IuF4j-3" value="&lt;div style=&quot;text-align: justify; font-size: 13px;&quot;&gt;&lt;br style=&quot;font-size: 13px;&quot;&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#67AB9F;dashed=1;strokeColor=#9673a6;strokeWidth=1.5;fillStyle=solid;opacity=15;gradientColor=none;fontSize=13;" vertex="1" parent="1">
          <mxGeometry y="180" width="250" height="300" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
