• 查询稿件
  • 获取最新论文
  • 知晓行业信息
官方微信 欢迎关注

基于SCADE的计算机联锁软件开发研究

张恬

张恬. 基于SCADE的计算机联锁软件开发研究[J]. 铁路计算机应用, 2020, 29(12): 53-56.
引用本文: 张恬. 基于SCADE的计算机联锁软件开发研究[J]. 铁路计算机应用, 2020, 29(12): 53-56.
ZHANG Tian. Study on developing computer interlocking software using SCADE[J]. Railway Computer Application, 2020, 29(12): 53-56.
Citation: ZHANG Tian. Study on developing computer interlocking software using SCADE[J]. Railway Computer Application, 2020, 29(12): 53-56.

基于SCADE的计算机联锁软件开发研究

基金项目: 中铁第一勘察设计院集团有限公司科研计划项目(院科18-32)
详细信息
    作者简介:

    张 恬,高级工程师

  • 中图分类号: U283.5

Study on developing computer interlocking software using SCADE

  • 摘要: 计算机联锁软件安全性要求高,功能不断扩展,其开发与维护面临的压力日益增大。文章研究高安全性应用程序开发环境(SCADE)及其支持的软件开发过程,依据计算机联锁系统相关技术规范定义的需求规约,尝试利用SCADE进行计算机联锁软件开发。研究实践表明,SCADE是一套较为实用的基于模型的软件工程开发工具,可支持V模型软件开发流程,能够帮助开发人员有效管控软件开发风险,为联锁软件的进一步开发提供参考。
    Abstract: Computer interlocking software is one kind of safety critical application. With the continuous expansion of its functionalities, its development and maintenance will face ever-increasing pressures. Therefore, a study was made on the SCADE, namely Safety Critical Application Development Environment, and the process of software development that the SCADE can support. According to the requirements formulated in related technical specifications, a trial was made to use the SCADE to develop computer interlocking software. The practice demonstrates that the SCADE is a suite of tool applicable for model-based software engineering and can enable V-model software development process and helps the developers effectively manage the risks associated with software development. It provides a reference for the development of interlocking software.
  • 计算机联锁(CBI,Computer Based Interlocking)系统通过技术手段建立信号机、轨道电路以及进路上道岔之间的相互制约关系[1]。随着铁路信号工程的集成化发展,CBI系统接入和控制的设备种类不断增加。目前,城市轨道交通的CBI系统增加了屏蔽门、防淹门、车库门等设备与接口,高速铁路的CBI系统增加了与列控中心(TCC)的接口[2],以及与相邻车站CBI系统[3]等的信息交互接口。不断扩展的功能要求使得CBI系统软件复杂度日益增加,给CBI系统的软件开发和维护带来很大的压力。

    CBI系统应工作可靠,符合故障–安全原则,满足GB/T 28809-2012规定的SIL4安全等级要求[4]其安全性除了依靠采用冗余结构的系统硬件,还应注重其软件的安全性[5]

    高安全性应用程序开发环境(SCADE,Safety Critical Application Development Environment)是由法国研制的一个高安全性应用程序开发环境,提供了一套由模型驱动的软件开发工具包。目前,SCADE被广泛应用于高安全性需求的应用领域,例如航空、轨道交通、核电等。近年来,SCADE开始应用于国内铁路行业信息系统开发。文献[6] 对基于SCADE的安全软件开发方法展开研究,文献[7] 研究并实现了基于SCADE的联锁列控一体化系统,文献[8] 提出采用SCADE实现闭塞分区逻辑功能的建模。

    本文基于SCADE的软件开发流程,依据CBI系统的软件需求规约,研究利用SCADE进行CBI系统软件的开发。

    SCADE是一种由模型驱动的软件开发方法,软件开发过程围绕形式化模型展开。为保证模型满足功能需求,在各个开发阶段可对所建立的模型进行仿真和验证,避免功能实现出现偏离。

    基于SCADE的软件开发流程见图1所示。

    图  1  基于SCADE的软件开发流程

    SCADE提供了一组支持工具,覆盖从软件需求分析到代码实现、验证测试全过程的软件开发工作,方便开发人员验证模型实现的正确性。其中,SCADE Architect为系统建模与验证工具,SCADE Suite为基于模型的控制软件建模、仿真、验证和自动代码生成工具,SCADE Test为模型级自动化测试工具,SCADE Simulation MTC为模型覆盖率测试和分析工具。SCADE可根据经过验证的模型自动生成代码,支持自动化单元测试。因此,在SCADE环境下,软件开发的核心工作是软件需求规约和设计,软件开发人员采用直观的、易于理解的图形化方式完成需求建模和软件设计;此外,集成测试和系统测试是通过基于软件结构的覆盖率分析和严格的形式化验证实现,可保证软件实现的正确性。

    CBI系统的主要任务是监视和控制进路上相关设备按照一定约束和程序动作,进而自动完成进路控制。信号机、道岔、轨道电路是主要室外设备,室内设备主要包括人机交互层、联锁控制层及I/O接口层[9]。CBI通过车站室外现场设备、TCC及调度集中(CTC)等其它子系统提供的信息进行逻辑运算,再向车站室外控制设备输出控制指令,并将安全信息传送给TCC等其它子系统。CBI系统软件基础功能描述见表1

    表  1  CBI系统软件基础功能
    功能模块功能描述
    进路命令处理接收并处理CTC发送来的进路命令
    轨道空闲处理接收和处理轨道区段状态,并将信息传送给其它子系统
    进路控制排列、锁闭和解锁进路
    道岔控制解锁、转换和锁闭道岔
    信号控制控制信号状态,并发送行车许可
    下载: 导出CSV 
    | 显示表格

    CBI系统分为逻辑运算层、平台层、子系统接口层,联锁软件的开发主要是实现逻辑运算层。

    对于具体的CBI车站,车站配置的其它信号设备或有不同,如CTC、TCC、信号集中监测(CSM)系统等。为此,除了实现通用基础功能的处理逻辑,还需定义其具体的外部系统接口逻辑,形成适用于本站工程环境的CBI逻辑。CBI系统的基本结构如图2所示。

    图  2  CBI系统基本结构示意

    CBI系统由室外现场设备的输入驱动,且需要与CTC、TCC进行实时通信,是一种典型的面向数据流和变化传播的反应式系统。对于这样的系统,系统建模不仅需要考虑系统各个状态间的转换关系,还需考虑在同一步骤中状态与环境之间复杂的约束关系,CBI系统的总体功能模型如图3所示。

    图  3  CBI系统总体功能模型

    总体功能采用层次化结构设计,按照基础功能可划分为进路控制模块、信号控制模块、道岔控制模块,各个子功能模块间相互独立。逻辑处理模块通过对子功能模块接口函数的调用来完成各模块的输入、输出和逻辑处理,实现联锁基础逻辑功能。

    SCADE提供数据流图和安全状态机2种图形化建模方法[9-10]。其中,数据流图是一种基于LUSTRE语言的建模语言,以图形化方式展现数据在系统中的流动和处理过程,主要用于连续性系统的建模。安全状态机是一种基于同步假设的可视化建模语言,能直观的描述系统控制流和逻辑判定功能,主要用于离散系统的建模。

    以进路锁闭模块为例,在SCADE中建立其对应的数据流图模型,包括“锁闭检查”和“锁闭执行”2部分。其中,进路锁闭检查数据流见图4

    图  4  进路锁闭检查数据流

    在锁闭条件检查阶段,重复检查进路上各个控制对象的状态,要求轨道电路区段处于空闲状态、所有道岔位置正确、本咽喉区没有建立敌对进路,且另一咽喉区也没有建立迎面敌对进路。在图4中,输入的现场道岔、敌对信号、道岔及照查数据,分别由CheckSecZy、Check Opp Signal Open、Check Switch Position完成逻辑运算后,输出结果Lock Con;若Lock Con=ture,表示满足进路锁闭条件;反之,表示进路锁闭条件不满足。

    锁闭执行功能的状态图如图5所示,包含初始状态(init)、进路锁闭成功(RouteLockSucc)、进路锁闭失败(RouteLockfail)3个状态。

    图  5  进路锁闭执行功能的状态

    当进路锁闭条件满足,转移到RouteLockSucc状态,同时将进路标志设置为信号开放(opening),并将信号机、道岔、区段锁闭到规定位置,发送进路锁闭成功命令(LockSuccess);当进路锁闭条件不满足(LockCon==false),则转移到RouteLockfail状态,发送进路锁闭失败命令。

    SCADE Simulation MTC可检查和分析状态图和数据流图模型具体实现的需求以及未覆盖的需求。以联锁逻辑模型中的任意节点为例,对该节点进行MTC覆盖率分析。当节点插装完毕后,运行一个周期,得到该节点初始测试用例结果的MTC覆盖率分析情况。按照MC/DC覆盖准则,需增加7个输入条件分别有且仅有一个为假的情况,依据提示信息增加或修改测试案例,最终使得覆盖率达到100%。测试结果如图6所示。

    图  6  SCADE Suite测试结果

    SCADE Suite中KCG工具能够自动生成联锁系统工程的C语言代码,如图7所示。C语言代码覆盖系统模型的所有输入、输出和功能逻辑,保证模型与代码的一致性。

    图  7  SCADE Suite中KCG工具自动生成的C语言代码文件

    传统的CBI软件开发方法中,需求规约、概要设计与详细设计多为自然语言描述,易出现定义模糊和二义性问题,且软件开发以耗时费力的代码编写和测试为主,代码的准确性和可读性难以保证,加重后期维护的难度。此外,单元测试和集成测试需要借助第三方验证工具和编写大量测试用例,工作量大,存在验证不充分的问题。

    SCADE提供的开发工具涵盖需求管理、模型建立、模型验证、代码生成、验证测试全过程,开发过程清晰、直观、连贯;利用SCADE开发软件,开发工作的重点集中在前期阶段,且确认工作与开发过程能够同步进行,支持V模型软件快速开发模式,帮助开发人员有效管控软件开发风险;SCADE代码生成器可快速产生面向工程的C语言代码,自动生成的代码规范、可读性好,且可追溯。

    经过初步测试验证,利用SCADE工具开发的CBI系统软件功能符合预期,可大幅缩短开发时间。

  • 图  1   基于SCADE的软件开发流程

    图  2   CBI系统基本结构示意

    图  3   CBI系统总体功能模型

    图  4   进路锁闭检查数据流

    图  5   进路锁闭执行功能的状态

    图  6   SCADE Suite测试结果

    图  7   SCADE Suite中KCG工具自动生成的C语言代码文件

    表  1   CBI系统软件基础功能

    功能模块功能描述
    进路命令处理接收并处理CTC发送来的进路命令
    轨道空闲处理接收和处理轨道区段状态,并将信息传送给其它子系统
    进路控制排列、锁闭和解锁进路
    道岔控制解锁、转换和锁闭道岔
    信号控制控制信号状态,并发送行车许可
    下载: 导出CSV
  • [1] 中国铁路总公司. 铁路信号设计规范: TB 10007-2017[S]. 北京: 中国铁道出版社, 2017.
    [2] 中国铁路总公司. 调度集中与计算机联锁接口规范: TB/T 3496-2017[S]. 北京: 中国铁道出版社, 2017.
    [3] 中国铁路总公司办公厅. 车站计算机联锁间通信接口暂行技术规范: 铁总运[2016]69号[S]. 北京: 中国铁路总公司, 2016.
    [4] 中国铁路总公司. 铁路车站计算机联锁技术条件: TB/T 3027-2015[S]. 北京: 中国铁道出版社, 2015.
    [5] 罗 娟,王燕芩. 形式化方法应用于计算机联锁软件的安全验证研究 [J]. 铁路计算机应用,2016,25(11):53-57. DOI: 10.3969/j.issn.1005-8451.2016.11.013
    [6] 陈淑珍,陈荣武,李 耀. 基于SCADE的安全软件开发方法研究 [J]. 铁路计算机应用,2015,22(3):14-18. DOI: 10.3969/j.issn.1005-8451.2015.03.004
    [7] 韩冰倩. 基于SCADE的联锁列控一体化系统研究与实现[D].北京: 北京交通大学, 2019.
    [8] 崔佳诺,张 阳. 基于SCADE的区间占用逻辑检查功能设计与实现 [J]. 铁道通信信号,2018,25(9):5-8.
    [9] 史艺菡,徐 杰,郑建武. 车站计算机联锁系统建模及实现 [J]. 电气技术,2019,20(S1):61-68.
    [10] 张 重,刘晓娟,李国瑞. 基于SCADE的城轨联锁软件开发方法的研究 [J]. 铁路计算机应用,2014,23(2):14-16. DOI: 10.3969/j.issn.1005-8451.2014.02.004
  • 期刊类型引用(1)

    1. 马牧云,张亚东,李耀,郭进. 基于STAMP与模型检验的全自动无人驾驶复杂运营场景安全验证方法. 铁道标准设计. 2024(03): 198-207 . 百度学术

    其他类型引用(2)

图(7)  /  表(1)
计量
  • 文章访问数:  90
  • HTML全文浏览量:  128
  • PDF下载量:  17
  • 被引次数: 3
出版历程
  • 收稿日期:  2020-04-07
  • 刊出日期:  2021-01-07

目录

/

返回文章
返回