热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

奔驰北美研发中心通过汽车软件质量工具提升嵌入式软件的安全性

奔驰北美研发中心通过汽车软件质量工具提升嵌入式软件的安全性梅赛德斯-奔驰北美研发中心(MBRDNA)是如何运用MESM-XRAY®工具软件来提升其基于模型的软件设计流程的。作为世界

奔驰北美研发中心通过汽车软件质量工具提升嵌入式软件的安全性

梅赛德斯-奔驰北美研发中心(MBRDNA)是如何运用MES M-XRAY®工具软件来提升其基于模型的软件设计流程的。

作为世界上最著名的汽车制造商之一的研发部门,MBRDNA的开发团队一直以来在不断寻找最高效和最有效的方法和流程,为其开发用于尖端汽车功能的安全软件,如E-Drive控制器。 但是,向现有的软件程序里添加功能,同时又要保持它的可理解性、可维护性和可测试性是一项挑战。即便使用软件模型,也需要先进的工具和流程作为辅助,才能实现这一目标。


汽车控制软件的持续改进:重构的必要性

MBRDNA尤其希望提升其E-Drive组件的控制软件的性能。 在美国密歇根州雷德福的团队已将基于模型的开发作为其设计嵌入式软件的主要开发方法。作为它的一部分,软件模型是开发过程中的基本工件–对功能完整性和预期功能覆盖率的验证主要在软件模型层级进行。作为对流程的持续改善的一个方面,现有的用于生产的软件模型会定期进行改进,以合并越来越多的功能。 MBRDNA的E-Drive软件模型是电子驱动系统控制器的基础。它管理着如电子驱动器的扭矩和牵引力等功能。该控制器软件还用于48V系统,纯电驱动系统和燃料电池项目等领域。

MBRDNA的策略是首先实现软件的基本功能。随着更加复杂的需求和其他项目利益相关者,如新开发人员、测试人员和校准人员的参与,MBRDNA确定了“管理复杂度”的必要性,以便使复杂的软件模型相对容易理解,并促进团队之间的有关直接沟通。软件模型变得越来越大,这成为审查基本模型的主要原因。软件模型功能测试团队经常需要特别投入额外的精力来测试软件模型及其包含的软件单元。对测试团队来说,将特定的需求追溯到模型的相关子系统也是非常耗时的。

MBRDNA决定建立一个全面的软件模型重构项目,以应对这种不断增加的测试和跟踪工作。

奔驰北美研发中心


开发一个软件模型重构的系统方法

MBRDNA首先定义了一组软件模型重构的目标。其主要目标的是通过降低模型的复杂度来提高模型的可测试性和可理解性。 MBRDNA希望降低子系统级别和整个软件模型集成级别的复杂度。MBRDNA遵循ISO 26262安全标准,因此他们必须确保单元和模型的结构良好且不包含过于复杂的部件,因为这经常会导致测试出现问题。过于复杂的部件必须分解成不太复杂和较小的单元–最好是每个子系统只包含一个专用功能。 另一个目标是识别潜在的库元素,这将进一步降低模型的整体复杂度。MBRDNA的做法是将自动化水平推向最高。为此,MBRDNA开始着手寻找模型架构增强工具来支持和监控重构结果。作为确定的软件模型设计流程的一部分,他们的长期打算是验证此类工具是否有助于体系架构的持续监控和优化。


寻找合适的汽车软件开发工具

MES M-XRAY®(MXRAY)工具软件被选中支持模型重构项目。MXRAY可计算每个子系统的软件模型的本地复杂度,并提供有关整体模型复杂度的信息。此工具还向用户指出所谓模型的热点。热点是模型的子系统,应该被修改和重构。为了进一步优化MXRAY的功效,MBRDNA利用该工具的灵活性,为他们的特定环境进行了个性化定制。BRDNA在MXRAY的配置中特别添加了特定功能代码块并定义了自定义缩放因子。鉴于这种简单的可配置性,该工具可提供一系列度量指标,精确地识别MBRDNA模型中有问题的部分。该工具还可进行定性和定量分析。定量分析包含软件模型的全局整体复杂度分析。该信息在“重新架构流程”和软件进一步模块化的过程中是必要的,其中整体复杂度用于确定哪个超大型软件模型应该被分解成多个软件模块。 定性分析为MBRDNA提供有关特定软件模型中容易出错的热点的信息。因此MBRDNA对本地子系统的复杂度,以及如何以智能的方式限制复杂度的方法特别感兴趣。


重构技术的应用

根据MXRAY提供的度量指标,MBRDNA开发并采用了一系列技术来重构被识别的软件模型部件:



  • 系统地将过于复杂的子系统分解为一组不太复杂,功能相关的子系统。

  • 使用MXRAY的克隆检测功能来检测模型中重复使用的冗余元素/代码块(blocks)(例如:多项式(Polynoms)的代码块 ),并将这些冗余元素添加到MBRDNA特定的代码块库(block library)或引用的模型中。这样做的目的是避免出现须单独进行检查和测试的冗余模型组件。


使用软件质量工具收获的积极成果

MES M-XRAY的分析高度精确地指出了软件模型中易出错的热点。根据MBRDNA的高级开发人员Humphrey Achiri的说法,“MXRAY大大提高了我们软件模型的整体可读性、可测试性和可维护性。” 此外,梅赛德斯-奔驰的校准工程师们指出,它使得“在车辆测试期间,其测试轨道上的时间是一个限制因素,而MXRAY使得定位到最终软件这件事变得更加容易。”对梅赛德斯-奔驰的测试工程师们来说,设计MIL和SIL的测试用例也变得更加方便了(即易于进行基于需求的测试),因为单个需求与特定子系统中的实际实现更加一致。另外,由于单个子系统不太复杂,因此软件的文档也变得更加简单。

MBRDNA目前已经能够实现其主要目标,即提高新一代混合动力汽车和纯电动汽车软件模块的可读性、可测试性和可维护性。鉴于复杂的单个子系统的减少,软件的文档也得以简化。通过重构取得的数值结果包括:



  • 作为度量整体软件模型的可理解性和可读性的指标,整体复杂度已降低约10%。这意味着为理解、维护、测试和实施重构软件模型所需的工作量大幅减少。

  • 局部复杂度的测值也有了显著的降低,而且对于一些软件模型,复杂子系统的数量减少到了零。

在软实力方面取得的成果:



  • 来自需求工程团队的评论:“哇–这些软件模型现在更容易理解和使用。” 因为该模型与MBRDNA的48V系统、纯E-Drive系统和燃料电池项目具有额外相关性,因此对其复杂度的管理也被证明有益于版本管理。

此外,自动生成的代码没有改变,这是因为模型中描述的功能未被修改。

鉴于取得的积极实际成果,开发流程的提升以及有利的内部反馈,MBRDNA为安装MES M-XRAY®工具软件并重构整个软件模型所做的努力是一项很好的投资。重构项目的反馈和具体的实际效果都非常好。


对MBRDNA复杂度管理的前景展望

未来,MXRAY将为MBRDNA模型的持续优化和重构提供支持。在MBRDNA开发与重构控制器功能的大型软件模型流程指南里将列出一组MXRAY检查和度量指标作为团队在监控整个开发流程的模型体系架构方面的最佳实践。 MBRDNA还计划将该工具集成到基于Jenkins技术的高度自动化持续集成构建流程中。 自评估开始以来,MXRAY自身也实现了一些重大提升。 借助MXRAY工具软件里包含的一系列新功能,例如额外的不连贯不相关性和接口界面效率指标,“可以进一步简化持续模型改进的流程”,MBRDNA的E-Drive软件总监,Alexander Dolpp总结道。


关于MES模赛思公司:

模赛思软件技术有限公司(Model Engineering Solutions,简称MES)是一家总部位于柏林的德国高科技软件公司,专为软件项目的质量保障提供解决方案。MES为客户基于模型的软件开发提供技术支持,使其符合IEC 61508、ISO 26262或ASPICE等行业标准。MES的主要客户包括整车厂如戴姆勒、大众、丰田和吉利等以及博世、西门子和三星等行业供应商。在汽车行业中,除少数几家公司外,全球数十家顶尖制造商及供应商均在他们的开发环境中使用MES的解决方案。为支持其全球客户,MES已在美国和中国建立了子公司,并与全球分销商网络紧密合作。

MES的产品包括4种质量工具软件:MES Model Examiner®、MES Test Manager®、MES Model & Refactor®和MES Quality Commander®,它们共同构成了一个工具链,全面保障基于模型的软件开发过程中所有阶段的质量。通过MES Jenkins Plugin,该工具链也可以在持续集成环境中使用。工具链主要应用平台为MATLAB®Simulink®。除了MES质量工具外,MES测试中心和MES学院的专家们还为全球客户提供关于质量保证和开发流程优化的定制咨询服务及培训课程。

联系人:郭牧天

联系方式:

移动电话 | 微信号: 13122269208

mutian.guo@model-engineers.com



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 从高级程序员到CTO的4次能力跃迁!如何选择适合的技术负责人?
    本文讲解了从高级程序员到CTO的4次能力跃迁,以及如何选择适合的技术负责人。在初创期、发展期、成熟期的每个阶段,创业公司需要不同级别的技术负责人来实现复杂功能、解决技术难题、提高交付效率和质量。高级程序员的职责是实现复杂功能、编写核心代码、处理线上bug、解决技术难题。而技术经理则需要提高交付效率和质量。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 解决方案选择插件管理-高级-升级站点-更改URL为[http:mirror.xmission.comjenkinsupdatesupdate-center.js ... [详细]
  • Jenkins里创建job项目(linux)
    常见自由模式项目在Jenkins里点击,打开后输入项目名称、选择“Freestyleproject”并确定。     源码管理:在项目列表面板点击刚才创建的空项目,打开后点击源 ... [详细]
  • jenkins 搭建配置
    jenkins部署安装方法一: 下载jenkinswar包  wgethttp:mirrors.jenkins.iowar-stablelatestjenkins.war运行jen ... [详细]
author-avatar
辛博的调调最棒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有