《SoftwareX》:BAHAMAS: An open-source application for risk assessment of nuclear power plant digital systems
编辑推荐:
数字仪控系统(digital instrumentation and control systems)是核电厂(nuclear power plant, NPP)现代化改造的核心,然而当前的概率风险评估(probabilistic risk assessmen
数字仪控系统(digital instrumentation and control systems)是核电厂(nuclear power plant, NPP)现代化改造的核心,然而当前的概率风险评估(probabilistic risk assessment, PRA)实践因软件可靠性数据与运行经验有限,依赖于保守的失效概率估计,这常常导致代价高昂的过度设计。为弥补这一不足,爱达荷国家实验室(Idaho National Laboratory)开发了BAHAMAS,一款具有图形用户界面的开源工具,利用数字软件开发生命周期活动数据量化软件失效概率。BAHAMAS基于可观测的因果现象经验相关性,将其集成至贝叶斯信念网络(Bayesian belief network, BBN),从而实现对数字软件失效模式的量化。BAHAMAS还可无缝集成至现有故障树(fault tree, FT)分析工作流程,降低建模不确定性并改进风险知情设计决策。其灵活架构支持多样化的生命周期模型并支持早期阶段可靠性评估,为评估数字安全系统提供了一种实用解决方案,对核电厂具有高度适用性。
# BAHAMAS:面向核电厂数字系统风险评估的开源工具——论文解读
## 一、研究背景与意义
核电厂(nuclear power plant, NPP)现代化改造近年来受到广泛关注,旨在重振核工业基础。数字仪控系统(digital instrumentation and control systems, DI&C)升级被视为提升安全性、改善可靠性和支持清洁能源计划的关键策略。然而,DI&C系统的日益复杂性要求采用稳健的风险知情框架来确保其安全性、可靠性与成本效益,且通常需要快速评估周期。概率风险评估(probabilistic risk assessment, PRA)通常用于评估DI&C系统的安全性和可靠性,为其部署期间的许可决策提供证据(例如共因失效[common cause failures, CCF]的影响)。当证据不足时,核电厂往往诉诸昂贵的备用模拟系统,严重延缓数字系统的部署。
PRA通常采用故障树(fault tree, FT)来建模硬件和软件失效组合如何导致非预期事件。FT使用逻辑门(如AND、OR)映射单个部件失效(称为基本事件)如何传播并组合导致系统级失效。当前行业实践通常使用历史运行数据或最佳估计(如IEC 61508安全完整性等级)为基本事件分配失效概率。然而,数字系统——尤其是安全相关DI&C系统——的可靠性数据和运行经验有限,导致过度保守的估计,进而产生过度设计和昂贵的配置。此外,现有风险数据(如标准化电厂分析风险[Standardized Plant Analysis Risk, SPAR]模型中的数据)通常具有专有性,反映的是已建成、已运行的电厂配置,用于新应用会引入建模不确定性。其他方法如军事手册中的统计数据仅涵盖硬件可靠性,不提供软件可靠性值。因此,对于计划开展DI&C部署的现有和新反应堆开发商而言,在公开可用的定量FT评估数据方面存在显著缺口。
为弥补上述缺口,爱达荷国家实验室(Idaho National Laboratory, INL)在美国能源部轻水堆可持续性(Light Water Reactor Sustainability, LWRS)计划支持下,开发了一套全面的风险评估框架,以支持安全相关DI&C系统升级的核电厂现代化工作。该框架包括用于软件基本事件识别的冗余引导系统理论危害分析(REdundancy-guided System-theoretic Hazard Analysis, RESHA)、用于软件可靠性量化的BAHAMAS工具(BAyesian and Human reliability analysis Aided Method for the reliability Analysis of Software),以及用于软件缺陷分类评估的正交缺陷分类(ORthogonal-defect Classification for Assessing Software, ORCAS)工具。本文重点介绍BAHAMAS——一款基于DI&C开发生命周期活动数据、通过贝叶斯信念网络(Bayesian belief network, BBN)生成软件失效概率的开源工具。
## 二、主要关键技术方法
研究人员开发了BAHAMAS这一基于Python的开源网络应用程序,其核心方法如下:首先,利用系统理论过程分析(Systems Theoretic Process Analysis, STPA)定义四类不安全控制动作(unsafe control actions, UCAs),即UCA-A(需要时未能启动)、UCA-B(错误时刻启动)、UCA-C(过早或错误顺序启动)、UCA-D(持续时间不足或过长)。其次,采用正交缺陷分类(orthogonal defect classification, ODC)方法,基于超过1000份开源缺陷报告建立缺陷类别与UCA模式之间的经验相关性表。第三,运用人类可靠性分析(human reliability analysis, HRA)评估软件开发生命周期(software development lifecycle, SDLC)各阶段缺陷引入概率,并以审查次数和触发覆盖率两个指标衡量缺陷移除活动的质量。第四,通过贝叶斯信念网络集成缺陷引入与移除信息,计算各缺陷类型的边际概率,进而由全概率公式计算各UCA模式的失效概率。样本来源包括INL与压水堆业主集团(Pressurized Water Reactor Owners Group, PWROG)合作试点应用中的工业界软件开发文档。
## 三、研究结果
### 3.1 软件架构
BAHAMAS的软件架构包含可靠性分析与共因失效分析模块。用户通过网页界面输入支持性文档信息,包括初步评估输入、综合评估输入、质量评估输入和共因评估输入。其中,初步评估、综合评估和质量评估输入同时支持BAHAMAS和共因失效(CCF)建模,而共因评估输入专门支持CCF建模。用户输入经处理后存储为与各分析模块兼容的格式:BAHAMAS模块执行软件失效模式量化并依赖质量评估模块的输入,CCF模块计算共因失效指标。
### 3.2 软件功能
BAHAMAS提供五种核心功能。初步评估功能帮助用户建立软件失效概率的最终目标,适用于对SDLC流程不成熟的开发团队,通过简化输入并假设全局均值参数来简化计算。软件质量调查功能为首次用户提供定性输入方法,针对SDLC各阶段提供与开发过程质量相关的问题列表。综合评估是核心功能,允许用户完全配置失效概率计算中的参数和设置,可配置参数包括人为差错模式、审查次数、触发覆盖率、任务列表及其描述,以及可选参数如相关性表、全局人为差错概率和默认采样分布。共因分析功能针对冗余配置系统(在核电厂中常见),通过关键词搜索、匹配和过滤用户提供的耦合因素,自动生成不同耦合强度下的共因部件组(common cause component groups, CCCGs)。共因部件分组功能基于已知SDLC过程,通过定性调查问题确定特定CCCG的软件失效概率。
### 3.3 示例分析结果
在初步评估功能下,BAHAMAS生成缺陷类别存在概率的分布以及软件失效模式概率的分布。这些分布图主要作为用户的视觉诊断辅助工具。定量输出结果可直接用于PRA故障树模型进行顶事件量化:总失效概率均值为4.82E-4,其中UCA-A为1.15E-4,UCA-B为2.19E-4,UCA-C为7.80E-5,UCA-D为7.03E-5,各失效模式均附带标准差以表征不确定性。
## 四、讨论与结论
BAHAMAS弥补了风险分析领域的关键缺口,提供了一个开源、即用型的软件失效概率量化应用。不同于传统方法依赖保守或通用最佳估计值,BAHAMAS提供了一种针对组织具体SDLC过程的方法。该工具补充了现有故障树构建方法,如SAPHIRE、CAFTA和开源软件套件OpenPRA,直接量化软件基本事件失效概率,减少不必要的保守性。在工业试点应用中,INL与PWROG合作,利用典型软件开发文档(如软件需求规格说明、软件详细设计等)评估了数字安全驱动系统的失效概率,结果与IEC 61508的范围相符(如1E-5至1E-4),并通过考虑软件开发生命周期质量与活动以及系统性设计信息,为降低共因失效对核电厂PRA模型的主导作用提供了依据。
研究结论:BAHAMAS是一款独立的基于Python的网络应用程序,提供软件生命周期和人类可靠性分析驱动的软件失效概率量化方法。该软件利用人类可靠性和正交缺陷理论跟踪软件缺陷的可能性并量化不同模式的软件失效。分析所用源文档包括但不限于软件需求规格说明、软件详细设计、需求可追溯性矩阵、系统、结构和部件分级等。这些不同来源的信息通过贝叶斯信念网络生成相关且具体的软件失效概率,最终减少了对核工业现代化改造中常见保守估计(如IEC 61508)的依赖。此外,BAHAMAS通过提供可用于故障树分析的软件基本事件量化,使核电厂能够为DI&C系统做出风险知情设计决策(如NEI 18-04所要求的)。BAHAMAS可通过独立的图形用户界面快速访问链接或通过可自定义输入文件的命令行方式使用。