汽车导航 汽车导航
Ctrl+D收藏汽车导航
首页 > 汽车资讯 > 正文

基于SIL虚拟测试 CANoe助力软件开发与测试驶上快车道

作者:

时间:1900/1/1 0:00:00

ECU及其软件系统的开发和测试往往需要各种专业工具的配合,构建一个高效的测试环境。虽然业内大多数工具都具有高质量的功能和特性,但由于其特殊的接口,往往功能单一,难以与其他工具进行交互。

这个问题限制了工具功能的可用性。为了满足多工具集成测试系统的需求,需要提高接口的可扩展性和多样性。此外,在HPC、区域控制器或云软件系统的开发中,也需要工具来测试软件系统。如何在软件系统测试和ECU测试中重用一套工具链,将是后续开发和测试的又一个挑战。

Victor推出的总线和HIL测试工具CANoe(CAN Open Environment)致力于最大程度地解放测试工具的潜能,以开放兼容的多接口、多语言适配服务实现多样化的工具组合,为用户提供丰富的解决方案。近年来,CANoe进一步开发了构建软件系统测试的功能,使其能够满足SIL应用。

据Victor官网介绍,2022年发布的CANoe 16.0增加了AUTOSAR规范的LIN总线E2E的功能安全应用,vTESTstudio增加了Python设计和测试脚本。在网络方面,增加了HTTP封装和软件。运行在服务器上的CANoe4SW已经支持CI/CT自动化等许多新功能。

在SDV论坛上,维克多汽车技术(上海)有限公司商业开发经理范可发重点介绍了软件定义车辆软件测试的SIL和DevOps测试平台,如何实现软件虚拟化和虚拟交付,以及如何部署服务器版本CANoe:CANoe4SW Server Edition实现SIL应用中的CI/CT/CD和并发测试。

CANoe4SW服务器版支持在Windows Server、Linux Server、云环境下部署。同时,鉴于SOA系统的开发和测试需要分析相关数据,CANoe自带了SOA中间件数据库的编辑功能,无需arxml数据库:vCDL格式的SOA数据库可以支持部分/IP和MQTT,即将支持DDS。

DS, discovery, concept

图片来源:维克多

敏捷开发,持续集成和测试,DevOps将取代传统的开发“V模式”。

正如范可法感受到的:“越来越多的传统汽车工程师将成为以软件为主的IT工程师。大多数工程师都需要和代码打交道。测试工程师需要熟悉AUTOSAR、Linux、Python……等。除了独木舟”。

传统汽车电子开发按照“V模式”进行:需求编译、单元测试(MISRA静态规则测试;动态整合测试;功能测试;边界测试)、软件集成测试、硬件在环测试,最后进入实车测试。

“V模式”下的每一次变革,都可能引发一场全球性的重新出发,可谓牵一发而动全身。

相比较而言,软件开发的过程通常是这样的:设计阶段:对软件开发的需求进行分析和设计;开发阶段:完成开发所需的工程代码,运行单元测试等小测试;测试阶段:完成大型和特殊的软件测试,如接口测试、API测试、性能和系统测试等。发布阶段:产品发布并交付给客户。

DS, discovery, concept

图片来源:Gitchat许超《OpenStack快速进阶教程》

这个过程需要持续集成/CI、持续测试/CT、持续交付/CD和持续部署/CD。CI是敏捷开发的关键,敏捷开发需要每天频繁地将代码集成到主分支中。集成前必须通过自动验证测试,重点是集成的快速性。正如专注于敏捷开发的行业大牛Martin Fowler所说,“持续集成不能消除bug,但会使它们非常容易被发现和纠正。”

CI和CT通常是紧密结合的,小单元测试会和CI同步进行,让开发人员在最短的时间间隔内发现bug并进行修正,从而保证软件项目质量的持续提升。

总的来说,CI/CT的意义在于确保软件的每一次变更都尽快部署到模拟产品环境中使用严格的自动化测试,以确保软件的应用和服务能够达到预期。

范可法指出,CI/CT中使用的工具必须实现部署和应用的全自动化,要做到“/一切如代码”。自动化可以释放DevOps模型的全部活力。所谓DevOps,顾名思义就是Dev(开发人员)+Ops(运维人员):开发、运维一体化。

代码层面的敏捷开发解决了协同开发和多机部署开发的问题,但无法解决大量公司的人员交接矛盾。DevOps不仅仅是一个资源综合协调的概念,更是一个平台工具:它涉及到项目管理、代码管理、CI/CT、CD、系统监控等一系列流程。,并进行“人、流程、平台”的全流程、端到端的部署和部署。

DS, discovery, concept

DevOps模式图片来源:Victor

范可发介绍,工具在DevOps中需要有“业务流”的自动集成,但最难的一点是如何实现软件虚拟化,才能实现虚拟测试、虚拟校准、虚拟诊断、虚拟交付。

软件虚拟化:运行环境、物理环境、云软件系统的虚拟化。

现在很多域控制器、区域控制器、中央计算中心的软件都会由多方并行独立开发集成。因此,在开发阶段,由于没有硬件或耦合的软件由第三方开发,很容易实现测试工作。如果汽车软硬件集成后统一进行系统验证,那么敏捷开发中CI/CT所需的自动化测试设备和时间成本将会极高。

虚拟化测试的出现就是为了解决这个问题。

首先了解汽车开发测试的主要环节:软件在环测试(SiL)和硬件在环测试(HiL)。其中,“狭义”SIL需要验证模型自动生成的代码,以及用于代码生成的模型行为是否一致的等价性测试,因此不能应用于非MBD(基于模型的定义)开发的软件系统。

范可发表示,Vector为CANoe、CANoe4SW和CANoe4SW服务器版提供“广义”SIL,专注于软件系统,提供独立于硬件和算法模型环境的验证。测试过程中,被测ECU的软件在纯PC或IT环境下运行和测试,即没有任何真实的硬件ECU和其工作所需的真实组件,从而实现了全虚拟化环境测试。

DS, discovery, concept

图片来源:维克多

范可发强调,在软件解耦、软件定义汽车的趋势下,汽车行业会涌现出越来越多的纯软件供应商,虚拟测试环境的建设将是必由之路。软件虚拟化将包括三个方面:运行环境虚拟化、物理环境虚拟化和软件系统交互虚拟化……经过测试的软件。

从以上三个部分详细分析了软件虚拟化的意义:

首先,运行环境的虚拟化可以满足更高的可扩展性需求,可以更早的进行系统测试,节约成本,实现完全的软硬件解耦,满足极端场景测试。

物理环境的虚拟化是指传感器和执行器的接口仿真,实现接口复用,避免测试执行中的错误和无意义测试,支持CI/CT的自动化测试。

最后,构建了一个与被测软件交互的模拟软件系统,以支持云通信和云故障各种情况的测试。并行测试不需要额外的接口,每个测试实例都可以独立访问后台数据。

DS, discovery, concept

图片来源:维克多

基于SIL和DevOps测试平台Canoe的服务器版本:Canoe 4 SW服务器版。

在SIL测试的基础上,Victor引入了CANoe4SW Server Edition来开发、测试和分析网络物理系统软件。测试对象可以是单个软件组件、子系统或整个分布式系统,它允许CANoe测试项目在基于Windows或Linux的服务器环境中完全自动执行。服务器环境不限于标准操作系统,还适用于虚拟机系统和Docker,以满足自动化CI/CT应用。

DS, discovery, concept

图片来源:维克多

范可发强调,基于vVIRTUALtarget的解决方案是为AUTOSAR软件的虚拟化提供的,CANoe4SW是为非AUTOSAR软件的虚拟化提供的。

非AUTOSAR软件可以通过软件接口适配与CANoe4SW连接,Victor为IDE CANoe/CANoe4SW提供免费插件,使得Visual Studio和VS代码作为免费调试工具,支持IDE和CANoe4SW的耦合。手表变量可以转换成CANoe4SW进行深入分析。

此外,使用命令行工具sil-adapter-builder可以使C、C++、Python适配服务代码在持续集成中触发自动编译生成。

DS, discovery, concept

图片来源:维克多

除了上述虚拟集成,CANoe还提供了更多可选的虚拟集成方案:利用WSL共享网络与CANoe集成,建立具有相同通信功能的内部/外部IP隧道,利用CANoe内嵌的MATLAB接口,利用FMI/FMU交互接口,基于CANoe的私有FDX实现交互。

DS, discovery, concept

图片来源:维克多

在新发布的16.0版本中,CANoe4SW在AI Visualizer的帮助下在可视化方面取得了进展:AI组件与CANoe之间交换的图像可以可视化,并且可以通过突出显示输入图像中的重要特征来解释AI输出。

如何在CANoe中模拟、分析和测试SOA?服务和通信数据库vCDL是关键。

在车载以太网和SOME/IP(基于IP、可扩展、面向服务的中间件)出现之前,CANoe中要模拟CAN/LIN总线:首先在CANoe测试环境中加载数据库,实现总线和节点,从而添加各种系统变量。所有配置完成后,在CAPL语言环境下可以访问各种对象,实现各种功能。

从基于信号的总线传输转移到基于服务的SOA架构后,基于服务的数据库将是最大的挑战,它需要支持一些/IP、DDS、MQTT中间件的定义或修改。CANoe提供的VCDL(service-oriented communication database)是一种描述SOA通信的语言,可以用来写带后缀的数据源。CANoe模拟中用vCDL代替ARXML。

解决了数据库的首要问题。为了在CANoe中实现基于服务的SOA通信协议仿真,可以通过vCDL直接设计、导入和修改节点,然后进行仿真配置和程序设计,最后对仿真结果进行分析。对于vCDL中定义的数据,CAPL、C#和Python可以直接编程处理。

CANoe产品,顾名思义,“开放环境”表示CANoe软件支持不同的应用……选项和接口,可以配合各种编程语言使用,以开放性、兼容性和协作性著称,通过“组合与合作”这两个关键词,成为强大的系统化测试解决方案工具。同时可以用Vector提供的自动化脚本平台vTESTstudio满足各种黑盒测试。ECU及其软件系统的开发和测试往往需要各种专业工具的配合,构建一个高效的测试环境。虽然业内大多数工具都具有高质量的功能和特性,但由于其特殊的接口,往往功能单一,难以与其他工具进行交互。

这个问题限制了工具功能的可用性。为了满足多工具集成测试系统的需求,需要提高接口的可扩展性和多样性。此外,在HPC、区域控制器或云软件系统的开发中,也需要工具来测试软件系统。如何在软件系统测试和ECU测试中重用一套工具链,将是后续开发和测试的又一个挑战。

Victor推出的总线和HIL测试工具CANoe(CAN Open Environment)致力于最大程度地解放测试工具的潜能,以开放兼容的多接口、多语言适配服务实现多样化的工具组合,为用户提供丰富的解决方案。近年来,CANoe进一步开发了构建软件系统测试的功能,使其能够满足SIL应用。

据Victor官网介绍,2022年发布的CANoe 16.0增加了AUTOSAR规范的LIN总线E2E的功能安全应用,vTESTstudio增加了Python设计和测试脚本。在网络方面,增加了HTTP封装和软件。运行在服务器上的CANoe4SW已经支持CI/CT自动化等许多新功能。

在SDV论坛上,维克多汽车技术(上海)有限公司商业开发经理范可发重点介绍了软件定义车辆软件测试的SIL和DevOps测试平台,如何实现软件虚拟化和虚拟交付,以及如何部署服务器版本CANoe:CANoe4SW Server Edition实现SIL应用中的CI/CT/CD和并发测试。

CANoe4SW服务器版支持在Windows Server、Linux Server、云环境下部署。同时,鉴于SOA系统的开发和测试需要分析相关数据,CANoe自带了SOA中间件数据库的编辑功能,无需arxml数据库:vCDL格式的SOA数据库可以支持部分/IP和MQTT,即将支持DDS。

DS, discovery, concept

图片来源:维克多

敏捷开发,持续集成和测试,DevOps将取代传统的开发“V模式”。

正如范可法感受到的:“越来越多的传统汽车工程师将成为以软件为主的IT工程师。大多数工程师都需要和代码打交道。测试工程师需要熟悉AUTOSAR、Linux、Python……等。除了独木舟”。

传统汽车电子开发按照“V模式”进行:需求编译、单元测试(MISRA静态规则测试;动态整合测试;功能测试;边界测试)、软件集成测试、硬件在环测试,最后进入实车测试。

“V模式”下的每一次变革,都可能引发一场全球性的重新出发,可谓牵一发而动全身。

相比较而言,软件开发的过程通常是这样的:设计阶段:对软件开发的需求进行分析和设计;开发阶段:完成开发所需的工程代码,运行单元测试等小测试;测试阶段:完成大型和特殊的软件测试,如接口测试、API测试、性能和系统测试等。发布阶段:产品发布并交付给客户。

DS, discovery, concept

图片来源:Gitchat许超《OpenStack快速进阶教程》

这个过程需要持续集成/CI、持续测试/CT、持续交付/CD和持续部署/CD。CI是敏捷开发的关键,敏捷开发需要每天频繁地将代码集成到主分支中。集成前必须通过自动验证测试,重点是集成的快速性。正如专注于敏捷开发的行业大牛Martin Fowler所说,“持续集成不能消除bug,但会使它们非常容易被发现和纠正。”

CI和CT通常是紧密结合的,小单元测试会和CI同步进行,让开发人员在最短的时间间隔内发现bug并进行修正,从而保证软件项目质量的持续提升。

总的来说,CI/CT的意义在于确保软件的每一次变更都尽快部署到模拟产品环境中使用严格的自动化测试,以确保软件的应用和服务能够达到预期。

范可法指出,CI/CT中使用的工具必须实现部署和应用的全自动化,要做到“/一切如代码”。自动化可以释放DevOps模型的全部活力。所谓DevOps,顾名思义就是Dev(开发人员)+Ops(运维人员):开发、运维一体化。

代码层面的敏捷开发解决了协同开发和多机部署开发的问题,但无法解决大量公司的人员交接矛盾。DevOps不仅仅是一个资源综合协调的概念,更是一个平台工具:它涉及到项目管理、代码管理、CI/CT、CD、系统监控等一系列流程。,并进行“人、流程、平台”的全流程、端到端的部署和部署。

DS, discovery, concept

DevOps模式图片来源:Victor

范可发介绍,工具在DevOps中需要有“业务流”的自动集成,但最难的一点是如何实现软件虚拟化,才能实现虚拟测试、虚拟校准、虚拟诊断、虚拟交付。

软件虚拟化:运行环境、物理环境、云软件系统的虚拟化。

现在很多域控制器、区域控制器、中央计算中心的软件都会由多方并行独立开发集成。因此,在开发阶段,由于没有硬件或耦合的软件由第三方开发,很容易实现测试工作。如果汽车软硬件集成后统一进行系统验证,那么敏捷开发中CI/CT所需的自动化测试设备和时间成本将会极高。

虚拟化测试的出现就是为了解决这个问题。

首先了解汽车开发测试的主要环节:软件在环测试(SiL)和硬件在环测试(HiL)。其中,“狭义”SIL需要验证模型自动生成的代码,以及用于代码生成的模型行为是否一致的等价性测试,因此不能应用于非MBD(基于模型的定义)开发的软件系统。

范可发表示,Vector为CANoe、CANoe4SW和CANoe4SW服务器版提供“广义”SIL,专注于软件系统,提供独立于硬件和算法模型环境的验证。测试过程中,被测ECU的软件在纯PC或IT环境下运行和测试,即没有任何真实的硬件ECU和其工作所需的真实组件,从而实现了全虚拟化环境测试。

DS, discovery, concept

图片来源:维克多

范可发强调,在软件解耦、软件定义汽车的趋势下,汽车行业会涌现出越来越多的纯软件供应商,虚拟测试环境的建设将是必由之路。软件虚拟化将包括三个方面:运行环境虚拟化、物理环境虚拟化和软件系统交互虚拟化……经过测试的软件。

从以上三个部分详细分析了软件虚拟化的意义:

首先,运行环境的虚拟化可以满足更高的可扩展性需求,可以更早的进行系统测试,节约成本,实现完全的软硬件解耦,满足极端场景测试。

物理环境的虚拟化是指传感器和执行器的接口仿真,实现接口复用,避免测试执行中的错误和无意义测试,支持CI/CT的自动化测试。

最后,构建了一个与被测软件交互的模拟软件系统,以支持云通信和云故障各种情况的测试。并行测试不需要额外的接口,每个测试实例都可以独立访问后台数据。

DS, discovery, concept

图片来源:维克多

基于SIL和DevOps测试平台Canoe的服务器版本:Canoe 4 SW服务器版。

在SIL测试的基础上,Victor引入了CANoe4SW Server Edition来开发、测试和分析网络物理系统软件。测试对象可以是单个软件组件、子系统或整个分布式系统,它允许CANoe测试项目在基于Windows或Linux的服务器环境中完全自动执行。服务器环境不限于标准操作系统,还适用于虚拟机系统和Docker,以满足自动化CI/CT应用。

DS, discovery, concept

图片来源:维克多

范可发强调,基于vVIRTUALtarget的解决方案是为AUTOSAR软件的虚拟化提供的,CANoe4SW是为非AUTOSAR软件的虚拟化提供的。

非AUTOSAR软件可以通过软件接口适配与CANoe4SW连接,Victor为IDE CANoe/CANoe4SW提供免费插件,使得Visual Studio和VS代码作为免费调试工具,支持IDE和CANoe4SW的耦合。手表变量可以转换成CANoe4SW进行深入分析。

此外,使用命令行工具sil-adapter-builder可以使C、C++、Python适配服务代码在持续集成中触发自动编译生成。

DS, discovery, concept

图片来源:维克多

除了上述虚拟集成,CANoe还提供了更多可选的虚拟集成方案:利用WSL共享网络与CANoe集成,建立具有相同通信功能的内部/外部IP隧道,利用CANoe内嵌的MATLAB接口,利用FMI/FMU交互接口,基于CANoe的私有FDX实现交互。

DS, discovery, concept

图片来源:维克多

在新发布的16.0版本中,CANoe4SW在AI Visualizer的帮助下在可视化方面取得了进展:AI组件与CANoe之间交换的图像可以可视化,并且可以通过突出显示输入图像中的重要特征来解释AI输出。

如何在CANoe中模拟、分析和测试SOA?服务和通信数据库vCDL是关键。

在车载以太网和SOME/IP(基于IP、可扩展、面向服务的中间件)出现之前,CANoe中要模拟CAN/LIN总线:首先在CANoe测试环境中加载数据库,实现总线和节点,从而添加各种系统变量。所有配置完成后,在CAPL语言环境下可以访问各种对象,实现各种功能。

从基于信号的总线传输转移到基于服务的SOA架构后,基于服务的数据库将是最大的挑战,它需要支持一些/IP、DDS、MQTT中间件的定义或修改。CANoe提供的VCDL(service-oriented communication database)是一种描述SOA通信的语言,可以用来写带后缀的数据源。CANoe模拟中用vCDL代替ARXML。

解决了数据库的首要问题。为了在CANoe中实现基于服务的SOA通信协议仿真,可以通过vCDL直接设计、导入和修改节点,然后进行仿真配置和程序设计,最后对仿真结果进行分析。对于vCDL中定义的数据,CAPL、C#和Python可以直接编程处理。

CANoe产品,顾名思义,“开放环境”表示CANoe软件支持不同的应用……选项和接口,可以配合各种编程语言使用,以开放性、兼容性和协作性著称,通过“组合与合作”这两个关键词,成为强大的系统化测试解决方案工具。同时可以用Vector提供的自动化脚本平台vTESTstudio满足各种黑盒测试。推这个推那个,这和开源灵活的编程精神差不多。编程的关键不在于硬打代码,而在于在各种库中灵活操作,融汇万千经典。正如范可法所说,“一切如码”。在这个信息爆炸、技术爆炸的时代,在数量合适、人才用得上之后,敢于把不熟悉的技术领域交给生态也是非常重要的。

DS, discovery, concept 6

图片来源:维克多

(以上内容基于文章《供应商准备好OEM软件系统虚拟样品交付了吗?由维克多汽车技术(上海)有限公司商业开发经理范可发在2022年第三届软件定义汽车论坛暨AUTOSAR中国日上发布,由Gaspar和AUTOSAR于2022年8月3日联合发起。理解并组织主题演讲。)推这个推那个,这类似于开源和灵活的编程精神。编程的关键不在于硬打代码,而在于在各种库中灵活操作,融汇万千经典。正如范可法所说,“一切如码”。在这个信息爆炸、技术爆炸的时代,在数量合适、人才用得上之后,敢于把不熟悉的技术领域交给生态也是非常重要的。

DS, discovery, concept 6

图片来源:维克多

(以上内容基于文章《供应商准备好OEM软件系统虚拟样品交付了吗?由维克多汽车技术(上海)有限公司商业开发经理范可发在2022年第三届软件定义汽车论坛暨AUTOSAR中国日上发布,由Gaspar和AUTOSAR于2022年8月3日联合发起。理解并组织主题演讲。)

标签:DS发现理念

汽车资讯热门资讯
华阳集团2022半年报:营收同比增21.21%,新能源车项目增量大

日前,ADAYO华阳集团002906披露2022年半年报显示,集团上半年实现营业收入2485亿元,同比增长2121;实现归属于上市公司股东的净利润163亿元,同比增长1892。

1900/1/1 0:00:00
2022(第四届)国际激光雷达前瞻技术展示交流会11月16日苏州举办!

大会背景激光雷达作为智能驾驶“感知、决策、执行”三大核心环节之首的感知层传感器,随着自动驾驶级别的不断升级,激光雷达正在逐渐成为智能网联汽车的标配,并不断适应多传感器融合趋势。

1900/1/1 0:00:00
电动赛道上,“老炮们”也在集中发力

乘联会公布的销量数据显示,2022年前七个月,国内新能源车销量再创新高,共计批售新车303万辆,同比增长1230。其中电动车销量为2372万辆,同比增长了1104。

1900/1/1 0:00:00
保时捷模拟氢发动机 输出功率为590 hp

盖世汽车讯保时捷致力于为其未来产品阵容提供电力,但也不想完全放弃内燃机,尤其是在911这款车型上。该公司正在开发解决方案,以减少内燃机排放,包括混合动力系统和提高发动机热效率。

1900/1/1 0:00:00
广汽自动驾驶技术创新突破,关键指标大幅提升

近日,广汽研究院Xlab团队在国际权威的nuScenes自动驾驶测试竞赛中,

1900/1/1 0:00:00
迈凯伦计划进军印度市场销售超跑

盖世汽车讯据外媒报道,英国豪华汽车制造商迈凯伦正试图赢得印度市场的消费者。8月22日,迈凯伦在一份声明中表示,计划于10月在孟买开设首家展厅,以吸引印度日益壮大的富裕阶层。

1900/1/1 0:00:00