铁路信号产品中安全相关工具规范研究
2019-08-29邱兆阳
邱兆阳
(北京全路通信信号研究设计院集团有限公司,北京 100070)
1 概述
承担安全关键功能的信号控制系统,随着近年来欧洲安全标准的引入、国标转化和安全评估的普及,其开发过程的规范性越来越好,联锁和列控系统的开发厂商以及业主,对安全软件以及承担安全功能硬件的开发已经有了普遍的重视。
对于承担安全关键功能的信号控制系统所使用的工具,由于对工具的安全认知不足、之前缺少相应的标准规范、工具带来的问题不突出等因素,并未如同安全软件、安全硬件一样,引起开发厂家和业主的足够重视,投入足够的精力来规范工具的使用,以降低工具使用带来的风险。
使用合适的软件工具能够降低在软件开发过程中引入缺陷的风险,增加软件开发过程的完整性,从而增强软件产品的可靠性。由于使用软件工具能够减少软件生产需要的时间和工作量,因而也具有良好的经济效益。从另一个角度,为安全相关系统服务的工具,作为安全系统安全生命周期内影响安全的一个重要因素,也应该引起足够的重视,以提升安全效益。
2 标准要求
2.1 相关标准
对于工具安全性的要求,EN50128-2001 以及EN50129-2003 中并没有系统性的提出对工具安全性的要求,在EN50128-2011 中,采用IEC61508-2010 中对工具的分类原则,并在一个单独的章节中,对于各类工具提出要求,新发布的EN50129-2018中也增加了对工具的要求。
关于工具的定义,在IEC61508 中定义软件在线支持工具和软件离线支持工具两类。
软件在线支持工具:能直接影响运行中安全相关系统的软件工具。
软件离线支持工具:支持软件开发生命周期某个阶段并且不能直接影响运行中安全相关系统的软件工具。软件离线支持工具分为T1/T2/T3 3 类,EN50128-2011 借鉴了这一分类和定义。
在EN50129-2018 中提到的安全相关工具,定义为执行或支持各生命周期阶段活动,可能直接或间接影响安全的工具,本文将其称为系统设计支持工具。
软件的分类关系如图1 所示,虚线内为本文所讨论的工具。
图1 工具分类关系Fig.1 Tool classification relationships
2.2 IEC61508
IEC61508-2010 中,对于软件开发生命周期中可离线使用,并且不会直接在运行过程中对安全相关系统构成影响的软件工具进行分类,如表1 所示(为保持含义准确性,保留了英文原文)。
需要说明一点,此处软件工具的分类都指的是离线工具,即不与系统可执行代码一起参与运行的软件工具,与目标代码一起参与即时运行的工具,不能划分到这3 类工具中。因为根据IEC61508-2010,在线支持工具应作为安全相关系统软件的一部分(A software on-line support tool shall be considered to be a software element of the safety related system) ;离线支持工具则作为软件开发活动的一部分(Software off-line support tools shall be selected as a coherent part of the softwaredevelopment activities)。
表1 工具分类定义Tab.1 Tool classification definition
对 于T1,T2,T3 类 工 具 的 具 体 要 求,在IEC61508-2010-3 的7.4.4 节中规定。
2.3 EN50128
在EN50128-2001 中,并未包括系统性的工具要求。随着IEC61508-2010 的发布,EN50128 作为以IEC61508 为基础标准的铁路行业标准,直接采用IEC61508 对于软件工具的分类定义,参见EN50128-2011 的3.1.42-3.1.44。
EN50128-2011 相比2001 版,专门增加了6.7节对工具和语言的要求,并且分别对T1、T2、T3类工具给出对应的要求,对T1 类工具的要求最少,对T3 类工具要求最严格。为方便理解,对3 类工具分别摘录其中的一些要求,如表2 所示。
EN50128-2011 对于工具的要求条款与IEC61508-2010 中7.4.4 节的内容基本一致,相比IEC61508-2010,EN50128-2011 给出更具可操作性的要求,如提出工具替代人的原则,T3 类工具符合要求的证据给出方式。
需要注意一点,对工具的分类并不一定是直接对工具本身提出安全要求,不应用软件SIL 的概念与工具的Tx 分类来做映射,同样作为T3 类的两个工具,会因为输出故障检测手段的不同,而对工具本身产生差异较大的要求。
表2 T3类工具要求摘录Tab.2 Extract from T3 tools requirements
2.4 EN50129
EN50129-2003 中并没有系统性地对软件工具提出要求,只是在B.5 技术安全报告的安全相关应用条件章节中,要求考虑辅助设备和工具的安全性证明。但并没有就如何分析进行分析,以及接受标准等提出要求。
在新发布的EN50129-2018 中增加了一个新章节,内容包括既有系统的复用、安全相关工具,以及物理安全和IT 信息安全。
其中在安全相关工具小节,工作组参考了IEC61508-2010-3 中工具相关章节的内容,认为并没有必要强调T1/T2/T3 类工具的划分。并且只对直接可能影响安全的工具给出要求(等价于IEC61508-2010-3 中的T3 类工具)。
EN50129-2018 中提到的安全相关工具,定义为执行或支持各生命周期阶段活动,可能直接或间接影响安全的工具,如表3 所示。
与EN50128-2011 相比,EN50129-2018 中提到的工具范围更大,包括产品生命周期中用到的所有可能对安全有直接或间接影响的工具,而且EN50129-2018 中提到对安全的影响,不再局限于对执行代码(数据)的影响,而是从安全相关功能的设计或实现角度出发,涉及的范围更广。从另外一个角度,EN50129-2018 对工具的要求,填补了历史版本对工具管理的空白。
表3 EN50129工具分类Tab.3 EN50129 tool classification
EN50129-2018 对工具的分类,不考虑工具的范围,可以与EN50128-2011 的分类进行映射,如表4 所示。除分类外,EN50129-2018 同样要求工具应作为开发活动的一部分统一考虑,一个工具到另一个工具的接口应尽量实现自动化,以减少中间的人为错误。
表4 工具分类映射Tab.4 Tool classification mapping
对于直接影响安全的工具,EN50129-2018 提出要求,如表5 所示。
需要注意的是,EN50129-2018 特别提到,软件开发的支持工具并不在EN50129-2018 的范围内,而是由EN50128 来规定。
从EN50129-2018 对工具的要求来看,分类简洁,对于直接影响安全的工具所出的要求容易实施,更多考虑了工程实践,以及当前能达到的最佳实践技术。从工具的实际运用情况来看,EN50129-2018 提到的5 项可选技术要求,与EN50128-2011 的有所接近,提出的要求更加简明扼要,但EN50128-2011提出的要求更为具体。
表5 直接影响安全的工具要求Tab.5 Requirements for tools that directly affect safety
但是对于间接影响安全的工具,EN50129-2018的要求并不明确,只是笼统地提出了几条要求,可能造成标准执行的困惑。
2.5 IEC62279
IEC62279-2015 是以EN50128-2011 为基础,经部分少量修改形成的IEC 标准,国内的GB/T 28808 一般会等同采用IEC62279 标准。
从上面几小节的介绍可以发现,无论是IEC61508,还是EN50128 或EN50129,在对工具提出规范和约束时,都与产品的SIL 无关,这在执行时会造成一定的困惑。比如某工具UNITOOL 为安全相关产品T3 类工具,该工具用于SIL2 产品时应进行的安全活动与该工具用于SIL4 产品时应进行的安全活动,没有明显的差异。
虽然在EN50128-2011 及EN50129-2018 中都提到了需要确认所有工具和相关过程与安全完整性要求相适应,但并未给出其他可以指导实施,与安全完整性相关的技术要求。
IEC62279-2015 在对EN50128-2011 为数不多的几条修订中,就包括增加工具类别和产品安全完整性之间关系的说明,这样从实践的角度,可以更好的指导工具的确认过程。
IEC62279-2015 增加的内容,如表6 所示。
表6 工具类型和产品SIL安全完整性等级之间关系Tab.6 Illustrative relation between tool type and product SIL
根据表6 所示,再以上面提到的UNITOOL 工具为例,该工具用于SIL2 产品时,可以选择“在类似环境下成功使用的证据”作为确认方法 ;该工具用于SIL4 产品时,则选择“运行一个广泛认可的、具有确定性结果的测试用例/测试套件库,用于确定功能完整性”来作为确认方法 。
3 对比和结论
根据上面几个标准规范对工具要求的分析,对比如表7 所示。
IEC61508 作为整个电子/电气/可编程系统的基础标准,对工具的分类根据对安全性影响,提出基础分类要求,EN50128-2011 直接采用IEC61508 对工具的分类定义;相比EN50128-2011,EN50129-2018 对工具的分类更为简化,容易理解,避免了对工具分类的混淆;同时EN50129-2018 从系统的角度对工具使用提出要求,覆盖更广泛;IEC62279-2015相对EN50128-2011,增加了工具分类与产品SIL 的对应关系,更有利于解决工具确认实施的不确定性。
以上4 个标准中,对于工具与产品SIL 间的关系均涉及较少,也未明确如何评估软件工具的可置信度水平,从而根据其可置信度水平对软件进行后续的安全管理。
表7 标准要求对比Tab.7 Standard requirements comparison
目前信号关键安全产品的设计开发普遍都经过安全认证,从目前项目的实际执行情况来看,对工具的规范管理没有引起足够的重视,随着IEC62279-2015 对应国标版的即将发布,以及EN50129-2018的发布,工具开发使用将更加规范。