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

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

3天内不再提示

SOA架构/测试阶段接口描述语言转换方案

北汇信息POLELINK 2022-08-04 18:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SOA架构盛行

随着汽车新四化的推进,汽车整车厂在实现车辆网联、自动驾驶和数据驱动的同时,更要在满足用户体验和基本服务的基础上快速响应客户的个性化需求,为更好地解决这些新的挑战,整车厂引入了高性能的芯片、突破性的技术产品,同时传统的EE架构也需要变革,SOA(面向服务的架构)成为大多整车厂响应市场需求的首选架构。SOA架构的主要优势是可以在很大程度上实现分布式系统软件模块间的解耦,通过软件升级OTA可以更方便灵活地将服务实体部署在任意的域控制器上,服务之间只需通过简单、精确定义的接口进行通讯,不涉及底层编程接口和通讯模型。而且对于ECU的版本更新、信号库更新、代码修改等过程更加简便和灵活。简化了注册服务与调用API,节约了时间成本,提高系统的健壮性和扩展性。

SOA开发和部署步骤

设计和部署一个SOA汽车软件大概可分为以下几个步骤:

poYBAGLrke6AVHbGAAC4V01CEIk568.png

图1: SOA开发部署步骤

服务接口开发阶段往往需要挑选有固定规则、逻辑性强,又有大量高度重复的场景进行测试验证,为了快速进行验证,架构工程师通常会以IDL(接口描述语言)来做服务定义描述,作为开发链路上后续工作开展的输入,业务逻辑开发阶段以统一的标准进行服务实现。

市面上的IDL语言非常多,例如FIDL、Protobuf、vCDL、ARXML、OMG IDL、CANoe FDX等。测试人员对于各种IDL的语法规则需要零基础开始学习,在转换过程中相应的操作也比较复杂、繁琐,同时出错率也很高。

如果软件的架构采用了SOA,对系统中的功能进行了服务化,在前期技术选型,清单定义、架构设计以及中期的业务逻辑开发阶段都会碰到诸如以下的几种场景。

场景一:

架构人员在使用PREEvision Adaptive AUTOSAR进行系统建模、定义服务相关SWC后,通常会导出不同类型的ARXML,该文件定义了各服务接口、数据类型、参数引用等,这些AP ARXML可导入到CANoe中进行节点仿真和监控以太网通信,也支持导入DaVinci IDE生成代码,配合DaVinci进行开发。但是这个建模过程短期内无法完成,需要不停地沟通协调,考虑便捷性,在沟通过程中相关方会以Excel作为沟通输入,最终会将这些Excel中的配置信息再转换为ARXML导入到相关的工具中进行验证。

poYBAGLrkg2AWrrvAABzf_g8Npo973.png

图2-1:接口和数据类型定义Excel

poYBAGLrkhmAI6MgAACv5XMAafg981.png

图2-2:接口和数据类型定义Excel

如上图简单示例,其中结构体引用,数据类型等信息容易出错,时常需要反复修改后再重新转换为ARXML,这个过程费时费力,从效率角度来说也影响了软件的开发进度。

场景二:

以太网测试(以SOME/IP为例)时,开发人员输出的是Excel,测试人员需要再把Excel转成测试软件可以支持的文件格式,如vCDL,此环节工作量极大,正确率也无法保证。

poYBAGLrkiqAPqoJAABW1kKmR1M894.png

图3-1:以太网测试接口定义Excel

pYYBAGLrkjuAa1eKAADWjnNwzU0295.png

图3-2:以太网测试接口定义Excel

场景三:

开发人员在使用DaVinci做架构设计时,为了加快开发周期,通常情况下会先使用Excel做模板,在Excel中填入接口信息、数据类型、SWC定义、SWC与接口关系等信息,然后再由模块责任人把Excel中的数据在DaVinci Developer中做相应的节点配置和连线关联,整个过程出错概率高并且重复性高,需要有工具能依据Excel模板文件自动生成ARXML文件,实现SWC的转换及接口与SWC结合工作,用以提高设计效率。

场景四:

在SOA架构中,中间件技术的应用使得应用软件与底层的操作系统和硬件实现了解耦,我们可以使用 SIL(Software in loop) 技术在系统开发早期对系统进行功能验证。SIL测试的一个重要环节是 SIL Adapter开发。SIL Adapter实现了测试系统对被测服务实现的调用。针对各个服务接口的 SIL Adapter代码结构是相同的,只是接口参数数量、名称、类型方面有少量代码差异,整个过程重复性也较高,需要有工具能自动将架构设计产出的FIDL、XML、ARXML等文件自动转化为C++等代码,同时能根据文件中的描述/备注等内容自动生成插桩代码,这将缩短验证周期。

场景五:

SOA架构设计、测试验证等阶段,工程师在使用相关工具软件时,会使用许多配置文件作为输入或输出文件,但是鉴于使用的工具众多,且文件格式之间的标准并不统一,所使用的各个开发工具及测试工具也并不能支持所有的格式,所以各个工具间的串联并不流畅,影响工程师的工作效率,需要有工具能自动将这些不同格式的文件进行互相转换以实现工具的高效串联。

场景六:

测试用例通常是在Doors或Polarion中管理,测试用例中的测试步骤或测试标准正常是以自然语言的方式描述,在测试执行过程中软件无法识别这些描述性语言,测试人员需要先将这些自然语言转换为脚本文件,再把测试脚本放到测试工程中执行,在测试用例较多的时候这个工作量将会非常庞大,需要有工具能集成相关用例管理软件,将测试用例能自动转换为相应的测试软件的脚本文件,在提高效率的同时减少出错机率。

场景七:

SOA测试开发过程大体上需要进行以下几个步骤

1.测试规范开发:基于需求规范和测试经验及对实现方案的理解,完成测试规范的开发

2. SOA-HIL测试系统需求分析和测试系统开发:被测对象的引脚和资源定义,HIL硬件及测试软件运行环境搭建

3.测试工程开发:开发测试工程,实现测试规范所定义的测试内容的自动化/半自动化测试

4.仿真模型开发:开发仿真模型,与待测节点建立接口交互

5.测试环境集成调试与测试执行:针对某一具体被测对象进行测试环境搭建、工程集成调试与测试执行

以上各个步骤中所需的输入物类型较多,如:SOA功能的需求规范、服务接口规范,资源定义文件,测试范围定义,ARXML等类型数据库文件,测试系统第三方编程脚本,测试规范,通信数据库,通信矩阵文件,被测节点交互数据格式定义等,需要有工具能够按测试项目进行统一分类管理,同时能够支持相关输入物间进行格式转换,转换后的结果能够便捷地加载到相关的测试软件中或能够通过网络自动上传到配置库的对应位置下方便后续操作。

场景八:

目前SOA架构软件普遍采用敏捷开发方式进行管理,软件版本的高频迭代极大考验了测试人员工作量和自动化测试能力,目前大多整车厂和零部件供应商基本上已在进行或正在研案持续集成测试方案来解决这一问题。

如下图所示,随着SOA架构的盛行,输入物或规范文件已经出现了多样化,但是持续集成测试推进的前提条件是需要预先将这些测试软件不可识别的接口文件或用例文件转换为符合测试软件定义的规范脚本,并且能够与相关的工具进行集成自动转换。

poYBAGLrkpeAYAPdAABl2_pbgPk752.png

图4:持续集成测试文件转换需求示意图

为什么需要接口描述语言转换

以上几个场景都需要测试人员手动录入或转换后才能继续推动项目进度,此环节尤为关键,但往往转换周期较长,且该工作耗时又费力,出错率也较高,导致经常返工,这些问题一直困扰着的开发/测试人员。

PAVELINK.SOA-Converter介绍

针对以上问题,北汇信息开发出了接口描述语言转换工具——PAVELINK.SOA-Converter。

PAVELINK.SOA-Converter是一个基于Eclipse开发的IDL转换工具。可实现对常用IDL语言的批量转换(FIDL、OMG IDL、Protobuf、vCDL、CANoe FDX、ARXML等),例如FIDL转CANoe FDX,FIDL与Protobuf互转,同时也支持直接通过Protobuf转换CANoe FDX等便捷的转换功能,转换前可根据用户需求自定义输出目录、是否忽略注释信息、是否批量转换、是否转换为多个文件等配置。

PAVELINK.SOA-Converter结合测试代理引擎进行自动化回归测试,可以解决整个链路的沟通问题并缩短测试验证的时间。

用户通用使用PAVELINK.SOA-Converter实现对文件的快速转换,相较于人工转换,不但很大程度上节约了时间成本,而且保障了转换的正确率,提高了开发测试的进度,同时有效降低了维护的成本。

pYYBAGLrkrmAAP5wAABjmBDhohk803.png

图5: PAVELINK.SOA-Converter工作示意图

主要功能如下:

1.接口语言脚换器:通过接口语言转换实现基于SOA架构的软件设计开发过程中各工具链间的连通。

2.接口语言编辑器:通过搭建多个接口语言集中一站式编辑环境,可以实现对接口文件的二次编辑转换,同时实现语法校验、关键字提示和补全等功能。

3.命令行转换器提供无头(headless)跨平台的命令行工具,支持命令行调用转换功能。

4.配置库集成:集成配置库,自动同步文件,更新提醒,当有源文件更新后实现自动转换为目标文件。

5.开放调用接口:通过文件流监听方式与外部工具集成,为自动化测试提供便利。

6.插件灵活拓展:通过插件的灵活拓展,快速实现新的脚本语言转换。

7. SOA通信方案拓展:通过对接口描述语言的解读,自动转换为服务端(Skeleton)和客户端(Proxy)框架代码等。

PAVELINK.SOA-Converter使用说明

PAVELINK.SOA-Converter的使用操作十分便捷,在Eclipse中只需要点击鼠标,或者使用简单的命令即可完成转换工作。

1. Eclipse插件转换

在Eclipse中安装好插件,选择文件后右击->SOA-Converter->选择需要转换的格式类型即可。

poYBAGLrkv2AD4FHAAEe1EPH2JI941.png

图6: PAVELINK.SOA-Converter图形化示意图

2.命令行转换

也可通过命令执行转换。

常用参数说明:

[-sf]指定转换的源文件类型。

[-tf]指定转换后生成的文件类型。

[-sp]指定需要转换的文件或位置。

[-d]指定转换后文件输出位置。

[-dv]忽略版本校验。

pYYBAGLrkxWAYeCWAABtwrGdwEU556.png

图7: PAVELINK.SOA-Converter命令行示意图

3.示例说明

某OEM基于SOA架构的服务接口测试项目,使用PAVELINK.SOA-Converter实现FIDL转CANoe系统变量XML,简化测试验证过程。

pYYBAGLrkymAIEXpAAHekypAxPE601.png

图8: FIDL转CANoe系统变量示例

转换完成后,按步骤在CANoe中直接导入转换后的XML文件即可,如下图。

poYBAGLrkzaAeJsfAACyZLiFmAg767.png

图9:转换后的系统变量XML文件导入CANoe软件示例

CCU域控制器的测试规范、脚本开发及测试服务,使用PAVELINK.SOA-Converter实现FIDL转SOA功能实现服务端和客户端C++代码示例

poYBAGLrk0GAdP4eAAE9iQoLnzI900.png

图10: SOA通信实现节点示意图

如上图所示,调用PAVELINK.SOA-Converter转换PREEvision等设计工具输出的服务接口文件,生成对应的Proxy、Skeleton、Stub代码。

pYYBAGLrk0uAM3lpAAFmH4oF_yA931.png

图11:服务接口文件转换C++示例图

某供应商网联类控制器SOA功能规范测试开发项目,使用PAVELINK.SOA-Converter实现Excel转ARXML,接口和SWC关联示例

poYBAGLrk1aAG5_lAAEwejBpCPw970.png

图12: Excel模板示意图

转换后ARXML内容如下:

poYBAGLrk2mAAPI6AANdn0WeOyY045.png

图13: ARXML截图示意

更多功能,敬请期待

IDL文件编辑器,支持实时转换,即编辑的同时进行转换结果的预览,关键字提示、关键字高亮、语法错误提示等;

网络测试模板文件定制,自动化脚本生成;

测试工具集成,自动驱动CANoe、ECU-TEST、dSPACE等加载工程执行;

持续测试集成,服务接口定义文件变更后自动触发测试验证执行。

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

    关注

    1

    文章

    336

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADI-BERT:高速串行接口测试的理想解决方案

    ADI-BERT:高速串行接口测试的理想解决方案 在高速串行接口系统的设计、开发和调试过程中,测试模式生成和错误检测是至关重要的功能。ADI
    的头像 发表于 05-29 14:50 43次阅读

    SOA 偏振特性及场景选型指南

    在光通信、高速数据中心、激光传感、精密测试领域,SOA(半导体光放大器)是核心光放大器件。很多从业者在选型、对接客户时,常常困惑于SOA的三大偏振属性: 高偏、低偏、保偏 。三者看似都和偏振相关
    发表于 05-29 09:10

    韬定律:后摩尔时代走向“时间缩微”,光互联与SOA的新可能性

    组件,优化收发性能 相比传统方案, 体积更小、功耗更低、成本更优 ,适配规模化集成 (2)硅光/PIC集成:芯片级光放大 韬定律强调高密度、短路径、少互连 SOA与硅光混合集成,放大+调制+探测一体化
    发表于 05-28 09:51

    使用基于模型的设计开发和测试车载操作系统的SOA应用程序

    随着车辆从传统机械系统演变为软件定义汽车 (SDVs),汽车行业正在经历一场深刻的变革。这种转变需要新的软件开发方法,而面向服务的架构 (SOA) 正成为设计灵活、可扩展的汽车应用程序的首选范式。在
    的头像 发表于 05-22 11:17 1626次阅读
    使用基于模型的设计开发和<b class='flag-5'>测试</b>车载操作系统的<b class='flag-5'>SOA</b>应用程序

    医疗电子设备测试 | 人机交互 + 传感器接口 + 执行控制 协同测试方案

    医疗电子设备测试 | 人机交互 + 传感器接口 + 执行控制 协同测试方案
    的头像 发表于 03-27 13:46 317次阅读
    医疗电子设备<b class='flag-5'>测试</b> | 人机交互 + 传感器<b class='flag-5'>接口</b> + 执行控制 协同<b class='flag-5'>测试</b><b class='flag-5'>方案</b>

    ZCU一体化测试解决方案

    ,直接影响车辆的安全性、实时性与扩展性。然而,随着ZCU功能的复杂化与多域协同需求的提升,测试环节面临功能接口增加、跨域交互耦合复杂、OTA技术以及SOA架构引入等
    的头像 发表于 03-11 10:03 1170次阅读
    ZCU一体化<b class='flag-5'>测试</b>解决<b class='flag-5'>方案</b>

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 632次阅读
    通过vivado HLS设计一个FIR低通滤波器

    京东多语言质量解决方案

    一、业界多语言面临的通用挑战是什么 做这个事之前,我们先看看业界做了什么。 •阿里巴巴全球化测试技术介绍 •蚂蚁全球化无线端质量解决方案 •谈谈多语言
    的头像 发表于 01-13 16:18 1244次阅读
    京东多<b class='flag-5'>语言</b>质量解决<b class='flag-5'>方案</b>

    SOA应用-光子集成

    SOA
    天津见合八方光电科技有限公司
    发布于 :2025年12月02日 14:50:11

    Simulink模型测试典型问题分享-接口定义不完整

    典型测试问题分享-接口定义不完整 问题描述: 计算模块未定义数值范围,存在越界风险。 信号未规定精度和误差范围,导致背靠背测试未通过。
    的头像 发表于 09-22 15:40 1290次阅读
    Simulink模型<b class='flag-5'>测试</b>典型问题分享-<b class='flag-5'>接口</b>定义不完整

    SOA增益谱与ASE光谱的区别

    作者:见合八方王伟,见合八方刘凡 引言 在SOA的推广中,客户时常提到以下疑问:“为什么C波段SOA测得的中心波长在1500 nm?”、“为什么1310 nm SOA的中心波长为1270 nm
    的头像 发表于 07-30 16:15 1085次阅读
    <b class='flag-5'>SOA</b>增益谱与ASE光谱的区别

    远程监控燃烧测试仪的数据采集方案

    与实时显示,测试数据支持本地导出,广泛应用于科研院校、生产工厂等场景。 方案架构 感知层:PLC 接口未占用设备:工业智能网关直连 PLC,采集点火时间、施焰时长等
    的头像 发表于 07-23 10:46 607次阅读
    远程监控燃烧<b class='flag-5'>测试</b>仪的数据采集<b class='flag-5'>方案</b>

    德思特方案 EMI兼容测试方案——匹配不同测试标准,准确高效!

    本文介绍EMI预兼容测试方案。近场测试适用于产品开发阶段辐射发射测试,可定位辐射源、节省成本。辐射发射
    的头像 发表于 06-17 15:54 946次阅读
    德思特<b class='flag-5'>方案</b> EMI兼容<b class='flag-5'>测试</b><b class='flag-5'>方案</b>——匹配不同<b class='flag-5'>测试</b>标准,准确高效!

    OptiSystem应用:宽带SOA特性

    本案例的目的是通过仿真表征半导体光放大器(SOA)。 首先,我们将描述SOA对输入信号功率变化的响应。 图1显示了仿真中使用的系统布局。将连续激光器的功率参数置于扫描模式下,在-40 ~ 10
    发表于 06-10 08:45