基于二取二平台的计算机联锁软件异构性能分析及设计
2016-12-06季忠洪王俊高冯浩楠
季忠洪,王俊高,冯浩楠
(1.广州铁路(集团)公司惠州电务段,广东惠州 516023;2.中国铁道科学研究院通信信号研究所,北京 100081)
基于二取二平台的计算机联锁软件异构性能分析及设计
季忠洪1,王俊高2,冯浩楠2
(1.广州铁路(集团)公司惠州电务段,广东惠州 516023;2.中国铁道科学研究院通信信号研究所,北京 100081)
为了提高联锁系统结构的效能,提出一种执行-监控的联锁结构。与同构、异构二取二结构相比,该结构在保证系统功能的前提下,通过降低软件复杂度的方法提升结构的可靠性,仿真对比实验结果表明,执行-监控软件的复杂度最低,仅为0.550,证明执行-监控结构的有效性。
铁路信号;二乘二取二结构;计算机联锁;复杂性;可靠性
1 概述
随着计算机、通信、网络和容错冗余技术的不断发展,用于铁路交通信号控制系统中的计算机联锁系统从单机运行、双机冷备、双机热备向二乘二取二(冗余系统)或三取二(容错系统)发展。目前我国计算机联锁系统以采用二乘二取二平台为主流方向,此技术已经在车站列控中心系统、临时限速服务器以及车载ATP等信号控制系统得到运用。二乘二取二系统由两系组成,两系以热备方式运行,每系采用双CPU运行系统软件,在硬件上完全实现了比较和冗余,提高了系统的安全性和可靠性[1-3]。
虽然二乘二取二系统在系统的可靠性和安全性都相比双机热备系统有了很大程度的提高,然而作为计算机联锁系统核心的联锁软件仍是采用单套软件,系统每系的两个CPU同时运行相同的联锁软件进行同步输出比较。此结构仅提高系统的硬件多样性,只能防止系统CPU及内存故障而造成的输出不一致,不能解决由于软件的缺陷和运行故障而造成的系统故障或失效。因此系统开发者只能通过严格的软件开发管理流程以及大量的软件测试来提高软件的可靠性和安全性。但是由于联锁软件的复杂度高,影响软件运行的因素繁多,所以在软件运行过程中,影响系统安全的软件故障仍时有发生[4-9]。
为解决上述问题,提出一种执行-监控的结构,与同构联锁软件、异构联锁软件结构在软件复杂性上进行了分析比较,仿真结果表明,执行-监控软件可以在实现相同功能的情况下,降低了软件的复杂性,优于同构和异构结构。
2 二取二平台的软件结构
2.1 同构结构
计算机联锁系统的二取二冗余结构大多采用的是同构模式,即两个CPU软件完成的功能完全相同,这样的冗余结构符合失效-安全原则,且只有当两个单元取得一致时才能够执行规定的功能,否则导向安全状态,可以排除同样差错结构的多重非共因故障,其中单系二取二软件结构参照图1,但是此结构可能对部分共因故障无法消除。
图1 双CPU单软件系统软件结构
2.2 异构结构
为了能够排除共因故障,异构软件的二取二模式被提出,即两个CPU运行联锁软件不同,通过软件方案的多样性提高软件的安全性,软件异构结构参照图 2。但是此结构仍然存在一些缺点:软件的异构性增加了开发成本和周期,提高了研发验证的难度,对结构的同步性也提出了很高的要求。
图2 双CPU双软件系统软件结构
2.3 执行-监控结构
监控软件是对执行软件的运行进行输出监控,与联锁软件运行在系统的不同CPU中,如图3所示。监控软件与联锁软件有相同的输入条件,运行独立于联锁软件,只是当联锁软件有输出时,才对联锁软件的输出和本身输入条件进行比较运算,并以运算结果控制联锁软件的输出。当联锁软件的输出不能经过监控软件的校核次数大于规定次数后,联锁软件停止输出。
图3 双CPU联锁软件结合监控软件的系统软件结构
3 可靠性分析
3.1 可靠性分析指标
可靠性是衡量系统软件性能的重要指标,反映了软件在规定时间规定条件下完成规定任务的能力,用于维护系统的功能的正常执行。软件的可靠性与软件的复杂性λ、测试的有效性两个因素相关[10-12]。其中软件复杂性计算公式如式(1)所示
(1)
式中,软件复杂性与程序Halstead度量lnHv、软件McCabe圈数lnMl、程序信息流lnIf和软件代码行数lnLOC四个参数有关。
3.2 执行-监控结构处理方法
执行-监控平台如图3所示。联锁软件与监控软件分别在两个CPU运行。图4为联锁软件与监控软件运行时序图。两个软件采用不同的开发人员、不同的编程语言和不同联锁逻辑思想(如基于网络结构的链表联锁逻辑和基于联锁表结构的列表联锁逻辑)。两个软件独立运行,互不影响,减少系统软件的同构性,提高系统软件的多样性。从而提高了系统软件的可靠性和安全性。
图4 联锁软件与监控软件运行时序
执行软件包括输入处理、逻辑处理和安全输出处理3个阶段;而监控软件只包括输入处理和安全输出判断2个阶段。
3.2.1 输入处理
联锁软件和监控软件都接收从平台传递的系统输入信息,包括轨旁设备的采集信息以及联锁上位机的控制命令。除此之外监控软件还需要把联锁软件的安全输出(进路信息表和对外驱动命令)和设计联锁表作为其输入。
3.2.2 逻辑运算
执行软件根据车站轨道的网络特点,把站场轨旁设备作为网络中的节点,在收到系统平台的轨旁设备采集信息和上位机操作的命令信息后,采用网络链表方式把整个站场设备用链表形式连接起来进行逻辑运算[13-15]。逻辑软件包括7个模块:主模块(1)、信号模块(2)、道岔模块(3)、无岔模块(4)、逻辑区段模块(5)、绝缘模块(6)和进路信息处理模块(7)。实现的功能包括:执行上位机操作命令、进路的选路逻辑、动作道岔逻辑、进路锁闭逻辑、信号开放逻辑和进路及道岔解锁逻辑。
3.2.3 输出处理
执行软件在逻辑运算完成后得到信息列表,其中信息列表的最后一位为校验位。信息列表通过平台传输给监控软件,监控软件根据接收到的轨旁设备采集信息、上位机命令和执行软件的计算结果,与预存设计联锁表进行校核运算,如果一致将校验位设置成1并通过返回执行软件。执行软件在收到数值为1的校验位后,将对外输出进路信息。如果执行软件得到的校验结果为0,将再次发送与上次同样的进路列表信息给监控软件,要求重新校核。校核次数达到规定的次数后,仍不能通过校核,则联锁软件设置此进路故障,将不再发送此条进路信息。
4 仿真试验及分析
采用TYJL-Ⅲ型硬件平台,选取站场对执行-监控结构软件进行仿真测试验证,测试站场如图5所示。以图5中虚线表示的S1-S3的进路为例,在联锁软件排列进路时,执行软件运行链表S1->C1->C3->C9->X3->S3,信息从信号S1传递到C1,再从C1传递到C3,依次传递至S3信号,由此列表就构成列从S1到S3的进路。消息在从S1到S3或从S3到S1的传递过程中,不断检查进路中有关轨旁设备的状态,把轨旁设备的状态信息附加到链表信息中传递到进路始端信号或终端信号,完成进路的逻辑检查。同时填写进路列表(参照表1)用于与监控软件的信息交互。
图5 简单站场平面示意
信息列表是由执行软件生成,格式参照表1。其中进路号字段与设计联锁表中进路号对应,信号显示字段6代表预显示双黄灯,道岔位置字段数字序列奇数位代表道岔的索引,偶数位表示道岔的位置。如表1中道岔序列表示3,2表示道岔C3道岔反位。道岔锁闭字段奇数位代表道岔索引、偶数位0表示道岔锁闭,偶数位1表示道岔未锁闭。同样轨道区段字段奇数位表示区段索引,偶数位1表示区段空闲。校核结果字段为0表示未校核通过。
表1 未校核的进路列表信息
监控软件在收到执行软件计算完成的进路信息表和驱动命令后,与预先输入的设计联锁表信息进行校核。预存联锁表如表2所示。
表2 监控软件预存联锁
执行软件发送给监控软件的进路列表如表1所示,进路号为1,信号命令尚未执行输出所以为预双黄。监控软件参照轨旁设备采集信息、上位机命令以及预先输入的联锁表中进路号为1的数据对进路表中的信息进行校核(表2)。当校核通过时,把进路列表中表中的校核结果填写为1(参照表3),再把同意后的进路列表传递给执行软件。
表3 校核成功的进路列表信息
执行软件再接收到监控软件反馈的进路列表信息后,对进路信息和原先发送的进路信息进行比较。当根据监控软件的校核结果为1时,系统对外输出S1信号开放双黄的命令;当监控软件的校核结果为0时,联锁软件当下次重新开放此条进路的信号时,重新填写此进路信息发送给监控软件。
从信号开放到信号关闭前,执行软件每个周期都要把此进路信息发送给监控软件对此进路进行校核。当校核错误达到规定次数后,执行软件将停止对外输出,设置此进路为故障状态。
根据第4节软件可靠性的测评方法对3种软件结构的可靠性进行评估,由于仿真实验对3种软件的测试方法和硬件平台是相同的,因此可以不考虑测试有效性这个影响因子,只评估软件的复杂性即可。根据公式(1)得到结果如表4所示。
表4 3种结构软件复杂性
从表4可以看出,3种结构中,异构软件复杂性略高于同构软件,这是由于异构软件的两个联锁软件结构不同,同时还需要增加一些额外代码来保证两个联锁软件同步执行。执行-监督结构的软件复杂性最小,仅为0.550,这是因为在监控软件中只有查表程序,与复杂的逻辑程序相比,从功能角度就决定了监控程序非常简单、便于实现。此外,执行-监督软件实现了二取二软件结构的多样性,保证了系统的可靠运行。
5 结语
执行-监控软件结构在增强系统软件多样性和安全功能的前提下,弥补了目前同构和异构软件系统的不足。相比目前系统软件结构,监控软件的功能简单,且实现容易,降低了二取二系统的复杂度,提高了可靠性,为二取二系统结构进一步完善提出了新的实现方案。
[1] 陈光武,范多旺,魏宗寿,等.基于二乘二取二的全电子计算机联锁系统[J].中国铁道科学,2010,31(4):138-143.
[2] 冯雪,王喜富.基于动态故障树的计算机联锁系统可靠性及性能分析研究[J].铁道学报,2011,33(12):78-82.
[3] 韩安平,段武.二乘二取二硬件安全冗余信号控制平台关键部件的安全设计和可靠性研究[J].铁路技术创新,2015(2):99-102.
[4] 冯涛,郑云水.新型网络计算机联锁仿真系统研究与设计[J].铁道标准设计,2013(3):133-137.
[5] 旷文珍.铁路车站分布式计算机联锁[J].中国铁道科学,2012,33(5):139-143.
[6] 何文卿.6502电器集中电路[M].修订版.北京:中国铁道出版社,2005:11-20.
[7] 王鲲,龙广钱,王俊高,等.计算机联锁子系统的研究[J].现代城市轨道交通,2012(4):1-3.
[8] 苏宏升,文俊.区域计算机联锁系统安全性分析的动态故障树模型与方法研究[J].铁道学报,2015,37(3):46-53.
[9] 周夏芳.基于二乘二取二平台的通信设计[J].铁路通信信号工程技术,2014,11(1):59-61.
[10]褚彦明.软件可靠性中的复杂度评估[D].上海:上海大学,2008.
[11]徐拾义,张鼎.软件可靠性新模型研究[J].内蒙古大学学报,2011,42(5):488-497.
[12]朱经纷,徐拾义.软件可靠性综合模型的分析和研究[J].计算机科学,2009,36(4):181-187.
[13]陈光,杨扬.计算机联锁系统进路表自动生成算法[J].铁路计算机应用,2015,24(5):5-8.
[14]Wang Dong, Chen Xiangxian, Huang Hai. A graph theory-based approach to route location in railway interlocking[J]. Computers & Industrial Engineering, 2013,66(4):791-799.
[15]Chen Xiangxian, He Yulin, Huang hai. A component-based topology model for railway interlocking systems[J]. Mathematics and Computers in Simulation, 2011,81(9):1892-1900.
Analysis and Design of Heterogeneous Performance of Interlocking Software Based on Two-out-of-two Platform
JI Zhong-hong1, WANG Jun-gao2, FENG Hao-nan2
(1.Huizhou Communication and Signal Division, Guangzhou Railway (Group) Corporation; Huizhou 516023, China;2.Signal and Communication Research Institute, China Academy of Railway Sciences, Beijing 100081, China)
In order to improve the efficiency of the interlocking system, an execution-supervision computer system is developed. Compared with homogeneous and heterogeneous 2 vote 2 system, the novel system improves the reliability by reducing software complexity while keeping the system function. The simulation and comparison results show that the complexity of execution-supervision software is the lowest, only 0.550, which proves the validity of the execution-supervision structure.
Railway signaling; Double 2-vote-2 fault-tolerant architecture; Computer based interlocking system; Complexity; Reliability
2016-04-14;
2016-06-12
中国铁道科学研究院通信信号研究所重点计划(1352TH0202,1352TH0402,1652TH0903)
季忠洪(1971—),男,高级工程师。
1004-2954(2016)11-0135-04
U284.3
A
10.13238/j.issn.1004-2954.2016.11.030