0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SOA架構(gòu)/測試階段接口描述語言轉(zhuǎn)換方案

北匯信息POLELINK ? 2022-08-04 18:02 ? 次閱讀

SOA架構(gòu)盛行

隨著汽車新四化的推進,汽車整車廠在實現(xiàn)車輛網(wǎng)聯(lián)、自動駕駛和數(shù)據(jù)驅(qū)動的同時,更要在滿足用戶體驗和基本服務(wù)的基礎(chǔ)上快速響應(yīng)客戶的個性化需求,為更好地解決這些新的挑戰(zhàn),整車廠引入了高性能的芯片、突破性的技術(shù)產(chǎn)品,同時傳統(tǒng)的EE架構(gòu)也需要變革,SOA(面向服務(wù)的架構(gòu))成為大多整車廠響應(yīng)市場需求的首選架構(gòu)。SOA架構(gòu)的主要優(yōu)勢是可以在很大程度上實現(xiàn)分布式系統(tǒng)軟件模塊間的解耦,通過軟件升級OTA可以更方便靈活地將服務(wù)實體部署在任意的域控制器上,服務(wù)之間只需通過簡單、精確定義的接口進行通訊,不涉及底層編程接口和通訊模型。而且對于ECU的版本更新、信號庫更新、代碼修改等過程更加簡便和靈活。簡化了注冊服務(wù)與調(diào)用API,節(jié)約了時間成本,提高系統(tǒng)的健壯性和擴展性。

SOA開發(fā)和部署步驟

設(shè)計和部署一個SOA汽車軟件大概可分為以下幾個步驟:

poYBAGLrke6AVHbGAAC4V01CEIk568.png

圖1: SOA開發(fā)部署步驟

服務(wù)接口開發(fā)階段往往需要挑選有固定規(guī)則、邏輯性強,又有大量高度重復(fù)的場景進行測試驗證,為了快速進行驗證,架構(gòu)工程師通常會以IDL(接口描述語言)來做服務(wù)定義描述,作為開發(fā)鏈路上后續(xù)工作開展的輸入,業(yè)務(wù)邏輯開發(fā)階段以統(tǒng)一的標準進行服務(wù)實現(xiàn)。

市面上的IDL語言非常多,例如FIDL、Protobuf、vCDL、ARXML、OMG IDL、CANoe FDX等。測試人員對于各種IDL的語法規(guī)則需要零基礎(chǔ)開始學(xué)習(xí),在轉(zhuǎn)換過程中相應(yīng)的操作也比較復(fù)雜、繁瑣,同時出錯率也很高。

如果軟件的架構(gòu)采用了SOA,對系統(tǒng)中的功能進行了服務(wù)化,在前期技術(shù)選型,清單定義、架構(gòu)設(shè)計以及中期的業(yè)務(wù)邏輯開發(fā)階段都會碰到諸如以下的幾種場景。

場景一:

架構(gòu)人員在使用PREEvision Adaptive AUTOSAR進行系統(tǒng)建模、定義服務(wù)相關(guān)SWC后,通常會導(dǎo)出不同類型的ARXML,該文件定義了各服務(wù)接口、數(shù)據(jù)類型、參數(shù)引用等,這些AP ARXML可導(dǎo)入到CANoe中進行節(jié)點仿真和監(jiān)控以太網(wǎng)通信,也支持導(dǎo)入DaVinci IDE生成代碼,配合DaVinci進行開發(fā)。但是這個建模過程短期內(nèi)無法完成,需要不停地溝通協(xié)調(diào),考慮便捷性,在溝通過程中相關(guān)方會以Excel作為溝通輸入,最終會將這些Excel中的配置信息再轉(zhuǎn)換為ARXML導(dǎo)入到相關(guān)的工具中進行驗證。

poYBAGLrkg2AWrrvAABzf_g8Npo973.png

圖2-1:接口和數(shù)據(jù)類型定義Excel

poYBAGLrkhmAI6MgAACv5XMAafg981.png

圖2-2:接口和數(shù)據(jù)類型定義Excel

如上圖簡單示例,其中結(jié)構(gòu)體引用,數(shù)據(jù)類型等信息容易出錯,時常需要反復(fù)修改后再重新轉(zhuǎn)換為ARXML,這個過程費時費力,從效率角度來說也影響了軟件的開發(fā)進度。

場景二:

以太網(wǎng)測試(以SOME/IP為例)時,開發(fā)人員輸出的是Excel,測試人員需要再把Excel轉(zhuǎn)成測試軟件可以支持的文件格式,如vCDL,此環(huán)節(jié)工作量極大,正確率也無法保證。

poYBAGLrkiqAPqoJAABW1kKmR1M894.png

圖3-1:以太網(wǎng)測試接口定義Excel

pYYBAGLrkjuAa1eKAADWjnNwzU0295.png

圖3-2:以太網(wǎng)測試接口定義Excel

場景三:

開發(fā)人員在使用DaVinci做架構(gòu)設(shè)計時,為了加快開發(fā)周期,通常情況下會先使用Excel做模板,在Excel中填入接口信息、數(shù)據(jù)類型、SWC定義、SWC與接口關(guān)系等信息,然后再由模塊責(zé)任人把Excel中的數(shù)據(jù)在DaVinci Developer中做相應(yīng)的節(jié)點配置和連線關(guān)聯(lián),整個過程出錯概率高并且重復(fù)性高,需要有工具能依據(jù)Excel模板文件自動生成ARXML文件,實現(xiàn)SWC的轉(zhuǎn)換及接口與SWC結(jié)合工作,用以提高設(shè)計效率。

場景四:

在SOA架構(gòu)中,中間件技術(shù)的應(yīng)用使得應(yīng)用軟件與底層的操作系統(tǒng)硬件實現(xiàn)了解耦,我們可以使用 SIL(Software in loop) 技術(shù)在系統(tǒng)開發(fā)早期對系統(tǒng)進行功能驗證。SIL測試的一個重要環(huán)節(jié)是 SIL Adapter開發(fā)。SIL Adapter實現(xiàn)了測試系統(tǒng)對被測服務(wù)實現(xiàn)的調(diào)用。針對各個服務(wù)接口的 SIL Adapter代碼結(jié)構(gòu)是相同的,只是接口參數(shù)數(shù)量、名稱、類型方面有少量代碼差異,整個過程重復(fù)性也較高,需要有工具能自動將架構(gòu)設(shè)計產(chǎn)出的FIDL、XML、ARXML等文件自動轉(zhuǎn)化為C++等代碼,同時能根據(jù)文件中的描述/備注等內(nèi)容自動生成插樁代碼,這將縮短驗證周期。

場景五:

SOA架構(gòu)設(shè)計、測試驗證等階段,工程師在使用相關(guān)工具軟件時,會使用許多配置文件作為輸入或輸出文件,但是鑒于使用的工具眾多,且文件格式之間的標準并不統(tǒng)一,所使用的各個開發(fā)工具及測試工具也并不能支持所有的格式,所以各個工具間的串聯(lián)并不流暢,影響工程師的工作效率,需要有工具能自動將這些不同格式的文件進行互相轉(zhuǎn)換以實現(xiàn)工具的高效串聯(lián)。

場景六:

測試用例通常是在Doors或Polarion中管理,測試用例中的測試步驟或測試標準正常是以自然語言的方式描述,在測試執(zhí)行過程中軟件無法識別這些描述性語言,測試人員需要先將這些自然語言轉(zhuǎn)換為腳本文件,再把測試腳本放到測試工程中執(zhí)行,在測試用例較多的時候這個工作量將會非常龐大,需要有工具能集成相關(guān)用例管理軟件,將測試用例能自動轉(zhuǎn)換為相應(yīng)的測試軟件的腳本文件,在提高效率的同時減少出錯機率。

場景七:

SOA測試開發(fā)過程大體上需要進行以下幾個步驟

1.測試規(guī)范開發(fā):基于需求規(guī)范和測試經(jīng)驗及對實現(xiàn)方案的理解,完成測試規(guī)范的開發(fā)

2. SOA-HIL測試系統(tǒng)需求分析和測試系統(tǒng)開發(fā):被測對象的引腳和資源定義,HIL硬件及測試軟件運行環(huán)境搭建

3.測試工程開發(fā):開發(fā)測試工程,實現(xiàn)測試規(guī)范所定義的測試內(nèi)容的自動化/半自動化測試

4.仿真模型開發(fā):開發(fā)仿真模型,與待測節(jié)點建立接口交互

5.測試環(huán)境集成調(diào)試與測試執(zhí)行:針對某一具體被測對象進行測試環(huán)境搭建、工程集成調(diào)試與測試執(zhí)行

以上各個步驟中所需的輸入物類型較多,如:SOA功能的需求規(guī)范、服務(wù)接口規(guī)范,資源定義文件,測試范圍定義,ARXML等類型數(shù)據(jù)庫文件,測試系統(tǒng)第三方編程腳本,測試規(guī)范,通信數(shù)據(jù)庫,通信矩陣文件,被測節(jié)點交互數(shù)據(jù)格式定義等,需要有工具能夠按測試項目進行統(tǒng)一分類管理,同時能夠支持相關(guān)輸入物間進行格式轉(zhuǎn)換,轉(zhuǎn)換后的結(jié)果能夠便捷地加載到相關(guān)的測試軟件中或能夠通過網(wǎng)絡(luò)自動上傳到配置庫的對應(yīng)位置下方便后續(xù)操作。

場景八:

目前SOA架構(gòu)軟件普遍采用敏捷開發(fā)方式進行管理,軟件版本的高頻迭代極大考驗了測試人員工作量和自動化測試能力,目前大多整車廠和零部件供應(yīng)商基本上已在進行或正在研案持續(xù)集成測試方案來解決這一問題。

如下圖所示,隨著SOA架構(gòu)的盛行,輸入物或規(guī)范文件已經(jīng)出現(xiàn)了多樣化,但是持續(xù)集成測試推進的前提條件是需要預(yù)先將這些測試軟件不可識別的接口文件或用例文件轉(zhuǎn)換為符合測試軟件定義的規(guī)范腳本,并且能夠與相關(guān)的工具進行集成自動轉(zhuǎn)換。

poYBAGLrkpeAYAPdAABl2_pbgPk752.png

圖4:持續(xù)集成測試文件轉(zhuǎn)換需求示意圖

為什么需要接口描述語言轉(zhuǎn)換

以上幾個場景都需要測試人員手動錄入或轉(zhuǎn)換后才能繼續(xù)推動項目進度,此環(huán)節(jié)尤為關(guān)鍵,但往往轉(zhuǎn)換周期較長,且該工作耗時又費力,出錯率也較高,導(dǎo)致經(jīng)常返工,這些問題一直困擾著的開發(fā)/測試人員。

PAVELINK.SOA-Converter介紹

針對以上問題,北匯信息開發(fā)出了接口描述語言轉(zhuǎn)換工具——PAVELINK.SOA-Converter。

PAVELINK.SOA-Converter是一個基于Eclipse開發(fā)的IDL轉(zhuǎn)換工具??蓪崿F(xiàn)對常用IDL語言的批量轉(zhuǎn)換(FIDL、OMG IDL、Protobuf、vCDL、CANoe FDX、ARXML等),例如FIDL轉(zhuǎn)CANoe FDX,F(xiàn)IDL與Protobuf互轉(zhuǎn),同時也支持直接通過Protobuf轉(zhuǎn)換CANoe FDX等便捷的轉(zhuǎn)換功能,轉(zhuǎn)換前可根據(jù)用戶需求自定義輸出目錄、是否忽略注釋信息、是否批量轉(zhuǎn)換、是否轉(zhuǎn)換為多個文件等配置。

PAVELINK.SOA-Converter結(jié)合測試代理引擎進行自動化回歸測試,可以解決整個鏈路的溝通問題并縮短測試驗證的時間。

用戶通用使用PAVELINK.SOA-Converter實現(xiàn)對文件的快速轉(zhuǎn)換,相較于人工轉(zhuǎn)換,不但很大程度上節(jié)約了時間成本,而且保障了轉(zhuǎn)換的正確率,提高了開發(fā)測試的進度,同時有效降低了維護的成本。

pYYBAGLrkrmAAP5wAABjmBDhohk803.png

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

主要功能如下:

1.接口語言腳換器:通過接口語言轉(zhuǎn)換實現(xiàn)基于SOA架構(gòu)的軟件設(shè)計開發(fā)過程中各工具鏈間的連通。

2.接口語言編輯器:通過搭建多個接口語言集中一站式編輯環(huán)境,可以實現(xiàn)對接口文件的二次編輯轉(zhuǎn)換,同時實現(xiàn)語法校驗、關(guān)鍵字提示和補全等功能。

3.命令行轉(zhuǎn)換器提供無頭(headless)跨平臺的命令行工具,支持命令行調(diào)用轉(zhuǎn)換功能。

4.配置庫集成:集成配置庫,自動同步文件,更新提醒,當(dāng)有源文件更新后實現(xiàn)自動轉(zhuǎn)換為目標文件。

5.開放調(diào)用接口:通過文件流監(jiān)聽方式與外部工具集成,為自動化測試提供便利。

6.插件靈活拓展:通過插件的靈活拓展,快速實現(xiàn)新的腳本語言轉(zhuǎn)換。

7. SOA通信方案拓展:通過對接口描述語言的解讀,自動轉(zhuǎn)換為服務(wù)端(Skeleton)和客戶端(Proxy)框架代碼等。

PAVELINK.SOA-Converter使用說明

PAVELINK.SOA-Converter的使用操作十分便捷,在Eclipse中只需要點擊鼠標,或者使用簡單的命令即可完成轉(zhuǎn)換工作。

1. Eclipse插件轉(zhuǎn)換

在Eclipse中安裝好插件,選擇文件后右擊->SOA-Converter->選擇需要轉(zhuǎn)換的格式類型即可。

poYBAGLrkv2AD4FHAAEe1EPH2JI941.png

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

2.命令行轉(zhuǎn)換

也可通過命令執(zhí)行轉(zhuǎn)換。

常用參數(shù)說明:

[-sf]指定轉(zhuǎn)換的源文件類型。

[-tf]指定轉(zhuǎn)換后生成的文件類型。

[-sp]指定需要轉(zhuǎn)換的文件或位置。

[-d]指定轉(zhuǎn)換后文件輸出位置。

[-dv]忽略版本校驗。

pYYBAGLrkxWAYeCWAABtwrGdwEU556.png

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

3.示例說明

某OEM基于SOA架構(gòu)的服務(wù)接口測試項目,使用PAVELINK.SOA-Converter實現(xiàn)FIDL轉(zhuǎn)CANoe系統(tǒng)變量XML,簡化測試驗證過程。

pYYBAGLrkymAIEXpAAHekypAxPE601.png

圖8: FIDL轉(zhuǎn)CANoe系統(tǒng)變量示例

轉(zhuǎn)換完成后,按步驟在CANoe中直接導(dǎo)入轉(zhuǎn)換后的XML文件即可,如下圖。

poYBAGLrkzaAeJsfAACyZLiFmAg767.png

圖9:轉(zhuǎn)換后的系統(tǒng)變量XML文件導(dǎo)入CANoe軟件示例

CCU域控制器的測試規(guī)范、腳本開發(fā)及測試服務(wù),使用PAVELINK.SOA-Converter實現(xiàn)FIDL轉(zhuǎn)SOA功能實現(xiàn)服務(wù)端和客戶端C++代碼示例

poYBAGLrk0GAdP4eAAE9iQoLnzI900.png

圖10: SOA通信實現(xiàn)節(jié)點示意圖

如上圖所示,調(diào)用PAVELINK.SOA-Converter轉(zhuǎn)換PREEvision等設(shè)計工具輸出的服務(wù)接口文件,生成對應(yīng)的Proxy、Skeleton、Stub代碼。

pYYBAGLrk0uAM3lpAAFmH4oF_yA931.png

圖11:服務(wù)接口文件轉(zhuǎn)換C++示例圖

某供應(yīng)商網(wǎng)聯(lián)類控制器SOA功能規(guī)范測試開發(fā)項目,使用PAVELINK.SOA-Converter實現(xiàn)Excel轉(zhuǎn)ARXML,接口和SWC關(guān)聯(lián)示例

poYBAGLrk1aAG5_lAAEwejBpCPw970.png

圖12: Excel模板示意圖

轉(zhuǎn)換后ARXML內(nèi)容如下:

poYBAGLrk2mAAPI6AANdn0WeOyY045.png

圖13: ARXML截圖示意

更多功能,敬請期待

IDL文件編輯器,支持實時轉(zhuǎn)換,即編輯的同時進行轉(zhuǎn)換結(jié)果的預(yù)覽,關(guān)鍵字提示、關(guān)鍵字高亮、語法錯誤提示等;

網(wǎng)絡(luò)測試模板文件定制,自動化腳本生成;

測試工具集成,自動驅(qū)動CANoe、ECU-TEST、dSPACE等加載工程執(zhí)行;

持續(xù)測試集成,服務(wù)接口定義文件變更后自動觸發(fā)測試驗證執(zhí)行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SOA
    SOA
    +關(guān)注

    關(guān)注

    1

    文章

    281

    瀏覽量

    27386
收藏 人收藏

    評論

    相關(guān)推薦

    9月26日云技術(shù)研討會 | SOA整車EE架構(gòu)開發(fā)流程及工具實施方案

    本次研討會經(jīng)緯恒潤將結(jié)合業(yè)務(wù)團隊多年來在SOA架構(gòu)開發(fā)和工具實施領(lǐng)域的項目實踐經(jīng)驗,分享探討SOA趨勢下先進的整車EE架構(gòu)開發(fā)模式,聚焦在SOA
    的頭像 發(fā)表于 09-19 17:09 ?196次閱讀
    9月26日云技術(shù)研討會 | <b class='flag-5'>SOA</b>整車EE<b class='flag-5'>架構(gòu)</b>開發(fā)流程及工具實施<b class='flag-5'>方案</b>

    SOA架構(gòu)開發(fā)小助手PAVELINK.SOA-Converter V1.4.2新版本發(fā)布

    PAVELINK.SOA-Converter轉(zhuǎn)換工具,用于銜接基于SOA的控制器設(shè)計、開發(fā)及測試過程中所常見的各類軟件工具。PAVELINK.SOA
    的頭像 發(fā)表于 08-07 15:10 ?439次閱讀
    <b class='flag-5'>SOA</b><b class='flag-5'>架構(gòu)</b>開發(fā)小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本發(fā)布

    6月27日云技術(shù)研討會 | 中央集中架構(gòu)新車型功能和網(wǎng)絡(luò)測試解決方案

    本次研討會經(jīng)緯恒潤將結(jié)合業(yè)務(wù)團隊多年來在EE開發(fā)和測試領(lǐng)域的工程實踐經(jīng)驗,分享探討新架構(gòu)車型EE功能和網(wǎng)絡(luò)TSN、DDS測試新的解決方案,聚焦在SO
    的頭像 發(fā)表于 06-22 18:40 ?1110次閱讀
    6月27日云技術(shù)研討會 | 中央集中<b class='flag-5'>架構(gòu)</b>新車型功能和網(wǎng)絡(luò)<b class='flag-5'>測試</b>解決<b class='flag-5'>方案</b>

    接口測試的工具有哪些種類

    單元測試框架 單元測試框架主要用于測試單個模塊或函數(shù)的功能。雖然它們主要用于開發(fā)階段,但也可以用于接口
    的頭像 發(fā)表于 05-30 15:07 ?530次閱讀

    PAVELINK.SOA-Converter-應(yīng)用場景介紹#SOA #IDL轉(zhuǎn)化 #汽車架構(gòu)開發(fā)

    SOA
    北匯信息POLELINK
    發(fā)布于 :2024年04月29日 18:56:30

    SOA-Converter v1.3.2上線|新增Excel模板適配插件及ARXML合并功能

    PAVELINK.SOA-Converter轉(zhuǎn)換工具,用于銜接基于SOA的控制器設(shè)計、開發(fā)及測試過程中所常見的各類軟件工具。PAVELINK.SOA
    的頭像 發(fā)表于 04-18 08:25 ?265次閱讀
    <b class='flag-5'>SOA</b>-Converter v1.3.2上線|新增Excel模板適配插件及ARXML合并功能

    汽車電子電氣架構(gòu)SOA如何實現(xiàn)?

    在車載環(huán)境中,SOME/IP基本解決了SOC,但SORS呢?SOS呢?僅有SOC的SOA是沒有靈魂的,是不完整,也不可能實現(xiàn)SOA的目標,故而,若認為SOA=SOME/IP的話,你真的低估了S
    發(fā)表于 04-11 10:01 ?295次閱讀
    汽車電子電氣<b class='flag-5'>架構(gòu)</b><b class='flag-5'>SOA</b>如何實現(xiàn)?

    fpga通用語言是什么

    FPGA(現(xiàn)場可編程門陣列)的通用語言主要是指用于描述FPGA內(nèi)部邏輯結(jié)構(gòu)和行為的硬件描述語言。目前,Verilog HDL和VHDL是兩種最為廣泛使用的FPGA編程語言。
    的頭像 發(fā)表于 03-15 14:36 ?440次閱讀

    fpga用的是什么編程語言 fpga用什么語言開發(fā)

    fpga用的是什么編程語言 FPGA(現(xiàn)場可編程邏輯門陣列)主要使用的編程語言是硬件描述語言(HDL)。在眾多的HDL中,Verilog HDL和VHDL是最常用的兩種。 Verilog HDL
    的頭像 發(fā)表于 03-14 17:09 ?3120次閱讀

    fpga芯片用什么編程語言

    FPGA芯片主要使用的編程語言包括Verilog HDL和VHDL。這兩種語言都是硬件描述語言,用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)和行為。
    的頭像 發(fā)表于 03-14 16:07 ?1373次閱讀

    verilog與其他編程語言接口機制

    Verilog是一種硬件描述語言,用于描述數(shù)字電路的行為和結(jié)構(gòu)。與其他編程語言相比,Verilog具有與硬件緊密結(jié)合的特點,因此其接口機制也有一些與眾不同之處。本文將詳細介紹Veril
    的頭像 發(fā)表于 02-23 10:22 ?544次閱讀

    soa光放大器原理 soa光放大器增益測試

    )的工作原理,以及相關(guān)的增益測試方法,帶領(lǐng)讀者更深入地了解SOA光放大器的特性和應(yīng)用價值。 一、SOA光放大器的工作原理 半導(dǎo)體光放大器(Semiconductor Optical Amplifier,簡稱
    的頭像 發(fā)表于 01-25 09:48 ?3032次閱讀

    soa光放大器增益測試

    附近產(chǎn)生復(fù)合發(fā)光,進而增強光信號的強度。SOA光放大器具有寬帶寬、高增益、低噪聲等特點,因此在光通信和光網(wǎng)絡(luò)中有廣泛的應(yīng)用。 為了確保SOA光放大器的質(zhì)量和性能,需要進行增益測試。增益測試
    的頭像 發(fā)表于 01-10 13:38 ?775次閱讀

    PAVELINK.SOA-Converter新版本發(fā)布

    接口描述語言轉(zhuǎn)換工具PAVELINK.SOA-Converter(PAVELINK.SOA-Converter-v1.1.2)提供免費試用,
    的頭像 發(fā)表于 12-07 12:11 ?412次閱讀
    PAVELINK.<b class='flag-5'>SOA</b>-Converter新版本發(fā)布

    基于XML語言描述接口實現(xiàn)方法

    電子發(fā)燒友網(wǎng)站提供《基于XML語言描述接口實現(xiàn)方法.pdf》資料免費下載
    發(fā)表于 11-06 10:39 ?0次下載
    基于XML<b class='flag-5'>語言</b><b class='flag-5'>描述</b>的<b class='flag-5'>接口</b>實現(xiàn)方法