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

审核编辑:郭婷

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

    关注

    3023

    文章

    7840

    浏览量

    166138
  • gps
    gps
    +关注

    关注

    22

    文章

    2881

    浏览量

    165977
  • ecu
    ecu
    +关注

    关注

    14

    文章

    877

    浏览量

    54384
收藏 人收藏

    评论

    相关推荐

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

    本次Perforce联合北汇信息,诚挚邀请中国汽车软件开发专业人士参加该报告2025年的调查。这项调查涵盖了发现汽车软件工作人员面临的最新趋势、挑战和技术,我们需要倾听您的宝贵见解!
    的头像 发表于 11-08 09:17 73次阅读
    【征集令】2025年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查,500美金等你拿!

    FMR52-AAECAABPCJK+AK四线制雷达料位计信号检测标准规范

    四线制雷达料位计的信号检测标准规范涉及多个方面,包括基本测量原理、信号检测标准、校准规范以及使用与维护规范等。这些规范旨在确保雷达料位计的测
    的头像 发表于 11-06 15:03 91次阅读

    北京软件开发公司有那些?做软件的公司有哪些?

    北京作为中国的科技创新中心之一,拥有众多提供软件开发服务的公司。以下是一些在北京地区较为知名的软件开发公司: 华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构
    的头像 发表于 10-28 15:02 261次阅读

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

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

    使用MATLAB、Simulink和Polyspace加速软件定义汽车开发

    开发软件定义汽车 (SDV) 时,开发团队必须具备新的能力,例如进行连续的软件发布,减少软件更改的交付周期以及尽可能减少部署失败。同时,平台
    的头像 发表于 09-05 09:57 326次阅读
    使用MATLAB、Simulink和Polyspace加速<b class='flag-5'>软件</b>定义<b class='flag-5'>汽车</b><b class='flag-5'>开发</b>

    Jama Connect for Automotive,汽车行业需求管理解决方案,加速汽车软件开发

    软件开发
    龙智DevSecOps
    发布于 :2024年08月05日 13:55:24

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

    ,分享推动汽车软件开发与功能安全的创新实践。 ATC作为汽车技术会议领域的领先平台,专注于汽车电子与软件版块的技术交流将近10年历程,深耕行
    的头像 发表于 07-08 16:17 495次阅读
    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>功能安全

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

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

    M12航空插座8芯拉力标准规范要求是什么

    德索工程师说道M12航空插座8芯的拉力标准规范受多种因素影响,接触件的形状、尺寸和材料都会影响连接器的拉力性能。例如,较大的接触面积和更强的锁定机制可以提供更好的拉力性能。
    的头像 发表于 03-30 14:23 380次阅读
    M12航空插座8芯拉力<b class='flag-5'>标准规范</b>要求是什么

    如何通过人工智能(AI)克服汽车软件开发挑战?

    关于“如何通过人工智能(AI)克服汽车软件开发挑战”的网络研讨会,本文总结了研讨会的关键观点以及相关白皮书和专访,帮助读者更好地了解汽车软件行业中的最新趋势和解决方案。
    的头像 发表于 02-28 15:01 1185次阅读
    如何通过人工智能(AI)克服<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>挑战?

    2024年全球汽车软件开发状况调查-首次中国汽车软件开发专业人士问卷征集

    今年,Perforce联合北汇信息一起,首次诚挚邀请中国汽车软件开发专业人士参加该报告2024年的调查。这项调查涵盖了发现汽车软件工作人员面临的最新趋势、挑战和技术,我们需要您的帮助!
    的头像 发表于 01-29 15:47 445次阅读
    2024年全球<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>状况调查-首次中国<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>专业人士问卷征集

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

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 500次阅读
    <b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>CAEdge框架关键技术

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

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

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序
    的头像 发表于 01-03 12:31 1903次阅读
    如何构建linux<b class='flag-5'>开发</b>环境和编译<b class='flag-5'>软件</b>工程、<b class='flag-5'>应用程序</b>

    开发java应用程序的基本步骤是

    ava是一种面向对象的编程语言,广泛用于开发各种类型的应用程序。在开发Java应用程序时,有一些基本步骤需要遵循,以确保应用程序的正确性和可
    的头像 发表于 11-28 16:52 1511次阅读