北京广利核系统工程有限公司 程建明,张亚栋,梁中起,章 丹,王晓燕
FirmSys平台软件第三方V&V过程和方法
北京广利核系统工程有限公司 程建明,张亚栋,梁中起,章 丹,王晓燕
独立性是核安全级仪控系统软件验证和确认(V&V)的重要要求之一。在公司内部独立部门执行软件V&V的基础上,广利核(CTEC)公司另外委托第三方认证机构ISTec公司对广利核公司自主研发的国内首个核电站安全级数字化仪控系统平台(FirmSys平台)软件执行独立V&V工作。本文总结第三方IV&V工作的过程和方法,并与广利核内部执行的软件V&V工作的过程和方法进行对比分析。分析表明,第三方IV&V工作和CTEC内部V&V都有各自满足法规、标准的完整的过程和方法,通过第三方IV&V工作可以佐证CTEC内部V&V工作的有效性,并增强了FirmSys平台软件安全性的可信度。
数字化核安全级仪控系统;独立验证和确认
FirmSys平台(中文名称:和睦系统)是北京广利核系统工程有限公司(以下称CTEC公司)研制的国内首个核电站安全级数字化仪控系统平台。FirmSys平台包含将运行于核电站现场的一系列标准化设备模块和工程师站计算机。FirmSys平台软件组成如表1所示。
表1 FirmSys平台软件组成
并行于FirmSys平台开发,CTEC公司内独立于开发团队的V&V团队对FirmSys平台开展了全面的V&V工作。为了证明CTEC公司内部V&V工作的有效性,以及增强FirmSys平台软件安全性的可信度,CTEC公司委托德国反应堆安全研究院(GRS)全资子公司ISTec(2014年,ISTec成为TÜV莱茵的全资子公司),对FirmSys平台软件执行了第三方独立验证和确认(第三方IV&V)工作。
FirmSys平台的IV&V工作以独立项目形式运作,项目分成A、B、C三个阶段执行,每个阶段均有明确目标,逐步深入。各个阶段执行情况如下:
(1)A阶段为项目预评估阶段,预评估的内容包括:FirmSys平台开发管理文档、FirmSys平台概念(平台需求和平台设计)文档、主处理板卡软件开发(需求、概要设计、详细设计)文档,由ISTEC专家在ISTEC公司技术体系指导下执行全部工作,并根据FirmSys平台特点确定B、C阶段工作方法。
(2)B、C阶段是详细评估阶段,B阶段完成FirmSys平台概念及平台中典型的嵌入式软件模块的详细评估。C阶段完成FirmSys平台其它类型的软件模块的详细评估,包括一个典型CPLD模块的HPD逻辑、工程师站工具软件关键功能模块、应用算法功能块库软件。
第三方IV&V项目从2011年9月启动,到2015年4月结束,历时3年多。通过一系列评估活动,证明FirmSys平台软件及其开发过程符合本行业相关标准IEC 61513、IEEE 7-4.3.2、IEC 60880、IEC 62566、IEEE 1012的要求,可用于核电站执行核安全A类功能的仪控系统中。
第三方IV&V工作依据标准由ISTec选取和确定,考虑到FirmSys平台的技术特点,第三方IV&V工作依据表2中的标准开展。
表2 IV&V工作依据标准
第三方IV&V项目各阶段开始前对本项目阶段IV&V活动进行规划,规划活动的输出是V&V任务定义和分配(Definition and Allocation of V&V Task)文件中,该文件作用与软件V&V计划类似。
ISTec还在第三方IV&V项目中针对被评估模块的特点制定审查计划(Review plan),审查计划是针对被评估文档(系统需求文档、系统设计文档、软件需求文档、软件设计文档、源代码文档、测试文档)执行检查时的指导文件,审查计划详细规定了审查流程、审查范围及对象、检查关注点等信息,并提供各项审查工作的检查单。针对不同类别的软件模块使用不同的审查计划。
第三方IV&V评估工作执行过程可分为数据收集、数据分析和评估总结三个步骤,如图1所示。
图1 评估和分析步骤
(1)数据收集
根据V&V任务定义和分配及审查计划中提示的关注点检查被评文档,收集疑问及问题。在数据收集时,对被评估文档进行一致性检查、形式检查、功能性检查,将发现的问题或疑问记录在LOP单中,如图 2所示[1]。
图2 数据收集方式
第三方IV&V发现的问题被分类为:轻微问题(Minor issues)、要求(Requests)、关键问题(Key issues)。每个问题又可分类为GR (general remark,普遍存在的问题),R (remark,问题) 或 Q (question,疑问)。FirmSys研发团队及FirmSys测试团队需对问题进行澄清说明和处理情况回复,如需要,FirmSys研发团队修改并发布相应设计文件,直到全部问题得到关闭。
(2)数据分析
对第三方IV&V发现的问题进行归纳和分析,将被评文档与依据标准进行标准符合性分析,并记录分析结果。根据软件模块类别的不同、文档类型的不同,比对的标准及条目也不同。
(3)评估总结
对每个被评估软件模块生成一份评估总结报告,模块评估总结报告陈述了评估该软件模块的过程,并对被评估文件从形式检查、一致性检验和功能检查、关键性分析、需求分配分析、可追踪性分析、接口分析、危险分析、关键性分析、安全保密性分析、风险分析等方面进行总结。
项目B阶段和C阶段执行完成时,分别发布项目B阶段和C阶段第三方IV&V最终报告。第三方IV&V最终报告总结项目工作执行过程和V&V结论,总结内容包括:项目背景、被评软件范围、依据标准、所执行的任务、所发现的问题及处理情况、产品特点和质量状态评价等,并对CTEC V&V团队的工作进行总结和评价。
第三方IV&V工作和CTEC内部V&V工作均严格按照IEEE 1012-2004及其它相关标准的要求执行,在V&V工作目标、主要过程和工作结果等方面一致的。但在具体执行细节上,第三方IV&V工作与CTEC内部V&V工作存在以下主要区别。
4.1 V&V工作依据标准比较
第三方IV&V工作和CTEC内部V&V工作均根据FirmSys平台特点、应用目标、V&V目标等进行采标分析,选择适合的法规、标准等作为V&V工作依据。第三方IV&V采用的标准如表2,包括IEC系列标准(61513/60880/62566)和IEEE系列标准(1012/7-4.3.2)。CTEC内部V&V采用的主要标准除表2所列标准外,还包括HAD 102/16。IEC 60880与HAD 102/16要求的原则是一致的。
第三方IV&V工作和CTEC内部V&V工作所依据的标准均能保证FirmSys平台适用于核电站执行核安全A类功能的仪控系统中。
4.2 V&V工作具体执行过程和方法比较
第三方IV&V工作和CTEC内部V&V工作均依据相关法规、标准制定相应的流程规范体系,以规范和指导V&V工作的执行。如图3所示。
图3 技术指导文件比较
第三方IV&V项目工作规划时针对该项目发布三个层次的技术指导文件,其中:
(1)V&V任务定义和分配(本项目的V&V计划),具体规定了第三方IV&V项目所依据的标准、所需评估的软件范围、所需执行的过程和任务、各任务的目的和要求、各任务执行的工作分配、V&V报告要求等。其中IEEE Std 1012-2004要求的各分析任务在本项目中的执行要求包含于这些任务的描述中。
(2)软件评审计划,详细规定了所需评审的文档类别、各文档的评审目的、评审执行过程、检查关注点,并附各类文档评审用的检查单。
(3)LOP单/AR报告模板,规定软件评审输出的内容和格式。
CTEC内部V&V发布一系列V&V规范性文件,包括三个层次:
(1)工作流程,用于规定依据软件生命周期所需开展的V&V活动,以及各项活动包含的任务以及依据技术规范,此外还包含偏离策略、迭代策略等处理原则。
(2)技术规范,用于规定某项V&V任务的工作方法、步骤、工具、策略、输入、输出等要求,确定某项V&V任务如何开展。
(3)模板/检查单等,用于具体指导某项V&V任务的执行。其中,模板规定了不同类型的文件所需描述的内容、方式、颗粒度等,从而使得该类文件具有统一的展现形式;检查单规定了针对某类文件审查过程中所需检查的条目,从而使得有效的实践经验能被广泛而统一的进行应用。
CTEC内部规范性文件适用于核安全重要的各类软件,各V&V项目在制定V&V计划时根据V&V工作对象和范围确定具体所需执行的V&V任务并选用相应的指导文件。
在检查内容及角度方面:
(1)第三方IV&V检查单侧重于提示需要检查的项目,如“软件任务描述需关注软件初始化、启动和重启”。
(2)CTEC内部V&V检查单多来源于核安全相关标准要求和已有的设计/运行经验反馈,侧重于规定某项设计应该或不应如何处理,如“如果概要设计涉及进程/任务及其调度,应给出任务的定义、调度方法/算法”。
CTEC内部V&V依据检查单执行软件评估后,比较容易说明软件是否符合核安全相关标准要求。第三方IV&V工作中,使用检查单执行软件评估,在进行技术判断时要求评估执行人员有较多的专家经验。
在判断软件与标准的符合性方面,CTEC内部V&V将标准要求融入到检查单中,执行文件评审过程中,在对检查单中的检查项进行判断的同时对软件产品执行了标准符合性判断。IV&V通过在评审完成后专门的工作判断软件产品与选定标准的符合性。执行方式不同,但均能给出软件产品与标准的符合性判断,保证FirmSys平台的安全性和可靠性。
第三方IV&V工作和CTEC内部V&V工作技术指导文件组织形式不同,但均包含对V&V工作内容和工作方式的规定,均能对各项V&V工作的执行提供明确和具体的指导,均能使V&V工作满足相关标准的要求。
4.3 V&V输出形式比较
第三方IV&V工作和CTEC内部V&V工作均按照各自的工作技术指导文件执行。在V&V工作输出方面,第三方IV&V工作和CTEC内部V&V工作均按IEEE Std 1012-2004第6.1节要求输出相关报告,用于记录V&V过程中发现的问题和V&V结论等。输出组织形式比较如图4所示。
图4 V&V工作输出比较
第三方IV&V工作输出以下文档:
(1)LOP单(List of Open Point),记录软件评估过程中发现的疑问或问题(open point,开放话题),以及对这些疑问或问题进行的澄清或处理(被评文档的修改)。同时,应本项目的要求,评估的对象与该被评估对象所依据的标准要求的符合性分析结果和结论也记录于LOP单文件中。LOP单还承担着IV&V项目和产品研发项目进行交流的主要渠道功能,模块评估过程中新发现疑问或问题,或者对已发现疑问或问题有新的回复时,对LOP单文件进行升版。直到发现疑问或问题全部关闭。
(2)评估报告(AR,Assessment Report)与LOP单对应,对每个被评估软件模块使用一个AR文件,评估报告总结评估过程中的活动,总结所发现的重要问题及解决情况,给出评估结论。评估报告提供被评估文件和代码文件详细的引用列表。使用RIPEMD-160算法计算的校验和来唯一标识引用文件列表中的文件。
(3)当软件模块通过评估时,证书(Certificate)用于确认该模块用于执行核电厂安全重要的I&C软件功能的适用性。
(4)V&V最终报告,总结项目执行过程并对被评估的软件给出评估结论。其中项目执行过程的总结内容包括:项目背景、被评软件范围、依据标准、所执行的任务、所发现的问题及处理情况等。
CTEC内部V&V工作输出以下文档:
(1)任务记录/报告,依据IEEE Std 1012-2004针对各模块执行的各项V&V任务,均输出相应的任务记录或报告。包括评估记录、各专项分析记录、测试相关文档等。任务记录文件主要记录任务执行过程收集到的证据及中间结论等。如评估记录文件中记录被评估对象是否符合各检查项要求的分析说明,可追踪性分析记录文件中列出上下游文件双向追踪对应关系等。
(2)V&V异常记录,CTEC内部V&V发现的所有异常统一录入定制开发的V&V异常管理库(CQ库)中,提交到产品研发人员,在规定的流程下进行处理直到关闭。
(3)阶段总结报告,对各软件模块的各V&V阶段,总结该阶段的所有V&V活动,对该模块进行综合评价。
(4)V&V最终报告,总结V&V项目的全部V&V活动,对FirmSys平台进行综合评价。
第三方IV&V工作输出了必要的文档,文档量相对较小,并以证书形式确认所评模块通过评估。CTEC内部V&V工作更注重记录V&V过程收集到的证据,发现的异常在专门的软件工具控制下统一处理。第三方IV&V工作和CTEC内部V&V工作均能满足IEEE Std 1012-2004对V&V报告的要求。
4.4 V&V工作独立性比较
第三方IV&V工作方法完全由ISTec建立,执行过程由ISTec完全控制,由CTEC的V&V团队协助。为了保证ISTec在第三方IV&V工作中的完全的主导性,第三方IV&V工作按以下方式执行:
(1)完全由ISTec建立第三方IV&V项目评估技术体系,用以规定执行过程和所用的技术方法。ISTec分别针对详细评估B、C阶段工作范围制定第三方IV&V计划文件,并在第三方IV&V计划文件指定并分配第三方IV&V任务,针对不同的软件类型(如嵌入式软件、工具软件、功能块库软件、CPLD软件)分别制定具体技术方法。
(2)由ISTec提供培训,使CTEC的V&V团队成员具备按本项目要求执行所分配的V&V工作的能力,并对CTEC的V&V团队成员颁发工作授权证书,获得该证书的成员方可参与第三方IV&V工作。
(3)由ISTec专家执行第三方IV&V的关键工作及有代表性的模块的V&V工作,将工作过程、方法和结果作为范例提供给CTEC的V&V团队。
(4)由ISTec审查CTEC的V&V团队的工作结果(LOP单,AR),在联合工作会议期间与CTEC的V&V团队、FirmSys研发团队、FirmSys测试团队对工作结果和技术问题进行讨论和澄清,最终由ISTec批准CTEC的V&V团队在三方IV&V项目中的工作成果。
(5)由ISTec对第三方IV&V项目进行质保监察,确保第三方IV&V项目工作(包括CTEC的V&V团队协助执行的第三方IV&V项目范围内的工作)按ISTec公司内的管理层制定的质量计划中的要求执行。
CTEC内部V&V工作完全由CTEC的V&V团队执行,CTEC的V&V团队独立于FirmSys研发团队。从以下方面保证CTEC内部V&V工作的独立性:
(1)V&V人员不参与软件开发工作,独立选取不同于软件开发的V&V技术、方法和工具。
(2)V&V人员与研发人员分属不同的行政组织,V&V部门领导直接向广利核公司总经理部汇报工作。
(3)V&V工作有独立的部门资金预算和独立的V&V项目资金预算。
以上比较可以看出,第三方IV&V工作和CTEC内部V&V工作均能从技术、管理、财务方面保持与开发工作的独立性,均能达到相关法规标准对V&V独立性的要求。
通过第三方公司执行的IV&V工作,引入了另外一套完整的核安全级软件V&V工作过程和方法,引入了第三方公司专家的独立视角,完成了一次对FirmSys平台软件安全性和可靠性的检验。V&V工作过程和方法的比较表明,委托ISTec执行的第三方IV&V工作与CTEC内部V&V工作各自均可满足相关法规、标准要求的V&V独立性及其它要求。通过第三方IV&V工作可以佐证CTEC内部V&V工作的有效性,并增强了FirmSys平台软件安全性的可信度。
国产化的核安全级仪控系统设备在首次应用前引入外部第三方IV&V,可对已持续执行的供应商内部V&V工作有效性进行一次检验,并进一步增强用户和监管单位对设备质量的信心,是值得推荐的一次良好实践。
[1] MIEDL Horst, LINDNER Arndt, ZHANG Dan. Software V&V for digital safety I&C systems in NPPs – Fundamentals and practical application[J], Nuclear Safety and Simulation, 2014.
[2] 张亚栋, 等. 数字化核安全级仪控系统软件的验证与确认[J], 核科学与工程, 2012, (S2) ∶ 227 – 231.
[3] IEEE Std 1012-2004. IEEE Standard for Software Verification and Validation[S].
The Process and Method of the Third Party Software V&V for FirmSys Platform
Independence is one of the key requirements of software Verification and Validation (V&V) for the digital instrumentation and control (I&C) systems used in nuclear power plant. FirmSys is the first digital I&C platform independentlyR&D in China. For FirmSys platform, ISTec, a third party certification company, had been commissioned to perform the software third party IV&V while V&V is performed by independent department of CTEC. This articlesummarizes the processes and methods of the third party IV&V performed by ISTec, and compares the processes and methods to the IV&V performing by CTEC, it is indicated that the third party IV&V and the V&V performed in CTEC all have their integratedprocesses and methods, and comply with all the requirements of the standards. By the third party IV&V effort, the validity of the V&V performed in CTEC can be confirmed, and the reliability of the safety of FirmSysplatform software was markedly improved.
Digital instrumentation and control system; Independent verification and validation
程建明(1976-),男,四川人,高级工程师,本科,现就职于北京广利核系统工程有限公司,主要从事核级软件的验证和确认工作。