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

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

3天内不再提示

利用汽车开发标准规范汽车应用程序的软件开发

星星科技指导员 来源:嵌入式计算设计 作者:Arthur Hicken,Adam 2022-06-15 16:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当普通的非工程师消费者想到汽车中的电子系统时,他们可能会想到集成 GPS、信息娱乐系统,并且可能会想到汽车某处有一台计算机控制某些安全功能的模糊概念。当然,现实情况是现代汽车要复杂得多,软件在功能的各个方面发挥着越来越大的作用,包括许多对安全至关重要的功能。事实上,几十年来,汽车一直在利用电子系统实现关键功能,而市场变化,例如推动“物联网”,推动汽车制造商嵌入更多运行关键范围的复杂计算机系统。

与系统开发相关的业务结构和供应链进一步增加了复杂性。很少有制造商从头开始设计和构建汽车中的每个组件和子系统,这会导致潜在的集成问题。变速箱取自该模型,该模型具有良好的制动系统。虽然它们可能在以前的环境中运行良好,但在一个全新的复杂系统中,它们很可能会产生意想不到的结果。因此,汽车软件通常是复杂的系统大杂烩,可能经过充分测试,也可能未经过充分测试。在没有适当测试的情况下以临时方式实现组件,尤其是在安全关键应用程序中,成本可能非常高。

不过,好处是,有一些已知的做法可以帮助汽车制造商通过将软件质量构建到他们的开发过程中来降低失败的风险。在本文中,我们将讨论导致汽车软件复杂性的一些问题,以及与汽车软件开发相关的风险。我们还将讨论实施已知的开发最佳实践(例如 ISO 26262)如何帮助组织降低这些风险。

更多代码会带来更多风险吗?

根据一些估计,一辆标准的中档汽车可以有超过一百个电子控制单元 (ECU) 处理数百万行代码——而且这个数字还在增加。对于制造商来说,拥有几款代码超过 1 亿行的汽车并不少见。

人们认为,汽车越贵,嵌入的软件就越多——而且大多数软件都专用于高端信息娱乐组件。虽然随着模型线的升级,这些系统确实会变得越来越复杂,但即使是汽车的入门线也使用软件来控制转向、制动系统、电力分配等。即使是蓝牙、气候控制、巡航控制等功能看似微小的变化,也会导致代码呈指数级增长。

我们可以假设更多的代码会转化为更多的复杂性——因此会带来风险——但影响可能不一定很大。与汽车软件相关的业务风险的更大贡献者是从多个层级的各种来源开发的代码的集成。大多数组件,包括基于 ECU 的组件,都分包给二级供应商,而二级供应商又分包给三级供应商,依此类推。前面的每一层都有与他们正在开发的组件相关的特定要求。组织通常(但并非总是)有分析传入代码的实践,以确保组件按预期运行。

但这假设供应链上的每个组件都是新的发展。实际上,下游层正在分支为特定品牌、型号和年份编写的代码。代码的变异和重用发生在整个供应链中,这导致了测试问题。制造商如何在如此混乱的软件开发生态系统中实施端到端测试?当方向盘中的 ECU 最初是为一辆车开发的,而仪表板中的 ECU 是为另一辆车开发的,而这两个 ECU 都不是为当前嵌入的车辆而设计的,那会产生什么影响?您如何确保整个系统按预期运行?两个系统完全有可能通过功能测试,但在所有情况下都无法正常通信

软件质量成本

当组织试图衡量软件开发的成本时,他们倾向于查看一般指标:工程师的开发时间;QA的测试时间;以获取工具许可证、编译器和其他基础设施组件的形式“构建材料”。这些是重要的指标,但经常被忽视的是失败的成本。

如果制动系统中的软件出现故障,企业在返工、召回、审计、诉讼和库存价值损失方面的成本是多少?如果有生命损失怎么办?我们认为质量成本是开发和测试软件的成本,包括我们确定的所有正常指标以及与现场失败相关的非常有形的成本。

缺陷使汽车制造商付出了很多钱。NHTSA 估计,整个行业的召回和修复每年使汽车制造商损失 30 亿美元。当谈到与软件相关的问题的成本时,IEEE 2005 年估计制造商的成本为每辆车 350 美元。当您考虑到一系列车辆的低利润率时,可以想象一个足够严重的软件缺陷会严重损害业务。

底线很重要,但更重要的是,人们可能会因软件缺陷而受重伤甚至死亡。无论缺陷可能起源于供应链多远,缺陷及其所有相关后果都成为汽车制造商的责任。因此,任何围绕软件开发的成本分析都需要考虑失败的潜在成本。

软件开发的现状

我们认为,汽车软件分层供应链的复杂性会导致与安全关键系统相关的整体风险。我们还重申了汽车业务的潜在成本。但是这个问题的另一个方面在于工程和软件开发之间的文化差异。

软件开发几乎从来都不是工程。也就是说,来自工程原理的某些概念,例如可重复性、良好实践的最佳实践和对构建标准的依赖,尚未在软件开发中牢固确立。此外,对软件开发人员的培训可能不一致——甚至根本不存在——组织必须竭尽全力来验证他们的开发人员是否拥有足够的知识来构建安全关键型软件。

这与工程形成对比,在工程中,与软件开发相比,学科的态度、思维方式和历史强制执行的过程不太容易出现缺陷。这并不是说工程师知道他们在做什么而软件开发人员不知道。而是说,汽车工程作为一个领域的成熟度是软件开发的两倍,软件的无形的、时间性的特性使一种傲慢的态度永存,如果它有效,那么它就完成了。

软件开发的重点是更快的交付和功能需求——我们能多快拥有这个功能?管理层几乎没有动力在软件开发生命周期中实施良好的工程实践。在软件中实现功能安全需要实施某些工程原则:

功能安全必须是主动的

过程必须是可控的、可测量的和可重复的

应通过执行标准来预防缺陷

测试必须有效且具有确定性

应对复杂的内存问题进行测试

好消息是围绕软件开发的态度一直在演变。ISO 26262、MISRA 和其他标准旨在通过为在软件开发过程中实施工程概念提供基础来规范汽车应用程序的软件开发。一些组织将遵守 ISO 26262 和其他标准视为增加开销的负担,没有任何直接价值,但事实是,与软件缺陷相关的失败成本远远高于确保质量的成本。与指定特定规格的电线以承载已知电压的电气标准一样,编码标准可以提供有助于避免灾难的指南。

作者:Arthur Hicken,Adam Trujillo

审核编辑:郭婷

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

    关注

    3048

    文章

    9210

    浏览量

    173388
  • gps
    gps
    +关注

    关注

    22

    文章

    3061

    浏览量

    174335
  • ecu
    ecu
    +关注

    关注

    14

    文章

    1001

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用基于模型的设计开发和测试车载操作系统的SOA应用程序

    随着车辆从传统机械系统演变为软件定义汽车 (SDVs),汽车行业正在经历一场深刻的变革。这种转变需要新的软件开发方法,而面向服务的架构 (SOA) 正成为设计灵活、可扩展的
    的头像 发表于 05-22 11:17 1052次阅读
    使用基于模型的设计<b class='flag-5'>开发</b>和测试车载操作系统的SOA<b class='flag-5'>应用程序</b>

    2026汽车软件发展现状报告(Perforce公司出品,第九章)

    无论是自动驾驶、半自动驾驶、电动汽车、车联网,还是传统车辆,所有车辆组件都需要满足安全与信息安全要求,只是不同功能对应的合规范围有所差异。 然而,在所有层级上,确保软件符合关键行业编码标准
    的头像 发表于 05-07 16:32 1490次阅读
    2026<b class='flag-5'>汽车</b><b class='flag-5'>软件</b>发展现状报告(Perforce公司出品,第九章)

    知识分享 | ISO 25119标准在农业机械软件开发中的应用

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术知识。ISO25119标准在农业机械软件
    的头像 发表于 04-08 10:03 201次阅读
    知识分享 | ISO 25119<b class='flag-5'>标准</b>在农业机械<b class='flag-5'>软件开发</b>中的应用

    易特驰亮相2026软件定义汽车论坛暨AUTOSAR中国日

    随着汽车软件规模的指数级增长与工程效率的下降,如何利用人工智能(AI)技术重塑传统的汽车软件开发流程,已成为行业亟待解决的核心课题。传统的A
    的头像 发表于 04-07 11:26 508次阅读
    易特驰亮相2026<b class='flag-5'>软件</b>定义<b class='flag-5'>汽车</b>论坛暨AUTOSAR中国日

    嵌入式软件开发的 10 个技巧分享

    状态机都控制该应用程序的特定部分。这些状态机都拥有自己的内部状态和状态转换,从中可看出软件如何与各种激励相互作用。用状态机来设计软件,可简化软件
    发表于 12-25 06:04

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

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

    【征集令】2026年全球汽车软件开发状况调查,500美金等你拿!

    应用程序生命周期管理平台、敏捷规划软件以及用于静态代码分析的Klocwork、QAC等。Perforce有4万多个客户,涵盖从热门游戏厂商、半导体公司到著名互联网公司
    的头像 发表于 11-12 10:02 913次阅读
    【征集令】2026年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查,500美金等你拿!

    新能源汽车质量保证体系与传统汽车单元测试规范的融合研究

    中的应用,以及winAMS等认证工具在提升测试效率和质量方面的作用。研究结果表明,传统汽车测试规范经过适当调整后,能够有效提升新能源汽车软件质量和系统可靠性,但需要针对三电系统等新能
    的头像 发表于 11-07 10:10 484次阅读

    芯科科技推出Simplicity Ecosystem软件开发套件

    Silicon Labs(芯科科技)今日在深圳盛大举办享誉业界的Works With开发者大会,同时宣布推出Simplicity Ecosystem软件开发套件,它不仅是下一代模块化的软件开发
    的头像 发表于 10-27 16:45 1713次阅读

    十大北京软件开发公司推荐:有哪些优点和缺点

    十大北京软件开发公司推荐:有哪些优点和缺点
    的头像 发表于 10-04 09:44 4191次阅读
    十大北京<b class='flag-5'>软件开发</b>公司推荐:有哪些优点和缺点

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

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

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

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

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

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

    嵌入式软件开发常用的软件有哪些?

    对于初学嵌入式的朋友们,会想要了解嵌入式软件开发常用的软件有些,有什么用。那么看以下常用的软件介绍。 1.Visual Studio Code 简称VSCode:它是一款由微软开发且跨
    发表于 07-03 17:06

    2025年汽车行业趋势解读:AI在汽车软件开发中的应用、代码安全挑战等(附Perforce QAC / Klocwork工具推荐)

    随着AI技术深入嵌入式系统,汽车软件已成为智能出行的核心要素。根据Perforce发布的《2025年汽车软件开发现状报告》,全球650多名汽车
    的头像 发表于 06-13 15:03 1928次阅读
    2025年<b class='flag-5'>汽车</b>行业趋势解读:AI在<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>中的应用、代码安全挑战等(附Perforce QAC / Klocwork工具推荐)