APP下载

软件FMEA在核级仪控系统平台(和睦系统)中的研究与实践

2017-06-05北京广利核系统工程有限公司王晓燕张亚栋周小波

自动化博览 2017年3期
关键词:和睦数据流机理

★北京广利核系统工程有限公司 王晓燕,张亚栋,周小波

软件FMEA在核级仪控系统平台(和睦系统)中的研究与实践

★北京广利核系统工程有限公司 王晓燕,张亚栋,周小波

软件失效模式和影响分析(软件FMEA)是一种系统化的自下而上可靠性分析方法,本文阐述软件FMEA在和睦系统作用、策略、方法、实施过程、总结,通过对和睦系统软件功能单元潜在的各种失效模式及其对系统功能的影响分析,提出存在的风险或异常,以提高和睦系统软件的可靠性。

软件FMEA;失效模式库

1 背景

可靠性是产品或系统的研究热点,尽管可靠性工程已经有50年发展历史,但是在20世纪90年代以前,人们只关注硬件的可靠性,产生了很多种硬件可靠性方法,其中FMEA是一项重要的硬件可靠性方法;它以一种系统化、模式化的形式来思考问题,成为世界先进工业企业持续改进的有效方法,已以标准的形式加以规范化了。

随着数字化的兴起,软件规模和复杂性的增加,软件故障的频繁发生,对系统的安全运行产生危害增大,从而使人们逐渐认识到软件可靠性的重要性,加强对软件可靠性的研究,产生很多软件可靠性方法:软件FMEA、软件FTA、危险与可运行性(HAZOP)等。其中常用的是软件FTA和软件FMEA。

软件FTA是一种演绎型的软件安全性分析方法,它采取自顶向下的分析方式,对于识别软件安全性错误,尤其是能引起系统危险的单点错误非常有用,这样有助于识别潜在的、复杂的失效模式。软件FTA的局限性在于:对于大型的系统,代码级的分析是不现实的;而且很多时候也是不必要的;软件FTA 不能替代检验系统功能需求的集成和测试过程,它只是可以使安全关键软件更可信任;软件FTA的应用比较的狭窄,只有在危险失效的数量想对少的情况下,FTA才是一种有效的实用的分析手段:如果安全关键故障太多了,那么很有必要重新设计系统。

软件FMEA被用来从最底层组件的角度发现系统的失效,是一种归纳型、自底向上的分析方法,识别数据和软件活动中的关键软件失效模式。它分析了异常对系统中其它组件以及对系统本身的影响。软件FMEA可以帮助设计者较早发现设计缺陷,避免后期昂贵的设计改动;也可以帮助识别出其他系统作用在嵌入式软件上的限制;在找出系统的潜在错误和薄弱环节后,可以为测试提供策略;也可以方便系统的分析人员和设计人员之间的沟通。这些都是软件FMEA的优点。但与此同时,软件FMEA以手工为主,枯燥、耗时,分析结果对分析人员的知识水平和经验,以及分析文档的准确性和规范性依赖性很强。这些都是软件FMEA的不足之处。

通过软件FTA和软件FMEA方法对比,软件FMEA方法更适合用于和睦系统是广利核公司自主研发核级仪控系统平台,同时为了弥补软件FMEA的不足,制定软件失效模式库来指导软件FMEA工作。

2 软件FMEA在和睦系统作用

广利核公司为了进一步提高和睦系统软件可靠性,公司V&V部开展软件FMEA方法研究,并在和睦系统软件中实践。通过在和睦系统实施软件FMEA,自下而上、系统化识别产品或系统软件的潜在失效,进行可诊和可控判断,从而达到以下作用:

· 分析已知软件失效形式对产品/系统的影响,进而揭示安全性需求;

· 分析已知软件失效机理与软件失效形式的关系,为设计的决策和设计的修改提供参考信息;

· 识别和分析产品/系统中潜藏的失效形式,为产品和系统测试提供参考信息;

· 确定产品/系统中软件失效形式的失效机理,为产品和系统的可靠性、安全性分析提供参考信息。

3 软件FMEA在和睦系统策略

和睦系统包括一系列基于嵌入式处理器和网络的计算机设备和软件,可以组成多个彼此独立的子系统,各子系统彼此独立异步运行,该系统能够实现信号输入、数据处理、执行算法逻辑、信号输出、信息显示、操作控制、网络通信等功能。

根据和睦系统结构特点,在对其执行软件FMEA实施分两级、三层进行,如图1所示。

图1 软件FMEA的层次划分

两级:是从工作逐级开展的角度出发制定的,指:

“产品软件FMEA”(以下简称产品FMEA)级

“系统软件FMEA”(以下简称系统FMEA)级

三层:是从平台对象客观存在的层次关系角度出发制定的,指:

“系统架构层”(简称系统层):它是系统FMEA最终影响的对象。在这层发生的失效的表现,称为系统失效形式,失效形式包括系统任务失败的各种形式,通常由操作人员关心;

“产品单元和通信层/产品单元层”(简称产品层):是系统FMEA的最底层对象,也是产品FMEA最终影响的对象。产品层发生的失效,其表现形式称为产品失效形式(或通信失效形式),产品层失效通常由维护人员关心;

“软件功能单元层”(简称软件层):它是产品FMEA的最底层的对象,决定了产品FMEA工作的颗粒度。在这层次发生的失效表现,称为软件失效形式,失效形式包括软件相关功能失效的各种表现,通常由产品验证人员关心。 图1为软件FMEA的层次划分。

各级FMEA活动的最高和最低约定层次如表1所示。

表1 各级软件FMEA约定层次表

为了最大化发挥软件FMEA的价值,软件FMEA需随着产品/系统的研发同步执行,即:开发全生命周期中执行软件FMEA;随着软件FMEA应用不断更新,需将经验和教训总结也要纳入软件FMEA中,针对这种情况,制定和睦系统软件失效模式库显得尤为必要,失效模式库指导执行软件FMEA,软件FMEA结果补充或完善失效模式库,从而更能提高软件可靠性。

4 软件FMEA在和睦系统方法

明确软件FMEA内容定义,根据针对和睦系统软件FMEA划分策略,制定了产品软件V&V方法和系统软件V&V方法,以及包含软件FMEA经验和教训总结的软件失效模式库建立、使用和维护方法。

4.1 软件FMEA内容定义

软件FMEA主要内容是:失效机理、失效模式、失效影响、可诊和可控。对各个部分定义如下:

(1)识别失效模式:停止运行或运行不正常,达不到功能要求,包括:

· 功能的完全丧失。

· 功能退化,不能达到规定的性能。

· 不需要的功能出现。

(2)失效机理:可能导致失效模式的最初的事件,某一失效模式可能有多种不同的原因引起,某一原因也可引起多种失效模式。

(3)分析失效影响:失效模式对被分析对象的使用、功能或状态所导致的结果,包括:

· 对设备操作人员的影响;

· 由该设备故障导致运行停止;

· 所制造的产品质量问题;

· 人身或财产安全问题。

(4)可诊、可控:自诊断是否覆盖了该失效模式,该失效模式是否有了应对措施,含预防和后果降低措施。

4.2 产品软件FMEA方法

对于产品软件FMEA来说,软件最小颗粒度定义为重要,软件颗粒度比较细,例如实现V&V阶段对每个函数进行执行软件FMEA,导致软件FMEA工作量很大,不具有可执行性;如果软件颗粒度很粗的,软件FMEA结果指导意义不大;本文提出识别产品软件应用数据流分析方式,软件颗粒度以功能相对单一软件作为软件功能单元的方法,该方法能很好达到平衡了软件FMEA结果指导意见和工作量方面。具体方法如下:

(1)从产品应用角度识别产品软件应用数据流,明确数据流的功能,识别关联应用约束;

(2)对每个应用数据流,识别关联的软件功能单元;

(3)对关联的软件功能单元采取IPO(输入、处理、输出)的方式进行失效影响分析,明确其失效机理、失效模式、失效影响、可诊和可控,过程中如果识别到新的失效模式,添加到失效模式库中;

(4)对关联应用约束进行失效影响性分析,明确其失效机理、失效模式、失效影响、可诊和可控,过程中如识别到新的失效模式,添加到失效模式库中。

4.3 系统软件FMEA方法

和睦系统是基础平台,在对其执行系统FMEA时,首先要明确一种或几种系统典型架构,对于每种系统典型架构,也采取应用数据流方式,以产品软件、通信为软件功能单元的方法执行系统软件FMEA,具体方法如下:

(1)确定系统典型架构,识别每个典型架构的应用数据流,识别关联应用约束;

(2)对每个应用数据流,识别关联的软件功能单元:产品软件和通信;

(3)对关联的软件功能单元:产品软件,如果其执行过产品软件FMEA,其软件失效影响作为系统软件FMEA的失效模式,明确其失效机理、失效影响、可诊和可控;如果产品软件和通信未执行产品软件FMEA,则采取IPO(输入、处理、输出)的方式进行失效影响分析,明确其失效机理、失效模式、失效影响、可诊和可控,过程中如果识别到新的失效模式,添加到失效模式库中;

(4)对关联应用约束进行失效影响性分析,明确其失效机理、失效模式、失效影响、可诊和可控,过程中如识别到新的失效模式,添加到失效模式库中。

4.4 软件失效模式库构建、使用和维护方法

4.4.1 构建失效模式库

构建软件失效模式库时,要体现模块化特征,类同与硬件FMEA。软件功能单元也要具有功能内聚、独立性强的特点,将使用软件功能单元为基础模块,搭建一个基础的软件失效模式库。失效模式库的内容来自对软件功能单元的失效分析,即挑选出其中与软件密切相关、且具有相对明确失效机理(发生可能性较高)的失效形式,纳入到失效模式库中。

另外,任何经分析的应用数据流,只要评估其具有典型性、可复用,就可以将其当做一个软件功能单元,纳入失效模式库管理。

为体现直接,使FMEA分析人员能直接使用,软件失效模式库将采用扁平的结构,不使用层次化。为此,尽管软件功能单元在设计模式上可能存在嵌套,但其失效描述也采用扁平结构,不层层嵌套。

4.4.2 使用和维护软件失效模式库

软件失效模式库服务于软件FMEA工作,供软件FMEA执行时参考和使用,如果在软件FMEA时,识别新的软件功能单元,或软件功能单元的新的失效模式,则需根据软件FMEA结果纳入软件失效模式库中。随着软件失效模式库应用、更新不停迭代,其作用日益突出。

5 软件FMEA在和睦系统实施过程

在和睦系统研制过程中进行,验证与确认部将软件FMEA融入V&V活动。各阶段软件FMEA活动如

图2所示。

图2 各阶段软件FMEA活动

在上述过程中,从概念、需求、设计、实现、测试,系统FMEA和产品FMEA信息从最初的设想、越来越逼近真实情况。为适当区分不同阶段的迭代关系,本文规定对具体工作项命名时增加“初步、进一步”等前缀,如“初步分析产品的失效形式、分析产品的失效形式、进一步分析产品的失效形式”等。

在生命周期过程的概念、需求、设计阶段,FMEA分析人员应超越研发文档的约束、利用已有经验和知识、积极主动识别失效可能性,这样才能在早期识别到具体的失效形式、推动更新安全需求、使得风险得以规避,有效发挥V&V价值;反之,如果受限于研发文档的叙述程度、早期仅进行概要的分析,就容易使FMEA流于形式。

5.1 各个阶段软件FMEA工作项

V&V过程中需执行的具体FMEA工作项如表2所示。

5.2 示例:“将现场I/O信息转发到NCU网络”应用数据流的软件FMEA

5.2.1 数据流图,如图3所示。

5.2.2 软件功能单元

(1)读取SCU数据;(2)拷贝SCU数据,修改SCU数据质量位;(3)测试模式下进行变量强制;(4)调用应用软件;

(5)发送数据给NCU板卡。

5.2.3 软件FMEA记录

表2 V&V过程中需执行的具体FMEA工作项

图3 数据流图

(1)“读双口RAM的IO实时数据”软件功能单元FMEA记录

失效机理失效模式产品影响 可诊可控备注双口RAM数据超过双方规定大小 双口RAM中IO数据被部分读取 读取SCU的双口是 是 通过检验CRC进行诊断RAM数据无效CRC错误的数据丢弃掉未对内存数据初始化为一个确定的值内存未被初始化或初始化失败读取S C U的双口是是通过检验CRC进行诊断存在残留不确定数据RAM数据无效CRC错误的数据丢弃掉………………………………

(2)“拷贝SCU数据、修改SCU数据质量位”软件功能单元FMEA记录

失效机理失效模式产品影响可诊可控备注SCU板卡类型有效、数据有效且连续 SCU数据质量位被修改 SCU误报是是无SCU板卡类型无效或数据无效或不连续SCU数据质量未被修改MPU送出一个错误数值给IO是是无………………………………(3)“测试模式下进行变量强制”软件功能单元FMEA记录失效机理失效模式产品影响可诊可控备注1.从运行模式切换到测试模式未重启;1.从其它模式切换到测试模式,无数据扰动;2.从下装开关位切换到测试模式未重启;模式切换扰动 工程师误判MPU是否2.从测试模式切到下装开关位时,程序会当3.从测试模式切换到运行模式未重启;工作模式成运行模式来处理。4.从测试模式切换到下装开关位未重启。测试模式下,以太网网络芯片故障。FIFO数据损坏 无是是对网络接受数据完整性有CRC校验………………………………(4)“运行应用代码”软件功能单元FMEA记录失效机理失效模式产品影响可诊可控备注应用软件算法逻辑运算复杂,变量内存不足 软件运行超时,报故 是是超时报故,导向安全比较多 计数器溢出 看门狗喂狗失败 软件重新初始化 是否软件重新初始化,看门狗连续2次或累计5次后,软件就停止运行。………………………………(5)“写双口RAM的IO数据”软件功能单元失效模式汇总失效机理失效模式产品影响可诊可控备注DPRAM读写冲突;内存寻址错误 写入双口RAM中的数无法写入NCU的双是是在写入时返回是否写入成功标志。据损坏口RAM中DPRAM收发不同步,冲突;关联写入双口RAM中的数无法写入NCU的双是是对于LNU来说,第一次不成功,模块周期不匹配,计时器偏差据被覆盖口RAM中可以再重新发送一次。………………………………

(6)应用约束FMEA记录

5.2.4 提出风险/异常

6 总结与建议

软件FMEA是一种自下而上的系统化失效分析方法。通过在和睦系统软件中研究与应用,识别软件可能的失效模式,确定每个失效模式的失效机理及失效影响,促进安全设计来消除或使其影响减小,从而达到提高产品可靠性的目的。

建议后续继续维护失效模式库,其凝结分析人员的经验、形成适合本企业的知识库,能使隐式经验直观显现化,能增强安全论证说服力,是企业宝贵的资产。AP

[1] GB-T 7163-200, 核电厂安全系统的可靠性分析要求[S].

[2] NUREG/CR6101 Software Reliability and Safety in Nuclear Reactor Protection Systems[Z].

[3] GJB 1391-2006, 故障模式、影响及危害性分析指南[Z].

Software FMEA Research and Practice in Nuclear Instrument Control System Platform (FirmSys System)

Software failure mode and effect analysis (software FMEA) is a systematic bottom-up reliability analysis method. This paper elaborates software FMEA in the function, policy, method, implementation of the FirmSys system. We analyze various potential failure modes of the functional units in the FirmSys Software, as well as their corresponding effects on the system functions. Based on the analyses, we come up with the possible risks or abnormities, with the purpose of improving the reliability of the FirmSys system software.

Software FMEA; Failure mode library

王晓燕(1974-),女,山东人,工程师,毕业于北京航空航天大学,现就职于北京广利核系统工程有限公司,主要从事于核级软件的验证和确认工作。

张亚栋(1975-),男,山西人,高级工程师,毕业于北京化工大学,现就职于北京广利核系统工程有限公司,主要从事于核级软件的验证和确认工作。

周小波(1983-),男,山西人,工程师,毕业于中北大学,现就职于北京广利核系统工程有限公司,主要从事于核级软件的验证和确认工作。

猜你喜欢

和睦数据流机理
“和睦”
你会怎样做?
齐心
数据流计算研究进展与概述
隔热纤维材料的隔热机理及其应用
汽车维修数据流基础(上)
不说谎话的小狐狸
汽车维修数据流基础(下)
煤层气吸附-解吸机理再认识
AADL端对端数据流一致性验证方法