21、铁路控制系统验证与建模:HGV方法与ETCS Level 3系统的探索

铁路控制系统验证与建模:HGV方法与ETCS Level 3系统的探索

1. HGV方法原型实现

HGV(Halfway Generic Verification)方法旨在将SPL工程和形式验证方法融合,为铁路控制系统的严格评估创建全面框架。在使用Prover iLock实现HGV方法的原型时,我们有一系列特定的操作。
- 输入数据准备
- GA(Generic Architecture) :使用玩具联锁系统的规范作为输入GA,记为GAi。
- 对象模型OMi :包含基本的联锁对象类,如SIGNAL、ROUTE、PROTECTION_AREA、SWITCH、BALISE等。
- 输入数据Ci :基于在Prover iLock布局编辑器中绘制的玩具铁路场,该布局展示了轨道T、道岔sw、应答器(黑色方块)和信号。
- 对象生成规则
- 在Prover iLock中,信号和应答器等对象由用户手动放置在铁路场布局上,而路线和保护区等对象则根据用户指定的规则或输入数据生成。
- 在原型中,对于所有同向信号对(中间没有其他同向信号)自动生成路线,并且为每个“道岔 - 位置对”(正常和反向)和每个信号生成一个单一的最小保护区。
- 布尔变量示例 :以SIGNAL类型的CommandedProceed变量为例,其PiSPEC定义如下:

CommandedProceed := 
  SOME rt ( 
    start_signal(rt, SELF) & 
    ready_to_proceed(rt) 
  ); 

该定义表明,在系统执行或验证的每个时间步,如果一个信号是一条准备好通行的路线的起始信号,那么联锁系统会命令该信号显示通行状态。
- 动态需求示例 :GSSi由联锁行为的动态(即与时间相关)需求组成,例如:

GSS_04 := 
  ALL si 
  ALL rt 
  ALL rts ( 
    CommandedProceed(si)& 
    start_signal(rt, si) & 
    set(rt) & 
    route_sections(rt, rts) -> 
      ALL tc ( 
        tracks(rts, tc) -> 
          Clear(tc) 
      ) 
  ); 

该需求形式化了自然语言需求:“如果一个信号是已设置路线的起始信号,并且被命令通行,那么该路线中的所有轨道都没有占用。”
- 潜在对象类与辅助函数 :引入VAR_SIGNAL、VAR_BALISE、VAR_ROUTE和VAR_PROTECTION_AREA作为潜在对象类,分别继承自SIGNAL、BALISE、ROUTE和PROTECTION_AREA。同时,为这些类引入辅助函数exists,其定义为:如果X是潜在对象类的实例,则X.exists = X.Exists;否则X.exists = True。通过Python脚本处理GA规范,在适当的位置插入exists函数,将所有量化的范围限制为存在的对象。更新后的CommandedProceed变量定义如下:

CommandedProceed := 
  SOME rt ( 
    rt.exists & 
    start_signal(rt, SELF) &    
    ready_to_proceed(rt) 
  ); 

更新后的通用需求GSS_04定义如下:

GSS_04 := 
  ALL si ( 
    si.exists ->  
      ALL rt ( 
        rt.exists ->  
          ALL rts ( 
            CommandedProceed(si) & 
            start_signal(rt, si) & 
            set(rt) &  
            route_sections(rt, rts) -> 
              ALL tc ( 
                tracks(rts, tc) -> 
                  Clear(tc) 
              ) 
          ) 
      ) 
  ); 
  • 数据修改与验证 :修改Ci,将SIGNAL的一些实例替换为VAR_SIGNAL,对应答器也进行类似操作。然后使用Prover iLock对生成的SA的操作逻辑进行形式验证,验证其是否符合GSSo。对于VAR_SIGNAL和VAR_BALISE对应的特征变量没有施加约束,而VAR_ROUTE和VAR_PROTECTION_AREA的实例不使用独立的特征变量,它们的存在根据VAR_SIGNAL实例的存在来定义。原型布局中有29个这两个对象类的实例,这相当于同时验证约$2^{29} \approx 5 \times 10^8$个系统。
2. HGV框架的静态属性验证

为了展示HGV框架的另一个应用领域,在单独的实验中,我们向GA引入了全新的静态属性(约束和需求),这些属性涉及特征变量,表达了系统的与时间无关的属性和关系,例如铁路场中路边对象的相对位置。
- 静态属性示例
- C1 :所有道岔都有一个应答器。
- C2 :所有不包含任何道岔的路线都包含一个带有应答器的轨道电路。
- Req0 :所有路线都经过某个应答器。
- 派生需求验证
- Req1 :不存在满足C1和C2的配置。该需求被证伪,并生成了反例,这个反例证明了C1和C2的合取是一致的。
- Req2 :C1意味着Req0。该需求也被证伪,并生成了反例。
- Req3 :C1和C2一起意味着Req0。该需求被证明是有效的,即对于SA编码的配置族中满足C1和C2的所有信号和应答器配置,也满足Req0。

3. ETCS Level 3移动闭塞系统建模

B方法在铁路领域有三种不同的应用方式,而本次工作聚焦于使用Event - B进行铁路应用的安全案例分析。
- B方法的应用方式
- B for软件(经典B) :对组件的抽象规范进行逐步细化,直到达到实现级别(称为B0),然后可以应用自动代码生成器。例如巴黎地铁14号线、纽约卡纳西线以及阿尔斯通U400 CBTC系统的约95个安装实例,这些系统包含从经过验证的经典B模型生成的代码。
- B for系统建模(Event - B) :使用B对整个系统进行建模,目标是在系统级别验证关键属性,理解系统为何正确运行。
- B for数据验证 :在B中指定关于数据和系统配置的属性,然后可以在具体数据上自动(且可靠地)检查这些属性,生成验证报告。
- Event - B在铁路系统建模中的应用案例
- 学术方面,Abrial关于Event - B的书中第17章有学术联锁模型,还有更详细的包含特征管理的模型。
- 工业方面,ClearSy在至少两个项目(纽约市交通管理局的法拉盛线和巴黎自治运输管理局RATP的Octys)中使用Event - B对CBTC地铁系统进行安全分析,还对阿尔斯通U400区域控制器进行了安全分析,并且将这种方法应用于主线系统,如马赛到文蒂米利亚线的新型混合ERTMS Level 3信号系统。
- ETCS Level 3系统建模目标 :本文聚焦于对具有轨道侧列车检测(TTD)的欧洲列车控制系统(ETCS)Level 3全移动闭塞系统进行建模,使用Event - B进行建模,受到了之前Event - B在CBTC系统中成功应用的启发。同时,受动画和可视化在相关工作中成功应用的激励,我们努力使形式模型便于动画展示。工作的目标是回答以下关键问题:
- 是否可以开发用于证明和动画的Event - B模型,这样做是否有益?应该使用哪种方法来开发这样的模型?
- 是否可以将CBTC的知识和见解转移到移动闭塞ETCS系统中?

下面是一个简单的mermaid流程图,展示HGV方法的主要步骤:

graph LR
    A[输入GA、OMi、Ci] --> B[对象生成]
    B --> C[定义布尔变量和需求]
    C --> D[引入潜在对象类和辅助函数]
    D --> E[修改Ci并验证SA]
    E --> F[静态属性验证]

此外,我们可以用表格总结HGV方法和ETCS Level 3系统建模的关键信息:
| 项目 | 详情 |
| ---- | ---- |
| HGV方法输入 | GA(玩具联锁系统规范)、OMi(基本联锁对象类)、Ci(玩具铁路场布局) |
| HGV对象生成规则 | 信号和应答器手动放置,路线和保护区根据规则生成 |
| HGV布尔变量示例 | CommandedProceed变量定义 |
| HGV动态需求示例 | GSS_04需求定义 |
| HGV静态属性示例 | C1、C2、Req0等 |
| ETCS Level 3建模方法 | Event - B |
| ETCS Level 3建模目标 | 回答关于模型开发和知识转移的关键问题 |

铁路控制系统验证与建模:HGV方法与ETCS Level 3系统的探索

4. Event - B模型开发与关键概念

为了正式确保现代移动闭塞系统的安全,开发了基于Event - B的证明模型,该模型捕捉了多个安全关键方面。
- 关键概念识别 :新模型识别了几个关键概念,这些概念是数学安全证明的核心,也应是具有轨道侧列车检测的移动闭塞系统安全案例的核心。部分关键概念受到早期CBTC模型的启发,并针对ETCS移动闭塞进行了调整,同时还开发了一些新颖的关键概念,以安全处理列车位置报告延迟和轨道侧列车检测问题。
- 模型证明与可视化 :使用Rodin工具集对证明模型的不变量进行了数学证明,从而确立了所建模系统的安全属性。该证明模型还可以使用ProB验证工具进行动画展示和可视化。尽管证明模型必然会抽象掉无关细节,并且在范围上仍有一些限制(如线性拓扑),但即使存在当前限制,这些关键概念在推理移动闭塞系统的安全性时已经证明是有价值的。
- 建模与工具使用方法 :本文还介绍了建模和工具使用方法,强调了将证明与动画相结合的重要性。解释了归纳属性的重要性,并认为以列车为中心的方法比以轨道为中心的方法更适合用于移动闭塞系统的证明。

5. HGV方法与ETCS Level 3建模的优势与意义
  • HGV方法的优势 :HGV方法将SPL工程和形式验证方法相结合,具有显著优势。它能够一次性验证大量系统集合,同时保持计算可行性,并且在适应不同铁路控制系统的特定要求和配置方面具有灵活性。该方法扩展了SPL分析在铁路控制系统验证领域的能力,为进一步的研究和实际应用展示了潜力。其主要目标是提高验证过程的整体有效性和鲁棒性,增强对铁路控制系统GDS和GSS正确性的信心。此外,该方法还支持生成配置数据,并在手动铁路场布局规划过程中提供交互式反馈,确保最终系统在现实场景中按预期运行。
  • ETCS Level 3建模的意义 :使用Event - B对ETCS Level 3全移动闭塞系统进行建模,有助于在系统级别验证关键安全属性,理解系统为何正确运行。通过开发用于证明和动画的Event - B模型,可以更好地利用动画和可视化的优势,辅助发现系统中的问题。如果能够将CBTC的知识和见解成功转移到移动闭塞ETCS系统中,将为铁路控制系统的设计和验证提供更丰富的经验和方法。
6. 总结与展望

综上所述,HGV方法和基于Event - B的ETCS Level 3系统建模在铁路控制系统的验证和设计中具有重要意义。
- HGV方法总结 :HGV方法为铁路信号系统的形式验证提供了一种有前途的进展,它弥合了GA和SA验证之间的差距,实现了更高效和全面的验证过程。随着铁路信号系统的复杂性和规模不断增加,像HGV这样的复杂验证工具和方法的需求将变得更加迫切。
- ETCS Level 3建模总结 :基于Event - B的ETCS Level 3系统建模为确保现代移动闭塞系统的安全提供了一种有效的方法。通过识别关键概念、进行数学证明和动画展示,能够更好地理解和验证系统的安全性。
- 未来展望 :尽管HGV方法和ETCS Level 3建模已经取得了一定的成果,但仍有进一步发展和完善的空间。对于HGV方法,需要进一步开发和细化,以充分实现其在大规模GA验证中的潜力。对于ETCS Level 3建模,需要克服当前模型的限制,如线性拓扑等,扩展模型的适用范围。同时,还需要探索如何更好地将CBTC的知识和见解转移到移动闭塞ETCS系统中,为铁路控制系统的安全设计和验证提供更强大的支持。

下面是一个mermaid流程图,展示ETCS Level 3系统建模的主要步骤:

graph LR
    A[确定建模目标] --> B[选择Event - B方法]
    B --> C[识别关键概念]
    C --> D[构建证明模型]
    D --> E[使用Rodin工具证明]
    E --> F[使用ProB工具可视化]

我们再用表格总结HGV方法和ETCS Level 3建模的优势和未来挑战:
| 项目 | 优势 | 未来挑战 |
| ---- | ---- | ---- |
| HGV方法 | 一次性验证大量系统,适应不同配置,提高验证有效性和鲁棒性 | 进一步开发和细化以实现大规模GA验证潜力 |
| ETCS Level 3建模 | 验证系统安全属性,结合证明与动画,辅助发现问题 | 克服模型限制,扩展适用范围,转移CBTC知识 |

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值