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

审核编辑:郭婷

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

    关注

    2998

    文章

    7433

    浏览量

    161506
  • gps
    gps
    +关注

    关注

    22

    文章

    2743

    浏览量

    164264
  • ecu
    ecu
    +关注

    关注

    14

    文章

    817

    浏览量

    53869
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    了解千兆光模块和万兆光模块的标准规范

    千兆光模块和万兆光模块作为数据中心和网络领域的关键设备,其性能和互操作性需要符合一系列标准规范,以确保其可靠性和兼容性。本文介绍千兆光模块和万兆光模块一些常见的的标准规范,以及什么光模块需要遵循这些标准
    的头像 发表于 11-06 14:59 315次阅读

    AUTOSAR软件开发流程简介

    AUTOSAR软件开发流程简介 AUTOSAR软件开发流程是指在AUTOSAR架构下进行软件开发的一系列步骤和方法。它包括以下几个主要阶段: 需求分析:在这个阶段,根据汽车电子系统的需
    的头像 发表于 10-27 15:55 1673次阅读
    AUTOSAR<b class='flag-5'>软件开发</b>流程简介

    软件开发必读!华为云软件开发生产线 CodeArts 深度体验指南

    者们,码住! “当编码(Code)遇上艺术(Arts) ,开发工程师、程序员等可以像艺术家一样创作创造。” 华为云软件开发
    的头像 发表于 08-25 13:43 775次阅读
    <b class='flag-5'>软件开发</b>必读!华为云<b class='flag-5'>软件开发</b>生产线 CodeArts 深度体验指南

    ARM软件开发工具包2.50版参考指南

    ARM软件开发工具包(SDT)由一套应用程序以及支持文档和示例组成,使您能够为ARM系列RISC处理器编写和调试应用程序。 您可以使用SDT来开发、生成和调试C、C++或ARM汇编语言
    发表于 08-21 07:17

    如何将ASCET-Developer开发流程与ARM Development Studio集成

    市场开发嵌入式软件。 集成的目的是在开发和调试控制应用程序时提供一个简单的迭代流程。 探索了优化技术以优化生成的代码,以利用ARM体系结构的
    发表于 08-08 07:07

    Emulex软件开发工具包实用程序(elxsdkutil)

    电子发烧友网站提供《Emulex软件开发工具包实用程序(elxsdkutil).pdf》资料免费下载
    发表于 07-28 09:36 0次下载
    Emulex<b class='flag-5'>软件开发</b>工具包实用<b class='flag-5'>程序</b>(elxsdkutil)

    详解自动驾驶安全软件开发流程

    自动驾驶汽车开发越来越重视性能、质量和性价比,自动驾驶口碑成为新技术应用取得市场成功的关键,而口碑的建立依赖于相关软 件开发流程、周期、时间和质量。一家汽车企业只有拥有或者其
    发表于 06-01 11:38 0次下载
    详解自动驾驶安全<b class='flag-5'>软件开发</b>流程

    电动汽车初创公司如何降低软件开发成本和风险

    现在是电动汽车初创公司明智地减少浪费的时候了。随着通货膨胀造成供应链波动,市场监管壁垒越来越高,电动汽车软件开发团队现在必须优化支出并培养其工具和流程的弹性。 Perforce 静态分析
    的头像 发表于 05-15 10:56 262次阅读
    电动<b class='flag-5'>汽车</b>初创公司如何降低<b class='flag-5'>软件开发</b>成本和风险

    JFROGPLATFORM汽车软件开发的高速通道

    汽车制造商需找到方法加速生产及开发,确保质量及可靠性,同时缩短发布周期。JFrog平台是一个端到端的自动化DevOps平台,非常适合管理和协调从代码到生产的所有分布式软件版本。
    的头像 发表于 05-05 10:47 519次阅读
    JFROGPLATFORM<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>的高速通道

    联合电子车载应用软件一站式解决方案 USP2.0 软件开发平台

    为帮助开发者更高效地开发车载应用程序,助力智能汽车软件生态建设,加速车载场景下应用软件
    的头像 发表于 04-25 17:00 1.3w次阅读
    联合电子车载应用<b class='flag-5'>软件</b>一站式解决方案 USP2.0 <b class='flag-5'>软件开发</b>平台

    请给我分享《DDS Extensions for Time Sensitive Networking》标准规范

    请给我《DDS Extensions for Time Sensitive Networking》标准规范?我找不到它。
    发表于 04-23 09:26