隨著集中式電子電氣架構(gòu)的穩(wěn)步發(fā)展,汽車行業(yè)越來越多開始關(guān)注基于服務(wù)實現(xiàn)的軟件架構(gòu)(Service Oriented Architecture)。勿容置疑,未來的軟件開發(fā)一定會以“服務(wù)”為主戰(zhàn)場。如何開發(fā)出適用于下一代電子電氣架構(gòu)的軟件服務(wù),緊跟主流車型和客戶需求的變化,開發(fā)出兼具靈活性與競爭力的軟件,是我們時刻關(guān)注的話題之一。
正如上次“域測未來”文章所提到,我們目前已經(jīng)在開發(fā)基于新架構(gòu)下車載電腦+區(qū)域控制器(VCP+ZONE)的產(chǎn)品;而在軟件層面,也已經(jīng)開始著手于研究整車功能的分配以及基于服務(wù)實現(xiàn)的軟件架構(gòu)。
原子服務(wù)
說到服務(wù)架構(gòu),關(guān)于原子服務(wù)的話題非常火,那么,什么是原子服務(wù)?原子服務(wù)有哪些特征?在系統(tǒng)層面如何拆分業(yè)務(wù)服務(wù)并且定義原子服務(wù)?原子服務(wù)對我們的軟件又有什么影響呢?他和服務(wù)的關(guān)系又是什么呢?
我們先從服務(wù)的最小單元——原子服務(wù)講起。原子服務(wù)的定義是:業(yè)務(wù)上最小粒度的一系列操作。原子服務(wù)的特點是松耦合,相對獨立,且在可預(yù)見的范圍內(nèi)不會對其他原子服務(wù)造成影響。任何一項都劃定了自己的業(yè)務(wù)范圍;他們不用關(guān)心非自己業(yè)務(wù)范圍是如何實現(xiàn),對于調(diào)用其他原子服務(wù),只需要考慮調(diào)用場景及返回結(jié)果如何處理即可。
舉一個例子,先看看下面三句話:
現(xiàn)金存款是金融賬戶發(fā)生現(xiàn)金交易的收費服務(wù)行為。
信用卡還款是金融賬戶發(fā)生的,可能有銀聯(lián)參與的、信用卡的現(xiàn)金交易。
現(xiàn)金轉(zhuǎn)賬是金融賬戶與交易對手金融賬戶發(fā)生現(xiàn)金交易的收費服務(wù)行為。
這三句話中的,現(xiàn)金存款、信用卡還款和現(xiàn)金轉(zhuǎn)賬就是服務(wù),現(xiàn)金交易就是原子服務(wù),而金融賬戶、銀聯(lián)卡和信用卡則是服務(wù)的業(yè)務(wù)參與方,也是大家熟知的服務(wù)消費者和提供方。
通過這個例子,大家應(yīng)該對原子服務(wù)已經(jīng)有了一個基本的概念。那么,服務(wù)是由原子服務(wù)構(gòu)成的,SOA是不是只是簡單地由服務(wù)構(gòu)成的呢?
1. SOA 架構(gòu)的特性
答案很顯然,要實現(xiàn)真正完整的 SOA 架構(gòu),只靠原子服務(wù)和服務(wù)是不夠的。首先,我們看一下SOA的基礎(chǔ)定義:
SOA基于服務(wù)的架構(gòu),繼承了來自對象(指的是“面向?qū)ο蟮募軜?gòu)”)和構(gòu)件設(shè)計的各種原則,例如,封裝和自我包含等。那些保證服務(wù)的靈活性、松散耦合和復(fù)用能力的設(shè)計原則,對 SOA 架構(gòu)來說同樣是非常重要的。
關(guān)于服務(wù)的基本特性如下:
標(biāo)準(zhǔn)接口
服務(wù)提供方以統(tǒng)一的方式即標(biāo)準(zhǔn)的接口向消費者提供服務(wù)信息,比如車載服務(wù)軟件一般會使用SOME/IP協(xié)議作為實現(xiàn)基礎(chǔ)。
自主和模塊化
服務(wù)封裝了那些在業(yè)務(wù)上穩(wěn)定、重復(fù)出現(xiàn)的活動和構(gòu)件,實現(xiàn)服務(wù)的功能實體是完全獨立自主的,獨立進(jìn)行部署、版本控制、自我管理和恢復(fù)。
松耦合
服務(wù)請求者可見的是服務(wù)的接口,其位置、實現(xiàn)技術(shù)、當(dāng)前狀態(tài)和私有數(shù)據(jù)等,對服務(wù)消費者而言是不可見的。
互操作性、兼容和策略聲明
為了確保服務(wù)規(guī)約的全面和明確,策略成為一個越來越重要的方面。例如,一個服務(wù)對安全性方面的要求;也可以是與業(yè)務(wù)有關(guān)的語義方面的內(nèi)容,例如,需要滿足的費用或者服務(wù)級別方面的要求,這些策略對于服務(wù)在交互時是非常重要的。
而服務(wù)的最小顆粒度則是上文提到的不可拆分的原子服務(wù)。那原子服務(wù)的顆粒度是不是越小越好呢?答案肯定不是的,如何定義合理的原子服務(wù),如何把握顆粒度的大小,在服務(wù)架構(gòu)設(shè)計中至關(guān)重要。舉個更形象的例子,原子服務(wù)就類似于電路設(shè)計中的電容和電阻,他們有著統(tǒng)一的標(biāo)準(zhǔn),看似一樣卻又有著不同的封裝,在不同的ECU控制器中組合成不同的應(yīng)用電路,適當(dāng)調(diào)整又能實現(xiàn)非常多的新的功能。
2. SOA架構(gòu)的實現(xiàn)基礎(chǔ)
有了理論基礎(chǔ),下一步就是看實現(xiàn)服務(wù)架構(gòu)的必要條件。很多同學(xué)其實會問,為什么服務(wù)總是和以太網(wǎng),DDS或SOME/IP綁定的呢?CAN網(wǎng)絡(luò)上是否可以實現(xiàn)完整的SOA架構(gòu)?
首先,以SOME/IP舉例,因為SOME/IP的完整名稱其實能回答上面的大多數(shù)問題,SOME/IP = Scalable service-Oriented MiddlewarE over IP。即“運行于IP之上的可伸縮的面向服務(wù)的中間件”。可見,并不是SOA必須和SOME/IP綁定,而是SOME/IP天生就是為了SOA架構(gòu)而生。SOME/IP的精華在于“Middleware中間件”,這是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件可借助Middleware在不同的技術(shù)之間共享資源。分布式應(yīng)用軟件,在這里指的就是“服務(wù)”;不同的技術(shù)之間,在這里指的就是不同的平臺或操作系統(tǒng),比如Linux系統(tǒng)或AUTOSAR OS OSEK等。而Scalable Middleware,顧名思義,則是“可伸縮中間件”,指的是該中間件能夠適配于不同的平臺及操作系統(tǒng),其支撐的平臺可大可小。
簡單來說,SOA是軟件架構(gòu)的一種設(shè)計理念;SOME/IP是一種將軟件接口進(jìn)行打包的打包方式,是一種中間件。而汽車行業(yè)通常所指的“以太網(wǎng)”是泛化之后的概念,涵蓋了基于以太網(wǎng)技術(shù)所實現(xiàn)的各種相關(guān)技術(shù)手段,包括TCP/IP協(xié)議、DoIP協(xié)議、SOME/IP協(xié)議等。當(dāng)然若通過其他非以太網(wǎng)的通信方式來實現(xiàn)SOA也是可行的,但通常大家不那么用。比如基于CAN總線的架構(gòu),由于其基礎(chǔ)的架構(gòu)和通信協(xié)議棧里不存在Middleware中間層的概念,所以要實現(xiàn)SOA的代價是非常巨大的。
3. SOA 應(yīng)用的優(yōu)勢
正如大家所知,早期的車內(nèi)嵌入式軟件沒有統(tǒng)一標(biāo)準(zhǔn),基礎(chǔ)軟件和應(yīng)用軟件強耦合,不具可移植性;AUTOSAR Classic 的應(yīng)用,對嵌入式基礎(chǔ)軟件的接口進(jìn)行標(biāo)準(zhǔn)化,讓應(yīng)用開發(fā)者基于統(tǒng)一的基礎(chǔ)軟件接口進(jìn)行應(yīng)用開發(fā)。目前采用SOA軟件服務(wù)架構(gòu)的應(yīng)用打通了車內(nèi)的電子電氣架構(gòu)的壁壘,進(jìn)一步對嵌入式應(yīng)用軟件的接口(即服務(wù)接口)進(jìn)行了標(biāo)準(zhǔn)化,讓APP開發(fā)者基于統(tǒng)一基礎(chǔ)服務(wù)接口進(jìn)行應(yīng)用的迭代開發(fā),隱藏了不同車型配置下應(yīng)用軟件的差異,真正做到了整車級軟件接口的“標(biāo)準(zhǔn)”和“開放”。
平臺架構(gòu)升級更便于實現(xiàn),通過服務(wù)設(shè)計的方式,能夠有效降低架構(gòu)升級帶來的復(fù)雜度;同時,由于操作系統(tǒng)跨平臺的難度大幅度降低,能夠大幅提升用戶體驗,能夠?qū)崿F(xiàn)更為便捷的聯(lián)網(wǎng)功能,實現(xiàn)不同平臺間的各種APP共享等功能;
通過“服務(wù)Hub”區(qū)域控制器的引入,各種新功能能夠靈活地與其他域功能,乃至互聯(lián)網(wǎng)接口集成,而無需各個控制器各自進(jìn)行信號到服務(wù)的轉(zhuǎn)換;
一些相對獨立的域開發(fā)能夠打破界限,找到新的上限,例如自動駕駛功能不再是電子電氣架構(gòu)“孤島”,通過區(qū)域控制器進(jìn)行服務(wù)互通,可以輕松實現(xiàn)高清地圖的創(chuàng)建、更新及路線預(yù)測等功能,便于實現(xiàn)車輛信息的上傳及云端指令的下達(dá);
4. SOA 的應(yīng)用實例
正如上文提到的,一旦自動駕駛域不再成為電子電氣孤島,那么他的傳感器、雷達(dá)、攝像頭都能成為整車功能體驗提升的利器。同時,由于區(qū)域控制器ZONE具有服務(wù)轉(zhuǎn)換能力,ADAS計算中心也不需要拖著大量的傳感器,雷達(dá)或攝像頭一一連接,只需要簡單從服務(wù)中間層直接發(fā)起調(diào)度請求即可。下面是一個潛在的開發(fā)實例:
第一階段
也就是目前90%的E/E架構(gòu)中所使用的平行式分布,由于ZONE在初期無法實現(xiàn)LVDS和攝像頭視頻的處理能力,所以暫時不會動AD的“孤島”。但是其他的比如車身等相關(guān)的會通過區(qū)域控制器的服務(wù)轉(zhuǎn)換能力,將信號打包成業(yè)務(wù)服務(wù)。
當(dāng)然,ZONE區(qū)域控制器并不是簡單的hub,在拆分和打包服務(wù)的同時,也會同步進(jìn)行原子服務(wù)的開發(fā)和豐富,后續(xù)隨著整車的FOTA更新,我們的原子服務(wù)越來越完善,同步也會有更多豐富的業(yè)務(wù)服務(wù)在互聯(lián)互通的大環(huán)境下呈現(xiàn)給用戶。
第二階段
在這個階段,隨著區(qū)域下一代產(chǎn)品的發(fā)展,會在硬件上具備一些特殊接口的集成能力,例如上圖中原來AD的專屬武器如雷達(dá)或分布式攝像頭等可以直接連接到區(qū)域控制器,這一步看上去僅僅是硬件兼容的一小步,但卻是E/E架構(gòu)升級的一大步。因為這意味著,環(huán)境感知服務(wù)的使用權(quán)被平等地交付到了每個域手中。
如果說過去的車身域是電子域,一旦環(huán)境感知信號的引入,會讓車身域真正地進(jìn)化出“眼睛”,燈光、雨刮、天窗、門鎖、防盜不再是冷冰冰的電子功能,他們會成為整車人工智能的新入口,從電子域進(jìn)化為智能域。一些過去只存在想象中的功能,例如視覺識別天氣自動調(diào)整雨刮、根據(jù)周圍行人和車輛自動調(diào)整燈光方向、單人使用車輛的時候僅解鎖離車主最近的一扇門,這些功能都不再是幻想。
第三階段
也是BOSCH體系定義的電子電氣架構(gòu)最終階段,區(qū)域控制器會“返璞歸真”,將所有特殊接口的能力打包成真正統(tǒng)一的虛擬服務(wù)接口,而這其中的關(guān)鍵條件則在于區(qū)域控制器是否具備了完整的原子服務(wù),例如,一旦區(qū)域能夠提供“視頻解析”的原子服務(wù),那么我們無需在區(qū)域上接入LVDS信號,直接通過千兆以太網(wǎng)將視頻服務(wù)“原封不動”地傳遞到區(qū)域上,然后在區(qū)域控制器里會有對應(yīng)的“解碼器”,將這些信號解析、解碼、重構(gòu)、并打包成服務(wù),以極低的延時和極高的保真率提供給不同的處理單元和控制模塊。
而這個階段一旦實現(xiàn),接口的標(biāo)準(zhǔn)化和統(tǒng)一化會上升到新的高度,整車電子電氣架構(gòu)的成本也可以大幅度下降,主干網(wǎng)通過以太網(wǎng)傳遞服務(wù),支路通過CAN/LIN等傳統(tǒng)總線收集原子服務(wù)需要的信號流,所有的系統(tǒng)、軟件、硬件有條不紊地在自己的服務(wù)領(lǐng)域中開發(fā)。未來,一輛既便宜、又智能的“溫馨智能移動起居室”指日可待。
責(zé)任編輯:haq
-
控制器
+關(guān)注
關(guān)注
112文章
16444瀏覽量
179077 -
軟件
+關(guān)注
關(guān)注
69文章
5007瀏覽量
87951
原文標(biāo)題:"域"見SOA
文章出處:【微信號:聯(lián)合電子,微信公眾號:聯(lián)合電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論