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

审核编辑:郭婷

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

    关注

    3023

    文章

    7837

    浏览量

    166094
  • JAVA
    +关注

    关注

    19

    文章

    2953

    浏览量

    104504
  • API
    API
    +关注

    关注

    2

    文章

    1481

    浏览量

    61767
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU软件开发

    单元(HPC)和区域控制单元(Zonal ECU)分工协作的架构。因此,ECU的软件功能越来越多,越来越复杂。ECU的软件开发,也将引入不同部门、不同公司的更多项目
    的头像 发表于 09-13 11:23 724次阅读
    Vector DaVinci Team解决方案实现AUTOSAR Classic ECU<b class='flag-5'>软件开发</b>

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

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

    嵌入式软件开发与AI整合

    嵌入式软件开发与AI整合是当前技术发展的重要趋势之一。随着人工智能技术的快速发展,嵌入式系统越来越多地集成了AI算法,以实现更复杂的智能功能。以下是关于嵌入式软件开发与AI整合的详细分
    的头像 发表于 07-31 09:25 640次阅读
    嵌入式<b class='flag-5'>软件开发</b>与AI整合

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

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

    【《软件开发珠玑》阅读体验】+ 心得

    【《软件开发珠玑》阅读体验】+ 心得 感谢电子发烧友论坛提供的读书机会。读这本书使我在编程方面多了位资深老师。 在软件项目开发领域的时,我阅读了《
    发表于 06-23 17:56

    上位机软件开发用什么语言

    上位机软件开发是指开发用于与下位机(如PLC、单片机等)进行通信、控制和数据处理的计算机软件。上位机软件在工业自动化、物联网、智能家居等领域有着广泛的应用。选择合适的编程语言对于
    的头像 发表于 06-06 10:44 1398次阅读

    共读《软件开发珠玑》

    作为项目经理,要处理好五大过程组和十大领域; 作为软件配置管理,对软件工程、算法和应用开发还不够了解,本书介绍的软件开发和管理60条经验教训
    发表于 05-21 11:28

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

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

    keil arm软件开发指南

    电子发烧友网站提供《keil arm软件开发指南.pdf》资料免费下载
    发表于 01-26 15:51 7次下载

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

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

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

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

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

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

    嵌入式软件开发流程

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