核电安全级软件可靠性设计标准要求及方法

2015-04-01 01:02胡立生
自动化仪表 2015年11期
关键词:核电厂可靠性状态

刘 真 胡立生 白 涛

(上海交通大学自动化系1,上海 200030;深圳中广核工程设计有限公司2,广东 深圳 518172)

0 引言

反应堆保护系统的数字化是信息技术高速发展时代的一种不可逆转的趋势,是计算机技术应用于核电站反应堆保护系统的必然。数字化保护系统可以获得比模拟的保护系统更高的可靠性、准确性和稳定性,同时可大幅度地提高反应堆保护系统的功能。数字化反应堆保护系统在具有极大优越性的同时,也对设计和安全评审提出了区别于模拟系统的新问题,其核心是如何遵循核电厂安全级软件可靠性设计的相关法规标准要求,确保软件能完整正确满足预期的安全功能。

1 设计标准要求

核电厂建造过程中,系统执行安全等级的功能不同,对其设备的鉴定要求也不同。所以核电厂仪控设计的首要任务是开展安全等级划分与定义。

国际上安全分级的标准体系以及类别各异,本文以IEC 61226 (2005)核电厂执行安全重要功能的仪表和控制系统的安全等级划分为采纳标准,进行安全分级讨论。

按照三代核电厂用户需求安全功能的规定,引入了电厂可控状态、安全停堆状态和超设计基准(DEC -A)分析的最终状态三个物理状态。

①可控状态:堆芯次临界,如通过蒸汽发生器在短时间内堆芯热排出、堆芯水装量稳定和放射性排放在允许范围内。

②安全停堆状态:堆芯次临界,保证长期地余热排出和放射性排放在允许范围内。

③最终状态:堆芯次临界,通过一、二次回路进行余热排出和放射性排放在允许范围内。

IEC 61226 (2005),将核电厂的安全功能按其重要性分为A、B、C 级[7]。

①A 级

在发生任何一个DBC-2 ~DBC -4 内部事件后,将电厂带入可控状态的安全功能(包括支持功能)都定义为A 级(注:DBC,设计基准工况,按核电厂发生该工况的频率大小,分为4 级。数字越大,工况越稀有,但后果越严重)。

②B 级

在发生任何一个DBC-2 ~DBC -4 内部事件、电厂达到可控状态后,用于确保电厂进入安全停堆状态的安全功能都定义为B 级。

在电厂正常运行时故障可以导致DBC - 3 或DBC-4事件的控制功能(一回路隔离),也定义为B 级。

③C 级

在DEC-A 事件序列后,将确保电厂带到并维持在最终状态的安全功能定义为C 级。

本文重点执行A 类安全功能的软件可靠性分析方法,其他部分(执行B、C 类安全功能的软件)不再赘述。

对于工业关键领域的软件可靠性标准,IEEE 标准体系相对其他体系更丰富且可操作性更强,主要包括软件可靠性度量体系和软件可靠性评估两方面。软件可靠性度量体系由IEEE 982.1 -2005(软件可信性度量词典)和IEEE 982.2 -1988(软件可靠性度量实施指南)组成。

IEEE 982.1 -2005 主要回答了使用哪些参数对软件可靠性进行度量的问题,即用户可以通过哪些方面对软件质量特别是对软件的可靠性进行了解和评价[1]。

IEEE 982.1 -2005 是IEEE 982.1 -1988 的修订版,体现了软件可靠性作为软件质量重要属性在软件质量控制方面的新方法和新趋势。与IEEE 982.1 -1988 相比,IEEE 982.1 -2005 作了较大程度的修改。IEEE 982.1 -1988 关于软件可靠性属性有39 个不同的度量参数,而IEEE 982.1 -2005 删除了其中的32个度量参数,并对剩余度量参数中4 个进行了修改,只有3 个得到完全保留。同时新增了5 个度量参数,即可靠性度量参数变更为12 个,其中有75%的度量参数是新增或修改的。软件可靠性评估主要包括IEEE 1633 -2008(软件可靠性操作规程),其替代了AIAA/ANSI R -013 -1992(软件可靠性操作规程)。IEEE 1633 -2008 是IEEE 最新发布的软件可靠性评估标准,也是当前最新的关于软件可靠性评估的国际标准。IEEE 1633 -2008 主要解决了如何进行软件可靠性评估的问题,包括软件可靠性评估过程和软件可靠性评估模型两方面。

20 世纪90 年代至今,通过借鉴国外相关标准,我国也制定了软件可靠性相关标准。

①国军标GJB/Z102A-2012《软件安全性设计指南》规定军用软件安全性设计的实施指南,给出军用软件在需求分析、设计和实现阶段的软件安全性设计准则、要求及实现的技术方法,同时也为可靠性设计提供参考。附录C 中给出软件故障树定性分析的基本实施步骤及应用示例,但未提及定量分析的相关内容。该标准已代替GJB/Z 102 -1997《软件可靠性安全性设计准则》。

②国军标GJB/Z161 -2012《军用软件可靠性评估指南》规定军用软件可靠性评估与可靠性测试的实施指南,其中包括定量评估军用软件产品可靠性的实施方法。

③国军标GJB/Z 1391 -2006《故障模式、影响及危害性分析指南》规定了故障模式、影响及危害性分析(FMECA)的程序和方法,适用于产品(包括硬件、软件)在论证、方案、工程研制与定型、生产和使用等生命周期各阶段开展FMECA 工作。其中第6 章专门对嵌入式软件FMECA 的工作步骤、分析方法及注意事项进行了详细说明。

可以看出,国军标在执行安全功能软件的可靠性设计与评估方面,处于国内较领先地位。但是,随着数字化核电厂的大规模项目上马,核电设计的主要法规标准也不断强调核电安全级软件的可靠性设计与评估要求。

①HAD 102/16 -2004 基于“只有遵循系统化、文件化和可评审的工程步骤,才能够预计并证明软件可信性”的观点,对核动力厂基于计算机的安全重要系统软件的生命周期各个阶段应实施的活动、重点关注内容、管理和质量保证、文件编制等方面提出要求,从而为安全性论证提供证据。

②IEEE 7-4.3.2 -2011 在5.15 可靠性一节中要求“在论证核安全级数字化系统的可靠性时应考虑软件。当采用分析、现场经验或测试相结合的方法论证系统可靠性时,也将软件错误记录和趋势纳入其中。”

③IEC 61513 -2011 在6.2.4.2.2 可靠性评定一节中要求:“软件可能的设计缺陷对功能可靠性影响的评估宜基于定性评价,并考虑设计的复杂性、开发过程的质量以及运行经验的反馈。评价宜基于先前认可的方法,宜证明软件质量符合可靠性目标”。

2 核电厂数字化仪控总体方案

核电站仪表和控制系统为核电站各系统及工艺设备提供控制、保护及信息监测手段,以保证核电站能安全、可靠和经济地运行。核电站仪表和控制系统在纵向上主要可分为3 个层次:0 层(工艺系统接口层)、1 层(自动控制和保护层)和2 层(操作和信息管理层)。总体方案结构如图1 所示(注:某些核电厂还有第3 层即全厂信息管理层,属于信号单向的信息管理层,不在本文讨论之列)。该方案结构满足三代核电技术特征。

图1 满足三代核电特征的仪控总体结构图Fig.1 The overall structure of the I & C system meets features of the third generation nuclear power

目前,满足三代核电技术特征的核电厂通常都采用了数字化仪控系统,来完成数据采集、信号预处理、逻辑处理、控制算法运算、产生自动控制指令和保护等功能,包括反应堆保护系统(RTS +ESFAS)、电站标准自动化系统(PCS)和反应堆功率控制系统(RCCS)。除此之外,还采用了多样化驱动系统(DAS),以对付保护系统共因故障,其主要功能包括ATWS 系统和专设驱动逻辑系统。此外,还采用了严重事故系统(SAS),它能在严重事故情况下提供必要的指令和信息,并与专用于严重事故的非能动安全系统相结合,提供限制放射性物质排放到环境中的必要的缓解途径。

核电站仪表和控制系统的操作和管理信息层执行信息支持、诊断、工艺信息和操纵员动作的记录,以及通过操作设备对机组进行控制等任务,包括过程信息和控制系统(VDU)及安全信息和控制系统(SVDU +ECP)。

PICS(VDU)提供了对电站所有系统(包括安全级和非安全级系统)的监视和控制,采用数字化技术。

SICS(SVDU+ECP)用于关键安全功能的系统级手动触发、非自动执行的其他安全功能的手动触发及向操纵员提供所有安全相关的电站信息(包括事故后所需的关键参数)。SICS 中的SVDU 为人机接口设备,布置在操纵员站和后备盘上。

3 核电厂安全级软件可靠性设计方法

3.1 软件可靠性避错设计

研究表明,人的错误可以导致软件缺陷病造成系统失效,因此缺陷是一切失效的根源。要消除软件的失效,最明智的做法是在软件开发过程中尽可能避免或减少缺陷,这也就是软件避错设计的出发点,也是本节讨论的重点。软件避错设计要通过严格的软件开发过程、方法以及正式规范加以实现。

软件可靠性设计应和软件的常规设计紧密结合,贯穿常规设计过程的始终,它包括了从计划制定、需求分析开始,直至软件实现的全部过程[2]。软件和硬件的可靠性虽然有相似的特征,但是又存在不同,包括失效原因、失效率、废弃原因等。从硬件和软件可靠性特征的比对得出,设计质量对于软件可靠性具有特殊意义。与硬件相比,软件可靠性对设计的依赖程度更大,要保障软件的可靠性,关键在于软件的可靠性设计。

NUREG/CR6101 -1993《核电厂保护系统软件的可靠性与安全性》从软件的全生命周期角度提出了软件可靠性定性评估条款。这些条款来源于关键工业软件设计以及制作的活动,它是已有的、相似软件的工程经验的总结,并被美国电力行业专题报告所采纳。美国核管会NRC 认为,当贯彻执行了NUREG/CR6101所罗列的可靠性要求条款后,对于核电厂安全级软件的可靠性具有重要意义,可以有效避免或减少软件缺陷的引入,提高软件的固有可靠性。以“核电厂安全级软件需求阶段”为例,做为软件可靠性设计的源头,软件需求规格(SRS)记录软件的所有需求,对于保证最终软件产品的可靠性属性至关重要。结合法规标准要求以及核电厂设计建设经验,为了保证执行核电厂安全功能软件的可靠性要求,SRS 编制时除了常规的功能性描述外,还需重点关注[10]以下几个方面。

①对硬件或者软件进行的变更是否在SRS 中记录?功能需求是否已独立验证?

②每个需求是否都无歧义表达?功能需求作为一个整体能否相互协调?

③每个功能需求是否都能够检验,或者通过检查,或者通过测试?

④子程序调用、远程过程调用,通信信道是否清晰表述?

⑤每个信息的传送方法和介质是否定义?

⑥静态运行要求是否充分描述?是否有完整清晰的时序要求?

⑦每个软件需求是否可测试?可靠性和安全要求是否独立定义?

⑧在系统危险分析中确认的每个危险是否都能够追踪到一个或者多个软件需求,它们会防止、抑制或者减轻这些危险?

⑨如果软件被要求诊断硬件或者软件错误,所检测的错误的等级是否将被分级?

3.2 软件可靠性容错设计

研究表明,软件之所以不可靠,一是与软件中存在的缺陷有关,二是与软件使用相关。软件缺陷是导致软件失效、影响软件可靠性的根源,没有缺陷,软件就绝对可靠。因此为了保障软件可靠性,可以有两种设计途径:一种是3.1 节所讨论的软件避错设计,体现了以预防为主的思想,避错设计适用一切类型的软件,应当贯穿软件开发的全过程;另一种则是“软件容错设计”[4]。

面对日益庞大、复杂的软件系统,不论其设计如何精心,软件仍然难免存在缺陷。因此软件通过避错设计不能做到没有缺陷,只能让软件达到一定程度的可靠性,对有高可靠性要求或失效后果可能为灾难性的系统,仅仅采用避错设计是不能满足要求的。错误容忍是最后一道防线。其目的在于将允许系统检测错误并且避免失效的技术;或者检测错误并从其所导致的错误中恢复的技术,其中隐含的哲理是纵深防御[6]。

以某核电厂数字化仪控保护系统为例,当系统在容错设计的软硬件支撑环境下,由Watchdog 定时器监控每一个进程的运行状态。当系统由于外部干扰等原因使程序故障进而引起该进程工作步长超过其Watchdog 定时值时,Watchdog 捕捉了这一状态,中断服务子程序识别了该进程,并执行了一系列识别修复步骤。首先,即时检查系统设置的RAM 保护区是否被改写,采集的数据是否在合理范围内。例如:保护温度值的第一字节的值必须在0 ~50 之间,除此之外的任何值都说明是被破坏的非法数据。通过重读控制输出反馈状态值,判定控制输出是否正确,将运行处理结果与系统设置的一组标准范围值相比较,确定是否要修正。根据诊断的故障类型和性质,可提出不同的修复决策。如出现反复性破坏RAM 工作区等不可修复故障,则强行报警、切换后投入系统复位,实行人工干预排错处理。

3.3 其他软件可靠性设计方法

在笔者所了解到的核电厂软件可靠性设计方法中,除了3.1、3.2 所描述的方法外,目前科研工作者仍在不断地扩展软件可靠性设计研究方法,例如FMEA/FMECA、makov 法、Petri 网分析法等,但是考虑到其种种限制使用条件(如输入数据、分析工具、庞大的数据量等),相关方法仍未在核电领域得到广泛工程采用。

FMEA/FMECA 是用于分析故障和发现故障树终端事件的系统性方法。其应用重点在早期系统设计阶段和软件开发过程的早期(如需求分析与概要设计阶段),用于发现与功能和性能有关的、软件需求或体系结构等存在的缺陷,以尽早完善需求分析和概要设计,从而影响设计以降低风险。

Markov 模型是一种用于捕捉系统状态以及状态间转换概率的统计模型,其刻画的系统状态变迁过程就是Markov 过程。Markov 过程的特性是无后效性,即对于一个系统,由一个状态转换至另一个状态的转换过程中,存在转移概率,并且这种转移概率可以依据其紧接的前一状态推算出来,与系统的原始状态和此次转移前的Makov 过程无关。

Petri 网分析法是一种系统的数学模型和图形分析技术,可用来模拟和分析复杂系统的同步、并发、分布、冲突、资源共享等现象,以及关键安全的系统诸如可恢复性、可达性、死锁及故障容限等方面的特性。Petri 网分析法是一种动态分析方法,根据所构造的Petri 网模型,可以得到系统的结构和动态行为等方面信息。在Petri 网中,系统的状态用库所表示,改变状态的事件用变迁表示,令牌用来模拟系统的行为及其并发活动。它可以清晰地说明状态转移的进程,并可转化为数学逻辑表达式。

4 结束语

目前,越来越多的基于软件的系统和设备在核电站仪控系统得到大规模应用,因此软件的可靠性问题已成为数字化核电厂设计与制造过程中必须要解决的重要安全问题。上述背景之下,本文通过梳理国内外针对核电站数字化仪控系统软件可靠性的相关标准要求,结合国内核电厂软件可靠性工程研究经验,完成了核电厂关键软件的可靠性标准要求及方法研究,以期对我国核电安全级软件可靠性评估策划和实施提供借鉴。

[1] 王文东.软件可靠性保证与评测技术[J].微机发展,2004(11):104 -106.

[2] 魏颖.航天载荷应用软件可靠性参数的分析与确立[J].计算机工程与设计,2008(10):2564 -2566.

[3] 蔡开元.软件可靠性概要[J].系统工程与电子技术,1993(4):45 -47.

[4] 宫云战.软件测试与软件可靠性之间的关系[J]. 同济大学学报:自然科学版,2002(12):967 -978.

[5] 朱起悦.软件可靠性的定量评估[J].电子产品可靠性与环境试验,2003(4):30 -32.

[6] 吴玉美,陆民燕,阮镰.软件可靠性加速测试方法研究[J].计算机工程与应用,2006(8):40 -43.

[7] IEC 60880 - 2006 Nuclear power plants - instrumentation and control systems important to safety -software aspect for computerbased systems performing category a functions[R].2006.

[8] BTP 7 -14 guidange on software reviews for digital computer-based instrumentation and control systems[R].2007.

[9] NUREG/CR-6430:software safety hazard analysis[S].1996.

[10]NUREG/CR - 6101:software reliability and safety in nuclear reactor protection systems[R].1993.

猜你喜欢
核电厂可靠性状态
重水堆核电厂压力管泄漏的识别与处理
核电厂起重机安全监控管理系统的应用
我国运行核电厂WANO 业绩指标
状态联想
合理使用及正确测试以提升DC/DC变换器可靠性
生命的另一种状态
GO-FLOW法在飞机EHA可靠性分析中的应用
核电厂主给水系统调试
5G通信中数据传输的可靠性分析
论如何提高电子自动化控制设备的可靠性