시스템의 큰 구조와 계층, 구성 요소 사이의 관계를 보여주는 다이어그램이다. UDS 진단 시스템을 예시로 작성했다.
Draw.io 원문
<mxfile host="65bd71144e">
<diagram name="UDS Architecture" id="uds-architecture">
<mxGraphModel dx="1544" dy="824" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="900" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="5" value="<span style="color: rgb(102, 102, 102); font-size: 12px;">Application Layer</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=11;fontStyle=1;fontColor=#2c5aa0;" parent="1" vertex="1">
<mxGeometry x="40" y="85" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="6" value="<span style="color: rgb(102, 102, 102); font-size: 12px;">Diagnostic Layer</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=11;fontStyle=1;fontColor=#2c5aa0;" parent="1" vertex="1">
<mxGeometry x="40" y="225" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="7" value="<span style="color: rgb(102, 102, 102); font-size: 12px;">Service Layer</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=11;fontStyle=1;fontColor=#2c5aa0;" parent="1" vertex="1">
<mxGeometry x="40" y="385" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="8" value="<span style="color: rgb(102, 102, 102); font-size: 12px;">Transport Layer</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=11;fontStyle=1;fontColor=#2c5aa0;" parent="1" vertex="1">
<mxGeometry x="40" y="605" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="9" value="<span style="color: rgb(102, 102, 102); font-size: 12px;">Physical Layer</span>" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=11;fontStyle=1;fontColor=#2c5aa0;" parent="1" vertex="1">
<mxGeometry x="40" y="735" width="140" height="30" as="geometry"/>
</mxCell>
<mxCell id="10" value="<b>Tester Application</b>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#2c5aa0;fontSize=11;fontStyle=0;gradientColor=#7ea6e0;gradientDirection=south;shadow=1;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="200" y="75" width="180" height="70" as="geometry"/>
</mxCell>
<mxCell id="11" value="<b>ECU Application</b>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#2c5aa0;fontSize=11;fontStyle=0;gradientColor=#7ea6e0;gradientDirection=south;shadow=1;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="430" y="75" width="180" height="70" as="geometry"/>
</mxCell>
<mxCell id="12" value="<b>Diagnostic Data Provider</b>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#2c5aa0;fontSize=11;fontStyle=0;gradientColor=#7ea6e0;gradientDirection=south;shadow=1;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="660" y="75" width="180" height="70" as="geometry"/>
</mxCell>
<mxCell id="20" value="<b>UDS Manager</b><br><br>Diagnostic Protocol Handler" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#6c3483;fontSize=11;fontStyle=0;align=center;verticalAlign=top;gradientColor=#a57db5;gradientDirection=south;shadow=1;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="330" y="210" width="420" height="80" as="geometry"/>
</mxCell>
<mxCell id="30" value="<b>Session Control</b><br>(0x10)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#2d7016;fontSize=10;fontStyle=0;gradientColor=#97d077;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=10;" parent="1" vertex="1">
<mxGeometry x="200" y="355" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="31" value="<b>Security Access</b><br>(0x27)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#2d7016;fontSize=10;fontStyle=0;gradientColor=#97d077;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=10;" parent="1" vertex="1">
<mxGeometry x="350" y="355" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="32" value="<b>Data Service</b><br>(0x22/0x2E)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#2d7016;fontSize=10;fontStyle=0;gradientColor=#97d077;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=10;" parent="1" vertex="1">
<mxGeometry x="500" y="355" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="33" value="<b>DTC Service</b><br>(0x14/0x19)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#2d7016;fontSize=10;fontStyle=0;gradientColor=#97d077;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=10;" parent="1" vertex="1">
<mxGeometry x="650" y="355" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="34" value="<b>Routine Control</b><br>(0x31)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#2d7016;fontSize=10;fontStyle=0;gradientColor=#97d077;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=10;" parent="1" vertex="1">
<mxGeometry x="800" y="355" width="130" height="75" as="geometry"/>
</mxCell>
<mxCell id="40" value="<b>Transport Protocol (TP)</b><br><br>ISO-TP / DoIP Handler" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#b8860b;fontSize=11;fontStyle=0;align=center;verticalAlign=top;gradientColor=#ffd966;gradientDirection=south;shadow=1;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="330" y="590" width="420" height="80" as="geometry"/>
</mxCell>
<mxCell id="50" value="<b>CAN</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#a01e1e;fontSize=11;fontStyle=0;gradientColor=#ea6b66;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=15;" parent="1" vertex="1">
<mxGeometry x="240" y="725" width="110" height="55" as="geometry"/>
</mxCell>
<mxCell id="51" value="<b>CAN-FD</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#a01e1e;fontSize=11;fontStyle=0;gradientColor=#ea6b66;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=15;" parent="1" vertex="1">
<mxGeometry x="370" y="725" width="110" height="55" as="geometry"/>
</mxCell>
<mxCell id="52" value="<b>FlexRay</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#a01e1e;fontSize=11;fontStyle=0;gradientColor=#ea6b66;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=15;" parent="1" vertex="1">
<mxGeometry x="500" y="725" width="110" height="55" as="geometry"/>
</mxCell>
<mxCell id="53" value="<b>Ethernet</b>" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#a01e1e;fontSize=11;fontStyle=0;gradientColor=#ea6b66;gradientDirection=south;shadow=1;strokeWidth=2;arcSize=15;" parent="1" vertex="1">
<mxGeometry x="630" y="725" width="110" height="55" as="geometry"/>
</mxCell>
<mxCell id="100" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="10" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="101" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="11" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="102" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="12" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="110" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.2;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="20" target="30" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="111" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.35;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="20" target="31" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="112" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="20" target="32" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="113" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.65;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="20" target="33" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="603" y="330"/>
<mxPoint x="715" y="330"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="114" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.8;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="20" target="34" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="120" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="30" target="40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="265" y="520"/>
<mxPoint x="360" y="520"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="121" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="31" target="40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="415" y="520"/>
<mxPoint x="450" y="520"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="122" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;" parent="1" source="32" target="40" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="123" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.65;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;entryPerimeter=0;" parent="1" source="33" target="40" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="124" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.8;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;entryPerimeter=0;" parent="1" source="34" target="40" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="865" y="550"/>
<mxPoint x="666" y="550"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="130" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.2;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="40" target="50" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="131" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.4;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="40" target="51" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="132" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.6;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="40" target="52" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="133" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.8;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;endArrow=open;endFill=0;strokeWidth=2;strokeColor=#000000;exitPerimeter=0;" parent="1" source="40" target="53" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="300" value="" style="endArrow=none;html=1;strokeWidth=2;strokeColor=#000000;dashed=1;dashPattern=8 4;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="180" y="170" as="sourcePoint"/>
<mxPoint x="980" y="170" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="301" value="" style="endArrow=none;html=1;strokeWidth=2;strokeColor=#000000;dashed=1;dashPattern=8 4;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="180" y="310" as="sourcePoint"/>
<mxPoint x="980" y="310" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="302" value="" style="endArrow=none;html=1;strokeWidth=2;strokeColor=#000000;dashed=1;dashPattern=8 4;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="180" y="570" as="sourcePoint"/>
<mxPoint x="980" y="570" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="303" value="" style="endArrow=none;html=1;strokeWidth=2;strokeColor=#000000;dashed=1;dashPattern=8 4;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="180" y="690" as="sourcePoint"/>
<mxPoint x="980" y="690" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
댓글을 불러오고 있습니다.