Files
internal-docs/fig/mask-ddpm-figure.drawio.svg

1 line
11 KiB
XML

<mxfile host="app.diagrams.net" modified="2026-02-08T03:26:07Z" agent="ChatGPT" version="22.1.3" type="device"><diagram id="9ba2ae1a-e5c4-4f47-a388-736d1a3410f3" name="Page-1">&lt;mxGraphModel dx="1200" dy="800" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="900" math="0" shadow="0"&gt;&lt;root&gt;&lt;mxCell id="0" /&gt;&lt;mxCell id="1" parent="0" /&gt;&lt;mxCell id="2" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=2;strokeColor=#4B5563;fillColor=none;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="120" y="50" width="1400" height="520" /&gt;&lt;/mxCell&gt;&lt;mxCell id="3" value="&amp;lt;b&amp;gt;Mask-DDPM: Unified Synthesis for ICS Telemetry&amp;lt;/b&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=22;fontStyle=1;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="400" y="600" width="900" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="4" value="&amp;lt;b&amp;gt;Input ICS Data&amp;lt;/b&amp;gt;" style="text;html=1;align=right;verticalAlign=middle;fontSize=20;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="0" y="110" width="110" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="5" value="&amp;lt;i&amp;gt;Continuous&amp;lt;br/&amp;gt;Channels X&amp;lt;/i&amp;gt;" style="text;html=1;align=right;verticalAlign=middle;fontSize=16;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="0" y="160" width="110" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="6" value="&amp;lt;i&amp;gt;Discrete&amp;lt;br/&amp;gt;Channels Y&amp;lt;/i&amp;gt;" style="text;html=1;align=right;verticalAlign=middle;fontSize=16;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="0" y="245" width="110" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="7" value="&amp;lt;i&amp;gt;Continuous&amp;lt;br/&amp;gt;Channels X&amp;lt;/i&amp;gt;" style="text;html=1;align=right;verticalAlign=middle;fontSize=16;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="0" y="335" width="110" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="8" value="&amp;lt;i&amp;gt;Discrete&amp;lt;br/&amp;gt;Channels Y&amp;lt;/i&amp;gt;" style="text;html=1;align=right;verticalAlign=middle;fontSize=16;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="0" y="420" width="110" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="9" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3F4F6;strokeColor=#9CA3AF;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="130" y="155" width="90" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="10" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3F4F6;strokeColor=#9CA3AF;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="130" y="245" width="90" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="11" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3F4F6;strokeColor=#9CA3AF;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="130" y="335" width="90" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="12" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F3F4F6;strokeColor=#9CA3AF;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="130" y="425" width="90" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="13" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F9D5D3;strokeColor=#6B7280;strokeWidth=2;" vertex="1" parent="2"&gt;&lt;mxGeometry as="geometry" x="140" y="30" width="290" height="440" /&gt;&lt;/mxCell&gt;&lt;mxCell id="14" value="Transformer Trend Module" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4D8B;strokeColor=#1F4D8B;fontColor=#FFFFFF;fontSize=16;fontStyle=1;align=center;verticalAlign=middle;" vertex="1" parent="13"&gt;&lt;mxGeometry as="geometry" x="10" y="10" width="270" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="15" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#9CA3AF;" vertex="1" parent="13"&gt;&lt;mxGeometry as="geometry" x="20" y="70" width="250" height="250" /&gt;&lt;/mxCell&gt;&lt;mxCell id="16" value="&amp;lt;b&amp;gt;Transformer&amp;lt;/b&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="13"&gt;&lt;mxGeometry as="geometry" x="20" y="330" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="17" value="&amp;lt;i&amp;gt;Trend Signal S&amp;lt;/i&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="13"&gt;&lt;mxGeometry as="geometry" x="20" y="362" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="18" value="Long-Term Temporal&amp;lt;br/&amp;gt;Patterning" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="13"&gt;&lt;mxGeometry as="geometry" x="20" y="394" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="19" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8E7C6;strokeColor=#6B7280;strokeWidth=2;" vertex="1" parent="2"&gt;&lt;mxGeometry as="geometry" x="450" y="30" width="290" height="440" /&gt;&lt;/mxCell&gt;&lt;mxCell id="20" value="Residual DDPM" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4D8B;strokeColor=#1F4D8B;fontColor=#FFFFFF;fontSize=16;fontStyle=1;align=center;verticalAlign=middle;" vertex="1" parent="19"&gt;&lt;mxGeometry as="geometry" x="10" y="10" width="270" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="21" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#9CA3AF;" vertex="1" parent="19"&gt;&lt;mxGeometry as="geometry" x="20" y="70" width="250" height="250" /&gt;&lt;/mxCell&gt;&lt;mxCell id="22" value="&amp;lt;i&amp;gt;Noisy Residual R&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;&amp;lt;/i&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="19"&gt;&lt;mxGeometry as="geometry" x="20" y="330" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="23" value="&amp;lt;i&amp;gt;Denoised Residual Ř&amp;lt;/i&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="19"&gt;&lt;mxGeometry as="geometry" x="20" y="362" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="24" value="Stochastic Refinement" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="19"&gt;&lt;mxGeometry as="geometry" x="20" y="394" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="25" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DFF1D5;strokeColor=#6B7280;strokeWidth=2;" vertex="1" parent="2"&gt;&lt;mxGeometry as="geometry" x="760" y="30" width="290" height="440" /&gt;&lt;/mxCell&gt;&lt;mxCell id="26" value="Masked Discrete Diffusion" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4D8B;strokeColor=#1F4D8B;fontColor=#FFFFFF;fontSize=16;fontStyle=1;align=center;verticalAlign=middle;" vertex="1" parent="25"&gt;&lt;mxGeometry as="geometry" x="10" y="10" width="270" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="27" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#9CA3AF;" vertex="1" parent="25"&gt;&lt;mxGeometry as="geometry" x="20" y="70" width="250" height="250" /&gt;&lt;/mxCell&gt;&lt;mxCell id="28" value="&amp;lt;b&amp;gt;MASK&amp;lt;/b&amp;gt; | ..." style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="25"&gt;&lt;mxGeometry as="geometry" x="20" y="330" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="29" value="&amp;lt;i&amp;gt;Discrete States Ŷ&amp;lt;/i&amp;gt;" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="25"&gt;&lt;mxGeometry as="geometry" x="20" y="362" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="30" value="Categorical Reconstruction" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="25"&gt;&lt;mxGeometry as="geometry" x="20" y="394" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="31" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D6E6F7;strokeColor=#6B7280;strokeWidth=2;" vertex="1" parent="2"&gt;&lt;mxGeometry as="geometry" x="1070" y="30" width="290" height="440" /&gt;&lt;/mxCell&gt;&lt;mxCell id="32" value="Type-Aware Decomposition" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4D8B;strokeColor=#1F4D8B;fontColor=#FFFFFF;fontSize=16;fontStyle=1;align=center;verticalAlign=middle;" vertex="1" parent="31"&gt;&lt;mxGeometry as="geometry" x="10" y="10" width="270" height="40" /&gt;&lt;/mxCell&gt;&lt;mxCell id="33" value="" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#9CA3AF;" vertex="1" parent="31"&gt;&lt;mxGeometry as="geometry" x="20" y="70" width="250" height="250" /&gt;&lt;/mxCell&gt;&lt;mxCell id="34" value="Type 1..6 routing" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="31"&gt;&lt;mxGeometry as="geometry" x="20" y="330" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="35" value="Mechanism-Aligned&amp;lt;br/&amp;gt;Routing" style="text;html=1;align=center;verticalAlign=middle;fontSize=14;" vertex="1" parent="31"&gt;&lt;mxGeometry as="geometry" x="20" y="362" width="250" height="30" /&gt;&lt;/mxCell&gt;&lt;mxCell id="36" value="" style="endArrow=block;html=1;strokeWidth=4;strokeColor=#1F4D8B;" edge="1" parent="2" source="13" target="19"&gt;&lt;mxGeometry relative="1" as="geometry" /&gt;&lt;/mxCell&gt;&lt;mxCell id="37" value="" style="endArrow=block;html=1;strokeWidth=4;strokeColor=#1F4D8B;" edge="1" parent="2" source="19" target="25"&gt;&lt;mxGeometry relative="1" as="geometry" /&gt;&lt;/mxCell&gt;&lt;mxCell id="38" value="" style="endArrow=block;html=1;strokeWidth=4;strokeColor=#1F4D8B;" edge="1" parent="2" source="25" target="31"&gt;&lt;mxGeometry relative="1" as="geometry" /&gt;&lt;/mxCell&gt;&lt;mxCell id="39" value="&amp;lt;b&amp;gt;Synthetic ICS Data&amp;lt;/b&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Realistic &amp;amp;amp;&amp;lt;br/&amp;gt;Consistent Output" style="text;html=1;align=center;verticalAlign=middle;fontSize=16;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="1490" y="210" width="160" height="160" /&gt;&lt;/mxCell&gt;&lt;mxCell id="40" value="" style="shape=cube;whiteSpace=wrap;html=1;size=20;fillColor=#FFFFFF;strokeColor=#6B7280;strokeWidth=2;" vertex="1" parent="1"&gt;&lt;mxGeometry as="geometry" x="1500" y="140" width="140" height="120" /&gt;&lt;/mxCell&gt;&lt;mxCell id="41" value="" style="endArrow=block;html=1;strokeWidth=4;strokeColor=#1F4D8B;" edge="1" parent="2" source="31" target="40"&gt;&lt;mxGeometry relative="1" as="geometry" /&gt;&lt;/mxCell&gt;&lt;mxCell id="42" value="" style="endArrow=block;html=1;strokeWidth=3;strokeColor=#6B7280;rounded=1;" edge="1" parent="1" source="40" target="4"&gt;&lt;mxGeometry relative="1" as="geometry"&gt;&lt;Array as="points"&gt;&lt;mxPoint x="1640" y="60" /&gt;&lt;mxPoint x="60" y="60" /&gt;&lt;mxPoint x="60" y="120" /&gt;&lt;/Array&gt;&lt;/mxGeometry&gt;&lt;/mxCell&gt;&lt;/root&gt;&lt;/mxGraphModel&gt;</diagram></mxfile>