汽車導航 汽車導航
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
幣安下載官方app安卓歐意交易所APP下載
一区二区三区视频