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

审核编辑:郭婷

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

    关注

    2998

    文章

    7441

    浏览量

    161560
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102989
  • API
    API
    +关注

    关注

    2

    文章

    1380

    浏览量

    60983
收藏 人收藏

    评论

    相关推荐

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

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

    Cadence宣布与Arm合作,提供基于芯粒的参考设计和软件开发平台

    中国上海,2024 年 3 月 19 日——楷登电子(美国 Cadence 公司,NASDAQ:CDNS)近日宣布与 Arm 公司合作,提供基于芯粒的参考设计和软件开发平台,以加速软件定义汽车(SDV)取得创新。
    的头像 发表于 03-19 11:41 313次阅读

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

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

    区块链系统软件开发与应用

    区块链技术是近年来备受瞩目的创新技术,被广泛应用于金融、供应链管理、物联网等领域。区块链系统软件开发是实现区块链应用的关键,它不仅需要掌握区块链的基本原理,还需要具备良好的软件开发能力和项目管理经验
    的头像 发表于 01-10 18:18 949次阅读

    嵌入式软件开发流程

    电子发烧友网站提供《嵌入式软件开发流程.ppt》资料免费下载
    发表于 11-17 14:37 1次下载
    嵌入式<b class='flag-5'>软件开发</b>流程

    车规MCU的软件开发套件

    费用。 对于项目预算有限、非平台化的小项目,非AUTOSAR(Non-AUTOSAR)软件开发是一个不错的选择。虽然很多大客户有自
    的头像 发表于 10-27 16:05 1067次阅读
    车规MCU的<b class='flag-5'>软件开发</b>套件

    AUTOSAR软件开发流程简介

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

    车规MCU的软件开发生态解析

    )的核心芯片,其软件开发生态是客户高效快速且可靠的开发各类汽车功能应用软件的基础,是一颗车规MCU芯片能否成功的关键所在,其重要性日益凸显。
    的头像 发表于 10-18 10:00 2224次阅读
    车规MCU的<b class='flag-5'>软件开发</b>生态解析

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

    7 月 7 日-9 日,随着华为开发者大会 2023 的到来,华为云软件开发生产线 CodeArts 也走进了很多开发者的视野。 开发者都比较好奇,什么是华为云 CodeArts?Co
    的头像 发表于 08-25 13:43 781次阅读
    <b class='flag-5'>软件开发</b>必读!华为云<b class='flag-5'>软件开发</b>生产线 CodeArts 深度体验指南

    RTX低功耗软件开发(三)

    软件开发
    橙群微电子
    发布于 :2023年07月11日 15:48:14

    嵌入式项目中软件数据兼容性

    大家好,我是杂烩君。 嵌入式项目中软件是一个不断迭代的过程,需要考虑各种兼容性。之前我们的项目,因为这方面考虑得比较少,导致项目中后期开发
    的头像 发表于 06-22 11:38 312次阅读
    嵌入式<b class='flag-5'>项目中</b>的<b class='flag-5'>软件</b>数据兼容性

    服务器log日志大,掌握这些可正确快速定位错误

    针对大量log日志快速定位错误地方
    的头像 发表于 06-05 18:14 432次阅读

    上位机软件开发工程师

    ,故障报警等软件功能; 5、编写相关的技术开发文档。 任职要求: 1、3年以上上位机软件开发经验,熟悉常用工业通信协议; 2、精通C#/VB/LABVIEW/Python 两种以上语言; 3、精通SQL或者Access数据库;
    发表于 06-05 10:59 671次阅读

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

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

    安全软件开发的最佳实践

    安全的软件开发最佳实践是必要的,因为安全风险无处不在。在网络攻击盛行的时代,它们可以影响每个人,包括个人、公司和政府。因此,确保软件开发的安全性至关重要。 在这里,我们将解释了什么是安全软件,如何确保
    的头像 发表于 05-08 10:51 484次阅读
    安全<b class='flag-5'>软件开发</b>的最佳实践