軟件定義汽車3—SOA 基礎(chǔ)軟件框架與參考實現(xiàn)

引言

? ? ? ?上一篇文章對智能汽車軟件的范圍姨伤、軟硬件升級熙暴、SOA的內(nèi)涵進行了介紹肌幽,本篇將圍繞 SOA的實現(xiàn)細節(jié)贪庙,重點闡述以下問題:

  • SOA 基礎(chǔ)軟件框架
  • SOA 參考實現(xiàn)
  • SOA 實現(xiàn)所需相關(guān)技術(shù)

一蛛株、SOA 基礎(chǔ)軟件框架

? ? ? ?上一篇中团赁,介紹了面向服務(wù)的軟件架構(gòu)設(shè)計SOA,但它只是一架構(gòu)種設(shè)計思想谨履,本身并不是一個軟件模塊然痊。工程中需要一個基礎(chǔ)軟件框架去實現(xiàn)其架構(gòu)設(shè)計思想,下圖中的 SOA Framework 就是我所說的基礎(chǔ)軟件框架屉符。


SOA Framework.png

? ? ? ?上圖中所表示的就是一個典型的中央計算電子電氣架構(gòu)剧浸,幾十個 ECU 的功能,集中到少數(shù)計算單元上矗钟,大部分 ECU 消失了唆香,但是由于底盤域的特殊性,依然保留了部分 ECU 的功能吨艇。幾大控制器躬它,選用的都是高性能的 SOC(畫3個只是示意),由于工作任務(wù)的不同东涡,選用了不同的操作系統(tǒng)冯吓。SOA Framework 是這個分布式軟硬件系統(tǒng)運行的關(guān)鍵,具有以下特點:

  • 它是一個操作系統(tǒng)中間件
  • 運行在不同的OS 內(nèi)核之上疮跑,可以跨平臺组贺。
  • 除了基于以太網(wǎng),最好還能兼容傳統(tǒng) AutoSAR
  • 需要為上層應(yīng)用提供良好的開發(fā)接口祖娘。
  • 需要與多個 SOC 上的 SOA Framework 進行分布式協(xié)同失尖。
SOA Framework 架構(gòu).png

? ? ? ?SOA Framework 整體架構(gòu)如上圖所示,其主要功能如下:

  • 本地服務(wù)、遠程服務(wù)(運行在另外一個 SOC 上的服務(wù))掀潮,相互之間以統(tǒng)一的接口描述語言IDL為契約菇夸。IDL 是一種中立的語言,與 OS 以及開發(fā)語言無關(guān)仪吧。
  • 通過Service Development Framework庄新,為開發(fā)者提供服務(wù)開發(fā)的基本框架。
  • Service Manager 管理本地服務(wù)薯鼠,并負責與遠端的 Service Manager 進行同步摄咆。
  • Policy Manager 負責控制各個服務(wù)間的訪問權(quán)限。
  • Network Manager 負責網(wǎng)絡(luò)通信管理人断,有可能會使用不同的通信協(xié)議。
  • Startup Manager 定義服務(wù)間的依賴關(guān)系與啟動順序朝蜘。
  • Update Manager 負責服務(wù)的更新與升級恶迈。
  • OS Abstraction Layer 負責抽象各個 OS 的差異。
    實際實現(xiàn)過程中谱醇,還需要很多其他服務(wù)作為支撐暇仲,比如持久化、加解密等副渴,以上架構(gòu)圖奈附,只是為大家講明原理。

? ? ? 在這個基礎(chǔ)框架之上開發(fā)的服務(wù)煮剧,相互之間都是松耦合關(guān)系斥滤,通過我們上一篇中講的,重新定義新的組合服務(wù)和流程服務(wù)勉盅,就能產(chǎn)生新的軟件功能佑颇。不同芯片的差異會在操作系統(tǒng)層面屏蔽掉,而基礎(chǔ)軟件框架又屏蔽了操作系統(tǒng)的差異草娜,在此架構(gòu)下挑胸,即使更換新的 SOC,軟件上的改動也會很小宰闰,也為硬件可升級也提供了軟件基礎(chǔ)茬贵。

二、SOA 參考實現(xiàn)

? ? ? ?ROS與Adaptive AutoSAR 都是遵循 SOA 架構(gòu)設(shè)計思想的一種操作系統(tǒng)中間件移袍。為什么放在一起講解藻,是因為他們都有可能發(fā)展成為一種適用于車載環(huán)境的分布式通信與計算框架。

? ? ? ?ROS(Robot Operating System)主要目標是為機器人研究和開發(fā)提供代碼復用的支持葡盗。是一個分布式的進程(也就是“節(jié)點”)框架舆逃,這些進程被封裝在易于被分享和發(fā)布的程序包和功能包中。

? ? ? ?ROS 之前更多的用于學術(shù)研究,隨著這幾年人工智能和自動駕駛的發(fā)展路狮,在很多自動駕駛的原型系統(tǒng)中都能夠看到 ROS 的身影虫啥,百度 Apollo 最初也是使用了 ROS。在發(fā)展過程中奄妨,ROS原先架構(gòu)設(shè)計上的缺陷也慢慢暴露出來涂籽,為了解決這些問題,2017年砸抛,采用新架構(gòu)的 ROS2 問世评雌。

ros2.jpg

? ? ? ?ROS2 最大的改變是,取消Master中央節(jié)點直焙,實現(xiàn)節(jié)點的分布式發(fā)現(xiàn)景东,發(fā)布/訂閱,請求/響應(yīng)通奔誓;底層基于DDS通信機制斤吐,支持多操作系統(tǒng),包括Linux厨喂、windows和措、Mac、RTOS蜕煌。要把 ROS2改造的完全適合車載派阱,還有不少工作要做,之前提到的 APEX.AI公司斜纪,就是在做這個事情贫母。

? ? ? ?Classic AutoSAR 是開發(fā) ECU 的主要標準 ,相關(guān)的介紹網(wǎng)上很多盒刚,就不多做介紹颁独,Adaptive AutoSAR 2017年才發(fā)布第一個release 草案,主要用于高性能 SOC伪冰,運行在兼容 POSIX的操作系統(tǒng)之上誓酒,其也運用了 SOA 的架構(gòu)設(shè)計思想。


adaptive autosar.png


? ? ? ?從Adaptive AutoSAR 和 ROS 當中贮聂,能夠看到德系與美系架構(gòu)設(shè)計思想之間鮮明的差別靠柑。我的第一感受是,美系架構(gòu)設(shè)計更加簡潔吓懈、靈活歼冰,追求開源。而德國人喜歡把簡單的問題復雜化耻警,喜歡過度設(shè)計隔嫡,搞很深的抽象層次甸怕,喜歡搞代碼生成,喜歡強綁定 IDE腮恩,這可能與他們工程師思維的嚴謹性有關(guān)系梢杭,總之搞得看起來門檻特別高,相關(guān)的公司還可以賣標準秸滴,賣工具武契,賺的盆滿缽滿。

? ? ? ?傳統(tǒng) ECU 開發(fā)中荡含,Classic AutoSAR 依然會占主導地位咒唆, 德系公司是毫無疑問的主導者,但是我個人并不看好 Adaptive AutoSAR 的發(fā)展释液,主要有以下幾點:

  • 其標準的推進事實上已經(jīng)落后于行業(yè)應(yīng)用全释。
  • 在自動駕駛的發(fā)展方面,中美是主導误债,德國已經(jīng)無法實現(xiàn)他在傳統(tǒng)汽車領(lǐng)域的霸主地位浸船。
  • 開源軟件,成就了人工智能找前、自動駕駛相關(guān)行業(yè)的繁榮,德系軟件商這種設(shè)置高門檻判族,通過標準掙錢的做法躺盛,很難繼續(xù)下去,一套基礎(chǔ)軟件收費超過千萬形帮,沒實力的會選擇開源槽惫,有實力的也會自己去開發(fā),大家頂多借鑒一下其設(shè)計思想辩撑。

三界斜、DDS 與 SOME/IP

? ? ? ?DDS(Data Distribution Service) 與SOME/IP(Scalable service-Oriented MiddlewarE over IP),都是基于TCP/IP 實現(xiàn)的一種應(yīng)用層通信協(xié)議合冀,主要實現(xiàn)以下功能:

  • 數(shù)據(jù)序列化
  • 服務(wù)發(fā)現(xiàn)
  • 數(shù)據(jù)的發(fā)布訂閱機制

? ? ? ?DDS 主要用于工業(yè)互聯(lián)網(wǎng)各薇、軍工等領(lǐng)域,車載領(lǐng)域也有一些使用君躺,比如 Nvidia 的 Drive AV 平臺峭判,底層通信就是基于 DDS,也是 ROS2的底層通信協(xié)議棕叫。SOME/IP是隨著 AutoSAR 發(fā)展起來的林螃,目前已經(jīng)被納入進了 AutoSAR 的標準當中,是 Adaptive AutoSAR 的底層通信協(xié)議俺泣。DDS 與 SOME/IP兩者功能大同小異疗认,SOME/IP 與 AutoSAR 生態(tài)兼容良好完残,但是 DDS 功能更強大,比如能夠?qū)崿F(xiàn) QoS(Quality of Service,服務(wù)質(zhì)量横漏,是網(wǎng)絡(luò)的一種安全機制, 是用來解決網(wǎng)絡(luò)延遲和阻塞等問題的)谨设。

? ? ? ?在CAN總線中,通信過程是面向信號的绊茧,發(fā)送方周期性的發(fā)布信息铝宵,而不考慮接收者是否有需求。DDS與 SOME/IP則不同华畏,收發(fā)雙方是一種訂閱/發(fā)布機制鹏秋,它是在接收方有需求的時候才發(fā)送,優(yōu)點在于總線上不會出現(xiàn)不必要的數(shù)據(jù)亡笑,從而降低負載侣夷。

? ? ? ?DDS 與 SOME/IP的實現(xiàn),是以以太網(wǎng)為基礎(chǔ)的仑乌,為什么要用車載以太網(wǎng)百拓,除了大家都知道的傳輸帶寬問題,其實從軟件的角度來講晰甚,以太網(wǎng)最大的好處衙传,在于它的網(wǎng)絡(luò)模型層次比CAN要全,能夠在此基礎(chǔ)上定義比較復雜的應(yīng)用層協(xié)議厕九。

結(jié)語

? ? ? ?本篇主要對SOA 軟件框架進行了介紹蓖捶,對常見的技術(shù)概念,車載以太網(wǎng)扁远、SOME/IP俊鱼、DDS、Adaptive AutoSAR畅买、ROS2 等并闲,梳理各自所處的技術(shù)層次與要解決的問題,闡述其與SOA的關(guān)系谷羞,下一篇主要聊聊一些非技術(shù)性的問題帝火,比如行業(yè)現(xiàn)狀,落地中實際會碰到的困難等湃缎。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末购公,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子雁歌,更是在濱河造成了極大的恐慌宏浩,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件靠瞎,死亡現(xiàn)場離奇詭異比庄,居然都是意外死亡求妹,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門佳窑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來制恍,“玉大人,你說我怎么就攤上這事神凑【簧瘢” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵溉委,是天一觀的道長鹃唯。 經(jīng)常有香客問我,道長瓣喊,這世上最難降的妖魔是什么坡慌? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮藻三,結(jié)果婚禮上洪橘,老公的妹妹穿的比我還像新娘。我一直安慰自己棵帽,他們只是感情好熄求,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著逗概,像睡著了一般弟晚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仗谆,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天指巡,我揣著相機與錄音淑履,去河邊找鬼隶垮。 笑死,一個胖子當著我的面吹牛秘噪,可吹牛的內(nèi)容都是我干的狸吞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼指煎,長吁一口氣:“原來是場噩夢啊……” “哼蹋偏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起至壤,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤威始,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后像街,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體黎棠,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡晋渺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了脓斩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片木西。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖随静,靈堂內(nèi)的尸體忽然破棺而出八千,到底是詐尸還是另有隱情,我是刑警寧澤燎猛,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布恋捆,位于F島的核電站,受9級特大地震影響扛门,放射性物質(zhì)發(fā)生泄漏鸠信。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一论寨、第九天 我趴在偏房一處隱蔽的房頂上張望星立。 院中可真熱鬧,春花似錦葬凳、人聲如沸绰垂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽劲装。三九已至,卻和暖如春昌简,著一層夾襖步出監(jiān)牢的瞬間占业,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工纯赎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谦疾,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓犬金,卻偏偏與公主長得像念恍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晚顷,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355