APP下载

基于DO-178B/C的机载软件适航审查研究

2016-10-31崔利杰任博李泽

指挥与控制学报 2016年1期
关键词:军机生命周期文档

崔利杰 任博 李泽

随着信息技术的迅猛发展及其在军事领域的广泛应用,军用飞机已逐步由机电密集型装备转向软件密集型装备.如:在美军军机航电系统中,第二代军机F-117飞机硬件实现的功能占80%,而软件实现的功能占20%,第三代F-16飞机硬件实现的功能占60%,软件实现的功能占40%,而到第四代F-22飞机硬件实的功能占20%,软件实现的功能占80%[1].从代码量上讲,1982年定型的F-15C/D战斗机软件规模为23.6万行,1992年的F-22软件规模达700万行代码,2006年首飞的F-35规模高达1500万行代码[2].安全性设计是机载软件设计的重要环节,它的输出会直接或间接地影响硬件的运行.但是,机载软件在进行安全性工作时,遇到许多实际的困难,诸如设计手段不规范,没有明确的验证方法和有效的评估数据、无法准确评估软件中错误的数量等[3].尽管如此,软件界还是形成了共识,即软件的质量主要还是靠过程—包括规范设计、严格管理等来保障.美国航空无线电委员会(RTCA)出版的DO-178B/C文件是当前应用最为广泛的民机机载软件适航标准,也被公认为当今军、民机研制过程中最为重要的基础符合性方法之一[3−6].然而,限于我国航空工业的现状,特别是在军机软件研制领域存在的诸多问题,DO-178B/C标准与我军军机机载软件研制的实际情况存在较大差异.我国军机机载软件的研制突出存在以下问题:一是软件标准、要求引入较晚,许多条款还处于学习摸索阶段,多数标准晦涩难懂,只有少数专业人员才能掌握等.二是设计人员缺少有力的技术手段支撑,难以实现适航标准要求的流程体系、文档体系有效落地,造成当前我军军机软件开发过程中仍大量存在重功能、轻流程的现象;三是适航审查人员缺少合适的软件审查工具助手,特别是缺少适用于我军军机研制的合理适航审查流程,更没有统一、对应的适航审查要点,导致军机在开展软件适航审查流程繁复、工作量大、标准不一.并且,DO-178B/C标准本身为能适用于欧美不同研制环境下的机载软件开发项目,有些要求看上去似乎太过笼统或者离实际运用要求相去甚远,与在我国特别是我国军机机载软件研制中以分阶段开展文档审查或评审为主的管理区别较大.基于此,应根据我军军机机载软件研制特点研究机载软件适航审查要点的生成原则与生成办法,分阶段制定出审查要点和审查要素,以便军机机载软件适航审查工作能顺利开展,提升机载软件和飞机的安全性水平.

1 D-178B/C概述

1.1 基本理念

DO-178B/C[7−9]是面向过程和目标指导机载软件符合性验证和审查活动的一套标准,它和ARP4754[10]、ARP4761[11]、DO-254[12]一起构成了现代机载系统(特别是高度综合和复杂系统)安全性设计与评估的一组指导材料.根据DO-178B/C标准,软件适航的基本要求包括3个方面:软件生命周期过程、软件生命周期过程数据和软件生命周期过程数据,这称为软件生命周期的三要素[13].换言之,一旦选择DO-178B/C标准作为符合性方法以后,必须满足该标准所定义的所有目标,而满足这些适航目标的途径是执行该标准所建议的过程和活动,为证明这些适航目标被满足,应按照该标准所定义的软件生命周期数据来组织相关证据,这充分体现了过程、数据、目标这3方面适航要求辩证统一.

图1 DO-178B基本要素及相互关系

1.2 主要结构及内容

DO-178B标准把过程定义为“为制造特定的输出或产品而在软件生命周期中执行的一系列活动的集合”.标准将软件生命周期将软件研发分为3大类12个过程(图2).其中,软件开发过程和软件综合过程又被分为4个子过程,过程的整体结构和内容也围绕这一系列过程展开.标准定义了软件研制过程中涉及的一系列活动,如沟通、策划、建模、构建、部署等,还有一系列普适性的如项目跟踪控制、风险管理、质量保证、配置管理、技术评审等活动,标准还定义了过程或活动的先后顺序和执行关系,并通过“迁移准则”来描述过程和活动的进入和退出.这些活动贯穿整个软件生命周期.通过这些活动的开展、软件产生一系列输出数据,以证明软件能够达到相应安全等级的目标要求,从而达到规范、约束软件研发的目的.

图2 DO-178B定义软件生命周期活动

2 机载软件适航审查流程

参照FAA Order8110.49要求[14−15],结合我军机载软件研制现状,机载软件开展适航审查可分为4个阶段:软件计划阶段、软件开发阶段审查、软件验证阶段审查和软件最终审查.各阶段审查的流程及关系如图3所示.

1)软件计划阶段审查应在初始软件计划过程完成时(也就是在完成并评审了大部分的计划和标准时)发起.这一审查一般被称为介入阶段(SOI#1).

2)软件开发阶段审查通常应在至少50%以上软件开发数据(也就是需求、设计和代码)完成并评审后发起.这一审查一般称为SOI#2.

3)软件验证阶段审查通常应在至少50%以上的软件验证和测试数据完成并评审后发起.这一审查一般称为SOI#3.

4)软件最终审定阶段审查应该在确定了软件最终版本、完成了软件验证、进行了软件符合性审查、并且软件应在准备好后,正式提出系统审查申请后发起.这一审查一般称为SOI#4.

图3 软件适航审查流程

需要注意的是:虽然这里定义并描述了4类软件审查,但并不意味着每个项目都需要这4类审查.一些项目可以合并审查,而另一些项目可能需要更多类型的审查;其次,软件生命周期数据的有效性并不意味审查所有数据.然而,数据应该充分成熟,以便能够发起合理性审查(Reasonable review).同样地,项目中的所有迁移准则(Transition criteria)没必要都审查,但是应保存充分的迁移准则证据,以确保这些准则应用在项目中,最后,项目生命周期中,被审查方和审查方应该尽早展开讨论,并确定型号、需求、数量、程度和软件审查的形式.

3 软件计划阶段审查

相对于机载设备和产品的适航审查,机载软件适航审查更注重对软件研发过程中产生的数据、文档开展审查.这就要求审查方在审查前做足准备,如开展明确工作过程、开展目标分析、列举输出数据工作,提出三者的对应关系,针对文档和数据制定出有针对性的审查要点,以有力地指导各阶段的适航审查.下面以A级软件的计划阶段为例,提出审查要点的建立原则与具体示例,建立软件计划阶段适航审查中数据与目标、活动的对应关系,为软件其他阶段适航审查提供帮助.

卡尔曼滤波和BP神经网络技术都是现如今比较成熟的技术,但是单独使用又各有不足,在卡尔曼滤波中,GPS接收机极易因为遮挡或电磁干扰导致信号失锁,造成卡尔曼滤波器发散,解算精度迅速下降[1-3]。BP神经网络本身具有自学习能力,但单独使用在导航中,精度相对较低,不能满足对精度的要求。本文采用BP神经网络辅助的方法解决了由于GPS信号失锁导致的定位精度迅速下降的问题。

3.1 软件计划阶段工作过程

对于任何软件项目,软件计划过程是软件生命周期的初始过程.计划过程建立了各种软件计划、标准、流程、活动、方法,以及开发、检验、控制、保证所需要的工具,提出软件计划阶段生命周期数据(图4).软件计划阶段审查的目的是确定申请者的计划和标准是否能够切实满足RTCA/DO-178B的目标.审查也能够减少申请者生产软件产品时因不符合RTCA/DO-178B的目标或其他的认证准则而带来的风险.软件计划阶段审查应在初始软件计划过程完成之后发起.虽然软件计划过程可能贯穿整个软件生命周期,而且计划和标准可能随项目进展而变化,当相关的初始迁移准则满足时,通常认为软件计划过程结束.

3.2 软件计划阶段审查的评价目标

将RTCA/DO-178B附件A中的计划目标应作为软件计划阶段审查的评价准则.此外,还应考试被审查方的能力水平,评定软件失效条件和软件安全性等级,与相应软件等级的软件计划和标准有关联的事项也应该进行评价.

3.3 软件计划阶段工作输出结果

根据图4,在软件计划阶段时,被审查方应向审查方提供表1所示的软件计划和标准数据.软件支撑数据应处于所适用的软件等级的构型控制之下.

表1 软件计划阶段审查的数据

3.4 软件计划阶段审查要点制定方法

制定机载软件适航审查要点时,可按照以下方法步骤开展.

1)目标分析

逐个分析3.2节的审查目标,指出输出数据和文档的对应关系.通过分析可以发现,在软件计划阶段审查时,软件适航性目标可为两类,一类能够对应所有文档,一类对应若干文档或某一文档.这样在制定审查要点时,按照共同要点和分要点进行制定.

图4 软件计划阶段工作过程

2)要点分解

在进行适航审查要点制定时,最重要和最关键的环节就是将审查目标分解为审查要点.在进行要点分解时,需注重以下原则:

a)内容完整性

内容完整性即在制定审查要点时首要考虑所制定的审查要点与DO-178B/C要求保持一致,如对“定义软件开发标准”目标进行分解时,需要考虑到被审查数据与DO-178B相应内容的对应关系,保证内容的完整性,如提出“所定义标准是否与DO-178B11.6到11.8节中所述内容一致”的要点.其次,要考虑到工具使用、开发环境、编译测试等各个环节.如制定出“计划和标准是否描述了机载软件和工具的软件更改流程?“是否在计划中说明了工具是否需要鉴定的原因和必要性?”“软件开发环境是否明确定义?”“每个过程是否已经都明确了各自的输入,活动,迁移准则以及输出?”等要点.

b)前后一致性

要点制定时,应考虑前后一致,这种一致性在计划阶段不仅是计划与标准的一致,也应是计划和标准与系统安全性分析结果,以及计划和标准在实施过程中输出数据的一致.如要点制定时有“计划与标准自身是否一致?”“SDP是否引用了SDS?”“系统安全评估,系统架构,以及安全特性是否与计划中建议的每个软件部件的软件等级相符?”“标准是否经过验证以确保给定限制会产生不确定性和不可验证的设计和代码的一些方法使用?”“如果SQAP得到遵循,是否能够满足DO-178B表A-9目标?”等.

c)定义明确性

明确性也是审查要点制定时的一个核心要求,它能够保证审查人员在开展审查时更加准确、方便.如在软件计划阶段可制定“与系统开发过程的接口和交流管道是否已经明确定义?”“宿主计算机的软件开发环境与目标机环境相似吗,如果不同,这些差异已经识别和分析了吗?”“是否使用了内存单元,如果使用了,计划中是否包含了其精度及正确性验证方法?”“处理器的调整缓存和/或流水线是否使用?如果使用,那么系统的分区、隔离、分享,及其他的保护方法和最坏运行时间是如何处理的?”等.

d)考虑特殊要求

除上述要点之外,许多DO-178B包含的特殊考虑也需要在审查要点中体现出来.如“在计划中是否已经考虑了以下这些内容?先前开发软件;COTS软件;用户可修改软件;现场可加载软件;可选项软件······”,“相关的 SVP、环境、工具、培训、规程等是否应用于下级供应商?”“针对Axe软件,如果在源代码级别进行结构覆盖分析,那么在SVP中是否描述了源代码到目标代码的可追踪性方法?”等.

3)文档对应

对目标开展要点分解后,可对上述审查要点进行文档或数据对应,即将每个文档对应的审查要点罗列出来,便于审查人员进行任务分工和角色分配.

根据以上方法,A级软件制定出软件计划阶段审查要点共84个,其中共同要点9个,软件开发计划对应23个,软件审查计划对应13个,软件验证计划对应13个,软件配置管理计划对应6个,软件质量保证计划对应12个,软件需求标准、软件开发标准、软件编码标准对应8个.限于篇幅,这里不一一列举.

4 结论

机载软件是现代军机的重要组成,软件适航是保证机载软件安全性的重要工作.作为管理部门和研制单位,构建科学有效的审查流程,制定准确合理的审查要点是开展软件适航审查的关键所在.基于此,本文所提审查要点是通过系统分析DO-178B/C标准,深入研究FAA.Order8110.49文件,结合我军军机机载软件研制特点和现行标准而提出的,能够适用于我军机载软件研制的审查流程.本文以A级软件计划阶段为例,制定的对应A级软件计划阶段审查要点从文档的角度定义了目标和过程输出的关系,为准确、快捷开展软件适航审查提供了依据,按照本文原则方法提出的机载软件适航审查要点为下一步开发自动化的审查平台、为适航审查提供工具助手奠定了基础.当然,文档审查取代不了所有审查工作,必要时,仍需审查员借助其在丰富的经验开展现场审查来确保软件适航标准的严格执行和军机安全性的有效提升.

猜你喜欢

军机生命周期文档
动物的生命周期
全生命周期下呼吸机质量控制
一位制造商一架军机(欧亚篇)
一位制造商一架军机(美国篇)
有人一声不吭向你扔了个文档
大胆小偷,闯“禁区”盗走军机设备
从生命周期视角看并购保险
民用飞机全生命周期KPI的研究与应用
军机空难 一箩筐
基于RI码计算的Word复制文档鉴别