现有组件功能与Amesim组件比较对齐,补全功能;仿真服务启动环境检测,旧版json工程文件适配读取

This commit is contained in:
ljz committed 2026-09-13 20:01:56 +08:00
1 parent b6c22a54f8
commit 6fc9afe41d
119 files changed
+260114 -351

No files matched your search

+10 -4
View File
@@ -1,6 +1,6 @@
# System XML v3 协议
文档版本:1.1.0;核对日期:2026-09-12;代码基线:`22579e5`。此版本标注文档修订,不改变 XML Schema 3。
文档版本:1.1.1;核对日期:2026-09-13;代码基线:`b6c22a5`。此版本标注文档修订,不改变 XML Schema 3。
System XML v3 是 SystemSimulationApp 当前唯一的 XML 求解输入格式。它只描述可执行模型,不再承担 ReactFlow 画布存档职责。
@@ -107,7 +107,9 @@ System
| `maxStep` | 自适应积分器单个内部步的上限 | 必须大于 0 |
| `method` | 积分方法 | 当前语义校验及 C 执行仅接受 `RK45`、`BDF` |
XSD 的枚举仍包含 `RK23/DOP853/Radau/LSODA`,但它们会被 `app/system_xml.py::SUPPORTED_SOLVER_METHODS` 在语义层以 `SIMULATION_METHOD_UNSUPPORTED` 拒绝。不能将 XSD 的结构允许集合当成运行能力。XML 当前没有 `rtol/atol/firstStep` 属性;网页和 XML API 由 `backends.simulation_config()` 设置 `rtol=1e-8`,绝对误差采用生成的逐状态尺度,见[求值与精度规范](native-evaluation-schedule.md)。
XSD 将 `method` 定义为必填的 `NonEmptyString`,只检查它是否为非空字符串,没有枚举可用求解方法。`app/system_xml.py::SUPPORTED_SOLVER_METHODS` 在语义层仅接受 `RK45`、`BDF`;其他值(例如 `RK23`、`DOP853`、`Radau`、`LSODA` 或任意未知名称)即使通过 XSD 检查,也会以 `SIMULATION_METHOD_UNSUPPORTED` 拒绝。原生 runner、Python CLI 和 C 程序同样仅支持 `RK45`、`BDF`。因此,通过 XSD 校验不代表该方法可执行。
XML 当前没有 `rtol/atol/firstStep` 属性;网页和 XML API 由 `backends.simulation_config()` 设置 `rtol=1e-8`,绝对误差采用生成的逐状态尺度,见[求值与精度规范](native-evaluation-schedule.md)。
`sampleStep` 和 `maxStep` 不是一回事:
@@ -261,8 +263,8 @@ XML 不能通过写一个新端口名来扩展组件,也不能通过修改字
| 层级 | 负责内容 |
| --- | --- |
| XML | 5 MiB 大小限制、语法、安全解析、禁止 DTD/实体和网络访问 |
| XSD | 元素顺序、必填属性、数量、基础数值类型、`schemaVersion=3`、`unitSystem=SI` |
| semantic | 模型及版本、完整参数、端点引用、注册端口兼容性、介质引用和拓扑占用 |
| XSD | 元素顺序、必填属性、数量、基础数值类型、非空字符串(含 `method`)、`schemaVersion=3`、`unitSystem=SI` |
| semantic | 支持的求解方法、仿真设置合法性、模型及版本、完整参数、端点引用、注册端口兼容性、介质引用和拓扑占用 |
当前相关接口都直接接收 `Content-Type: application/xml` 的原始 v3 XML:
@@ -294,3 +296,7 @@ XML 不能通过写一个新端口名来扩展组件,也不能通过修改字
- 前端 XML 生成:`frontend/src/App.tsx` 中的 `buildSystemXml()`
- 组件和端口事实来源:`app/simulation/registry.py`、`app/simulation/core/ports.py`
- 网络最终兼容检查:`app/simulation/systems/network.py`
## 12. 修订记录
- 2026-09-13 / 1.1.1:纠正“XSD 枚举六种求解方法”的错误描述,明确 XSD 的非空字符串检查与语义层、执行层的 RK45/BDF 支持范围。仅修正文档,未修改 XSD、校验器或求解实现。