Skip to content

Commit 894bb91

Browse files
authored
Merge pull request #4 from Desiment/desiment
Desiment
2 parents 8edd265 + d43c77e commit 894bb91

File tree

8 files changed

+431
-70
lines changed

8 files changed

+431
-70
lines changed
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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="&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;b&gt;ParametricFamily&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ distr_name: str&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ distr_type: DistributionType&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ parametrization: ParametersSpec&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ default_sampling_strategy: SamplingStrategy&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ default_computation_strategy: ComputationStrategy&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ distr_characteristics: Dict[GenericCharacterisicName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;text-align: right; background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Callable[[Parametrization], AnalyticalComputation]&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;]&lt;/span&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&amp;nbsp;+ distribution(Parameters, **kwargs): ParametricFamilyDistribution&lt;div&gt;&lt;div&gt;&amp;nbsp;+ add_characteristic(GenericCharacterisicName, Callable&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&amp;nbsp;+ add_parametrization(&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;ParametrizationName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Parametrization)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" 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="&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;≪singleton≫&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;b&gt;ParametricFamilyRegister&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ families_register : Dict[str,&amp;nbsp;ParametricFamily]&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;div&gt;&amp;nbsp;+ add_parametric_family(ParametricFamily)&lt;/div&gt;&lt;div&gt;&amp;nbsp;+ get(str):&amp;nbsp;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;ParametricFamily&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" 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="&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;b&gt;ParametricFamilyDistribution&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ &amp;lt;&amp;lt;property&amp;gt;&amp;gt; family: ParametricFamily&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ &amp;lt;&amp;lt;property&amp;gt;&amp;gt; parameters: Parametrization&lt;/span&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" 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="&amp;lt;&amp;lt;Protocol&amp;gt;&amp;gt;&lt;br&gt;&lt;b&gt;Distribution&lt;/b&gt;" 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="&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;b&gt;ParametersSpec&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ base_parametrization: ParametrizationName&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ parametrizations: Dict[ParametrizationName, Type[Parametrization]]&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&amp;nbsp;+ add_parametrization(&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;ParametrizationName,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;Parametrization)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" 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="&lt;p style=&quot;text-align: right; margin: 4px 0px 0px;&quot;&gt;&lt;i&gt;str&lt;/i&gt;&lt;i style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&amp;nbsp;&lt;/i&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;≪typedef≫&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;span style=&quot;text-align: left;&quot;&gt;&lt;b&gt;ParametrizationName&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" 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="&lt;p style=&quot;margin: 4px 0px 0px; text-align: center;&quot;&gt;&lt;b&gt;&lt;i&gt;Parametrization&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr style=&quot;border-style: solid;&quot; size=&quot;1&quot;&gt;&lt;div&gt;&amp;nbsp;+ &amp;lt;&amp;lt;property&amp;gt;&amp;gt; name: ParametrizationName&lt;/div&gt;&lt;div&gt;&amp;nbsp;+ &amp;lt;&amp;lt;property&amp;gt;&amp;gt; parameters: Dict[str, Any]&lt;/div&gt;&lt;div&gt;&amp;nbsp;+ &amp;lt;&amp;lt;property&amp;gt;&amp;gt; constraints: Set[ParametrizationConstraint]&lt;/div&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;+ _validate()&lt;/p&gt;" 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="&lt;p style=&quot;margin:0px;margin-top:4px;text-align:center;&quot;&gt;&lt;b&gt;ParameterizationConstraint&lt;/b&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;p style=&quot;margin:0px;margin-left:4px;&quot;&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;+ description: str&lt;/span&gt;&lt;/p&gt;&lt;hr size=&quot;1&quot; style=&quot;border-style:solid;&quot;&gt;&lt;div&gt;&lt;div&gt;&amp;nbsp;+ check(Dicst[str, Any]): bool&lt;/div&gt;&lt;/div&gt;" 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>
65.6 KB
Loading

core-design-document.pdf

34.7 KB
Binary file not shown.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
\section{Логическая структура}
22
\input{src/architectural-views/logical-structure/01-overview}
3+
\newpage
34
\input{src/architectural-views/logical-structure/02-distributions}
5+
\newpage
6+
\input{src/architectural-views/logical-structure/03-parametric-families}

src/architectural-views/logical-structure/02-distributions.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ \subsubsection{Реестр преобразований характерист
112112

113113
\begin{figure}[htbp]
114114
\centering
115-
\includegraphics[width=\linewidth]{assets/images/Register.png}
115+
\includegraphics[width=0.5\linewidth]{assets/images/Register.png}
116116
\caption{Реестр преобразований для типа распределения: \texttt{DistributionTypeRegister}
117117
и \texttt{GenericCharacteristicRegister} с инвариантами (связность definitive-подграфа,
118118
отсутствие обратных рёбер из indefinitive).}

0 commit comments

Comments
 (0)