黄清淮,刘明明,黄 鹏,曾 山,吕 曦
(中国核动力研究设计院 核反应堆系统设计技术重点实验室,成都 610213)
核电站数字化控制系统是保障核电厂安全运行的核心,尤其是安全级DCS。结合目前核电站安全级DCS 的工程实践,为了提高安全级DCS 软件的安全性[1],根据IEEE1012等相关标准的要求,对安全级DCS 应用软件的开发过程进行验证和确认(V&V)活动,对应用软件开发过程中的危险进行分析[2]。
2018 年12 月6 日,中国核动力研究设计院自主开发的安全级DCS 平台NASPIC 正式发布,成功打破了国外厂商在核安全级DCS 领域的垄断地位,为核安全级DCS 市场带来了新鲜血液。随着NASPIC 平台的正式发布,应用NASPIC 平台的核电站工程项目逐渐铺开[3],本院在安全级DCS 工程设计和实施过程中,除了在V&V 活动中对软件开发过程的危险进行分析以外[4],探索了在安全级DCS 工程设计和实施的各个阶段,由工程设计与实施人员对安全级DCS 系统及软件开展安全分析,从另一个角度加强了安全级DCS 的纵深防御,以确保核电站安全稳定运行。本文重点阐述工程设计与实施人员进行的安全分析技术活动。
安全级DCS 危害分析相关的技术活动与工程设计和实施活动、V&V 活动相关,并行开展具体工作。在安全级DCS 生命周期模型中,上述各种活动之间的对应关系如图1 所示[5]。
图1 安全级DCS生命周期模型及其危害分析、V&V活动Fig.1 Safety-level DCS life cycle model and its hazard analysis,V&V activities
通过在生命周期的各个阶段开展危害分析活动,实现危害分析技术活动,每个阶段的危害分析技术活动主要包含3 方面内容:危害识别、危害评估、危害控制[6]。
本节规定了安全级DCS 工程设计和实施生命周期中,为保证项目系统和软件的安全性所要开展的与危害性分析相关的全部活动。危害分析的难点在于危害的识别,因此本节主要针对危害的识别进行描述。
初步危害分析(PHA)是一种初始的识别技术,它与专家对系统各个部分的自由讨论会议相似,系统的关键功能清单和不期望的事件清单提供了PHA 的起点并定义了PHA 的范围。在执行初步危害分析前,应确定系统的关键功能清单和不期望的事件清单。完成初步危害分析后会得出项目的初步危害清单(PHL),依据PHL 在工程设计和实施生命周期的各个阶段分别进行各阶段的危害分析。危害识别的方法本身有很多,本文提出了其中一种方法,且将根据项目实践过程逐步优化。系统初步危害清单举例见表1。
表1 初步危害分析内容Table 1 Contents of preliminary hazard analysis
2.2.1 需求危害分析
工程软件负责人负责组织并开展软件需求的危害分析活动。软件需求危害识别过程涉及到对软件需求、接口需求和软件单元结构(各个站之间)的评估,其目的是识别可能导致系统危害的需求,如不合理的需求实现,可能影响安全功能的执行或遗漏的需求可能导致系统存在缺陷。软件需求危害分析可从以下几个对软件质量特性产生影响的方面进行考虑。
软件的其他质量特性,如完备性、一致性、正确性、可追踪性、无二义性、可验证性等,通常被认为是软件需求规范必备的质量特性,宜将其视为需求分析和验证的内容,而非危害分析的要素。
表2 软件质量特性Table 2 Software quality characteristics
2.2.2 设计危害分析
工程软件负责人负责组织并开展软件设计的危害分析活动。软件设计基于已经验证的模块(算法块)组合实现,因此工程设计的设计危害分析活动能够直接在应用和功能的层次开展(非代码层次)。针对计算机化的软件设计危害识别还需对潜在的计算问题进行危害分析,如不正确的公式、以不正确的顺序执行公式要素的运算、不充分的精度和扫描速率、不正确的单位、非法数字、超范围的结果、符号法则故障。软件设计危害分析活动可从以下方面进行考虑,同时软件负责人和软件组成员有义务对以下内容进行补充。
2.2.3 实现危害分析
工程软件负责人负责组织并开展软件实现的危害分析活动。实现阶段的危害分析主要是检查软件实现阶段的代码编译是否带来了新的危害。软件实现阶段也可能产生危害,可能引入的危害包括:
◇ 工具的使用。
◇ 编码/编程的实际操作。
◇ 开发环境。
◇ 配置控制。
如软件设计基于一个比较完整的算法库进行,如在软件实现时对未使用的算法块进行了编译,可能会对最终的编译结果产生影响。
2.3.1 需求危害分析
工程硬件负责人负责组织并开展硬件需求的危害分析活动。执行硬件需求危害分析前,应由硬件负责人整理应用硬件的所有需求。硬件需求危害识别过程涉及到对硬件功能性能要求、系统接口、设计要求和环境要求的评估,其目的是识别可能导致系统危害的需求,如不合理的需求实现,可能影响安全功能的执行或遗漏的需求可能导致系统存在缺陷。硬件需求危害分析的主要工作见表4。
表3 软件设计危害分析内容Table 3 Software design hazard analysis content
表4 硬件需求危害分析Table 4 Hazard analysis of hardware requirements
2.3.2 硬件设计危害分析
工程硬件负责人负责组织并开展硬件设计的危害分析活动。硬件设计的危害分析需要在需求阶段的可能危害以外,识别出详细设计阶段可能引入的新的危害,并进行分析、评估和处理。硬件设计危害分析活动可从以下方面进行考虑,同时硬件负责人和硬件组成员有义务对以下内容进行补充。
2.3.3 生产制造危害分析
生产制造负责人负责组织并开展硬件生产制造的危害分析活动。生产制造阶段的危害分析主要是检查硬件的生产制造是否带来了新的危害。生产制造阶段也可能产生危害,可能引入的危害包括:
表5 硬件设计危害分析Table 5 Hazard analysis of hardware design
◇ 工具的使用。
◇ 生产制造的实际操作。
◇ 生产环境。
集成测试阶段主要是系统软硬件集成,包含硬件集成和软件代码下装,集成阶段的危害分析主要检查软硬件集成是否引入新的危害。集成阶段由生产制造负责人组织并开展危害分析活动,危害分析活动的开展可按如表6 所示的方面进行。
表6 集成危害分析Table 6 Integrated hazard analysis
系统确认阶段与其他阶段不同,系统确认阶段的危害分析活动主要针对危害进行测试和验证,测试时应特别注意对危害措施是否正确实施进行验证,同时根据常规的测试活动分析判断是否存在其他危害。该活动由测试负责人组织和实施。
系统安装和调试阶段主要是安全级DCS 发货到现场进行安装和调试。因电厂调试期间现场环境的复杂性,系统安装和调试阶段的危害分析活动包含两部分:
1)系统安装和调试前进行,评估系统安装和调试过程中可能引入的危害,并采取措施进行预防。
2)系统安装和调试后进行,分析系统现场安装和调试实际过程中是否引入了新的危害。该活动由测试负责人组织和实施。
系统修改阶段是安全级DCS 到现场后需要进行更改,系统的修改和系统设计制造过程中的迭代一样,可能引入新的、严重的危害,因此在系统修改后应进行全面的、覆盖各个阶段的危害分析,具体分析方法按照各个阶段执行。系统修改危害分析由工程设计负责人牵头,相关专业负责人协同执行。
为了提高核电站安全级DCS 系统及软件的安全性,在验证与确认活动中所进行的危害分析之外,本文提出了工程设计和实施人员在安全级DCS 全生命周期进行系统及软件安全分析的方法和实践经验,重点讨论工程软件、硬件设计过程的危害分析,并根据分析结果将危害和风险消除或控制在可接受范围内,保证安全级DCS 系统及应用软件的功能安全。