铁路系统建模、可视化与验证:原理与工具应用
1. 可视化在铁路系统建模中的作用
在铁路系统建模中,为动画添加可视化通常是很有价值的。尽管这需要一些初始的努力,但能通过更快地发现错误来迅速弥补。例如,通过可视化展示,能立即发现列车 2 领先列车 1 且两车位于同一轨道区段的情况,而查看模型状态的文本表示时,这种情况则不那么明显。
可视化还使模型便于领域专家进行验证,这些专家可能不熟悉所使用的形式化符号。在某些情况下,可视化是通过 ProB 的 VisB 插件以通用方式完成的,例如使用 SVG(可缩放矢量图形)多边形绘制列车和区域(保护区、移动权限区等),其坐标源自形式化模型。
2. 工具选择:证明与平台
对于 Event - B 建模,有两种工具可供选择:商业的 Atelier - B 工具和 Rodin 工具集。
|工具|优点|缺点|
| ---- | ---- | ---- |
|Atelier - B|具有文本语法和更强大的证明界面,允许添加新的证明规则|证明界面较难掌握|
|Rodin|提供更直观的证明界面,许多操作可通过点击假设或目标中的符号来执行|建模语言在语句和组件方面更受限制|
在实际应用中,先使用更灵活的 Atelier - B/ProB 语法进行初始建模,待组件和概念稳定后,将模型转换为 Rodin 中的线性细化链。
3. 证明工作与挑战
在 14 个月的时间里构建了 Rodin 模型的 10 次迭代。每次迭代的证明义务数量不同,例如迭代 5 有 271 个证明义务,其中 197 个自动证明,71 个手动证明,3 个与初始化相关的证明义务未证明,而是通过 ProB 启动动画进行检查;迭代 8 有 380 个证明义务,迭代 10 有 423 个。
证明器在处理使用区间结合最小值和最大值的表达式时有时较弱,此时会使用 ProB 的反驳器来发现证明所需的假设。还开发了一种新的改进方法,从 Rodin 导出证明义务,以便详细检查和可视化反例。
4. 证明模型的范围与应用
证明模型旨在正式分析并确保移动闭塞系统的安全性,其范围涵盖以下方面:
- 多列列车在直线轨道区段的移动,包括后退和前进。
- 列车的连接和分离。
- 列车与轨道侧的注册和注销。
- 轨道侧向注册列车发布移动权限。
- 轨道侧使用以下方式维护轨道占用的安全图像:
- 为注册列车识别区域。
- 为未注册列车和障碍物设置非识别区域。
- 安全处理轨道侧列车检测(TTDs)和列车位置报告(TPRs)的更新,安全处理延迟。
- 保证图像在任何时候都是实际占用的安全超近似的不变量。
该模型已在内部用于以下方面:
- 发现和可视化棘手的危险场景,并与 ETCS 铁路系统的领域专家进行沟通。
- 导出的关键属性为后续移动闭塞系统的实施提供指导。
- 模型中轨道侧事件的保护条件包含确保安全的必要操作条件。
5. 工具链流程
graph LR
A[方案计划] --> B[编码为带标签图]
B --> C[识别设计规则适用元素]
C --> D[生成检查实例]
D --> E[使用 Z3 验证]
E --> F{结果}
F -->|失败| G[可视化反例]
F -->|通过| H[通过结果]
F -->|未知| I[未知结果]
G --> J[生成报告]
H --> J
I --> J
6. 现有检查流程的问题
方案计划最初是由工程师手动测量轨道布局和设备位置来创建的,现代则使用 LIDAR 扫描列车生成高精度的数字地图。但现有的检查过程很繁琐,数据和更改需手动检查文件,且由于方案设计是迭代过程,人工审查员可能会反复检查相同的文件,容易疲劳并增加人为错误的可能性。
7. 工具链的需求与目标
现代铁路信号系统(如 ETCS)的安全运行要求地理地图和信号方案反映系统的安全原则。文中考虑了两个中等规模的实际方案计划,其中一个约有 300 个无源位置信标(即 balises),若要简单地检查所有信标对是否满足一个布局标准,需要进行近十万次检查。因此,设计一个能够在可接受的时间内(如每个方案计划少于一小时)自动验证大量检查的工具链是一个挑战。
8. 工具链的工作方式
工具链将方案计划作为输入,将其正式表示为 SMT - Lib2 中的带标签图。然后确定特定设计规则适用于方案计划的哪些元素,每个实例化产生一个检查,传递给以 SMT 求解器 Z3 为核心的验证过程。经过可能的多次调用 Z3,该过程产生“失败/通过/未知”的三值输出。若检查失败,会生成反例的可视化,最终输出包含一个规则所有检查结果的报告。由于 SMT 求解是西门子许多验证任务选择的证明技术,因此自然也用于地理方案数据验证,Z3 求解器已发展到工业标准。
铁路系统建模、可视化与验证:原理与工具应用
9. 可能的未来扩展
证明模型有以下可能的扩展和改进方向:
-
完整性损失处理
:完整性损失可视为列车分离的特殊情况,当前模型中有相应事件但处于禁用状态。正确处理完整性损失需要调整一些不变量,并在 TPR 消息中添加列车完整性状态信息。
-
支持非线性拓扑
:要支持非线性拓扑,需要在更高细化级别添加新的事件和不变量。为实现通用性,还应建模列车在某些点的出现和消失情况。虽然最新版本的模型已为列车的连接和分离提供了支持,但仍需更新 niPZ 区域的不变量和证明。
-
允许双向移动
:允许双向移动是可行的,需要为每列列车和每个区域添加方向信息。
此外,未来还可以研究是否能通过数据细化的方式,从当前模型产生可证明正确的 Hybrid Level 3 虚拟固定闭塞的变体,即将保护区域投影到虚拟子区段上。
10. 与先前模型的比较
新的证明模型受到早期 CBTC 证明模型和作者开发的移动闭塞模型的启发,但有显著变化:
|对比项|先前模型|新证明模型|
| ---- | ---- | ---- |
|模型结构|多个子模型的联合|单一模型涵盖所有证明方面|
|可视化与动画|可能缺乏|可进行动画和可视化,避免安全证明中的不一致或错误|
|轨道侧组件|有单独的联锁组件|无单独的联锁组件|
|列车运动建模|复杂的物理运动函数|更简单的建模方法,允许列车在其列车保护区域内自由移动|
|特殊区域|可能未考虑|有非排他(nea)区域,放松安全不变量以允许列车连接和分离|
|延迟处理|可能不够完善|有更原则性的处理延迟的方式|
11. 结论
证明模型的主要目标是确保移动闭塞轨道侧计算出外部世界的安全内部图像,至于这个安全图像用于避免碰撞、脱轨还是其他安全隐患则是次要的。
-
精确的模型关系
:形式模型包含一个粘合不变量,精确阐述了轨道侧内部图像的含义,提供了内部信息与列车物理位置以及基础设施物理状态之间的精确关系。
-
处理延迟问题
:模型对内部信息有效的时间点非常明确,不忽视图像与物理世界之间的延迟,提供了任何更新和操作维护图像安全的条件。
-
新的细化技术
:使用新的细化技术处理任意延迟,通过添加虚拟事件和临时不变量,直到延迟结束时保持这些不变量。
总体而言,取得了以下成果:
- 将 CBTC 模型的一些思想和概念移植到简化的通用移动闭塞模型中。
- 创建了适合严格形式证明、动画和可视化的形式模型。
- 成功将子模型组合成一个整体模型,可作为演示器或展示给领域专家。
- 证明了即使在位置报告有延迟的情况下,也不会发生碰撞。
- 部分模型已针对所有拓扑进行了形式证明,列车图像和保护区域是重要概念,可进行归纳形式证明。
12. 总结与建议
以下是一些总结性的结论和建议:
-
模型开发信心
:有信心为 ETCS 开发具有足够精度的经过验证的移动闭塞形式模型。
-
经验复用
:可以复用 CBTC 和 HL3 的经验,关键概念和组件已明确,建议采用以列车为中心、具有归纳关键属性的方法,而非以轨道为中心的方法。
-
设计关键
:良好设计和安全案例的关键在于归纳概念,这些概念应与物理现实有清晰精确的联系,对延迟具有鲁棒性,并且能被利益相关者和未来工程师理解。
-
多用途模型
:重要的是将形式证明与动画相结合,利用现有工具可以开发出一个形式化的 Event - B 模型,该模型可用于多种目的,如安全证明、作为领域专家可理解的可执行参考规范,以及作为实验和现场测试的演示器。
13. 工具链的优势总结
graph LR
A[减少人工检查] --> B[降低人为错误]
A --> C[提高检查效率]
D[形式化验证] --> E[确保系统安全]
D --> F[符合安全标准]
G[可视化反例] --> H[便于问题定位]
G --> I[促进沟通协作]
工具链具有以下优势:
-
减少人工检查
:通过自动化验证,减少了人工手动检查文件的工作量,降低了人为错误的可能性,同时提高了检查效率,能够在可接受的时间内完成大量检查。
-
形式化验证
:采用形式化方法,使用 SMT 求解器 Z3 对方案计划进行验证,确保了铁路信号系统的地理地图和信号方案符合安全原则,满足系统的安全目标。
-
可视化反例
:当验证失败时,能够生成反例的可视化,便于快速定位问题,促进与领域专家的沟通和协作,有助于及时解决问题。
超级会员免费看
108

被折叠的 条评论
为什么被折叠?



