本发明涉及轨道交通领域,尤其涉及安全计算机平台热备控制逻辑安全分析方法。
背景技术:
为平衡和兼顾安全性与可用性,列控系统车载安全计算机平台(以下简称“安全平台”)多设计为热备冗余安全结构如二乘二取二结构,其中“二取二”主要通过同步比较关键数据确保输出一致,而在此基础上引入“二乘”主要目的是为了通过主备状态控制实现热备功能,以提高可用性。然而,将动态结构“二乘”引入到静态结构“二取二”之上,可能会带来新的隐患,降低既有的安全性。例如,当热备中的两系由于热备状态控制的设计缺陷,导致两系对列车接口的输出均被认为有效而出现“双主”状态时,以最不利情况考虑,如果此时两系输出紧急制动命令矛盾,不仅会失去热备的意义,也可能使得紧急制动命令无法输出,导致安全隐患。
通过对系统动态行为建模的方式是分析热备控制逻辑安全性的有效方法。由于安全平台结构的动态特点和并发性,系统宏观状态随着包含子系统和组件的数量的增加而大规模增长,状态变迁判定条件复杂交叉,加之故障的可能组合呈组合式爆炸,使得对安全平台进行安全分析的难度进一步加大。传统动态安全分析方法如markov链(mc)可对动态行为进行建模,然而mc分析中由于系统宏观状态过多,使得手工建模过程中要准确识别所有状态和状态转移变得几乎不可能,分析准确程度下降。再如随机petri网(spn)方法虽可建模异步动态系统,但petri网中的库所或信标对宏观状态即扁平化状态的抽象,并没有模块化的组合式建模机制,因此也存在与mc方法同样的建模困难。另外,动态故障树方法也存在类似的不足。
技术实现要素:
本发明的目的在于提供安全计算机平台热备控制逻辑安全分析方法,克服了人工分析低效率和易出错的实际问题。
实现上述目的的技术方案是:
一种安全计算机平台热备控制逻辑安全分析方法,包括:
建立基于cpn(coloredpetrinets,着色petri网)的正常行为模型;
建立基于cpn的故障行为模型;
建立基于cpn的综合行为模型;
进行基于cpn的cbm(comprehensivebehaviormodel,安全平台的综合行为模型)模型危险故障组合检验。
在上述的安全计算机平台热备控制逻辑安全分析方法中,所述的基于cpn的正常行为模型,包括:
存放表示组件当前状态颜色的库所;
存放输入流颜色的输入库所;
存放输出流颜色的输出库所;
表示组件会不断检查各自输入流是否满足当前状态的转移条件,并判断是否发射的两个变迁;
其中,输入流颜色代表了与该组件交互的其它组件的状态变化情况;输出流则将该组件的状态变化以颜色的形式传递给其它交互的组件,该组件的输出流是其它组件的输入流。
在上述的安全计算机平台热备控制逻辑安全分析方法中,所述的基于cpn的故障行为模型,包括:
分别表示故障模式未发生和发生的两个变迁;
存放当前故障模式的状态颜色的库所;
作为输出端口向系统中注入故障信息的输出库所。
在上述的安全计算机平台热备控制逻辑安全分析方法中,所述的基于cpn的综合行为模型,指:对正常行为模型和故障行为模型分别综合和修正之后,得到基于cpn的cbm模型。
在上述的安全计算机平台热备控制逻辑安全分析方法中,所述的进行基于cpn的cbm模型危险故障组合检验,包括:
对cbm进行正常行为模型检验,当得到无故障下系统不可达危险状态,进行下一步,否则表示系统功能性设计不正确;
对cbm进行综合行为模型检验,考虑各种故障及其组合,当得到故障组合使得系统行为进入危险状态,即是割集;否则,根据最小割集定义完成割集最小化处理,得到所有最小割集。
本发明的有益效果是:本发明着色petri网,通过对典型的二乘二取二的安全平台进行动态行为建模,描述了平台的两系热备控制的动态交互过程,并对所有考虑的通信故障进行了危险故障组合检验,找到了两系热备状态矛盾的最小割集,提高效率和准确性,解决了系统设计复杂且大状态空间条件下安全分析的难题,为设计开发人员改进设计提供了有力支持。
附图说明
图1是本发明的安全计算机平台热备控制逻辑安全分析方法的示意图。
图2是本发明中正常行为的cpn建模示意图;
图3是本发明中故障行为的cpn建模示意图;
图4是本发明中正常行为模型的综合的示意图;
图5是本发明中故障行为模型的综合的示意图;
图6是车载安全计算机平台采用二乘二取二的结构图;
图7是本发明中单套安全计算机的正常行为模型的示意图;
图8是本发明中同步通道的故障行为模型的示意图;
图9是本发明中控制通道的故障行为模型的示意图;
图10是本发明中状态1到1533路径举例的示意图。
具体实施方式
下面将结合附图对本发明作进一步说明。
请参阅图1,本发明的安全计算机平台热备控制逻辑安全分析方法,包括下列步骤:
步骤一,建立基于cpn的正常行为模型。
建立一个组件的正常行为的cpn模型an,如图2所示,其中变迁1(normalbehavior1)和变迁2(normalbehavior2)分别表示该组件会不断检查输入流i1和i2是否满足当前状态的转移条件,并判断是否发射(fire)这两个变迁。此时,输入流信息要同时被所有的变迁参考并参与判断,且在一个时间步内只有一个变迁会被发射,这是petri网的异步特性。库所sn用来存放表示组件当前状态的颜色,输入库所(inputport)和输出库所(outputport)分别是用来存放输入流颜色和输出流颜色的库所,输入流颜色代表了与该组件交互的其它组件的状态变化情况,输出流则将该组件的状态变化以颜色的形式传递给其它交互的组件,该组件的输出流是其它组件的输入流。图中,f1、f2、i1、i2分别表示两个正常行为在输入时的弧变量,生成和消耗库所sn中的状态颜色。
步骤二,建立基于cpn的故障行为模型。
故障行为模型可被视为一个与正常行为独立并发的行为系统,每个故障对应一个独立的cpn行为模型af。布尔变量fi表示第i个故障的状态,取值为{false,true},当fi=true时表示故障发生,初始值为false。故障行为模型af如图3所示,其中两个变迁分别表示故障模式未发生和发生,对外输出弧上的注式取值分别为n(正常)和f(故障),库所fn用来存放当前故障模式的状态颜色,输出库所(faultoutputport)作为输出端口向系统中注入该故障信息,参与系统的行为变化。
步骤三,建立基于cpn的综合行为模型;
模型综合的关键是接口关系的表达。组件间的接口形式如图4所示,其中两个变迁t、t’(变迁)分别表示发出组件中对外输出状态颜色的变迁和接收组件中消耗外来颜色的变迁。当发出组件由当前状态c(当前)变迁到状态ne(下一)时,发出组件对接收组件释放该颜色,此时输出库所(outputport)用来临时存放该颜色并以一条禁止弧保持发出组件的状态暂时不再发生变化,同时接收组件处于状态c’(当前),输出库所(outputport)中的颜色激活了接收组件的状态变迁条件,使得接收组件由状态c’进入状态ne’(下一),并消耗颜色c’,这样就实现了状态信息的传递。
故障行为模型的综合方法与正常行为模型的综合方法类似,如图5所示,变迁(normal和fault)将故障模式的状态颜色通过故障输出库所(faultoutputport)传递给正常行为组件中参与状态的变迁。
整体综合的目的是通过并发系统建模理论得到cbm,并自动生成完整的状态空间,即整体综合的本质是在经过以上两类综合和修正之后正常行为模型an与故障行为模型af的并发ay=(an1||an2||…||ani)||(af1||af2||…||afi)。自此就得到了基于cpn的cbm模型,作为下一步安全分析的输入。
步骤四,进行基于cpn的cbm模型危险故障组合检验。
危险故障组合检验又可称为最小割集求解,它的目的是为了在众多的故障的组合中找到导致隐患发生的那些组合,并且这些组合中删除任意一个故障后,都使得该组合不再会导致隐患的发生,这些组合称为最小割集,属于定性安全分析。由于最小割集对设计人员有关键指导作用,所以需要保证分析结果的正确性与完整性,正确性是指分析准确描述了系统失效的过程,准确找到了导致隐患发生的一系列故障组合,而完整性是指所有导致隐患发生的情形都被无遗漏地考虑在分析过程中。对基于cpn的cbm进行完全状态空间分析,可同时满足正确性和完整性。
最小割集通过对cbm的检验来判断筛选,任务分为两步:无故障情况下的模型检验和有故障情况下的模型检验。首先,需证明无故障状态下的cbm的功能性验证通过,即证明功能设计可实现且危险状态不可达。但即便如此,也不能证明在系统中某个故障或多个故障发生时系统仍然是安全的。只要存在故障,隐患永远不可避免会发生,所以,第二步还要考虑所有故障组合情形,判断哪些是导致隐患发生的割集和最小割集,有故障状态下的cbm模型检验目的就是通过自动地指派故障布尔状态变量的值的方式来生成割集和最小割集。因此,这两类任务中前者是后者的基础,两者都属于可达性的验证。具体包括:
1)对cbm进行正常行为的模型检验,此时故障集合
2)对cbm进行综合行为的模型检验,此时
以下通过具体例子对本发明进行说明:
车载安全计算机平台采用二乘二取二的结构设计,其结构如图6所示。假设切换继电器sw本身是可靠的,当系统正常时,a系为主(master),b系为备(slave),其中每系均有二取二结构构成,双通道内部用以太网实现同步通信。为实现两系之间热备过程中的数据共享,a、b两系之间通过以太网建立同步通信,当两系中任何一系发生故障时,可实现容错控制,通过控制状态的转移实现主备切换的热备功能。状态控制ca和cb通过以太网对两系的工作状态进行采集并相互检查,并通过控制切换继电器sw控制对外输出选择。由于以太网可能由于硬件随机故障或软件设计缺陷导致通信故障,这样会导致主备状态信息无法正常传输,而此时两系需要根据状态交互决策自身的主备状态转移并控制紧急制动的输出。因此,需要对主备控制逻辑进行安全分析,确保在通信故障时不会导致危险失效的发生。图6中,tcr、btm、dmi、hs、rtu、odo分别表示中国列车控制系统中车载系统的轨道电路读取器、应答器传输单元、司机驾驶显示、驾驶手柄、无线传输单元和测速单元。
步骤一、建立单套安全计算机的正常行为模型。设定单系安全计算机具备四个主备控制状态,初始状态idle、主状态mast和备状态slav,等待中间态wait,每个状态之间存在状态转移条件,同时两系对状态控制器ca、cb报告工作状态正常work和异常nowork。以a系为例,如图7所示,根据基于cpn的cbm建模规则,定义主备状态颜色集colsetstate=withidle|mast|slav|wait,运行状态颜色集colsetchec=withwork|nowork,生成工作状态颜色集colsets_c=productstate*chec,表示该系当前工作状态信息即图中a的颜色集类型,库所a用来存放当前a系的工作状态颜色。变迁transa表示a系的主备控制逻辑动作,蓝色弧表示对主备逻辑状态的控制输出弧。
步骤二、建立同步通道和控制通道的故障行为模型。a、b两系的主备控制逻辑是整个体系行为建模的关键,需在cpn中用ml语言表达出来并以弧标注的形式标注在蓝色弧中,用来控制本单系的逻辑状态,并对另一系输出本系的状态信息。以a系为例,其状态控制逻辑ml语言(片段)表达式为:
以上ml语言中,a和b表示两系的报告工作状态变量,sa和sb表示两系的主备逻辑状态变量,t1、t2表示同步通信状态变量,ea1、ea2、eb1、eb2表示状态控制单元ca、cb与两系的通信状态变量。同步通信只与a系和b系通过一个通道相连,如图8所示,库所s(syncro)用来存放同步通道故障状态的颜色,定义颜色集colsetsync=withsyn|nsyn,分别表示通信正常和故障,库所s_o1和s_o2为输出库所,变迁syn与nsyn用来生成通信状态颜色。其中,nsync表示通信通道状态处于丢失状态,以及t表示通道通信状态变量。
故障行为模型包含四个以太网通信通道的故障行为。通信状态包含正常状态on和故障状态off,故障行为模型如图9所示,定义故障状态颜色集colsetc=withon|off。由于通信连接交叉相连,可生成两通道通信状态积颜色集colsetcomm=productc*c,表示同一状态控制器两通道的故障情况,共四种组合。库所ca用来存放a系两通道通信状态,库所ao1和ao2是状态颜色输出库所,变迁a1_a2、a1_na2、na1_a2和na1_na2用来生成故障组合。b系两通道的通信故障行为模型与a系类似。
步骤三、建立安全控制平台的综合行为模型(cbm)。基于图8和图9,建立安全控制平台的综合行为模型。
步骤四、进行危险故障组合检验。首先安全平台热备控制功能的隐患是两系处于双主状态。对正常行为时模型进行检验,验证无故障时设计的安全性,检验结果如下表所示,
funhazardn=
(mark,dualset′a1n=1`(mast,work)
orelsemark.dualset′a1n=1`(mast,nowork))
andalso
(mark,dualset′b1n=1`(mast,work)
orelsemark.dualset′b1n=1`(mast,nowork))
andalso
(mark,dualset′ao11n=empty
andalsomark,dualset′ao21n=empty
andalsomark,dualset′bo11n=empty
andalsomark,dualset′bo21n=empty
andalsomark,dualset′s_o11n=empty
andalsomark,dualset′s_o21n=empty);
funfault0n=
(mark.dualset′ca1n=1`(on,on)andalso
mark.dualset′cb1n=1`(on,on)andalso
mark.dualset′syncro1n=1`(syn))
valcs0=exist_until(nf(″nofault″,fault0)
,nf(″dualmaster″,hazard));
eval_nodecs0initnode;
表中结果表明当割集集合为空时,即正常工作时,功能设计的行为不会进入双主的危险状态,检验返回结果为false,证明设计无错误。
对故障组合进行检验是安全分析的最终结论。案例中共有5个以太网通信故障,因此故障组合个数共32个,按照由低阶组合向高阶组合的顺序依次检验。由于故障发生的不确定性,故障组合数多等原因,导致状态空间巨大,运行场景众多,手工分析几乎不可能。使用cpntools中的状态空间工具实现自动化的故障组合检验,可快速得到所有组合的分析结果。以三阶组合中的两个组合为例,检验结果如下表所示:
表中检验结果表明对于fault1组合,它是由cb与a系检查通道故障、cb与b系的检查通道故障和双系同步通道故障组成的故障组合,它的返回值是false,即该组合不是割集;对于fault2组合,它是由双系同步通道故障、ca到b系的检查通道故障、cb与b系的检查通道故障组成的故障组合,它的返回值是true,即该组合是割集。在对所有32个组合检验后,最终结果共得到4个三阶最小割集:
①双系同步通道故障、ca到a系的检查通道故障、cb与a系的检查通道故障。
②双系同步通道故障、ca到a系的检查通道故障、cb与b系的检查通道故障。
③双系同步通道故障、ca到b系的检查通道故障、cb与a系的检查通道故障。
④双系同步通道故障、ca到b系的检查通道故障、cb与b系的检查通道故障。
对这些最小割集进行进一步分析可得导致进入双主的危险失效路径。首先应用以下ml语言生成满足双主条件的所有危险状态(cpn状态空间节点非真实系统危险状态,注意区别)列表,得到危险状态共108个:
以首次进入双主状态1533为例,可得从初始状态1到该状态的危险失效路径,应用以下ml函数可得经过的状态路径序列:
应用以下ml语句可得从初始状态1到1533经过的变迁路径序列:
状态空间中的1到1533状态路径举例如图10所示,该路径可作为本案例中最小割集②的一个证例(witness),该证例表明控制单元ca、cb在第一个周期与两系均有一个通道发生通信故障,而在第二个周期中两系丢失了同步通信,使得不能形成向对方发送检查状态的回路,导致双主。这些最小割集的本质是两系之间无法形成信息回路,无法相互得知对方的工作状态。依此方法可得到所有最小割集的一个证例,足矣说明危险双主状态发生的情景,并帮助改进设计。本案例完全状态空间生成时间22秒,生成状态16468个,弧61064个。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。