0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:TIM KING,BILL ST. C 2022-11-08 11:27 次阅读

自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) 组成。

pYYBAGNpzJKAXgXEAABZ0kKWpko748.jpg

标准 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极大地阐明了降低与开发、认证和部署复杂的安全关键航空电子软件相关的成本的风险和潜在手段。

审核编辑:郭婷

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

    关注

    19

    文章

    2958

    浏览量

    104553
  • C++
    C++
    +关注

    关注

    22

    文章

    2104

    浏览量

    73497
收藏 人收藏

    评论

    相关推荐

    MathWorks公司举办线上专题研讨会

    MathWorks 公司将于 11 月 14 日 (周四)下午 14:00 通过腾讯会议举行主题为 《基于模型的设计开发符合 ISO 26262 和 DO-178C 的应用软件》 的专题研讨会,诚邀您参会。
    的头像 发表于 10-31 16:29 234次阅读

    TMS320C6201 DSP软件开发技术

    电子发烧友网站提供《TMS320C6201 DSP软件开发技术.pdf》资料免费下载
    发表于 10-26 09:25 0次下载
    TMS320<b class='flag-5'>C</b>6201 DSP<b class='flag-5'>软件开发</b><b class='flag-5'>技术</b>

    ECU电控软件开发及测试介绍

    本文重点介绍符合AutoSar架构的应用软件开发、MBD开发模式下的软件质量评估与优化方案、复杂场景下的ECU性能压力测试方案。
    的头像 发表于 09-26 14:25 3227次阅读
    ECU电控<b class='flag-5'>软件开发</b>及测试介绍

    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU软件开发

    单元(HPC)和区域控制单元(Zonal ECU)分工协作的架构。因此,ECU的软件功能越来越多,越来越复杂。ECU的软件开发,也引入不同部门、不同公司的更多项目
    的头像 发表于 09-13 11:23 808次阅读
    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU<b class='flag-5'>软件开发</b>

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于嵌入式软件开发与AI整合的详细分
    的头像 发表于 07-31 09:25 658次阅读
    嵌入式<b class='flag-5'>软件开发</b>与AI整合

    2024 ACT汽车软件安全技术周 龙智即将携全方位汽车软件开发解决方案亮相,助力应对汽车软件开发功能安全

    ,分享推动汽车软件开发与功能安全的创新实践。 ATC作为汽车技术会议领域的领先平台,专注于汽车电子与软件版块的技术交流将近10年历程,深耕行
    的头像 发表于 07-08 16:17 507次阅读
    2024 ACT汽车<b class='flag-5'>软件</b>与<b class='flag-5'>安全</b><b class='flag-5'>技术</b>周 龙智即将携全方位汽车<b class='flag-5'>软件开发</b>解决方案亮相,助力应对汽车<b class='flag-5'>软件开发</b>功能<b class='flag-5'>安全</b>

    【《软件开发珠玑》阅读体验】+ 心得

    ,为软件开发者提供了宝贵的经验和智慧。在这篇读后感中,我分享书中的精华以及它对我的启发。 首先,《软件开发珠玑》强调了软件开发和管理的59条经验教训分为6个领域。 需求、设计、项目管
    发表于 06-23 17:56

    上位机软件开发用什么语言

    维护的上位机软件至关重要。本文详细介绍几种常用的上位机软件开发编程语言,并分析它们的优缺点。 C/C++
    的头像 发表于 06-06 10:44 1461次阅读

    浅谈存内计算生态环境搭建以及软件开发

    后,我们现在转向实现存内计算技术潜力的关键:存内计算生态环境的搭建以及软件开发的具体细节。它们不仅为存内计算应用的开发和运行提供必要的基础
    发表于 05-16 16:40

    广告电商+超级云APP结合 # 软件开发# 模式开发# 小程序开发# App开发

    软件开发APP
    jf_01576396
    发布于 :2024年04月09日 17:42:13

    苹果准备推出AI软件开发工具

    近日,有知情人士透露,苹果公司正在全力加码人工智能,准备推出一款新的软件开发工具。这款工具利用生成式人工智能技术,帮助开发者自动完成编码工作,预计
    的头像 发表于 02-20 14:35 849次阅读

    keil arm软件开发指南

    电子发烧友网站提供《keil arm软件开发指南.pdf》资料免费下载
    发表于 01-26 15:51 7次下载

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种软件与硬件解耦的方式使得新功能和软件更新能够在整个汽车寿命周期内迅速、持
    发表于 01-24 14:16 511次阅读
    汽车<b class='flag-5'>软件开发</b>CAEdge框架<b class='flag-5'>关键技术</b>

    嵌入式软件开发软件开发的区别

    嵌入式软件开发软件开发是两个不同的概念,它们在一些关键方面有着明显的区别。嵌入式软件开发是指开发嵌入在硬件设备中的
    的头像 发表于 01-22 15:27 2178次阅读

    区块链系统软件开发与应用

    。本文详细介绍区块链系统软件开发的过程和应用推广的关键要点。 一、区块链系统软件开发的基本原理和技术 1.1 区块链的基本原理 区块链是一
    的头像 发表于 01-10 18:18 2432次阅读