孟雪梅
吉林工商学院信息工程学院,吉林长春 130062
随着智能化与电力设备、仪表设备以及控制设备的应用范围不断扩大,目前在核电厂的领域中也有所涉及,它主要是设计智能化设备的开发以及软件的开发,还有软件、硬件的集成工作。验证和确认工作是开发过程中必不可少的环节,它能够对产品的性能做出判断,检验其置信度,该过程具有较强的连续性,贯穿在软件整个的开发过程中,其中还包含对设备的检查和相应的补救措施。
安全关键软件可以看做是一种工程产物,它受到多方的控制和操作,产品的部件在进入到特定阶段时,受到一方的控制之后实施操作,接着进入到下一个环节的运作中,在早期对软件进行验证的确认过程中,需要使其达到原始的规范验证要求,如果规范出现问题,就会使之后的开发过程受到影响,产生错误的操作,这些错误行为是无法通过以往的经验来解决的。
按照软件安全功能的重要性,可以将核安全关键软件分为三类:第一类安全功能为了防止因为设计基准事故而造成的事故后果,保证核电厂设备的安全运行,这个功能有效的包容了核电厂的临界状态、放射性等方面。第二类安全功能即保证核电厂的安全性,主要是对第一类安全功能进行补充,当核电厂处于受控状态后,对不可接受的后果达到缓解的作用;第三类安全功能是为了直接对核电厂的安全性能起作用。
1)根据软件自身的影响对硬件软件建立相关准则,对硬件和软件的依赖性进行准确的分析;
2)在开发高可靠软件的过程中,研制其一般途径;
3)软件验证的一般方法和计算机系统确认的方法;
4)对软件进行维护的步骤、针对性的修改以及对软件结构的优化、控制。
1)规范的实用惯例;
2)合理的设计方法;
3)模块化;
4)对每个环节实行验证;
5)保证文件系统的清晰;
6)形成可审查文件;
7)确认测试。
1)用专业的编译程序对语言程序进行全面测试,如果程序没有进行全面测试,那么就需要附加验证来证明编译程序的结果是对的;
2)语言需要具备完整性以及明确的规定;
3)语言程序不应该受到设计的影响;
4)应该设置自动测试的手段;
5)使用自动化的验证工具。
为了保证软件在寿命周期内信息传递的正确性,就需要通过验证来实现。验证的过程包括:设计环节、设备的运行阶段、维护及修改阶段。针对安全软件自身的特性,需要开发小组和验证确认小组保持独立。
对软件的每个阶段开展验证工作是为了保证产品的输出达到该阶段的输入要求,其验证过程包括对输入文件的验证、编码审查及对结果的验证。对输入文件进行检查是一项十分重要的活动,包含走查和检查两个方面。
对软件进行验证属于基础阶段的过程,对软件开发过程的每个环节必须有清晰的认识,在验证工作中,需要将输入文件的内容在该阶段中的输出文件上体现出来,每个环节的验证工作都需要列入到检查清单中,保证各个阶段都有相应的要求,但是检查清单不能取代验证工作的分析和评估。
针对关键软件的验证确认过程和软件寿命周期而言,每个环节的验证工作包含两个部分:现阶段的工作任务、验证技术。该阶段的验证工作见表1、表2。
表1 软件要求规范验证
表2 软件编码的验证
在完成软件集成阶段后和投入服务之前展开确认工作。在设备已经投入运行后,如果要对软件做出变更,需要在系统运行前重新进行确认工作。集成系统的详细确认工作见表3。
表3 集成系统的确认
对集成系统进行确认的最终目的是为了规范系统的要求。通过计算机系统对系统的功能进行完整的、精确的测试。需要对该系统和用户接口的完整性、进行评估,确认关键性能参数和重要的功能达到系统的要求,证明该系统符合相关的规范要求。
严格的软件安全生产是高完整性软件的关键,能够适用于安全关键软件中使用的停堆系统访问计算机的发展。系统安全、完整性水平取决于先进的技术和措施,开发过程要完全满足标准规定的要求。
在软件安全生命周期的最后阶段是对V&R 的功能设计组测试。通过测试系统确定目标计算机的功能和性能满足各方面要求。可靠性测试表明,核查和验证软件故障,能够大大降低软件的风险和提高员工工作的信心。
[1]王翠芳.核电站数字化仪控系统开发过程及其验证与确认[J].自动化仪表,2012(7).
[2]路园,谢敬芝.无失效数据下安全关键软件可靠性多层Bayes估计[J].电子质量,2011(1).
[3]王金波,赵光恒,陈蔚薇.安全关键软件的安全性保障工作研究[J].计算机工程与设计,2008(5).
[4]高超.安全级软件验证与确认中测试技术研究[D].上海交通大学,2010.