云原生在汽車開發(fā)中的應用

文章來源:汽車電子與軟件

云原生在汽車開發(fā)中的應用的圖1

[本文摘自《智能汽車:新一代技術與應用》.姜鴻雷.電子工業(yè)出版社——書中第八章部分內容]



前言

隨著 汽車行業(yè)智能化和網(wǎng)聯(lián)化的加速發(fā)展,以智能座艙、輔助駕駛與自動駕駛、車聯(lián)網(wǎng)為代表的汽車軟件不斷推陳出新。 傳統(tǒng)以ECU為核心面向信號的分布式電子 電氣架構很難滿足智能網(wǎng)聯(lián)時代消費者對汽車的需求,新一代的電子電氣架構朝著集中化的方向演進,將會出現(xiàn)車 載中央計算平臺。 汽車硬件會朝著標品化方向發(fā)展,車輛功能與用戶體驗的差異性依靠車載軟件與云上服務來體現(xiàn),“軟硬件解耦、硬件預埋、軟件升級”將會帶來汽車更長生命周期內的價值持續(xù)釋放。

軟件定義汽車已經(jīng)成為 行業(yè)的共識,但企業(yè)需要構建新的軟件開發(fā)能力來應對軟件定義時代的挑戰(zhàn)。例如,為提高開發(fā)的效率,避免在昂貴且有限的嵌入式平臺上開發(fā),而是采用算力更強大、資源供給更便捷的通用計算平臺;具備敏捷開發(fā)能力,軟件代碼的構建、持續(xù)集成與驗證工作能夠自動執(zhí)行,以便快速驗證,滿足軟件迭代的要求;加強軟件的可移植性,在開發(fā)環(huán)境中編譯的程序需要在不同的嵌入式設備中運行,包括硬件臺架、板卡、車端,避免環(huán)境的差異性帶來代碼重構和重復編譯對研發(fā)效率的降低;海量數(shù)據(jù)的管理包括數(shù)據(jù)存儲、查找、處理,加速AI/ML模型的訓練過程;降低軟件組件之間的相互依賴性,減少軟件升級對其他功能的影響,不同安全要求與實時性要求的軟件相互隔離與獨立;車載軟件代碼量越來越多,要能夠有效管理維護這些代碼,并利用更廣泛的生態(tài)資源與能力共同開發(fā)軟件。


一、云原生技術

云原生是一種基于云端的開發(fā)與部署框架。基于云原生框架和開發(fā)理念的應用被稱為云原生應用。云原生(Cloud Native)是由"Cloud"和"Native"組合而成的詞匯。"Cloud"表示應用程序部署在云環(huán)境中,而"Native"表示應用程序在設計之初就考慮到云環(huán)境,以最佳方式在云平臺上運行,并充分利用和發(fā)揮云平臺的彈性和分布式優(yōu)勢。

隨著對汽車軟件價值的深入挖掘,行業(yè)內外對于"軟件定義"的認知和研發(fā)也越來越深入。在汽車行業(yè)的云原生之路上,不同用戶存在差異,一些傳統(tǒng)車企剛剛起步,而一些則成為了引領者,已經(jīng)在采用新技術方面取得了重要進展。在軟件定義汽車的大背景下,可以觀察到一些顯著的趨勢:

  • 以軟件為核心,將人的需求置于首位,注重提供優(yōu)質的服務體驗。汽車不再只是冷冰冰的機械產(chǎn)品,而是變得更加溫暖人心。

  • 汽車成為一個智能空間,集辦公、娛樂、支付、社交等功能于一體,并且需要滿足個性化需求。

  • 新型車企通過微服務的應用解耦,通過建立服務平臺和利用車聯(lián)網(wǎng)技術,實現(xiàn)多種服務的快速集成和輸出。

  • 軟件的發(fā)展趨勢是向微服務化和容器化方向發(fā)展。

在滿足不同地區(qū)法規(guī)的強制功能要求的同時,一款全新的車型還需要提供數(shù)百個功能選項,而這些選項的可能組合數(shù)量會以幾何倍數(shù)增加。為了應對這些功能配置的要求,需要采用一套可進行大規(guī)模開發(fā)、測試和提供各項功能的方法,以最大程度地降低干擾和相互依賴性。此外,軟件的順利運行也離不開硬件的支持。

汽車軟件功能變得越來越多樣和復雜,也對硬件平臺提出了更高的要求。與消費電子產(chǎn)品兩三年更替的周期不同,汽車的平均使用年限往往更長。這給我們帶來了一個相當具有挑戰(zhàn)性的問題:什么樣的硬件平臺可以提供足夠的靈活性、計算能力和數(shù)據(jù)處理能力,以滿足尚未發(fā)生的復雜場景所需的要求?

答案是軟件定義。軟件定義不僅指由軟件啟動和控制特定功能,還包括對底層硬件的抽象化,以實現(xiàn)相同的軟件在不同的硬件上流暢運行。此外,軟件定義還必須具備不斷升級和更新的能力,并以云端技術為基礎進行開發(fā)和構建。這種軟件定義的方法能夠提供靈活性和適應性,使得車輛能夠適應未來的技術進展和功能需求的變化。通過采用軟件定義的方法,汽車制造商可以更好地應對不斷變化的市場需求,同時提供更多功能選項給消費者。這種方法還可以降低開發(fā)和維護的成本,提高軟件的質量和可靠性,為車輛的整體性能和用戶體驗提供更好的保障。

軟件定義汽車必須滿足以下四個需求:

1、可移植性

軟件必須能夠在不同的硬件平臺上運行,實現(xiàn)同一軟件的跨平臺兼容性。這樣,無論是在不同車型、不同制造商還是不同硬件配置下,軟件都能順利運行,確保功能的一致性和可靠性。

2、云端開發(fā)和升級

軟件必須基于云端技術進行開發(fā)、構建和升級,以實現(xiàn)開發(fā)和維護成本的最小化。通過云端開發(fā)和升級,制造商可以迅速推出新功能和修復軟件缺陷,無需對每輛車輛進行物理更新,提高了開發(fā)效率和用戶體驗。

3、實時性、功能安全和保密性

考慮到汽車行業(yè)的特殊性,軟件必須滿足實時性要求,確保及時響應車輛的各項指令和反饋。同時,軟件必須具備功能安全性,能夠識別和處理潛在的故障和風險,確保車輛和乘客的安全。另外,保護軟件的保密性也至關重要,以防止未經(jīng)授權的訪問和潛在的惡意攻擊。

4、開放式架構

軟件架構必須是開放的,以創(chuàng)造更大的生態(tài)系統(tǒng),使所有人都能參與其中。這樣,不僅汽車制造商和供應商可以共同開發(fā)和集成軟件,還能夠吸引第三方開發(fā)者和合作伙伴加入,共同創(chuàng)造更多創(chuàng)新和豐富的功能。開放式架構還能夠促進軟件的互操作性,提高整體系統(tǒng)的靈活性和可擴展性。

隨著汽車功能的復雜化和多樣化,汽車軟件代碼的規(guī)模也日益龐大。在這種背景下,云原生開發(fā)方式成為推動云基礎設施產(chǎn)業(yè)降低成本、縮短開發(fā)時間的有效途徑。當前,云計算已經(jīng)進入成熟階段,而云原生作為支持數(shù)字化轉型的重要技術,在人工智能、大數(shù)據(jù)、邊緣計算、5G等新興領域展現(xiàn)出巨大的潛力。未來,越來越多的應用將基于云平臺進行本地應用開發(fā),而云計算為云原生應用提供了資源隔離、分布式和高可用性等諸多優(yōu)勢,最大程度地發(fā)揮了云計算的優(yōu)勢。

云原生應用在車企中有一些典型的應用場景:

1、主流的DevOps實踐通常采用微服務化和容器化的方式。

對于汽車行業(yè)的內容提供商和出行服務商來說,無論是語音識別還是天氣、股票等內容的提供,都可以基于云原生的技術和理念進行產(chǎn)品的持續(xù)迭代和更新。

2、車聯(lián)網(wǎng)等數(shù)據(jù)分析和人工智能領域天然適合采用容器化技術。

通過將訓練和推理過程容器化,無狀態(tài)的算法能夠快速得出結論,不僅速度快,還可以節(jié)省資源。因此,與人工智能相關的場景非常適合采用容器和云原生技術棧。通過云原生技術,生產(chǎn)制造的上下游鏈條數(shù)據(jù)分析可以實現(xiàn)業(yè)務全流程的統(tǒng)一化,實現(xiàn)自動化、精細化和智能化的管理。

3、混合多云的車聯(lián)網(wǎng)協(xié)作。

在混合多云的車聯(lián)網(wǎng)場景里,允許應用在各種云上自由流動和遷移。無論應用、中間件部署在什么云上,用戶可以隨意遷移,從一個云廠商遷移到另一個云廠商,且不用修改任何東西。

云原生在汽車開發(fā)中的應用的圖2
云原生應用

云原生技術的應用實現(xiàn)了應用的敏捷開發(fā),顯著提高了交付速度,降低了業(yè)務試錯成本,高效地響應用戶需求,增強了用戶體驗,加速了業(yè)務創(chuàng)新的進程。
當前,汽車行業(yè)正處于變革時期,各個汽車軟件社區(qū)之間存在著競爭和合作的關系。許多汽車軟件社區(qū)正在推動云原生技術在汽車領域的應用。其中,微軟主導的SDV Group、ARM主導的SOAFEE組織等,國內的均勝、東軟、中科創(chuàng)達、映馳科技等公司都已經(jīng)加入了SOAFEE組織,共同致力于推動云原生技術在汽車領域的發(fā)展。

云原生在汽車開發(fā)中的應用的圖3
汽車軟件社區(qū)的合作與競爭



二、 SOAFEE 架構介紹

2021年由Arm和其他創(chuàng)始成員共同宣布成立嵌入式邊緣的可擴展開放架構SOAFEE(Scalable Open Architecture For Embedded Edge)特別興趣小組(SIG),聯(lián)合車廠、半導體公司、軟件公司、云技術的領導企業(yè)共同定義一個新的開放標準架構來實現(xiàn)軟件定義汽車的最低級別技術棧,提供一個參考實現(xiàn),使云原生技術(如微服務、容器和編排系統(tǒng))首次與汽車功能安全相結合,從而保持環(huán)境對等。SOAFEE 的推出旨在解決三大問題:實現(xiàn)軟件在不同芯片解決方案中的復用,輕松實現(xiàn)從云到邊緣的軟件部署,以及將開發(fā)流程往前提,使得開發(fā)者能夠更早開始軟件開發(fā)并在汽車上市后部署軟件更新。

云原生在汽車開發(fā)中的應用的圖4
SOAFEE

在傳統(tǒng)的數(shù)據(jù)中心或服務器端的云端技術無法直接應用于汽車產(chǎn)業(yè)的情況下,汽車對于功能安全和實時性的特殊要求成為了最關鍵的問題。SOAFEE架構通過擴展現(xiàn)有的云端技術,滿足了汽車產(chǎn)業(yè)對于實時性和功能安全的需求。SOAFEE基于Arm Project Cassini中的System Ready開放標準,實現(xiàn)了底層硬件的抽象化。

云原生在汽車領域的架構由以下兩個部分組成:底層是硬件計算平臺,上面是固件(firmware),作為系統(tǒng)軟件與硬件之間的接口。在系統(tǒng)軟件之上,有各種應用和服務,它們在各自獨立的環(huán)境中運行,這些環(huán)境被稱為容器(container)。在基于云原生的系統(tǒng)中,這些容器在云端環(huán)境中進行開發(fā)、測試和驗證,然后通過編排器(Orchestrator)的軟件模塊,為每個容器中的應用和服務配置適當?shù)能浻布Y源,使它們能夠在汽車中執(zhí)行任務。同時,在云端,還有一個持續(xù)集成/持續(xù)交付(CI/CD)模塊負責管理應用和服務的更新。

通過引入云原生的概念和SOAFEE架構,汽車軟件開發(fā)能夠更好地滿足汽車行業(yè)對功能安全和實時性的要求,提高開發(fā)效率并推動業(yè)務創(chuàng)新。

SOAFEE云原生架構通過System Ready開放標準實現(xiàn)了硬件、固件和系統(tǒng)軟件之間接口的統(tǒng)一,達到了第一層的抽象化。同時,通過管理程序(hypervisor)來解決不同操作系統(tǒng)之間共享資源的問題,并利用容器運行時和硬件抽象層(HAL)作為另一層次的抽象化。下圖展示了SOAFEE云原生架構的示意圖。

云原生在汽車開發(fā)中的應用的圖5
SOAFEE 云原生架構

在云端,SOAFEE不僅構建相同的軟件環(huán)境,還構建了虛擬的硬件環(huán)境(Virtual ECU),以確保云端和終端之間的一致性。SOAFEE的重要貢獻是將編排器(orchestrator)改進為能夠處理功能安全和實時需求的軟件模塊。

SOAFEE架構解決方案利用容器的特性,可以針對每個容器配置不同的軟件和硬件資源。例如,將自動駕駛功能和服務放在獨立的容器中,通過編排器(orchestrator),可以配置滿足最高級別功能安全要求的硬件和軟件環(huán)境來為該容器提供服務。另一方面,例如導航,不需要最高級別的功能安全,因為如果這樣功耗會非常大,而且會有應用的冗余設計。針對這樣的容器配置,不需要最高級別的功能安全,通常也不需要使用分核鎖步(split-lock)等機制來支持該容器。因此,不同容器之間存在不同的功能安全需求,這樣就可以構建一個靈活的基礎,并讓編排器(orchestrator)配置適當?shù)能浻布h(huán)境,以滿足這些不同容器的要求,從而實現(xiàn)整個系統(tǒng)的功能安全目標。

當功能和服務在車輛中執(zhí)行時,底層硬件必須提供良好的擴展能力,以應對各種計算處理需求,同時在一定功耗范圍內實現(xiàn)最佳的運行性能。此外,它還必須提供處理實時性、功能安全和保密性的技術。ARM提供的技術完全可以滿足這些要求,因此ARM可以從終端IP技術出發(fā),完善軟件定義汽車的架構,并整合汽車產(chǎn)業(yè)鏈對于軟件定義汽車的需求。SOAFEE涵蓋了各種不同的硬件和IP架構,只要符合軟件之間的標準接口,除ARM以外的硬件架構也可以在SOAFEE上使用。

采用SOAFEE后,車廠和一級供應商的軟件開發(fā)成本將大幅降低。同時,通過不斷推出創(chuàng)新的售后服務,可以為車廠創(chuàng)造新的營收來源。對于IC設計和軟件供應商來說,他們可以更好地實現(xiàn)產(chǎn)品的差異化,并吸引更多的云端應用開發(fā)者參與汽車創(chuàng)新。最終,消費者將享受到更滿意的定制化汽車功能和使用體驗。

此外,傳統(tǒng)汽車的開發(fā)流程需要三到四年的時間,而IC芯片的規(guī)格是三、四年前的標準。SOAFEE架構可以在確定IC規(guī)格之前通過SOAFEE和硬件開發(fā)平臺進行左移開發(fā),從而決定應用和服務的計算需求,降低了規(guī)格不合的風險,并縮短了整個開發(fā)周期。

許多公司已經(jīng)開始使用云平臺來開發(fā)汽車軟件。自SOAFEE推出以來,其成員數(shù)量已經(jīng)翻了兩番,目前已經(jīng)超過50家。這些成員來自汽車供應鏈的各個環(huán)節(jié),涵蓋了芯片供應商、軟件提供商、系統(tǒng)集成商、云服務提供商、OEM廠商以及一級供應商等各個領域。每周都有新的成員加入,進一步擴大了SOAFEE的影響力和合作網(wǎng)絡。如果生態(tài)系統(tǒng)按預期發(fā)展,很多參與者很可能會逐漸轉向SOAFEE。ARM處理器在所有ECU領域都占據(jù)主導地位。一旦主要的OEM、Tier1供應商和主要芯片制造商開始采用具備ARM兼容性的系統(tǒng)和軟件,SOAFEE將成為事實上的標準。SOAFEE將成為未來汽車生態(tài)系統(tǒng)中不可或缺的重要組成部分,為汽車軟件開發(fā)提供了創(chuàng)新的解決方案。


三、Eclipse Software Defined Vehicle Working Group介紹

2022年3月,Eclipse基金會在其官網(wǎng)宣布成立軟件定義汽車工作組。工作組的核心成員有在全世界開發(fā)軟件最多的Microsoft、世界上最大開源基金會之一的Eclipse,以及全球汽車零部件Top5中的三家:Bosch、ZF和Conti。

Eclipse SDV 工作組專注于使用開源和開放式規(guī)范,加速車規(guī)級車載軟件棧的創(chuàng)新。該工作組為個人及組織(包括埃森哲、Arm、博世集團、CARIAD、大陸集團、微軟、恩智浦半導體、SUSE、豐田汽車和采埃孚公司)提供了一個論壇,以此構建和推廣所需的開源軟件、規(guī)范和開放協(xié)作模式,從而創(chuàng)建一個可縮放、模塊化、可擴展、業(yè)界即用型且采用開放式許可證的汽車軟件平臺,支持車載與車輛周圍應用程序的開發(fā)和部署。

SDV相關項目以“代碼優(yōu)先”的方法為重點,致力于構建行業(yè)首個開源軟件堆棧和相關工具,以支持新型汽車的核心功能。SDV工作組認為,這種方法將更快地對行業(yè)產(chǎn)生實質性的影響。由博世、Microsoft、大陸、采埃孚、Cariad、埃森哲和Eteration等領導者領導的這些新項目,已經(jīng)向任何希望利用它們進行自己車輛開發(fā)的組織提供他們的軟件。

為了支持軟件定義汽車的轉型,來自技術行業(yè)和汽車行業(yè)的主要參與者正積極開發(fā)開源車載應用程序運行時堆棧、基于云的車輛操作系統(tǒng)以及高度集成的開發(fā)工具鏈。開源軟件定義汽車計劃旨在為不同車型、產(chǎn)品線、品牌、組織和時間段的車載軟件提供可用的開源代碼。這將極大地加速創(chuàng)新速度、生產(chǎn)速度以及以軟件為核心的車輛規(guī)模化生產(chǎn)能力,顯著降低新車設計的復雜性,同時提高效率。行業(yè)參與者能夠專注于創(chuàng)新,同時在實時操作系統(tǒng)、中間件層的特定部分或通信協(xié)議等非差異化元素上節(jié)省時間和成本,從中獲益。

Eclipse SDV目前已經(jīng)進行了32個項目,下面簡要介紹下Eclipse SDV的Velocitas和Kuksa項目。Eclipse Velocitas 是提供端到端、可擴展、模塊化和開源的開發(fā)工具鏈,用于創(chuàng)建容器化和非容器化車載應用程序。

云原生在汽車開發(fā)中的應用的圖6
Eclipse Velocitas

Eclipse Velocitas的特點:

  • 通過命令行界面更新車載應用程序存儲庫的項目生命周期管理。

  • 車輛抽象支持通過在代碼級別使用生成的車輛模型,提供類型安全和自動完成的方式,以便專注于業(yè)務邏輯。車輛模型是從標準化的API生成的,它隱藏了車輛特定信號和電氣/電子架構的細節(jié),使得車載應用程序可以在不同的電子和軟件架構之間進行移植。

  • Microsoft Visual Studio Code與DevContainer的集成幫助快速安裝啟動本地開發(fā)所需的一切,而任務和啟動配置則有助于啟動運行時服務、其他應用程序和測試。

  • 車載應用程序的骨架和示例有助于理解如何使用KUKSA.VAL運行時服務編寫車載應用程序。

Eclipse Kuksa開源項目主要功能之一是將車輛數(shù)據(jù)和接口抽象為基于車輛信號規(guī)范等的通用格式。VAL是Kuksa項目的核心組件,它主要負責將車內各種非標準格式的數(shù)據(jù)映射并轉換為統(tǒng)一的VSS標準數(shù)據(jù)格式,同時提供各種標準接口與外部進行交互。

云原生在汽車開發(fā)中的應用的圖7
Kuksa.VAL的系統(tǒng)架構

  • 即用型的CI/CD工作流程可以構建(針對多種架構)、測試、文檔化和部署容器化的車載應用程序,而且無需依賴于電氣/電子架構,從而節(jié)省了設置時間。

在汽車供應鏈的各個環(huán)節(jié)中,包括芯片供應商、軟件提供商、系統(tǒng)集成商、云服務提供商、OEM廠商和一級供應商的共同推動下,云原生技術在汽車領域的應用將迎來加速發(fā)展。通過改進軟件的開發(fā)、構建、管理和更新方法,大幅提高整個汽車軟件系統(tǒng)開發(fā)的效率,同時降低了開發(fā)和維護成本,進一步加速了軟件定義汽車時代的到來。


參考文獻:

[1] 宋珂. AUTOSAR規(guī)范與車用控制器軟件開發(fā). [M].  化學工業(yè)出版社. 2019-01

[2] 中國汽車基礎軟件生態(tài)委員會. 車載SOA軟件架構技術規(guī)范1.1. [R].  2021-09

[3] Dr. Joachim Schlosser. Why Scrum for embedded software. [R]. 2020-07

[4] Stefan Wagener.Jochen M?ller.Christof Menzenbach. How high-performance computers shape the user experience in the cockpit of the future. [R].

[5] JASPAR Next Generation High-Speed Network WG. What is the conqueror in the SOA platform for the future in-vehicle networks? [R]. 2021-06

[6] ARM. How the SOAFEE Architecture Brings A Cloud-Native Approach To Mixed Critical Automotive Systems. [R]. 2021-09

[7] Jochen Steuerwald. A tool and workflow approach for automotive ECUs using AUTOSAR Classic. [R].2020-06

[8] Steffen Kuhn. Combined application of agile practices and functional safety in automotive software development. [R]. 2020-10

[9] STEVE HOWARD.JILL BRITTON. Claiming Compliance for Coding Standards. [R].

[10] Trista Lin.David Fernandez Blanco.Juleixis Guariguata. Communication Management in Automotive Service Oriented Architectures. [R]. 2021-11

[11] dSPACE Inc. The future of agile software development and validation for autonomous vehicles. [R]. 2021

[12] Oded Mann.Amit Shah. Future E/E vehicle architectures and the shifting goal post for mainstream OTA adoption. [R]. 2021-10

[13] W3C.GENIVI. Service Oriented Architecture is coming to your vehicle program. [R].2021-04

[14] Anders Kallerdahl. How can we design and configure systems where Adaptive and Classic AUTOSAR co-exist? [R]. 2020-11

[15] Christian G?tz. How to Build a Reliable Connected Car Platform with MQTT. [R]. 2020-02

[16] Robert Bosch. INTRODUCTION TO ECLIPSE ICEORYX [R]. 2020-02

[17] Vikrant Bhangay.Shehan P R.Renjith G. Modern day eCockpit Architecture-Approaches & Challenges. [R]. 2020-04

[18] 中國汽車工業(yè)協(xié)會. 軟件定義汽車服務API.  

[19] Omkar Panse. Service oriented architecture for software driven vehicles.

[20] ARM. Scalable Open Architecture For the Embedded Edge. [R]. 2021

[21] David Rush.Erich Meier. The Future of Work Digital Transformation in Engineering. [R].2021

[22] Rensas.Opensynergy. Implement virtual I/O device(virtio) standard. [R]. 2021

[23] 龔小平. 基于模型設計開發(fā)面向服務的應用. [R].  2021-05

[24] (法)尼古拉斯·納威特,(法)弗朗西斯·西蒙-萊昂. 汽車嵌入式系統(tǒng)手冊. [M].  機械工業(yè)出版社. 2016-01

[25] 汪珺. 汽車行業(yè)的IT數(shù)字化轉型——DevOps. [R].  2022-01

[26] 楊國梁. 通過Shift Left 提高汽車軟件競爭力. [R]. 2021-04

[27] 云原生產(chǎn)業(yè)聯(lián)盟. 云原生發(fā)展白皮書. [Z].  2020-07

[28] 中國汽車工業(yè)協(xié)會. 中國汽車基礎軟件發(fā)展白皮書 2.0. [Z].  2021-09

[29] 楊世春. 自動駕駛汽車平臺技術基礎. [M].  清華大學出版社. 2020-06

[30] 肖猛. 自動駕駛軟件架構之中間件與SOA. [R].  2021-10

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP