刘治学
(中国电子科技集团公司第二十研究所,陕西 西安 710068)
DO-178B《机载系统和设备合格审定中的软件考虑》是由美国航空无线电技术委员会(RTCA)发布的一个航空软件合格审定指南,FAA、EASA、CAAC等民航当局都将DO-178B作为可接受的机载软件符合性方法,通过AC予以实施。
DO-178B标准中的12.2条款中对软件开发工具和软件验证工具进行了定义,并提出了资格鉴定要求。国内研发民用航空载设备的企业在按照DO-178B的要求进行适航取证时,对于DO-178B标准中的工具鉴定要求,缺乏足够的了解和手段。本文主要介绍了美国FAA关于DO-178B标准中的工具鉴定要求和如何进行工具鉴定,为国内机载设备软件进行工具鉴定时提供参考意见。
机载设备是飞行安全的基本保证,随着软硬件技术的发展,软件实现的功能在机载设备中所占的比例迅速增加,同时,软件安全性也越来越受到人们的重视。
1982年,美国航空无线电技术委员会(RTCA)发布了第一版DO-178。该标准利用过程控制的方法来满足软件安全性的要求,1985年发布DO-178A,1992年发布DO-178B。1993年,美国联邦航空局(FAA)发布咨询通告AC 20-115B,通告中明确:“DO-178B为在当前机载系统及设备的合格审定中如何保证这些系统和设备的软件满足适航要求提供了一种可接受的方法”。2000年,中国民用航空总局(CAAC)发布咨询通告AC-21-02,将DO-178B推荐为民用航空机载设备软件合格审定的标准。
DO-178B基于完整的软件工程过程,在软件开发的过程中提出了需要满足的安全性目标和要求,以此实现对软件安全性进行控制的要求。另外,DO-178B首次对软件开发过程中使用的工具提出了安全性要求,明确了2类工具的鉴定要求。
鉴于此,FAA发布了一系列有关DO-178B工具鉴定的咨询通告和适航指令,明确工具鉴定的要求和方法。1999年, FAA发布通告N8110.83 Software Tool Quali fi cation Notice,2001年,FAA再次发布通告N8110.91 Guidelines for the Quali fi cation of Software Tools Using RTCA/DO-178B,2003年,FAA发布适航指令ORDER8110.49 Software Approval Guidelines等等,对在使用DO-178B标准过程中涉及到的工具鉴定问题,提出了指导意见,以消除对标准的误解。
DO-178B标准中的12.2中有关工具鉴定的要求是,“当DO-178B的过程,通过使用某一软件工具而被取消、减少或自动进行,且其输出未按照第6 章的规定进行验证时,要求对工具进行鉴定。”“工具鉴定过程的目标是确保工具提供至少等效于取消的、减少的或自动进行的过程的置信度”。
按照DO-178B标准生命周期模型,软件过程由计划过程、开发过程和综合过程组成,软件开发过程由需求过程、设计过程、编码过程、集成过程组成,及综合过程中的验证过程。在开发过程中一般使用的工具主要分为4种类型:分析工具(需求、性能)、设计工具(架构设计、代码生成)和集成工具(编译器等),验证过程使用的工具有测试工具、覆盖分析工具等。
DO-178B主要关注两类软件工具:开发工具,输出是机载软件的一部分并且可能引入错误的工具;验证工具,不能引入错误但可能检测不到错误的工具。
按照N8110.83、N8110.91的要求,一个工具需要鉴定必须具备3个条件: 工具可能将错误引入到软件中;工具的输出没有按照DO-178B的要求进行验证; 通过使用工具消除、减少或自动进行了某些过程,只有满足了3个条件,这个工具才需要进行鉴定,否则,不需要鉴定。其判定过程见图1。
图1 工具鉴定的确定过程
当按照判断准则,确定一个工具需要进行鉴定,就需要按照工具的类别确定工具的鉴定要求,DO-178B对开发工具和验证工具提出了不同的要求。我们知道,软件的开发过程和验证过程的所需证据是按照软件的安全等级对系统的影响确定的,因此,开发工具和验证工具的鉴定要求也是按照工具的潜在错误对安全等级的影响确定的。
工具的鉴定要求如表1所示。
工具鉴定是软件合格审定过程的一部分,并且是系统合格审定的组成部分。因此,在适航指令ORDER8110.49中明确规定,工具鉴定必须按照软件过程要求,独立对工具鉴定过程进行策划,编制独立的工具鉴定计划,并与软件开发计划保持一致、协调;在软件合格审定计划中应引用和说明工具鉴定计划,在完成工具鉴定后应编制工具鉴定工作总结报告,并应在软件研制工作总结报告中引用和说明工具鉴定工作总结。
表1 工具的鉴定要求
资料分为需要和提交两类,适航审查方将对需要类资料进行评审,提交类是指被审查方应向适航审查方提交此类资料。
工具鉴定过程的资料见表2。
表2 工具的鉴定资料
3.2.1 开发工具的鉴定资料
对于需要进行鉴定的软件开发工具,必须向适航审查方提交软件合格审定计划、工具鉴定计划、软件研制工作总结和工具鉴定工作总结,同时,受审查方应提供工具操作手册、研制测试结果以及工具鉴定过程中的研发资料。
3.2.1.1 软件合格审定计划
软件合格审定计划是合格审定机构使用的主要手段,以确定申请人是否正在计划与被开发软件的等级的主要要求相匹配的软件生存周期。在软件合格审定计划中应详细说明将要使用的验证工具,与审核员沟通确定工具鉴定的可接受方法和相关文档,软件合格审定计划应经审定机构评审。
3.2.1.2 开发工具鉴定计划
需要单独提交工具鉴定计划,工具鉴定计划中应包括鉴定的方法和资料,工具鉴定计划应提交给审定机构,并获得批准。
3.2.1.3 开发工具操作要求
开发工具的操作要求除满足验证工具的操作要求外,应明确使用工具所代替的开发过程,以及异常工作情况下,工具所期望的反应。
通常情况下,工具的用户手册可能包括了这些信息,但也可能存在不足,还应设法补充不足的信息。
3.2.1.4 开发工具验证测试结果
按照开发工具操作要求完成所有的验证工作,必须在工具运行的正常状态和异常状态下进行充分的验证,验证数据与开发工具的等级和开发工具的复杂度有关,这些资料应提交给审定机构并进行评审。
3.2.1.5 开发工具鉴定工作总结
需单独编制工具鉴定工作总结,内容应包括工具鉴定的结果和鉴定过程的详细描述,以及其他相关的鉴定资料,工具鉴定工作总结应提交给审定机构,并获得批准。
3.2.1.6 开发工具鉴定过程的研发资料
开发工具在鉴定过程中如果有研发资料,如设计、代码、测试用例和规程等,应提供给审定机构进行评审。
3.2.2 验证工具的鉴定资料
有关验证工具,向局方提交的资料较少,主要有软件合格审定计划、工具鉴定工作总结。除工具鉴定过程的研发资料外,其他资料应提供局方进行评审。
3.2.2.1 验证工具鉴定计划
可以提供单独的工具鉴定计划,或将其内容纳入到软件合格审定计划中。
3.2.2.2 验证工具操作要求
工具操作要求规定了工具操作的功能性,在正常运行情况下,对其所具有的功能制定详细的验证要求,并进行测试以验证。定义工具的运行环境,包括操作系统和其他考虑(分析工具具备哪些功能,不具备哪些功能等)、检查单、测试用例等,以及硬件环境(处理器、特殊的测试仪器等),其他信息要求,如软件安装和运行的用户手册。工具操作要求应经审定机构评审。
3.2.2.3 验证工具测试结果、鉴定工作总结,软件研制工作总结
可以提供单独的工具验证测试结果、工具鉴定工作总结,也可将其内容纳入到软件研制工作工作总结中,并提交给审定机构。
对软件开发工具,工具鉴定资料要按照DO-178B中控制类1(CC1)的要求进行控制;对软件验证工具,工具鉴定资料要按照DO-178B中控制类2(CC2)的要求进行控制。
工具鉴定的质量保证过程应和开发软件的质量保证过程一致。
按照Order 8110.49的规定,审定机构将根据工具的种类,分两步对工具鉴定做出认可。
3.4.1 开发工具
批准工具鉴定计划;
批准工具鉴定工作总结。
3.4.2 验证工具
批准软件合格审定计划;
批准软件研制工作总结。
DO-178B软件工具鉴定实施难度较大,软件工具鉴定对国内企业来说还是一个新课题,还需要我们进行不断的探索和研究。