序
不知道什么時候開始,SOA為標(biāo)題的文章遍布各大公眾號和媒體。
說到軟件定義汽車,我們就很難不聽到這幾個詞,一個是zone或者zonal,也就是域控制器的域,一個是SOA,就是基于服務(wù)的架構(gòu),那說到基于服務(wù)的架構(gòu),然后會說到autosar的CP和AP,說到autosar的AP,就會看到一個詞,叫做SOME/IP。
所以說大家到底在講什么?其實(shí)歸根結(jié)底是在說三個東西,一個是整車電子架構(gòu),一個是軟件架構(gòu),一個是通訊。
那這些新東西是怎么出來的呢,我在網(wǎng)上看到一句話我覺得概括得非常準(zhǔn)確,就是“通過為用戶提供更多的價值,從而達(dá)到用戶持續(xù)與OEM進(jìn)行價值交換的目的“。
懂的都懂。雖然從汽車這個產(chǎn)品的角度大家看到的是電子架構(gòu)的演化、軟件架構(gòu)的變革,但實(shí)際上它背后的驅(qū)動也很清楚,是因?yàn)殡S著汽車這個產(chǎn)品的成熟和普及,傳統(tǒng)車的利潤被壓縮,大家想通過軟件功能的增加,提高產(chǎn)品的價值,來創(chuàng)造更多的價值交換。這又涉及到,因?yàn)镺EM要設(shè)計(jì)軟件,就需要把一些以前是供應(yīng)商的工作放到內(nèi)部來做。
那研發(fā)層面來說,要求工程師從新的角度去審視開發(fā)和產(chǎn)品,對工程師的能力要求變了,客戶思維、系統(tǒng)工程等等比如說我們看到其實(shí)都是在為軟件定義汽車這個東西打鋪墊。
一
我們先來看兩個概念,說SDV是什么,網(wǎng)上有很多定義,我摘抄了一個,就是說軟件將深度參與到汽車的定義、開發(fā)、驗(yàn)證、銷售、服務(wù)等過程中,實(shí)現(xiàn)體驗(yàn)持續(xù)優(yōu)化、過程持續(xù)優(yōu)化、價值持續(xù)創(chuàng)造。那大白話其實(shí)就是軟件在汽車上越來越重要了。
那這個越來越重要具體體現(xiàn)在哪里呢,
從三個方面來看,
一個是創(chuàng)新,我們說行業(yè)的行業(yè)發(fā)展靠創(chuàng)新來推動,那汽車的創(chuàng)新在哪里呢,有預(yù)測說未來汽車一半的創(chuàng)新會是汽車軟件的創(chuàng)新;
第二個是開發(fā)成本,就說到2030年,軟件的開發(fā)成本會占到整車開發(fā)成本的一半;
還有一個是整車成本,到30年,軟件成本會占到整車成本的一半;
也有說一輛車的價格中軟件要占到60%以上。
那SOA又是什么東西呢?
SOA是一個IT的概念,而且是在好幾年前已經(jīng)提出了(1996年,權(quán)威的IT研究與顧問咨詢公司Gartner提出),那它不是一種具體的技術(shù),而是一種架構(gòu)策略層面的指導(dǎo)思想。對于SOA來說有兩個很重要的概念是服務(wù)和接口。
既然SOA是一個IT行業(yè)的概念,那它為什么這兩年在汽車行業(yè)忽然火了?
汽車發(fā)展的愿望,我總結(jié)了一下其實(shí)就是多快好省四個字,多是功能多,快是快速滿足市場新需求,好是新車好新體驗(yàn),老車新體驗(yàn),持續(xù)用戶價值,省是更低的開發(fā)成本和物料成本。
那SOA推動了什么趨勢呢?解耦,快速開發(fā),兩者一拍即合。
我們之前早期的時候應(yīng)用軟件和底層是強(qiáng)耦合的,到后來應(yīng)用軟件和基礎(chǔ)軟件解耦了,應(yīng)用SOA之后其實(shí)是進(jìn)一步提高了,因?yàn)樗鼘η度胧綉?yīng)用軟件的接口(即服務(wù)接口)進(jìn)行了標(biāo)準(zhǔn)化。
與硬件和底層解耦后,汽車應(yīng)用軟件的開發(fā)和交互靈活性大大提高,將汽車變成一部隨時可下載軟件的智能手機(jī)。所以說SOA推動的趨勢與汽車的發(fā)展愿望充分一致。
二
介紹了概念,我們再來看SOA的應(yīng)用。
要在車上實(shí)現(xiàn)SOA,必須要通過三個東西,分別是SOC、SORS和SOSA,也就是基于服務(wù)的電子架構(gòu)、軟件架構(gòu)和通訊。
首先我們來看第一個SORS,它是基于下一代電子架構(gòu)而進(jìn)行的服務(wù)實(shí)現(xiàn)并體現(xiàn)服務(wù)復(fù)用性設(shè)計(jì)工作。
這里我們就有一個問題,那當(dāng)前的架構(gòu)不能支持SOA嗎?
這個地方有幾個困難,第一個是算力,第二個是通信,第三個其實(shí)是前面兩個的總和,就是服務(wù)的管理。
那一個支持服務(wù)的架構(gòu)有什么特點(diǎn)呢
首先它一定是有一個高性能、多資源的中央節(jié)點(diǎn),然后它的控制器的數(shù)量肯定會比現(xiàn)在大大減少。
那電子架構(gòu)對開發(fā)會有什么影響呢?
舉個例子,之前車展上吸引很多人的車子的跳舞模式。
假如在我們現(xiàn)在的架構(gòu)做,我們可能在ICI上放一個交互的應(yīng)用,要實(shí)現(xiàn)的話至少要在BCM和ECM中放邏輯,分別實(shí)現(xiàn)車門車燈的控制和車的運(yùn)動。
但假如說是SOA的架構(gòu),我們只要把功能邏輯都放在ICI或者任意一個模塊,然后去調(diào)用相關(guān)的服務(wù)就可以了。
這里隨之而來的問題是,那這些服務(wù)是哪里來的或者說是什么時候設(shè)計(jì)的?
一旦我們有這個基于服務(wù)的架構(gòu)之后,會給開發(fā)帶來很明顯的變化,在我們傳統(tǒng)的開發(fā)模式中我們要新增一個功能要很早提CR,并且影響很大。
但是基于新的架構(gòu),假如前期架構(gòu)具有足夠的前瞻性,我們就能基于基于服務(wù)庫輕松地開發(fā)新功能,并通過OTA部署到車端。而且這個開發(fā)新功能的過程不是主機(jī)廠才能做,而是任何被授權(quán)的第三方都可以。
那我們在什么階段做這個基于服務(wù)的設(shè)計(jì)呢,很明顯即使在前期設(shè)計(jì)階段
首先,我們怎么知道有哪些服務(wù)呢?
大致有兩種途徑,
一種是自下而上的,就是從我們車上有哪些硬件,能夠提供哪些功能和數(shù)據(jù),匯總出來我們可以有哪些服務(wù)。比如說輪速傳感器采集到的數(shù)據(jù)通過處理就可以提供車速服務(wù)。另一種是自上而下,我們熊整車功能和算法中把服務(wù)抽取出來。
具體是怎么設(shè)計(jì),服務(wù)包的大小,都需要前期統(tǒng)一的規(guī)劃。
所以我們可以看到,在這個過程中,服務(wù)的規(guī)劃和拆分非常重要,總原則就是高內(nèi)聚和低耦合。
三
說完了整車電子架構(gòu),我們來說軟件架構(gòu),這里我們說應(yīng)用軟件的變化
我們當(dāng)前應(yīng)用軟件開發(fā)大概是左邊的樣子,就是我們有了需求,然后知道軟件要完成哪些動作,把這些動作分一分,每個動作由哪個單元來實(shí)現(xiàn),然后出來一個架構(gòu)。但是SOA之后我們可能要先做一個事情就是一個服務(wù)的分析和設(shè)計(jì),我這個功能需要哪些服務(wù)的組合,然后搭建一個對應(yīng)的架構(gòu)。
四
我們前面在不斷地說服務(wù)這個東西,說服務(wù)的抽取和打包,但還有一個很關(guān)鍵的點(diǎn)就是通訊。
我們現(xiàn)在有這么多服務(wù)和功能,有個很關(guān)鍵的點(diǎn)就是大家要能交互起來那大家怎么調(diào)用服務(wù),又怎么交流呢?
所以我們還需要SOC,SOC的關(guān)鍵點(diǎn)是統(tǒng)一的接口和協(xié)議。
那這個時候我們就會問了,你怎么知道我什么時候需要這個服務(wù)呢?
所以它又定義了四種通訊的形式
我們來看一個例子,ADAS和高精地圖之前的交互就是典型的eventgroups。
五
講了半天那哪些功能適合用SOA?
一類是以汽車以太網(wǎng)作為主要通信協(xié)議的功能-海量數(shù)據(jù),如:
自動駕駛或駕駛輔助的視頻流信息:各角度攝像頭獲取的視頻及解析出來的信息;
車內(nèi)影音娛樂信息:比如音視頻播放、IVI/副駕及后座娛樂系統(tǒng)互動、導(dǎo)航等圖像信息傳輸、收音機(jī)、CD等功能;
診斷及刷寫功能:在CAN及Eth都已經(jīng)是以服務(wù)的方式實(shí)現(xiàn);
一類是與車外互聯(lián)網(wǎng)實(shí)現(xiàn)互聯(lián)互通的功能-強(qiáng)交互更新,如:
獲取車載攝像頭的信息,比如通過手機(jī)遠(yuǎn)程獲取車輛周圍環(huán)境;
獲取車輛運(yùn)行狀態(tài)信息,比如云端獲取車輛的駕駛習(xí)慣;
遠(yuǎn)程控制車輛舒適性設(shè)備,比如通過手機(jī)遠(yuǎn)程打開車輛空調(diào);
遠(yuǎn)程控制車輛安全性設(shè)備,比如通過手機(jī)為代駕遠(yuǎn)程開鎖與啟動車輛運(yùn)行;
結(jié)
電動化智能化不可避免,汽車工程師一定是站在這個浪潮中,感受行業(yè)的變化,哪怕沒有SOA,也會有SOBSOC,汽車的電子架構(gòu)和軟件架構(gòu)一定會不斷地變化,作為一個功能的開發(fā)者,對于功能的內(nèi)容和邊界要有清晰的規(guī)劃和把控力,顯得更為重要。