城轨车辆门系统是一个软硬件集成的系统,在对其控制软件进行安全完整性技术实现的过程中,首先,要建立或者完善研发体系,包括:建立或改善配置管理体系,导入配置管理、变更控制工具;建立或改善项目管理体系,导入项目管理工具;建立或改善开发质量控制体系,制定内审的制度与方法;固化产品及其软件的开发方法;对上述措施的输出进行标准化、规范化,制定一系列的组织级别规范或者规程文件。
其次,针对被评估项目的方案及其结构特点进行SIL分配分析。SIL本质上就是安全功能的可靠性,反面来说就是其失效率。如果安全功能可以分解为子功能,则SIL也可分解、分配。以车门系统为例,开门功能是与安全性相关的,通常客户要求此功能的SIL为4;而开门功能可分解为输入信号接收、软件逻辑控制、门扇驱动等功能,如果软件逻辑控制功能单点故障可导致意外开门,其对应的SIL应为4,但由于对其采取了额外的硬件保护措施,故其分配的软件SIL为2。
SIL分配的方法主要是故障树分析(Fault Tree Analysis,简称FTA)。首先,按照客户需求明确系统的风险等级目标,如门系统要求达到SIL为4或可容忍的危害率(Tolerable Hazard Rate,简为THR)小于10~9;接着,根据产品的结构特点以及客户需求识别系统危害,并以这些危害作为顶事件进行FTA,得出导致危害的原因,可能是某个功能失效或者某个元器件故障;然后,确定失效的功能中哪些是由软件实现的;最后,根据这些软件功能被允许的THR值,确定整体的软件SIL。
接着,在组织级别的定义框架内,根据软件部分的 SIL 需求,制定被评估项目的软件相关计划。在制订计划的过程中,需要明确软件开发的范畴与方法;确定生命周期模型(生命周期一般选择V模型);参照 EN 50128 选择合适的软件开发技术,如防出错编程(Defensive Programming)、软件错误影响分析、追溯性矩阵、流程图、边界值分析、代码检查等。同时,对于门控制软件内部的外购软件模块(如通信协议栈软件)以及与门控制软件存在协作关系的其他软件(如门维护软件)进行功能失效分析(Function Failure Analysis,简称FFA),证明其不会影响到门控制软件整体达到预期的SIL。如果FFA 得出某项功能失效后风险较高,则应根据最低合理可行原则(As Low As Reasonably Practically,简称ALARP)制订相关的措施降低此风险。
计划制定完成后将按照该计划执行开发,即:进行需求的整理,在系统需求的基础上编写软件需求;基于软件需求进行软件结构与设计,将软件划分为模块、函数,可采用Ward&Mellor、流程图等方法;基于结构设计进行SEEA等软件安全性分析工作;基于结构设计进行详细的模块设计,通过流程图、结构化英语(Structured English)等方法清楚地描述各函数内部的算法;按照模块设计的输出进行编码;从需求到编码的过程中,均有一系列的验证工作,通过追溯性矩阵、代码检查等方式确保需求与源代码之间的双向追溯性。
最后,按照计划中制定的集成策略,进行软件的集成、测试及发布。一般采用自下而上的方式,先完成单个函数的单元测试,然后将函数集成为模块完成模块测试,最后将模块集成为完整的软件进行软件整体的测试。由于门控制软件整体的测试无法脱离硬件平台单独测试,因此将软硬件集成在一起后再执行集成测试,而不执行单独的软件集成测试。所有的测试、集成工作都完成后,对项目研发过程中的验证、分析及测试进行总结,确认当前软件版本是否符合用户的需求,是否符合计划阶段制定的验证与确认目标。软件确认通过后,编制相关的文档对当前的软件版本状态进行说明,发布当前版本的软件。
此外,在软件开发过程中需要贯彻配置管理、项目管理及质量管理,定期跟踪项目进度,对偏离进行控制。同时,定期或按照生命周期阶段进行内部的配置与质量审计,对不符合项进行闭环控制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。