Compare commits

..

No commits in common. "main" and "XNCore重构分支" have entirely different histories.

7240 changed files with 1398929 additions and 78422 deletions

5
.gitignore vendored
View File

@ -34,4 +34,7 @@
# CMakeBuild
build/
ThirdPart/
#log
log/
logs/

View File

@ -8,12 +8,25 @@ set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#
# find_package(SomeGlobalDependency REQUIRED)
#
add_subdirectory(XNCore)
add_subdirectory(XNEngine)
add_subdirectory(Login)
add_subdirectory(XNInterfaceGenServer)
add_subdirectory(XNModelGenServer)
add_subdirectory(XNServiceGenServer)
add_subdirectory(XNMonitorServer)
add_subdirectory(XNMonitor)
add_subdirectory(XNEditor)
add_subdirectory(XNIDLGen)
add_subdirectory(XNSysMonitor)
add_subdirectory(XNWrapper)
add_subdirectory(XNRunner)
add_subdirectory(XNPortal)
#
#
# add_compile_options(-Wall -Wextra)
#
#
# target_link_libraries(MyGlobalTarget PRIVATE SomeGlobalLibrary)

View File

View File

View File

View File

View File

View File

@ -1,274 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="cUcyyxbyLgCk_DM9oGbD">
<mxGraphModel dx="1680" dy="991" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="v58H9PBrFZlTpl8V0pll-77" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="450" width="1190" height="680" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-70" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-18" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-18" value="仿真运行控制" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="300" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-71" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-66" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-66" value="模型数据监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="450" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-73" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-68" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-68" value="模型数据单次注入" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="750" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-15" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-15" value="仿真运行状态监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-69" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-17" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-17" value="模型运行状态监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="150" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-74" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-29" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-29" value="模型数据连续注入" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="900" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-75" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-36" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-36" value="模型数据CSV注入" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="1050" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-72" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-44" target="v58H9PBrFZlTpl8V0pll-65">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-44" value="模型数据采集" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;dashed=1;verticalAlign=top;align=center;fontColor=#FF3333;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="600" y="270" width="140" height="260" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-11" value="&lt;div&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;开始&lt;/span&gt;&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="520" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-11" target="v58H9PBrFZlTpl8V0pll-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="646" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-56" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-15">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-57" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-58" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-59" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="2bFY_WceTU9BuVYkPlSv-66">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-60" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-44">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-61" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="2bFY_WceTU9BuVYkPlSv-68">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-62" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-63" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-28" target="v58H9PBrFZlTpl8V0pll-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-28" value="建立DDS通信" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="520" y="185" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-45" 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;" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-42" target="2bFY_WceTU9BuVYkPlSv-44" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-42" value="获取仿真运行状态数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="10" y="390" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-47" 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;" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-9" target="2bFY_WceTU9BuVYkPlSv-46" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-44" value="提交仿真运行状态数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="10" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-49" 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;" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-46" target="2bFY_WceTU9BuVYkPlSv-48" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-46" value="获取模型运行状态主题" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="160" y="390" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-48" value="提交模型运行状态数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="160" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-53" 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;" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-50" target="2bFY_WceTU9BuVYkPlSv-52" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-50" value="获取对应模型数据的监控器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="460" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-57" 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;" parent="v58H9PBrFZlTpl8V0pll-77" source="2bFY_WceTU9BuVYkPlSv-52" target="2bFY_WceTU9BuVYkPlSv-56" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-52" value="获取模型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="460" y="390" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-56" value="提交模型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="460" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-78" value="&lt;div&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;结束&lt;/span&gt;&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#E5CCFF;" parent="v58H9PBrFZlTpl8V0pll-77" vertex="1">
<mxGeometry x="520" y="640" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-7" target="2bFY_WceTU9BuVYkPlSv-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-7" value="注册仿真运行状态主题订阅者" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="10" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-9" value="注册模型运行状态主题订阅者" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="160" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-11" target="v58H9PBrFZlTpl8V0pll-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-11" value="注册仿真运行控制主题发布者" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="310" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-12" value="仿真运行控制主题发布" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="310" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-21" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-19" target="2bFY_WceTU9BuVYkPlSv-28">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-19" value="数据监控器插件加载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="520" y="125" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-52" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-22" target="v58H9PBrFZlTpl8V0pll-19">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-22" value="数据监控器插件生成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="520" y="65" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-28" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-25" target="v58H9PBrFZlTpl8V0pll-26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-25" value="获取对应模型数据的监控器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="760" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-26" value="注入模型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="760" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-35" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-30" target="v58H9PBrFZlTpl8V0pll-32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-30" value="获取对应模型数据的监控器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="910" y="390" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-33" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-31" target="v58H9PBrFZlTpl8V0pll-30">
<mxGeometry relative="1" as="geometry">
<mxPoint x="970" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-31" value="启动连续注入线程" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="910" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-32" value="连续注入模型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="910" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-41" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-37" target="v58H9PBrFZlTpl8V0pll-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-37" value="启动CSV注入线程" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="1060" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-43" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-38" target="v58H9PBrFZlTpl8V0pll-40">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-38" value="获取对应模型数据的监控器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="1060" y="420" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-42" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-39" target="v58H9PBrFZlTpl8V0pll-38">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1120" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-39" value="读取CSV文件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="1060" y="360" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-40" value="连续注入模型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="1060" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-49" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-45" target="v58H9PBrFZlTpl8V0pll-46">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-45" value="启动采集线程" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="610" y="300" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-50" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-46" target="v58H9PBrFZlTpl8V0pll-47">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-46" value="读取采集脚本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="610" y="360" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-51" 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;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-47" target="v58H9PBrFZlTpl8V0pll-48">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-47" value="获取对应模型数据的监控器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="610" y="420" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-48" value="采集数据并写入CSV文件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="610" y="480" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-76" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="v58H9PBrFZlTpl8V0pll-77" source="v58H9PBrFZlTpl8V0pll-65" target="2bFY_WceTU9BuVYkPlSv-78">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-65" value="关闭DDS通信" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E5CCFF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-77">
<mxGeometry x="520" y="570" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-78" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="40" width="590" height="200" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-1" value="DDS监控后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E5CCFF;verticalAlign=top;fontStyle=1" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry width="590" height="200" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-2" value="仿真运行状态监控" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry x="20" y="40" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-3" value="仿真运行控制" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry x="400" y="40" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-4" value="模型数据监控" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry x="20" y="140" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-5" value="模型数据采集" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry x="210" y="140" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="2bFY_WceTU9BuVYkPlSv-7" value="模型数据注入" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" parent="v58H9PBrFZlTpl8V0pll-78" vertex="1">
<mxGeometry x="400" y="140" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-1" value="模型运行状态监控" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-78">
<mxGeometry x="210" y="40" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-2" value="数据监控器抽象接口" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-78">
<mxGeometry x="210" y="90" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-3" value="数据监控器插件管理" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-78">
<mxGeometry x="20" y="90" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="v58H9PBrFZlTpl8V0pll-4" value="数据监控器生成" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CC99FF;" vertex="1" parent="v58H9PBrFZlTpl8V0pll-78">
<mxGeometry x="400" y="90" width="170" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,390 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="IcN1N_4omuwdzAcAJCaS">
<mxGraphModel dx="1428" dy="842" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="kdyZo1-_mScr_YqvuRuM-166" value="" style="group;aspect=fixed;" parent="1" vertex="1" connectable="0">
<mxGeometry x="70" y="520" width="1490" height="1090" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-84" value="服务&lt;span style=&quot;background-color: initial;&quot;&gt;管理器&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1120" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-78" value="事件管理器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="550" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-82" value="线程管理器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="740" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-83" value="模型管理器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="930" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-74" value="DDS管理器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="360" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-72" value="构型管理器" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="170" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-28" value="仿真内核卸载" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="1050" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-29" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真内核加载&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-160" target="kdyZo1-_mScr_YqvuRuM-153" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-164" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=0;jumpStyle=arc;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-35" target="kdyZo1-_mScr_YqvuRuM-140" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-165" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;N——周期性执行&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="kdyZo1-_mScr_YqvuRuM-164" vertex="1" connectable="0">
<mxGeometry x="-0.8339" y="-2" relative="1" as="geometry">
<mxPoint x="-17" y="8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-35" value="&lt;div&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;收到终止指令?&lt;/span&gt;&lt;/div&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="850" width="140" height="60" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-29" target="kdyZo1-_mScr_YqvuRuM-46" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="136" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-60" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-46" target="kdyZo1-_mScr_YqvuRuM-59" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-46" value="仿真主框架初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-63" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-73" target="kdyZo1-_mScr_YqvuRuM-62" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-77" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-59" target="kdyZo1-_mScr_YqvuRuM-70" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-123" target="kdyZo1-_mScr_YqvuRuM-73" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-59" value="构型管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="190" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-65" style="edgeStyle=none;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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-62" target="kdyZo1-_mScr_YqvuRuM-66" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-50" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-62" value="解析构型配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="190" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-116" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-64" target="kdyZo1-_mScr_YqvuRuM-111" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-64" value="解析模型配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="190" y="420" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-66" value="运行参数设置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="190" y="195" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-104" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-68" target="kdyZo1-_mScr_YqvuRuM-76" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-68" value="模型接口主题创建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="380" y="195" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-70" target="kdyZo1-_mScr_YqvuRuM-79" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-70" value="DDS管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="380" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-73" value="数据库读取" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-95" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-76" target="kdyZo1-_mScr_YqvuRuM-94" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-76" value="解析服务配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="190" y="278" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-79" target="kdyZo1-_mScr_YqvuRuM-86" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-79" value="事件管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="570" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-91" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-86" target="kdyZo1-_mScr_YqvuRuM-87" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-86" value="线程管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="757" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-92" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-87" target="kdyZo1-_mScr_YqvuRuM-88" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-87" value="模型管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-88" target="kdyZo1-_mScr_YqvuRuM-123" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-88" value="服务管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-97" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-109" target="kdyZo1-_mScr_YqvuRuM-100" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-115" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-94" target="kdyZo1-_mScr_YqvuRuM-96" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-94" value="服务动态加载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="278" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-96" target="kdyZo1-_mScr_YqvuRuM-109" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-96" value="服务注册" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="340" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-100" target="kdyZo1-_mScr_YqvuRuM-64" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-100" value="服务事件监听注册" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="570" y="420" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-106" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-103" target="kdyZo1-_mScr_YqvuRuM-105" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-103" value="模型动态加载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="460" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-108" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-118" target="kdyZo1-_mScr_YqvuRuM-107" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-119" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-105" target="kdyZo1-_mScr_YqvuRuM-118" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-105" value="模型注册" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="520" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-107" target="kdyZo1-_mScr_YqvuRuM-120" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-107" value="模型接口主题&lt;div&gt;订阅/发布&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="380" y="520" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-109" value="模型接口主题&lt;div&gt;订阅/发布&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="380" y="340" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-113" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-66" target="kdyZo1-_mScr_YqvuRuM-68" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-117" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-111" target="kdyZo1-_mScr_YqvuRuM-103" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-111" value="模型调度线程创建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="760" y="460" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-118" value="模型&lt;span style=&quot;background-color: initial;&quot;&gt;周期性函数&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;注册&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="760" y="520" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-127" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-136" target="kdyZo1-_mScr_YqvuRuM-128" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-120" value="运行前最后准备" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="580" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-122" value="&lt;span style=&quot;background-color: initial;&quot;&gt;时间管理器&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=none;verticalAlign=top;dashed=1;fontStyle=1" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1310" y="30" width="180" height="990" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-123" value="时间管理器初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1330" y="60" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-126" target="kdyZo1-_mScr_YqvuRuM-130" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-126" value="线程初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="760" y="580" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-120" target="kdyZo1-_mScr_YqvuRuM-126" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-139" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-128" target="kdyZo1-_mScr_YqvuRuM-138" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-128" value="启动事件监听" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="570" y="660" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-134" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-130" target="kdyZo1-_mScr_YqvuRuM-132" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-130" value="模型初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="580" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-135" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-132" target="kdyZo1-_mScr_YqvuRuM-133" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-132" value="服务初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="580" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-137" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-133" target="kdyZo1-_mScr_YqvuRuM-136" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-133" value="运行时间初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1330" y="580" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-136" value="开始运行" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="10" y="660" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-141" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-138" target="kdyZo1-_mScr_YqvuRuM-140" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-138" value="线程启动" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="760" y="660" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-143" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-140" target="kdyZo1-_mScr_YqvuRuM-142" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-140" value="模型周期性执行" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="660" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-148" 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;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-142" target="kdyZo1-_mScr_YqvuRuM-144" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-142" value="时间步进" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1330" y="660" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-146" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-144" target="kdyZo1-_mScr_YqvuRuM-145" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-144" value="产生运行事件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1330" y="720" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-145" target="kdyZo1-_mScr_YqvuRuM-149" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-145" value="事件响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="570" y="720" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-149" value="事件响应处理" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="770" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-151" 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;entryPerimeter=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-149" target="kdyZo1-_mScr_YqvuRuM-35" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-157" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-153" target="kdyZo1-_mScr_YqvuRuM-155" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-153" value="线程终止" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="760" y="970" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-158" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-155" target="kdyZo1-_mScr_YqvuRuM-156" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-155" value="模型卸载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="950" y="970" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-156" value="服务卸载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="1140" y="970" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-161" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-35" target="kdyZo1-_mScr_YqvuRuM-160" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="910" as="sourcePoint" />
<mxPoint x="760" y="990" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-162" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;Y&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="kdyZo1-_mScr_YqvuRuM-161" vertex="1" connectable="0">
<mxGeometry x="-0.9005" y="1" relative="1" as="geometry">
<mxPoint x="9" y="-18" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-160" value="关闭事件监听" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFE6CC;" parent="kdyZo1-_mScr_YqvuRuM-166" vertex="1">
<mxGeometry x="570" y="970" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-163" 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;entryPerimeter=0;" parent="kdyZo1-_mScr_YqvuRuM-166" source="kdyZo1-_mScr_YqvuRuM-156" target="kdyZo1-_mScr_YqvuRuM-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="a2x69tlP_n9ZWXaoZ2iw-4" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="70" y="60" width="500" height="440" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-1" value="仿真内核" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFE6CC;verticalAlign=top;fontStyle=1" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry width="500" height="440" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-14" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-15" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-16" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-17" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-18" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-19" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-20" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-21" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-2" target="kdyZo1-_mScr_YqvuRuM-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-2" value="仿真主框架" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="20" y="40" width="90" height="390" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-3" value="模型封装框架" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="343" y="290" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-4" value="服务框架" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="343" y="340" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-5" value="构型管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="40" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-22" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-6" target="kdyZo1-_mScr_YqvuRuM-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-6" value="线程管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="90" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-7" value="调度线程" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="343" y="90" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-8" value="时间管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="190" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-9" value="事件管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="240" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-24" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-10" target="kdyZo1-_mScr_YqvuRuM-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-10" value="模型管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="290" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-25" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-11" target="kdyZo1-_mScr_YqvuRuM-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-11" value="服务管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="340" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-12" value="日志记录" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="390" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="a2x69tlP_n9ZWXaoZ2iw-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="a2x69tlP_n9ZWXaoZ2iw-4" source="kdyZo1-_mScr_YqvuRuM-13" target="a2x69tlP_n9ZWXaoZ2iw-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="kdyZo1-_mScr_YqvuRuM-13" value="DDS管理器" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" parent="a2x69tlP_n9ZWXaoZ2iw-4" vertex="1">
<mxGeometry x="160" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="a2x69tlP_n9ZWXaoZ2iw-1" value="数据交互抽象接口" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCC99;verticalAlign=middle;" vertex="1" parent="a2x69tlP_n9ZWXaoZ2iw-4">
<mxGeometry x="344" y="140" width="140" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,261 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="NxsMcykzO76i-_XmAvg_-47" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="80" y="40" width="400" height="450" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-1" value="仿真综合管理平台" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFE6;verticalAlign=top;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry width="400" height="450" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;构型配置&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20" y="100" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;用户权限管理&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20" y="40" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;系统信息&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220" y="40" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-5" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;接口配置&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220" y="100" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-47" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;网络监控&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20" y="400" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-1" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型集成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20.002068965517196" y="160.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;服务开发&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220.0020689655173" y="160.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;仿真运行&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20" y="220" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;资源监控&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220.0020689655173" y="220.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-5" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;仿真运行监控&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20.002068965517196" y="280.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-6" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型运行监控&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220.00206896551725" y="280.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-7" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;数据监控&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="20.002068965517196" y="340.0010526315789" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-8" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;数据采集&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220.0020689655173" y="340.00105263157894" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-9" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;QTG&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFCC;verticalAlign=middle;fontStyle=1" parent="NxsMcykzO76i-_XmAvg_-47" vertex="1">
<mxGeometry x="220.0000000000001" y="400" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-88" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="600" y="40" width="530" height="850" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-13" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真综合管理平台启动&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="175" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-49" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-15" target="NxsMcykzO76i-_XmAvg_-48" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-15" value="系统信息显示" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="120" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-37" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;labelBackgroundColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;edgeStyle=orthogonalEdgeStyle;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-13" target="NxsMcykzO76i-_XmAvg_-45" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="396" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-46" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-45" target="NxsMcykzO76i-_XmAvg_-15" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-45" value="用户登录/注册" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="60" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-51" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-48" target="NxsMcykzO76i-_XmAvg_-50" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-48" value="构型创建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="180" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-53" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-50" target="NxsMcykzO76i-_XmAvg_-52" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-50" value="接口配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="240" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-55" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-52" target="NxsMcykzO76i-_XmAvg_-54" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-52" value="模型集成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="300" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-57" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-54" target="NxsMcykzO76i-_XmAvg_-56" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-54" value="服务开发" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="360" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-59" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-56" target="NxsMcykzO76i-_XmAvg_-58" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-56" value="构型配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="420" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-67" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-60" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-58" value="仿真运行" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="480" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-75" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-60" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="55" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-60" value="资源监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry y="560" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-61" value="仿真运行监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="140" y="560" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-62" value="模型运行监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="280" y="560" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-63" value="数据监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="65" y="610" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-64" value="数据采集" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="610" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-65" value="网络监控" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="420" y="560" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-66" value="QTG" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="351" y="610" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-68" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-63" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="275" y="530" as="sourcePoint" />
<mxPoint x="65" y="570" as="targetPoint" />
<Array as="points">
<mxPoint x="265" y="540" />
<mxPoint x="120" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-61" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="285" y="540" as="sourcePoint" />
<mxPoint x="75" y="580" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-70" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-64" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="295" y="550" as="sourcePoint" />
<mxPoint x="85" y="590" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-71" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-62" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="305" y="560" as="sourcePoint" />
<mxPoint x="95" y="600" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-72" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-66" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="315" y="570" as="sourcePoint" />
<mxPoint x="105" y="610" as="targetPoint" />
<Array as="points">
<mxPoint x="265" y="540" />
<mxPoint x="406" y="540" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-73" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-58" target="NxsMcykzO76i-_XmAvg_-65" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="580" as="sourcePoint" />
<mxPoint x="115" y="620" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-85" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-74" target="NxsMcykzO76i-_XmAvg_-84" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-74" value="仿真终止" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="690" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-78" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-63" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="275" y="530" as="sourcePoint" />
<mxPoint x="275" y="650" as="targetPoint" />
<Array as="points">
<mxPoint x="120" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-79" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-64" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="285" y="540" as="sourcePoint" />
<mxPoint x="285" y="660" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-80" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-61" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="295" y="550" as="sourcePoint" />
<mxPoint x="295" y="670" as="targetPoint" />
<Array as="points">
<mxPoint x="195" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-81" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-62" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="305" y="560" as="sourcePoint" />
<mxPoint x="305" y="680" as="targetPoint" />
<Array as="points">
<mxPoint x="335" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-82" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-66" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="315" y="570" as="sourcePoint" />
<mxPoint x="315" y="690" as="targetPoint" />
<Array as="points">
<mxPoint x="406" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-83" 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;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-65" target="NxsMcykzO76i-_XmAvg_-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="580" as="sourcePoint" />
<mxPoint x="325" y="700" as="targetPoint" />
<Array as="points">
<mxPoint x="475" y="670" />
<mxPoint x="265" y="670" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-87" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="NxsMcykzO76i-_XmAvg_-88" source="NxsMcykzO76i-_XmAvg_-84" target="NxsMcykzO76i-_XmAvg_-86" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-84" value="用户登出" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="210" y="750" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="NxsMcykzO76i-_XmAvg_-86" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真综合管理平台关闭&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCFFE6;" parent="NxsMcykzO76i-_XmAvg_-88" vertex="1">
<mxGeometry x="175" y="810" width="180" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,175 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="n4mM9-rLUw7j7IC2DLn1">
<mxGraphModel dx="1680" dy="991" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="nnVTWkkhsZWMSzmyXnU6-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="40" width="340" height="140" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-37" value="仿真调度引擎" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFFCC;fontStyle=1;verticalAlign=top;" parent="nnVTWkkhsZWMSzmyXnU6-1" vertex="1">
<mxGeometry width="340" height="140" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-36" value="仿真运行控制" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFF99;" parent="nnVTWkkhsZWMSzmyXnU6-1" vertex="1">
<mxGeometry x="10" y="90" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-38" value="仿真运行状态发布" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFF99;" parent="nnVTWkkhsZWMSzmyXnU6-1" vertex="1">
<mxGeometry x="180" y="90" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-107" value="构型验证" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFF99;" parent="nnVTWkkhsZWMSzmyXnU6-1" vertex="1">
<mxGeometry x="180" y="40" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-108" value="命令参数解析" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFF99;" parent="nnVTWkkhsZWMSzmyXnU6-1" vertex="1">
<mxGeometry x="10" y="40" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-14" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="30" y="240" width="490" height="860" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-42" value="&lt;font&gt;结束&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="280" y="820" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-43" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;开始&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="190" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-79" target="DPG0hEwUPDznWshsaorW-42" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="490" y="570" as="targetPoint" />
<Array as="points">
<mxPoint x="430" y="800" />
<mxPoint x="350" y="800" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;fontSize=14;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-48" target="DPG0hEwUPDznWshsaorW-63" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-77" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;N&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="DPG0hEwUPDznWshsaorW-76" vertex="1" connectable="0">
<mxGeometry x="0.2286" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-48" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;测试模式?&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="200" y="380" width="140" height="60" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-81" 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;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-51" target="DPG0hEwUPDznWshsaorW-59" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-51" value="加载仿真内核" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="120" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-59" target="nnVTWkkhsZWMSzmyXnU6-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="389.9999999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-59" value="初始化仿真内核" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="180" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-62" 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;labelBackgroundColor=none;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-63" target="DPG0hEwUPDznWshsaorW-98" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="530" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-63" value="启动仿真" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="470" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-65" 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;entryPerimeter=0;labelBackgroundColor=none;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-82" target="DPG0hEwUPDznWshsaorW-42" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-43" target="DPG0hEwUPDznWshsaorW-74" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="326" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.25;entryY=0;entryDx=0;entryDy=0;fontSize=14;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;labelBackgroundColor=none;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-48" target="DPG0hEwUPDznWshsaorW-79" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="408.5" y="230" as="sourcePoint" />
<mxPoint x="410" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-71" value="Y" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=14;labelBackgroundColor=none;" parent="DPG0hEwUPDznWshsaorW-70" vertex="1" connectable="0">
<mxGeometry x="0.0439" relative="1" as="geometry">
<mxPoint x="-50" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-3" 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;" edge="1" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-74" target="DPG0hEwUPDznWshsaorW-51">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-74" value="命令参数解析" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="60" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-75" 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;entryPerimeter=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="nnVTWkkhsZWMSzmyXnU6-2" target="nnVTWkkhsZWMSzmyXnU6-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280" y="160" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-79" value="输出验证结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="370" y="470" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-82" value="卸载仿真内核" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="740" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-86" target="DPG0hEwUPDznWshsaorW-82" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-102" value="终止指令" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="DPG0hEwUPDznWshsaorW-87" vertex="1" connectable="0">
<mxGeometry x="-0.1111" y="-1" relative="1" as="geometry">
<mxPoint x="31" y="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-104" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-86" target="DPG0hEwUPDznWshsaorW-103" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="680" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-106" value="暂停/继续指令" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="DPG0hEwUPDznWshsaorW-104" vertex="1" connectable="0">
<mxGeometry x="-0.2444" y="1" relative="1" as="geometry">
<mxPoint x="-4" y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-86" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;收到控制指令?&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="200" y="650" width="140" height="60" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-98" value="控制指令监听" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry x="210" y="530" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-99" 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;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-98" target="nnVTWkkhsZWMSzmyXnU6-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="nnVTWkkhsZWMSzmyXnU6-14" source="DPG0hEwUPDznWshsaorW-103" target="nnVTWkkhsZWMSzmyXnU6-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="660" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="DPG0hEwUPDznWshsaorW-103" value="控制仿真内核" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" parent="nnVTWkkhsZWMSzmyXnU6-14" vertex="1">
<mxGeometry y="660" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-2" value="构型验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" vertex="1" parent="nnVTWkkhsZWMSzmyXnU6-14">
<mxGeometry x="210" y="240" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-4" value="仿真运行状态&lt;div&gt;发布&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#FFFFCC;" vertex="1" parent="nnVTWkkhsZWMSzmyXnU6-14">
<mxGeometry x="210" y="590" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-6" 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;entryPerimeter=0;" edge="1" parent="nnVTWkkhsZWMSzmyXnU6-14" source="nnVTWkkhsZWMSzmyXnU6-4" target="DPG0hEwUPDznWshsaorW-86">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="nnVTWkkhsZWMSzmyXnU6-14" source="nnVTWkkhsZWMSzmyXnU6-9" target="DPG0hEwUPDznWshsaorW-79">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-13" value="N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="nnVTWkkhsZWMSzmyXnU6-11">
<mxGeometry x="-0.7077" y="1" relative="1" as="geometry">
<mxPoint x="-28" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-9" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;验证通过?&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#FFFFCC;" vertex="1" parent="nnVTWkkhsZWMSzmyXnU6-14">
<mxGeometry x="200" y="300" width="140" height="60" as="geometry" />
</mxCell>
<mxCell id="nnVTWkkhsZWMSzmyXnU6-10" value="Y" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="nnVTWkkhsZWMSzmyXnU6-14" source="nnVTWkkhsZWMSzmyXnU6-9" target="DPG0hEwUPDznWshsaorW-48">
<mxGeometry y="-10" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,138 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="819" dy="961" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="yc_Ntd7XcFL3-8XihvtW-18" value="UDP首部" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="120" y="640" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-0" value="UDP有效载荷" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="210" y="640" width="510" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-6" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-1" target="yc_Ntd7XcFL3-8XihvtW-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-1" value="保留" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="120" y="520" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-7" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-2" target="KB5IDKoaumNYC5ZMZPqs-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-2" value="1个或多个功能数据集FDS" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="180" y="520" width="540" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-11" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-8" target="KB5IDKoaumNYC5ZMZPqs-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-8" value="功能数据集FDS" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="120" y="400" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-9" value="功能数据集FDS" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="320" y="400" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-12" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-10" target="KB5IDKoaumNYC5ZMZPqs-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-10" value="..." style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="520" y="400" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-19" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-13" target="KB5IDKoaumNYC5ZMZPqs-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-13" value="功能状态集" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="120" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-14" value="数据集1" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="240" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-16" value="数据集2" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="360" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-17" value="数据集3" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="480" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-20" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-18" target="KB5IDKoaumNYC5ZMZPqs-10">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-18" value="数据集4" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="600" y="280" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-25" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-21" target="KB5IDKoaumNYC5ZMZPqs-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-30" style="edgeStyle=orthogonalEdgeStyle;curved=1;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;dashed=1;dashPattern=12 12;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-21" target="KB5IDKoaumNYC5ZMZPqs-14">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="150" y="260" />
<mxPoint x="300" y="260" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-21" value="状态&lt;div&gt;字节1&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="120" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-22" value="状态&lt;div&gt;字节2&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="180" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-23" value="状态&lt;div&gt;字节3&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="240" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-26" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-24" target="KB5IDKoaumNYC5ZMZPqs-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-24" value="状态&lt;div&gt;字节4&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="300" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-31" style="edgeStyle=orthogonalEdgeStyle;curved=1;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;dashed=1;dashPattern=12 12;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-22" target="KB5IDKoaumNYC5ZMZPqs-16">
<mxGeometry relative="1" as="geometry">
<mxPoint x="160" y="210" as="sourcePoint" />
<mxPoint x="310" y="290" as="targetPoint" />
<Array as="points">
<mxPoint x="210" y="250" />
<mxPoint x="420" y="250" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-32" style="edgeStyle=orthogonalEdgeStyle;curved=1;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;dashed=1;dashPattern=12 12;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-23" target="KB5IDKoaumNYC5ZMZPqs-17">
<mxGeometry relative="1" as="geometry">
<mxPoint x="170" y="220" as="sourcePoint" />
<mxPoint x="320" y="300" as="targetPoint" />
<Array as="points">
<mxPoint x="270" y="230" />
<mxPoint x="540" y="230" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-33" style="edgeStyle=orthogonalEdgeStyle;curved=1;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;dashed=1;dashPattern=12 12;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-24" target="KB5IDKoaumNYC5ZMZPqs-18">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="230" as="sourcePoint" />
<mxPoint x="330" y="310" as="targetPoint" />
<Array as="points">
<mxPoint x="330" y="210" />
<mxPoint x="660" y="210" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-38" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-34" target="KB5IDKoaumNYC5ZMZPqs-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-34" value="数据1" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="480" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-35" value="数据2" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="540" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-36" value="数据3" style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="600" y="160" width="60" height="40" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-39" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="KB5IDKoaumNYC5ZMZPqs-37" target="KB5IDKoaumNYC5ZMZPqs-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="KB5IDKoaumNYC5ZMZPqs-37" value="..." style="whiteSpace=wrap;html=1;fontSize=16;strokeWidth=2;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="660" y="160" width="60" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,43 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
<diagram name="第 1 页" id="lexaEOh64z243TEgvx_g">
<mxGraphModel dx="979" dy="572" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="1Vfs5tAvkHFFqhL01pvn-14" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="90" y="40" width="610" height="180" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-1" value="操作系统抽象层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCCC;verticalAlign=top;fontStyle=1" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry width="610" height="180" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-2" value="系统信息和环境变量获取" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="10" y="30" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-3" value="数据类型抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="210" y="30" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-4" value="线程管理抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="10" y="130" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-5" value="文件系统访问抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="410" y="30" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-8" value="时间管理抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="10" y="80" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-9" value="内存管理抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="210" y="80" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-10" value="同步原语抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="210" y="130" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-11" value="网络接口抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="410" y="80" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="1Vfs5tAvkHFFqhL01pvn-12" value="动态链接库抽象" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF9999;" vertex="1" parent="1Vfs5tAvkHFFqhL01pvn-14">
<mxGeometry x="410" y="130" width="190" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,76 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="1190" dy="702" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="60" y="50" width="310" height="140" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-1" value="数据交互接口" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCE6;verticalAlign=top;fontStyle=1" parent="Nf2eIGbKGyPYyfqGLZg_-1" vertex="1">
<mxGeometry width="310" height="140" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;TCP/UDP数据交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" parent="Nf2eIGbKGyPYyfqGLZg_-1" vertex="1">
<mxGeometry x="10" y="85" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;FastDDS交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" parent="Nf2eIGbKGyPYyfqGLZg_-1" vertex="1">
<mxGeometry x="10" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型数据交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" parent="Nf2eIGbKGyPYyfqGLZg_-1" vertex="1">
<mxGeometry x="160" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-5" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;数据监控交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" parent="Nf2eIGbKGyPYyfqGLZg_-1" vertex="1">
<mxGeometry x="160" y="85" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-80" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="80" y="260" width="820" height="250" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-61" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-57" target="Nf2eIGbKGyPYyfqGLZg_-60">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-57" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型数据交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="170" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-59" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-58" target="Nf2eIGbKGyPYyfqGLZg_-57">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-58" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型系统&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6E6E6;verticalAlign=middle;fontStyle=1;dashed=1;" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-75" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-60" target="Nf2eIGbKGyPYyfqGLZg_-73">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-79" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-60" target="Nf2eIGbKGyPYyfqGLZg_-77">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-60" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;FastDDS交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="340" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-71" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-68" target="Nf2eIGbKGyPYyfqGLZg_-70">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-68" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;服务系统&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6E6E6;verticalAlign=middle;fontStyle=1;dashed=1;" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="340" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-72" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-70" target="Nf2eIGbKGyPYyfqGLZg_-60">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-70" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;TCP/UDP数据交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="340" y="70" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-76" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=classic;startFill=1;" edge="1" parent="Nf2eIGbKGyPYyfqGLZg_-80" source="Nf2eIGbKGyPYyfqGLZg_-73" target="Nf2eIGbKGyPYyfqGLZg_-74">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-73" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;数据监控交互接口&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FF99CC;verticalAlign=middle;fontStyle=1" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="510" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-74" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;DDS监控后端服务&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6E6E6;verticalAlign=middle;fontStyle=1;dashed=1;" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="680" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Nf2eIGbKGyPYyfqGLZg_-77" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;共享内存&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6E6E6;verticalAlign=middle;fontStyle=1;dashed=1;" vertex="1" parent="Nf2eIGbKGyPYyfqGLZg_-80">
<mxGeometry x="340" y="210" width="140" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,82 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="816" dy="481" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="567M1PDYW6_EKDfcjIKd-2" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="60" y="50" width="310" height="190" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-1" value="数据交互接口生成后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFFF;verticalAlign=top;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry width="310" height="190" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;FastDDS接口代码生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="10" y="85" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;接口配置读取&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="10" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;IDL文件生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="160" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-5" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;数据交互接口代码生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="160" y="85" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-47" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;构建文件生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="10" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="567M1PDYW6_EKDfcjIKd-1" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;自动化构建&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FFFF;verticalAlign=middle;fontStyle=1" parent="567M1PDYW6_EKDfcjIKd-2" vertex="1">
<mxGeometry x="160" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="567M1PDYW6_EKDfcjIKd-6" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="470" y="80" width="100" height="440" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-7" value="&lt;font&gt;结束&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="410" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="567M1PDYW6_EKDfcjIKd-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-8" target="DGGEnYfLaeNJhCe99Uv8-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-8" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;开始&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="567M1PDYW6_EKDfcjIKd-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-13" target="DGGEnYfLaeNJhCe99Uv8-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-13" value="生成IDL文件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="110" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="567M1PDYW6_EKDfcjIKd-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-14" target="DGGEnYfLaeNJhCe99Uv8-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-14" value="读取接口配置" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-26" 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;labelBackgroundColor=none;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-22" target="DGGEnYfLaeNJhCe99Uv8-25" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-22" value="生成&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;FastDDS接口代码&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="170" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-30" 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;labelBackgroundColor=none;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-25" target="DGGEnYfLaeNJhCe99Uv8-29" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-25" value="生成&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;数据交互接口代码&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="230" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-32" 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;labelBackgroundColor=none;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-29" target="DGGEnYfLaeNJhCe99Uv8-31" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-29" value="生成构建文件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="290" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-31" value="自动化构建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFFF;" parent="567M1PDYW6_EKDfcjIKd-6" vertex="1">
<mxGeometry y="350" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-33" 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;entryPerimeter=0;labelBackgroundColor=none;" parent="567M1PDYW6_EKDfcjIKd-6" source="DGGEnYfLaeNJhCe99Uv8-31" target="DGGEnYfLaeNJhCe99Uv8-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,74 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="985" dy="581" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="oPIENk6LQKNpqBso52cU-14" 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;labelBackgroundColor=none;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="364" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ps3CqHkjRwoRyccxy8bR-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="60" y="50" width="200" height="180" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-1" value="服务开发后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6FFCC;verticalAlign=top;fontStyle=1" parent="ps3CqHkjRwoRyccxy8bR-1" vertex="1">
<mxGeometry width="200" height="180" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;服务自动化构建&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFF99;verticalAlign=middle;fontStyle=1" parent="ps3CqHkjRwoRyccxy8bR-1" vertex="1">
<mxGeometry x="10" y="130" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;服务开发模板代码生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFF99;verticalAlign=middle;fontStyle=1" parent="ps3CqHkjRwoRyccxy8bR-1" vertex="1">
<mxGeometry x="10" y="30" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;服务代码压缩/解压缩&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFF99;verticalAlign=middle;fontStyle=1" parent="ps3CqHkjRwoRyccxy8bR-1" vertex="1">
<mxGeometry x="10" y="80" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="ps3CqHkjRwoRyccxy8bR-2" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="314" y="40" width="100" height="380" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-3" value="&lt;font&gt;结束&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="350" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-5" target="oPIENk6LQKNpqBso52cU-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-5" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;开始&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-7" target="oPIENk6LQKNpqBso52cU-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-7" value="服务开发模板代码压缩" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="110" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-9" target="oPIENk6LQKNpqBso52cU-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-9" value="服务开发模板代码生成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-10" 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;labelBackgroundColor=none;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-11" target="oPIENk6LQKNpqBso52cU-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-11" value="服务开发人员修改" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6E6E6;dashed=1;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="170" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-12" 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;labelBackgroundColor=none;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="50" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-13" value="服务开发代码解压缩" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="230" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-19" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="ps3CqHkjRwoRyccxy8bR-2" source="oPIENk6LQKNpqBso52cU-18" target="oPIENk6LQKNpqBso52cU-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-18" value="服务自动化构建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6FFCC;" parent="ps3CqHkjRwoRyccxy8bR-2" vertex="1">
<mxGeometry y="290" width="100" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,161 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
<diagram name="第 1 页" id="vCz4H4nFSZ08uFCSv5Dh">
<mxGraphModel dx="1420" dy="829" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="tDZi53W-cENcbVOYoCCS-13" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="40" width="440" height="240" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-1" value="服务系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCCCFF;verticalAlign=top;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry width="440" height="240" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-2" value="离散量通信服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="20" y="140" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-3" value="ARINC 825虚拟航空总线通信服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="230" y="40" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-5" value="ARINC 429虚拟航空总线通信服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="20" y="90" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-6" value="ARINC 664虚拟航空总线通信服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="230" y="90" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-7" value="ARINC 708虚拟航空总线通信服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="20" y="40" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-8" value="控制指令解析服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="230" y="140" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-9" value="快照服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-13">
<mxGeometry x="20" y="190" width="190" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-17" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="320" width="360" height="130" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-11" value="XX服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCCCFF;verticalAlign=top;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-17">
<mxGeometry width="360" height="130" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-12" value="服务预处理" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-17">
<mxGeometry x="20" y="30" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-14" value="服务初始化" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-17">
<mxGeometry x="190" y="30" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-15" value="服务运行前最后准备" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-17">
<mxGeometry x="20" y="80" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-16" value="事件响应" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#9999FF;verticalAlign=middle;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-17">
<mxGeometry x="190" y="80" width="150" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-55" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="520" y="40" width="260" height="770" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-19" value="&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;text-align: center; background-color: initial;&quot;&gt;服务运行前最后准备&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry y="300" width="230" height="140" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-20" value="服务初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry y="150" width="230" height="140" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-21" value="服务预处理" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry y="60" width="230" height="80" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-22" value="&lt;font&gt;服务卸载&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="50" y="730" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-23" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;服务加载&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="40" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-24" 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;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-25" target="tDZi53W-cENcbVOYoCCS-27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-25" value="向服务管理器注册自身" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="20" y="90" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-26" 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;labelBackgroundColor=none;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-27" target="tDZi53W-cENcbVOYoCCS-30">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-27" value="读取服务配置文件&lt;div&gt;设置服务参数&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="20" y="180" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-23" target="tDZi53W-cENcbVOYoCCS-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="176" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-30" target="tDZi53W-cENcbVOYoCCS-32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-30" value="建立通信连接" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="20" y="240" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-31" 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;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-32" target="tDZi53W-cENcbVOYoCCS-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-32" value="向DDS管理器注册成为&lt;div&gt;交互主题的参与者&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="30" y="329" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-33" 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;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-34" target="tDZi53W-cENcbVOYoCCS-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-34" value="注册事件及事件回调函数" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="30" y="390" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-35" value="事件响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry y="450" width="230" height="240" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-49" target="tDZi53W-cENcbVOYoCCS-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-54" value="Y" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="tDZi53W-cENcbVOYoCCS-36">
<mxGeometry x="0.1333" relative="1" as="geometry">
<mxPoint x="10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-37" value="事件监听" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="30" y="480" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-39" value="事件响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCCCFF;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="30" y="640" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-39" target="tDZi53W-cENcbVOYoCCS-22">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="640" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-43" value="当仿真结束时" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="tDZi53W-cENcbVOYoCCS-42">
<mxGeometry x="0.0952" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-51" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-37" target="tDZi53W-cENcbVOYoCCS-49">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="520" as="sourcePoint" />
<mxPoint x="360" y="660" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-52" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="tDZi53W-cENcbVOYoCCS-55" source="tDZi53W-cENcbVOYoCCS-49" target="tDZi53W-cENcbVOYoCCS-37">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="260" y="580" />
<mxPoint x="260" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-53" value="N" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="tDZi53W-cENcbVOYoCCS-52">
<mxGeometry x="0.1401" relative="1" as="geometry">
<mxPoint x="-70" y="30" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="tDZi53W-cENcbVOYoCCS-49" value="产生事件?" style="rhombus;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCCCFF;rounded=1;arcSize=14;strokeWidth=2;labelBackgroundColor=none;" vertex="1" parent="tDZi53W-cENcbVOYoCCS-55">
<mxGeometry x="60" y="540" width="120" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,195 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
<diagram name="第 1 页" id="0fsTr4455FsDzpKB-IAg">
<mxGraphModel dx="1420" dy="829" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="NFBY96apgPH8iydn88ZK-24" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="40" y="40" width="760" height="520" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-1" value="模型系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCE5FF;verticalAlign=top;fontStyle=1" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry width="760" height="520" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-2" value="ATA00&lt;div&gt;飞机本体仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="40" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-3" value="ATA21&lt;div&gt;飞机空调系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="40" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-4" value="ATA22&lt;div&gt;飞机自动飞行系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="40" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-5" value="ATA23&lt;div&gt;飞机通信系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="120" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-6" value="ATA24&lt;div&gt;飞机电源系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="120" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-7" value="ATA26&lt;div&gt;飞机防火系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="120" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-8" value="ATA27&lt;div&gt;飞机襟缝翼系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="200" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-9" value="ATA28&lt;div&gt;飞机燃油系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="200" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-10" value="ATA29&lt;div&gt;飞机液压系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="200" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-11" value="ATA30&lt;div&gt;飞机防冰除雨系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="280" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-12" value="ATA31&lt;div&gt;飞机指示系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="280" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-13" value="ATA32&lt;div&gt;飞机起落架系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="280" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-14" value="ATA33&lt;div&gt;飞机照明系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="360" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-15" value="ATA34&lt;div&gt;飞机导航系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="360" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-16" value="ATA35&lt;div&gt;飞机氧气系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="360" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-18" value="ATA49&lt;div&gt;飞机辅助动力系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="40" y="440" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-19" value="ATA52&lt;div&gt;飞机舱门系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="280" y="440" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-20" value="ATA70&lt;div&gt;飞机发动机系统仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-24" vertex="1">
<mxGeometry x="520" y="440" width="200" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-31" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="40" y="610" width="660" height="190" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-22" value="ATAXX仿真&lt;span style=&quot;background-color: initial;&quot;&gt;模型&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99CCFF;verticalAlign=top;fontStyle=1" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry width="420" height="190" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-23" value="模型预处理" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#66B2FF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry x="20" y="30" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-25" value="模型初始化" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#66B2FF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry x="220" y="30" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-26" value="模型运行前最后准备" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#66B2FF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry x="20" y="110" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;" parent="NFBY96apgPH8iydn88ZK-31" source="NFBY96apgPH8iydn88ZK-27" target="NFBY96apgPH8iydn88ZK-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-30" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;调用&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="NFBY96apgPH8iydn88ZK-29" vertex="1" connectable="0">
<mxGeometry x="-0.2" y="-4" relative="1" as="geometry">
<mxPoint x="10" y="-24" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-27" value="模型单步执行" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#66B2FF;verticalAlign=middle;" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry x="220" y="110" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="NFBY96apgPH8iydn88ZK-28" value="ATAXX&lt;div&gt;二进制数据包仿真模型&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6E6E6;verticalAlign=middle;dashed=1;" parent="NFBY96apgPH8iydn88ZK-31" vertex="1">
<mxGeometry x="480" y="110" width="180" height="60" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-51" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="270" y="850" width="260" height="720" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-35" value="模型&lt;span style=&quot;text-align: center;&quot;&gt;运行前最后准备&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry y="300" width="230" height="140" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-34" value="模型初始化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry y="150" width="230" height="140" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-20" value="模型预处理" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry y="60" width="230" height="80" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-2" value="&lt;font&gt;模型卸载&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="50" y="680" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-3" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;模型加载&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="40" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-10" 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;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-11" target="fm_V_9ohjV6iwPbN0lAh-15">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-11" value="向模型管理器注册自身" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="20" y="90" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-14" 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;labelBackgroundColor=none;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-15" target="fm_V_9ohjV6iwPbN0lAh-29">
<mxGeometry relative="1" as="geometry">
<mxPoint x="120" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-15" value="向线程管理器注册&lt;div&gt;单步执行函数&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="20" y="180" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-3" target="fm_V_9ohjV6iwPbN0lAh-11">
<mxGeometry relative="1" as="geometry">
<mxPoint x="176" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-29" target="fm_V_9ohjV6iwPbN0lAh-33">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-29" value="动态加载二进制数据包模型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="20" y="240" width="200" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-38" 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;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-33" target="fm_V_9ohjV6iwPbN0lAh-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-33" value="向DDS管理器注册成为&lt;div&gt;交互主题的参与者&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="30" y="329" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-45" 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;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-37" target="fm_V_9ohjV6iwPbN0lAh-40">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-37" value="获取二进制数据包模型&lt;div&gt;入口函数指针&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="30" y="390" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-39" value="模型&lt;span style=&quot;text-align: center;&quot;&gt;单步执行&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=12;labelBackgroundColor=none;fillColor=none;verticalAlign=top;align=left;dashed=1;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry y="450" width="230" height="200" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-43" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-40" target="fm_V_9ohjV6iwPbN0lAh-41">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-40" value="根据订阅的输入数据主题更新模型输入" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="30" y="480" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-44" 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;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-41" target="fm_V_9ohjV6iwPbN0lAh-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-41" value="调用二进制数据包模型&lt;div&gt;入口函数&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="30" y="540" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-42" target="fm_V_9ohjV6iwPbN0lAh-40">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="260" y="620" />
<mxPoint x="260" y="500" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-47" value="周期性执行" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="fm_V_9ohjV6iwPbN0lAh-46">
<mxGeometry x="-0.1857" relative="1" as="geometry">
<mxPoint y="-18" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="fm_V_9ohjV6iwPbN0lAh-51" source="fm_V_9ohjV6iwPbN0lAh-42" target="fm_V_9ohjV6iwPbN0lAh-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-49" value="当仿真结束时" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="fm_V_9ohjV6iwPbN0lAh-48">
<mxGeometry x="0.0952" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="fm_V_9ohjV6iwPbN0lAh-42" value="根据模型输出更新&lt;div&gt;发布的输出数据主题&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCE5FF;" vertex="1" parent="fm_V_9ohjV6iwPbN0lAh-51">
<mxGeometry x="30" y="600" width="180" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,74 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="oPIENk6LQKNpqBso52cU-1" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="60" y="50" width="200" height="180" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-1" value="模型集成后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFCC;verticalAlign=top;fontStyle=1" parent="oPIENk6LQKNpqBso52cU-1" vertex="1">
<mxGeometry width="200" height="180" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-2" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型自动化构建&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FF99;verticalAlign=middle;fontStyle=1" parent="oPIENk6LQKNpqBso52cU-1" vertex="1">
<mxGeometry x="10" y="130" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-3" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型集成模板代码生成&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FF99;verticalAlign=middle;fontStyle=1" parent="oPIENk6LQKNpqBso52cU-1" vertex="1">
<mxGeometry x="10" y="30" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="DGGEnYfLaeNJhCe99Uv8-4" value="&lt;span style=&quot;font-weight: 400;&quot;&gt;模型代码压缩/解压缩&lt;/span&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#99FF99;verticalAlign=middle;fontStyle=1" parent="oPIENk6LQKNpqBso52cU-1" vertex="1">
<mxGeometry x="10" y="80" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-14" 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;labelBackgroundColor=none;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="364" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-20" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="314" y="40" width="100" height="380" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-3" value="&lt;font&gt;结束&lt;/font&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="350" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-5" target="oPIENk6LQKNpqBso52cU-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-5" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;开始&lt;/span&gt;" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.start_1;whiteSpace=wrap;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-7" target="oPIENk6LQKNpqBso52cU-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-7" value="模型集成模板代码压缩" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="110" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-9" target="oPIENk6LQKNpqBso52cU-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-9" value="模型集成模板代码生成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-10" 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;labelBackgroundColor=none;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-11" target="oPIENk6LQKNpqBso52cU-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-11" value="模型集成开发人员修改" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#E6E6E6;dashed=1;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="170" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-12" 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;labelBackgroundColor=none;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="50" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-13" value="模型集成代码解压缩" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="230" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-19" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="oPIENk6LQKNpqBso52cU-20" source="oPIENk6LQKNpqBso52cU-18" target="oPIENk6LQKNpqBso52cU-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="oPIENk6LQKNpqBso52cU-18" value="模型自动化构建" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=2;fontSize=16;labelBackgroundColor=none;fillColor=#CCFFCC;" parent="oPIENk6LQKNpqBso52cU-20" vertex="1">
<mxGeometry y="290" width="100" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,505 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="gW4YcUMdmwe9RONS6qW1">
<mxGraphModel dx="476" dy="272" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="ANJfIUH6AgBEnVohyg-Y-185" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-186" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="50" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-187" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-188" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="70" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-189" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-190" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="90" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-191" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-192" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="110" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-193" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-194" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="130" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-195" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-196" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="150" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-197" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="40" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-198" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-199" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-200" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-201" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-202" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-203" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="180" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-204" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="170" y="360" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-205" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="370" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-206" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-207" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="50" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-208" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-209" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="70" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-210" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-211" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="90" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-212" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-213" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="110" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-214" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-215" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="130" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-216" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-217" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="150" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-218" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="40" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-219" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-220" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-221" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-222" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-223" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-224" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="180" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-225" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="170" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-226" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="350" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-227" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-228" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="50" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-229" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-230" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="70" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-231" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-232" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="90" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-233" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-234" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="110" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-235" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-236" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="130" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-237" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-238" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="150" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-239" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="40" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-240" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-241" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-242" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-243" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-244" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-245" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="180" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-246" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="170" y="320" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-247" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="330" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-248" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-249" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="50" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-250" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-251" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="70" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-252" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-253" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="90" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-254" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-255" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="110" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-256" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-257" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="130" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-258" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-259" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="150" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-260" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="40" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-261" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="60" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-262" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="80" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-263" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="100" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-264" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="120" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-265" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="140" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-266" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="180" y="290" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-267" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="170" y="300" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-268" value="" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#33FFFF;opacity=80;" parent="1" vertex="1">
<mxGeometry x="160" y="310" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-93" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;" parent="1" target="ANJfIUH6AgBEnVohyg-Y-107" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="90" y="180" as="sourcePoint" />
<mxPoint x="90" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-107" value="2" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="80" width="20" height="40" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-108" value="" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.annotation_2;align=left;labelPosition=right;pointerEvents=1;dashed=1;" parent="1" vertex="1">
<mxGeometry x="100" y="60" width="40" height="80" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-109" value="99" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="50" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-110" value="98" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="70" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-111" value="97" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="90" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-112" value="..." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="110" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-113" value="0" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="140" y="130" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-116" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="ANJfIUH6AgBEnVohyg-Y-109" target="ANJfIUH6AgBEnVohyg-Y-122" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="160" y="200" as="sourcePoint" />
<mxPoint x="190" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-117" value="a" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="220" y="95" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-118" value="b" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="240" y="95" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-119" value="" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.annotation_2;align=left;labelPosition=right;pointerEvents=1;dashed=1;rotation=90;" parent="1" vertex="1">
<mxGeometry x="245" y="50" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-120" value="..." style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="260" y="95" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-121" value="c" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="95" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-122" value="99" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="250" y="50" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-123" value="线程调度任务表数据结构" style="text;strokeColor=none;fillColor=none;html=1;fontSize=15;fontStyle=1;verticalAlign=middle;align=center;" parent="1" vertex="1">
<mxGeometry x="200" y="10" width="300" height="40" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-137" value="优先级顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="1" vertex="1">
<mxGeometry x="12.5" y="410" width="67.5" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-138" value="99" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="1" vertex="1">
<mxGeometry x="20" y="320" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-139" value="98" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="1" vertex="1">
<mxGeometry x="20" y="340" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-140" value="..." style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="1" vertex="1">
<mxGeometry x="20" y="360" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-141" value="0" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="1" vertex="1">
<mxGeometry x="20" y="380" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-130" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0;exitDx=10;exitDy=30;exitPerimeter=0;strokeColor=#3333FF;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="40" y="320" as="sourcePoint" />
<mxPoint x="80" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-1" value="0" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="40" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-2" value="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="60" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-129" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;strokeColor=#00CC00;" parent="1" source="ANJfIUH6AgBEnVohyg-Y-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="40" y="325" as="sourcePoint" />
<mxPoint x="40" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-148" value="申请顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-45;fontColor=#3333FF;" parent="1" vertex="1">
<mxGeometry x="26.25" y="280" width="53.75" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="100" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-3" value="2" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="80" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-5" value="3" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="100" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-7" value="30" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="140" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-8" value="31" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="160" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-6" value="..." style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="120" y="300" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-131" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0;exitDx=30;exitDy=10;exitPerimeter=0;strokeColor=#FF0000;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="40" y="320" as="sourcePoint" />
<mxPoint x="230" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-181" value="时间顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="1" vertex="1">
<mxGeometry x="187.5" y="300" width="57.5" height="20" as="geometry" />
</mxCell>
<mxCell id="3kkRT2n1qHDR0xjDGOmM-1" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="312.5" y="263.9254374437461" width="185" height="156.0745625562539" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-447" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="37.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-448" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="27.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-449" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="57.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-450" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="47.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-451" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="77.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-452" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="67.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-453" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="97.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-454" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="87.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-455" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="117.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-456" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="107.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-457" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="137.5" y="56.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-458" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="127.5" y="66.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-459" value="D" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#E5CCFF;opacity=80;fontColor=#E5CCFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="57.5" y="36.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-460" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="27.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-462" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="47.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-465" value="D" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#E5CCFF;opacity=80;fontColor=#E5CCFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="97.5" y="36.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-466" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="67.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-467" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="87.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-468" value="D" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#E5CCFF;opacity=80;fontColor=#E5CCFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="137.5" y="36.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-469" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="107.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-470" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="127.5" y="46.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-414" value="优先级顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry y="106.07456255625391" width="67.5" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-415" value="99" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="7.5" y="56.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-416" value="98" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#00CC00;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="7.5" y="76.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-419" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0;exitDx=10;exitDy=30;exitPerimeter=0;strokeColor=#3333FF;" parent="3kkRT2n1qHDR0xjDGOmM-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="27.5" y="56.07456255625391" as="sourcePoint" />
<mxPoint x="67.5" y="16.07456255625391" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-420" value="0" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="27.5" y="36.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-421" value="1" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="47.5" y="36.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-422" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;strokeColor=#00CC00;" parent="3kkRT2n1qHDR0xjDGOmM-1" source="ANJfIUH6AgBEnVohyg-Y-420" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="27.5" y="61.07456255625391" as="sourcePoint" />
<mxPoint x="27.5" y="106.07456255625391" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-423" value="申请顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=-45;fontColor=#3333FF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="13.75" y="16.07456255625391" width="53.75" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-425" value="2" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="67.5" y="36.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-426" value="3" style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="87.5" y="36.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-429" value="..." style="rounded=0;whiteSpace=wrap;html=1;fillColor=none;strokeColor=none;shadow=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="107.5" y="36.07456255625391" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-430" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0;exitDx=30;exitDy=10;exitPerimeter=0;strokeColor=#FF0000;entryX=0;entryY=0;entryDx=0;entryDy=10;entryPerimeter=0;" parent="3kkRT2n1qHDR0xjDGOmM-1" target="ANJfIUH6AgBEnVohyg-Y-470" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="27.5" y="56.07456255625391" as="sourcePoint" />
<mxPoint x="147.5" y="56.07456255625391" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-431" value="时间顺序" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="127.5" y="36.07456255625391" width="57.5" height="20" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-441" value="A" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFFF;opacity=80;textShadow=0;fontColor=#CCFFFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="137.5" y="126.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-442" value="B" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#CCFFCC;opacity=80;fontColor=#CCFFCC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="97.5" y="126.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-443" value="C" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#FFE6CC;opacity=80;fontColor=#FFE6CC;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="57.5" y="126.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="ANJfIUH6AgBEnVohyg-Y-445" value="D" style="shape=cube;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;darkOpacity=0.05;darkOpacity2=0.1;rotation=0;flipH=1;size=10;strokeColor=#E5CCFF;opacity=80;fontColor=#E5CCFF;" parent="3kkRT2n1qHDR0xjDGOmM-1" vertex="1">
<mxGeometry x="17.5" y="126.07456255625391" width="30" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,61 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="iOvWqDZhwBoPYjrmmhhL-1" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="40" y="120" width="480" height="520" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-2" value="“玄鸟”架构" style="rounded=0;whiteSpace=wrap;html=1;fontSize=22;fontStyle=1;verticalAlign=top;fillColor=#E6E6E6;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry width="480" height="520" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-3" value="操作系统抽象层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCCC;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="20" y="465" width="440" height="40" as="geometry" />
</mxCell>
<mxCell id="1Zfl7B4BchFiSsKHNE51-2" value="数据层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;dashed=1;verticalAlign=top;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="20" y="370" width="440" height="80" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-21" value="数据交互接口" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCE6;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="400" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="1Zfl7B4BchFiSsKHNE51-4" value="业务层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;dashed=1;verticalAlign=top;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="20" y="130" width="440" height="230" as="geometry" />
</mxCell>
<mxCell id="1Zfl7B4BchFiSsKHNE51-5" value="表现层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;dashed=1;verticalAlign=top;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="20" y="40" width="440" height="80" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-20" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCFF;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="260" y="400" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-9" value="仿真综合管理平台" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFE6;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="70" width="400" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-10" value="数据交互接口生成&lt;div&gt;后端服务&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFFF;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="210" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-8" value="模型集成后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFCC;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="160" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-6" value="服务开发后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6FFCC;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="260" y="160" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-19" value="DDS监控后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E5CCFF;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="260" y="210" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-4" value="仿真内核" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFE6CC;verticalAlign=middle;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="260" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="kWzh5sXobewEAwEjzKQh-2" value="仿真调度引擎" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFFCC;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="260" y="260" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-11" value="模型系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCE5FF;verticalAlign=middle;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="40" y="310" width="180" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-14" value="服务系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCCCFF;verticalAlign=middle;container=0;" parent="iOvWqDZhwBoPYjrmmhhL-1" vertex="1">
<mxGeometry x="260" y="310" width="180" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because it is too large Load Diff

View File

@ -1,508 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/25.0.2 Chrome/128.0.6613.186 Electron/32.2.5 Safari/537.36" version="25.0.2">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="549" dy="323" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="a3VbrTrng3_AdIxwGxF7-164" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="40" y="20" width="600" height="670" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-33" value="仿真内核" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;strokeColor=#FF9933;verticalAlign=top;dashed=1;strokeWidth=2;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry y="170" width="600" height="220" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-8" value="仿真调度引擎" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;strokeColor=#33FF33;verticalAlign=top;dashed=1;strokeWidth=2;" parent="a3VbrTrng3_AdIxwGxF7-164" vertex="1">
<mxGeometry width="600" height="160" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-1" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="10" y="40" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-2" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.851;exitY=0.52;exitDx=0;exitDy=0;exitPerimeter=0;labelBackgroundColor=none;" edge="1" source="a3VbrTrng3_AdIxwGxF7-1" parent="a3VbrTrng3_AdIxwGxF7-164" target="a3VbrTrng3_AdIxwGxF7-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-5" value="引擎启动" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-2">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-3" value="初始化" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="90" y="40" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-4" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" source="a3VbrTrng3_AdIxwGxF7-3" parent="a3VbrTrng3_AdIxwGxF7-164" target="a3VbrTrng3_AdIxwGxF7-16">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="55" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-7" value="初始化完成" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-4">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-16" value="仿真运行" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="240" y="40" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-19" value="仿真暂停" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="240" y="120" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-20" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;entryX=0.25;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-16" target="a3VbrTrng3_AdIxwGxF7-19">
<mxGeometry relative="1" as="geometry">
<mxPoint x="250" y="65" as="targetPoint" />
<mxPoint x="186" y="65" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-21" value="暂停指令" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-20">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-29" y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-23" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-19" target="a3VbrTrng3_AdIxwGxF7-16">
<mxGeometry relative="1" as="geometry">
<mxPoint x="272" y="130" as="targetPoint" />
<mxPoint x="272" y="80" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-24" value="继续指令" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-23">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="20" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-26" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="550" y="40" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-27" value="仿真终止" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="400" y="40" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-28" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-16" target="a3VbrTrng3_AdIxwGxF7-27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="54.709999999999994" as="targetPoint" />
<mxPoint x="350" y="54.709999999999994" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-29" value="终止指令" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-28">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-31" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-27" target="a3VbrTrng3_AdIxwGxF7-26">
<mxGeometry relative="1" as="geometry">
<mxPoint x="411" y="150" as="targetPoint" />
<mxPoint x="337" y="150" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-32" value="引擎退出" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-31">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-38" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="10" y="200" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-39" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.851;exitY=0.52;exitDx=0;exitDy=0;exitPerimeter=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-38" target="a3VbrTrng3_AdIxwGxF7-41">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-40" value="内核加载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-39">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-41" value="初始化" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="90" y="200" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-42" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-41" target="a3VbrTrng3_AdIxwGxF7-44">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="240" as="targetPoint" />
<mxPoint x="200" y="240" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-43" value="初始化完成" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-42">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-28" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-44" value="解析配置文件" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="87" y="260" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-45" value="模型/服务加载&lt;div&gt;创建调度线程&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="87" y="320" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-46" value="" style="shape=line;html=1;strokeWidth=6;strokeColor=#ff0000;rotation=-90;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="160" y="251.5" width="103" height="10" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-49" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="129.8" y="320" as="targetPoint" />
<mxPoint x="129.8" y="290" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-50" value="解析成功" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-49">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-28" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-55" value="调度线程运行" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="230" y="280" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-58" value="控制指令响应" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="400" y="239.97000000000003" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-59" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-84" target="a3VbrTrng3_AdIxwGxF7-58">
<mxGeometry relative="1" as="geometry">
<mxPoint x="291.5" y="254.88" as="targetPoint" />
<mxPoint x="213.5" y="254.88" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-60" value="控制指令输入" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-59">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-61" value="仿真事件监听" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="230" y="200" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-62" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-61" target="a3VbrTrng3_AdIxwGxF7-83">
<mxGeometry relative="1" as="geometry">
<mxPoint x="414" y="214.81000000000003" as="targetPoint" />
<mxPoint x="326" y="214.69000000000003" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-63" value="仿真事件产生" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-62">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-64" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.937;exitY=0.669;exitDx=0;exitDy=0;labelBackgroundColor=none;exitPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="295" as="targetPoint" />
<mxPoint x="213.5" y="294.7" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-66" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.517;entryY=0.522;entryDx=0;entryDy=0;labelBackgroundColor=none;entryPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-45" target="a3VbrTrng3_AdIxwGxF7-46">
<mxGeometry relative="1" as="geometry">
<mxPoint x="328" y="304.86" as="targetPoint" />
<mxPoint x="240" y="304.74" as="sourcePoint" />
<Array as="points">
<mxPoint x="190" y="335" />
<mxPoint x="190" y="255" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-67" value="仿真开始" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-66">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="8" y="44" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-68" value="" style="shape=line;html=1;strokeWidth=6;strokeColor=#ff0000;rotation=-90;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="493" y="249.97000000000003" width="103" height="10" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-69" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.25;exitY=1;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=0.25;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-55" target="a3VbrTrng3_AdIxwGxF7-71">
<mxGeometry relative="1" as="geometry">
<mxPoint x="431.5" y="349.53" as="targetPoint" />
<mxPoint x="355.5" y="349.2" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-70" value="仿真暂停" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-69">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-22" y="-3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-71" value="调度线程暂停" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="230" y="340" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-72" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-71" target="a3VbrTrng3_AdIxwGxF7-55">
<mxGeometry relative="1" as="geometry">
<mxPoint x="298.5" y="310" as="targetPoint" />
<mxPoint x="298.5" y="340" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-73" value="仿真继续" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-72">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="21" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-74" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-55">
<mxGeometry relative="1" as="geometry">
<mxPoint x="543" y="294.97" as="targetPoint" />
<mxPoint x="477" y="294.97" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-76" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;labelBackgroundColor=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.502;entryY=0.254;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-58" target="a3VbrTrng3_AdIxwGxF7-68">
<mxGeometry relative="1" as="geometry">
<mxPoint x="543" y="256.22" as="targetPoint" />
<mxPoint x="490" y="260" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-78" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-83">
<mxGeometry relative="1" as="geometry">
<mxPoint x="543" y="214.79999999999998" as="targetPoint" />
<mxPoint x="463" y="215.3" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-80" value="调度线程终止&lt;div&gt;模型/服务卸载&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="464" y="340" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-81" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;exitX=0.903;exitY=0.615;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-46" target="a3VbrTrng3_AdIxwGxF7-61">
<mxGeometry relative="1" as="geometry">
<mxPoint x="301.5" y="214.82000000000002" as="targetPoint" />
<mxPoint x="250" y="220" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-83" value="仿真事件处理" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="400" y="200" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-84" value="&lt;div&gt;控制指令监听&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="230" y="239.97000000000003" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-85" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;exitX=0.903;exitY=0.615;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="254.90999999999997" as="targetPoint" />
<mxPoint x="213" y="254.90999999999997" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-86" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.501;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-68" target="a3VbrTrng3_AdIxwGxF7-80">
<mxGeometry relative="1" as="geometry">
<mxPoint x="553" y="304.97" as="targetPoint" />
<mxPoint x="326" y="305" as="sourcePoint" />
<Array as="points">
<mxPoint x="570" y="255" />
<mxPoint x="570" y="355" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-111" value="仿真终止" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-86">
<mxGeometry x="0.1226" y="-1" relative="1" as="geometry">
<mxPoint y="9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-88" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="370" y="340" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-90" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-80" target="a3VbrTrng3_AdIxwGxF7-88">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="355" as="targetPoint" />
<mxPoint x="305" y="350" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-91" value="内核卸载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-90">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-2" y="-7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-92" value="模型系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;strokeColor=#3399FF;verticalAlign=top;dashed=1;strokeWidth=2;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry y="400" width="600" height="90" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-95" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="13" y="440" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-96" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=0.851;exitY=0.52;exitDx=0;exitDy=0;exitPerimeter=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-95" target="a3VbrTrng3_AdIxwGxF7-98">
<mxGeometry relative="1" as="geometry">
<mxPoint x="43" y="570" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-97" value="模型加载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-96">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-98" value="初始化" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="93" y="440" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-101" value="模型运行" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="263" y="440" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-103" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-98" target="a3VbrTrng3_AdIxwGxF7-101">
<mxGeometry relative="1" as="geometry">
<mxPoint x="103" y="465" as="targetPoint" />
<mxPoint x="49" y="466" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-104" value="线程周期性调度" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-103">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-105" value="模型注销" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="407" y="440" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-106" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-101" target="a3VbrTrng3_AdIxwGxF7-105">
<mxGeometry relative="1" as="geometry">
<mxPoint x="273" y="465" as="targetPoint" />
<mxPoint x="183" y="465" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-107" value="仿真终止" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-106">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-108" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="560" y="440" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-109" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" source="a3VbrTrng3_AdIxwGxF7-105" target="a3VbrTrng3_AdIxwGxF7-108">
<mxGeometry relative="1" as="geometry">
<mxPoint x="544" y="510" as="targetPoint" />
<mxPoint x="486" y="510" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-110" value="模型卸载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-109">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-113" value="服务系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=none;strokeColor=#FF9933;verticalAlign=top;dashed=1;strokeWidth=2;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry y="500" width="600" height="170" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-114" value="" style="ellipse;html=1;shape=startState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="38" y="510" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-115" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.507;exitY=0.869;exitDx=0;exitDy=0;labelBackgroundColor=none;exitPerimeter=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-114" target="a3VbrTrng3_AdIxwGxF7-117" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="660" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-116" value="服务加载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-115">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint x="-24" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-117" value="初始化" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="13" y="573" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-118" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.505;entryY=0.278;entryDx=0;entryDy=0;labelBackgroundColor=none;entryPerimeter=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-117" target="a3VbrTrng3_AdIxwGxF7-122" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="130" y="590" as="targetPoint" />
<mxPoint x="200" y="570" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-119" value="初始化完成" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-118">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="-8" y="-27" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-122" value="" style="shape=line;html=1;strokeWidth=6;strokeColor=#ff0000;rotation=-90;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="81" y="583" width="103" height="10" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-125" value="外部系统&lt;div&gt;输入数据&lt;span style=&quot;background-color: initial;&quot;&gt;监听&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="151" y="611.5" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-126" value="控制指令响应" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="321" y="571.47" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-127" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" source="a3VbrTrng3_AdIxwGxF7-147" target="a3VbrTrng3_AdIxwGxF7-126" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="212.5" y="586.38" as="targetPoint" />
<mxPoint x="134.5" y="586.38" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-128" value="控制指令输入" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-127">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-129" value="仿真事件监听" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="151" y="531.5" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-130" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" source="a3VbrTrng3_AdIxwGxF7-129" target="a3VbrTrng3_AdIxwGxF7-146" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="335" y="546.3100000000001" as="targetPoint" />
<mxPoint x="247" y="546.19" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-131" value="仿真事件产生" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-130">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-132" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.937;exitY=0.669;exitDx=0;exitDy=0;labelBackgroundColor=none;exitPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="151" y="626.5" as="targetPoint" />
<mxPoint x="134.5" y="626.2" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-135" value="" style="shape=line;html=1;strokeWidth=6;strokeColor=#ff0000;rotation=-90;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="414" y="581.47" width="103" height="10" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-142" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;labelBackgroundColor=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.502;entryY=0.254;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-126" target="a3VbrTrng3_AdIxwGxF7-135" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="464" y="587.72" as="targetPoint" />
<mxPoint x="411" y="591.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-143" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" source="a3VbrTrng3_AdIxwGxF7-146" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="464" y="546.3" as="targetPoint" />
<mxPoint x="384" y="546.8" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-144" value="调度线程终止&lt;div&gt;模型/服务卸载&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="501.5" y="571.47" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-145" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;exitX=0.903;exitY=0.615;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-122" target="a3VbrTrng3_AdIxwGxF7-129" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="222.5" y="546.32" as="targetPoint" />
<mxPoint x="171" y="551.5" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-146" value="仿真事件处理" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="321" y="531.5" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-147" value="&lt;div&gt;控制指令监听&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="151" y="571.47" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-148" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;exitX=0.903;exitY=0.615;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="151" y="586.41" as="targetPoint" />
<mxPoint x="134" y="586.41" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-151" value="" style="ellipse;html=1;shape=endState;fillColor=#000000;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="529.5" y="630" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-152" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;labelBackgroundColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-144" target="a3VbrTrng3_AdIxwGxF7-151" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="685" as="targetPoint" />
<mxPoint x="305" y="680" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-153" value="服务卸载" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-152">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="33" y="-2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-156" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;labelBackgroundColor=none;" edge="1" target="a3VbrTrng3_AdIxwGxF7-159" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="212.5" y="626.18" as="targetPoint" />
<mxPoint x="237" y="626.3" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-157" value="数据输入" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-156">
<mxGeometry x="-0.1467" y="-2" relative="1" as="geometry">
<mxPoint x="5" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-158" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;labelBackgroundColor=none;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.502;entryY=0.254;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" source="a3VbrTrng3_AdIxwGxF7-159" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry relative="1" as="geometry">
<mxPoint x="463" y="626.3" as="targetPoint" />
<mxPoint x="411" y="631.3" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-159" value="外部系统&lt;div&gt;输入数据&lt;span style=&quot;background-color: initial;&quot;&gt;处理&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;arcSize=40;fontColor=#000000;fillColor=#ffffc0;strokeColor=#ff0000;" vertex="1" parent="a3VbrTrng3_AdIxwGxF7-164">
<mxGeometry x="321" y="611.27" width="86" height="30" as="geometry" />
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-162" value="" style="edgeStyle=orthogonalEdgeStyle;html=1;verticalAlign=bottom;endArrow=open;endSize=8;strokeColor=#ff0000;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBackgroundColor=none;" edge="1" parent="a3VbrTrng3_AdIxwGxF7-164" target="a3VbrTrng3_AdIxwGxF7-144">
<mxGeometry relative="1" as="geometry">
<mxPoint x="522" y="586.27" as="targetPoint" />
<mxPoint x="464" y="586.27" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="a3VbrTrng3_AdIxwGxF7-163" value="仿真终止" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="a3VbrTrng3_AdIxwGxF7-162">
<mxGeometry x="-0.0364" relative="1" as="geometry">
<mxPoint x="11" y="23" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,249 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="i1LCBZq1LfZgt2z2LCx4">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="pPbReabeqSBAkKuu7_lg-54" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="60" y="10" width="1010" height="610" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--29" value="仿真综合管理平台" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;dashed=1;strokeColor=#3333FF;fontColor=#3333FF;fillColor=none;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="100" width="180" height="610" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--4" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--1" target="eXkyYviEa0PqysZotQQ--2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--6" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--1" target="eXkyYviEa0PqysZotQQ--5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-9" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" target="pPbReabeqSBAkKuu7_lg-2" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="30" y="115" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--1" value="开发人员" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry y="85" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-7" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--2" target="pPbReabeqSBAkKuu7_lg-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-12" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--2" target="pPbReabeqSBAkKuu7_lg-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--2" value="模型集成" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="140" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-8" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;jumpStyle=arc;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--5" target="pPbReabeqSBAkKuu7_lg-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-13" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-19" target="pPbReabeqSBAkKuu7_lg-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--5" value="服务开发" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="200" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--23" value="用户" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry y="350" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-27" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--27" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--27" value="仿真运行控制" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="260" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--28" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="eXkyYviEa0PqysZotQQ--27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="297" as="sourcePoint" />
<mxPoint x="320" y="240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--30" value="仿真运行信息监控" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="320" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--31" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="eXkyYviEa0PqysZotQQ--30" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="215" y="295" as="sourcePoint" />
<mxPoint x="320" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--43" value="仿真调度引擎" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="430" y="300" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--72" value="TDM Host计算机" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="980" y="450" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="eXkyYviEa0PqysZotQQ--78" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--72" target="pPbReabeqSBAkKuu7_lg-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1120.6" y="470" as="sourcePoint" />
<mxPoint x="1015.5999999999999" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-5" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-1" target="pPbReabeqSBAkKuu7_lg-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-1" value="构型配置" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-6" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-2" target="pPbReabeqSBAkKuu7_lg-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-50" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;jumpStyle=arc;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-2" target="pPbReabeqSBAkKuu7_lg-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-2" value="接口配置" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="85" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-44" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-4" target="pPbReabeqSBAkKuu7_lg-38" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-52" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-4" target="pPbReabeqSBAkKuu7_lg-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-4" value="数据库" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="300" y="110" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-10" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--1" target="pPbReabeqSBAkKuu7_lg-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="125" as="sourcePoint" />
<mxPoint x="130" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-43" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-11" target="pPbReabeqSBAkKuu7_lg-38" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-11" value="构型目录" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="470" y="235" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-28" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-14" target="eXkyYviEa0PqysZotQQ--43" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-14" value="DDS监控后端服务" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="330" y="370" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-15" value="模型数据监控" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="440" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-16" value="模型数据采集" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="500" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-17" value="模型数据注入" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="555" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-18" value="模型运行信息监控" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="120" y="380" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-19" value="模型集成后端服务" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="300" y="180" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-20" value="服务开发后端服务" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="300" y="235" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-21" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--5" target="pPbReabeqSBAkKuu7_lg-20" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="170" as="sourcePoint" />
<mxPoint x="330" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-22" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-20" target="pPbReabeqSBAkKuu7_lg-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="230" as="sourcePoint" />
<mxPoint x="330" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-23" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="pPbReabeqSBAkKuu7_lg-18" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="40" y="384" as="sourcePoint" />
<mxPoint x="130" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-24" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="pPbReabeqSBAkKuu7_lg-15" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="50" y="394" as="sourcePoint" />
<mxPoint x="140" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-25" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="pPbReabeqSBAkKuu7_lg-16" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="400" as="sourcePoint" />
<mxPoint x="150" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-26" style="edgeStyle=none;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--23" target="pPbReabeqSBAkKuu7_lg-17" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="414" as="sourcePoint" />
<mxPoint x="160" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-29" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--30" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="290" as="sourcePoint" />
<mxPoint x="410" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-30" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-18" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="340" as="sourcePoint" />
<mxPoint x="420" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-31" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-15" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="290" y="310" as="sourcePoint" />
<mxPoint x="430" y="400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-32" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-16" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="320" as="sourcePoint" />
<mxPoint x="440" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-33" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-17" target="pPbReabeqSBAkKuu7_lg-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="310" y="330" as="sourcePoint" />
<mxPoint x="450" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-34" value="数据交互接口" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="590" y="370" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-47" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-35" target="pPbReabeqSBAkKuu7_lg-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-35" value="服务系统" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="767" y="450" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-36" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-14" target="pPbReabeqSBAkKuu7_lg-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-41" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-38" target="pPbReabeqSBAkKuu7_lg-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-46" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-38" target="pPbReabeqSBAkKuu7_lg-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-48" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-38" target="pPbReabeqSBAkKuu7_lg-35" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-38" value="仿真内核" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="680" y="235" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-40" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;jumpStyle=arc;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-39" target="pPbReabeqSBAkKuu7_lg-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-39" value="模型系统" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="860" y="285" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-42" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="pPbReabeqSBAkKuu7_lg-54" source="eXkyYviEa0PqysZotQQ--43" target="pPbReabeqSBAkKuu7_lg-38" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-53" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;" parent="pPbReabeqSBAkKuu7_lg-54" source="pPbReabeqSBAkKuu7_lg-49" target="pPbReabeqSBAkKuu7_lg-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="pPbReabeqSBAkKuu7_lg-49" value="数据交互接口生成后端服务" style="ellipse;whiteSpace=wrap;html=1;" parent="pPbReabeqSBAkKuu7_lg-54" vertex="1">
<mxGeometry x="470" y="30" width="160" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,148 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram name="第 1 页" id="53ohZg2ldgS__RMUvD0S">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-36" value="" style="group" parent="1" vertex="1" connectable="0">
<mxGeometry x="10" y="160" width="790" height="460" as="geometry" />
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-9" value="一体化二进制数据包 Host 计算机" style="rounded=0;whiteSpace=wrap;html=1;fontSize=22;fontStyle=1;verticalAlign=top;fillColor=#E6E6E6;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry width="700" height="460" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-2" value="“玄鸟”架构" style="rounded=0;whiteSpace=wrap;html=1;fontSize=22;fontStyle=1;verticalAlign=top;fillColor=#CCCCCC;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="20" y="40" width="660" height="400" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-3" value="操作系统抽象层" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCCC;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="380" width="620" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-4" value="仿真内核" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFE6CC;verticalAlign=middle;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="200" y="80" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-6" value="仿真调度引擎" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFFFCC;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="80" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-8" value="模型集成后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFCC;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="360" y="200" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-9" value="仿真综合管理平台" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFE6;points=[[0,0,0,0,0],[0,0,0,70,0],[0,0,0,230,0],[0,0.25,0,0,0],[0,0.5,0,0,0],[0,0.75,0,0,0],[0,1,0,0,0],[0.25,1,0,0,0],[0.5,1,0,0,0],[0.75,1,0,0,0],[1,0,0,-230,0],[1,0,0,-70,0],[1,0,0,0,0],[1,0.25,0,0,0],[1,0.5,0,0,0],[1,0.75,0,0,0],[1,1,0,0,0]];" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="260" width="620" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-10" value="数据交互接口生成后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCFFFF;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="200" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-11" value="模型系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCE5FF;verticalAlign=middle;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="360" y="80" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-14" value="服务系统" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#CCCCFF;verticalAlign=middle;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="520" y="80" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-19" value="DDS监控后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E5CCFF;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="200" y="200" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-20" value="数据库" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCFF;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="320" width="620" height="40" as="geometry" />
</mxCell>
<mxCell id="yJNhY_pYEWoajTAzxKkN-21" value="数据交互接口" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#FFCCE6;points=[[0,0,0,0,0],[0,0,0,70,0],[0,0,0,230,0],[0,0.25,0,0,0],[0,0.5,0,0,0],[0,0.75,0,0,0],[0,1,0,0,0],[0,1,0,70,0],[0,1,0,230,0],[1,0,0,-230,0],[1,0,0,-70,0],[1,0,0,0,0],[1,0.25,0,0,0],[1,0.5,0,0,0],[1,0.75,0,0,0],[1,1,0,-230,0],[1,1,0,-70,0],[1,1,0,0,0]];" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="40" y="140" width="620" height="40" as="geometry" />
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-2" value="服务开发后端服务" style="rounded=0;whiteSpace=wrap;html=1;fontSize=16;fillColor=#E6FFCC;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="520" y="200" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-11" value="TDM Host 计算机" style="rounded=0;whiteSpace=wrap;html=1;fontSize=22;fontStyle=1;verticalAlign=middle;fillColor=#E6E6E6;points=[[0,0,0,0,0],[0,0,0,0,100],[0,0.5,0,0,0],[0,0.75,0,0,0],[0,1,0,0,0],[0.25,0,0,0,0],[0.25,1,0,0,0],[0.5,0,0,0,0],[0.5,1,0,0,0],[0.75,0,0,0,0],[0.75,1,0,0,0],[1,0,0,0,0],[1,0.25,0,0,0],[1,0.5,0,0,0],[1,0.75,0,0,0],[1,1,0,0,0]];" parent="Sm3FNXNAMwIdkSCu1Oqm-36" vertex="1">
<mxGeometry x="720" width="70" height="460" as="geometry" />
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-12" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=100;entryPerimeter=0;fillColor=#9999FF;width=13;startSize=4;endSize=4;endWidth=8.666666666666666;startWidth=8.666666666666666;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="660" y="100" as="sourcePoint" />
<mxPoint x="720" y="100" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-13" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=-70;entryDy=0;entryPerimeter=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-14" target="yJNhY_pYEWoajTAzxKkN-21" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="670" y="110" as="sourcePoint" />
<mxPoint x="730" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-14" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-11" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="600" y="130" as="sourcePoint" />
<mxPoint x="430" y="139" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-15" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-4" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="610" y="140" as="sourcePoint" />
<mxPoint x="270" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-16" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=70;entryDy=0;entryPerimeter=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-6" target="yJNhY_pYEWoajTAzxKkN-21" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="620" y="150" as="sourcePoint" />
<mxPoint x="620" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-17" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=230;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;exitPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-21" target="yJNhY_pYEWoajTAzxKkN-19" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="120" y="130" as="sourcePoint" />
<mxPoint x="120" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-18" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-11" target="yJNhY_pYEWoajTAzxKkN-8" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="130" y="140" as="sourcePoint" />
<mxPoint x="130" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-20" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-14" target="Sm3FNXNAMwIdkSCu1Oqm-2" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="610" y="110" as="sourcePoint" />
<mxPoint x="610" y="190" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-21" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=70;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;exitPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-21" target="yJNhY_pYEWoajTAzxKkN-10" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="485" y="140" as="sourcePoint" />
<mxPoint x="485" y="220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-23" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=70;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;entryPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-10" target="yJNhY_pYEWoajTAzxKkN-9" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="120" y="190" as="sourcePoint" />
<mxPoint x="120" y="210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-24" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=-230;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;entryPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-8" target="yJNhY_pYEWoajTAzxKkN-9" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="130" y="200" as="sourcePoint" />
<mxPoint x="130" y="220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-25" value="" style="shape=flexArrow;endArrow=none;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0;entryDx=-70;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;endFill=0;entryPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="Sm3FNXNAMwIdkSCu1Oqm-2" target="yJNhY_pYEWoajTAzxKkN-9" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="140" y="210" as="sourcePoint" />
<mxPoint x="140" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-28" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0;exitY=0;exitDx=230;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;exitPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-9" target="yJNhY_pYEWoajTAzxKkN-19" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="280" y="190" as="sourcePoint" />
<mxPoint x="280" y="210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-30" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;entryPerimeter=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-20" target="yJNhY_pYEWoajTAzxKkN-9" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="280" y="270" as="sourcePoint" />
<mxPoint x="280" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Sm3FNXNAMwIdkSCu1Oqm-35" value="" style="shape=flexArrow;endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#99FF99;width=5;startSize=1.5932584269662922;endSize=1.6853932584269662;endWidth=2.5;startWidth=2.5;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="Sm3FNXNAMwIdkSCu1Oqm-36" source="yJNhY_pYEWoajTAzxKkN-6" target="yJNhY_pYEWoajTAzxKkN-4" edge="1">
<mxGeometry width="100" height="100" relative="1" as="geometry">
<mxPoint x="280" y="130" as="sourcePoint" />
<mxPoint x="280" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,534 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="601" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="hI-T8fWEUw2N9U9_dxhP-22" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="850" y="40" width="970" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-85" value="数据/指令发布" style="html=1;verticalAlign=bottom;endArrow=open;endSize=8;curved=0;rounded=0;entryX=-0.063;entryY=0.045;entryDx=0;entryDy=0;entryPerimeter=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-82" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="670" y="820" as="targetPoint" />
<mxPoint x="565" y="821" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-55" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;数据交互接口&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="750" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-23" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;模型系统&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCE5FF;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="630" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-58" value="通信域创建" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="210" as="sourcePoint" />
<mxPoint x="740" y="210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-48" value="仿真开始运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="530" as="sourcePoint" />
<mxPoint x="435" y="530" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-47" value="构型配置解析完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="510" as="targetPoint" />
<mxPoint x="435" y="510" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-44" value="创建调度线程" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="460" as="sourcePoint" />
<Array as="points">
<mxPoint x="470" y="490" />
</Array>
<mxPoint x="445" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-41" value="加载模型" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-24" edge="1">
<mxGeometry x="-0.234" relative="1" as="geometry">
<mxPoint x="445" y="390" as="sourcePoint" />
<mxPoint x="670" y="390" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-39" value="初始化" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="565" y="330" as="sourcePoint" />
<Array as="points">
<mxPoint x="590" y="360" />
</Array>
<mxPoint x="565" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-38" value="加载服务" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="320" as="sourcePoint" />
<mxPoint x="555" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-37" value="解析构型配置" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="270" as="sourcePoint" />
<Array as="points">
<mxPoint x="470" y="300" />
</Array>
<mxPoint x="445" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-35" value="初始化完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="240" as="targetPoint" />
<mxPoint x="435" y="240" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-36" value="构型配置解析" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="260" as="sourcePoint" />
<mxPoint x="435" y="260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-42" value="初始化" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="400" as="sourcePoint" />
<Array as="points">
<mxPoint x="710" y="430" />
</Array>
<mxPoint x="685" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-33" value="初始化内核" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="150" as="sourcePoint" />
<mxPoint x="435" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-34" value="初始化" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="160" as="sourcePoint" />
<Array as="points">
<mxPoint x="470" y="190" />
</Array>
<mxPoint x="445" y="190" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-29" value="加载内核" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="130" as="sourcePoint" />
<mxPoint x="435" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-12" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真综合管理平台&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCFFE6;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="30" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-13" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真调度引擎&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFFFCC;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="270" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-17" value="仿真引擎启动" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-15" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="60" as="sourcePoint" />
<mxPoint x="200" y="60" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-18" value="引擎退出" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="bzu7vJ0DLg5JBiClsrXV-15" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="1380" as="targetPoint" />
<mxPoint x="310" y="1380" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-19" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;仿真内核&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFE6CC;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="390" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-21" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;服务系统&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCCCFF;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="511" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-25" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;DDS监控后端服务&lt;/span&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#E5CCFF;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="150" width="100" height="1410" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-27" value="&lt;span style=&quot;font-size: 16px;&quot;&gt;TDM Host&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;计算机&lt;/span&gt;&lt;/div&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;dropTarget=0;collapsible=0;recursiveResize=0;outlineConnect=0;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#E6E6E6;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="870" width="100" height="1230" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-43" value="初始化完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-20" edge="1">
<mxGeometry x="-0.4043" relative="1" as="geometry">
<mxPoint x="570" y="440" as="targetPoint" />
<mxPoint x="675" y="440" as="sourcePoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-40" value="注销完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="1321" as="targetPoint" />
<mxPoint x="555" y="1321" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-59" value="创建完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="bzu7vJ0DLg5JBiClsrXV-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="230" as="targetPoint" />
<mxPoint x="555" y="230" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-68" value="循环" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="370" y="540" width="450" height="190" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-73" value="异步" style="shape=umlFrame;whiteSpace=wrap;html=1;pointerEvents=0;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry y="740" width="950" height="500" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-74" value="仿真暂停运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="760" as="sourcePoint" />
<mxPoint x="195" y="760" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-75" value="内核暂停运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="780" as="sourcePoint" />
<mxPoint x="435" y="780" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-76" value="调度线程暂停" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="790" as="sourcePoint" />
<Array as="points">
<mxPoint x="465" y="820" />
</Array>
<mxPoint x="445" y="820" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-77" value="仿真继续运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="840" as="sourcePoint" />
<mxPoint x="195" y="840" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-78" value="内核继续运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="860" as="sourcePoint" />
<mxPoint x="435" y="860" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-79" value="调度线程继续" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="870" as="sourcePoint" />
<Array as="points">
<mxPoint x="465" y="900" />
</Array>
<mxPoint x="445" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-81" value="外部输入数据/指令" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="915" y="770" as="sourcePoint" />
<mxPoint x="567" y="770" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-82" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="820" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-83" value="数据解包/指令解析" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="566" y="780" as="sourcePoint" />
<Array as="points">
<mxPoint x="586" y="810" />
</Array>
<mxPoint x="566" y="810" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-86" value="发布完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="bzu7vJ0DLg5JBiClsrXV-82" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="566" y="839.52" as="targetPoint" />
<mxPoint x="676" y="839.52" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-88" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="930" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-89" value="TCP/UDP数据" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;entryX=1.059;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="795" y="950" as="sourcePoint" />
<mxPoint x="566.5899999999997" y="950" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-91" value="获取TCP/UDP数据" style="html=1;verticalAlign=bottom;endArrow=open;endSize=8;curved=0;rounded=0;entryX=-0.063;entryY=0.045;entryDx=0;entryDy=0;entryPerimeter=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="794" y="930.1" as="targetPoint" />
<mxPoint x="565" y="930.1" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-93" value="输出数据事件触发" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="920" as="sourcePoint" />
<mxPoint x="556" y="920" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-94" value="外部输出数据" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="911" y="969.6700000000001" as="targetPoint" />
<mxPoint x="566" y="969.6700000000001" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-95" value="仿真终止运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="1210" as="sourcePoint" />
<mxPoint x="195" y="1210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-96" value="内核终止运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="1230" as="sourcePoint" />
<mxPoint x="435" y="1230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-97" value="调度线程终止" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="1250" as="sourcePoint" />
<Array as="points">
<mxPoint x="465" y="1280" />
</Array>
<mxPoint x="445" y="1280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-99" value="服务注销" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="1300" as="sourcePoint" />
<mxPoint x="556" y="1300" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-101" value="模型注销" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" target="bzu7vJ0DLg5JBiClsrXV-100" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="1341" as="sourcePoint" />
<mxPoint x="556" y="1341" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-102" value="注销完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="bzu7vJ0DLg5JBiClsrXV-100" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="445" y="1361" as="targetPoint" />
<mxPoint x="550" y="1361" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-104" value="内核卸载" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="1380" as="targetPoint" />
<mxPoint x="435" y="1380" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-56" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="210" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-24" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCE5FF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="675" y="390" width="10" height="50" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-53" value="调度线程单步执行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry x="-0.4348" relative="1" as="geometry">
<mxPoint x="445" y="570" as="sourcePoint" />
<mxPoint x="675" y="570" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-50" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCE5FF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="675" y="570" width="10" height="130" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-61" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="580" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-64" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="670" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-60" value="订阅输入数据" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="580" as="sourcePoint" />
<mxPoint x="795" y="580" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-62" value="输入数据" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="600" as="targetPoint" />
<mxPoint x="795" y="600" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-63" value="单步执行" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="620" as="sourcePoint" />
<Array as="points">
<mxPoint x="710" y="650" />
</Array>
<mxPoint x="685" y="650" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-65" value="输出数据发布" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="670" as="sourcePoint" />
<mxPoint x="795" y="670" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-66" value="发布完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="685" y="690" as="targetPoint" />
<mxPoint x="795" y="690" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-67" value="单步执行完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry x="-0.4043" relative="1" as="geometry">
<mxPoint x="446" y="700" as="targetPoint" />
<mxPoint x="676" y="700" as="sourcePoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-100" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCE5FF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="675" y="1341" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-14" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCFFE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="75" y="60" width="10" height="1340" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-32" value="初始化" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="325" y="80" as="sourcePoint" />
<Array as="points">
<mxPoint x="350" y="110" />
</Array>
<mxPoint x="325" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-15" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFFFCC;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="315" y="60" width="10" height="1340" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-20" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFE6CC;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="435" y="130" width="10" height="1270" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-22" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCCCFF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="556" y="320" width="10" height="50" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-80" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCCCFF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="556" y="770" width="10" height="70" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-87" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCCCFF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="556" y="920" width="10" height="50" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-98" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#CCCCFF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="556" y="1300" width="10" height="21" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-26" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#E5CCFF;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="195" y="750" width="10" height="510" as="geometry" />
</mxCell>
<mxCell id="bzu7vJ0DLg5JBiClsrXV-28" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#E6E6E6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="915" y="40" width="10" height="1370" as="geometry" />
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-0" value="引擎暂停运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="769.52" as="sourcePoint" />
<mxPoint x="315" y="769.52" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-1" value="仿真继续运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="850" as="sourcePoint" />
<mxPoint x="315" y="850" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-2" value="仿真继续运行" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="1220" as="sourcePoint" />
<mxPoint x="315" y="1220" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-3" value="获取字符串监控数据" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="989.5999999999999" as="sourcePoint" />
<mxPoint x="799.5" y="989.5999999999999" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-4" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="795" y="989.5999999999999" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-5" value="字符串监控数据" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;exitX=0;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="hI-T8fWEUw2N9U9_dxhP-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="1009.5999999999999" as="targetPoint" />
<mxPoint x="815" y="659.6" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-9" value="数据监控" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="979.6" as="sourcePoint" />
<mxPoint x="195" y="979.6" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-11" value="数据注入" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="1029.6" as="sourcePoint" />
<mxPoint x="195" y="1029.6" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-12" value="数据采集" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="85" y="1120" as="sourcePoint" />
<mxPoint x="195" y="1120" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-13" value="发布字符串注入数据" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="1080" as="sourcePoint" />
<mxPoint x="798.5" y="1080" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-14" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="794" y="1080" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-15" value="注入完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;exitX=0;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="hI-T8fWEUw2N9U9_dxhP-14" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="1100" as="targetPoint" />
<mxPoint x="814" y="750" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-16" value="启动注入线程" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="1040" as="sourcePoint" />
<Array as="points">
<mxPoint x="225" y="1070" />
</Array>
<mxPoint x="205" y="1070" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-17" value="获取字符串监控数据" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="1171" as="sourcePoint" />
<mxPoint x="798.5" y="1171" as="targetPoint" />
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-18" value="" style="html=1;points=[[0,0,0,0,5],[0,1,0,0,-5],[1,0,0,0,5],[1,1,0,0,-5]];perimeter=orthogonalPerimeter;outlineConnect=0;targetShapes=umlLifeline;portConstraint=eastwest;newEdgeStyle={&quot;curved&quot;:0,&quot;rounded&quot;:0};fillColor=#FFCCE6;container=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" vertex="1">
<mxGeometry x="794" y="1171" width="10" height="20" as="geometry" />
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-19" value="采集完成" style="html=1;verticalAlign=bottom;endArrow=open;dashed=1;endSize=8;curved=0;rounded=0;labelBackgroundColor=none;exitX=0;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="hI-T8fWEUw2N9U9_dxhP-22" source="hI-T8fWEUw2N9U9_dxhP-18" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="1191" as="targetPoint" />
<mxPoint x="814" y="841" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-20" value="启动采集线程" style="html=1;align=left;spacingLeft=2;endArrow=block;rounded=0;edgeStyle=orthogonalEdgeStyle;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="205" y="1131" as="sourcePoint" />
<Array as="points">
<mxPoint x="225" y="1161" />
</Array>
<mxPoint x="205" y="1161" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hI-T8fWEUw2N9U9_dxhP-21" value="数据显示" style="html=1;verticalAlign=bottom;endArrow=block;curved=0;rounded=0;labelBackgroundColor=none;" parent="hI-T8fWEUw2N9U9_dxhP-22" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="195" y="1009.5999999999999" as="sourcePoint" />
<mxPoint x="85" y="1009.5999999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,574 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="YPs_-grFu6rSsMYcnHfH-59" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="40" y="20" width="390" height="440" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="序列化流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
<mxGeometry width="390" height="440" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
<mxGeometry y="20" width="140" height="420" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-0" value="数据类型&lt;div&gt;是基础类型?&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="70" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-3" value="数据类型&lt;div&gt;是array类型&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="170" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-0" target="YPs_-grFu6rSsMYcnHfH-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-52" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-5" vertex="1" connectable="0">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-14" target="YPs_-grFu6rSsMYcnHfH-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-56" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-25" vertex="1" connectable="0">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-14" value="数据类型&lt;div&gt;是optional类型&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="270" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YPs_-grFu6rSsMYcnHfH-3" target="YPs_-grFu6rSsMYcnHfH-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-54" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-15" vertex="1" connectable="0">
<mxGeometry x="0.1048" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-24" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="370" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" parent="YPs_-grFu6rSsMYcnHfH-59" vertex="1">
<mxGeometry x="140" y="20" width="250" height="420" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-1" value="直接序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="20" y="90" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-9" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-9" value="循环获取&lt;div&gt;array每个元素&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="20" y="190" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-10" value="递归调用序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="140" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-16" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-58" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-18" vertex="1" connectable="0">
<mxGeometry x="-0.8851" relative="1" as="geometry">
<mxPoint x="-17" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-16" target="YPs_-grFu6rSsMYcnHfH-19" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-57" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-20" vertex="1" connectable="0">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-16" value="optional数据有值" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="20" y="270" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YPs_-grFu6rSsMYcnHfH-19" target="YPs_-grFu6rSsMYcnHfH-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-19" value="用optional内含的类型定义一个临时变量" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="20" y="370" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-0" target="YPs_-grFu6rSsMYcnHfH-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-51" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-2" vertex="1" connectable="0">
<mxGeometry x="-0.5873" relative="1" as="geometry">
<mxPoint x="-6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-3" target="YPs_-grFu6rSsMYcnHfH-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-53" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-11" vertex="1" connectable="0">
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
<mxPoint x="-18" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-10" target="YPs_-grFu6rSsMYcnHfH-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YPs_-grFu6rSsMYcnHfH-59" source="YPs_-grFu6rSsMYcnHfH-14" target="YPs_-grFu6rSsMYcnHfH-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-55" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YPs_-grFu6rSsMYcnHfH-17" vertex="1" connectable="0">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-1" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="40" y="480" width="390" height="520" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-61" value="反序列化流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry width="390" height="520" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-62" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry y="20" width="140" height="500" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-73" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="140" y="20" width="250" height="500" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-63" target="YPs_-grFu6rSsMYcnHfH-74" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-86" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-85" vertex="1" connectable="0">
<mxGeometry x="-0.5873" relative="1" as="geometry">
<mxPoint x="-6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-64" target="YPs_-grFu6rSsMYcnHfH-76" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-88" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-87" vertex="1" connectable="0">
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
<mxPoint x="-18" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-77" target="YPs_-grFu6rSsMYcnHfH-63" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-69" target="YPs_-grFu6rSsMYcnHfH-92" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-91" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-90" vertex="1" connectable="0">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-84" value="反序列化失败&lt;div&gt;直接返回&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="160" y="470" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-82" target="YPs_-grFu6rSsMYcnHfH-84" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-81" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-80" vertex="1" connectable="0">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-63" value="数据类型&lt;div&gt;是optional类型&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="10" y="90" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-64" value="数据类型&lt;div&gt;是基础类型?&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="10" y="190" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-63" target="YPs_-grFu6rSsMYcnHfH-64" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-66" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-65" vertex="1" connectable="0">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-69" target="YPs_-grFu6rSsMYcnHfH-72" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-68" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-67" vertex="1" connectable="0">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-69" value="数据类型&lt;div&gt;是array类型&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="10" y="290" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-64" target="YPs_-grFu6rSsMYcnHfH-69" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-71" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-70" vertex="1" connectable="0">
<mxGeometry x="0.1048" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-72" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="10" y="390" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-74" value="将optional类型&lt;div&gt;初始化为有效值&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="160" y="110" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-74" target="YPs_-grFu6rSsMYcnHfH-77" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-76" value="直接反序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="160" y="210" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-77" value="递归调用反序列化" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="280" y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-82" target="YPs_-grFu6rSsMYcnHfH-77" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-79" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="YPs_-grFu6rSsMYcnHfH-78" vertex="1" connectable="0">
<mxGeometry x="-0.8851" relative="1" as="geometry">
<mxPoint x="-17" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-82" value="分割成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="160" y="370" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-92" value="分割字节数组/字符串" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" vertex="1">
<mxGeometry x="160" y="310" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="YPs_-grFu6rSsMYcnHfH-93" 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;entryPerimeter=0;" parent="dwqjCXXZkwgFyCKQyq_e-1" source="YPs_-grFu6rSsMYcnHfH-92" target="YPs_-grFu6rSsMYcnHfH-82" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-95" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="40" y="1030" width="660" height="1120" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-3" value="赋值流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
<mxGeometry width="660" height="1120" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-4" value="编译期计算" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
<mxGeometry y="20" width="410" height="1100" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-16" value="T1和T2都是&lt;div&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="70" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-17" value="T1和T2都是&lt;div&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="230" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-16" target="dwqjCXXZkwgFyCKQyq_e-17">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-19" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-18">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-35" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="160" y="170" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-16" target="dwqjCXXZkwgFyCKQyq_e-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-7" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-6">
<mxGeometry x="-0.5873" relative="1" as="geometry">
<mxPoint x="-6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-36" value="T2能否转换为T1&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;&lt;/span&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="150" y="70" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-36" target="dwqjCXXZkwgFyCKQyq_e-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="160" as="sourcePoint" />
<mxPoint x="80" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-40">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-22" value="&lt;div&gt;T1是optional&lt;/div&gt;&lt;div&gt;而T2不是&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="690" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-17" target="dwqjCXXZkwgFyCKQyq_e-22">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-24" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-23">
<mxGeometry x="0.1048" relative="1" as="geometry">
<mxPoint x="-10" y="-200" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-42" value="T1和T2都是&lt;div&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="150" y="230" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-17" target="dwqjCXXZkwgFyCKQyq_e-42">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-9" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-8">
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
<mxPoint x="-18" y="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-42" target="dwqjCXXZkwgFyCKQyq_e-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="140" y="280" as="sourcePoint" />
<mxPoint x="160" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-46" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-45">
<mxGeometry x="0.2063" y="2" relative="1" as="geometry">
<mxPoint x="-8" y="2" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-47" target="dwqjCXXZkwgFyCKQyq_e-50">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-52" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-51">
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-47" value="T1是&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;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;而T2不是&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="150" y="330" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-48" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-42" target="dwqjCXXZkwgFyCKQyq_e-47">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="160" as="sourcePoint" />
<mxPoint x="220" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-49" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-48">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-50" value="使用T2计算&lt;div&gt;数组大小&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="290" y="350" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-53" value="T2是&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;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;而T1不是&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="150" y="430" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-47" target="dwqjCXXZkwgFyCKQyq_e-53">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="320" as="sourcePoint" />
<mxPoint x="220" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-56" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-55">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-57" value="使用T1计算&lt;div&gt;数组大小&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="290" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-53" target="dwqjCXXZkwgFyCKQyq_e-57">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280" y="380" as="sourcePoint" />
<mxPoint x="300" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-60" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-59">
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
<mxPoint x="-6" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-61" value="T2与&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;T1&lt;/span&gt;&lt;div&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;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;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="150" y="530" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-62" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-53" target="dwqjCXXZkwgFyCKQyq_e-61">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="420" as="sourcePoint" />
<mxPoint x="220" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-63" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-62">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-65" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-61" target="dwqjCXXZkwgFyCKQyq_e-57">
<mxGeometry relative="1" as="geometry">
<mxPoint x="280" y="480" as="sourcePoint" />
<mxPoint x="300" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-66" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-65">
<mxGeometry x="-0.4069" y="1" relative="1" as="geometry">
<mxPoint x="-44" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-67" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="160" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-61" target="dwqjCXXZkwgFyCKQyq_e-67">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="520" as="sourcePoint" />
<mxPoint x="220" y="540" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-70" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-69">
<mxGeometry x="-0.2762" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-75" value="&lt;div&gt;T2是optional&lt;/div&gt;&lt;div&gt;而T1不是&lt;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="790" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-22" target="dwqjCXXZkwgFyCKQyq_e-75">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-21" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-20">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-78" value="&lt;div&gt;T1与&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;T2都是&lt;/span&gt;&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;optional&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;/div&gt;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="950" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-25" value="静态断言报错" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-4">
<mxGeometry x="10" y="1050" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-85" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-75" target="dwqjCXXZkwgFyCKQyq_e-78">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="880" as="sourcePoint" />
<mxPoint x="500" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-86" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-85">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-8" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-4" source="dwqjCXXZkwgFyCKQyq_e-78" target="dwqjCXXZkwgFyCKQyq_e-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="880" as="sourcePoint" />
<mxPoint x="500" y="900" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-94" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-93">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-5" value="运行期计算" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
<mxGeometry x="410" y="20" width="250" height="1100" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-71" value="循环获取&lt;div&gt;数组每个元素&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="350" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-33" value="将T1的数据&lt;div&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;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="710" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-76" value="&lt;div&gt;T2的数据有效&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;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="790" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-13" value="&lt;div&gt;直接返回&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="890" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-76" target="dwqjCXXZkwgFyCKQyq_e-13">
<mxGeometry relative="1" as="geometry">
<mxPoint x="80" y="940" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-15" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-14">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-79" value="&lt;div&gt;T2的数据有效&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;" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="950" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-87" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-79" target="dwqjCXXZkwgFyCKQyq_e-13">
<mxGeometry relative="1" as="geometry">
<mxPoint x="100" y="890" as="sourcePoint" />
<mxPoint x="100" y="910" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-88" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-87">
<mxGeometry x="-0.4667" y="-2" relative="1" as="geometry">
<mxPoint x="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-89" value="&lt;div&gt;直接将T2的数据&lt;/div&gt;&lt;div&gt;赋值给T1&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-5">
<mxGeometry x="20" y="1050" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-91" 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;exitPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-5" source="dwqjCXXZkwgFyCKQyq_e-79" target="dwqjCXXZkwgFyCKQyq_e-89">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-270" y="1000" as="sourcePoint" />
<mxPoint x="30" y="1000" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-92" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-91">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-11" y="6" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-29" target="dwqjCXXZkwgFyCKQyq_e-16">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-26" value="直接将T2的数据&lt;div&gt;赋值给T1&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
<mxGeometry x="430" y="110" width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-29" value="递归调用赋值" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="dwqjCXXZkwgFyCKQyq_e-95">
<mxGeometry x="550" y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-76" target="dwqjCXXZkwgFyCKQyq_e-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-31" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-30">
<mxGeometry x="-0.8851" relative="1" as="geometry">
<mxPoint x="-17" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-33" target="dwqjCXXZkwgFyCKQyq_e-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-36" target="dwqjCXXZkwgFyCKQyq_e-26">
<mxGeometry relative="1" as="geometry">
<mxPoint x="270" y="140" as="sourcePoint" />
<mxPoint x="290" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-39" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-38">
<mxGeometry x="-0.5873" relative="1" as="geometry">
<mxPoint x="-6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-50" target="dwqjCXXZkwgFyCKQyq_e-71">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-57" target="dwqjCXXZkwgFyCKQyq_e-71">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-74" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-71" target="dwqjCXXZkwgFyCKQyq_e-29">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-22" target="dwqjCXXZkwgFyCKQyq_e-33">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-12" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-11">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-52" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-75" target="dwqjCXXZkwgFyCKQyq_e-76">
<mxGeometry relative="1" as="geometry">
<mxPoint x="140" y="760" as="sourcePoint" />
<mxPoint x="440" y="760" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-82" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-81">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-52" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="dwqjCXXZkwgFyCKQyq_e-95" source="dwqjCXXZkwgFyCKQyq_e-78" target="dwqjCXXZkwgFyCKQyq_e-79">
<mxGeometry relative="1" as="geometry">
<mxPoint x="140" y="860" as="sourcePoint" />
<mxPoint x="440" y="860" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dwqjCXXZkwgFyCKQyq_e-84" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="dwqjCXXZkwgFyCKQyq_e-83">
<mxGeometry x="-0.5873" y="1" relative="1" as="geometry">
<mxPoint x="-52" y="-9" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because it is too large Load Diff

View File

@ -1,869 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="816" dy="466" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="YtNTQt618ny-sFmqOg6v-23" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="20" width="400" height="640" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="新建构型流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-23" vertex="1">
<mxGeometry width="400" height="640" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-23" vertex="1">
<mxGeometry y="20" width="140" height="620" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-1" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-2" value="用户选择机型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-24" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-28" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-26" target="IF__UzwnMCTeSwNdx4oP-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-26" value="显示机型卡片" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-3" 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;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-156" source="YtNTQt618ny-sFmqOg6v-1" target="YtNTQt618ny-sFmqOg6v-2">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-1" value="显示构型卡片" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-2" value="用户新建构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-3" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-8" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YtNTQt618ny-sFmqOg6v-2" target="IF__UzwnMCTeSwNdx4oP-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1180" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-0" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-1" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-3" target="JOUyWLhBWD3xtvslN3do-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-8" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-0" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-11" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-10" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-166" value="进入构型编辑页面" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-160" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-2" target="YtNTQt618ny-sFmqOg6v-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-23" vertex="1">
<mxGeometry x="140" y="20" width="260" height="620" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-16" value="读取数据库中&lt;div&gt;机型与构型数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-21" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="JOUyWLhBWD3xtvslN3do-21">
<mxGeometry x="-0.6571" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-22" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="JOUyWLhBWD3xtvslN3do-23">
<mxGeometry x="-0.875" y="1" relative="1" as="geometry">
<mxPoint x="-18" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-18" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="129.99999999999955" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-16" target="JOUyWLhBWD3xtvslN3do-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-20" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-22" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-30" value="读取数据库中基准构型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-2" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-137" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="IF__UzwnMCTeSwNdx4oP-30" target="JOUyWLhBWD3xtvslN3do-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-6" target="YtNTQt618ny-sFmqOg6v-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-16" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-15">
<mxGeometry x="-0.6883" relative="1" as="geometry">
<mxPoint x="-7" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-6" value="有基准构型?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-157">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-6" target="IF__UzwnMCTeSwNdx4oP-30">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-120" y="480" as="sourcePoint" />
<mxPoint x="20" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-8" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-7">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-36" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-2" target="IF__UzwnMCTeSwNdx4oP-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-13" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-7" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-9" target="YtNTQt618ny-sFmqOg6v-13">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-9" value="级联复制基准构型数据" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-157">
<mxGeometry x="130" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-2" target="YtNTQt618ny-sFmqOg6v-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-12" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-4" vertex="1" connectable="0">
<mxGeometry x="-0.8286" relative="1" as="geometry">
<mxPoint x="-2" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-165">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-12" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-157">
<mxGeometry x="129.99999999999955" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-13" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-157">
<mxGeometry x="130" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-13" target="YtNTQt618ny-sFmqOg6v-12">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-36">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-19" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-18">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-165" value="返回成功响应与构型ID" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="130" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="IF__UzwnMCTeSwNdx4oP-1" target="JOUyWLhBWD3xtvslN3do-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="JOUyWLhBWD3xtvslN3do-20" target="JOUyWLhBWD3xtvslN3do-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="JOUyWLhBWD3xtvslN3do-22" target="JOUyWLhBWD3xtvslN3do-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="IF__UzwnMCTeSwNdx4oP-165" target="IF__UzwnMCTeSwNdx4oP-166" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="JOUyWLhBWD3xtvslN3do-0" target="YtNTQt618ny-sFmqOg6v-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-6" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-5" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="87" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-23" source="IF__UzwnMCTeSwNdx4oP-36" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-84" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="680" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-25" value="编辑构型流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-84">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-26" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-84">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-27" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-28" value="用户编辑构型参数并保存" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-30" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-31" target="YtNTQt618ny-sFmqOg6v-28">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-31" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-35" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-37" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-38" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-35" target="YtNTQt618ny-sFmqOg6v-37">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-39" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-40">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-42" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-26">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-43" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-28" target="YtNTQt618ny-sFmqOg6v-35">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-76" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-27" target="YtNTQt618ny-sFmqOg6v-31">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-44" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-84">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-62" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-44">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-75">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-83" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-69">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-70" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-44">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-71" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-44">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-72" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-71" target="YtNTQt618ny-sFmqOg6v-70">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-62">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-73">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-44">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-75" target="YtNTQt618ny-sFmqOg6v-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-71">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-81" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-80">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-62" target="YtNTQt618ny-sFmqOg6v-39">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-117" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="1160" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-86" value="删除构型流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-117">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-87" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-117">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-88" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-89" value="用户点击删除构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-90" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-91" target="YtNTQt618ny-sFmqOg6v-89">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-91" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-92" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-93" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-94" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-92" target="YtNTQt618ny-sFmqOg6v-93">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-95" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-95">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-97" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-96">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-98" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-87">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-99" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-89" target="YtNTQt618ny-sFmqOg6v-92">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-100" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-88" target="YtNTQt618ny-sFmqOg6v-91">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-101" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-117">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-102" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-101">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-110">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-104" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-103">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-105" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-101">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-106" value="删除数据库中&lt;div&gt;构型配置数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-101">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-108" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-102">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-109" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-108">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-110" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-101">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-115" value="级联删除数据库&lt;div&gt;中其它数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-101">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-107" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-106" target="YtNTQt618ny-sFmqOg6v-115">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-116" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-115" target="YtNTQt618ny-sFmqOg6v-105">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-117" source="YtNTQt618ny-sFmqOg6v-110" target="YtNTQt618ny-sFmqOg6v-98">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-117" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-106">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-113" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-112">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-117" source="YtNTQt618ny-sFmqOg6v-102" target="YtNTQt618ny-sFmqOg6v-95">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-151" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="1640" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-119" value="新建/编辑模型组流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-151">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-120" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-151">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-121" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-122" value="用户&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;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;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-123" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-120" source="YtNTQt618ny-sFmqOg6v-124" target="YtNTQt618ny-sFmqOg6v-122">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-124" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-125" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-126" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-127" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-120" source="YtNTQt618ny-sFmqOg6v-125" target="YtNTQt618ny-sFmqOg6v-126">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-128" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-120" source="YtNTQt618ny-sFmqOg6v-126" target="YtNTQt618ny-sFmqOg6v-128">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-130" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-129">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-131" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-120">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-132" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-120" source="YtNTQt618ny-sFmqOg6v-122" target="YtNTQt618ny-sFmqOg6v-125">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-133" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-120" source="YtNTQt618ny-sFmqOg6v-121" target="YtNTQt618ny-sFmqOg6v-124">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-134" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-151">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-135" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-134">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-136" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-134" source="YtNTQt618ny-sFmqOg6v-138" target="YtNTQt618ny-sFmqOg6v-142">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-137" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-136">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-138" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-134">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-134" source="YtNTQt618ny-sFmqOg6v-138" target="YtNTQt618ny-sFmqOg6v-135">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-141" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-140">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-142" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-134">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-143" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-134">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-145" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-134" source="YtNTQt618ny-sFmqOg6v-143" target="YtNTQt618ny-sFmqOg6v-138">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-146" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-151" source="YtNTQt618ny-sFmqOg6v-142" target="YtNTQt618ny-sFmqOg6v-131">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-147" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-151" source="YtNTQt618ny-sFmqOg6v-126" target="YtNTQt618ny-sFmqOg6v-143">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-148" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-147">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-149" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-151" source="YtNTQt618ny-sFmqOg6v-135" target="YtNTQt618ny-sFmqOg6v-128">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-152" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="2120" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-153" value="删除模型组流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-152">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-154" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-152">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-155" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-156" value="用户删除模型组" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-157" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-154" source="YtNTQt618ny-sFmqOg6v-158" target="YtNTQt618ny-sFmqOg6v-156">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-158" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-159" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-160" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-161" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-154" source="YtNTQt618ny-sFmqOg6v-159" target="YtNTQt618ny-sFmqOg6v-160">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-162" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-163" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-154" source="YtNTQt618ny-sFmqOg6v-160" target="YtNTQt618ny-sFmqOg6v-162">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-164" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-163">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-165" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-154">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-166" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-154" source="YtNTQt618ny-sFmqOg6v-156" target="YtNTQt618ny-sFmqOg6v-159">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-167" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-154" source="YtNTQt618ny-sFmqOg6v-155" target="YtNTQt618ny-sFmqOg6v-158">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-168" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-152">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-169" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-168">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-170" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-168" source="YtNTQt618ny-sFmqOg6v-172" target="YtNTQt618ny-sFmqOg6v-176">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-171" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-170">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-172" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-168">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-173" value="删除数据库中&lt;div&gt;模型组数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-168">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-174" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-168" source="YtNTQt618ny-sFmqOg6v-172" target="YtNTQt618ny-sFmqOg6v-169">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-175" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-174">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-176" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-168">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-177" value="级联删除数据库&lt;div&gt;中加载模型数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-168">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-178" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-168" source="YtNTQt618ny-sFmqOg6v-173" target="YtNTQt618ny-sFmqOg6v-177">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-179" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-168" source="YtNTQt618ny-sFmqOg6v-177" target="YtNTQt618ny-sFmqOg6v-172">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-180" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-152" source="YtNTQt618ny-sFmqOg6v-176" target="YtNTQt618ny-sFmqOg6v-165">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-181" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-152" source="YtNTQt618ny-sFmqOg6v-160" target="YtNTQt618ny-sFmqOg6v-173">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-182" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-181">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-183" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-152" source="YtNTQt618ny-sFmqOg6v-169" target="YtNTQt618ny-sFmqOg6v-162">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-214" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="2600" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-215" value="添加/删除加载模型流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-214">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-216" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-214">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-217" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-218" value="用户&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;在&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;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-219" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-216" source="YtNTQt618ny-sFmqOg6v-220" target="YtNTQt618ny-sFmqOg6v-218">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-220" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-221" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-222" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-223" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-216" source="YtNTQt618ny-sFmqOg6v-221" target="YtNTQt618ny-sFmqOg6v-222">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-224" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-216" source="YtNTQt618ny-sFmqOg6v-222" target="YtNTQt618ny-sFmqOg6v-224">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-226" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-225">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-227" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-216">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-228" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-216" source="YtNTQt618ny-sFmqOg6v-218" target="YtNTQt618ny-sFmqOg6v-221">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-229" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-216" source="YtNTQt618ny-sFmqOg6v-217" target="YtNTQt618ny-sFmqOg6v-220">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-230" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-214">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-231" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-230">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-232" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-230" source="YtNTQt618ny-sFmqOg6v-234" target="YtNTQt618ny-sFmqOg6v-237">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-233" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-232">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-234" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-230">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-235" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-230" source="YtNTQt618ny-sFmqOg6v-234" target="YtNTQt618ny-sFmqOg6v-231">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-236" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-235">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-237" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-230">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-238" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-230">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-239" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-230" source="YtNTQt618ny-sFmqOg6v-238" target="YtNTQt618ny-sFmqOg6v-234">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-240" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-214" source="YtNTQt618ny-sFmqOg6v-237" target="YtNTQt618ny-sFmqOg6v-227">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-241" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-214" source="YtNTQt618ny-sFmqOg6v-222" target="YtNTQt618ny-sFmqOg6v-238">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-242" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-241">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-243" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-214" source="YtNTQt618ny-sFmqOg6v-231" target="YtNTQt618ny-sFmqOg6v-224">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-244" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="3080" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-245" value="添加/删除加载服务流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-244">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-246" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-244">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-247" value="用户登陆访问&lt;div&gt;构型配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-248" value="用户&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;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;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-249" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-246" source="YtNTQt618ny-sFmqOg6v-250" target="YtNTQt618ny-sFmqOg6v-248">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-250" value="用户选择机型与构型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-251" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-252" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-253" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-246" source="YtNTQt618ny-sFmqOg6v-251" target="YtNTQt618ny-sFmqOg6v-252">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-254" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-255" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-246" source="YtNTQt618ny-sFmqOg6v-252" target="YtNTQt618ny-sFmqOg6v-254">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-256" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-255">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-257" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-246">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-258" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-246" source="YtNTQt618ny-sFmqOg6v-248" target="YtNTQt618ny-sFmqOg6v-251">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-259" 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;" edge="1" parent="YtNTQt618ny-sFmqOg6v-246" source="YtNTQt618ny-sFmqOg6v-247" target="YtNTQt618ny-sFmqOg6v-250">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-260" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-244">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-261" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-260">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-262" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-260" source="YtNTQt618ny-sFmqOg6v-264" target="YtNTQt618ny-sFmqOg6v-267">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-263" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-262">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-264" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-260">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-265" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-260" source="YtNTQt618ny-sFmqOg6v-264" target="YtNTQt618ny-sFmqOg6v-261">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-266" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-265">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-267" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-260">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-268" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="YtNTQt618ny-sFmqOg6v-260">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-269" 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;entryPerimeter=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-260" source="YtNTQt618ny-sFmqOg6v-268" target="YtNTQt618ny-sFmqOg6v-264">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-270" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-244" source="YtNTQt618ny-sFmqOg6v-267" target="YtNTQt618ny-sFmqOg6v-257">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-271" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-244" source="YtNTQt618ny-sFmqOg6v-252" target="YtNTQt618ny-sFmqOg6v-268">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="130" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-272" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-271">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-273" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="YtNTQt618ny-sFmqOg6v-244" source="YtNTQt618ny-sFmqOg6v-261" target="YtNTQt618ny-sFmqOg6v-254">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,533 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="816" dy="466" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="YtNTQt618ny-sFmqOg6v-84" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="20" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-25" value="添加/编辑变量流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-26" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-27" value="用户登陆访问&lt;div&gt;接口配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-28" value="用户编辑接口变量参数并保存" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-30" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-31" target="YtNTQt618ny-sFmqOg6v-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-31" value="用户点击添加变量或编辑变量按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-35" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-37" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-38" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-35" target="YtNTQt618ny-sFmqOg6v-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-39" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-40" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-42" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-43" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-28" target="YtNTQt618ny-sFmqOg6v-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-76" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-27" target="YtNTQt618ny-sFmqOg6v-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-44" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-62" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-83" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-69" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-70" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-71" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-72" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-71" target="YtNTQt618ny-sFmqOg6v-70" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-62" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-73" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-75" target="YtNTQt618ny-sFmqOg6v-42" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-71" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-81" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-80" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-62" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-0" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="500" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-86" value="删除/批量删除变量流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-87" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-88" value="用户登陆访问&lt;div&gt;接口配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-89" value="用户点击删除变量按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-90" 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;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-91" target="YtNTQt618ny-sFmqOg6v-89" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-91" value="用户选择要删除的变量" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-92" value="权限验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-93" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-94" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-92" target="YtNTQt618ny-sFmqOg6v-93" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-95" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-95" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-97" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-96" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-98" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-87" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-99" 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;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-89" target="YtNTQt618ny-sFmqOg6v-92" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-100" 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;" parent="YtNTQt618ny-sFmqOg6v-87" source="YtNTQt618ny-sFmqOg6v-88" target="YtNTQt618ny-sFmqOg6v-91" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-101" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="AVWmqFyiuayuOy1oOgPT-0" vertex="1">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-102" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-110" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-104" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-103" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-105" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-106" value="删除数据库中&lt;div&gt;接口配置数据&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-108" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-105" target="YtNTQt618ny-sFmqOg6v-102" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-109" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-108" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-110" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-101" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-107" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-101" source="YtNTQt618ny-sFmqOg6v-106" target="YtNTQt618ny-sFmqOg6v-105" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-110" target="YtNTQt618ny-sFmqOg6v-98" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-93" target="YtNTQt618ny-sFmqOg6v-106" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-113" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-112" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-114" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="AVWmqFyiuayuOy1oOgPT-0" source="YtNTQt618ny-sFmqOg6v-102" target="YtNTQt618ny-sFmqOg6v-95" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-48" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="980" width="390" height="760" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-2" value="ICD导入流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
<mxGeometry width="390" height="760" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-3" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
<mxGeometry y="20" width="140" height="740" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-4" value="用户登陆访问&lt;div&gt;接口配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="19.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-5" value="用户选择ICD文件上传" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="19.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-6" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-7" target="AVWmqFyiuayuOy1oOgPT-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-7" value="用户点击&lt;br&gt;ICD导入按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-11" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-16" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-4" target="AVWmqFyiuayuOy1oOgPT-7">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-35" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-32" target="AVWmqFyiuayuOy1oOgPT-34">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-32" value="显示解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-42" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-34" target="AVWmqFyiuayuOy1oOgPT-41">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-34" value="用户配置ATA章节及模型名称" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-36" value="验证成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="19.999999999999545" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-41" value="接口数据验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-43" 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;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-3" source="AVWmqFyiuayuOy1oOgPT-41" target="AVWmqFyiuayuOy1oOgPT-36">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-44" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" source="AVWmqFyiuayuOy1oOgPT-36" parent="AVWmqFyiuayuOy1oOgPT-3" target="AVWmqFyiuayuOy1oOgPT-44">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="730" as="sourcePoint" />
<mxPoint x="60" y="630" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-38" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-37">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-14" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-3">
<mxGeometry x="20" y="690" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-17" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-48">
<mxGeometry x="140" y="20" width="250" height="740" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-18" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="20" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-21" target="AVWmqFyiuayuOy1oOgPT-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="110" y="770" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-20" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-19">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-36" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-21" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="19.999999999999545" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-22" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="20" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-21" target="AVWmqFyiuayuOy1oOgPT-46">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="800" as="sourcePoint" />
<mxPoint x="60" y="700" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-24" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-23">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-26" 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;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-22" target="AVWmqFyiuayuOy1oOgPT-21">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-8" value="ICD文件解析" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="19.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-9" value="解析成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="19.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-9" target="AVWmqFyiuayuOy1oOgPT-31">
<mxGeometry relative="1" as="geometry">
<mxPoint x="9.999999999999432" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-29" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-28">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-64" y="-15" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-10" 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;entryPerimeter=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-8" target="AVWmqFyiuayuOy1oOgPT-9">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-17" source="AVWmqFyiuayuOy1oOgPT-9" target="AVWmqFyiuayuOy1oOgPT-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-13" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-12">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-31" value="返回解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="140" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-46" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="20" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-25" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-17">
<mxGeometry x="140" y="690" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-18" target="AVWmqFyiuayuOy1oOgPT-11">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-5" target="AVWmqFyiuayuOy1oOgPT-8">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-31" target="AVWmqFyiuayuOy1oOgPT-32">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-25" target="AVWmqFyiuayuOy1oOgPT-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" source="AVWmqFyiuayuOy1oOgPT-36" parent="AVWmqFyiuayuOy1oOgPT-48" target="AVWmqFyiuayuOy1oOgPT-22">
<mxGeometry relative="1" as="geometry">
<mxPoint x="110" y="720" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-40" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-39">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-48" source="AVWmqFyiuayuOy1oOgPT-46" target="AVWmqFyiuayuOy1oOgPT-44">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-80" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="1760" width="390" height="340" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-50" value="代码生成流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry width="390" height="340" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-51" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry y="20" width="140" height="320" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-65" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="140" y="20" width="250" height="320" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-63" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-53" target="AVWmqFyiuayuOy1oOgPT-56">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-73" target="AVWmqFyiuayuOy1oOgPT-62">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-66" target="AVWmqFyiuayuOy1oOgPT-59">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-52" value="用户登陆访问&lt;div&gt;接口配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="19.999999999999545" y="50" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-53" value="用户点击代码生成按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="19.999999999999545" y="110" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-64" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-52" target="AVWmqFyiuayuOy1oOgPT-53">
<mxGeometry relative="1" as="geometry">
<mxPoint x="420" y="140" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-59" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="20" y="230" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-62" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="20" y="290" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-56" value="调用数据交互接口生成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="159.99999999999955" y="110" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-56" target="AVWmqFyiuayuOy1oOgPT-69">
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-69" value="生成成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="159.99999999999955" y="170" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-66" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="160" y="230" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-71" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-69" target="AVWmqFyiuayuOy1oOgPT-66">
<mxGeometry relative="1" as="geometry">
<mxPoint x="570" y="490" as="sourcePoint" />
<mxPoint x="570" y="510" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-72" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-71">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-73" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-80">
<mxGeometry x="280" y="290" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-80" source="AVWmqFyiuayuOy1oOgPT-69" target="AVWmqFyiuayuOy1oOgPT-73">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-68" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-67">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-39" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-99" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="80" y="2130" width="300" height="340" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-95" target="AVWmqFyiuayuOy1oOgPT-88">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-83" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-92" target="AVWmqFyiuayuOy1oOgPT-88">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-84" value="用户登陆访问&lt;div&gt;接口配置页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="99.99999999999955" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-85" value="用户输入搜索条件" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="99.99999999999955" y="60" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-86" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-84" target="AVWmqFyiuayuOy1oOgPT-85">
<mxGeometry relative="1" as="geometry">
<mxPoint x="500" y="90" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-87" value="显示过滤结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="100" y="300" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-98" 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;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-88" target="AVWmqFyiuayuOy1oOgPT-87">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-88" value="更新表格显示" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="100" y="240" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-90" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-85" target="AVWmqFyiuayuOy1oOgPT-91">
<mxGeometry relative="1" as="geometry">
<mxPoint x="290" y="120" as="targetPoint" />
<mxPoint x="289.99999999999955" y="100" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-91" value="搜索类型?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="99.99999999999955" y="120" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-92" value="多条件组合过滤" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry x="200" y="180" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-91" target="AVWmqFyiuayuOy1oOgPT-92">
<mxGeometry relative="1" as="geometry">
<mxPoint x="650" y="440" as="sourcePoint" />
<mxPoint x="650" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-94" value="高级搜索" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-93">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-5" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-95" value="模糊匹配过滤" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="AVWmqFyiuayuOy1oOgPT-99">
<mxGeometry y="180" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-96" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="AVWmqFyiuayuOy1oOgPT-99" source="AVWmqFyiuayuOy1oOgPT-91" target="AVWmqFyiuayuOy1oOgPT-95">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AVWmqFyiuayuOy1oOgPT-97" value="关键字搜索" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" vertex="1" connectable="0" parent="AVWmqFyiuayuOy1oOgPT-96">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-7" y="-9" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,758 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="680" dy="388" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="YtNTQt618ny-sFmqOg6v-84" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="920" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-25" value="删除模型版本流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-26" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-27" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-28" value="用户点击删除模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-30" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-31" target="YtNTQt618ny-sFmqOg6v-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-31" value="用户选择ATA章节及模型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-35" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-37" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-38" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-35" target="YtNTQt618ny-sFmqOg6v-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-39" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-40" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-42" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-43" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-28" target="YtNTQt618ny-sFmqOg6v-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-76" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-27" target="YtNTQt618ny-sFmqOg6v-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-44" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-62" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-83" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-69" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-70" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-71" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-72" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-71" target="YtNTQt618ny-sFmqOg6v-70" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-62" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-73" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-75" target="YtNTQt618ny-sFmqOg6v-42" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-71" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-81" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-80" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-62" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-9" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="20" width="400" height="880" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="新建/编辑模型版本流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry width="400" height="880" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry y="20" width="140" height="860" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-1" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-2" value="用户选择ATA章节" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-24" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-28" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-26" target="IF__UzwnMCTeSwNdx4oP-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-26" value="显示ATA章节卡片" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-3" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YtNTQt618ny-sFmqOg6v-1" target="YtNTQt618ny-sFmqOg6v-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-1" value="显示该章节下模型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-2" value="用户选择模型" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-3" value="显示该模型&lt;div&gt;所有版本&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-8" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YtNTQt618ny-sFmqOg6v-2" target="IF__UzwnMCTeSwNdx4oP-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="1180" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-160" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-2" target="YtNTQt618ny-sFmqOg6v-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-0" target="epkTv9PBIllWztq9xRfP-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-0" value="用户选择新建版本或编辑某个版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="9.999999999999545" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-1" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-3" target="epkTv9PBIllWztq9xRfP-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-4" 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;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-1" target="epkTv9PBIllWztq9xRfP-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-1" value="显示模型编辑页面" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="9.999999999999545" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-6" 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;" edge="1" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-3" target="epkTv9PBIllWztq9xRfP-5">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-3" value="用户编辑完成后点击保存" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="9.999999999999545" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-5" value="表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="IF__UzwnMCTeSwNdx4oP-156">
<mxGeometry x="9.999999999999545" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry x="140" y="20" width="260" height="860" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-16" value="读取数据库中&lt;span style=&quot;background-color: transparent; color: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));&quot;&gt;ATA章节及模型数据&lt;/span&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-21" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-21" vertex="1" connectable="0">
<mxGeometry x="-0.6571" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-22" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-23" vertex="1" connectable="0">
<mxGeometry x="-0.875" y="1" relative="1" as="geometry">
<mxPoint x="-18" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-18" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="129.99999999999955" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-16" target="JOUyWLhBWD3xtvslN3do-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-20" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-22" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-13" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-12" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="9.999999999999545" y="690" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-17" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-13" target="YtNTQt618ny-sFmqOg6v-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-165" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="130" y="810" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-165" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-8" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="YtNTQt618ny-sFmqOg6v-20">
<mxGeometry x="-0.7412" y="1" relative="1" as="geometry">
<mxPoint x="-22" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-36" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="750" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-36" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="560" y="570" as="sourcePoint" />
<mxPoint x="560" y="590" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-19" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-18" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="IF__UzwnMCTeSwNdx4oP-1" target="JOUyWLhBWD3xtvslN3do-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="JOUyWLhBWD3xtvslN3do-20" target="JOUyWLhBWD3xtvslN3do-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="JOUyWLhBWD3xtvslN3do-22" target="JOUyWLhBWD3xtvslN3do-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-0" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry x="9.999999999999545" y="710" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-8" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry x="10" y="770" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="JOUyWLhBWD3xtvslN3do-0" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-11" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-10" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-166" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-9" vertex="1">
<mxGeometry x="10" y="830" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="IF__UzwnMCTeSwNdx4oP-165" target="IF__UzwnMCTeSwNdx4oP-166" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="JOUyWLhBWD3xtvslN3do-0" target="YtNTQt618ny-sFmqOg6v-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="730" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-6" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-5" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-21" y="14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-9" source="IF__UzwnMCTeSwNdx4oP-36" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-7" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-9" source="epkTv9PBIllWztq9xRfP-5" target="JOUyWLhBWD3xtvslN3do-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-49" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="1400" width="380" height="460" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-11" value="上传数据包模型流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-49">
<mxGeometry width="380" height="460" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-12" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-49">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-13" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-14" value="用户上传数据包模型文件夹" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-15" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-12" source="epkTv9PBIllWztq9xRfP-16" target="epkTv9PBIllWztq9xRfP-14">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-16" value="用户选择需要编辑的模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-17" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-18" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-19" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-12" source="epkTv9PBIllWztq9xRfP-17" target="epkTv9PBIllWztq9xRfP-18">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-20" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-12" source="epkTv9PBIllWztq9xRfP-18" target="epkTv9PBIllWztq9xRfP-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-22" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-21">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-23" value="自动填充解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-12">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-24" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-12" source="epkTv9PBIllWztq9xRfP-14" target="epkTv9PBIllWztq9xRfP-17">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-25" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-12" source="epkTv9PBIllWztq9xRfP-13" target="epkTv9PBIllWztq9xRfP-16">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-26" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-49">
<mxGeometry x="140" y="20" width="240" height="440" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-27" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-30" target="epkTv9PBIllWztq9xRfP-35">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-29" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-28">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="11" y="-23" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-30" value="解析成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="129.99999999999955" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-31" value="数字签名验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-30" target="epkTv9PBIllWztq9xRfP-27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-34" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-33">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="13" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-35" value="返回成功响应与解析结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="130" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-40" value="数据包模型解析" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="130" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-41" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-40" target="epkTv9PBIllWztq9xRfP-30">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-42" value="验证成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-26">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-43" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-31" target="epkTv9PBIllWztq9xRfP-42">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-42" target="epkTv9PBIllWztq9xRfP-27">
<mxGeometry relative="1" as="geometry">
<mxPoint x="140" y="240" as="sourcePoint" />
<mxPoint x="70" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-45" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-44">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="-12" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-26" source="epkTv9PBIllWztq9xRfP-42" target="epkTv9PBIllWztq9xRfP-40">
<mxGeometry relative="1" as="geometry">
<mxPoint x="240" y="240" as="sourcePoint" />
<mxPoint x="120" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-48" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-47">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-5" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-36" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-49" source="epkTv9PBIllWztq9xRfP-35" target="epkTv9PBIllWztq9xRfP-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-49" source="epkTv9PBIllWztq9xRfP-18" target="epkTv9PBIllWztq9xRfP-31">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-38" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-37">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-49" source="epkTv9PBIllWztq9xRfP-27" target="epkTv9PBIllWztq9xRfP-20">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-80" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="1878" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-51" value="模型集成模板代码生成流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-80">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-52" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-80">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-53" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-52">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-54" value="用户点击模板代码生成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-52">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-55" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-52" source="epkTv9PBIllWztq9xRfP-56" target="epkTv9PBIllWztq9xRfP-54">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-56" value="用户选择需要生成代码的模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-52">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-60" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-52">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-63" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-52">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-65" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-52" source="epkTv9PBIllWztq9xRfP-53" target="epkTv9PBIllWztq9xRfP-56">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-66" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-80">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-67" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-66">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-70" target="epkTv9PBIllWztq9xRfP-75">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-69" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-68">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-70" value="生成成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-66">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-71" value="调用模型集成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-66">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-72" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-71" target="epkTv9PBIllWztq9xRfP-70">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-70" target="epkTv9PBIllWztq9xRfP-67">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-73">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-66">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-75" target="epkTv9PBIllWztq9xRfP-63">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-67" target="epkTv9PBIllWztq9xRfP-60">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-54" target="epkTv9PBIllWztq9xRfP-71">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-104" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="2240" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-82" value="模型集成模板代码下载流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-104">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-83" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-104">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-84" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-83">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-85" value="用户点击模板代码下载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-83">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-86" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-83" source="epkTv9PBIllWztq9xRfP-87" target="epkTv9PBIllWztq9xRfP-85">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-87" value="用户选择需要下载代码的模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-83">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-88" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-83">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-89" value="执行下载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-83">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-90" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-83" source="epkTv9PBIllWztq9xRfP-84" target="epkTv9PBIllWztq9xRfP-87">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-91" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-104">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-92" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-91">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-95" target="epkTv9PBIllWztq9xRfP-100">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-94" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-93">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-95" value="压缩成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-91">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-96" value="调用模型集成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-91">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-97" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-96" target="epkTv9PBIllWztq9xRfP-95">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-95" target="epkTv9PBIllWztq9xRfP-92">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-99" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-98">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-100" value="返回成功响应及压缩包路径" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-91">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-100" target="epkTv9PBIllWztq9xRfP-89">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-92" target="epkTv9PBIllWztq9xRfP-88">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-85" target="epkTv9PBIllWztq9xRfP-96">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-105" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="2600" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-106" value="模型集成代码上传流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-105">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-107" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-105">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-108" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-107">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-109" value="用户点击集成代码上传" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-107">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-110" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-107" source="epkTv9PBIllWztq9xRfP-111" target="epkTv9PBIllWztq9xRfP-109">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-111" value="用户选择需要上传代码的模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-107">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-112" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-107">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-113" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-107">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-114" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-107" source="epkTv9PBIllWztq9xRfP-108" target="epkTv9PBIllWztq9xRfP-111">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-115" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-105">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-116" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-115">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-117" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-119" target="epkTv9PBIllWztq9xRfP-124">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-118" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-117">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-119" value="验证成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-115">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-120" value="调用模型集成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-115">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-121" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-120" target="epkTv9PBIllWztq9xRfP-119">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-119" target="epkTv9PBIllWztq9xRfP-116">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-123" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-122">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-124" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-115">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-125" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-124" target="epkTv9PBIllWztq9xRfP-113">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-126" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-116" target="epkTv9PBIllWztq9xRfP-112">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-127" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-109" target="epkTv9PBIllWztq9xRfP-120">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-128" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="2960" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-129" value="模型集成代码自动化构建与发布流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-128">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-130" value="前端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-128">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-131" value="用户登陆访问&lt;div&gt;模型集成页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-130">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-132" value="用户点击模型编译发布" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-130">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-133" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-130" source="epkTv9PBIllWztq9xRfP-134" target="epkTv9PBIllWztq9xRfP-132">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-134" value="用户选择需要构建的模型版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-130">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-135" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-130">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-136" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-130">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-137" 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;" edge="1" parent="epkTv9PBIllWztq9xRfP-130" source="epkTv9PBIllWztq9xRfP-131" target="epkTv9PBIllWztq9xRfP-134">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-138" value="后端" style="swimlane;startSize=20;html=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-128">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-139" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-138">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-142" target="epkTv9PBIllWztq9xRfP-147">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-141" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-140">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-142" value="发布成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-138">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-143" value="调用模型集成后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-138">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-144" 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;entryPerimeter=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-143" target="epkTv9PBIllWztq9xRfP-142">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-142" target="epkTv9PBIllWztq9xRfP-139">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-146" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" vertex="1" connectable="0" parent="epkTv9PBIllWztq9xRfP-145">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-147" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" vertex="1" parent="epkTv9PBIllWztq9xRfP-138">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-148" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-147" target="epkTv9PBIllWztq9xRfP-136">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-149" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-139" target="epkTv9PBIllWztq9xRfP-135">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-132" target="epkTv9PBIllWztq9xRfP-143">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,611 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="985" dy="562" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="YtNTQt618ny-sFmqOg6v-84" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="800" width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-25" value="删除服务版本流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry width="280" height="460" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-26" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-27" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-28" value="用户点击删除服务版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-30" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-31" target="YtNTQt618ny-sFmqOg6v-28" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-31" value="用户选择服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-35" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-37" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-38" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-35" target="YtNTQt618ny-sFmqOg6v-37" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-39" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-40" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-42" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-26" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-43" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-28" target="YtNTQt618ny-sFmqOg6v-35" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-76" 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;" parent="YtNTQt618ny-sFmqOg6v-26" source="YtNTQt618ny-sFmqOg6v-27" target="YtNTQt618ny-sFmqOg6v-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-44" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-84" vertex="1">
<mxGeometry x="140" y="20" width="140" height="440" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-62" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-83" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-69" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-47" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-70" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-71" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-72" 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;entryPerimeter=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-71" target="YtNTQt618ny-sFmqOg6v-70" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-44" source="YtNTQt618ny-sFmqOg6v-70" target="YtNTQt618ny-sFmqOg6v-62" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-73" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="YtNTQt618ny-sFmqOg6v-44" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-75" target="YtNTQt618ny-sFmqOg6v-42" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-37" target="YtNTQt618ny-sFmqOg6v-71" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="149.99999999999943" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-81" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-80" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-11" y="40" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-82" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="YtNTQt618ny-sFmqOg6v-84" source="YtNTQt618ny-sFmqOg6v-62" target="YtNTQt618ny-sFmqOg6v-39" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-80" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="1280" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-51" value="服务开发模板代码生成流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-80" vertex="1">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-52" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-80" vertex="1">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-53" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-52" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-54" value="用户点击模板代码生成" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-52" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-55" 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;" parent="epkTv9PBIllWztq9xRfP-52" source="epkTv9PBIllWztq9xRfP-56" target="epkTv9PBIllWztq9xRfP-54" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-56" value="用户选择需要生成代码的服务版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-52" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-60" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-52" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-63" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-52" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-65" 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;" parent="epkTv9PBIllWztq9xRfP-52" source="epkTv9PBIllWztq9xRfP-53" target="epkTv9PBIllWztq9xRfP-56" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-66" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-80" vertex="1">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-67" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-66" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-70" target="epkTv9PBIllWztq9xRfP-75" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-69" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-68" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-70" value="生成成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="epkTv9PBIllWztq9xRfP-66" vertex="1">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-71" value="调用服务开发后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-66" vertex="1">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-72" 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;entryPerimeter=0;" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-71" target="epkTv9PBIllWztq9xRfP-70" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-66" source="epkTv9PBIllWztq9xRfP-70" target="epkTv9PBIllWztq9xRfP-67" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-74" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-73" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-75" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-66" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-75" target="epkTv9PBIllWztq9xRfP-63" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-67" target="epkTv9PBIllWztq9xRfP-60" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-80" source="epkTv9PBIllWztq9xRfP-54" target="epkTv9PBIllWztq9xRfP-71" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-104" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="1640" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-82" value="服务开发模板代码下载流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-104" vertex="1">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-83" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-104" vertex="1">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-84" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-83" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-85" value="用户点击模板代码下载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-83" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-86" 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;" parent="epkTv9PBIllWztq9xRfP-83" source="epkTv9PBIllWztq9xRfP-87" target="epkTv9PBIllWztq9xRfP-85" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-87" value="用户选择需要下载代码的服务版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-83" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-88" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-83" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-89" value="执行下载" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-83" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-90" 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;" parent="epkTv9PBIllWztq9xRfP-83" source="epkTv9PBIllWztq9xRfP-84" target="epkTv9PBIllWztq9xRfP-87" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-91" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-104" vertex="1">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-92" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-91" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-93" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-95" target="epkTv9PBIllWztq9xRfP-100" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-94" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-93" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-95" value="压缩成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="epkTv9PBIllWztq9xRfP-91" vertex="1">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-96" value="调用服务开发后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-91" vertex="1">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-97" 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;entryPerimeter=0;" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-96" target="epkTv9PBIllWztq9xRfP-95" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-98" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-91" source="epkTv9PBIllWztq9xRfP-95" target="epkTv9PBIllWztq9xRfP-92" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-99" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-98" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-100" value="返回成功响应及压缩包路径" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-91" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-101" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-100" target="epkTv9PBIllWztq9xRfP-89" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-102" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-92" target="epkTv9PBIllWztq9xRfP-88" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-103" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-104" source="epkTv9PBIllWztq9xRfP-85" target="epkTv9PBIllWztq9xRfP-96" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-105" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="2000" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-106" value="服务开发代码上传流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-105" vertex="1">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-107" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-105" vertex="1">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-108" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-107" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-109" value="用户点击服务代码上传" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-107" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-110" 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;" parent="epkTv9PBIllWztq9xRfP-107" source="epkTv9PBIllWztq9xRfP-111" target="epkTv9PBIllWztq9xRfP-109" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-111" value="用户选择需要上传代码的服务版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-107" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-112" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-107" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-113" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-107" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-114" 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;" parent="epkTv9PBIllWztq9xRfP-107" source="epkTv9PBIllWztq9xRfP-108" target="epkTv9PBIllWztq9xRfP-111" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-115" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-105" vertex="1">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-116" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-115" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-117" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-119" target="epkTv9PBIllWztq9xRfP-124" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-118" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-117" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-119" value="验证成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="epkTv9PBIllWztq9xRfP-115" vertex="1">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-120" value="调用服务开发后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-115" vertex="1">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-121" 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;entryPerimeter=0;" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-120" target="epkTv9PBIllWztq9xRfP-119" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-115" source="epkTv9PBIllWztq9xRfP-119" target="epkTv9PBIllWztq9xRfP-116" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-123" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-122" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-124" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-115" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-125" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-124" target="epkTv9PBIllWztq9xRfP-113" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-126" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-116" target="epkTv9PBIllWztq9xRfP-112" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-127" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-105" source="epkTv9PBIllWztq9xRfP-109" target="epkTv9PBIllWztq9xRfP-120" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-128" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="20" y="2360" width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-129" value="服务开发代码自动化构建与发布流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-128" vertex="1">
<mxGeometry width="280" height="342" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-130" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-128" vertex="1">
<mxGeometry y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-131" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-130" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-132" value="用户点击服务编译发布" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-130" vertex="1">
<mxGeometry x="9.999999999999545" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-133" 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;" parent="epkTv9PBIllWztq9xRfP-130" source="epkTv9PBIllWztq9xRfP-134" target="epkTv9PBIllWztq9xRfP-132" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-134" value="用户选择需要构建的服务版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-130" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-135" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-130" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-136" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-130" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-137" 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;" parent="epkTv9PBIllWztq9xRfP-130" source="epkTv9PBIllWztq9xRfP-131" target="epkTv9PBIllWztq9xRfP-134" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="150" y="50" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-138" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="epkTv9PBIllWztq9xRfP-128" vertex="1">
<mxGeometry x="140" y="20" width="140" height="322" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-139" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-138" vertex="1">
<mxGeometry x="10" y="212" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-142" target="epkTv9PBIllWztq9xRfP-147" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-141" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-140" vertex="1" connectable="0">
<mxGeometry x="-0.4857" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-31" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-142" value="发布成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="epkTv9PBIllWztq9xRfP-138" vertex="1">
<mxGeometry x="9.999999999999545" y="152" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-143" value="调用服务开发后端服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-138" vertex="1">
<mxGeometry x="10" y="92" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-144" 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;entryPerimeter=0;" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-143" target="epkTv9PBIllWztq9xRfP-142" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-145" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-138" source="epkTv9PBIllWztq9xRfP-142" target="epkTv9PBIllWztq9xRfP-139" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="70" y="440" as="sourcePoint" />
<mxPoint x="70" y="460" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-146" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="epkTv9PBIllWztq9xRfP-145" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-147" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="epkTv9PBIllWztq9xRfP-138" vertex="1">
<mxGeometry x="10" y="272" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-148" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-147" target="epkTv9PBIllWztq9xRfP-136" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-149" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-139" target="epkTv9PBIllWztq9xRfP-135" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="epkTv9PBIllWztq9xRfP-128" source="epkTv9PBIllWztq9xRfP-132" target="epkTv9PBIllWztq9xRfP-143" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="1TJywYTg9ukwW_WQVzSB-2" value="" style="group" vertex="1" connectable="0" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="20" y="20" width="400" height="760" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="新建/编辑服务版本流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="1TJywYTg9ukwW_WQVzSB-2" vertex="1">
<mxGeometry width="400" height="760" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="1TJywYTg9ukwW_WQVzSB-2" vertex="1">
<mxGeometry y="20" width="140" height="740" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-1" value="用户登陆访问&lt;div&gt;服务开发页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-2" value="用户选择服务" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-24" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-28" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-26" target="IF__UzwnMCTeSwNdx4oP-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-26" value="显示服务卡片" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-3" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="YtNTQt618ny-sFmqOg6v-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="329.9999999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-3" value="显示该服务&lt;div&gt;所有版本&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-160" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-2" target="IF__UzwnMCTeSwNdx4oP-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="60" y="269.9999999999999" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-0" target="epkTv9PBIllWztq9xRfP-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-0" value="用户选择新建版本或编辑某个版本" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-1" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-3" target="epkTv9PBIllWztq9xRfP-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-4" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-1" target="epkTv9PBIllWztq9xRfP-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-1" value="显示服务编辑页面" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-6" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-3" target="epkTv9PBIllWztq9xRfP-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-3" value="用户编辑完成后点击保存" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-5" value="表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-0" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-7" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="epkTv9PBIllWztq9xRfP-5" target="JOUyWLhBWD3xtvslN3do-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-8" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-0" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-11" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-10" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-166" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="690" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="1TJywYTg9ukwW_WQVzSB-2" vertex="1">
<mxGeometry x="140" y="20" width="260" height="740" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-16" value="读取数据库中&lt;div&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;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-21" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-21" vertex="1" connectable="0">
<mxGeometry x="-0.6571" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-22" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-23" vertex="1" connectable="0">
<mxGeometry x="-0.875" y="1" relative="1" as="geometry">
<mxPoint x="-18" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-18" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="129.99999999999955" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-16" target="JOUyWLhBWD3xtvslN3do-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-20" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-22" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-13" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-12" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="9.999999999999545" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-17" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-13" target="YtNTQt618ny-sFmqOg6v-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-165" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="130" y="690" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-165" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="epkTv9PBIllWztq9xRfP-8" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-20" vertex="1" connectable="0">
<mxGeometry x="-0.7412" y="1" relative="1" as="geometry">
<mxPoint x="-22" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-36" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="YtNTQt618ny-sFmqOg6v-12" target="IF__UzwnMCTeSwNdx4oP-36" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="560" y="570" as="sourcePoint" />
<mxPoint x="560" y="590" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YtNTQt618ny-sFmqOg6v-19" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="YtNTQt618ny-sFmqOg6v-18" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="6" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="IF__UzwnMCTeSwNdx4oP-1" target="JOUyWLhBWD3xtvslN3do-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="JOUyWLhBWD3xtvslN3do-20" target="JOUyWLhBWD3xtvslN3do-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="JOUyWLhBWD3xtvslN3do-22" target="JOUyWLhBWD3xtvslN3do-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="IF__UzwnMCTeSwNdx4oP-165" target="IF__UzwnMCTeSwNdx4oP-166" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="JOUyWLhBWD3xtvslN3do-0" target="YtNTQt618ny-sFmqOg6v-13" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="730" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-6" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-5" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-21" y="14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1TJywYTg9ukwW_WQVzSB-2" source="IF__UzwnMCTeSwNdx4oP-36" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,619 +0,0 @@
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) 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">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1428" dy="815" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="JOUyWLhBWD3xtvslN3do-29" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="10" y="20" width="490" height="700" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-155" value="版本更新提交流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-29" vertex="1">
<mxGeometry width="490" height="700" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-156" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-29" vertex="1">
<mxGeometry y="20" width="240" height="680" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-4" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-5" value="不显示&lt;div&gt;提交更新按钮&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-4" target="IF__UzwnMCTeSwNdx4oP-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-7" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="IF__UzwnMCTeSwNdx4oP-6" vertex="1" connectable="0">
<mxGeometry x="0.1056" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-16" value="点击按钮并&lt;div&gt;填写更新记录&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="130" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-3" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="129.99999999999955" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-8" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-16" target="IF__UzwnMCTeSwNdx4oP-3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="580" y="260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-0" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-11" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-10" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="-25" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-0" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="129.99999999999955" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-1" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-3" target="JOUyWLhBWD3xtvslN3do-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-166" target="JOUyWLhBWD3xtvslN3do-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-166" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="130" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-8" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="130" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-14" value="刷新版本记录" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="10" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-1" value="用户登陆访问&lt;div&gt;版本管理页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-2" value="用户权限验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-160" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-2" target="IF__UzwnMCTeSwNdx4oP-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-24" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="130" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-13" value="显示提交更新按钮" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="129.99999999999955" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-17" 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;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-13" target="IF__UzwnMCTeSwNdx4oP-16" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="250" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="IF__UzwnMCTeSwNdx4oP-4" target="IF__UzwnMCTeSwNdx4oP-13" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-15" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="IF__UzwnMCTeSwNdx4oP-14" vertex="1" connectable="0">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="3" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-156" source="JOUyWLhBWD3xtvslN3do-26" target="IF__UzwnMCTeSwNdx4oP-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-26" value="显示版本记录" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-156" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-157" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-29" vertex="1">
<mxGeometry x="240" y="20" width="250" height="680" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-2" target="IF__UzwnMCTeSwNdx4oP-165" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-12" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-4" vertex="1" connectable="0">
<mxGeometry x="-0.8286" relative="1" as="geometry">
<mxPoint x="-5" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-2" target="IF__UzwnMCTeSwNdx4oP-36" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-13" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-7" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-2" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="9.999999999999545" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-165" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="140" y="630" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-36" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-16" value="读取数据库中&lt;div&gt;版本信息&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-30" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-137" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="IF__UzwnMCTeSwNdx4oP-30" target="JOUyWLhBWD3xtvslN3do-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-20" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-18" target="JOUyWLhBWD3xtvslN3do-22" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-18" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="9.999999999999545" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-19" 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;entryPerimeter=0;" parent="IF__UzwnMCTeSwNdx4oP-157" source="JOUyWLhBWD3xtvslN3do-16" target="JOUyWLhBWD3xtvslN3do-18" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-20" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-22" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="IF__UzwnMCTeSwNdx4oP-157" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="IF__UzwnMCTeSwNdx4oP-167" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="IF__UzwnMCTeSwNdx4oP-165" target="IF__UzwnMCTeSwNdx4oP-166" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="JOUyWLhBWD3xtvslN3do-0" target="IF__UzwnMCTeSwNdx4oP-30" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-6" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-5" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="IF__UzwnMCTeSwNdx4oP-36" target="JOUyWLhBWD3xtvslN3do-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="IF__UzwnMCTeSwNdx4oP-1" target="JOUyWLhBWD3xtvslN3do-16" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="JOUyWLhBWD3xtvslN3do-20" target="JOUyWLhBWD3xtvslN3do-24" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-29" source="JOUyWLhBWD3xtvslN3do-22" target="JOUyWLhBWD3xtvslN3do-26" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-82" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="10" y="740" width="490" height="640" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-31" value="添加/修改/删除待办事项流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-82" vertex="1">
<mxGeometry width="490" height="640" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-32" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-82" vertex="1">
<mxGeometry y="20" width="240" height="620" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-33" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="9.999999999999545" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-34" value="拒绝用户操作" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-33" target="JOUyWLhBWD3xtvslN3do-34" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-36" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="JOUyWLhBWD3xtvslN3do-35" vertex="1" connectable="0">
<mxGeometry x="0.1056" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-38" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="129.99999999999955" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-42" target="JOUyWLhBWD3xtvslN3do-46" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-41" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-40" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="-25" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-42" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="129.99999999999955" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-43" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-38" target="JOUyWLhBWD3xtvslN3do-42" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-45" target="JOUyWLhBWD3xtvslN3do-47" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-45" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="130" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-46" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="130" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-47" value="刷新待办事项" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="10" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-48" value="用户登陆访问&lt;div&gt;待办事项页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-49" value="用户添加/修改/删除待办事项" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-50" 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;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-49" target="JOUyWLhBWD3xtvslN3do-52" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-51" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="130" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-52" value="用户权限验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-53" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-52" target="JOUyWLhBWD3xtvslN3do-33" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-33" target="JOUyWLhBWD3xtvslN3do-38" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-55" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="JOUyWLhBWD3xtvslN3do-54" vertex="1" connectable="0">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="3" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-56" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-32" source="JOUyWLhBWD3xtvslN3do-57" target="JOUyWLhBWD3xtvslN3do-49" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-57" value="显示待办事项" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-32" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-58" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-82" vertex="1">
<mxGeometry x="240" y="20" width="250" height="620" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-63" target="JOUyWLhBWD3xtvslN3do-64" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-60" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-59" vertex="1" connectable="0">
<mxGeometry x="-0.8286" relative="1" as="geometry">
<mxPoint x="-5" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-63" target="JOUyWLhBWD3xtvslN3do-65" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-62" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-61" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-63" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="9.999999999999545" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-64" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="140" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-65" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="10" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-66" value="读取数据库中&lt;div&gt;待办事项信息&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-67" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-68" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-67" target="JOUyWLhBWD3xtvslN3do-63" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-71" target="JOUyWLhBWD3xtvslN3do-73" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-71" target="JOUyWLhBWD3xtvslN3do-74" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-71" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="9.999999999999545" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-72" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-58" source="JOUyWLhBWD3xtvslN3do-66" target="JOUyWLhBWD3xtvslN3do-71" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-73" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-74" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-58" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-75" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-64" target="JOUyWLhBWD3xtvslN3do-45" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-42" target="JOUyWLhBWD3xtvslN3do-67" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-77" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-76" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-78" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-65" target="JOUyWLhBWD3xtvslN3do-46" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-48" target="JOUyWLhBWD3xtvslN3do-66" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-80" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-73" target="JOUyWLhBWD3xtvslN3do-51" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-81" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-82" source="JOUyWLhBWD3xtvslN3do-74" target="JOUyWLhBWD3xtvslN3do-57" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-83" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="10" y="1400" width="490" height="640" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-84" value="添加/删除问题或回答流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-83" vertex="1">
<mxGeometry width="490" height="640" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-85" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-83" vertex="1">
<mxGeometry y="20" width="240" height="620" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-86" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="9.999999999999545" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-87" value="拒绝用户操作" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="9.999999999999545" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-86" target="JOUyWLhBWD3xtvslN3do-87" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-89" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="JOUyWLhBWD3xtvslN3do-88" vertex="1" connectable="0">
<mxGeometry x="0.1056" relative="1" as="geometry">
<mxPoint x="-10" y="-1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-90" value="前端表单验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="129.99999999999955" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-91" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-93" target="JOUyWLhBWD3xtvslN3do-97" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-92" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-91" vertex="1" connectable="0">
<mxGeometry x="-0.1357" relative="1" as="geometry">
<mxPoint x="-10" y="-25" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-93" value="验证通过?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="129.99999999999955" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-94" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-90" target="JOUyWLhBWD3xtvslN3do-93" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-95" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-96" target="JOUyWLhBWD3xtvslN3do-98" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-96" value="显示成功消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="130" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-97" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="130" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-98" value="刷新问题和回答" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="10" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-99" value="用户登陆访问&lt;div&gt;问答交流页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-100" value="用户添加/删除问题或回答" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="9.999999999999545" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-101" 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;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-100" target="JOUyWLhBWD3xtvslN3do-103" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-102" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="130" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-103" value="用户权限验证" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-104" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-103" target="JOUyWLhBWD3xtvslN3do-86" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="180" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-86" target="JOUyWLhBWD3xtvslN3do-90" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-106" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;container=0;" parent="JOUyWLhBWD3xtvslN3do-105" vertex="1" connectable="0">
<mxGeometry x="-0.3238" y="1" relative="1" as="geometry">
<mxPoint x="3" y="-9" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-85" source="JOUyWLhBWD3xtvslN3do-108" target="JOUyWLhBWD3xtvslN3do-100" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-108" value="显示问题和回答" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-85" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-109" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-83" vertex="1">
<mxGeometry x="240" y="20" width="250" height="620" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-110" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-114" target="JOUyWLhBWD3xtvslN3do-115" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-111" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-110" vertex="1" connectable="0">
<mxGeometry x="-0.8286" relative="1" as="geometry">
<mxPoint x="-5" y="-10" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-112" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-114" target="JOUyWLhBWD3xtvslN3do-116" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-113" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-112" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-114" value="写入成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="9.999999999999545" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-115" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="140" y="570" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-116" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="10" y="510" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-117" value="读取数据库中&lt;div&gt;问题和回答信息&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-118" value="写入数据库" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-119" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-118" target="JOUyWLhBWD3xtvslN3do-114" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-120" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-122" target="JOUyWLhBWD3xtvslN3do-124" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-122" target="JOUyWLhBWD3xtvslN3do-125" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-122" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="9.999999999999545" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-123" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-109" source="JOUyWLhBWD3xtvslN3do-117" target="JOUyWLhBWD3xtvslN3do-122" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-124" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-125" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-109" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-126" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-115" target="JOUyWLhBWD3xtvslN3do-96" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-127" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-93" target="JOUyWLhBWD3xtvslN3do-118" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-128" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-127" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-129" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-116" target="JOUyWLhBWD3xtvslN3do-97" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-130" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-99" target="JOUyWLhBWD3xtvslN3do-117" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-131" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-124" target="JOUyWLhBWD3xtvslN3do-102" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-132" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-83" source="JOUyWLhBWD3xtvslN3do-125" target="JOUyWLhBWD3xtvslN3do-108" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-183" value="" style="group" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1" connectable="0">
<mxGeometry x="10" y="2060" width="370" height="520" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-134" value="帮助文档查询流程" style="swimlane;childLayout=stackLayout;resizeParent=1;resizeParentMax=0;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-183" vertex="1">
<mxGeometry width="370" height="520" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-135" value="前端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-183" vertex="1">
<mxGeometry y="20" width="120" height="500" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-146" value="显示搜索结果" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="10" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-147" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-149" value="用户登陆访问&lt;div&gt;帮助页面&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="9.999999999999545" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-150" value="用户按关键字搜索" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-152" value="显示失败消息" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-157" 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;" parent="JOUyWLhBWD3xtvslN3do-135" source="JOUyWLhBWD3xtvslN3do-158" target="JOUyWLhBWD3xtvslN3do-150" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-158" value="显示帮助文档列表" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-135" vertex="1">
<mxGeometry x="10" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-159" value="后端" style="swimlane;startSize=20;html=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-183" vertex="1">
<mxGeometry x="120" y="20" width="250" height="500" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-162" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-143" target="JOUyWLhBWD3xtvslN3do-166" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="59.999999999999545" y="490" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-163" value="否" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-162" vertex="1" connectable="0">
<mxGeometry x="-0.4571" relative="1" as="geometry">
<mxPoint x="-10" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-165" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="140" y="450" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-166" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="10" y="390" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-167" value="读取帮助文档" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="10" y="30" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-170" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-172" target="JOUyWLhBWD3xtvslN3do-174" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-171" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-172" target="JOUyWLhBWD3xtvslN3do-175" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-172" value="读取成功?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="9.999999999999545" y="90" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-173" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-167" target="JOUyWLhBWD3xtvslN3do-172" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-174" value="返回失败响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="10" y="150" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-175" value="返回成功响应" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="130" y="210" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-140" value="搜索帮助文档" style="rounded=1;whiteSpace=wrap;html=1;absoluteArcSize=1;arcSize=14;strokeWidth=1;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="9.999999999999545" y="270" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-143" value="搜索到?" style="strokeWidth=1;html=1;shape=mxgraph.flowchart.decision;whiteSpace=wrap;container=0;" parent="JOUyWLhBWD3xtvslN3do-159" vertex="1">
<mxGeometry x="9.999999999999545" y="330" width="100" height="40" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-177" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-143" target="JOUyWLhBWD3xtvslN3do-165" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="190" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-178" value="是" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=none;" parent="JOUyWLhBWD3xtvslN3do-177" vertex="1" connectable="0">
<mxGeometry x="-0.1207" y="-1" relative="1" as="geometry">
<mxPoint x="-9" y="-11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-144" 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;entryPerimeter=0;" parent="JOUyWLhBWD3xtvslN3do-159" source="JOUyWLhBWD3xtvslN3do-140" target="JOUyWLhBWD3xtvslN3do-143" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-176" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-165" target="JOUyWLhBWD3xtvslN3do-146" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-179" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-166" target="JOUyWLhBWD3xtvslN3do-147" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-180" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-149" target="JOUyWLhBWD3xtvslN3do-167" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-181" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-174" target="JOUyWLhBWD3xtvslN3do-152" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-182" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-175" target="JOUyWLhBWD3xtvslN3do-158" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JOUyWLhBWD3xtvslN3do-151" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="JOUyWLhBWD3xtvslN3do-183" source="JOUyWLhBWD3xtvslN3do-150" target="JOUyWLhBWD3xtvslN3do-140" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-60.000000000000455" y="290" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -1,62 +0,0 @@
{
"files.associations": {
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"array": "cpp",
"atomic": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"chrono": "cpp",
"codecvt": "cpp",
"compare": "cpp",
"concepts": "cpp",
"cstdint": "cpp",
"deque": "cpp",
"forward_list": "cpp",
"map": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"string": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"new": "cpp",
"ostream": "cpp",
"ranges": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"typeinfo": "cpp",
"valarray": "cpp"
}
}

View File

@ -11,12 +11,6 @@
#include <stdexcept>
#include <sstream>
#include <iomanip>
#include <iostream>
#include <vector>
#include <algorithm>
#include <openssl/rand.h>
#include <openssl/bio.h>
#include <openssl/buffer.h>
using json = nlohmann::json;
namespace fs = std::filesystem;
@ -51,148 +45,12 @@ std::string encryptPassword(const std::string &password, const std::string &salt
return ss.str();
}
// Base64编码函数
std::string base64_encode(const unsigned char *data, size_t length)
{
BIO *bio, *b64;
BUF_MEM *bufferPtr;
b64 = BIO_new(BIO_f_base64());
bio = BIO_new(BIO_s_mem());
bio = BIO_push(b64, bio);
BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL); // 不添加换行符
BIO_write(bio, data, length);
BIO_flush(bio);
BIO_get_mem_ptr(bio, &bufferPtr);
std::string result(bufferPtr->data, bufferPtr->length);
BIO_free_all(bio);
return result;
}
// Base64解码函数
std::vector<unsigned char> base64_decode(const std::string &encoded_string)
{
BIO *bio, *b64;
std::vector<unsigned char> result;
b64 = BIO_new(BIO_f_base64());
bio = BIO_new_mem_buf(encoded_string.c_str(), encoded_string.length());
bio = BIO_push(b64, bio);
BIO_set_flags(bio, BIO_FLAGS_BASE64_NO_NL); // 不添加换行符
// 计算解码后的长度
size_t decoded_length = (encoded_string.length() * 3) / 4;
result.resize(decoded_length);
int actual_length = BIO_read(bio, result.data(), decoded_length);
if (actual_length > 0) {
result.resize(actual_length);
} else {
result.clear();
}
BIO_free_all(bio);
return result;
}
// 利用用户名和固定密钥派生32字节AES密钥
std::vector<unsigned char> derive_aes_key(const std::string &username, const std::string &fixed_key)
{
unsigned char hash[SHA256_DIGEST_LENGTH];
std::string key_material = username + fixed_key;
EVP_MD_CTX *ctx = EVP_MD_CTX_new();
EVP_DigestInit_ex(ctx, EVP_sha256(), NULL);
EVP_DigestUpdate(ctx, key_material.c_str(), key_material.length());
EVP_DigestFinal_ex(ctx, hash, NULL);
EVP_MD_CTX_free(ctx);
return std::vector<unsigned char>(hash, hash + SHA256_DIGEST_LENGTH);
}
// AES-256-CBC加密
std::vector<unsigned char> aes_encrypt(const std::string &plaintext,
const std::vector<unsigned char> &key,
std::vector<unsigned char> &iv_out)
{
EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
if (!ctx)
throw std::runtime_error("EVP_CIPHER_CTX_new failed");
iv_out.resize(16);
if (!RAND_bytes(iv_out.data(), iv_out.size())) {
EVP_CIPHER_CTX_free(ctx);
throw std::runtime_error("RAND_bytes failed");
}
if (1 != EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key.data(), iv_out.data()))
throw std::runtime_error("EVP_EncryptInit_ex failed");
std::vector<unsigned char> ciphertext(plaintext.size() + 16);
int len = 0, ciphertext_len = 0;
if (1
!= EVP_EncryptUpdate(ctx, ciphertext.data(), &len,
reinterpret_cast<const unsigned char *>(plaintext.c_str()),
plaintext.size()))
throw std::runtime_error("EVP_EncryptUpdate failed");
ciphertext_len = len;
if (1 != EVP_EncryptFinal_ex(ctx, ciphertext.data() + len, &len))
throw std::runtime_error("EVP_EncryptFinal_ex failed");
ciphertext_len += len;
ciphertext.resize(ciphertext_len);
EVP_CIPHER_CTX_free(ctx);
return ciphertext;
}
// AES-256-CBC解密
std::string aes_decrypt(const std::vector<unsigned char> &ciphertext,
const std::vector<unsigned char> &key, const std::vector<unsigned char> &iv)
{
EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
if (!ctx)
throw std::runtime_error("EVP_CIPHER_CTX_new failed");
if (1 != EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, key.data(), iv.data()))
throw std::runtime_error("EVP_DecryptInit_ex failed");
std::vector<unsigned char> plaintext(ciphertext.size());
int len = 0, plaintext_len = 0;
if (1 != EVP_DecryptUpdate(ctx, plaintext.data(), &len, ciphertext.data(), ciphertext.size()))
throw std::runtime_error("EVP_DecryptUpdate failed");
plaintext_len = len;
if (1 != EVP_DecryptFinal_ex(ctx, plaintext.data() + len, &len))
throw std::runtime_error("EVP_DecryptFinal_ex failed");
plaintext_len += len;
plaintext.resize(plaintext_len);
EVP_CIPHER_CTX_free(ctx);
return std::string(plaintext.begin(), plaintext.end());
}
// 二进制转16进制字符串
std::string bin2hex(const std::vector<unsigned char> &data)
{
std::ostringstream oss;
for (auto c : data) {
oss << std::hex << std::setw(2) << std::setfill('0') << (int)c;
}
return oss.str();
}
// 16进制字符串转二进制
std::vector<unsigned char> hex2bin(const std::string &hex)
{
std::vector<unsigned char> out;
for (size_t i = 0; i + 1 < hex.length(); i += 2) {
std::string byteString = hex.substr(i, 2);
unsigned char byte = (unsigned char)strtol(byteString.c_str(), nullptr, 16);
out.push_back(byte);
}
return out;
}
extern "C" LOGIN_EXPORT int validateUser(const char *username_buffer, size_t username_length,
const char *password_buffer, size_t password_length)
extern "C" LOGIN_EXPORT int validateUser(const void* username_buffer, size_t username_length,
const void* password_buffer, size_t password_length)
{
try {
std::string username_str(username_buffer, username_length);
std::string password_str(password_buffer, password_length);
std::string username_str(static_cast<const char*>(username_buffer), username_length);
std::string password_str(static_cast<const char*>(password_buffer), password_length);
if (username_str.empty() || password_str.empty()) {
return -1;
@ -207,7 +65,7 @@ extern "C" LOGIN_EXPORT int validateUser(const char *username_buffer, size_t use
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
sqlite3* db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
@ -237,23 +95,22 @@ extern "C" LOGIN_EXPORT int validateUser(const char *username_buffer, size_t use
}
}
extern "C" LOGIN_EXPORT int getUserInfo(int user_id, char *result, int result_length)
extern "C" LOGIN_EXPORT const char* getUserInfo(int user_id)
{
try {
const char* xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
std::cout << "xnCorePath is null" << std::endl;
return -1;
return nullptr;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
sqlite3* db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
std::cout << "sqlite3_open failed" << std::endl;
return -1;
return nullptr;
}
char* result = nullptr;
sqlite3_stmt* stmt;
const char* queryStr = "SELECT * FROM users WHERE id = ?";
@ -264,71 +121,26 @@ extern "C" LOGIN_EXPORT int getUserInfo(int user_id, char *result, int result_le
json userInfo;
userInfo["id"] = sqlite3_column_int(stmt, 0);
userInfo["username"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 1));
// access_level 解密
std::string accessLevelEnc =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 3));
std::vector<unsigned char> iv_and_ciphertext = hex2bin(accessLevelEnc);
if (iv_and_ciphertext.size() < 16) {
userInfo["access_level"] = nullptr;
} else {
std::vector<unsigned char> iv(iv_and_ciphertext.begin(),
iv_and_ciphertext.begin() + 16);
std::vector<unsigned char> ciphertext(iv_and_ciphertext.begin() + 16,
iv_and_ciphertext.end());
std::string fixed_key = "XNSim_Access_Key";
std::string username = userInfo["username"].get<std::string>();
std::vector<unsigned char> key = derive_aes_key(username, fixed_key);
try {
std::string accessLevelStr = aes_decrypt(ciphertext, key, iv);
userInfo["access_level"] = std::stoi(accessLevelStr);
} catch (...) {
userInfo["access_level"] = nullptr;
}
}
userInfo["full_name"] =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 4));
userInfo["access_level"] = sqlite3_column_int(stmt, 3);
userInfo["full_name"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 4));
userInfo["phone"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 5));
userInfo["email"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 6));
userInfo["department"] =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 7));
userInfo["department"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 7));
userInfo["position"] = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 8));
// 处理二进制数据
const void *blob_data = sqlite3_column_blob(stmt, 9);
int blob_size = sqlite3_column_bytes(stmt, 9);
if (blob_data && blob_size > 0) {
userInfo["icon"] =
base64_encode(static_cast<const unsigned char *>(blob_data), blob_size);
} else {
userInfo["icon"] = nullptr; // 使用null值代替空字符串
}
std::string jsonData = userInfo.dump();
if (result_length >= jsonData.size() + 1) {
result = new char[jsonData.size() + 1];
std::strcpy(result, jsonData.c_str());
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
} else {
std::cout << "result_length: " << result_length << std::endl;
sqlite3_finalize(stmt);
sqlite3_close(db);
return -1;
}
} else {
// 用户不存在
sqlite3_finalize(stmt);
sqlite3_close(db);
return -2; // 用户不存在
}
}
sqlite3_close(db);
return 0;
return result;
} catch (const std::exception&) {
std::cout << "getUserInfo failed" << std::endl;
return -1;
return nullptr;
}
}
@ -359,12 +171,8 @@ int checkUsernameExists(const void *username_buffer, size_t username_length)
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
std::string connectionName =
"usercheck_"
+ std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(
std::chrono::system_clock::now().time_since_epoch())
.count());
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
std::string connectionName = "usercheck_" + std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
int result = -1;
{
@ -396,15 +204,18 @@ int checkUsernameExists(const void *username_buffer, size_t username_length)
}
// 注册新用户
extern "C" LOGIN_EXPORT int registerUser(const char *username_buffer, int username_length,
const char *password_buffer, int password_length,
const char *userinfo_buffer, int userinfo_length)
extern "C" LOGIN_EXPORT int registerUser(const void *username_buffer, size_t username_length,
const void *password_buffer, size_t password_length,
const void *userinfo_buffer, size_t userinfo_length)
{
try {
// 转换输入参数
std::string username_str(username_buffer, username_length);
std::string password_str(password_buffer, password_length);
std::string userinfo_str(userinfo_buffer, userinfo_length);
const char *username_data = static_cast<const char *>(username_buffer);
const char *password_data = static_cast<const char *>(password_buffer);
const char *userinfo_data = static_cast<const char *>(userinfo_buffer);
std::string username_str(username_data, username_length);
std::string password_str(password_data, password_length);
// 验证用户名和密码非空
if (username_str.empty()) {
@ -422,24 +233,13 @@ extern "C" LOGIN_EXPORT int registerUser(const char *username_buffer, int userna
// 解析用户信息JSON
json userInfo;
try {
userInfo = json::parse(userinfo_str);
userInfo = json::parse(std::string(userinfo_data, userinfo_length));
} catch (const json::parse_error&) {
return -3; // Invalid user info format
}
// 验证权限级别
int accessLevel = 0;
if (userInfo.contains("access_level")) {
accessLevel = userInfo["access_level"].get<int>();
}
// access_level 加密
std::string fixed_key = "XNSim_Access_Key";
std::vector<unsigned char> key = derive_aes_key(username_str, fixed_key);
std::vector<unsigned char> iv;
std::vector<unsigned char> ciphertext = aes_encrypt(std::to_string(accessLevel), key, iv);
std::vector<unsigned char> iv_and_ciphertext = iv;
iv_and_ciphertext.insert(iv_and_ciphertext.end(), ciphertext.begin(), ciphertext.end());
std::string accessLevelEnc = bin2hex(iv_and_ciphertext);
// 生成加密密码
std::string salt = generateSalt(username_str);
@ -451,7 +251,8 @@ extern "C" LOGIN_EXPORT int registerUser(const char *username_buffer, int userna
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
std::string connectionName = "userreg_" + std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
int newUserId = -1;
{
@ -461,25 +262,19 @@ extern "C" LOGIN_EXPORT int registerUser(const char *username_buffer, int userna
}
sqlite3_stmt* stmt;
const char *queryStr =
"INSERT INTO users (username, password, access_level, full_name, phone, "
const char* queryStr = "INSERT INTO users (username, password, access_level, full_name, phone, "
"email, department, position) "
"VALUES (?, ?, ?, ?, ?, ?, ?, ?)";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_text(stmt, 1, username_str.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 2, encryptedPassword.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 3, accessLevelEnc.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 4, userInfo["full_name"].get<std::string>().c_str(), -1,
SQLITE_STATIC);
sqlite3_bind_text(stmt, 5, userInfo["phone"].get<std::string>().c_str(), -1,
SQLITE_STATIC);
sqlite3_bind_text(stmt, 6, userInfo["email"].get<std::string>().c_str(), -1,
SQLITE_STATIC);
sqlite3_bind_text(stmt, 7, userInfo["department"].get<std::string>().c_str(), -1,
SQLITE_STATIC);
sqlite3_bind_text(stmt, 8, userInfo["position"].get<std::string>().c_str(), -1,
SQLITE_STATIC);
sqlite3_bind_int(stmt, 3, accessLevel);
sqlite3_bind_text(stmt, 4, userInfo["full_name"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 5, userInfo["phone"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 6, userInfo["email"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 7, userInfo["department"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 8, userInfo["position"].get<std::string>().c_str(), -1, SQLITE_STATIC);
if (sqlite3_step(stmt) == SQLITE_DONE) {
newUserId = sqlite3_last_insert_rowid(db);
@ -498,33 +293,34 @@ extern "C" LOGIN_EXPORT int registerUser(const char *username_buffer, int userna
}
// 修改密码
extern "C" LOGIN_EXPORT int changePassword(int user_id, const char *old_password_buffer,
int old_password_length, const char *new_password_buffer,
int new_password_length)
extern "C" LOGIN_EXPORT int changePassword(int user_id, const void *old_password_buffer,
size_t old_password_length,
const void *new_password_buffer,
size_t new_password_length)
{
try {
std::string old_password_str(old_password_buffer, old_password_length);
std::string new_password_str(new_password_buffer, new_password_length);
const char *old_password_data = static_cast<const char *>(old_password_buffer);
const char *new_password_data = static_cast<const char *>(new_password_buffer);
std::string old_password_str(old_password_data, old_password_length);
std::string new_password_str(new_password_data, new_password_length);
if (old_password_str.empty() || new_password_str.empty()) {
return -1;
}
if (old_password_str == new_password_str) {
return -2;
}
const char* xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
return -3;
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
std::string connectionName = "changepwd_" + std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
{
sqlite3* db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
return -3;
return -1;
}
// 首先验证旧密码
@ -535,10 +331,8 @@ extern "C" LOGIN_EXPORT int changePassword(int user_id, const char *old_password
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) == SQLITE_ROW) {
std::string username =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 0));
std::string storedPassword =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 1));
std::string username = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 0));
std::string storedPassword = reinterpret_cast<const char*>(sqlite3_column_text(stmt, 1));
// 验证旧密码
std::string salt = generateSalt(username);
@ -547,7 +341,7 @@ extern "C" LOGIN_EXPORT int changePassword(int user_id, const char *old_password
if (encryptedOldPassword != storedPassword) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return -4; // 旧密码错误
return -3; // 旧密码错误
}
// 生成新的加密密码
@ -565,109 +359,30 @@ extern "C" LOGIN_EXPORT int changePassword(int user_id, const char *old_password
if (sqlite3_step(stmt) == SQLITE_DONE) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0; // 密码修改成功
return 1; // 密码修改成功
}
sqlite3_finalize(stmt);
}
} else {
// 用户不存在
sqlite3_finalize(stmt);
sqlite3_close(db);
return -5; // 用户不存在
}
}
sqlite3_close(db);
}
return -6; // Default error return
return -1; // Default error return
} catch (const std::exception&) {
return -3;
}
}
extern "C" LOGIN_EXPORT int resetPassword(int user_id)
{
try {
const char *xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
{
sqlite3 *db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
return -2;
}
// 首先查询用户名
sqlite3_stmt *stmt;
const char *queryStr = "SELECT username FROM users WHERE id = ?";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) != SQLITE_OK) {
sqlite3_close(db);
return -3; // SELECT 语句准备失败
}
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) == SQLITE_ROW) {
std::string username = reinterpret_cast<const char *>(sqlite3_column_text(stmt, 0));
// 生成新的加密密码
std::string salt = generateSalt(username);
std::string new_password_str = "123456";
std::string encryptedNewPassword = encryptPassword(new_password_str, salt);
// 更新密码
sqlite3_finalize(stmt);
stmt = nullptr;
queryStr = "UPDATE users SET password = ? WHERE id = ?";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) != SQLITE_OK) {
sqlite3_close(db);
return -4; // UPDATE 语句准备失败
}
sqlite3_bind_text(stmt, 1, encryptedNewPassword.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_int(stmt, 2, user_id);
if (sqlite3_step(stmt) == SQLITE_DONE) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0; // 密码重置成功
} else {
// 获取具体的错误信息
int error_code = sqlite3_errcode(db);
const char *error_msg = sqlite3_errmsg(db);
std::cout << "UPDATE failed with error code: " << error_code
<< ", message: " << (error_msg ? error_msg : "unknown") << std::endl;
sqlite3_finalize(stmt);
sqlite3_close(db);
return -5; // UPDATE 语句执行失败
}
} else {
// 用户不存在
sqlite3_finalize(stmt);
sqlite3_close(db);
return -6; // 用户不存在
}
}
return -7; // 其他错误
} catch (const std::exception &) {
return -8;
}
}
// 更新用户信息
extern "C" LOGIN_EXPORT int updateUserInfo(int user_id, const char *userinfo_buffer,
int userinfo_length)
extern "C" LOGIN_EXPORT int updateUserInfo(int user_id, const void *userinfo_buffer,
size_t userinfo_length)
{
try {
std::string userinfo_str(userinfo_buffer, userinfo_length);
const char *userinfo_data = static_cast<const char *>(userinfo_buffer);
std::string userinfo_str(userinfo_data, userinfo_length);
// 解析用户信息JSON
json userInfo;
@ -683,7 +398,8 @@ extern "C" LOGIN_EXPORT int updateUserInfo(int user_id, const char *userinfo_buf
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
std::string connectionName = "userupdate_" + std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
int result = -1;
{
@ -699,7 +415,7 @@ extern "C" LOGIN_EXPORT int updateUserInfo(int user_id, const char *userinfo_buf
if (sqlite3_prepare_v2(db, checkQueryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) != SQLITE_ROW) {
if (sqlite3_step(stmt) == SQLITE_ROW) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return -2; // 用户不存在
@ -708,41 +424,20 @@ extern "C" LOGIN_EXPORT int updateUserInfo(int user_id, const char *userinfo_buf
}
stmt = nullptr;
const char *queryStr =
"UPDATE users SET full_name = ?, phone = ?, email = ?, department = ?, "
const char* queryStr = "UPDATE users SET full_name = ?, phone = ?, email = ?, department = ?, "
"position = ? "
"WHERE id = ?";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
// 安全地获取字符串值处理null情况
std::string full_name =
userInfo.contains("full_name") && !userInfo["full_name"].is_null()
? userInfo["full_name"].get<std::string>()
: "";
std::string phone = userInfo.contains("phone") && !userInfo["phone"].is_null()
? userInfo["phone"].get<std::string>()
: "";
std::string email = userInfo.contains("email") && !userInfo["email"].is_null()
? userInfo["email"].get<std::string>()
: "";
std::string department =
userInfo.contains("department") && !userInfo["department"].is_null()
? userInfo["department"].get<std::string>()
: "";
std::string position =
userInfo.contains("position") && !userInfo["position"].is_null()
? userInfo["position"].get<std::string>()
: "";
sqlite3_bind_text(stmt, 1, full_name.c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 2, phone.c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 3, email.c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 4, department.c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 5, position.c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(stmt, 1, userInfo["full_name"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 2, userInfo["phone"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 3, userInfo["email"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 4, userInfo["department"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_text(stmt, 5, userInfo["position"].get<std::string>().c_str(), -1, SQLITE_STATIC);
sqlite3_bind_int(stmt, 6, user_id);
if (sqlite3_step(stmt) == SQLITE_DONE) {
result = 0; // 更新成功
result = 1; // 更新成功
}
sqlite3_finalize(stmt);
@ -762,7 +457,7 @@ extern "C" LOGIN_EXPORT int updateUserAccessLevel(int user_id, int access_level)
{
try {
// 验证权限级别
if (access_level < 0 || access_level > 3) {
if (access_level < 0 || access_level >= 3) {
return -3; // 无效的权限级别
}
@ -772,7 +467,8 @@ extern "C" LOGIN_EXPORT int updateUserAccessLevel(int user_id, int access_level)
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
fs::path dbPath = fs::path(xnCorePath) / "database" / "XNSim.db";
std::string connectionName = "useraccess_" + std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
int result = -1;
{
@ -788,7 +484,7 @@ extern "C" LOGIN_EXPORT int updateUserAccessLevel(int user_id, int access_level)
if (sqlite3_prepare_v2(db, checkQueryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) != SQLITE_ROW) {
if (sqlite3_step(stmt) == SQLITE_ROW) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return -2; // 用户不存在
@ -800,34 +496,11 @@ extern "C" LOGIN_EXPORT int updateUserAccessLevel(int user_id, int access_level)
const char* queryStr = "UPDATE users SET access_level = ? WHERE id = ?";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
// 需要查用户名
std::string username;
{
sqlite3_stmt *stmt2;
const char *q2 = "SELECT username FROM users WHERE id = ?";
if (sqlite3_prepare_v2(db, q2, -1, &stmt2, nullptr) == SQLITE_OK) {
sqlite3_bind_int(stmt2, 1, user_id);
if (sqlite3_step(stmt2) == SQLITE_ROW) {
username =
reinterpret_cast<const char *>(sqlite3_column_text(stmt2, 0));
}
sqlite3_finalize(stmt2);
}
}
std::string fixed_key = "XNSim_Access_Key";
std::vector<unsigned char> key = derive_aes_key(username, fixed_key);
std::vector<unsigned char> iv;
std::vector<unsigned char> ciphertext =
aes_encrypt(std::to_string(access_level), key, iv);
std::vector<unsigned char> iv_and_ciphertext = iv;
iv_and_ciphertext.insert(iv_and_ciphertext.end(), ciphertext.begin(),
ciphertext.end());
std::string accessLevelEnc = bin2hex(iv_and_ciphertext);
sqlite3_bind_text(stmt, 1, accessLevelEnc.c_str(), -1, SQLITE_STATIC);
sqlite3_bind_int(stmt, 1, access_level);
sqlite3_bind_int(stmt, 2, user_id);
if (sqlite3_step(stmt) == SQLITE_DONE) {
result = 0; // 更新成功
result = 1; // 更新成功
}
sqlite3_finalize(stmt);
@ -841,183 +514,3 @@ extern "C" LOGIN_EXPORT int updateUserAccessLevel(int user_id, int access_level)
return -1;
}
}
// 获取所有用户的username、full_name和access_level返回JSON数组字符串
extern "C" LOGIN_EXPORT int getAllUsersSimpleInfo(char *result, int result_length)
{
try {
const char *xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
sqlite3 *db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
return -1;
}
const char *queryStr = "SELECT id, username, full_name, access_level FROM users";
sqlite3_stmt *stmt;
json arr = json::array();
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
while (sqlite3_step(stmt) == SQLITE_ROW) {
json userInfo;
userInfo["id"] = sqlite3_column_int(stmt, 0);
std::string username = reinterpret_cast<const char *>(sqlite3_column_text(stmt, 1));
userInfo["username"] = username;
userInfo["full_name"] =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 2));
// access_level 解密
std::string accessLevelEnc =
reinterpret_cast<const char *>(sqlite3_column_text(stmt, 3));
std::vector<unsigned char> iv_and_ciphertext = hex2bin(accessLevelEnc);
if (iv_and_ciphertext.size() < 16) {
userInfo["access_level"] = nullptr;
} else {
std::vector<unsigned char> iv(iv_and_ciphertext.begin(),
iv_and_ciphertext.begin() + 16);
std::vector<unsigned char> ciphertext(iv_and_ciphertext.begin() + 16,
iv_and_ciphertext.end());
std::string fixed_key = "XNSim_Access_Key";
std::vector<unsigned char> key = derive_aes_key(username, fixed_key);
try {
std::string accessLevelStr = aes_decrypt(ciphertext, key, iv);
userInfo["access_level"] = std::stoi(accessLevelStr);
} catch (...) {
userInfo["access_level"] = nullptr;
}
}
arr.push_back(userInfo);
}
sqlite3_finalize(stmt);
}
sqlite3_close(db);
std::string jsonStr = arr.dump();
if (result_length >= jsonStr.size() + 1) {
std::strcpy(result, jsonStr.c_str());
return 0;
} else {
return -1;
}
} catch (const std::exception &) {
return -1;
}
}
extern "C" LOGIN_EXPORT int deleteUser(int user_id)
{
try {
const char *xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
return -1;
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
sqlite3 *db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
return -1;
}
const char *queryStr = "DELETE FROM users WHERE id = ?";
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) == SQLITE_DONE) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0;
}
}
sqlite3_close(db);
return -1;
} catch (const std::exception &) {
return -1;
}
}
// 更新用户头像
extern "C" LOGIN_EXPORT int updateUserIcon(int user_id, const char *icon_base64_buffer,
int icon_base64_length)
{
try {
if (!icon_base64_buffer || icon_base64_length <= 0) {
return -1; // 无效的输入参数
}
std::string icon_base64(icon_base64_buffer, icon_base64_length);
if (icon_base64.empty()) {
return -1; // 空的Base64数据
}
const char *xnCorePath = std::getenv("XNCore");
if (!xnCorePath) {
return -2; // 环境变量未设置
}
fs::path dbPath = fs::path(xnCorePath) / "database" / "UserInfo.db";
{
sqlite3 *db;
if (sqlite3_open(dbPath.string().c_str(), &db) != SQLITE_OK) {
return -3; // 数据库连接失败
}
// 首先检查用户是否存在
sqlite3_stmt *stmt;
const char *checkQueryStr = "SELECT id FROM users WHERE id = ?";
if (sqlite3_prepare_v2(db, checkQueryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_int(stmt, 1, user_id);
if (sqlite3_step(stmt) != SQLITE_ROW) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return -4; // 用户不存在
}
sqlite3_finalize(stmt);
}
// 将Base64字符串转换为二进制数据
std::vector<unsigned char> icon_data;
try {
icon_data = base64_decode(icon_base64);
} catch (...) {
sqlite3_close(db);
return -5; // Base64解码失败
}
if (icon_data.empty()) {
sqlite3_close(db);
return -6; // 解码后数据为空
}
// 更新用户头像
stmt = nullptr;
const char *queryStr = "UPDATE users SET icon = ? WHERE id = ?";
if (sqlite3_prepare_v2(db, queryStr, -1, &stmt, nullptr) == SQLITE_OK) {
sqlite3_bind_blob(stmt, 1, icon_data.data(), icon_data.size(), SQLITE_TRANSIENT);
sqlite3_bind_int(stmt, 2, user_id);
if (sqlite3_step(stmt) == SQLITE_DONE) {
sqlite3_finalize(stmt);
sqlite3_close(db);
return 0; // 更新成功
} else {
// 获取具体的错误信息
int error_code = sqlite3_errcode(db);
const char *error_msg = sqlite3_errmsg(db);
std::cout << "UPDATE icon failed with error code: " << error_code
<< ", message: " << (error_msg ? error_msg : "unknown") << std::endl;
sqlite3_finalize(stmt);
sqlite3_close(db);
return -7; // UPDATE语句执行失败
}
} else {
sqlite3_close(db);
return -8; // UPDATE语句准备失败
}
}
return -9; // 其他错误
} catch (const std::exception &) {
return -10; // 异常错误
}
}

View File

@ -1,20 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(test_access_level_encrypt)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#
find_package(OpenSSL REQUIRED)
find_package(SQLite3 REQUIRED)
find_package(nlohmann_json 3.9.1 REQUIRED)
add_executable(test_access_level_encrypt test_access_level_encrypt.cpp)
# login.cpp
target_include_directories(test_access_level_encrypt PRIVATE ${CMAKE_SOURCE_DIR}/..)
# OpenSSL
if(OpenSSL_FOUND)
target_link_libraries(test_access_level_encrypt PRIVATE OpenSSL::SSL OpenSSL::Crypto SQLite::SQLite3 nlohmann_json::nlohmann_json)
endif()

View File

@ -1,36 +0,0 @@
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
#include <sstream>
#include "../login.cpp" // 直接复用加密解密相关函数
int main()
{
std::string username = "test3";
std::string fixed_key = "XNSim_Access_Key";
std::vector<unsigned char> key = derive_aes_key(username, fixed_key);
for (int access_level = 0; access_level <= 4; ++access_level) {
// 加密
std::vector<unsigned char> iv;
std::vector<unsigned char> ciphertext = aes_encrypt(std::to_string(access_level), key, iv);
std::vector<unsigned char> iv_and_ciphertext = iv;
iv_and_ciphertext.insert(iv_and_ciphertext.end(), ciphertext.begin(), ciphertext.end());
std::string hexstr = bin2hex(iv_and_ciphertext);
// 解密
std::vector<unsigned char> iv_and_ciphertext2 = hex2bin(hexstr);
std::vector<unsigned char> iv2(iv_and_ciphertext2.begin(), iv_and_ciphertext2.begin() + 16);
std::vector<unsigned char> ciphertext2(iv_and_ciphertext2.begin() + 16,
iv_and_ciphertext2.end());
std::string decrypted = aes_decrypt(ciphertext2, key, iv2);
std::cout << "username: " << username << std::endl;
std::cout << "access_level: " << access_level << std::endl;
std::cout << "加密后16进制: " << hexstr << std::endl;
std::cout << "解密还原: " << decrypted << std::endl;
std::cout << "-----------------------------" << std::endl;
}
return 0;
}

30
README.md Normal file
View File

@ -0,0 +1,30 @@
# XNSim
XNSim code
工具:
XNEditor——仿真配置终端
XNIDLGen——IDL生成工具
XNWrapper——模型封装工具
XNRunner——仿真运行终端
XNMonitor——模型分析、调试、监控工具
XNPortal——XNSim门户程序
XNSimHtml——XNSim综合管理页面
XNSysMonitor——CPU占用监控工具
仿真核心:
XNCore——仿真内核
XNEngine——仿真引擎
模型:
XNModels——仿真模型
服务:
XNServices——仿真服务
Other:
Doc——软件设计文档
Login——XNSim综合管理页面登录管理
qdarkstyle——工具软件界面所使用的UI风格
Release——最终交付包

3
Release/.gitignore vendored
View File

@ -1,3 +0,0 @@
log/*
testData/*
Packages/

View File

@ -1,93 +0,0 @@
! Add the labels you want to collect in the define below
define collect_list "-
l_04_i_gdcomac_frz_l1 -
l_04_i_gdcomac_brake_torq_f8(1_1) -
l_04_i_gdcomac_brake_torq_f8(1_2) -
l_04_i_gdcomac_brake_torq_f8(2_1) -
l_04_i_gdcomac_brake_torq_f8(2_2) -
l_04_i_gdcomac_brake_torq_f8(3_1) -
l_04_i_gdcomac_brake_torq_f8(3_2) -
l_04_i_gdcomac_gear_f8(1) -
l_04_i_gdcomac_gear_f8(2) -
l_04_i_gdcomac_gear_f8(3) -
l_04_i_gdcomac_gsteer_f8(1) -
l_04_i_gdcomac_gsteer_f8(2) -
l_04_i_gdcomac_gsteer_f8(3) -
l_04_i_gdcomac_rcon_ci_f8(1) -
l_04_i_gdcomac_rcon_ci_f8(2) -
l_04_i_gdcomac_rcon_ci_f8(3) -
l_04_i_gdcomac_rcon_ci_f8(4) -
l_04_i_gdcomac_rcon_ci_f8(5) -
l_04_i_gdcomac_rcon_ci_f8(6) -
l_04_i_gdcomac_rcon_ci_f8(7) -
l_04_i_gdcomac_onjax_l1 -
l_04_i_gdcomac_brake_temp_f8(1_1) -
l_04_i_gdcomac_brake_temp_f8(1_2) -
l_04_i_gdcomac_brake_temp_f8(2_1) -
l_04_i_gdcomac_brake_temp_f8(2_2) -
l_04_i_gdcomac_brake_temp_f8(3_1) -
l_04_i_gdcomac_brake_temp_f8(3_2) -
l_04_i_gdcomac_tire_tflat_l1(1_1) -
l_04_i_gdcomac_tire_tflat_l1(1_2) -
l_04_i_gdcomac_tire_tflat_l1(2_1) -
l_04_i_gdcomac_tire_tflat_l1(2_2) -
l_04_i_gdcomac_tire_tflat_l1(3_1) -
l_04_i_gdcomac_tire_tflat_l1(3_2) -
l_04_i_gdcomac_brk_reset_tpres_l1 -
l_04_i_gdcomac_rcon_ci_f8(1) -
l_04_i_gdcomac_rcon_ci_f8(2) -
l_04_i_gdcomac_rcon_ci_f8(3) -
l_04_i_gdcomac_rcon_ci_f8(4) -
l_04_i_gdcomac_rcon_ci_f8(5) -
l_04_i_gdcomac_rcon_ci_f8(6) -
l_04_i_gdcomac_rcon_ci_f8(7) -
l_04_i_gdcomac_gsteer_state_i4 -
l_04_i_gdcomac_resetint_l1 -
l_04_o_gdcomac_frz_l1 -
l_04_o_gdcomac_zcg_to_tire_f8 -
l_04_o_gdcomac_tire_burst_l1(1_1) -
l_04_o_gdcomac_tire_burst_l1(1_2) -
l_04_o_gdcomac_tire_burst_l1(2_1) -
l_04_o_gdcomac_tire_burst_l1(2_2) -
l_04_o_gdcomac_tire_burst_l1(3_1) -
l_04_o_gdcomac_tire_burst_l1(3_2) -
l_04_o_gdcomac_fxb_f8 -
l_04_o_gdcomac_fyb_f8 -
l_04_o_gdcomac_fzb_f8 -
l_04_o_gdcomac_mxb_f8 -
l_04_o_gdcomac_myb_f8 -
l_04_o_gdcomac_mzb_f8 -
l_04_o_gdcomac_sr_f8(1_1) -
l_04_o_gdcomac_sr_f8(1_2) -
l_04_o_gdcomac_sr_f8(2_1) -
l_04_o_gdcomac_sr_f8(2_2) -
l_04_o_gdcomac_sr_f8(3_1) -
l_04_o_gdcomac_sr_f8(3_2) -
l_04_o_gdcomac_sy_f8(1_1) -
l_04_o_gdcomac_sy_f8(1_2) -
l_04_o_gdcomac_sy_f8(2_1) -
l_04_o_gdcomac_sy_f8(2_2) -
l_04_o_gdcomac_sy_f8(3_1) -
l_04_o_gdcomac_sy_f8(3_2) -
"
!
! This will collect for 10 seconds at 60 Hz, you can modify the 10 by any other value you want to increase or decrease the collect time. Ideally, you should keep the 60 to collect every iterationé
!
collect/wait/freeze_flag=ci99_frz_fltchangerequest_l1 -
collect_list -
until (l_04_tctrl_stop_test_l1) -
for 10 at 60
!
! This will cretae a file called collect_result.bvx in the path that you used to open CTS. You can then open the .bvx file using QGR2.
!
put/extend/all result collect_result
!
! l_04_rcon_ci_f8(8) -
! l_04_rcon_ci_f8(9) -
! l_04_rcon_ci_f8(10) -
! l_04_rcon_ci_f8(11) -
! l_04_rcon_ci_f8(12) -
! l_04_rcon_ci_f8(13) -
! l_04_rcon_ci_f8(14) -

View File

@ -1,44 +0,0 @@
#include "Aerodynamics_heartbeat.hpp"
const std::string XNSim::C909::ATA04::Aerodynamics_heartbeat_Interface::topic_name = "XNSim::C909::ATA04::Aerodynamics_heartbeat";
namespace XNSim::C909::ATA04
{
Aerodynamics_heartbeat_Interface::Aerodynamics_heartbeat_Interface()
{
MAP_DATA_FUNC(aero_model_heartbeat);
}
Aerodynamics_heartbeat_Interface::~Aerodynamics_heartbeat_Interface()
{
}
void Aerodynamics_heartbeat_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_heartbeatPubSubType>("XNSim::C909::ATA04::Aerodynamics_heartbeat", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_heartbeatPubSubType>("XNSim::C909::ATA04::Aerodynamics_heartbeat", modelId, std::bind(&Aerodynamics_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_heartbeatPubSubType>("XNSim::C909::ATA04::Aerodynamics_heartbeat", modelId, std::bind(&Aerodynamics_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_heartbeatPubSubType>("XNSim::C909::ATA04::Aerodynamics_heartbeat", modelId);
}
}
void Aerodynamics_heartbeat_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::Aerodynamics_heartbeat();
}
void Aerodynamics_heartbeat_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void Aerodynamics_heartbeat_Interface::inputDataListener(const XNSim::C909::ATA04::Aerodynamics_heartbeat &input)
{
this->data = input;
}
}

View File

@ -1,40 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class Aerodynamics_heartbeat_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::Aerodynamics_heartbeat;
using DDSPubSubType = XNSim::C909::ATA04::Aerodynamics_heartbeatPubSubType;
static const std::string topic_name;
Aerodynamics_heartbeat_Interface();
virtual ~Aerodynamics_heartbeat_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::Aerodynamics_heartbeat &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->aero_model_heartbeat, data.aero_model_heartbeat());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.aero_model_heartbeat(), model_data->aero_model_heartbeat);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,70 +0,0 @@
#include "Aerodynamics_input.hpp"
const std::string XNSim::C909::ATA04::Aerodynamics_input_Interface::topic_name = "XNSim::C909::ATA04::Aerodynamics_input";
namespace XNSim::C909::ATA04
{
Aerodynamics_input_Interface::Aerodynamics_input_Interface()
{
MAP_DATA_FUNC(l_04_i_aerocomac_alpha_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_alpdot_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_beta_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_press_alt_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_tas_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_mach_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_nx_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_ny_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_nz_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_p_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_q_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_r_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_qbar_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_blcg_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_bscg_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_wlcg_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_ail_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_elv_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_rud_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_stab_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_gear_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_flap_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_slat_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_spl_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_tnet_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_kice_f8);
MAP_DATA_FUNC(l_04_i_aerocomac_alt_agl_f8);
}
Aerodynamics_input_Interface::~Aerodynamics_input_Interface()
{
}
void Aerodynamics_input_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_inputPubSubType>("XNSim::C909::ATA04::Aerodynamics_input", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_inputPubSubType>("XNSim::C909::ATA04::Aerodynamics_input", modelId, std::bind(&Aerodynamics_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_inputPubSubType>("XNSim::C909::ATA04::Aerodynamics_input", modelId, std::bind(&Aerodynamics_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_inputPubSubType>("XNSim::C909::ATA04::Aerodynamics_input", modelId);
}
}
void Aerodynamics_input_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::Aerodynamics_input();
}
void Aerodynamics_input_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void Aerodynamics_input_Interface::inputDataListener(const XNSim::C909::ATA04::Aerodynamics_input &input)
{
this->data = input;
}
}

View File

@ -1,92 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class Aerodynamics_input_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::Aerodynamics_input;
using DDSPubSubType = XNSim::C909::ATA04::Aerodynamics_inputPubSubType;
static const std::string topic_name;
Aerodynamics_input_Interface();
virtual ~Aerodynamics_input_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::Aerodynamics_input &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_i_aerocomac_alpha_f8, data.l_04_i_aerocomac_alpha_f8());
assign_value(model_data->l_04_i_aerocomac_alpdot_f8, data.l_04_i_aerocomac_alpdot_f8());
assign_value(model_data->l_04_i_aerocomac_beta_f8, data.l_04_i_aerocomac_beta_f8());
assign_value(model_data->l_04_i_aerocomac_press_alt_f8, data.l_04_i_aerocomac_press_alt_f8());
assign_value(model_data->l_04_i_aerocomac_tas_f8, data.l_04_i_aerocomac_tas_f8());
assign_value(model_data->l_04_i_aerocomac_mach_f8, data.l_04_i_aerocomac_mach_f8());
assign_value(model_data->l_04_i_aerocomac_nx_f8, data.l_04_i_aerocomac_nx_f8());
assign_value(model_data->l_04_i_aerocomac_ny_f8, data.l_04_i_aerocomac_ny_f8());
assign_value(model_data->l_04_i_aerocomac_nz_f8, data.l_04_i_aerocomac_nz_f8());
assign_value(model_data->l_04_i_aerocomac_p_f8, data.l_04_i_aerocomac_p_f8());
assign_value(model_data->l_04_i_aerocomac_q_f8, data.l_04_i_aerocomac_q_f8());
assign_value(model_data->l_04_i_aerocomac_r_f8, data.l_04_i_aerocomac_r_f8());
assign_value(model_data->l_04_i_aerocomac_qbar_f8, data.l_04_i_aerocomac_qbar_f8());
assign_value(model_data->l_04_i_aerocomac_blcg_f8, data.l_04_i_aerocomac_blcg_f8());
assign_value(model_data->l_04_i_aerocomac_bscg_f8, data.l_04_i_aerocomac_bscg_f8());
assign_value(model_data->l_04_i_aerocomac_wlcg_f8, data.l_04_i_aerocomac_wlcg_f8());
assign_value(model_data->l_04_i_aerocomac_ail_f8, data.l_04_i_aerocomac_ail_f8());
assign_value(model_data->l_04_i_aerocomac_elv_f8, data.l_04_i_aerocomac_elv_f8());
assign_value(model_data->l_04_i_aerocomac_rud_f8, data.l_04_i_aerocomac_rud_f8());
assign_value(model_data->l_04_i_aerocomac_stab_f8, data.l_04_i_aerocomac_stab_f8());
assign_value(model_data->l_04_i_aerocomac_gear_f8, data.l_04_i_aerocomac_gear_f8());
assign_value(model_data->l_04_i_aerocomac_flap_f8, data.l_04_i_aerocomac_flap_f8());
assign_value(model_data->l_04_i_aerocomac_slat_f8, data.l_04_i_aerocomac_slat_f8());
assign_value(model_data->l_04_i_aerocomac_spl_f8, data.l_04_i_aerocomac_spl_f8());
assign_value(model_data->l_04_i_aerocomac_tnet_f8, data.l_04_i_aerocomac_tnet_f8());
assign_value(model_data->l_04_i_aerocomac_kice_f8, data.l_04_i_aerocomac_kice_f8());
assign_value(model_data->l_04_i_aerocomac_alt_agl_f8, data.l_04_i_aerocomac_alt_agl_f8());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_i_aerocomac_alpha_f8(), model_data->l_04_i_aerocomac_alpha_f8);
assign_value(out_data.l_04_i_aerocomac_alpdot_f8(), model_data->l_04_i_aerocomac_alpdot_f8);
assign_value(out_data.l_04_i_aerocomac_beta_f8(), model_data->l_04_i_aerocomac_beta_f8);
assign_value(out_data.l_04_i_aerocomac_press_alt_f8(), model_data->l_04_i_aerocomac_press_alt_f8);
assign_value(out_data.l_04_i_aerocomac_tas_f8(), model_data->l_04_i_aerocomac_tas_f8);
assign_value(out_data.l_04_i_aerocomac_mach_f8(), model_data->l_04_i_aerocomac_mach_f8);
assign_value(out_data.l_04_i_aerocomac_nx_f8(), model_data->l_04_i_aerocomac_nx_f8);
assign_value(out_data.l_04_i_aerocomac_ny_f8(), model_data->l_04_i_aerocomac_ny_f8);
assign_value(out_data.l_04_i_aerocomac_nz_f8(), model_data->l_04_i_aerocomac_nz_f8);
assign_value(out_data.l_04_i_aerocomac_p_f8(), model_data->l_04_i_aerocomac_p_f8);
assign_value(out_data.l_04_i_aerocomac_q_f8(), model_data->l_04_i_aerocomac_q_f8);
assign_value(out_data.l_04_i_aerocomac_r_f8(), model_data->l_04_i_aerocomac_r_f8);
assign_value(out_data.l_04_i_aerocomac_qbar_f8(), model_data->l_04_i_aerocomac_qbar_f8);
assign_value(out_data.l_04_i_aerocomac_blcg_f8(), model_data->l_04_i_aerocomac_blcg_f8);
assign_value(out_data.l_04_i_aerocomac_bscg_f8(), model_data->l_04_i_aerocomac_bscg_f8);
assign_value(out_data.l_04_i_aerocomac_wlcg_f8(), model_data->l_04_i_aerocomac_wlcg_f8);
assign_value(out_data.l_04_i_aerocomac_ail_f8(), model_data->l_04_i_aerocomac_ail_f8);
assign_value(out_data.l_04_i_aerocomac_elv_f8(), model_data->l_04_i_aerocomac_elv_f8);
assign_value(out_data.l_04_i_aerocomac_rud_f8(), model_data->l_04_i_aerocomac_rud_f8);
assign_value(out_data.l_04_i_aerocomac_stab_f8(), model_data->l_04_i_aerocomac_stab_f8);
assign_value(out_data.l_04_i_aerocomac_gear_f8(), model_data->l_04_i_aerocomac_gear_f8);
assign_value(out_data.l_04_i_aerocomac_flap_f8(), model_data->l_04_i_aerocomac_flap_f8);
assign_value(out_data.l_04_i_aerocomac_slat_f8(), model_data->l_04_i_aerocomac_slat_f8);
assign_value(out_data.l_04_i_aerocomac_spl_f8(), model_data->l_04_i_aerocomac_spl_f8);
assign_value(out_data.l_04_i_aerocomac_tnet_f8(), model_data->l_04_i_aerocomac_tnet_f8);
assign_value(out_data.l_04_i_aerocomac_kice_f8(), model_data->l_04_i_aerocomac_kice_f8);
assign_value(out_data.l_04_i_aerocomac_alt_agl_f8(), model_data->l_04_i_aerocomac_alt_agl_f8);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,56 +0,0 @@
#include "Aerodynamics_output.hpp"
const std::string XNSim::C909::ATA04::Aerodynamics_output_Interface::topic_name = "XNSim::C909::ATA04::Aerodynamics_output";
namespace XNSim::C909::ATA04
{
Aerodynamics_output_Interface::Aerodynamics_output_Interface()
{
MAP_DATA_FUNC(l_04_o_aerocomac_fxb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_fyb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_fzb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_mxb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_myb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_mzb_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cls_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cl_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cd_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cm_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cr_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cy_f8);
MAP_DATA_FUNC(l_04_o_aerocomac_cn_f8);
}
Aerodynamics_output_Interface::~Aerodynamics_output_Interface()
{
}
void Aerodynamics_output_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_outputPubSubType>("XNSim::C909::ATA04::Aerodynamics_output", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_outputPubSubType>("XNSim::C909::ATA04::Aerodynamics_output", modelId, std::bind(&Aerodynamics_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::Aerodynamics_outputPubSubType>("XNSim::C909::ATA04::Aerodynamics_output", modelId, std::bind(&Aerodynamics_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::Aerodynamics_outputPubSubType>("XNSim::C909::ATA04::Aerodynamics_output", modelId);
}
}
void Aerodynamics_output_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::Aerodynamics_output();
}
void Aerodynamics_output_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void Aerodynamics_output_Interface::inputDataListener(const XNSim::C909::ATA04::Aerodynamics_output &input)
{
this->data = input;
}
}

View File

@ -1,64 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class Aerodynamics_output_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::Aerodynamics_output;
using DDSPubSubType = XNSim::C909::ATA04::Aerodynamics_outputPubSubType;
static const std::string topic_name;
Aerodynamics_output_Interface();
virtual ~Aerodynamics_output_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::Aerodynamics_output &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_o_aerocomac_fxb_f8, data.l_04_o_aerocomac_fxb_f8());
assign_value(model_data->l_04_o_aerocomac_fyb_f8, data.l_04_o_aerocomac_fyb_f8());
assign_value(model_data->l_04_o_aerocomac_fzb_f8, data.l_04_o_aerocomac_fzb_f8());
assign_value(model_data->l_04_o_aerocomac_mxb_f8, data.l_04_o_aerocomac_mxb_f8());
assign_value(model_data->l_04_o_aerocomac_myb_f8, data.l_04_o_aerocomac_myb_f8());
assign_value(model_data->l_04_o_aerocomac_mzb_f8, data.l_04_o_aerocomac_mzb_f8());
assign_value(model_data->l_04_o_aerocomac_cls_f8, data.l_04_o_aerocomac_cls_f8());
assign_value(model_data->l_04_o_aerocomac_cl_f8, data.l_04_o_aerocomac_cl_f8());
assign_value(model_data->l_04_o_aerocomac_cd_f8, data.l_04_o_aerocomac_cd_f8());
assign_value(model_data->l_04_o_aerocomac_cm_f8, data.l_04_o_aerocomac_cm_f8());
assign_value(model_data->l_04_o_aerocomac_cr_f8, data.l_04_o_aerocomac_cr_f8());
assign_value(model_data->l_04_o_aerocomac_cy_f8, data.l_04_o_aerocomac_cy_f8());
assign_value(model_data->l_04_o_aerocomac_cn_f8, data.l_04_o_aerocomac_cn_f8());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_o_aerocomac_fxb_f8(), model_data->l_04_o_aerocomac_fxb_f8);
assign_value(out_data.l_04_o_aerocomac_fyb_f8(), model_data->l_04_o_aerocomac_fyb_f8);
assign_value(out_data.l_04_o_aerocomac_fzb_f8(), model_data->l_04_o_aerocomac_fzb_f8);
assign_value(out_data.l_04_o_aerocomac_mxb_f8(), model_data->l_04_o_aerocomac_mxb_f8);
assign_value(out_data.l_04_o_aerocomac_myb_f8(), model_data->l_04_o_aerocomac_myb_f8);
assign_value(out_data.l_04_o_aerocomac_mzb_f8(), model_data->l_04_o_aerocomac_mzb_f8);
assign_value(out_data.l_04_o_aerocomac_cls_f8(), model_data->l_04_o_aerocomac_cls_f8);
assign_value(out_data.l_04_o_aerocomac_cl_f8(), model_data->l_04_o_aerocomac_cl_f8);
assign_value(out_data.l_04_o_aerocomac_cd_f8(), model_data->l_04_o_aerocomac_cd_f8);
assign_value(out_data.l_04_o_aerocomac_cm_f8(), model_data->l_04_o_aerocomac_cm_f8);
assign_value(out_data.l_04_o_aerocomac_cr_f8(), model_data->l_04_o_aerocomac_cr_f8);
assign_value(out_data.l_04_o_aerocomac_cy_f8(), model_data->l_04_o_aerocomac_cy_f8);
assign_value(out_data.l_04_o_aerocomac_cn_f8(), model_data->l_04_o_aerocomac_cn_f8);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,22 +0,0 @@
# ATA04
set(ATA04_SOURCES
ATA04/Aerodynamics_input.hpp
ATA04/Aerodynamics_input.cxx
ATA04/GroundHandling_input.hpp
ATA04/GroundHandling_input.cxx
ATA04/GroundHandling_output.hpp
ATA04/GroundHandling_output.cxx
ATA04/Aerodynamics_output.hpp
ATA04/Aerodynamics_output.cxx
ATA04/WeightBalance_input.hpp
ATA04/WeightBalance_input.cxx
ATA04/WeightBalance_output.hpp
ATA04/WeightBalance_output.cxx
ATA04/GroundHandling_heartbeat.hpp
ATA04/GroundHandling_heartbeat.cxx
ATA04/WeightBalance_heartbeat.hpp
ATA04/WeightBalance_heartbeat.cxx
ATA04/Aerodynamics_heartbeat.hpp
ATA04/Aerodynamics_heartbeat.cxx
)
set(ALL_SUBDIR_SOURCES ${ALL_SUBDIR_SOURCES} ${ATA04_SOURCES} PARENT_SCOPE)

View File

@ -1,44 +0,0 @@
#include "GroundHandling_heartbeat.hpp"
const std::string XNSim::C909::ATA04::GroundHandling_heartbeat_Interface::topic_name = "XNSim::C909::ATA04::GroundHandling_heartbeat";
namespace XNSim::C909::ATA04
{
GroundHandling_heartbeat_Interface::GroundHandling_heartbeat_Interface()
{
MAP_DATA_FUNC(groundhandling_model_heartbeat);
}
GroundHandling_heartbeat_Interface::~GroundHandling_heartbeat_Interface()
{
}
void GroundHandling_heartbeat_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_heartbeatPubSubType>("XNSim::C909::ATA04::GroundHandling_heartbeat", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_heartbeatPubSubType>("XNSim::C909::ATA04::GroundHandling_heartbeat", modelId, std::bind(&GroundHandling_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_heartbeatPubSubType>("XNSim::C909::ATA04::GroundHandling_heartbeat", modelId, std::bind(&GroundHandling_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_heartbeatPubSubType>("XNSim::C909::ATA04::GroundHandling_heartbeat", modelId);
}
}
void GroundHandling_heartbeat_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::GroundHandling_heartbeat();
}
void GroundHandling_heartbeat_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void GroundHandling_heartbeat_Interface::inputDataListener(const XNSim::C909::ATA04::GroundHandling_heartbeat &input)
{
this->data = input;
}
}

View File

@ -1,40 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class GroundHandling_heartbeat_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::GroundHandling_heartbeat;
using DDSPubSubType = XNSim::C909::ATA04::GroundHandling_heartbeatPubSubType;
static const std::string topic_name;
GroundHandling_heartbeat_Interface();
virtual ~GroundHandling_heartbeat_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::GroundHandling_heartbeat &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->groundhandling_model_heartbeat, data.groundhandling_model_heartbeat());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.groundhandling_model_heartbeat(), model_data->groundhandling_model_heartbeat);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,82 +0,0 @@
#include "GroundHandling_input.hpp"
const std::string XNSim::C909::ATA04::GroundHandling_input_Interface::topic_name = "XNSim::C909::ATA04::GroundHandling_input";
namespace XNSim::C909::ATA04
{
GroundHandling_input_Interface::GroundHandling_input_Interface()
{
MAP_DATA_FUNC(l_04_i_gdcomac_frz_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_chocks_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_alt_agl_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_frzflt_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_p_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_q_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_r_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_ug_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_vg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_wg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_blcg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_bscg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_wlcg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_pb_active_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_brake_torq_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_gear_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_gsteer_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_tire_pres_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_onjax_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_contdep_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_thetag_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_phig_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_rwyrgh_i2);
MAP_DATA_FUNC(l_04_i_gdcomac_rwyhdg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_reset_braketemp_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_reset_tirepress_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_temp_c_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_brake_temp_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_tire_tburst_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_tire_tflat_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_brk_reset_tpres_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_rcon_ci_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_pb_towforce_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_gsteer_state_i4);
MAP_DATA_FUNC(l_04_i_gdcomac_trim_active_l1);
MAP_DATA_FUNC(l_04_i_gdcomac_phi_deg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_theta_deg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_psi_deg_f8);
MAP_DATA_FUNC(l_04_i_gdcomac_resetint_l1);
}
GroundHandling_input_Interface::~GroundHandling_input_Interface()
{
}
void GroundHandling_input_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_inputPubSubType>("XNSim::C909::ATA04::GroundHandling_input", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_inputPubSubType>("XNSim::C909::ATA04::GroundHandling_input", modelId, std::bind(&GroundHandling_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_inputPubSubType>("XNSim::C909::ATA04::GroundHandling_input", modelId, std::bind(&GroundHandling_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_inputPubSubType>("XNSim::C909::ATA04::GroundHandling_input", modelId);
}
}
void GroundHandling_input_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::GroundHandling_input();
}
void GroundHandling_input_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void GroundHandling_input_Interface::inputDataListener(const XNSim::C909::ATA04::GroundHandling_input &input)
{
this->data = input;
}
}

View File

@ -1,116 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class GroundHandling_input_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::GroundHandling_input;
using DDSPubSubType = XNSim::C909::ATA04::GroundHandling_inputPubSubType;
static const std::string topic_name;
GroundHandling_input_Interface();
virtual ~GroundHandling_input_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::GroundHandling_input &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_i_gdcomac_frz_l1, data.l_04_i_gdcomac_frz_l1());
assign_value(model_data->l_04_i_gdcomac_chocks_l1, data.l_04_i_gdcomac_chocks_l1());
assign_value(model_data->l_04_i_gdcomac_alt_agl_f8, data.l_04_i_gdcomac_alt_agl_f8());
assign_value(model_data->l_04_i_gdcomac_frzflt_l1, data.l_04_i_gdcomac_frzflt_l1());
assign_value(model_data->l_04_i_gdcomac_p_f8, data.l_04_i_gdcomac_p_f8());
assign_value(model_data->l_04_i_gdcomac_q_f8, data.l_04_i_gdcomac_q_f8());
assign_value(model_data->l_04_i_gdcomac_r_f8, data.l_04_i_gdcomac_r_f8());
assign_value(model_data->l_04_i_gdcomac_ug_f8, data.l_04_i_gdcomac_ug_f8());
assign_value(model_data->l_04_i_gdcomac_vg_f8, data.l_04_i_gdcomac_vg_f8());
assign_value(model_data->l_04_i_gdcomac_wg_f8, data.l_04_i_gdcomac_wg_f8());
assign_value(model_data->l_04_i_gdcomac_blcg_f8, data.l_04_i_gdcomac_blcg_f8());
assign_value(model_data->l_04_i_gdcomac_bscg_f8, data.l_04_i_gdcomac_bscg_f8());
assign_value(model_data->l_04_i_gdcomac_wlcg_f8, data.l_04_i_gdcomac_wlcg_f8());
assign_value(model_data->l_04_i_gdcomac_pb_active_l1, data.l_04_i_gdcomac_pb_active_l1());
assign_value(model_data->l_04_i_gdcomac_brake_torq_f8, data.l_04_i_gdcomac_brake_torq_f8());
assign_value(model_data->l_04_i_gdcomac_gear_f8, data.l_04_i_gdcomac_gear_f8());
assign_value(model_data->l_04_i_gdcomac_gsteer_f8, data.l_04_i_gdcomac_gsteer_f8());
assign_value(model_data->l_04_i_gdcomac_tire_pres_f8, data.l_04_i_gdcomac_tire_pres_f8());
assign_value(model_data->l_04_i_gdcomac_onjax_l1, data.l_04_i_gdcomac_onjax_l1());
assign_value(model_data->l_04_i_gdcomac_contdep_f8, data.l_04_i_gdcomac_contdep_f8());
assign_value(model_data->l_04_i_gdcomac_thetag_f8, data.l_04_i_gdcomac_thetag_f8());
assign_value(model_data->l_04_i_gdcomac_phig_f8, data.l_04_i_gdcomac_phig_f8());
assign_value(model_data->l_04_i_gdcomac_rwyrgh_i2, data.l_04_i_gdcomac_rwyrgh_i2());
assign_value(model_data->l_04_i_gdcomac_rwyhdg_f8, data.l_04_i_gdcomac_rwyhdg_f8());
assign_value(model_data->l_04_i_gdcomac_reset_braketemp_l1, data.l_04_i_gdcomac_reset_braketemp_l1());
assign_value(model_data->l_04_i_gdcomac_reset_tirepress_l1, data.l_04_i_gdcomac_reset_tirepress_l1());
assign_value(model_data->l_04_i_gdcomac_temp_c_f8, data.l_04_i_gdcomac_temp_c_f8());
assign_value(model_data->l_04_i_gdcomac_brake_temp_f8, data.l_04_i_gdcomac_brake_temp_f8());
assign_value(model_data->l_04_i_gdcomac_tire_tburst_l1, data.l_04_i_gdcomac_tire_tburst_l1());
assign_value(model_data->l_04_i_gdcomac_tire_tflat_l1, data.l_04_i_gdcomac_tire_tflat_l1());
assign_value(model_data->l_04_i_gdcomac_brk_reset_tpres_l1, data.l_04_i_gdcomac_brk_reset_tpres_l1());
assign_value(model_data->l_04_i_gdcomac_rcon_ci_f8, data.l_04_i_gdcomac_rcon_ci_f8());
assign_value(model_data->l_04_i_gdcomac_pb_towforce_f8, data.l_04_i_gdcomac_pb_towforce_f8());
assign_value(model_data->l_04_i_gdcomac_gsteer_state_i4, data.l_04_i_gdcomac_gsteer_state_i4());
assign_value(model_data->l_04_i_gdcomac_trim_active_l1, data.l_04_i_gdcomac_trim_active_l1());
assign_value(model_data->l_04_i_gdcomac_phi_deg_f8, data.l_04_i_gdcomac_phi_deg_f8());
assign_value(model_data->l_04_i_gdcomac_theta_deg_f8, data.l_04_i_gdcomac_theta_deg_f8());
assign_value(model_data->l_04_i_gdcomac_psi_deg_f8, data.l_04_i_gdcomac_psi_deg_f8());
assign_value(model_data->l_04_i_gdcomac_resetint_l1, data.l_04_i_gdcomac_resetint_l1());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_i_gdcomac_frz_l1(), model_data->l_04_i_gdcomac_frz_l1);
assign_value(out_data.l_04_i_gdcomac_chocks_l1(), model_data->l_04_i_gdcomac_chocks_l1);
assign_value(out_data.l_04_i_gdcomac_alt_agl_f8(), model_data->l_04_i_gdcomac_alt_agl_f8);
assign_value(out_data.l_04_i_gdcomac_frzflt_l1(), model_data->l_04_i_gdcomac_frzflt_l1);
assign_value(out_data.l_04_i_gdcomac_p_f8(), model_data->l_04_i_gdcomac_p_f8);
assign_value(out_data.l_04_i_gdcomac_q_f8(), model_data->l_04_i_gdcomac_q_f8);
assign_value(out_data.l_04_i_gdcomac_r_f8(), model_data->l_04_i_gdcomac_r_f8);
assign_value(out_data.l_04_i_gdcomac_ug_f8(), model_data->l_04_i_gdcomac_ug_f8);
assign_value(out_data.l_04_i_gdcomac_vg_f8(), model_data->l_04_i_gdcomac_vg_f8);
assign_value(out_data.l_04_i_gdcomac_wg_f8(), model_data->l_04_i_gdcomac_wg_f8);
assign_value(out_data.l_04_i_gdcomac_blcg_f8(), model_data->l_04_i_gdcomac_blcg_f8);
assign_value(out_data.l_04_i_gdcomac_bscg_f8(), model_data->l_04_i_gdcomac_bscg_f8);
assign_value(out_data.l_04_i_gdcomac_wlcg_f8(), model_data->l_04_i_gdcomac_wlcg_f8);
assign_value(out_data.l_04_i_gdcomac_pb_active_l1(), model_data->l_04_i_gdcomac_pb_active_l1);
assign_value(out_data.l_04_i_gdcomac_brake_torq_f8(), model_data->l_04_i_gdcomac_brake_torq_f8);
assign_value(out_data.l_04_i_gdcomac_gear_f8(), model_data->l_04_i_gdcomac_gear_f8);
assign_value(out_data.l_04_i_gdcomac_gsteer_f8(), model_data->l_04_i_gdcomac_gsteer_f8);
assign_value(out_data.l_04_i_gdcomac_tire_pres_f8(), model_data->l_04_i_gdcomac_tire_pres_f8);
assign_value(out_data.l_04_i_gdcomac_onjax_l1(), model_data->l_04_i_gdcomac_onjax_l1);
assign_value(out_data.l_04_i_gdcomac_contdep_f8(), model_data->l_04_i_gdcomac_contdep_f8);
assign_value(out_data.l_04_i_gdcomac_thetag_f8(), model_data->l_04_i_gdcomac_thetag_f8);
assign_value(out_data.l_04_i_gdcomac_phig_f8(), model_data->l_04_i_gdcomac_phig_f8);
assign_value(out_data.l_04_i_gdcomac_rwyrgh_i2(), model_data->l_04_i_gdcomac_rwyrgh_i2);
assign_value(out_data.l_04_i_gdcomac_rwyhdg_f8(), model_data->l_04_i_gdcomac_rwyhdg_f8);
assign_value(out_data.l_04_i_gdcomac_reset_braketemp_l1(), model_data->l_04_i_gdcomac_reset_braketemp_l1);
assign_value(out_data.l_04_i_gdcomac_reset_tirepress_l1(), model_data->l_04_i_gdcomac_reset_tirepress_l1);
assign_value(out_data.l_04_i_gdcomac_temp_c_f8(), model_data->l_04_i_gdcomac_temp_c_f8);
assign_value(out_data.l_04_i_gdcomac_brake_temp_f8(), model_data->l_04_i_gdcomac_brake_temp_f8);
assign_value(out_data.l_04_i_gdcomac_tire_tburst_l1(), model_data->l_04_i_gdcomac_tire_tburst_l1);
assign_value(out_data.l_04_i_gdcomac_tire_tflat_l1(), model_data->l_04_i_gdcomac_tire_tflat_l1);
assign_value(out_data.l_04_i_gdcomac_brk_reset_tpres_l1(), model_data->l_04_i_gdcomac_brk_reset_tpres_l1);
assign_value(out_data.l_04_i_gdcomac_rcon_ci_f8(), model_data->l_04_i_gdcomac_rcon_ci_f8);
assign_value(out_data.l_04_i_gdcomac_pb_towforce_f8(), model_data->l_04_i_gdcomac_pb_towforce_f8);
assign_value(out_data.l_04_i_gdcomac_gsteer_state_i4(), model_data->l_04_i_gdcomac_gsteer_state_i4);
assign_value(out_data.l_04_i_gdcomac_trim_active_l1(), model_data->l_04_i_gdcomac_trim_active_l1);
assign_value(out_data.l_04_i_gdcomac_phi_deg_f8(), model_data->l_04_i_gdcomac_phi_deg_f8);
assign_value(out_data.l_04_i_gdcomac_theta_deg_f8(), model_data->l_04_i_gdcomac_theta_deg_f8);
assign_value(out_data.l_04_i_gdcomac_psi_deg_f8(), model_data->l_04_i_gdcomac_psi_deg_f8);
assign_value(out_data.l_04_i_gdcomac_resetint_l1(), model_data->l_04_i_gdcomac_resetint_l1);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,77 +0,0 @@
#include "GroundHandling_output.hpp"
const std::string XNSim::C909::ATA04::GroundHandling_output_Interface::topic_name = "XNSim::C909::ATA04::GroundHandling_output";
namespace XNSim::C909::ATA04
{
GroundHandling_output_Interface::GroundHandling_output_Interface()
{
MAP_DATA_FUNC(l_04_o_gdcomac_frz_l1);
MAP_DATA_FUNC(l_04_o_gdcomac_ac_on_ground_l1);
MAP_DATA_FUNC(l_04_o_gdcomac_ac_stationary_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_alt_tire_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_zcg_to_tire_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_fxb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_fyb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_fzb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_mxb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_myb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_mzb_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_fygs_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_mzgs_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_mu_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_dstroke_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_sr_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_sy_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_sx_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_xft_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_yft_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_zft_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_distngrxcg_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_distmgrxcg_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_distmgrzcg_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_tire_vel_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_tire_burst_l1);
MAP_DATA_FUNC(l_04_o_gdcomac_tire_temp_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_wow_l1);
MAP_DATA_FUNC(l_04_o_gdcomac_utirew_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_vtirew_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_whl_omega_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_dstruc_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_wor_par_f8);
MAP_DATA_FUNC(l_04_o_gdcomac_nd_f8);
}
GroundHandling_output_Interface::~GroundHandling_output_Interface()
{
}
void GroundHandling_output_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_outputPubSubType>("XNSim::C909::ATA04::GroundHandling_output", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_outputPubSubType>("XNSim::C909::ATA04::GroundHandling_output", modelId, std::bind(&GroundHandling_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::GroundHandling_outputPubSubType>("XNSim::C909::ATA04::GroundHandling_output", modelId, std::bind(&GroundHandling_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::GroundHandling_outputPubSubType>("XNSim::C909::ATA04::GroundHandling_output", modelId);
}
}
void GroundHandling_output_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::GroundHandling_output();
}
void GroundHandling_output_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void GroundHandling_output_Interface::inputDataListener(const XNSim::C909::ATA04::GroundHandling_output &input)
{
this->data = input;
}
}

View File

@ -1,106 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class GroundHandling_output_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::GroundHandling_output;
using DDSPubSubType = XNSim::C909::ATA04::GroundHandling_outputPubSubType;
static const std::string topic_name;
GroundHandling_output_Interface();
virtual ~GroundHandling_output_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::GroundHandling_output &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_o_gdcomac_frz_l1, data.l_04_o_gdcomac_frz_l1());
assign_value(model_data->l_04_o_gdcomac_ac_on_ground_l1, data.l_04_o_gdcomac_ac_on_ground_l1());
assign_value(model_data->l_04_o_gdcomac_ac_stationary_f8, data.l_04_o_gdcomac_ac_stationary_f8());
assign_value(model_data->l_04_o_gdcomac_alt_tire_f8, data.l_04_o_gdcomac_alt_tire_f8());
assign_value(model_data->l_04_o_gdcomac_zcg_to_tire_f8, data.l_04_o_gdcomac_zcg_to_tire_f8());
assign_value(model_data->l_04_o_gdcomac_fxb_f8, data.l_04_o_gdcomac_fxb_f8());
assign_value(model_data->l_04_o_gdcomac_fyb_f8, data.l_04_o_gdcomac_fyb_f8());
assign_value(model_data->l_04_o_gdcomac_fzb_f8, data.l_04_o_gdcomac_fzb_f8());
assign_value(model_data->l_04_o_gdcomac_mxb_f8, data.l_04_o_gdcomac_mxb_f8());
assign_value(model_data->l_04_o_gdcomac_myb_f8, data.l_04_o_gdcomac_myb_f8());
assign_value(model_data->l_04_o_gdcomac_mzb_f8, data.l_04_o_gdcomac_mzb_f8());
assign_value(model_data->l_04_o_gdcomac_fygs_f8, data.l_04_o_gdcomac_fygs_f8());
assign_value(model_data->l_04_o_gdcomac_mzgs_f8, data.l_04_o_gdcomac_mzgs_f8());
assign_value(model_data->l_04_o_gdcomac_mu_f8, data.l_04_o_gdcomac_mu_f8());
assign_value(model_data->l_04_o_gdcomac_dstroke_f8, data.l_04_o_gdcomac_dstroke_f8());
assign_value(model_data->l_04_o_gdcomac_sr_f8, data.l_04_o_gdcomac_sr_f8());
assign_value(model_data->l_04_o_gdcomac_sy_f8, data.l_04_o_gdcomac_sy_f8());
assign_value(model_data->l_04_o_gdcomac_sx_f8, data.l_04_o_gdcomac_sx_f8());
assign_value(model_data->l_04_o_gdcomac_xft_f8, data.l_04_o_gdcomac_xft_f8());
assign_value(model_data->l_04_o_gdcomac_yft_f8, data.l_04_o_gdcomac_yft_f8());
assign_value(model_data->l_04_o_gdcomac_zft_f8, data.l_04_o_gdcomac_zft_f8());
assign_value(model_data->l_04_o_gdcomac_distngrxcg_f8, data.l_04_o_gdcomac_distngrxcg_f8());
assign_value(model_data->l_04_o_gdcomac_distmgrxcg_f8, data.l_04_o_gdcomac_distmgrxcg_f8());
assign_value(model_data->l_04_o_gdcomac_distmgrzcg_f8, data.l_04_o_gdcomac_distmgrzcg_f8());
assign_value(model_data->l_04_o_gdcomac_tire_vel_f8, data.l_04_o_gdcomac_tire_vel_f8());
assign_value(model_data->l_04_o_gdcomac_tire_burst_l1, data.l_04_o_gdcomac_tire_burst_l1());
assign_value(model_data->l_04_o_gdcomac_tire_temp_f8, data.l_04_o_gdcomac_tire_temp_f8());
assign_value(model_data->l_04_o_gdcomac_wow_l1, data.l_04_o_gdcomac_wow_l1());
assign_value(model_data->l_04_o_gdcomac_utirew_f8, data.l_04_o_gdcomac_utirew_f8());
assign_value(model_data->l_04_o_gdcomac_vtirew_f8, data.l_04_o_gdcomac_vtirew_f8());
assign_value(model_data->l_04_o_gdcomac_whl_omega_f8, data.l_04_o_gdcomac_whl_omega_f8());
assign_value(model_data->l_04_o_gdcomac_dstruc_f8, data.l_04_o_gdcomac_dstruc_f8());
assign_value(model_data->l_04_o_gdcomac_wor_par_f8, data.l_04_o_gdcomac_wor_par_f8());
assign_value(model_data->l_04_o_gdcomac_nd_f8, data.l_04_o_gdcomac_nd_f8());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_o_gdcomac_frz_l1(), model_data->l_04_o_gdcomac_frz_l1);
assign_value(out_data.l_04_o_gdcomac_ac_on_ground_l1(), model_data->l_04_o_gdcomac_ac_on_ground_l1);
assign_value(out_data.l_04_o_gdcomac_ac_stationary_f8(), model_data->l_04_o_gdcomac_ac_stationary_f8);
assign_value(out_data.l_04_o_gdcomac_alt_tire_f8(), model_data->l_04_o_gdcomac_alt_tire_f8);
assign_value(out_data.l_04_o_gdcomac_zcg_to_tire_f8(), model_data->l_04_o_gdcomac_zcg_to_tire_f8);
assign_value(out_data.l_04_o_gdcomac_fxb_f8(), model_data->l_04_o_gdcomac_fxb_f8);
assign_value(out_data.l_04_o_gdcomac_fyb_f8(), model_data->l_04_o_gdcomac_fyb_f8);
assign_value(out_data.l_04_o_gdcomac_fzb_f8(), model_data->l_04_o_gdcomac_fzb_f8);
assign_value(out_data.l_04_o_gdcomac_mxb_f8(), model_data->l_04_o_gdcomac_mxb_f8);
assign_value(out_data.l_04_o_gdcomac_myb_f8(), model_data->l_04_o_gdcomac_myb_f8);
assign_value(out_data.l_04_o_gdcomac_mzb_f8(), model_data->l_04_o_gdcomac_mzb_f8);
assign_value(out_data.l_04_o_gdcomac_fygs_f8(), model_data->l_04_o_gdcomac_fygs_f8);
assign_value(out_data.l_04_o_gdcomac_mzgs_f8(), model_data->l_04_o_gdcomac_mzgs_f8);
assign_value(out_data.l_04_o_gdcomac_mu_f8(), model_data->l_04_o_gdcomac_mu_f8);
assign_value(out_data.l_04_o_gdcomac_dstroke_f8(), model_data->l_04_o_gdcomac_dstroke_f8);
assign_value(out_data.l_04_o_gdcomac_sr_f8(), model_data->l_04_o_gdcomac_sr_f8);
assign_value(out_data.l_04_o_gdcomac_sy_f8(), model_data->l_04_o_gdcomac_sy_f8);
assign_value(out_data.l_04_o_gdcomac_sx_f8(), model_data->l_04_o_gdcomac_sx_f8);
assign_value(out_data.l_04_o_gdcomac_xft_f8(), model_data->l_04_o_gdcomac_xft_f8);
assign_value(out_data.l_04_o_gdcomac_yft_f8(), model_data->l_04_o_gdcomac_yft_f8);
assign_value(out_data.l_04_o_gdcomac_zft_f8(), model_data->l_04_o_gdcomac_zft_f8);
assign_value(out_data.l_04_o_gdcomac_distngrxcg_f8(), model_data->l_04_o_gdcomac_distngrxcg_f8);
assign_value(out_data.l_04_o_gdcomac_distmgrxcg_f8(), model_data->l_04_o_gdcomac_distmgrxcg_f8);
assign_value(out_data.l_04_o_gdcomac_distmgrzcg_f8(), model_data->l_04_o_gdcomac_distmgrzcg_f8);
assign_value(out_data.l_04_o_gdcomac_tire_vel_f8(), model_data->l_04_o_gdcomac_tire_vel_f8);
assign_value(out_data.l_04_o_gdcomac_tire_burst_l1(), model_data->l_04_o_gdcomac_tire_burst_l1);
assign_value(out_data.l_04_o_gdcomac_tire_temp_f8(), model_data->l_04_o_gdcomac_tire_temp_f8);
assign_value(out_data.l_04_o_gdcomac_wow_l1(), model_data->l_04_o_gdcomac_wow_l1);
assign_value(out_data.l_04_o_gdcomac_utirew_f8(), model_data->l_04_o_gdcomac_utirew_f8);
assign_value(out_data.l_04_o_gdcomac_vtirew_f8(), model_data->l_04_o_gdcomac_vtirew_f8);
assign_value(out_data.l_04_o_gdcomac_whl_omega_f8(), model_data->l_04_o_gdcomac_whl_omega_f8);
assign_value(out_data.l_04_o_gdcomac_dstruc_f8(), model_data->l_04_o_gdcomac_dstruc_f8);
assign_value(out_data.l_04_o_gdcomac_wor_par_f8(), model_data->l_04_o_gdcomac_wor_par_f8);
assign_value(out_data.l_04_o_gdcomac_nd_f8(), model_data->l_04_o_gdcomac_nd_f8);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,44 +0,0 @@
#include "WeightBalance_heartbeat.hpp"
const std::string XNSim::C909::ATA04::WeightBalance_heartbeat_Interface::topic_name = "XNSim::C909::ATA04::WeightBalance_heartbeat";
namespace XNSim::C909::ATA04
{
WeightBalance_heartbeat_Interface::WeightBalance_heartbeat_Interface()
{
MAP_DATA_FUNC(weightbody_model_heartbeat);
}
WeightBalance_heartbeat_Interface::~WeightBalance_heartbeat_Interface()
{
}
void WeightBalance_heartbeat_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_heartbeatPubSubType>("XNSim::C909::ATA04::WeightBalance_heartbeat", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_heartbeatPubSubType>("XNSim::C909::ATA04::WeightBalance_heartbeat", modelId, std::bind(&WeightBalance_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_heartbeatPubSubType>("XNSim::C909::ATA04::WeightBalance_heartbeat", modelId, std::bind(&WeightBalance_heartbeat_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_heartbeatPubSubType>("XNSim::C909::ATA04::WeightBalance_heartbeat", modelId);
}
}
void WeightBalance_heartbeat_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::WeightBalance_heartbeat();
}
void WeightBalance_heartbeat_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void WeightBalance_heartbeat_Interface::inputDataListener(const XNSim::C909::ATA04::WeightBalance_heartbeat &input)
{
this->data = input;
}
}

View File

@ -1,40 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class WeightBalance_heartbeat_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::WeightBalance_heartbeat;
using DDSPubSubType = XNSim::C909::ATA04::WeightBalance_heartbeatPubSubType;
static const std::string topic_name;
WeightBalance_heartbeat_Interface();
virtual ~WeightBalance_heartbeat_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::WeightBalance_heartbeat &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->weightbody_model_heartbeat, data.weightbody_model_heartbeat());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.weightbody_model_heartbeat(), model_data->weightbody_model_heartbeat);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,66 +0,0 @@
#include "WeightBalance_input.hpp"
const std::string XNSim::C909::ATA04::WeightBalance_input_Interface::topic_name = "XNSim::C909::ATA04::WeightBalance_input";
namespace XNSim::C909::ATA04
{
WeightBalance_input_Interface::WeightBalance_input_Interface()
{
MAP_DATA_FUNC(l_04_i_wbcomac_theta_deg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_gear_mode_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_gw_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_cg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_tankfuel_f4);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_totfuel_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_zfw_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_acset_zfwcg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_eng_efsep_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_fuel_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_gear_avg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_kice_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_bycglim_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_bygwlim_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_frz_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_zcgfrz_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_zcgfrz_grfx_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_ycgfrz_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_inertfrz_l1);
MAP_DATA_FUNC(l_04_i_wbcomac_potreq_gw_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_potreq_gwcg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_phi_deg_f8);
MAP_DATA_FUNC(l_04_i_wbcomac_psi_deg_f8);
}
WeightBalance_input_Interface::~WeightBalance_input_Interface()
{
}
void WeightBalance_input_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_inputPubSubType>("XNSim::C909::ATA04::WeightBalance_input", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_inputPubSubType>("XNSim::C909::ATA04::WeightBalance_input", modelId, std::bind(&WeightBalance_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_inputPubSubType>("XNSim::C909::ATA04::WeightBalance_input", modelId, std::bind(&WeightBalance_input_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_inputPubSubType>("XNSim::C909::ATA04::WeightBalance_input", modelId);
}
}
void WeightBalance_input_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::WeightBalance_input();
}
void WeightBalance_input_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void WeightBalance_input_Interface::inputDataListener(const XNSim::C909::ATA04::WeightBalance_input &input)
{
this->data = input;
}
}

View File

@ -1,84 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class WeightBalance_input_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::WeightBalance_input;
using DDSPubSubType = XNSim::C909::ATA04::WeightBalance_inputPubSubType;
static const std::string topic_name;
WeightBalance_input_Interface();
virtual ~WeightBalance_input_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::WeightBalance_input &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_i_wbcomac_theta_deg_f8, data.l_04_i_wbcomac_theta_deg_f8());
assign_value(model_data->l_04_i_wbcomac_gear_mode_l1, data.l_04_i_wbcomac_gear_mode_l1());
assign_value(model_data->l_04_i_wbcomac_acset_gw_f8, data.l_04_i_wbcomac_acset_gw_f8());
assign_value(model_data->l_04_i_wbcomac_acset_cg_f8, data.l_04_i_wbcomac_acset_cg_f8());
assign_value(model_data->l_04_i_wbcomac_acset_tankfuel_f4, data.l_04_i_wbcomac_acset_tankfuel_f4());
assign_value(model_data->l_04_i_wbcomac_acset_totfuel_f8, data.l_04_i_wbcomac_acset_totfuel_f8());
assign_value(model_data->l_04_i_wbcomac_acset_zfw_f8, data.l_04_i_wbcomac_acset_zfw_f8());
assign_value(model_data->l_04_i_wbcomac_acset_zfwcg_f8, data.l_04_i_wbcomac_acset_zfwcg_f8());
assign_value(model_data->l_04_i_wbcomac_eng_efsep_l1, data.l_04_i_wbcomac_eng_efsep_l1());
assign_value(model_data->l_04_i_wbcomac_fuel_f8, data.l_04_i_wbcomac_fuel_f8());
assign_value(model_data->l_04_i_wbcomac_gear_avg_f8, data.l_04_i_wbcomac_gear_avg_f8());
assign_value(model_data->l_04_i_wbcomac_kice_f8, data.l_04_i_wbcomac_kice_f8());
assign_value(model_data->l_04_i_wbcomac_bycglim_l1, data.l_04_i_wbcomac_bycglim_l1());
assign_value(model_data->l_04_i_wbcomac_bygwlim_l1, data.l_04_i_wbcomac_bygwlim_l1());
assign_value(model_data->l_04_i_wbcomac_frz_l1, data.l_04_i_wbcomac_frz_l1());
assign_value(model_data->l_04_i_wbcomac_zcgfrz_l1, data.l_04_i_wbcomac_zcgfrz_l1());
assign_value(model_data->l_04_i_wbcomac_zcgfrz_grfx_l1, data.l_04_i_wbcomac_zcgfrz_grfx_l1());
assign_value(model_data->l_04_i_wbcomac_ycgfrz_l1, data.l_04_i_wbcomac_ycgfrz_l1());
assign_value(model_data->l_04_i_wbcomac_inertfrz_l1, data.l_04_i_wbcomac_inertfrz_l1());
assign_value(model_data->l_04_i_wbcomac_potreq_gw_f8, data.l_04_i_wbcomac_potreq_gw_f8());
assign_value(model_data->l_04_i_wbcomac_potreq_gwcg_f8, data.l_04_i_wbcomac_potreq_gwcg_f8());
assign_value(model_data->l_04_i_wbcomac_phi_deg_f8, data.l_04_i_wbcomac_phi_deg_f8());
assign_value(model_data->l_04_i_wbcomac_psi_deg_f8, data.l_04_i_wbcomac_psi_deg_f8());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_i_wbcomac_theta_deg_f8(), model_data->l_04_i_wbcomac_theta_deg_f8);
assign_value(out_data.l_04_i_wbcomac_gear_mode_l1(), model_data->l_04_i_wbcomac_gear_mode_l1);
assign_value(out_data.l_04_i_wbcomac_acset_gw_f8(), model_data->l_04_i_wbcomac_acset_gw_f8);
assign_value(out_data.l_04_i_wbcomac_acset_cg_f8(), model_data->l_04_i_wbcomac_acset_cg_f8);
assign_value(out_data.l_04_i_wbcomac_acset_tankfuel_f4(), model_data->l_04_i_wbcomac_acset_tankfuel_f4);
assign_value(out_data.l_04_i_wbcomac_acset_totfuel_f8(), model_data->l_04_i_wbcomac_acset_totfuel_f8);
assign_value(out_data.l_04_i_wbcomac_acset_zfw_f8(), model_data->l_04_i_wbcomac_acset_zfw_f8);
assign_value(out_data.l_04_i_wbcomac_acset_zfwcg_f8(), model_data->l_04_i_wbcomac_acset_zfwcg_f8);
assign_value(out_data.l_04_i_wbcomac_eng_efsep_l1(), model_data->l_04_i_wbcomac_eng_efsep_l1);
assign_value(out_data.l_04_i_wbcomac_fuel_f8(), model_data->l_04_i_wbcomac_fuel_f8);
assign_value(out_data.l_04_i_wbcomac_gear_avg_f8(), model_data->l_04_i_wbcomac_gear_avg_f8);
assign_value(out_data.l_04_i_wbcomac_kice_f8(), model_data->l_04_i_wbcomac_kice_f8);
assign_value(out_data.l_04_i_wbcomac_bycglim_l1(), model_data->l_04_i_wbcomac_bycglim_l1);
assign_value(out_data.l_04_i_wbcomac_bygwlim_l1(), model_data->l_04_i_wbcomac_bygwlim_l1);
assign_value(out_data.l_04_i_wbcomac_frz_l1(), model_data->l_04_i_wbcomac_frz_l1);
assign_value(out_data.l_04_i_wbcomac_zcgfrz_l1(), model_data->l_04_i_wbcomac_zcgfrz_l1);
assign_value(out_data.l_04_i_wbcomac_zcgfrz_grfx_l1(), model_data->l_04_i_wbcomac_zcgfrz_grfx_l1);
assign_value(out_data.l_04_i_wbcomac_ycgfrz_l1(), model_data->l_04_i_wbcomac_ycgfrz_l1);
assign_value(out_data.l_04_i_wbcomac_inertfrz_l1(), model_data->l_04_i_wbcomac_inertfrz_l1);
assign_value(out_data.l_04_i_wbcomac_potreq_gw_f8(), model_data->l_04_i_wbcomac_potreq_gw_f8);
assign_value(out_data.l_04_i_wbcomac_potreq_gwcg_f8(), model_data->l_04_i_wbcomac_potreq_gwcg_f8);
assign_value(out_data.l_04_i_wbcomac_phi_deg_f8(), model_data->l_04_i_wbcomac_phi_deg_f8);
assign_value(out_data.l_04_i_wbcomac_psi_deg_f8(), model_data->l_04_i_wbcomac_psi_deg_f8);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,99 +0,0 @@
#include "WeightBalance_output.hpp"
const std::string XNSim::C909::ATA04::WeightBalance_output_Interface::topic_name = "XNSim::C909::ATA04::WeightBalance_output";
namespace XNSim::C909::ATA04
{
WeightBalance_output_Interface::WeightBalance_output_Interface()
{
MAP_DATA_FUNC(l_04_o_wbcomac_frz_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_zcgfrz_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_zcgfrz_grfx_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_ycgfrz_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_inertfrz_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_gw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_cg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_blcg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_bscg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_wlcg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_xcg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ixx_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ixy_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ixz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_iyy_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_iyz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_izz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_zfw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_zfwcg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_zfw_blcg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_zfw_wlcg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_cmd_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_mode_i4);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_ixx_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_ixy_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_ixz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_iyy_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_iyz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_fuel_izz_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_l_wt_fuel_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_airframe_total_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_eng_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_eng_total_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_fuselage_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_stab_left_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_stab_right_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_stab_total_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_total_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_total_frac_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_vert_tail_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_wing_left_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_wing_right_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_ice_wing_total_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_init_l1);
MAP_DATA_FUNC(l_04_o_wbcomac_potmin_gw_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_potmax_gw_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_potmin_gwcg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_potmax_gwcg_f8);
MAP_DATA_FUNC(l_04_o_wbcomac_min_cg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_min_gw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_min_zfw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_min_zfwcg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_max_cg_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_max_gw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_max_zfw_f4);
MAP_DATA_FUNC(l_04_o_wbcomac_max_zfwcg_f4);
}
WeightBalance_output_Interface::~WeightBalance_output_Interface()
{
}
void WeightBalance_output_Interface::Initialize(XNFrameworkPtr framework, uint32_t modelId,uint32_t DDS_type)
{
auto ddsManager = framework->GetDDSManager();
if (!ddsManager) {
LOG_ERROR("DDSManager is nullptr");
return;
}
if (DDS_type == 0) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_outputPubSubType>("XNSim::C909::ATA04::WeightBalance_output", modelId);
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_outputPubSubType>("XNSim::C909::ATA04::WeightBalance_output", modelId, std::bind(&WeightBalance_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 1) {
ddsManager->RegisterSubscriber<XNSim::C909::ATA04::WeightBalance_outputPubSubType>("XNSim::C909::ATA04::WeightBalance_output", modelId, std::bind(&WeightBalance_output_Interface::inputDataListener, this, std::placeholders::_1));
}
else if (DDS_type == 2) {
dataWriter = ddsManager->RegisterPublisher<XNSim::C909::ATA04::WeightBalance_outputPubSubType>("XNSim::C909::ATA04::WeightBalance_output", modelId);
}
}
void WeightBalance_output_Interface::clearOutData()
{
this->out_data = XNSim::C909::ATA04::WeightBalance_output();
}
void WeightBalance_output_Interface::sendOutData()
{
if (dataWriter) {
dataWriter->write(&this->out_data);
}
}
void WeightBalance_output_Interface::inputDataListener(const XNSim::C909::ATA04::WeightBalance_output &input)
{
this->data = input;
}
}

View File

@ -1,150 +0,0 @@
#pragma once
#include "../C909_V1PubSubTypes.hpp"
#include "XNCore/XNDDSInterface.h"
namespace XNSim::C909::ATA04
{
class WeightBalance_output_Interface : public XNDDSInterface
{
public:
using DDSType = XNSim::C909::ATA04::WeightBalance_output;
using DDSPubSubType = XNSim::C909::ATA04::WeightBalance_outputPubSubType;
static const std::string topic_name;
WeightBalance_output_Interface();
virtual ~WeightBalance_output_Interface();
virtual void Initialize(XNFrameworkPtr framework, uint32_t modelId, uint32_t DDS_type) override;
virtual void clearOutData() override;
virtual void sendOutData() override;
void inputDataListener(const XNSim::C909::ATA04::WeightBalance_output &input);
template <typename T>
void getData(T *model_data)
{
std::lock_guard<std::mutex> lock(dataMutex);
if(model_data == nullptr)
return;
assign_value(model_data->l_04_o_wbcomac_frz_l1, data.l_04_o_wbcomac_frz_l1());
assign_value(model_data->l_04_o_wbcomac_zcgfrz_l1, data.l_04_o_wbcomac_zcgfrz_l1());
assign_value(model_data->l_04_o_wbcomac_zcgfrz_grfx_l1, data.l_04_o_wbcomac_zcgfrz_grfx_l1());
assign_value(model_data->l_04_o_wbcomac_ycgfrz_l1, data.l_04_o_wbcomac_ycgfrz_l1());
assign_value(model_data->l_04_o_wbcomac_inertfrz_l1, data.l_04_o_wbcomac_inertfrz_l1());
assign_value(model_data->l_04_o_wbcomac_gw_f4, data.l_04_o_wbcomac_gw_f4());
assign_value(model_data->l_04_o_wbcomac_cg_f4, data.l_04_o_wbcomac_cg_f4());
assign_value(model_data->l_04_o_wbcomac_blcg_f8, data.l_04_o_wbcomac_blcg_f8());
assign_value(model_data->l_04_o_wbcomac_bscg_f8, data.l_04_o_wbcomac_bscg_f8());
assign_value(model_data->l_04_o_wbcomac_wlcg_f8, data.l_04_o_wbcomac_wlcg_f8());
assign_value(model_data->l_04_o_wbcomac_xcg_f8, data.l_04_o_wbcomac_xcg_f8());
assign_value(model_data->l_04_o_wbcomac_ixx_f8, data.l_04_o_wbcomac_ixx_f8());
assign_value(model_data->l_04_o_wbcomac_ixy_f8, data.l_04_o_wbcomac_ixy_f8());
assign_value(model_data->l_04_o_wbcomac_ixz_f8, data.l_04_o_wbcomac_ixz_f8());
assign_value(model_data->l_04_o_wbcomac_iyy_f8, data.l_04_o_wbcomac_iyy_f8());
assign_value(model_data->l_04_o_wbcomac_iyz_f8, data.l_04_o_wbcomac_iyz_f8());
assign_value(model_data->l_04_o_wbcomac_izz_f8, data.l_04_o_wbcomac_izz_f8());
assign_value(model_data->l_04_o_wbcomac_zfw_f4, data.l_04_o_wbcomac_zfw_f4());
assign_value(model_data->l_04_o_wbcomac_zfwcg_f4, data.l_04_o_wbcomac_zfwcg_f4());
assign_value(model_data->l_04_o_wbcomac_zfw_blcg_f4, data.l_04_o_wbcomac_zfw_blcg_f4());
assign_value(model_data->l_04_o_wbcomac_zfw_wlcg_f4, data.l_04_o_wbcomac_zfw_wlcg_f4());
assign_value(model_data->l_04_o_wbcomac_fuel_cmd_f8, data.l_04_o_wbcomac_fuel_cmd_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_mode_i4, data.l_04_o_wbcomac_fuel_mode_i4());
assign_value(model_data->l_04_o_wbcomac_fuel_ixx_f8, data.l_04_o_wbcomac_fuel_ixx_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_ixy_f8, data.l_04_o_wbcomac_fuel_ixy_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_ixz_f8, data.l_04_o_wbcomac_fuel_ixz_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_iyy_f8, data.l_04_o_wbcomac_fuel_iyy_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_iyz_f8, data.l_04_o_wbcomac_fuel_iyz_f8());
assign_value(model_data->l_04_o_wbcomac_fuel_izz_f8, data.l_04_o_wbcomac_fuel_izz_f8());
assign_value(model_data->l_04_o_wbcomac_l_wt_fuel_f8, data.l_04_o_wbcomac_l_wt_fuel_f8());
assign_value(model_data->l_04_o_wbcomac_ice_airframe_total_f8, data.l_04_o_wbcomac_ice_airframe_total_f8());
assign_value(model_data->l_04_o_wbcomac_ice_eng_f8, data.l_04_o_wbcomac_ice_eng_f8());
assign_value(model_data->l_04_o_wbcomac_ice_eng_total_f8, data.l_04_o_wbcomac_ice_eng_total_f8());
assign_value(model_data->l_04_o_wbcomac_ice_fuselage_f8, data.l_04_o_wbcomac_ice_fuselage_f8());
assign_value(model_data->l_04_o_wbcomac_ice_stab_left_f8, data.l_04_o_wbcomac_ice_stab_left_f8());
assign_value(model_data->l_04_o_wbcomac_ice_stab_right_f8, data.l_04_o_wbcomac_ice_stab_right_f8());
assign_value(model_data->l_04_o_wbcomac_ice_stab_total_f8, data.l_04_o_wbcomac_ice_stab_total_f8());
assign_value(model_data->l_04_o_wbcomac_ice_total_f8, data.l_04_o_wbcomac_ice_total_f8());
assign_value(model_data->l_04_o_wbcomac_ice_total_frac_f8, data.l_04_o_wbcomac_ice_total_frac_f8());
assign_value(model_data->l_04_o_wbcomac_ice_vert_tail_f8, data.l_04_o_wbcomac_ice_vert_tail_f8());
assign_value(model_data->l_04_o_wbcomac_ice_wing_left_f8, data.l_04_o_wbcomac_ice_wing_left_f8());
assign_value(model_data->l_04_o_wbcomac_ice_wing_right_f8, data.l_04_o_wbcomac_ice_wing_right_f8());
assign_value(model_data->l_04_o_wbcomac_ice_wing_total_f8, data.l_04_o_wbcomac_ice_wing_total_f8());
assign_value(model_data->l_04_o_wbcomac_init_l1, data.l_04_o_wbcomac_init_l1());
assign_value(model_data->l_04_o_wbcomac_potmin_gw_f8, data.l_04_o_wbcomac_potmin_gw_f8());
assign_value(model_data->l_04_o_wbcomac_potmax_gw_f8, data.l_04_o_wbcomac_potmax_gw_f8());
assign_value(model_data->l_04_o_wbcomac_potmin_gwcg_f8, data.l_04_o_wbcomac_potmin_gwcg_f8());
assign_value(model_data->l_04_o_wbcomac_potmax_gwcg_f8, data.l_04_o_wbcomac_potmax_gwcg_f8());
assign_value(model_data->l_04_o_wbcomac_min_cg_f4, data.l_04_o_wbcomac_min_cg_f4());
assign_value(model_data->l_04_o_wbcomac_min_gw_f4, data.l_04_o_wbcomac_min_gw_f4());
assign_value(model_data->l_04_o_wbcomac_min_zfw_f4, data.l_04_o_wbcomac_min_zfw_f4());
assign_value(model_data->l_04_o_wbcomac_min_zfwcg_f4, data.l_04_o_wbcomac_min_zfwcg_f4());
assign_value(model_data->l_04_o_wbcomac_max_cg_f4, data.l_04_o_wbcomac_max_cg_f4());
assign_value(model_data->l_04_o_wbcomac_max_gw_f4, data.l_04_o_wbcomac_max_gw_f4());
assign_value(model_data->l_04_o_wbcomac_max_zfw_f4, data.l_04_o_wbcomac_max_zfw_f4());
assign_value(model_data->l_04_o_wbcomac_max_zfwcg_f4, data.l_04_o_wbcomac_max_zfwcg_f4());
}
template <typename T>
void setData(T *model_data)
{
if(model_data == nullptr)
return;
std::lock_guard<std::mutex> lock(outDataMutex);
clearOutData();
assign_value(out_data.l_04_o_wbcomac_frz_l1(), model_data->l_04_o_wbcomac_frz_l1);
assign_value(out_data.l_04_o_wbcomac_zcgfrz_l1(), model_data->l_04_o_wbcomac_zcgfrz_l1);
assign_value(out_data.l_04_o_wbcomac_zcgfrz_grfx_l1(), model_data->l_04_o_wbcomac_zcgfrz_grfx_l1);
assign_value(out_data.l_04_o_wbcomac_ycgfrz_l1(), model_data->l_04_o_wbcomac_ycgfrz_l1);
assign_value(out_data.l_04_o_wbcomac_inertfrz_l1(), model_data->l_04_o_wbcomac_inertfrz_l1);
assign_value(out_data.l_04_o_wbcomac_gw_f4(), model_data->l_04_o_wbcomac_gw_f4);
assign_value(out_data.l_04_o_wbcomac_cg_f4(), model_data->l_04_o_wbcomac_cg_f4);
assign_value(out_data.l_04_o_wbcomac_blcg_f8(), model_data->l_04_o_wbcomac_blcg_f8);
assign_value(out_data.l_04_o_wbcomac_bscg_f8(), model_data->l_04_o_wbcomac_bscg_f8);
assign_value(out_data.l_04_o_wbcomac_wlcg_f8(), model_data->l_04_o_wbcomac_wlcg_f8);
assign_value(out_data.l_04_o_wbcomac_xcg_f8(), model_data->l_04_o_wbcomac_xcg_f8);
assign_value(out_data.l_04_o_wbcomac_ixx_f8(), model_data->l_04_o_wbcomac_ixx_f8);
assign_value(out_data.l_04_o_wbcomac_ixy_f8(), model_data->l_04_o_wbcomac_ixy_f8);
assign_value(out_data.l_04_o_wbcomac_ixz_f8(), model_data->l_04_o_wbcomac_ixz_f8);
assign_value(out_data.l_04_o_wbcomac_iyy_f8(), model_data->l_04_o_wbcomac_iyy_f8);
assign_value(out_data.l_04_o_wbcomac_iyz_f8(), model_data->l_04_o_wbcomac_iyz_f8);
assign_value(out_data.l_04_o_wbcomac_izz_f8(), model_data->l_04_o_wbcomac_izz_f8);
assign_value(out_data.l_04_o_wbcomac_zfw_f4(), model_data->l_04_o_wbcomac_zfw_f4);
assign_value(out_data.l_04_o_wbcomac_zfwcg_f4(), model_data->l_04_o_wbcomac_zfwcg_f4);
assign_value(out_data.l_04_o_wbcomac_zfw_blcg_f4(), model_data->l_04_o_wbcomac_zfw_blcg_f4);
assign_value(out_data.l_04_o_wbcomac_zfw_wlcg_f4(), model_data->l_04_o_wbcomac_zfw_wlcg_f4);
assign_value(out_data.l_04_o_wbcomac_fuel_cmd_f8(), model_data->l_04_o_wbcomac_fuel_cmd_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_mode_i4(), model_data->l_04_o_wbcomac_fuel_mode_i4);
assign_value(out_data.l_04_o_wbcomac_fuel_ixx_f8(), model_data->l_04_o_wbcomac_fuel_ixx_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_ixy_f8(), model_data->l_04_o_wbcomac_fuel_ixy_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_ixz_f8(), model_data->l_04_o_wbcomac_fuel_ixz_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_iyy_f8(), model_data->l_04_o_wbcomac_fuel_iyy_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_iyz_f8(), model_data->l_04_o_wbcomac_fuel_iyz_f8);
assign_value(out_data.l_04_o_wbcomac_fuel_izz_f8(), model_data->l_04_o_wbcomac_fuel_izz_f8);
assign_value(out_data.l_04_o_wbcomac_l_wt_fuel_f8(), model_data->l_04_o_wbcomac_l_wt_fuel_f8);
assign_value(out_data.l_04_o_wbcomac_ice_airframe_total_f8(), model_data->l_04_o_wbcomac_ice_airframe_total_f8);
assign_value(out_data.l_04_o_wbcomac_ice_eng_f8(), model_data->l_04_o_wbcomac_ice_eng_f8);
assign_value(out_data.l_04_o_wbcomac_ice_eng_total_f8(), model_data->l_04_o_wbcomac_ice_eng_total_f8);
assign_value(out_data.l_04_o_wbcomac_ice_fuselage_f8(), model_data->l_04_o_wbcomac_ice_fuselage_f8);
assign_value(out_data.l_04_o_wbcomac_ice_stab_left_f8(), model_data->l_04_o_wbcomac_ice_stab_left_f8);
assign_value(out_data.l_04_o_wbcomac_ice_stab_right_f8(), model_data->l_04_o_wbcomac_ice_stab_right_f8);
assign_value(out_data.l_04_o_wbcomac_ice_stab_total_f8(), model_data->l_04_o_wbcomac_ice_stab_total_f8);
assign_value(out_data.l_04_o_wbcomac_ice_total_f8(), model_data->l_04_o_wbcomac_ice_total_f8);
assign_value(out_data.l_04_o_wbcomac_ice_total_frac_f8(), model_data->l_04_o_wbcomac_ice_total_frac_f8);
assign_value(out_data.l_04_o_wbcomac_ice_vert_tail_f8(), model_data->l_04_o_wbcomac_ice_vert_tail_f8);
assign_value(out_data.l_04_o_wbcomac_ice_wing_left_f8(), model_data->l_04_o_wbcomac_ice_wing_left_f8);
assign_value(out_data.l_04_o_wbcomac_ice_wing_right_f8(), model_data->l_04_o_wbcomac_ice_wing_right_f8);
assign_value(out_data.l_04_o_wbcomac_ice_wing_total_f8(), model_data->l_04_o_wbcomac_ice_wing_total_f8);
assign_value(out_data.l_04_o_wbcomac_init_l1(), model_data->l_04_o_wbcomac_init_l1);
assign_value(out_data.l_04_o_wbcomac_potmin_gw_f8(), model_data->l_04_o_wbcomac_potmin_gw_f8);
assign_value(out_data.l_04_o_wbcomac_potmax_gw_f8(), model_data->l_04_o_wbcomac_potmax_gw_f8);
assign_value(out_data.l_04_o_wbcomac_potmin_gwcg_f8(), model_data->l_04_o_wbcomac_potmin_gwcg_f8);
assign_value(out_data.l_04_o_wbcomac_potmax_gwcg_f8(), model_data->l_04_o_wbcomac_potmax_gwcg_f8);
assign_value(out_data.l_04_o_wbcomac_min_cg_f4(), model_data->l_04_o_wbcomac_min_cg_f4);
assign_value(out_data.l_04_o_wbcomac_min_gw_f4(), model_data->l_04_o_wbcomac_min_gw_f4);
assign_value(out_data.l_04_o_wbcomac_min_zfw_f4(), model_data->l_04_o_wbcomac_min_zfw_f4);
assign_value(out_data.l_04_o_wbcomac_min_zfwcg_f4(), model_data->l_04_o_wbcomac_min_zfwcg_f4);
assign_value(out_data.l_04_o_wbcomac_max_cg_f4(), model_data->l_04_o_wbcomac_max_cg_f4);
assign_value(out_data.l_04_o_wbcomac_max_gw_f4(), model_data->l_04_o_wbcomac_max_gw_f4);
assign_value(out_data.l_04_o_wbcomac_max_zfw_f4(), model_data->l_04_o_wbcomac_max_zfw_f4);
assign_value(out_data.l_04_o_wbcomac_max_zfwcg_f4(), model_data->l_04_o_wbcomac_max_zfwcg_f4);
sendOutData();
}
protected:
DDSType data;
DDSType out_data;
};
}

View File

@ -1,10 +0,0 @@
#pragma once
#include "ATA04/Aerodynamics_input.hpp"
#include "ATA04/GroundHandling_input.hpp"
#include "ATA04/GroundHandling_output.hpp"
#include "ATA04/Aerodynamics_output.hpp"
#include "ATA04/WeightBalance_input.hpp"
#include "ATA04/WeightBalance_output.hpp"
#include "ATA04/GroundHandling_heartbeat.hpp"
#include "ATA04/WeightBalance_heartbeat.hpp"
#include "ATA04/Aerodynamics_heartbeat.hpp"

View File

@ -1,52 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(C909_V1_Interface LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build (Debug, Release, RelWithDebInfo, MinSizeRel)" FORCE)
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -DNDEBUG")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -DNDEBUG")
endif()
if(DEFINED ENV{XNCore})
set(XNCore_PATH $ENV{XNCore})
else()
message(FATAL_ERROR "Environment variable XNCore is not set.")
endif()
include_directories(${XNCore_PATH}/include)
if(NOT fastcdr_FOUND)
find_package(fastcdr 2 REQUIRED)
endif()
if(NOT fastdds_FOUND)
find_package(fastdds 3 REQUIRED)
endif()
find_package(OpenSSL REQUIRED)
set(ALL_SUBDIR_SOURCES "")
add_subdirectory(ATA04)
add_library(C909_V1_Interface SHARED
C909_V1.hpp
C909_V1CdrAux.hpp
C909_V1CdrAux.ipp
C909_V1PubSubTypes.hpp
C909_V1PubSubTypes.cxx
C909_V1TypeObjectSupport.hpp
C909_V1TypeObjectSupport.cxx
C909_V1_Interface.h
${ALL_SUBDIR_SOURCES}
)
target_link_libraries(C909_V1_Interface PRIVATE
fastcdr fastdds OpenSSL::SSL OpenSSL::Crypto
${XNCore_PATH}/lib/libXNCore.so
)
target_compile_definitions(C909_V1_Interface PRIVATE C909_V1_INTERFACE_LIBRARY)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}" CACHE PATH "Install path prefix" FORCE)
endif()
include(GNUInstallDirs)
install(TARGETS C909_V1_Interface
RUNTIME DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION .
)

View File

@ -1,52 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(XNAerodynamics LANGUAGES CXX)
set(MODEL_VERSION "2.0.3.5")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(DEFINED ENV{XNCore})
set(XNCore_PATH $ENV{XNCore})
else()
message(FATAL_ERROR "Environment variable XNCore is not set.")
endif()
include_directories(${XNCore_PATH}/include)
include_directories(${XNCore_PATH}/IDL)
add_library(XNAerodynamics SHARED
XNAerodynamics_global.h
XNAerodynamics.cpp
XNAerodynamics.h
XNAerodynamics_p.h
)
set_target_properties(XNAerodynamics PROPERTIES
LIBRARY_OUTPUT_NAME "libXNAerodynamics.so.2.0.3.5"
PREFIX ""
SUFFIX ""
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
target_link_libraries(XNAerodynamics PRIVATE
${XNCore_PATH}/lib/libXNCore.so
${XNCore_PATH}/lib/libC909_V1_Interface.so
dl
)
target_compile_definitions(XNAerodynamics PRIVATE XNAERODYNAMICS_LIBRARY)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}/Configuration/C909_V1/Models" CACHE PATH "Install path prefix" FORCE)
endif()
install(TARGETS XNAerodynamics BUNDLE DESTINATION . LIBRARY DESTINATION . RUNTIME DESTINATION .)
file(GLOB CONFIG_FILE "*.mcfg")
install(FILES ${CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX} RENAME "${CMAKE_PROJECT_NAME}_V${MODEL_VERSION}.mcfg")

View File

@ -1,118 +0,0 @@
#include "XNAerodynamics.h"
#include "XNAerodynamics_p.h"
#include <XNCore/XNModelManager.h>
XN_MODEL_INITIALIZE(XNAerodynamics)
XNAerodynamics::XNAerodynamics() : XNModelObject(new XNAerodynamicsPrivate())
{
}
XNAerodynamics::~XNAerodynamics()
{
}
XNAerodynamics::XNAerodynamics(PrivateType *p) : XNModelObject(p)
{
}
void XNAerodynamics::Initialize()
{
T_D();
SuperType::Initialize();
if (d->_dynamicLib) {
d->_fun = (FunctionType)dlsym(d->_dynamicLib, d->_entryPointName.c_str());
if (!d->_fun) {
LOG_WARNING("Failed to resolve _Z27SACSCAerodynamicsEntryPointP20ComacDataStructure_S");
}
}
/* 在这里进行其它初始化 */
}
void XNAerodynamics::PrepareForExecute()
{
T_D();
SuperType::PrepareForExecute();
InitializeData();
d->_inputInterface.Initialize(GetFramework(), GetUniqueId(), 1);
d->_outputInterface.Initialize(GetFramework(), GetUniqueId(), 2);
d->_heartbeatInterface.Initialize(GetFramework(), GetUniqueId(), 2);
/* 在这里进行其它运行前准备工作 */
}
void XNAerodynamics::StepUpdate()
{
T_D();
SuperType::StepUpdate();
if (d->_fun) {
d->_inputInterface.getData(d->_data.input_aero);
d->_fun(&d->_data);
d->_outputInterface.setData(d->_data.output_aero);
d->_heartbeatInterface.setData(&d->_data);
}
/* 在这里进行其它运行时计算 */
}
void XNAerodynamics::InitializeData()
{
T_D();
d->_data.input_aero = new input_aero_S;
// TODO: 在这里初始化输入数据
d->_data.input_aero->l_04_i_aerocomac_ail_f8 = new double[10];
d->_data.input_aero->l_04_i_aerocomac_elv_f8 = new double[4];
d->_data.input_aero->l_04_i_aerocomac_rud_f8 = new double[2];
d->_data.input_aero->l_04_i_aerocomac_gear_f8 = new double[7];
d->_data.input_aero->l_04_i_aerocomac_flap_f8 = new double[10];
d->_data.input_aero->l_04_i_aerocomac_slat_f8 = new double[20];
d->_data.input_aero->l_04_i_aerocomac_spl_f8 = new double[20];
d->_data.input_aero->l_04_i_aerocomac_tnet_f8 = new double[4];
d->_data.input_aero->l_04_i_aerocomac_kice_f8 = new double[20];
d->_data.output_aero = new output_aero_S;
// TODO: 在这里初始化输出数据
d->_data.aero_model_heartbeat = 0;
}
void XNAerodynamics::ReleaseData()
{
T_D();
// TODO: 在这里释放输入数据
if (d->_data.input_aero) {
if (d->_data.input_aero->l_04_i_aerocomac_ail_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_ail_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_elv_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_elv_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_rud_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_rud_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_gear_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_gear_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_flap_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_flap_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_slat_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_slat_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_spl_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_spl_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_tnet_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_tnet_f8;
}
if (d->_data.input_aero->l_04_i_aerocomac_kice_f8) {
delete[] d->_data.input_aero->l_04_i_aerocomac_kice_f8;
}
delete d->_data.input_aero;
d->_data.input_aero = nullptr;
}
// TODO: 在这里释放输出数据
if (d->_data.output_aero) {
delete d->_data.output_aero;
d->_data.output_aero = nullptr;
}
}

View File

@ -1,30 +0,0 @@
#pragma once
#include "XNAerodynamics_global.h"
#include <XNCore/XNModelObject.h>
struct XNAerodynamicsPrivate;
class XNAERODYNAMICS_EXPORT XNAerodynamics : public XNModelObject
{
XN_METATYPE(XNAerodynamics, XNModelObject)
XN_DECLARE_PRIVATE(XNAerodynamics)
public:
XNAerodynamics();
virtual ~XNAerodynamics();
protected:
XNAerodynamics(PrivateType *p);
public:
virtual void Initialize() override;
virtual void PrepareForExecute() override;
virtual void StepUpdate() override;
protected:
void InitializeData();
void ReleaseData();
};
XNCLASS_PTR_DECLARE(XNAerodynamics)

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Model>
<Name>XNAerodynamics</Name>
<Description>ATA04Aerodynamics</Description>
<Author>Jin</Author>
<Version>2.0.3.5</Version>
<CreateTime>2025-04-27 13:58:13</CreateTime>
<ChangeTime>2025-04-27 13:58:13</ChangeTime>
<Node>0</Node>
<Priority>99</Priority>
<MathLib>ATA04_SACSCAerodynamics_2.0.3.5H_20241106/libSACSCAerodynamics.so</MathLib>
<CommandList/>
</Model>

View File

@ -1,11 +0,0 @@
#ifndef XNAERODYNAMICS_GLOBAL_H
#define XNAERODYNAMICS_GLOBAL_H
#if defined(XNAERODYNAMICS_LIBRARY)
#define XNAERODYNAMICS_EXPORT __attribute__((visibility("default")))
#else
#define XNAERODYNAMICS_EXPORT __attribute__((visibility("default")))
#endif
#endif // XNAERODYNAMICS_GLOBAL_H

View File

@ -1,19 +0,0 @@
#pragma once
#include <XNCore/XNModelObject_p.h>
#include "../../Packages/ATA04_SACSCAerodynamics_2.0.3.5H_20241106/std_04_dll.h"
#include "../../IDL/C909_V1_Interface.h"
using InterfaceType = ComacDataStructure_S;
typedef void (*FunctionType)(InterfaceType *);
struct XNAerodynamicsPrivate : public XNModelObjectPrivate{
FunctionType _fun = nullptr;
InterfaceType _data;
std::string _entryPointName = "_Z27SACSCAerodynamicsEntryPointP20ComacDataStructure_S";
std::mutex _mutex;
XNSim::C909::ATA04::Aerodynamics_input_Interface _inputInterface;
XNSim::C909::ATA04::Aerodynamics_output_Interface _outputInterface;
XNSim::C909::ATA04::Aerodynamics_heartbeat_Interface _heartbeatInterface;
};

View File

@ -1,52 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(XNGroundHandling LANGUAGES CXX)
set(MODEL_VERSION "2.0.143.1")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(DEFINED ENV{XNCore})
set(XNCore_PATH $ENV{XNCore})
else()
message(FATAL_ERROR "Environment variable XNCore is not set.")
endif()
include_directories(${XNCore_PATH}/include)
include_directories(${XNCore_PATH}/IDL)
add_library(XNGroundHandling SHARED
XNGroundHandling_global.h
XNGroundHandling.cpp
XNGroundHandling.h
XNGroundHandling_p.h
)
set_target_properties(XNGroundHandling PROPERTIES
LIBRARY_OUTPUT_NAME "libXNGroundHandling.so.2.0.143.1"
PREFIX ""
SUFFIX ""
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
target_link_libraries(XNGroundHandling PRIVATE
${XNCore_PATH}/lib/libXNCore.so
${XNCore_PATH}/lib/libC909_V1_Interface.so
dl
)
target_compile_definitions(XNGroundHandling PRIVATE XNGROUNDHANDLING_LIBRARY)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}/Configuration/C909_V1/Models" CACHE PATH "Install path prefix" FORCE)
endif()
install(TARGETS XNGroundHandling BUNDLE DESTINATION . LIBRARY DESTINATION . RUNTIME DESTINATION .)
file(GLOB CONFIG_FILE "*.mcfg")
install(FILES ${CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX} RENAME "${CMAKE_PROJECT_NAME}_V${MODEL_VERSION}.mcfg")

View File

@ -1,319 +0,0 @@
#include "XNGroundHandling.h"
#include "XNGroundHandling_p.h"
#include <XNCore/XNModelManager.h>
XN_MODEL_INITIALIZE(XNGroundHandling)
XNGroundHandling::XNGroundHandling() : XNModelObject(new XNGroundHandlingPrivate())
{
}
XNGroundHandling::~XNGroundHandling()
{
}
XNGroundHandling::XNGroundHandling(PrivateType *p) : XNModelObject(p)
{
}
void XNGroundHandling::Initialize()
{
T_D();
SuperType::Initialize();
if (d->_dynamicLib) {
d->_fun = (FunctionType)dlsym(d->_dynamicLib, d->_entryPointName.c_str());
if (!d->_fun) {
LOG_WARNING(
"Failed to resolve _Z29SACSCGroundHandlingEntryPointP20ComacDataStructure_S");
}
}
/* 在这里进行其它初始化 */
}
void XNGroundHandling::PrepareForExecute()
{
T_D();
SuperType::PrepareForExecute();
InitializeData();
d->_inputInterface.Initialize(GetFramework(), GetUniqueId(), 1);
d->_outputInterface.Initialize(GetFramework(), GetUniqueId(), 2);
d->_heartbeatInterface.Initialize(GetFramework(), GetUniqueId(), 2);
/* 在这里进行其它运行前准备工作 */
}
void XNGroundHandling::StepUpdate()
{
T_D();
SuperType::StepUpdate();
if (d->_fun) {
d->_inputInterface.getData(d->_data.input_ground);
d->_fun(&d->_data);
d->_outputInterface.setData(d->_data.output_ground);
d->_heartbeatInterface.setData(&d->_data);
}
/* 在这里进行其它运行时计算 */
}
void XNGroundHandling::InitializeData()
{
T_D();
d->_data.input_ground = new input_ground_S;
// TODO: 在这里初始化输入数据
d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8[i] = new double[2];
}
d->_data.input_ground->l_04_i_gdcomac_gear_f8 = new double[3];
d->_data.input_ground->l_04_i_gdcomac_gsteer_f8 = new double[3];
d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8[i] = new double[2];
}
d->_data.input_ground->l_04_i_gdcomac_contdep_f8 = new double[7];
d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8[i] = new double[2];
}
d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1 = new unsigned char *[3];
for (int i = 0; i < 3; i++) {
d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1[i] = new unsigned char[2];
}
d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1 = new unsigned char *[3];
for (int i = 0; i < 3; i++) {
d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1[i] = new unsigned char[2];
}
d->_data.input_ground->l_04_i_gdcomac_rcon_ci_f8 = new double[14];
d->_data.output_ground = new output_ground_S;
// TODO: 在这里初始化输出数据
d->_data.output_ground->l_04_o_gdcomac_fygs_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_mzgs_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_mu_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_dstroke_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_sr_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_sr_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_sy_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_sy_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_sx_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_sx_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_xft_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_yft_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_zft_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1 = new unsigned char *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1[i] = new unsigned char[2];
}
d->_data.output_ground->l_04_o_gdcomac_utirew_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_utirew_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_vtirew_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_vtirew_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8[i] = new double[2];
}
d->_data.output_ground->l_04_o_gdcomac_dstruc_f8 = new double[6];
d->_data.output_ground->l_04_o_gdcomac_nd_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_wor_par_f8 = new double[3];
d->_data.output_ground->l_04_o_gdcomac_vczt_f8 = new double *[3];
for (int i = 0; i < 3; i++) {
d->_data.output_ground->l_04_o_gdcomac_vczt_f8[i] = new double[2];
}
d->_data.groundhandling_model_heartbeat = 0;
}
void XNGroundHandling::ReleaseData()
{
T_D();
// TODO: 在这里释放输入数据
if (d->_data.input_ground) {
if (d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8[i]) {
delete[] d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8[i];
}
}
delete[] d->_data.input_ground->l_04_i_gdcomac_brake_torq_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_gear_f8) {
delete[] d->_data.input_ground->l_04_i_gdcomac_gear_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_gsteer_f8) {
delete[] d->_data.input_ground->l_04_i_gdcomac_gsteer_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8[i]) {
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8[i];
}
}
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_pres_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_contdep_f8) {
delete[] d->_data.input_ground->l_04_i_gdcomac_contdep_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8[i]) {
delete[] d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8[i];
}
}
delete[] d->_data.input_ground->l_04_i_gdcomac_brake_temp_f8;
}
if (d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1) {
for (int i = 0; i < 3; i++) {
if (d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1[i]) {
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1[i];
}
}
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_tburst_l1;
}
if (d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1) {
for (int i = 0; i < 3; i++) {
if (d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1[i]) {
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1[i];
}
}
delete[] d->_data.input_ground->l_04_i_gdcomac_tire_tflat_l1;
}
if (d->_data.input_ground->l_04_i_gdcomac_rcon_ci_f8) {
delete[] d->_data.input_ground->l_04_i_gdcomac_rcon_ci_f8;
}
delete d->_data.input_ground;
d->_data.input_ground = nullptr;
}
// TODO: 在这里释放输出数据
if (d->_data.output_ground) {
if (d->_data.output_ground->l_04_o_gdcomac_fygs_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_fygs_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_mzgs_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_mzgs_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_mu_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_mu_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_dstroke_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_dstroke_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_sr_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_sr_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_sr_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_sr_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_sy_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_sy_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_sy_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_sy_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_sx_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_sx_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_sx_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_sx_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_xft_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_xft_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_yft_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_yft_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_zft_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_zft_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_vel_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_temp_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_tire_burst_l1;
}
if (d->_data.output_ground->l_04_o_gdcomac_utirew_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_utirew_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_utirew_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_utirew_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_vtirew_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_vtirew_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_vtirew_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_vtirew_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_whl_omega_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_dstruc_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_dstruc_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_nd_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_nd_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_wor_par_f8) {
delete[] d->_data.output_ground->l_04_o_gdcomac_wor_par_f8;
}
if (d->_data.output_ground->l_04_o_gdcomac_vczt_f8) {
for (int i = 0; i < 3; i++) {
if (d->_data.output_ground->l_04_o_gdcomac_vczt_f8[i]) {
delete[] d->_data.output_ground->l_04_o_gdcomac_vczt_f8[i];
}
}
delete[] d->_data.output_ground->l_04_o_gdcomac_vczt_f8;
}
delete d->_data.output_ground;
d->_data.output_ground = nullptr;
}
}

View File

@ -1,30 +0,0 @@
#pragma once
#include "XNGroundHandling_global.h"
#include <XNCore/XNModelObject.h>
struct XNGroundHandlingPrivate;
class XNGROUNDHANDLING_EXPORT XNGroundHandling : public XNModelObject
{
XN_METATYPE(XNGroundHandling, XNModelObject)
XN_DECLARE_PRIVATE(XNGroundHandling)
public:
XNGroundHandling();
virtual ~XNGroundHandling();
protected:
XNGroundHandling(PrivateType *p);
public:
virtual void Initialize() override;
virtual void PrepareForExecute() override;
virtual void StepUpdate() override;
protected:
void InitializeData();
void ReleaseData();
};
XNCLASS_PTR_DECLARE(XNGroundHandling)

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Model>
<Name>XNGroundHandling</Name>
<Description>ATA04GroundHandling</Description>
<Author>Jin</Author>
<Version>2.0.143.1</Version>
<CreateTime>2025-04-03 14:47:42</CreateTime>
<ChangeTime>2025-04-03 14:47:42</ChangeTime>
<Node>0</Node>
<Priority>99</Priority>
<MathLib>ATA04_SACSCGroundHandling_2.0.143.1H_20250506/libSACSCGroundHandling.so.2.0.143.1H</MathLib>
<CommandList/>
</Model>

View File

@ -1,11 +0,0 @@
#ifndef XNGROUNDHANDLING_GLOBAL_H
#define XNGROUNDHANDLING_GLOBAL_H
#if defined(XNGROUNDHANDLING_LIBRARY)
#define XNGROUNDHANDLING_EXPORT __attribute__((visibility("default")))
#else
#define XNGROUNDHANDLING_EXPORT __attribute__((visibility("default")))
#endif
#endif // XNGROUNDHANDLING_GLOBAL_H

View File

@ -1,19 +0,0 @@
#pragma once
#include <XNCore/XNModelObject_p.h>
#include "../../Packages/ATA04_SACSCGroundHandling_2.0.143.1H_20250506/std_04_dll.h"
#include "../../IDL/C909_V1_Interface.h"
using InterfaceType = ComacDataStructure_S;
typedef void (*FunctionType)(InterfaceType *);
struct XNGroundHandlingPrivate : public XNModelObjectPrivate{
FunctionType _fun = nullptr;
InterfaceType _data;
std::string _entryPointName = "_Z29SACSCGroundHandlingEntryPointP20ComacDataStructure_S";
std::mutex _mutex;
XNSim::C909::ATA04::GroundHandling_input_Interface _inputInterface;
XNSim::C909::ATA04::GroundHandling_output_Interface _outputInterface;
XNSim::C909::ATA04::GroundHandling_heartbeat_Interface _heartbeatInterface;
};

View File

@ -1,52 +0,0 @@
cmake_minimum_required(VERSION 3.16)
project(XNWeightBalance LANGUAGES CXX)
set(MODEL_VERSION "2.0.14.6")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if(DEFINED ENV{XNCore})
set(XNCore_PATH $ENV{XNCore})
else()
message(FATAL_ERROR "Environment variable XNCore is not set.")
endif()
include_directories(${XNCore_PATH}/include)
include_directories(${XNCore_PATH}/IDL)
add_library(XNWeightBalance SHARED
XNWeightBalance_global.h
XNWeightBalance.cpp
XNWeightBalance.h
XNWeightBalance_p.h
)
set_target_properties(XNWeightBalance PROPERTIES
LIBRARY_OUTPUT_NAME "libXNWeightBalance.so.2.0.14.6"
PREFIX ""
SUFFIX ""
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
target_link_libraries(XNWeightBalance PRIVATE
${XNCore_PATH}/lib/libXNCore.so
${XNCore_PATH}/lib/libC909_V1_Interface.so
dl
)
target_compile_definitions(XNWeightBalance PRIVATE XNWEIGHTBALANCE_LIBRARY)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${XNCore_PATH}/Configuration/C909_V1/Models" CACHE PATH "Install path prefix" FORCE)
endif()
install(TARGETS XNWeightBalance BUNDLE DESTINATION . LIBRARY DESTINATION . RUNTIME DESTINATION .)
file(GLOB CONFIG_FILE "*.mcfg")
install(FILES ${CONFIG_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX} RENAME "${CMAKE_PROJECT_NAME}_V${MODEL_VERSION}.mcfg")

View File

@ -1,106 +0,0 @@
#include "XNWeightBalance.h"
#include "XNWeightBalance_p.h"
#include <XNCore/XNModelManager.h>
XN_MODEL_INITIALIZE(XNWeightBalance)
XNWeightBalance::XNWeightBalance() : XNModelObject(new XNWeightBalancePrivate())
{
}
XNWeightBalance::~XNWeightBalance()
{
}
XNWeightBalance::XNWeightBalance(PrivateType *p) : XNModelObject(p)
{
}
void XNWeightBalance::Initialize()
{
T_D();
SuperType::Initialize();
if (d->_dynamicLib) {
d->_fun = (FunctionType)dlsym(d->_dynamicLib, d->_entryPointName.c_str());
if (!d->_fun) {
LOG_WARNING(
"Failed to resolve _Z28SACSCWeightBalanceEntryPointP20ComacDataStructure_S");
}
}
/* 在这里进行其它初始化 */
}
void XNWeightBalance::PrepareForExecute()
{
T_D();
SuperType::PrepareForExecute();
InitializeData();
d->_inputInterface.Initialize(GetFramework(), GetUniqueId(), 1);
d->_outputInterface.Initialize(GetFramework(), GetUniqueId(), 2);
d->_heartbeatInterface.Initialize(GetFramework(), GetUniqueId(), 2);
/* 在这里进行其它运行前准备工作 */
}
void XNWeightBalance::StepUpdate()
{
T_D();
SuperType::StepUpdate();
if (d->_fun) {
d->_inputInterface.getData(d->_data.input_weight);
d->_fun(&d->_data);
d->_outputInterface.setData(d->_data.output_weight);
d->_heartbeatInterface.setData(&d->_data);
}
/* 在这里进行其它运行时计算 */
}
void XNWeightBalance::InitializeData()
{
T_D();
d->_data.input_weight = new input_weight_S;
// TODO: 在这里初始化输入数据
d->_data.input_weight->l_04_i_wbcomac_acset_tankfuel_f4 = new float[20];
d->_data.input_weight->l_04_i_wbcomac_eng_efsep_l1 = new unsigned char[4];
d->_data.input_weight->l_04_i_wbcomac_fuel_f8 = new double[20];
d->_data.input_weight->l_04_i_wbcomac_kice_f8 = new double[20];
d->_data.output_weight = new output_weight_S;
// TODO: 在这里初始化输出数据
d->_data.output_weight->l_04_o_wbcomac_fuel_cmd_f8 = new double[20];
d->_data.output_weight->l_04_o_wbcomac_ice_eng_f8 = new double[4];
d->_data.weightbody_model_heartbeat = 0;
}
void XNWeightBalance::ReleaseData()
{
T_D();
if (d->_data.input_weight) {
// TODO: 在这里释放输入数据
if (d->_data.input_weight->l_04_i_wbcomac_acset_tankfuel_f4) {
delete[] d->_data.input_weight->l_04_i_wbcomac_acset_tankfuel_f4;
}
if (d->_data.input_weight->l_04_i_wbcomac_eng_efsep_l1) {
delete[] d->_data.input_weight->l_04_i_wbcomac_eng_efsep_l1;
}
if (d->_data.input_weight->l_04_i_wbcomac_fuel_f8) {
delete[] d->_data.input_weight->l_04_i_wbcomac_fuel_f8;
}
if (d->_data.input_weight->l_04_i_wbcomac_kice_f8) {
delete[] d->_data.input_weight->l_04_i_wbcomac_kice_f8;
}
delete d->_data.input_weight;
d->_data.input_weight = nullptr;
}
if (d->_data.output_weight) {
// TODO: 在这里释放输出数据
if (d->_data.output_weight->l_04_o_wbcomac_fuel_cmd_f8) {
delete[] d->_data.output_weight->l_04_o_wbcomac_fuel_cmd_f8;
}
if (d->_data.output_weight->l_04_o_wbcomac_ice_eng_f8) {
delete[] d->_data.output_weight->l_04_o_wbcomac_ice_eng_f8;
}
delete d->_data.output_weight;
d->_data.output_weight = nullptr;
}
}

View File

@ -1,30 +0,0 @@
#pragma once
#include "XNWeightBalance_global.h"
#include <XNCore/XNModelObject.h>
struct XNWeightBalancePrivate;
class XNWEIGHTBALANCE_EXPORT XNWeightBalance : public XNModelObject
{
XN_METATYPE(XNWeightBalance, XNModelObject)
XN_DECLARE_PRIVATE(XNWeightBalance)
public:
XNWeightBalance();
virtual ~XNWeightBalance();
protected:
XNWeightBalance(PrivateType *p);
public:
virtual void Initialize() override;
virtual void PrepareForExecute() override;
virtual void StepUpdate() override;
protected:
void InitializeData();
void ReleaseData();
};
XNCLASS_PTR_DECLARE(XNWeightBalance)

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Model>
<Name>XNWeightBalance</Name>
<Description>ATA04WeightBalance</Description>
<Author>Jin</Author>
<Version>2.0.14.6</Version>
<CreateTime>2025-04-27 13:57:50</CreateTime>
<ChangeTime>2025-04-27 13:57:50</ChangeTime>
<Node>0</Node>
<Priority>99</Priority>
<MathLib>ATA04_WeightBalance_2.0.14.6H_20241106/libSACSCWeightBalance.so</MathLib>
<CommandList/>
</Model>

View File

@ -1,11 +0,0 @@
#ifndef XNWEIGHTBALANCE_GLOBAL_H
#define XNWEIGHTBALANCE_GLOBAL_H
#if defined(XNWEIGHTBALANCE_LIBRARY)
#define XNWEIGHTBALANCE_EXPORT __attribute__((visibility("default")))
#else
#define XNWEIGHTBALANCE_EXPORT __attribute__((visibility("default")))
#endif
#endif // XNWEIGHTBALANCE_GLOBAL_H

Some files were not shown because too many files have changed in this diff Show More