創提部落格
希望我們能與您分享和探討成長中的點點滴滴
為什麼Eclipse Iceoryx使用Helix QAC
分享到
一輛現代化的汽車包含超過1億行程式碼。而且,自動駕駛汽車處理感測器資料必須達到10GB/s,才能即時做出對安全至關重要的決策。所有這些數百萬行的程式碼和數千百萬位元組的資料都必須高效地處理,以減少發生故障和錯誤的風險。
因此,汽車軟體發展人員必須為自動駕駛汽車提供安全的進程間通信。這就是Eclipse Iceoryx得以開發的原因,也是Eclipse Iceoryx選擇使用Helix QAC來説明確保自動駕駛汽車軟體的安全性和高品質的原因。
本文將包含如下幾個部分:
• 什麼是中介軟體?
• 什麼是Eclipse Iceoryx?
• Eclipse Iceoryx如何影響ISO 26262?
• Eclipse Iceoryx依靠Helix QAC滿足合規
什麼是中介軟體?
在自動駕駛汽車軟體的開發過程中,“中介軟體”這個術語經常用於描述將感測器、演算法和執行控制器粘合在一起的軟體。
設計能夠在併發操作的感測器和處理單元之間傳輸大量資料,同時滿足嚴格的延遲和運行時要求的中介軟體確是一個挑戰。
為了有效地處理這一挑戰,必須通過刪除任何不必要的拷貝操作以及任務或進程等待時間來優化中介軟體的性能,同時還要保持資料的完整性。
什麼是Eclipse Iceoryx?
傳統中介軟體的工作方式是創建感測器資料的單獨拷貝,提供給每個消耗資源的演算法。這意味著延遲和運行時的出現次數與所提供的資料量成正比。
Eclipse Iceoryx開源專案旨在處理這一挑戰。這是OpenADx計畫的一部分,該計畫由博世(Bosch)、微軟(Microsoft)和其他軟體行業領導者發起,旨在通過開放協作創建一條無縫工具鏈,用於自動駕駛的開發。
Eclipse Iceoryx是一款使用零拷貝共用記憶體方法的中介軟體,該方法針對大型資料進程間通信進行了優化。Eclipse Iceoryx是用現代C++編寫的,將共用記憶體進程間通信(Inter-Process Communication, 簡稱IPC)方法與發佈/訂閱架構、服務發現以及無鎖演算法相結合了。這種獨特的設計使得中介軟體消除了資料傳輸性能瓶頸。
您可以在Eclipse社區網站上閱讀有關其設計的精彩描述。
Eclipse Iceoryx如何影響ISO 26262?
ISO 26262是對汽車行業至關重要的功能安全標準,因為ISO 26262對汽車產品開發並符合其要求非常關鍵。ISO 26262的一個關鍵組成部分是汽車安全完整性等級(Automotive Safety Integrity Levels, 簡稱ASIL)。
Eclipse Iceoryx是專門為符合ISO 26262 ASIL-D而創建的。為了説明實現最高級別的軟體完整性ASIL-D,有必要對程式碼運行靜態分析,以檢查可能導致安全問題的潛在缺陷。
Eclipse Iceoryx的開發人員選擇了適用於C++的Helix QAC來根據MISRA C++、AUTOSAR和CERT C++編碼規範檢查其程式碼。
程式碼靜態分析結果將以一個專案實例上傳到Helix QAC儀錶盤中,以便監測並與專案的貢獻者共用。
通過這種方式,可以很容易地定位和發現編碼缺陷,並保持程式碼庫的正常運行以符合ISO 26262標準,這對於軟體作為公路車輛的一部分運行至關重要。
Eclipse Iceoryx依靠Helix QAC滿足合規
全球十大汽車供應商都依賴包括Helix QAC在內的Perforce靜態程式碼分析方案,説明他們開發複雜的嵌入式軟體,在我們許多人駕駛的汽車中執行安全關鍵功能。
Helix QAC有助於確保程式碼是安全、可靠和相容的。而且,Helix QAC使得應用像MISRA或AUTOSAR這樣的編碼規範更簡便,不妨立刻註冊申請免費試用吧。