DO-178C将现代技术引入安全关键型软件开发

描述

自1992年DO-178B推出以来,航空电子软件技术突飞猛进。DO-178C将把安全关键型软件开发带入现代,增加对UML和数学建模、面向对象编程和形式化方法等先进技术的支持。第三方工具、平台和认证服务的随时可用将加速DO-178C的采用和部署。

随着软件变得越来越复杂,很难在代码级别管理该软件的设计。面向对象编程(C++、Ada 和 Java)和建模(UML、数学等)使设计人员能够在更高级别概念化、架构和封装其设计,从而简化了复杂软件的开发。与基于模型的开发相关的形式化方法可以更轻松地评估复杂软件功能(如控制回路)的正确性。

DO-178C 继承了 DO-178B 核心文档、原则和流程,同时增加了对高级建模、面向对象编程和形式化方法的支持,重点是从模型到可执行代码再到返回的双向可追溯性(侧栏 1)。DO-178C 还提供了工具补充,用于详细解决不仅用于建模、面向对象编程和形式化方法的工具的限定和功能,还用于其他开发技术(如过程软件和程序集级编程)的工具的资格和功能。

DO-178C 补充

DO-178C工作组已经制作了三种开发技术补充:面向对象技术和相关技术(OOT和RT),基于模型的开发和验证以及形式化方法。它还大大扩展了DO-178B中的工具认证指南。这四份增刊已由RTCA出版为:

DO-330,软件工具认证注意事项

DO-331,DO-178C 和 DO-278A 的基于模型的开发和验证补充

DO-332,面向对象技术和相关技术 DO-178C 和 DO-278A 的补充

DO-333,DO-178C 和 DO-278A 的形式化方法补充

请注意,DO-278A 相当于 DO-178C 的地面系统。

面向对象技术及相关技术

面向对象技术和相关技术(OOT&RT)是用于手动代码开发和验证的综合安全关键软件指南。它不仅包括面向对象的软件开发,还包括过程语言中使用的技术。这些相关技术包括动态内存管理、重载、参数化多态性(例如 C++ 中的模板和 Ada 中的泛型)类型转换和虚拟化。最终结果是,OOT和RT补充可以在大多数使用过程语言和OOT的项目上调用。

OOT和RT最重要的补充是新目标的定义。目标确定必须生成哪些开发资产、集成流程和验证工件才能使产品可认证。OOT 和 RT 定义了两个新的验证目标:第一个验证本地类型一致性,这使得子类方法能够安全地重写父类方法。第二个验证动态内存管理系统的使用是否可靠。特别是,它验证了动态内存管理系统的以下特征:引用歧义、碎片饥饿、释放匮乏、内存耗尽、过早释放、丢失更新和过时引用以及未绑定分配或解除分配时间。

基于模型的开发和验证(MBD&V)

在审查和批准MBD&V补充时,最大和最具争议的挑战是确定在目标系统上编译,链接和加载的可执行目标代码(EOC)上使用的最终验证方法。在所考虑的MBD&V系统的背景下,EOC可以直接追溯到模型自动生成的源代码。从历史上看,在验证一些航空电子软件方面有一个先例,这些软件在模型本身中都进行了测试,而没有对EOC进行目标测试,有效地消除了DO-178C“核心文件”中EOC测试的目标。相反,DO-178C全体会议同意必须在目标系统上对EOC进行某种形式的独立验证,从而保留DO-178C的EOC目标。

尽管就EOC验证达成了共识,但MBD&V补充确实增加了许多目标,为模型在模型架构和模型代码上执行或至少由模型定义的验证活动提供认证信用。这些验证活动主要由“模拟用例”执行,这些用例代替测试用例和其他形式的验证运行。

添加到任何DO-178C技术补充中的最明确的常见问题解答可能是添加到MBD&V补充中的常见问题解答。新常见问题解答的范围涵盖开发和验证,不仅包括标准的高级和低级软件要求以及相关的规范和设计模型,还包括分配给软件的系统要求。从历史上看,这些模型类型和需求层次结构之间的差距及其各种来源一直是MBD&V项目中模糊和实现不佳设计的主要原因。

形式化方法补充

形式化方法补充遵循与MBD&V类似的轨迹,因为它最终也同意通过规定最终通过形式方法或数学证明对EOC进行独立验证来保留核心文件的EOC目标。形式化方法或MBD&V补充尚未明确解决的一个关键问题是这些补充之间可能发生的明显领域重叠。也就是说,形式化方法(FM)作为一种开发和验证技术,本身就利用了一种基于模型的开发形式。美国联邦航空局将在将于今年发布的通知中解决这一和其他潜在的领域重叠问题。

软件工具鉴定注意事项

当DO-178C的过程通过使用软件工具被消除,减少或自动化时,需要对工具进行认证,而其输出没有按照标准中的规定进行验证。工具鉴定过程的目的是确保工具提供的信心至少与消除、减少或自动化的过程相同。

软件工具认证注意事项文档介绍了一种新的工具认证结构,该结构由三个标准和五个工具认证级别 (TQL) 组成,如表 1 所示。

表 1:软件工具资格认证注意事项文档引入了新的工具资格认证结构,该结构由三个标准和五个工具资格级别 (TQL) 组成。

JAVA

标准 1 适用的 TQL 是 DO-178B 中开发工具的替代品。

标准 2 是 DO-178C 的新标准,旨在解决新方法中工具使用的扩展问题。标准 2 基本上要求对软件级别 A 和 B 上使用的工具进行比 DO-178B 标准更高的严格性,以增加使用该工具的信心。

标准 3 完全由 TQL-5 级组成,是 DO-178B 中验证工具的替代品。

为了帮助安全关键型开发人员充分利用 DO-178 的高级功能,自动化和简化开发、验证和认证流程的工具变得至关重要。例如,DO-178C 第 11 节介绍了跟踪数据,它将其描述为生命周期数据项(如需求、设计、源代码和测试用例)之间的参考链接。自动化生命周期数据可追溯性的工具的一个关键方面是用于建立向前和向后可追溯性的工具,从需求向下到分解树,再到可执行代码,然后再返回,包括验证任务。

自动化工具大大减少了与开发符合 DO-178 标准的软件相关的时间和成本。然而,DO-178认证仍然是一个昂贵、耗时和艰巨的过程。为了帮助航空电子设备制造商加快这一过程,一些公司,如DDC-I,除了为DO-178B和DO-178C提供交钥匙开发和认证服务外,还提供已经通过DO-178B A级认证的基于Eclipse的开发工具和RTOS平台。

DO-178C 简化航空电子设备开发

DO-178C标志着复杂航空电子软件开发人员向前迈出了一大步,这些软件必须经过最高级别的安全关键性认证。DO-178C 通过采用形式化方法、高级建模和面向对象的技术来简化开发过程,使设计人员能够在更高层次上概念化和封装他们的软件。它还通过提供从模型和要求到可执行代码并再次返回的双向可追溯性来简化验证和认证过程。结合自动化工具、平台和认证服务,DO-178C极大地阐明了降低与开发、认证和部署复杂的安全关键航空电子软件相关的成本的风险和潜在手段。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分