在航空航天领域,软件安全是工业设计的核心考量。而在众多安全标准中,DO-178B以其独特地位和深远影响,成为了不可忽视的关键准则。

▲DO-178B软件生命周期流程图
▲DO-178B软件生命周期流程图

▲DO-178B是什么?

DO-178B,全称为“机载系统设备合格审定中的软件考虑”,自1992年由无线电航空技术委员会(RTCA)与欧洲民用航空电子协会(EUROCAE)共同发布以来,便成为了一项国际通行的适航认证标准。这项标准专注于评估机载系统和设备所使用的任务关键型软件的安全性。尽管它仅作为一项指南而非政策存在,但其在美国联邦航空管理局(FAA)的机载软件适航认证过程中扮演着至关重要的角色,成为判断软件在机载环境中是否安全可靠的依据。

RTCA,作为一家非营利性行业协会,致力于为政府监管部门提供技术指南,并致力于实现“一致性”的目标。DO-178B标准的开发正是为了满足航空航天领域对机载软件的安全需求,但它的影响力已超越这一领域,广泛适用于其他行业,并常与DO-254(机载电子硬件设计保证指南)一同使用。同样,DO-254也由RTCA发布,为机载电子硬件的设计提供了有力的保证。
▲DO-178B与DO-178C的差异解析
DO-178B与DO-178C,这两项标准均由RTCA为机载软件制定,且后者为前者的升级版。DO-178C标准在2011年发布,旨在根据近二十年来软件开发领域的技术进步和实践经验,对DO-178B进行勘误、澄清与补充。这些改进不仅修正了原有标准中描述模糊的部分,还新增了模型开发、工具鉴定以及面向对象方法等先进技术,从而进一步提升了机载软件的安全性评估水平。

▲DO-178C软件生命周期模型与系统间信息流
DO-178C标准在继承DO-178B的基础上,进一步强化了需求驱动的开发、严格测试以及可追溯性要求。其中,最引人注目的改进是引入了全新的软件生命周期模型——“基于模型的开发与验证”(MBD)。这一模型不仅有助于提升软件开发的速度与质量,还为采用形式化方法的商用现成软件提供了更为详尽的指南。
DO-178B标准将软件故障的影响划分为五个等级,从A级(最严重)到E级(无影响)。针对每个等级,标准都详细规定了软件开发、验证和确认的具体流程,包括需求分析、设计、编码以及测试等环节。这些流程旨在确保飞机软件的安全性和可靠性,从而保障乘客和机组人员的安全。

▲机载软件失效条件与目标

通常,随着DO-178B标准中A-E级的递减,特定应用软件的开发工作量也相应层级递减。然而,关于低级别向高级别转移所需成本的可靠数据尚属有限。现有数据表明,单一层级的跃升可能会增加75%至150%的开发成本,这主要归因于更高等级需要达成更多目标。

DO-178B的级别认定通常涉及五个关键过程,每个过程都需要产出相应的预期文档:

  1. 软件规划阶段:此阶段的主要输出是软件开发计划(SDP),为整个开发过程提供蓝图。
  2. 软件发展阶段:在此阶段,团队需产出软件需求数据(SRD)、软件设计描述(SDD),以及源代码和可执行目标代码,为软件开发奠定基础。
  3. 软件认证阶段:该阶段的核心是输出软件验证案例和程序(SVCP)以及软件验证结果(SVR),并对所有要求、设计和代码进行详尽的审查。
  4. 配置管理阶段:此阶段着重于输出软件配置索引(SCI)和软件生命周期环境配置索引(SECI),以确保软件配置的有效管理和生命周期的顺畅进行。
  5. 质量保证阶段:该阶段的输出包括软件质量保证记录(SQAR)、软件符合性审查(SCR)和软件实施概要(SAS),旨在确保软件的质量和符合性,为最终交付做好准备。

DO-178B标准中的软件验证关键性

在DO-178B标准中,软件验证占据着举足轻重的地位。它旨在确保软件能够依照预期进行运作,同时满足严格的安全性和可靠性标准。通过这一环节,我们能够在软件被部署至飞机之前,就及时发现并纠正潜在的缺陷和错误,从而保障飞行的安全性。借助高效的验证工具,开发人员能够更加便捷地实现自动化测试,进而提升测试的效率与准确性,缩短整体的开发周期。

▲遵循DO-178B标准的软件开发与验证流程
在遵循DO-178B标准的过程中,软件开发与验证环节紧密相连,构成了一个严谨的流程。这一流程不仅确保了软件能够满足预期的功能需求,更在安全性与可靠性方面达到了高标准。通过这一流程,我们能够有效地发现并修正潜在的缺陷,从而为飞行的安全提供坚实保障。同时,它也推动了软件开发效率的提升,为整个行业的持续发展贡献力量。
软件验证工具在DO-178B标准中的应用及其重要性
在DO-178B标准的认证过程中,软件验证工具扮演着举足轻重的角色。这些工具不仅助力开发人员进行静态分析、动态分析,还支持基于需求的测试,从而确保软件的质量与安全性。具体而言,静态分析工具能在不运行软件的情况下,深入剖析源代码,揭露潜在的缺陷和编码标准违规情况,如未初始化变量、缓冲区溢出以及不可访问代码等问题,助力开发人员及早发现并纠正错误。动态分析工具则专注于监测软件执行过程中的行为,捕捉内存使用、函数调用及变量值等关键信息,对于发现运行时错误、内存泄漏及性能瓶颈极为有效,为深入理解软件实际行为提供有力支持。此外,基于需求的测试工具能依据具体需求自动生成测试用例,确保所有需求都得到充分测试,同时实现需求、设计与测试用例之间的可追溯性,这是DO-178B标准的一项核心要求。

验证工具选择关键要素

在遵循DO-178B标准的过程中,选择合适的软件验证工具至关重要。以下是几个需要重点考虑的因素:

  1. 工具鉴定:DO-178B标准要求,用于开发的软件验证工具必须经过合格鉴定,证明其可靠、有效,并且不会引入新的错误。这一过程通常涉及详细记录工具的功能、限制,以及提供充分的验证和确认证据。

  2. 工具集成:所选取的验证工具应能够顺利地集成到现有的开发环境中,并与软件开发生命周期的其他部分无缝协作。这确保了工作流程的顺畅,并促进了验证活动的自动化。

  3. 文档和支持:全面的用户手册、教程和示例文档是必不可少的,它们为使用工具提供了必要的指导和支持。同时,供应商的技术支持和定期更新也是确保工具持续有效和适应变化的关键因素。

为了满足DO-178B标准的要求,使用软件验证工具的过程应遵循标准中规定的准则,并详细记录选择、鉴定和使用工具的整个过程。此外,保留工具的鉴定和验证证据,以及在整个软件开发生命周期中一致地使用和严格测试这些工具,都是确保符合标准的重要措施。同时,采用适当的需求管理工具来追踪每项记录的源头,并确保每次修改都有详细的记录在案,也是一个有效的策略。
DO-178B标准在我国的演进与影响
自20世纪90年代起,我国航空工业部门便开始接触并翻译了DO-178B标准。随着航空航天软件工程化程度的不断提升,特别是C919等国家重点飞机型号的顺利交付与运营,适航认证的需求日益迫切。在这样的背景下,DO-178B标准已然成为我国航空工业不可或缺的软件开发规范。

举报/反馈

AA李哥

5056获赞 1073粉丝
关注
0
0
收藏
分享