アーキテクチャ図 (Architecture Diagram)

システム全体の構造、階層、構成要素の関係を示す図である。UDS診断システムを例に作成した。

アーキテクチャ図 (Architecture Diagram)

Draw.io XML原文

<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="&lt;span style=&quot;color: rgb(102, 102, 102); font-size: 12px;&quot;&gt;Application Layer&lt;/span&gt;" 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="&lt;span style=&quot;color: rgb(102, 102, 102); font-size: 12px;&quot;&gt;Diagnostic Layer&lt;/span&gt;" 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="&lt;span style=&quot;color: rgb(102, 102, 102); font-size: 12px;&quot;&gt;Service Layer&lt;/span&gt;" 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="&lt;span style=&quot;color: rgb(102, 102, 102); font-size: 12px;&quot;&gt;Transport Layer&lt;/span&gt;" 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="&lt;span style=&quot;color: rgb(102, 102, 102); font-size: 12px;&quot;&gt;Physical Layer&lt;/span&gt;" 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="&lt;b&gt;Tester Application&lt;/b&gt;" 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="&lt;b&gt;ECU Application&lt;/b&gt;" 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="&lt;b&gt;Diagnostic Data Provider&lt;/b&gt;" 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="&lt;b&gt;UDS Manager&lt;/b&gt;&lt;br&gt;&lt;br&gt;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="&lt;b&gt;Session Control&lt;/b&gt;&lt;br&gt;(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="&lt;b&gt;Security Access&lt;/b&gt;&lt;br&gt;(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="&lt;b&gt;Data Service&lt;/b&gt;&lt;br&gt;(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="&lt;b&gt;DTC Service&lt;/b&gt;&lt;br&gt;(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="&lt;b&gt;Routine Control&lt;/b&gt;&lt;br&gt;(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="&lt;b&gt;Transport Protocol (TP)&lt;/b&gt;&lt;br&gt;&lt;br&gt;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="&lt;b&gt;CAN&lt;/b&gt;" 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="&lt;b&gt;CAN-FD&lt;/b&gt;" 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="&lt;b&gt;FlexRay&lt;/b&gt;" 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="&lt;b&gt;Ethernet&lt;/b&gt;" 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>

コメント

コメントを読み込んでいます。