|
| 1 | +<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.2.2 Chrome/134.0.6998.178 Electron/35.1.2 Safari/537.36" version="26.2.2"> |
| 2 | + <diagram id="zdTVeen9bGGUc5OC5H-6" name="Class Diagram. Parametirc"> |
| 3 | + <mxGraphModel dx="1671" dy="874" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> |
| 4 | + <root> |
| 5 | + <mxCell id="0" /> |
| 6 | + <mxCell id="1" parent="0" /> |
| 7 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-3" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ParametricFamily</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ distr_name: str</span></p><p style="margin:0px;margin-left:4px;">+ distr_type: DistributionType<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));"></span></p><p style="margin:0px;margin-left:4px;">+ parametrization: ParametersSpec</p><p style="margin:0px;margin-left:4px;">+ default_sampling_strategy: SamplingStrategy</p><p style="margin:0px;margin-left:4px;">+ default_computation_strategy: ComputationStrategy</p><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ distr_characteristics: Dict[GenericCharacterisicName,&nbsp;</span><span style="text-align: right; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Callable[[Parametrization], AnalyticalComputation]</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">]</span></p><hr size="1" style="border-style:solid;">&nbsp;+ distribution(Parameters, **kwargs): ParametricFamilyDistribution<div><div>&nbsp;+ add_characteristic(GenericCharacterisicName, Callable<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">)</span></div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">&nbsp;+ add_parametrization(</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">ParametrizationName,&nbsp;</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Parametrization)</span></div></div><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 8 | + <mxGeometry x="-219" y="280" width="642" height="200" as="geometry" /> |
| 9 | + </mxCell> |
| 10 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-4" value="<p style="margin:0px;margin-top:4px;text-align:center;">≪singleton≫</p><p style="margin:0px;margin-top:4px;text-align:center;"><b>ParametricFamilyRegister</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ families_register : Dict[str,&nbsp;ParametricFamily]</p><hr size="1" style="border-style:solid;"><div>&nbsp;+ add_parametric_family(ParametricFamily)</div><div>&nbsp;+ get(str):&nbsp;<span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">ParametricFamily</span></div><div><br></div><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 11 | + <mxGeometry x="-148" y="120" width="500" height="120" as="geometry" /> |
| 12 | + </mxCell> |
| 13 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-7" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ParametricFamilyDistribution</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ &lt;&lt;property&gt;&gt; family: ParametricFamily</span></p><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ &lt;&lt;property&gt;&gt; parameters: Parametrization</span></p><hr size="1" style="border-style:solid;"><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 14 | + <mxGeometry x="523" y="400" width="250" height="80" as="geometry" /> |
| 15 | + </mxCell> |
| 16 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-10" value="" style="ellipse;whiteSpace=wrap;html=1;align=center;aspect=fixed;fillColor=none;strokeColor=none;resizable=0;perimeter=centerPerimeter;rotatable=0;allowArrows=0;points=[];outlineConnect=1;" parent="1" vertex="1"> |
| 17 | + <mxGeometry x="707" y="139" width="10" height="10" as="geometry" /> |
| 18 | + </mxCell> |
| 19 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-11" value="&lt;&lt;Protocol&gt;&gt;<br><b>Distribution</b>" style="html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 20 | + <mxGeometry x="610" y="515" width="76" height="50" as="geometry" /> |
| 21 | + </mxCell> |
| 22 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-13" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ParametersSpec</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ base_parametrization: ParametrizationName</span></p><p style="margin:0px;margin-left:4px;">+ parametrizations: Dict[ParametrizationName, Type[Parametrization]]</p><hr size="1" style="border-style:solid;"><div><div><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">&nbsp;+ add_parametrization(</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">ParametrizationName,&nbsp;</span><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">Parametrization)</span></div></div><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 23 | + <mxGeometry x="-148" y="490" width="495" height="100" as="geometry" /> |
| 24 | + </mxCell> |
| 25 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-15" value="<p style="text-align: right; margin: 4px 0px 0px;"><i>str</i><i style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">&nbsp;</i></p><p style="margin:0px;margin-top:4px;text-align:center;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">≪typedef≫</span></p><p style="margin:0px;margin-top:4px;text-align:center;"><span style="text-align: left;"><b>ParametrizationName</b></span></p><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 26 | + <mxGeometry x="642" y="110" width="140" height="90" as="geometry" /> |
| 27 | + </mxCell> |
| 28 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-17" value="<p style="margin: 4px 0px 0px; text-align: center;"><b><i>Parametrization</i></b></p><hr style="border-style: solid;" size="1"><div>&nbsp;+ &lt;&lt;property&gt;&gt; name: ParametrizationName</div><div>&nbsp;+ &lt;&lt;property&gt;&gt; parameters: Dict[str, Any]</div><div>&nbsp;+ &lt;&lt;property&gt;&gt; constraints: Set[ParametrizationConstraint]</div><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;">+ _validate()</p>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 29 | + <mxGeometry x="453" y="240" width="320" height="105" as="geometry" /> |
| 30 | + </mxCell> |
| 31 | + <mxCell id="U6YFoNA-gv7Cfr86YiHr-18" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>ParameterizationConstraint</b></p><hr size="1" style="border-style:solid;"><p style="margin:0px;margin-left:4px;"><span style="background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));">+ description: str</span></p><hr size="1" style="border-style:solid;"><div><div>&nbsp;+ check(Dicst[str, Any]): bool</div></div>" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;" parent="1" vertex="1"> |
| 32 | + <mxGeometry x="441" y="110" width="182" height="90" as="geometry" /> |
| 33 | + </mxCell> |
| 34 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-2" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;exitX=0;exitY=0.1;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="U6YFoNA-gv7Cfr86YiHr-13"> |
| 35 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 36 | + <mxPoint x="-239" y="540" as="sourcePoint" /> |
| 37 | + <mxPoint x="-219" y="350" as="targetPoint" /> |
| 38 | + <Array as="points"> |
| 39 | + <mxPoint x="-249" y="500" /> |
| 40 | + <mxPoint x="-249" y="350" /> |
| 41 | + </Array> |
| 42 | + </mxGeometry> |
| 43 | + </mxCell> |
| 44 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-4" value="" style="endArrow=diamondThin;endFill=0;endSize=24;html=1;rounded=0;exitX=0.002;exitY=0.095;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.001;entryY=0.411;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="U6YFoNA-gv7Cfr86YiHr-3" target="U6YFoNA-gv7Cfr86YiHr-4"> |
| 45 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 46 | + <mxPoint x="-379" y="169" as="sourcePoint" /> |
| 47 | + <mxPoint x="-219" y="169" as="targetPoint" /> |
| 48 | + <Array as="points"> |
| 49 | + <mxPoint x="-249" y="299" /> |
| 50 | + <mxPoint x="-249" y="169" /> |
| 51 | + </Array> |
| 52 | + </mxGeometry> |
| 53 | + </mxCell> |
| 54 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-5" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="U6YFoNA-gv7Cfr86YiHr-15"> |
| 55 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 56 | + <mxPoint x="547" y="230" as="sourcePoint" /> |
| 57 | + <mxPoint x="712" y="240" as="targetPoint" /> |
| 58 | + </mxGeometry> |
| 59 | + </mxCell> |
| 60 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-6" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1"> |
| 61 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 62 | + <mxPoint x="531.87" y="200" as="sourcePoint" /> |
| 63 | + <mxPoint x="531.87" y="240" as="targetPoint" /> |
| 64 | + </mxGeometry> |
| 65 | + </mxCell> |
| 66 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-7" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.61;exitY=1.002;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="U6YFoNA-gv7Cfr86YiHr-17" target="U6YFoNA-gv7Cfr86YiHr-7"> |
| 67 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 68 | + <mxPoint x="648" y="350" as="sourcePoint" /> |
| 69 | + <mxPoint x="577.62" y="385" as="targetPoint" /> |
| 70 | + </mxGeometry> |
| 71 | + </mxCell> |
| 72 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-8" value="" style="endArrow=none;html=1;edgeStyle=orthogonalEdgeStyle;rounded=0;entryX=0.007;entryY=0.192;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" target="U6YFoNA-gv7Cfr86YiHr-7"> |
| 73 | + <mxGeometry relative="1" as="geometry"> |
| 74 | + <mxPoint x="424" y="415" as="sourcePoint" /> |
| 75 | + <mxPoint x="466" y="450" as="targetPoint" /> |
| 76 | + </mxGeometry> |
| 77 | + </mxCell> |
| 78 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-9" value="creates" style="edgeLabel;resizable=0;html=1;align=left;verticalAlign=bottom;" connectable="0" vertex="1" parent="SeVK0lSRUfz3fqMAQHC1-8"> |
| 79 | + <mxGeometry x="-1" relative="1" as="geometry" /> |
| 80 | + </mxCell> |
| 81 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-10" value="created by" style="edgeLabel;resizable=0;html=1;align=right;verticalAlign=bottom;" connectable="0" vertex="1" parent="SeVK0lSRUfz3fqMAQHC1-8"> |
| 82 | + <mxGeometry x="1" relative="1" as="geometry"> |
| 83 | + <mxPoint x="-5" y="18" as="offset" /> |
| 84 | + </mxGeometry> |
| 85 | + </mxCell> |
| 86 | + <mxCell id="SeVK0lSRUfz3fqMAQHC1-12" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="U6YFoNA-gv7Cfr86YiHr-11" target="U6YFoNA-gv7Cfr86YiHr-7"> |
| 87 | + <mxGeometry width="160" relative="1" as="geometry"> |
| 88 | + <mxPoint x="494" y="480" as="sourcePoint" /> |
| 89 | + <mxPoint x="654" y="480" as="targetPoint" /> |
| 90 | + </mxGeometry> |
| 91 | + </mxCell> |
| 92 | + </root> |
| 93 | + </mxGraphModel> |
| 94 | + </diagram> |
| 95 | +</mxfile> |
0 commit comments