【ZiDongHua 之“汽車產(chǎn)業(yè)鏈”收錄關(guān)鍵詞: 新思科技 數(shù)字孿生 汽車行業(yè)】
  
  Rust上車新趨勢!看新思科技如何無縫驗證更安全的智能汽車軟件
  
  汽車軟件正在迅速發(fā)展,其復(fù)雜性、安全性要求以及對高效開發(fā)流程的需求與日俱增。在這一背景下,虛擬ECU(vECU)成為加速開發(fā)和驗證的關(guān)鍵工具,而將Rust語言集成進AUTOSAR Classic環(huán)境則為行業(yè)帶來了寶貴的新可能。雖然在全新項目中使用Rust看似簡單,但將其整合到現(xiàn)有基于C語言的AUTOSAR Classic軟件棧中,將更具現(xiàn)實意義和實用價值。這是因為現(xiàn)有的、經(jīng)過系列驗證的汽車軟件堆棧通常以C代碼實現(xiàn),而將這些堆棧移植到Rust需要承擔(dān)高昂的完全重寫成本。此外,由于對供應(yīng)鏈的依賴性,這項工作十分復(fù)雜,而且并非所有場景都需進行此類遷移,因此其商業(yè)可行性仍有待考量。Rust與C語言的互操作性為這一難題提供了巧妙的解決方案,可以在保留AUTOSAR Classic堆棧的主要部分(如RTE、BSW和MCAL)的同時,用Rust實現(xiàn)新的AUTOSAR軟件組件(SWC),或者將現(xiàn)有的AUTOSAR SWC逐步從C語言遷移到Rust代碼。
  
  這種混合方法使開發(fā)者能夠在AUTOSAR Classic項目中發(fā)揮Rust的價值,同時保持現(xiàn)有的開發(fā)工作流程。在vECU開發(fā)中,與新思科技Silver™等市場領(lǐng)先的工具相結(jié)合時,這種靈活性顯得尤為重要。通過支持在AUTOSAR Classic項目中使用Rust SWC,Silver為在混合編程語言環(huán)境中進行更安全、更快速的汽車軟件開發(fā)開辟了可能。
  
  Rust在汽車領(lǐng)域的應(yīng)用:挑戰(zhàn)與現(xiàn)狀
  
  多年來,AUTOSAR Classic環(huán)境下的軟件開發(fā)完全依賴于C語言。雖然C語言的性能優(yōu)越,但Rust在性能相當(dāng)?shù)那闆r下,通過內(nèi)置支持來避免某些類型的內(nèi)存相關(guān)漏洞(如越界讀/寫),從而降低了任務(wù)關(guān)鍵型應(yīng)用程序的風(fēng)險。從本質(zhì)上講,C語言中與內(nèi)存相關(guān)的漏洞往往難以察覺,在某些情況下甚至可能永遠無法被發(fā)現(xiàn)。對于需要遵守ISO 26262和ISO 21448等標(biāo)準(zhǔn)的安全關(guān)鍵型系統(tǒng)來說,這無疑是一個嚴(yán)峻的挑戰(zhàn)。值得一提的是,內(nèi)存相關(guān)漏洞通常占安全漏洞的很大一部分,這也進一步凸顯了問題的嚴(yán)重性[1, 2, 3, 4]。
  
  Rust在汽車行業(yè)的優(yōu)勢已得到廣泛認(rèn)可,因此AUTOSAR聯(lián)盟于2022年在其安全工作組中啟動了對Rust在AUTOSAR Adaptive中應(yīng)用的研究[5]。2023年11月,AUTOSAR聯(lián)盟在R23-11版本中發(fā)布了如何用Rust編寫AUTOSAR Adaptive應(yīng)用程序的初步提案[6],這突顯了Rust在基于POSIX的軟件棧中的相關(guān)性 。Rust優(yōu)勢顯而易見。例如,得益于內(nèi)置的所有權(quán)系統(tǒng)和借用規(guī)則,Rust可以避免多線程AUTOSAR Adaptive應(yīng)用程序中的并發(fā)錯誤。鑒于Rust已在AUTOSAR Adaptive中展現(xiàn)出的顯著優(yōu)勢,將其用于實現(xiàn)AUTOSAR Classic SWC也是順理成章的事。
  
  虛擬ECU和Rust:強大的組合
  
  虛擬ECU的重要性
  
  虛擬ECU(vECU)徹底改變了汽車行業(yè)的軟件開發(fā)和測試。通過在虛擬環(huán)境中模擬物理ECU的行為,可以在無需依賴物理硬件的前提下,更快地開發(fā)和驗證軟件。這樣,即使沒有硬件,也可以提前啟動軟件開發(fā)和測試。此外,以SDV為核心的流程(如CI/CD)可以在整個開發(fā)周期中充分利用虛擬ECU,從而更快地獲得代碼更改后的預(yù)期結(jié)果。如同Silver這樣的市場領(lǐng)先的軟件,構(gòu)建了虛擬ECU,使其基于AUTOSAR Classic平臺的軟件開發(fā)與驗證得以加速。
  
  Rust在Level 1層級vECU中的作用
  
  2024年,新思科技發(fā)布了一份全面的白皮書[7],介紹了AUTOSAR Classic和基于POSIX的軟件棧的vECU級別分類。新思科技Silver可以生成Level 1-Level 3 vECU,而本文主要聚焦于AUTOSAR Classic Level 1 vECU。新思科技Silver Level 1 vECU提供了一個虛擬化的AUTOSAR Classic RTE,可以在典型主機或云端的軟件在環(huán)(SiL)仿真中運行AUTOSAR Classic SWC,因此目標(biāo)機不需要AUTOSAR Classic軟件?;蛭锢碛布闹С帧TE由Silver根據(jù)AUTOSAR XML文件生成,這一過程與真實ECU的AUTOSAR Classic工作流程完全一致。用Rust實現(xiàn)AUTOSAR Classic SWC時,RTE生成過程確保了Rust SWC能夠訪問RTE的C語言接口。因此,根據(jù)所提供的規(guī)范,通過新思科技Silver調(diào)度和執(zhí)行可運行實體,可以實現(xiàn)RTE與仿真中其他SWC的通信。下圖為將Rust SWC集成到Level 1級vECU的高層架構(gòu),展示了如何通過新思科技Silver生成的RTE與基于C語言的SWC進行通信。
 
  
  新思科技繼續(xù)引領(lǐng)技術(shù)發(fā)展,推動在SiL仿真中驗證Rust SWC
  
  Rust在汽車行業(yè)越來越受歡迎。最近,多家主流汽車量產(chǎn)軟件供應(yīng)商已經(jīng)宣布,支持將基于Rust的SWC集成到現(xiàn)有基于C語言的AUTOSAR Classic軟件棧中,具體示例請見參考資料[8]。
  
  新思科技作為汽車測試和仿真領(lǐng)域的市場領(lǐng)導(dǎo)者,正與首批標(biāo)桿客戶合作,通過SiL仿真驗證基于Rust的軟件。本文概述了新思科技Silver如何通過生成虛擬RTE的Level 1 vECU,對基于Rust的AUTOSAR Classic SWC進行了驗證。展望未來,相關(guān)用例還將持續(xù)涌現(xiàn),共同為Rust在汽車行業(yè)的廣泛應(yīng)用鋪平道路。
  
  歡迎大家關(guān)注新思科技服務(wù)號,解鎖更多資訊和福利!
  
  #電子數(shù)字孿生 #汽車