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
    +关注

    关注

    20

    文章

    2997

    浏览量

    115702
  • C++
    C++
    +关注

    关注

    22

    文章

    2122

    浏览量

    76718
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C
    发表于 11-28 07:48

    使用SAFERTOS与LDRA工具套件提升功能安全

    人员可以自动化代码覆盖分析,加速关键标准(如IEC 61508、ISO 26262、DO-178C等)的认证过程。
    的头像 发表于 11-11 09:44 433次阅读

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司

    2025北京软件开发公司推荐汇总:盘点10家优秀软件定制开发公司
    的头像 发表于 09-30 09:16 2464次阅读
    2025北京<b class='flag-5'>软件开发</b>公司推荐汇总:盘点10家优秀<b class='flag-5'>软件</b>定制<b class='flag-5'>开发</b>公司

    汽车软件开发阶段安全的意义与原则

    上海磐时PANSHI“磐时,做汽车企业的安全智库”好书分享/《一本书读懂智能汽车安全》汽车软件开发阶段安全的意义与原则本文节选自SASETECH汽车
    的头像 发表于 09-05 16:16 681次阅读
    汽车<b class='flag-5'>软件开发</b>阶段<b class='flag-5'>安全</b>的意义与原则

    耦合之殇,软件设计中的隐疾

    01 引 言 数据耦合和控制耦合是复杂软件设计中常见的一种情况。DO-178C要求高安全等级软件( DAL A/ B /C) 的测试覆盖分析
    的头像 发表于 08-28 15:54 523次阅读
    耦合之殇,<b class='flag-5'>软件</b>设计中的隐疾

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的开发(MBD)具有诸多优势。
    的头像 发表于 07-16 16:52 1062次阅读
    知识分享 | 敏捷方法在基于模型的<b class='flag-5'>软件开发</b>项目中的应用

    芯科科技Unify软件开发套件更新

    Silicon Labs(芯科科技)最新发布的Unify 软件开发套件 (SDK) 更新内容引入了一系列功能,旨在大幅增强对Z-Wave开发的支持,包括优化的安全性以及协议功能。该版本
    的头像 发表于 04-23 10:03 845次阅读

    IAR发布云端平台,助力现代嵌入式软件开发团队

    该平台为嵌入式软件开发人员提供前所未有的自由度与灵活性,助力开发团队在工具选择和日常工作流中实现更高效的协作与创新。
    的头像 发表于 03-12 11:56 611次阅读

    发力智能汽车软件开发 中科创达与现代汽车集团达成战略合作

    (Joint Lab)揭牌仪式隆重举行,标志着三方在智能汽车软件开发领域的合作迈入全新阶段。   现代汽车集团与中科创达签署战略合作框架协议   现代汽车前瞻技术研发中心总经理杨峰、中
    的头像 发表于 03-11 19:15 1887次阅读
    发力智能汽车<b class='flag-5'>软件开发</b> 中科创达与<b class='flag-5'>现代</b>汽车集团达成战略合作

    开源安全领航者!华为云 CodeArts Governance 构建更安全软件开发生命周期

    成分分析专业版已开启公测。 随着开源软件广泛应用,颠覆性技术不断涌现,如何在软件开发全流程中保障开源安全,成为企业面对的重要挑战。 根据研究数据显示,全球超过 99%的商业
    的头像 发表于 02-12 16:50 3065次阅读
    开源<b class='flag-5'>安全</b>领航者!华为云 CodeArts Governance 构建更<b class='flag-5'>安全</b>的<b class='flag-5'>软件开发</b>生命周期

    嵌入式软件开发符合ISO 26262 功能安全标准

    ISO 26262 功能安全标准的要求可能非常具有挑战性,尤其是当您的汽车系统中的某些部件相比其他部件具有更高的安全风险时。开发者如何在整个软件开发生命周期中保持对每一个汽车
    发表于 01-15 12:04 3次下载

    DevSecOps自动化在安全关键软件开发中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    DevSecOps自动化旨在通过在软件开发生命周期的各个阶段集成安全流程,使用自动化工具和最佳实践来简化开发安全和运营。实现DevSecOps自动化流程的一个重要部分就是使用SAST
    的头像 发表于 01-03 16:05 735次阅读
    DevSecOps自动化在<b class='flag-5'>安全</b><b class='flag-5'>关键</b><b class='flag-5'>型</b><b class='flag-5'>软件开发</b>中的实践、Helix QAC&amp;amp; Klocwork等SAST工具应用

    最新Simplicity SDK软件开发工具包发布

    最新的SimplicitySDK软件开发工具包已经发布!此次更新针对SiliconLabs(芯科科技)第二代无线开发平台带来了包括蓝牙6.0的信道探测(Channel Sounding
    的头像 发表于 12-24 09:47 1499次阅读

    我国软件开发者数量超过940万

    的地位日益凸显。 近年来,我国在软件产业方面取得了长足的进步。随着信息技术的快速发展和普及,越来越多的年轻人投身于软件开发行业,为我国的信息化建设贡献自己的力量。同时,政府也加大了对软件
    的头像 发表于 12-23 11:08 915次阅读

    缓存技术软件开发中的应用

    现代软件开发中,随着数据量的爆炸性增长和用户对响应速度的高要求,缓存技术成为了提升系统性能的重要手段。缓存技术通过数据存储在离用户更近的
    的头像 发表于 12-18 09:32 1141次阅读