job-compiler/doc/architecture.drawio

153 lines
14 KiB
Text

<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0" version="26.0.5" pages="2">
<diagram name="Page-1" id="PLUMYXdu9SA_pgNq1dtu">
<mxGraphModel dx="1002" dy="689" 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="136IePsxJNmV7utgo-Hb-1" value="&lt;font face=&quot;Courier New&quot;&gt;RECIPE&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="380" y="410" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-2" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="136IePsxJNmV7utgo-Hb-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="520" as="sourcePoint" />
<mxPoint x="460" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-3" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="136IePsxJNmV7utgo-Hb-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="440" as="sourcePoint" />
<mxPoint x="370" y="449.71" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-4" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" target="136IePsxJNmV7utgo-Hb-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="360" as="sourcePoint" />
<mxPoint x="460" y="380.29" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="136IePsxJNmV7utgo-Hb-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="560" y="440" as="sourcePoint" />
<mxPoint x="560" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-6" value="&lt;font face=&quot;Courier New&quot;&gt;outputs&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="560" y="425" width="70" height="30" as="geometry" />
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-7" value="&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;non-consumable&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;dependencies&lt;br&gt;(tools, equipment, etc)&lt;br&gt;&lt;/font&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="345" y="300" width="190" height="60" as="geometry" />
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-8" value="&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;consumable dependencies&lt;br&gt;(feedstock, materials, etc)&lt;br&gt;&lt;/font&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="100" y="420" width="220" height="40" as="geometry" />
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-9" value="&lt;font face=&quot;Courier New&quot;&gt;configuration&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="380" y="520" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="136IePsxJNmV7utgo-Hb-13" value="&lt;font face=&quot;Courier New&quot;&gt;a part is built out of multiple recipes, linked together by the job compiler&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="1">
<mxGeometry x="140" y="580" width="570" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="rXsLibwIr0ZVfhthlIxh" name="Page-2">
<mxGraphModel dx="1231" dy="730" 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="VWRE3TYx3Ee-TQKsZSv7-22" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="520" y="480" width="160" height="200" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-23" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="VWRE3TYx3Ee-TQKsZSv7-22">
<mxGeometry y="-80" width="160" height="280" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-12" value="&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;item&lt;/b&gt;&lt;br&gt;peristaltic pump&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="VWRE3TYx3Ee-TQKsZSv7-22">
<mxGeometry x="20" y="50" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="80" y="480" width="160" height="200" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-2" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="VWRE3TYx3Ee-TQKsZSv7-1">
<mxGeometry y="-80" width="160" height="280" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-7" value="&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;item&lt;/b&gt;&lt;br&gt;peristaltic pump component 2&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="VWRE3TYx3Ee-TQKsZSv7-1">
<mxGeometry x="20" y="50" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-4" value="&lt;font face=&quot;Courier New&quot;&gt;peristaltic pump example&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="80" y="240" width="140" height="30" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;" edge="1" parent="1" source="VWRE3TYx3Ee-TQKsZSv7-5" target="VWRE3TYx3Ee-TQKsZSv7-7">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="VWRE3TYx3Ee-TQKsZSv7-5" target="VWRE3TYx3Ee-TQKsZSv7-12">
<mxGeometry relative="1" as="geometry">
<mxPoint x="760" y="550" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-5" value="&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;recipe&lt;/b&gt;&lt;br&gt;peristaltic pump&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="320" y="530" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" edge="1" parent="1" source="VWRE3TYx3Ee-TQKsZSv7-6" target="VWRE3TYx3Ee-TQKsZSv7-5">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="280" y="480" />
<mxPoint x="280" y="545" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-6" value="&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;recipe&lt;/b&gt;&lt;br&gt;peristaltic pump component 1&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-80" y="450" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-3" value="&lt;font face=&quot;Courier New&quot;&gt;stash&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="180" y="400" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-28" value="&lt;font face=&quot;Courier New&quot;&gt;stash miss&lt;br&gt;&lt;/font&gt;" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.callout;linkText=;textSize=17;textColor=#666666;callDir=NE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=top;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="170" y="380" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-29" value="&lt;font face=&quot;Courier New&quot;&gt;interior recipe found to satisfy requirement&lt;br&gt;&lt;/font&gt;" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.callout;linkText=;textSize=17;textColor=#666666;callDir=NE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=top;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="-20" y="350" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-33" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="-390" y="330" width="60" height="390" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-30" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="VWRE3TYx3Ee-TQKsZSv7-33">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="30" y="390" as="sourcePoint" />
<mxPoint x="30" y="30" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-32" value="&lt;font face=&quot;Courier New&quot;&gt;enclave boundary&lt;br&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="VWRE3TYx3Ee-TQKsZSv7-33">
<mxGeometry width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-36" value="" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-280" y="400" width="160" height="120" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="VWRE3TYx3Ee-TQKsZSv7-37" target="VWRE3TYx3Ee-TQKsZSv7-6">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-37" value="&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;item&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;filament&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-260" y="450" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-40" value="&lt;font face=&quot;Courier New&quot;&gt;stash&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="-180" y="400" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="VWRE3TYx3Ee-TQKsZSv7-41" target="VWRE3TYx3Ee-TQKsZSv7-5">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="280" y="640" />
<mxPoint x="280" y="575" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-41" value="&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;&lt;b&gt;recipe&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face=&quot;Courier New&quot;&gt;purchase fasteners&lt;/font&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-420" y="610" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-42" value="&lt;font face=&quot;Courier New&quot;&gt;exterior recipe found to satisfy requirement&lt;br&gt;&lt;/font&gt;" style="strokeWidth=1;shadow=0;dashed=0;align=center;html=1;shape=mxgraph.mockup.text.callout;linkText=;textSize=17;textColor=#666666;callDir=NE;callStyle=line;fontSize=17;fontColor=#666666;align=right;verticalAlign=top;strokeColor=#666666;" vertex="1" parent="1">
<mxGeometry x="-300" y="530" width="200" height="100" as="geometry" />
</mxCell>
<mxCell id="VWRE3TYx3Ee-TQKsZSv7-25" value="&lt;font face=&quot;Courier New&quot;&gt;stash&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="620" y="400" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>