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

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

3天内不再提示

左移可提升航电软件验证

星星科技指导员 来源:嵌入式计算设计 作者:JIM THOMAS 2022-11-08 14:58 次阅读

许多开发航空电子软件的组织仍然受到糟糕的验证实践的困扰。某些验证技术可以使那些通过避免缺陷的策略使那些寻求遵守航空电子认证标准的人受益。

航空电子标准鼓励采用结构化的软件开发方法,但许多组织并没有很好地执行这一点。在许多情况下,软件团队面临着开始编码以满足紧迫的时间框架的压力,因此没有完全分析和定义软件需求和设计,跳过单元测试,并在大量软件上进行测试。然后,向外部公司支付费用,以根据最终软件为审批过程生成文档和单元测试。即使开发符合DO-178B或DO-178C等标准,也会出现这种情况。

最后,这种方法可能会发现许多缺陷,但它通常不是那么有效 - 交付的软件具有高于预期的残余缺陷数。在测试过程中不可避免地会发现初始需求规范和软件设计的问题;在测试过程中发现的大量缺陷可能意味着软件集成阶段需要比预期长三到四倍的时间,或者整个项目必须报废并重新开始。所有这些都意味着开发成本远高于预期,软件质量低于预期。

改进验证过程通过缩短开发时间、显著缩短集成时间、显著减少软件缺陷以及更高质量、按时交付带来优势。

航空电子标准提供定义

这些标准故意不定义特定的生命周期或方法。它们定义了明确的目标和输出,并且可以以不同的顺序生成,从规划、需求、设计、编码、集成、配置管理、过程保证和验证过程。

与其事后才产生输出,不如从经过深思熟虑的验证计划开始,这意味着这些输出可以从一开始就集成到开发过程中。在生产时对其进行验证可以创建更高质量的产品,并具有更大的成功机会。

左移以便早期验证

一种方法是使用一种称为左移的技术。这更加强调提高开发生命周期早期阶段(V形开发的左侧,见图1)的输出质量,具有更严格的要求和设计阶段。这种技术是关于将最广义的测试转移到 V 模型的左侧。

图1:传统的V型软件开发生命周期。

pYYBAGNp_g2AeWcjAAA48rTT5LQ681.jpg

每个航空电子项目都从需求阶段开始,但这并不总是做得很好。需求可能没有足够详细地分析——某些需求可能存在歧义,需求之间有时存在不一致,并且可能无法完全解决错误情况的处理。这些条件可能会导致生命周期后期的问题。

关键实际上是从验证计划开始,这似乎是把最后的事情放在第一位。然而,验证不仅仅是测试软件。如果通过审查和分析更有效地验证需求和设计,那么开发软件的基础就会更加稳定。接下来,考虑如何测试源代码,将使用哪些测试向量和激励,以及从哪些工具和哪些环境中都有助于构建连贯高效的设计和验证流程。

改进流程的一个关键方法是在需求和设计阶段的一开始就让经验丰富的测试人员参与进来。虽然航空电子专家将汇总需求,但测试人员可以评估需求属性,确定需求的可测试和可追溯性。测试人员还将 - 这是至关重要的 - 突出歧义和不一致。测试人员还将研究故障条件是否得到充分解决,这个问题通常没有得到很好的覆盖,当在极端情况下出现意外故障模式时,这个问题会导致进一步的重大问题。让测试人员参与设计阶段意味着软件在设计时考虑了可测试性,设计了简化测试的功能,并评估了需求和设计之间的可追溯性。从一开始就设计更好的软件可以更轻松地在主机平台上进行测试,而不必在目标平台上进行测试。此外, 结构 测试 覆盖 率 目标 可以 更 容易 地 实现, 从而 显著 加快 测试 开发 和 问题 解决 速度。

在软件测试方面,左移也适用。隔离测试小代码单元可以确信它们在内部工作,并创建一组经过预先测试的构建块,这些构建块可以快速组合在一起。一个单元可能大约有 50 到 100 行代码,因此一次可以集成 20 到 30 个单元,也可以单独测试。测试完成后,这些较大的软件组件可以与其他组件集集成,依此类推。这种循序渐进的测试和集成方法避免了大爆炸集成测试遇到的困难。然而,为了最有效,分步测试需要在生命周期的早期通过更好的验证来创建稳定的要求和设计基础。

采用左移概念的验证计划将产生更可预测的时间尺度,并创建具有较低缺陷级别的软件,因为在生命周期的早期避免或检测到缺陷,而不必在以后阶段删除。

未来

美国联邦航空局于 2013 年 7 月批准的新 DO-178C 规范现在包括有关正式方法的指南。它还阐明了高级需求、低级需求和派生需求之间的区别,并更好地定义了系统需求和系统设计之间的退出/进入标准,允许使用高级模型。用于基于模型的工程的新工具使用高级模型自动生成代码,甚至自动生成芯片的 RTL。

形式化方法和基于模型的工程与开发生命周期中早期验证的左移概念一致,但它们为测试已实现的软件带来了不同的挑战。

首先避免缺陷

有一些方法可以实现验证过程,这些方法不会增加开发成本,但仍能提供更高质量的结果。使用左移过程可以显着提高航空电子系统软件的质量。在需求和高级设计阶段使用独立、经验丰富的测试人员可以提高需求和设计的质量。这种方法还使测试人员能够尽早开始生产系统和集成测试。开发可以单独进行全面测试的小软件单元,并以有条不紊、循序渐进的方式集成软件,简化了复杂系统的集成挑战。

使用此过程,验证不再是测试期间的缺陷消除,而是在开发生命周期的所有阶段避免缺陷。保证流程(如 DO-178C)所需的合规性工件是自然生成的,而无需在项目结束时返回并开发它们。集成时间的节省和质量的提高降低了成本并增强了可靠性,这是任何软件项目的关键考虑因素,尤其是航空电子设备。

审核编辑:郭婷

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

    关注

    30

    文章

    4736

    浏览量

    68297
  • 航空电子
    +关注

    关注

    15

    文章

    489

    浏览量

    45157
收藏 人收藏

    评论

    相关推荐

    解决验证“最后一公里”的挑战:芯神觉Claryti如何助力提升调试效率

    过程中必不可少的一环,它帮助工程师找到问题的根源并进行优化。随着设计复杂性的提升,调试作为验证的“最后一公里”正面临越来越多的挑战。如何有效提升调试效率,已成为行
    的头像 发表于 10-26 08:03 218次阅读
    解决<b class='flag-5'>验证</b>“最后一公里”的挑战:芯神觉Claryti如何助力<b class='flag-5'>提升</b>调试效率

    Lint静态验证工具如何助力IC设计

    近年来IC设计的规模和复杂度不断增大,产品的迭代周期越来越短,传统的验证方式已经难以满足设计团队的要求。在“设计左移”这一理念的趋势下,设计流程和方法学不断进行创新和优化,其中,具备“设计左移”思想
    的头像 发表于 09-03 10:15 498次阅读
    Lint静态<b class='flag-5'>验证</b>工具如何助力IC设计

    电综合测试连接方案

    、FC、AFDX、RapidIO、LVDT/RVDT、LVDS、HB6096等状态信号,以实现对电各子系统的功能、接口以及交联关系的验证。原有的测试结构如下图:
    的头像 发表于 07-10 08:39 584次阅读
    <b class='flag-5'>航</b>电综合测试连接方案

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们一起探讨一下。 1.奠定扎
    发表于 06-12 11:20

    西门子数字化工业软件推出Veloce CS硬件辅助验证和确认系统

    创新的 Veloce CS 架构整合了硬件加速仿真、企业原型验证软件原型验证,将验证和确认周期加快 10 倍,整体成本降低 5 倍
    的头像 发表于 05-08 14:28 649次阅读

    盛与高通合作发布盛面向智能舱驾融合功能的最新产品

    深圳市盛电子股份有限公司(以下简称:盛)与高通技术公司今日在2024北京国际汽车展览会(以下简称:北京车展)发布盛面向智能舱驾融合功能的最新产品。
    的头像 发表于 04-28 10:06 650次阅读

    沃尔沃汽车携手Breathe电池科技,应用新充电软件

    据悉,此次沃尔沃汽车与 Breathe 的合作,旨在通过集成其自研的电池管理系统中的相关软件来优化和提高充电效率。以便“显著减少消费者的充电时间”,进一步升级整体驾驶和充电体验。
    的头像 发表于 03-26 14:14 299次阅读

    ​PLC左移指令和右移指令

    在PLC(可编程逻辑控制器)中,左移(Shift Left)指令和右移(Shift Right)指令通常用于位级操作,对位寄存器中的位进行移位操作。这些指令可以用于实现数据的移位和位操作功能。
    发表于 03-15 14:12 6066次阅读
    ​PLC<b class='flag-5'>左移</b>指令和右移指令

    如何在PLC中使用左移指令和右移指令呢

     PLC(可编程逻辑控制器)中的左移指令和右移指令是数据处理中常用的指令,用于将数据中的位向左或向右移动指定的位数。
    的头像 发表于 03-07 17:11 3196次阅读
    如何在PLC中使用<b class='flag-5'>左移</b>指令和右移指令呢

    盛与Qt Group达成战略合作,携手共建软件赋能汽车新生态

    盛作为汽车电子行业的领军企业,具备深厚技术积淀和卓越制造能力。Qt作为全球领先的跨平台应用和用户界面开发框架供应商,拥有先进的软件开发平台和工具,可应用于智能座舱车机的交互设计。
    的头像 发表于 01-10 16:02 613次阅读

    基于功能安全的汽车嵌入式软件单元验证技术研究

    随着汽车嵌入式软件功能的不断叠加,软件复杂性不断提升,对汽车嵌入式软件的安全性提出了更高要求,基于功能安全的嵌入式软件开发和测试已成为汽车行
    的头像 发表于 01-07 11:27 1000次阅读
    基于功能安全的汽车嵌入式<b class='flag-5'>软件</b>单元<b class='flag-5'>验证</b>技术研究

    顺芯片推出的HK32M060高速风筒BLDC MCU解决方案

    顺芯片推出的HK32M060高速风筒BLDC MCU解决方案,具有顺自研电机加速单元与实时采样效率,提高电机的工作效率和控制精确度。同时,HK32M060系列产品相较于同类产品集成度更高,
    的头像 发表于 01-02 14:09 729次阅读
    <b class='flag-5'>航</b>顺芯片推出的HK32M060高速风筒BLDC MCU解决方案

    华秋DFM软件荣获2023年度电子信息行业可靠性质量提升典型案例

    在11月25日由中国电子信息行业联合会与盐城市人民政府联合主办的“2023中国电子信息行业发展大会”上, 华秋DFM软件凭借其卓越的技术实力帮助电子制造产业质量提升,荣获了2023年度电子信息行业
    发表于 12-08 10:06

    AD7194上电软件复位后读取寄存器默认值为0xA0是怎么回事?

    AD7194上电软件复位后读取寄存器默认值,ID寄存器读到的值是0xA0,与资料上说的0xX3不相符。但是模式寄存器和配置寄存器分别读到0x080060和0x000117,都对着呢。请问下这是怎么回事。是买到假的芯片了吗?
    发表于 12-08 06:52

    ADS / SystemVue / 器件建模软件——2024新功能专题研讨会

    来提高生产力。 在产品开发的不同阶段,从概念到设计、验证、原型制作,硬件验证,再到生产制造,产品的可信度逐渐增加。然而,随着设计进程的推进,一旦出现问题,重新设计所带来的成本也会逐渐增加。是德科技EDA软件的目标是帮助客户实现"
    的头像 发表于 11-22 07:45 1121次阅读
    ADS / SystemVue / 器件建模<b class='flag-5'>软件</b>——2024新功能专题研讨会