本文主要講解了針對(duì)汽車電子電氣架構(gòu)領(lǐng)域掀起的這股SOA風(fēng)潮是由什么導(dǎo)致的?SOA是什么?SOA帶來(lái)什么好處?又應(yīng)怎樣實(shí)施SOA呢?
身處汽車行業(yè)的我們,一定深知新技術(shù)的應(yīng)用或者新概念的提出絕不會(huì)事出無(wú)因,通常是為了搶奪新技術(shù)高地,讓汽車更好滿足現(xiàn)在和未來(lái)的需求。那么,針對(duì)汽車電子電氣架構(gòu)領(lǐng)域掀起的這股SOA風(fēng)潮是由什么導(dǎo)致的?SOA是什么?SOA帶來(lái)什么好處?又應(yīng)怎樣實(shí)施SOA呢?
一、為什么汽車要上SOA?
老車新體驗(yàn),快速滿足市場(chǎng)需求
必須打破車內(nèi)靜態(tài)交互模型
車輛內(nèi)部控制器通過(guò)傳統(tǒng)總線連接,從而實(shí)現(xiàn)通信交互,但是信號(hào)的收發(fā)關(guān)系和路由信息通常是靜態(tài)的、不可再更改的,如果后期突然新增節(jié)點(diǎn),改矩陣和路由表?再如果車輛上市后想新增一個(gè)功能到某個(gè)控制器,OTA可以將軟件包本身下載到該控制器,但這個(gè)新“朋友”怎樣從其他節(jié)點(diǎn)獲得所需信息呢?
必須建立功能靈活治理的系統(tǒng)架構(gòu)
OTA是目前解決車輛在線升級(jí),持續(xù)提高用戶用車體驗(yàn)的好方法,一個(gè)功能一個(gè)盒子的時(shí)代已經(jīng)過(guò)去了,但…OTA僅僅是途徑,車輛的電子電氣架構(gòu)和軟件設(shè)計(jì)架構(gòu)能否支持得起功能更新呢?如果一個(gè)新增功能的實(shí)現(xiàn),與車輛原有的系統(tǒng)架構(gòu)、驅(qū)動(dòng)方式甚至通信方式不匹配,甚至相沖突,肯定是不可行的。那么應(yīng)該怎樣解決呢?
萬(wàn)物互聯(lián),汽車要進(jìn)物聯(lián)網(wǎng)
汽車在不久的將來(lái)會(huì)在互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、能源物聯(lián)網(wǎng)中都占有重要的地位,那么汽車必須具備開放性、網(wǎng)聯(lián)性甚至自主性和自進(jìn)化性,自動(dòng)駕駛、V2X、邊緣計(jì)算都是目之可見的應(yīng)用場(chǎng)景,電子電氣架構(gòu)和軟件平臺(tái)架構(gòu)在面對(duì)這樣需求的時(shí)候,應(yīng)如何處理?
已有的電子電氣架構(gòu)及相應(yīng)的解決方案,很難對(duì)應(yīng)并且解決目前汽車所遇到的挑戰(zhàn),需要新的方法論來(lái)打破僵局,于是SOA的車載運(yùn)用作為解決方案被提了出來(lái)。
二、為什么說(shuō)SOA=SOME/IP的話,就低估了整件事?
先說(shuō)說(shuō),什么是SOA(Service-Oriented Architecture)呢?
BEA資深SOA架構(gòu)師Jeff Davies在其《SOA權(quán)威指南》中說(shuō)到, SOA不是一種具體的技術(shù),而是一種架構(gòu)策略層面的指導(dǎo)思想。
OASIS(結(jié)構(gòu)化信息標(biāo)準(zhǔn)促進(jìn)組織)給予出的SOA定義“SOA是一個(gè)范式,以達(dá)到組織利用處于不同所有權(quán)范圍控制下的分布式系統(tǒng)。”
百度百科告訴我們,面向服務(wù)的架構(gòu)(SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))進(jìn)行拆分,并通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。
SOA的概念出自IT界,然而也還沒(méi)有大家公認(rèn)的定義,但是SOA的目標(biāo)及其應(yīng)具有的特性卻是清晰明了的:
目的:
構(gòu)建靈活可變的平臺(tái)系統(tǒng)
特性:
服務(wù)間 松耦合,無(wú)狀態(tài)、無(wú)依賴
服務(wù)內(nèi) 高內(nèi)聚且完整,可復(fù)用、可靈活重組
服務(wù)通信標(biāo)準(zhǔn)化
從中我們看到SOA實(shí)現(xiàn)重點(diǎn)在于:
服務(wù)通信標(biāo)準(zhǔn)化,即面向服務(wù)的通信(SOC,Service-Oriented Communication)
以服務(wù)重用、靈活重組為目的的服務(wù)劃分,即基于服務(wù)的復(fù)用共享式設(shè)計(jì)(SORS,Service-Oriented Reuse-shared Design)
還有一個(gè)隱形的重點(diǎn),就是用于承載和適配SOC和SORS的軟件實(shí)現(xiàn),即基于服務(wù)的軟件架構(gòu)(SOS,Service-Oriented Software Architecture)
在車載環(huán)境中,SOME/IP基本解決了SOC,但SORS呢?SOS呢??jī)H有SOC的SOA是沒(méi)有靈魂的,是不完整,也不可能實(shí)現(xiàn)SOA的目標(biāo),故而,若認(rèn)為SOA=SOME/IP的話,你真的低估了SOA。
圖1 SOA示意圖
三、v-SOA怎么實(shí)現(xiàn)呢?
v-SOA:vehicle SOA,即應(yīng)用在車輛上的SOA 。SOA在IT領(lǐng)域基本是基于以太網(wǎng)實(shí)現(xiàn)的,車載環(huán)境下最優(yōu)的實(shí)現(xiàn)方式應(yīng)該是繼承成熟的技術(shù)和實(shí)現(xiàn)思路,好在車載以太網(wǎng)發(fā)展至今也有了幾年的積累,國(guó)內(nèi)自主研發(fā)應(yīng)用以太網(wǎng)技術(shù)的新一代車型,已經(jīng)陸續(xù)量產(chǎn)發(fā)售了,站在車載以太網(wǎng)的肩膀上去實(shí)現(xiàn)SOA,無(wú)疑是一種不錯(cuò)的選擇。聚焦于汽車電子來(lái)說(shuō),可以從SOC(Service Oriented Communication)、SORS(Service-Oriented Reuse-shared Design)和SOS(Service-Oriented Software Architecture)的介紹v-SOA的實(shí)現(xiàn)。
SOC(Service Oriented Communication)
SOC主要為了實(shí)現(xiàn)通信標(biāo)準(zhǔn)化,動(dòng)態(tài)建立通信關(guān)系,連接信息孤島。車載以太網(wǎng)協(xié)議架構(gòu)中的SOME/IP就是基于SOA思想定義的通信中間件,熟悉SOME/IP(Service-Oriented MiddleWare over IP)的小伙伴會(huì)知道,SOME/IP是針對(duì)車載環(huán)境定義一套通信協(xié)議,出自AUTOSAR,可以達(dá)到屏蔽系統(tǒng)異構(gòu)性,實(shí)現(xiàn)互操作的目的,所以,就實(shí)現(xiàn)SOC而言,我們完全能夠通過(guò)SOME/IP來(lái)完成(當(dāng)然SOC并非僅能通過(guò)SOME/IP來(lái)實(shí)現(xiàn),在滿足一些前提條件時(shí),其他傳輸協(xié)議也可以使用,例如DDS等)。
通信行為:SOME/IP吸收了RPC機(jī)制,順利地繼承了Server-Client的模型,SOME/IP Service Discovery可以讓Client靈活可靠的找到Server,并訂閱感興趣的服務(wù)內(nèi)容,Client可以用Request-Response、Fire&Forget的模型訪問(wèn)Server所提供的Services;Server可以利用Notification推送給Client已經(jīng)訂閱的服務(wù)內(nèi)容。由于以太網(wǎng)采用交換機(jī)的組網(wǎng)方式,拓?fù)鋬?nèi)以太網(wǎng)節(jié)點(diǎn)的交互能夠二層轉(zhuǎn)發(fā),網(wǎng)內(nèi)節(jié)點(diǎn)可以動(dòng)態(tài)的建立服務(wù)提供與消費(fèi)的關(guān)系,不依賴于其他額外的機(jī)制和組件。例如,訂閱機(jī)制,高精地圖Server向外提供高精地圖數(shù)據(jù)(Offer Service),ADAS控制單元想要訂閱其車道線相關(guān)信息(Subscribe EventGroup),高精地圖Server同意其訂閱請(qǐng)求(Subscribe EventGroup Ack),而后Server開始發(fā)布高精地圖的車道線數(shù)據(jù)給ADAS控制單元。再如,請(qǐng)求與響應(yīng)機(jī)制,HU想要獲取DVR內(nèi)存信息,此時(shí)DVR是Server,HU是client,由HU向DVR發(fā)出request,DVR收到請(qǐng)求后,根據(jù)自身當(dāng)前狀態(tài),回復(fù)response。
圖2 SOME/IP通信示例
服務(wù)接口描述:統(tǒng)一的服務(wù)接口描述是跨系統(tǒng)通信的重要組成,SOME/IP有自己的一套序列化原則,系統(tǒng)設(shè)計(jì)階段要基于SOME/IP提供的數(shù)據(jù)類型,統(tǒng)一設(shè)計(jì)服務(wù)接口描述,例如下表,還要進(jìn)一步定義尋址信息等。
SORS(Service-Oriented Reuse-shared Design)
當(dāng)前整車架構(gòu)多處于分布式階段(如下圖1所示),車內(nèi)所有具備以太網(wǎng)通信能力的節(jié)點(diǎn)離散的掛在網(wǎng)關(guān)上,沒(méi)有域控制器、中央型處理器或者高性能處理節(jié)點(diǎn)等概念。如此實(shí)現(xiàn)SOC是沒(méi)有問(wèn)題的,但是以此實(shí)現(xiàn)SOA是有困難的,原因是功能太分散,每個(gè)節(jié)點(diǎn)的資源由于初期規(guī)劃功能簡(jiǎn)單而不可能預(yù)留豐富的資源供量產(chǎn)后新增功能使用和消耗,故很難在此基礎(chǔ)上實(shí)現(xiàn)功能重構(gòu),這也是為什么會(huì)有下一代電子電氣架構(gòu)(e.g Domain、Zone,如下圖2所示)的原因之一,即需要新的架構(gòu)來(lái)適配新的發(fā)展需求,本著邏輯上移的原則,可以將更多的實(shí)現(xiàn)邏輯置于高性能、多資源的中央類節(jié)點(diǎn)之中。
圖一 分布式EE架構(gòu)示意
圖二 下一代EE架構(gòu)示意
SORS是基于下一代智能網(wǎng)聯(lián)架構(gòu)來(lái)實(shí)現(xiàn)的,主要是完成服務(wù)實(shí)現(xiàn),并且體現(xiàn)服務(wù)復(fù)用性而進(jìn)行的設(shè)計(jì)工作,使服務(wù)本身具備高內(nèi)聚,服務(wù)之間能夠低耦合,提高服務(wù)的可重用性,明確邊界概念。
那…這個(gè)事情在什么階段做?誰(shuí)來(lái)做呢?
在整車功能概念設(shè)計(jì)階段,OEM整車電子電氣架構(gòu)部門來(lái)做。這樣的答案并不出乎意料,畢竟車輛本身的功能還有誰(shuí)會(huì)比架構(gòu)部門更加如數(shù)家珍呢~正如大家所熟知的,伴隨著整車功能邏輯的定義和梳理,架構(gòu)會(huì)主導(dǎo)或者參與需求開發(fā)、功能定義、功能實(shí)現(xiàn)、子系統(tǒng)設(shè)計(jì)、零部件設(shè)計(jì)等過(guò)程中去,SORS的實(shí)現(xiàn)最好能夠貫穿始終,并最終會(huì)在功能實(shí)現(xiàn)的環(huán)節(jié)體現(xiàn)出來(lái)。
那…具體怎樣做呢?
SORS沒(méi)有技術(shù)標(biāo)準(zhǔn)更沒(méi)有國(guó)際規(guī)范,最多有未經(jīng)全部驗(yàn)證的車載領(lǐng)域的SORS實(shí)現(xiàn)方法論。目前來(lái)看有兩種思路,一是自下而上,二是自上而下。
自下而上:由整車末端硬件開始向中心硬件進(jìn)行梳理和盤點(diǎn),特定的硬件可以提供相同或者而類似的服務(wù),例如,陽(yáng)光雨量傳感器就可以提供光照強(qiáng)度和雨量的信息,這樣我們就可以抽象出來(lái)一個(gè)陽(yáng)光雨量的服務(wù),只要這個(gè)硬件在,我們的服務(wù)就會(huì)在,不受任何約束。之后可以繼續(xù)向中心探索,挖掘硬件對(duì)應(yīng)的功能、所提供的數(shù)據(jù)等,進(jìn)行服務(wù)抽取。
自上而下:由車輛既有功能和業(yè)務(wù)流程入手,例如整車防盜認(rèn)證,會(huì)有各級(jí)防盜認(rèn)證流程,期間會(huì)調(diào)用到很多的模塊或者算法,比如隨機(jī)化算法、防盜認(rèn)證算法等,可以將這些算法抽取出來(lái)形成不同的算法服務(wù)。從一個(gè)個(gè)的功能業(yè)務(wù)鏈入手,分化抽離出服務(wù)庫(kù),最后可以逆向重建,即從服務(wù)庫(kù)中挑選出一個(gè)個(gè)服務(wù)模塊,通過(guò)排列組合的調(diào)用就將原始的功能業(yè)務(wù)場(chǎng)景無(wú)差的還原出來(lái)。
SORS的設(shè)計(jì)方法對(duì)將來(lái)功能新增的影響是巨大的。在傳統(tǒng)開發(fā)模式下,新增功能只能由OEM規(guī)劃并部署,甚至需要重新開發(fā)車型,創(chuàng)意受限,周期長(zhǎng)且投入大。在SORS開發(fā)模式下,OEM在平臺(tái)/車型研發(fā)階段將分析車輛本身?yè)碛械囊磺熊浻布Y源,并提供重復(fù)利用的可能。OEM或授權(quán)的第三方可以基于服務(wù)庫(kù)輕松開發(fā)新功能,快速完成迭代,并通過(guò)OTA技術(shù)部署到車端,持續(xù)提高用戶體驗(yàn)。
SOS(Service Oriented Software Architecture)
針對(duì)面向服務(wù)的架構(gòu)體系,ECU相關(guān)的軟件架構(gòu),即SOS,也在努力適配。AUTOSAR Adaptive platform,簡(jiǎn)稱AP,一個(gè)基于服務(wù)理念的中間件,就是個(gè)很好的例子。其體現(xiàn)了基于服務(wù)的架構(gòu)思想:運(yùn)行環(huán)境(ara)分成了Foundation和Service兩部分
圖三 AP軟件架構(gòu)示意
Foundation:
CM(Communication Management)包攬了節(jié)點(diǎn)間&進(jìn)程間通信
EM(Execution Management)負(fù)責(zé)進(jìn)程控制執(zhí)行
REST(RESTful)體現(xiàn)外溝通的連通性
PHM(Platform Health Management)系統(tǒng)平臺(tái)健康管理
TimeSyn(Time Synchronization)時(shí)間同步模塊等;
Service:
SM(State Management)監(jiān)管了AP上運(yùn)行的所有功能組和進(jìn)程的狀態(tài)轉(zhuǎn)換
DM(Diagnostic Management)能夠以AAP的粒度進(jìn)行刷寫和診斷
NM(Network Management)網(wǎng)絡(luò)管理模塊
UCM(Update and Config Management)主導(dǎo)的應(yīng)用程序更新、AP自更新以及OS更新的整套更新理念等;
AP作為中間件,需要配合支持POSIX標(biāo)準(zhǔn)的操作系統(tǒng)使用,上層的應(yīng)用(AAP)會(huì)通過(guò)ARA運(yùn)行環(huán)境由AP來(lái)統(tǒng)一配置、管理、調(diào)度和分配資源。
那…AP也是AUTOSAR推出的,和CP有什么關(guān)系呢?為什么要引入AP的概念呢?現(xiàn)有的操作系統(tǒng)和架構(gòu),比如Android,不能滿足SOA基于服務(wù)的實(shí)現(xiàn)嗎?
AP和CP都屬于AUTOSAR家族,是親兄弟的關(guān)系。CP推出的時(shí)間比較早,AP則是2017年才正式出現(xiàn)并有了初版AP規(guī)范集。正如大家所知道的,目前CP在各類車載ECU的開發(fā)實(shí)現(xiàn)中占有很大的使用比例,主要是應(yīng)對(duì)嵌入式ECU的開發(fā),這很符合之前我們聊到的一個(gè)盒子一個(gè)功能的整車分布式EE架構(gòu)的需求,明確具體功能后可以精準(zhǔn)的控制ECU本身的軟硬件開發(fā),并且CP軟件架構(gòu)的模塊化方式配合AUTOSAR OS也可以充分滿足一些特定功能對(duì)ECU本身運(yùn)行時(shí)實(shí)時(shí)性要求。
隨著下一代架構(gòu)的智能網(wǎng)聯(lián)化發(fā)展,要求一些節(jié)點(diǎn)具備處理海量數(shù)據(jù)和執(zhí)行大規(guī)模高頻次算例的能力,這就必然會(huì)要求此類節(jié)點(diǎn)具備豐富的軟硬件資源,同時(shí)滿足車載環(huán)境下安全性的要求。該背景下,擅長(zhǎng)用于嵌入式ECU的CP就顯得心有余而力不足了。
當(dāng)然普通的OS同樣也滿足不了這一需求,例如Android,某些場(chǎng)景下它不能滿足車載功能安全需求。此時(shí)AP登上歷史舞臺(tái),作為HPC(High Performance Controller)類型ECU的重要組成部分,AP所做就是統(tǒng)一管理下屬OS以及周邊資源,使得系統(tǒng)運(yùn)行時(shí)的一切調(diào)度、狀態(tài)和資源消耗都處在一個(gè)可控的范圍內(nèi),以滿足車載安全性、確定性的要求。當(dāng)資源豐富時(shí),可選擇的余地就大些,比如可以充分利用多核異構(gòu)架構(gòu)來(lái)處理復(fù)雜場(chǎng)景,使用Hypervisor等虛擬機(jī)技術(shù),使CP、AP和非AUTOSAR系統(tǒng)共同存在于HPC中,也算是一種典型的實(shí)現(xiàn)方法,當(dāng)然一切從需求出發(fā)。
審核編輯:黃飛
?
評(píng)論