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

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

3天内不再提示

复杂汽车软件开发项目中错误的快速定位

星星科技指导员 来源:嵌入式计算设计 作者:Torsten Mosis ,Seba 2022-06-30 09:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

汽车行业的当前趋势意味着开发软件项目已成为一项日益复杂的任务。软件团队和项目经理需要在复杂和异构的软件系统中使用专门的错误搜索和流程优化框架。

在这次与 Elektrobit Automotive 的Torsten Mosis 和 Sebastian König 的问答 中,两人讨论了在复杂的汽车软件供应链中在破坏开发项目之前检测出代价高昂的错误的机制。

嵌入式计算设计:哪些因素导致汽车软件开发项目日益复杂,在复杂的汽车供应链中,谁最终负责确保软件质量?

König: 如今,主机中已经可以找到广泛的软件技术。它们通常基于 HTML5、Java 或 Qt 等标准系统,其下层的应用程序和服务利用了已建立的框架(如 Android、QNX Car Platform 或 GENIVI Linux)的优势。

在此期间,用户可以体验的功能由智能手机应用程序和Android Auto或Apple CarPlay等镜像方法的集成来补充。除此之外,还有大量数据从车辆到云端的迁移和处理。市场发展表明,在未来,分布在不同硬件实体上或在虚拟机管理程序上运行在虚拟化环境中的几种不同操作系统通常会同时运行。在这里,导航系统等复杂功能通常会渗透到所有软件和硬件层。

虽然基本集成通常由 OEM 自己完成,但几个供应商通常会在不同程度上对整体功能做出贡献。因此,对于开发人员和程序员来说,为了测试和保证整个软件系统的质量和稳健性,需要进行重大的协调工作。除了久经考验的标准系统和技术外,还需要考虑许多专有扩展。

嵌入式计算设计:在软件开发生命周期早期发现的错误远低于在生产后期发现的错误。开发人员可以使用哪些机制来简化错误检测,以免对生产产生负面影响?

摩西:某些软件开发工具使工程师能够在早期开发阶段识别和定位功能性和非功能性错误。涉及导航系统开发的日常项目工作中的一个典型示例是,经常过早或过晚宣布关闭机动的语言指令。这方面的潜在错误来源差异很大,并且通常只能在某些情况下重现。通常,错误的原因不在于单个软件模块本身,而在于模块之间的交互,因为它们的接口经常被错误地使用,例如以错误的顺序、错误的值或错误的时间点。 纠正这种类型的错误是昂贵的,因为通常,

例如,EB solys 是一种用于高度复杂的汽车开发项目的工具,不仅支持单个组件的错误搜索和流程优化,而且支持整个系统结构的更高级别。 这里的重点是收集、聚合和关联正在研究的软件系统的数据和操作状态。通常,只有在不同来源的数据相互关联时才能检测到错误和异常。为了收集数据,将在要监控的系统上安装一个目标代理,Elektrobit 将作为开源软件提供该代理。在这里,对目标系统的监控是被动的。该分析观察正在进行的数据处理和进程间通信,并且不仅基于对检测源代码的访问。

目标代理支持插件架构,以便能够访问目标系统上的特定进程间通信或开发人员跟踪(图 1)。相比之下,数据在运行在 Windows PC 上的主机系统上进行聚合和关联。以与目标代理类似的方式,主机系统的体系结构也被设计为使其自身易于适应,例如,适应特定的数据格式和不同的进程间通信过程。单独调整的导入器可以从所需的任何日志文件向核心系统提供数据,以便将特定数据内容(例如二进制跟踪)转换为结构文本格式。

pYYBAGK8-i2AB2FMAARX-VMGSSk000.png

图 1. EB solys 的进程间通信架构。

许多细节功能源于 Elektrobit 的开发实践,从而满足程序员、集成商和系统开发人员的特定需求。例如,可视化数据始终以不同的方式保持相互关联 - 例如,如果用户在图形图像中设置标记,则该标记也会自动采用并显示在所有链接的图表和表格中。根据需要,分析和描述可以在比功能或流程更高的抽象层次上进行,也可以在接口、服务或对象等较低层次上进行。(图2)

poYBAGK8-jWAZRUaAAaWtcAewsU734.png

图 2.不同的抽象级别可以分析 EB solys 中的特定功能、流程和服务。

目前,该代理可用于 Linux、QNX、Android 和 Windows Embedded 目标系统,随后还会有其他系统。

嵌入式计算设计:自动化监控和验证怎么样?鉴于车辆中越来越多的软件,这对于系统分析和错误发现似乎至关重要。

König: 通常,在后期开发阶段,系统分析和错误搜索之后是对关键 KPI 和流程的持续监控和验证。为此,“EB solys Auto”版本支持批处理模式操作,使其功能能够集成到自动化测试环境中。这些还包括记录和可视化 KPI 的方法,例如系统资源的使用、各个部分系统和热点的性能以及组件和流程之间的通信。

通过这种方式,开发人员可以评估系统的健康和稳定性,例如,测试是否满足某些规范和开发标准,监控性能指标并检测趋势,以便及早定义度量。结果,开发过程得到了改进,特别是在分散的开发团队中。项目经理可以及早给他们的团队反馈并确定有针对性的措施,以提高质量和稳定性。

基于为 Java 设计的 Xtend 编程语言的内置脚本语言可实现功能扩展,而无需适应主机系统或目标代理的源代码。可以通过编程接口访问脚本和收集的数据并生成新的操作元素。此外,脚本 API 还提供了在 Auto 版本中记录和存储 KPI 的方法。为了在更长的时间内显示 KPI,EB solys 使用了 InfluxDB(作为指标数据库)和 Grafana(作为仪表板)的技术配对接口。

作为主要针对汽车行业的开发工具,EB solys 还支持日志数据与地理数据的关联。例如,这允许它结合地图显示显示系统事件,如果需要,还可以记录摄像机图像。

尽管它明显植根于汽车市场,但开放式架构通常也允许它适应其他市场或开发环境。

作者:Torsten Mosis ,Sebastian König

审核编辑:郭婷

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

    关注

    3043

    文章

    8558

    浏览量

    172224
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115660
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【求清单】STM32 硬件采购清单(纯软件视角,仅适配代码开发

    软件开发者,无硬件基础,需基于 STM32 开发【无人打窝船的电机控制 + GPS 定位程序,lore通讯,带陀螺仪,仅需要能跑通代码的硬件,无需复杂扩展。
    发表于 12-02 10:44

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

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

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

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

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

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

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

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

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

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

    东软睿驰联合推出基于AURIX TC4x的NeuSAR快速开发套件

    近日,东软睿驰联合英飞凌、HighTec推出基于AURIX TC4x的NeuSAR快速开发套件,为汽车软件开发提供高效、便捷的全栈开发环境,
    的头像 发表于 07-08 11:30 890次阅读
    东软睿驰联合推出基于AURIX TC4x的NeuSAR<b class='flag-5'>快速</b><b class='flag-5'>开发</b>套件

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

    、‌TCP通信接口 9. Arduino IDE Arduino是一款开源的硬件平台,‌广泛应用于各种互动项目和原型设计中。‌它的主要功能体现在其强大的硬件板和各种功能引脚,‌以及与之配套的软件开发
    发表于 07-03 17:06

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

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

    找电机控制软件开发兼职

    软件开发兼职人员,我现在有一个永磁无刷电机控制,220V,需要有相关经验的人来开发,兼职费用可以议谈,产品是增压泵相关产品,有兴趣给我留言,谢谢
    发表于 05-07 17:43

    CICTCD在汽车软件开发中的革命性作用#持续集成与测试 #CICD持续集成与交付

    软件开发
    北汇信息POLELINK
    发布于 :2025年04月17日 15:36:09

    贞光科技代理紫光同芯THA6系列汽车芯片荣获ASPICE CL2,推动汽车软件开发全球化升级

    ASPICE CL2认证,标志其汽车电子软件开发体系达国际标准。紫光同芯构建"功能安全+网络安全+软件质量"三位一体技术体系,为智能汽车提供全栈解决方案,推动
    的头像 发表于 03-14 09:36 1476次阅读
    贞光科技代理紫光同芯THA6系列<b class='flag-5'>汽车</b>芯片荣获ASPICE CL2,推动<b class='flag-5'>汽车</b><b class='flag-5'>软件开发</b>全球化升级

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

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

    我国软件开发者数量突破940万

    2024开放原子开发者大会20到21日在武汉举办。工业和信息化部负责人透露,我国软件开发者数量突破940万。 开源就是开放软件的源代码,在遵守许可协议的前提下,任何人都可以使用、修改甚至再发布源代码
    的头像 发表于 12-24 13:52 710次阅读

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

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