RTCA/DO-178C快速入门(上)

1.背景

机载软件对飞机、系统的重要性越来越高,机载软件的安全性也成为关系飞机安全的一个重要方面。然而,机载软件有其特殊性,它无法像飞机的电缆、蒙皮、面板一样进行检查和试验,也不可能进行穷举测试,所以软件的安全性通常是依靠严格、规范的软件研制流程来保障的。

为此,美国航空无线电技术委员会(RTCA)相继发布了DO-178、DO-178A、DO-178B和DO-178C《机载系统合格审定过程中的软件考虑》,并被美国联邦航空局(FAA)、欧洲航空安全局(EASA)和中国民用航空局(CAAC)作为民用飞机机载软件研制可接受的符合性方法(目前CAAC尚未发布DO-178C相关的咨询通告)。飞机主制造商、设备供应商也相继建立了机载软件研制、适航审查的工作体系。

本文将大家关心的DO-178落地和实施中的要求做简要介绍,希望对大家的实践工作有所帮助。

2.RTCA/DO-178 标准介绍

1980年5月,RTCA成立了专门的145委员会(SC-145),开始DO-178的编制工作,1982年1月RTCA发布DO-178文件,欧洲发布的ED-12与DO-178内容完全一样。1983年初,RTCA执委会决定应该对DO-178进行修订,以包含基于软件系统和设备的飞行器、发动机适航性审定中获取的经验,并成立了专门的修订委员会(SC-152)。1985年发布了修订版DO-178A。DO-178A有一个最大的特点,它是基于软件开发技术和开发方法进行编制的。

1989年,美国联邦航空局(FAA)请求RTCA成立专门的委员会对DO-178A进行评审和修订。主要由于机载软件技术发展过快,加上DO-178A在关键领域的应用中存在不同的解释,因此RTCA成立了SC-167委员会,并在1992年12月发布了DO-178B。DO-178B与DO-178A相比进行了大幅度修改,整个标准基于目标和过程,局方主要通过不同等级软件的目标符合性判断进行软件审查。

DO-178B在工业界应用了20多年,由于存在一些勘误,且随着工业发展还暴露出一些标准未覆盖到的领域,因此2004年RTCA启动SC-205修订委员会,经过多年努力,于2011年底发布了DO-178C。因此,DO-178C是当前最先进的机载软件标准,它是从DO-178初始发布开始,历经30多年的工业实践、修改完善而来的。

3.RTCA/DO-178C 的过程、目标和活动

DO-178C提供的是一种结构化的机载软件设计保证指南,它是基于目标,面向过程和活动的。以下章节是关于DO-178C每个过程的知识要点。

3.1机载软件设计输入(需求)

3.1.1机载软件设计输入来源

机载软件的设计输入来自系统生命周期过程所产生的需求。主要包含如下两个方面:

a)来自系统的功能/性能/操作需求

在系统需求文件中需要明确系统分配给机载软件实现的功能、性能和操作要求,包括系统需求中哪些功能将通过机载软件实现以及该软件驻留的硬件设备的情况。如果系统初步设计阶段(Preliminary Design Review, PDR)无法确定机载软件与硬件的功能分配界面,可在系统详细设计阶段进行补充完善。

b)安全性需求

在PSSA中需要说明机载软件的设计保障等级(Design Assurance Level, DAL),如果PDR阶段系统设计不能提供足够的信息用以确定机载软件的DAL,可在系统详细设计阶段继续进行安全性分析,确定软件的等级。DO-178C对软件定义了A、B、C、D、E五个等级,是通过安全性分析过程确定的,通常在初步系统安全性评估文件(Preliminary System SafetyAssessment, PSSA)里对软件的等级进行说明,这一等级确立的过程和理由要在软件合格审定计划(Plan for Software Aspects of Certification, PSAC)中概述。

3.1.2衍生需求

除了3.1.1所述的从系统分配下来的正常需求外,在机载软件研制过程中,因为设计决策、架构选择、软硬件接口等原因产生一些需求,这些需求不能追溯到上一级需求,称为衍生需求。机载软件衍生需求需要反馈到系统生命周期过程进行评估,如图1所示。

图 1 机载软件衍生需求评估过程

机载软件的衍生需求,应在需求数据库(如DOORS)或文件中标识该需求为衍生需求。常见的做法是在衍生需求后面标注“Derived”标识。衍生需求必须邀请安全性工程师参与评估。

3.2机载软件生命周期过程

DO-178C的软件生命周期过程,包括软件计划过程、开发过程以及4个整体支持过程(验证过程、构型管理过程、质量保证过程以及审定联络过程)。下一篇文件将就每个过程的要点进行概述。

3.3软件生命周期数据

RTCA/DO-178C标准第十一章给出了22项软件生命周期数据(Software Life Cycle Data)。需要说明的是:并不是一定要有22份文件,这些文件可以是独立的,也可以合并处理。这22项软件生命周期数据是软件产品的载体:

a)软件生命周期数据是软件产品的表现形式

有些人有这样一个误解,以为软件产品就是软件的安装光盘、运行的程序、或使用许可证。其实不然,软件产品的真实含义远不仅限于此,它还包括了软件计划、软件需求、软件设计、软件源代码、可执行目标码、测试用例和规程、软件测试记录、软件更改记录等一系列由软件研制过程生成的文档。所有这些,把它们统称为“软件生命周期数据”,才是完整意义上的“软件产品”的表现形式。构成软件产品的生命周期数据将要在软件构型索引文件(Software Configuration Index,SCI)中记录。

b)软件生命周期数据是软件生命过程的真实记录

顾名思义,软件生命周期数据,是软件研制整个生命过程中所有数据的记录。它应该完整地、真实地记录了软件的整个生命过程:计划过程的输出、高级别需求的捕获、设计描述以及每一次需求的变更、每一次代码的改动、每一个测试用例、每一次版本升级、每一次同行评审,都要真实地记录下来,纳入构型控制之下,部分数据还要满足DO-178C CC1数据控制分类。

c)软件生命周期数据是软件适航审定的举证依据

为了保证机载软件的安全性,需要对机载软件进行合格审定。由于软件生命周期数据完整地、真实地记录了软件的整个研制过程,它就成了软件适航审定的举证依据。审查方通过评审研制单位提供的软件生命周期数据,来判断机载软件的研制过程是否满足DO-178C相应软件等级软件的目标,从而判断该机载软件能否能够获得适航批准。

d)软件生命周期数据在飞机服役期内留存

前面说过,软件生命周期数据是软件产品的表现形式。软件安装在飞机上,只要飞机还没有退役,其软件生命周期数据和开发软件的生命周期环境(软件、硬件)就必须要良好保存(包括灾难备份),在需要的时候能够进行软件重建。

3.4工具鉴定

工具鉴定不是必须的,工具评估是必须的。

首先要识别出软件研制过程中使用的所有工具,然后根据工具的用途、功能分析该工具属于DO-178C的哪种类型。DO-178B将工具分成开发工具和验证工具,DO-178C将工具分成3种类型:

a)准则1:工具的输出是机载软件的一部分,会引入错误;

b)准则2:工具自动化了验证过程,从而可能检测不到错误,且其出用于证明省略或减少如下过程是正确的:

1)该工具自动化的验证过程之外的验证过程,或

2)会影响机载软件的开发过程。

c)准则3:在约定的使用范围内,可能无法检测到错误的工具。

如果工具省略、减少或自动化了DO-178C的过程,且其输出不按照DO-178C第6章进行验证,相应的工具才需要进行工具鉴定,鉴定等级TQL见下表。工具鉴定分五个等级,TQL-1到TQL-5,根据工具的使用和其潜在的对软件生命周期过程的影响来定义。TQL-1是最严格的等级,TQL-5是最不严格的等级。

3.5目标的理解

DO-178C的目标见附录A的Table A1-A10。A级别软件需要满足71个目标。具体目标的理解和目标符合性判定需要在深刻理解标准以及相关辅助材料的基础上进行。

4总结

对于大部分初学者来说,常常对衍生需求确认、软件计划编制、软件开发过程的活动、软件验证尤其是软件测试用例选取、结构覆盖分析、软件生命周期数据及目标理解等方面存在疑惑。掌握DO-178C标准的唯一路径是将标准应用与软件研制过程,在实践中掌握机载软件适航符合性验证方法,进而循序渐进提升民机软件研制水平。

·END·

空港航站楼

超乎想象的使用体验

微信号:airport-terminal

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181104B09SZ200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券