1
從SOA-RM到AP AUTOSAR
在《AP AUTOSAR基礎(chǔ)簡介》之《AP AUTOSAR & SOA》視頻中,我們提到:AP AUTOSAR是一種面向服務(wù)的架構(gòu)!在《SOA點(diǎn)映》中也提到:SOA不是具體的技術(shù)實(shí)現(xiàn),而是一種模板軟件架構(gòu)! 那么,怎么來理解SOA是一種模板軟件架構(gòu)?又如何理解為什么AP AUTOSAR是SOA?以下是筆者的一些理解分享給大家,如有不對之處,還請指出。 SOA的全稱是:面向服務(wù)的架構(gòu)(Service Oriented Architecture),從SOA的概念中,我們比較容易產(chǎn)生一個(gè)問題:這個(gè)架構(gòu)怎么來的?要想搞清楚這個(gè)點(diǎn),我們需要先理解以下SOA參考模型(SOA-RM)
①
SOA-RM到SOA
SOA參考模型(SOA-RM)描述了SOA環(huán)境中的各個(gè)組件(或者實(shí)體)及其之間的關(guān)系。當(dāng)前對SOA-RM的研究大致分為以下幾類: 1. 以W3C的Web服務(wù)架構(gòu)工作組為代表:
它是通過定義一些具體的功能組件和其他抽象實(shí)體來研究這些組件和實(shí)體之間的關(guān)系。但是,它定義于Web服務(wù)技術(shù)背景,故其架構(gòu)分析具有局限性。
2. 以O(shè)ASIS成立的SOA-RM技術(shù)委員會為代表:
它主張以SOA中相關(guān)的抽象概念和實(shí)體為出發(fā)點(diǎn),來研究它們之間的關(guān)系。它認(rèn)為SOA涉及的元素包括服務(wù)與服務(wù)的描述,服務(wù)的發(fā)布與發(fā)現(xiàn)機(jī)制,服務(wù)的相關(guān)規(guī)范,數(shù)據(jù)模型和服務(wù)協(xié)議等!
3.以軟件組件為基礎(chǔ)進(jìn)行系統(tǒng)架構(gòu)的研究
主要有IBM、微軟等企業(yè)為代表,它們進(jìn)行著自己的應(yīng)用平臺以及解決方案的SOA研究。但是這樣的模型依賴于特定的技術(shù)平臺,因此,不是理想的SOA通用模型。
筆者比較認(rèn)可OASIS的觀點(diǎn),且與汽車行業(yè)相關(guān)度大,因此筆者將以O(shè)ASIS為代表的SOA-RM出發(fā)進(jìn)行分析。 PS:《搞一下汽車電子》也為各位解鎖全系的朋友準(zhǔn)備了中文版的OASIS《soa-rm-v1.0》,在公眾號菜單欄聯(lián)系我們進(jìn)行獲取 筆者基于OASIS的觀點(diǎn),整理了SOA-RM與SOA的關(guān)系如下:
SOA-RM是一種抽象框架
SOA-RM并不與任何標(biāo)準(zhǔn)、技術(shù)和其他的具體實(shí)現(xiàn)細(xì)節(jié)關(guān)聯(lián)
與標(biāo)準(zhǔn)技術(shù)和其他具體實(shí)現(xiàn)細(xì)節(jié)相關(guān)聯(lián)的是SOA
SOA是SOA參考模型的一種應(yīng)用
圖:OASIS SOA-RM 簡單來說:SOA-RM只是一個(gè)框架,架構(gòu)師可以使用現(xiàn)有的協(xié)議(如web服務(wù)協(xié)議)、標(biāo)準(zhǔn)以及規(guī)范等來構(gòu)建具體的架構(gòu)實(shí)現(xiàn),那么根據(jù)SOA-RM,并結(jié)合一定協(xié)議、標(biāo)準(zhǔn)以及規(guī)范等構(gòu)建出來的架構(gòu)便是一種面向服務(wù)的架構(gòu)SOA! 到此,我們知道了SOA的構(gòu)建來自SOA-RM。那么,接著下一個(gè)問題,SOA到底是什么?上文筆者也說明了筆者眼中的SOA:SOA是一種模板軟件架構(gòu),這怎么理解?AP AUTOSAR是SOA又如何理解呢?我們往下看:
②
SOA到AP AUTOSAR
在《AP AUTOSAR & SOA》中,我們主要介紹了SOA的通信機(jī)制,并簡單介紹了SOA的概念。知道了它不是具體的技術(shù)實(shí)現(xiàn),那么SOA是一種模板軟件架構(gòu)如何理解呢? 我們將模板軟件架構(gòu)拆開來理解:
模板:基于現(xiàn)有標(biāo)準(zhǔn)、技術(shù)等實(shí)現(xiàn)一套用于設(shè)計(jì)和開發(fā)應(yīng)用程序的原則和方法
軟件:這里的軟件代表著一種軟件設(shè)計(jì)模式,可以使用互操作服務(wù)的形式來開發(fā)軟件
架構(gòu):這里的架構(gòu)是指一種架構(gòu)設(shè)計(jì)模式,按照服務(wù)所屬所指定的約束和策略來執(zhí)行
軟件架構(gòu):是指由系統(tǒng)元素及其外部可見屬性以及他們之間的關(guān)系組成。
所以,筆者認(rèn)為SOA是一種模板軟件架構(gòu),并不是具體的技術(shù)實(shí)現(xiàn)。因?yàn)镾OA不涉及具體技術(shù)實(shí)現(xiàn)的內(nèi)容!這也能對應(yīng)了SOA是SOA-RM的一種應(yīng)用! 這里對SOA中服務(wù)的概念進(jìn)行一個(gè)簡單說明:
服務(wù)是最基本的單元,一種能夠訪問一個(gè)或多個(gè)功能的機(jī)制
理解了SOA是一種模板軟件架構(gòu),那么為什么AP AUTOSAR是一種SOA,筆者認(rèn)為主要體現(xiàn)在以下方面: 從模板的角度出發(fā)來理解,AP AUTOSAR提供了一套開發(fā)應(yīng)用程序的方法即AP AUTOSAR方法論,主要分為三部分:
架構(gòu)與設(shè)計(jì)(下圖藍(lán)色框),包含:
開發(fā)一個(gè)服務(wù)接口描述
通過Machine Design開發(fā)通信結(jié)構(gòu)
軟件開發(fā)(下圖綠色框),包含:
開發(fā)Application-Level類型的軟件
開發(fā)Platform-Level類型的軟件
集成與部署(下圖黑色框),包含:
定義和配置Machine
創(chuàng)建Execution Manifest
定義和配置Service Instance
等等
圖:AP AUTOSAR方法論概覽 從軟件方面理解: AP AUTOSAR使用互操作服務(wù)的形式進(jìn)行軟件開發(fā),機(jī)制如下: 主要包含兩個(gè)角色:
服務(wù)提供者
服務(wù)消費(fèi)者
兩者之間是通過通信管理中間件(CMM)傳輸層進(jìn)行通信。 通信管理中間件主要以下通信方式(協(xié)議約束):
SOME/IP
DDS
服務(wù)提供者和服務(wù)消費(fèi)者之間的連接是CMM在運(yùn)行時(shí)動態(tài)創(chuàng)建的!
圖:Proxy Skeleton Pattern 需要提到的是,AP AUTOSAR中采用了服務(wù)骨架(Service Skeleton)與服務(wù)代理(Service Proxy)模式,服務(wù)骨架與服務(wù)代理是根據(jù) ”服務(wù)接口定義 “ 生成的。 PS:那么SOME/IP如何設(shè)計(jì),DDS又如何設(shè)計(jì)?我們將會在后期《搞一下SOA》系列與《搞一下整車以太網(wǎng)》系列中進(jìn)行分享(需解鎖全系哦!) 筆者認(rèn)為,單一個(gè)軟件通信還不足以成為軟件架構(gòu),AP AUTOSAR除了通信之外,還有其他的系統(tǒng)元素,如:與存儲相關(guān)的ara::per 功能集群。詳細(xì)的架構(gòu)圖如下,我們也在《What AP AUTOSAR》中對上述每個(gè)功能集群進(jìn)行了簡單的描述。 因此,筆者認(rèn)為,AP AUTOSAR是SOA(注意這里是SOA,不是SOA-RM),是一種模板軟件架構(gòu)!
圖:AP AUTOSAR架構(gòu)概覽 上圖中需要提到的是,AP AUTOSAR規(guī)定,Application只能直接訪問POSIX的PSE51接口,不能直接訪問非PSE51接口。 PS:《搞一下汽車電子》也為各位解鎖全系的朋友準(zhǔn)備了原版的《IEEE1003.13》,在公眾號菜單欄聯(lián)系我們進(jìn)行獲取 解釋了為什么AP AUTOSAR是SOA,我們再來總結(jié)一下what AP AUTOSAR?
SOA:動態(tài)創(chuàng)建連接
中間件:承上啟下
標(biāo)準(zhǔn):規(guī)范API及功能、規(guī)范交互方式、規(guī)范開發(fā)方法
詳細(xì)內(nèi)容,請查閱《What AP AUTOSAR中》
圖:What AP AUTOSAR 這里筆者也總結(jié)了一下AP AUTOSAR的特性:
靈活的軟件配置
Security & Safety
并行處理
與現(xiàn)有標(biāo)準(zhǔn)及規(guī)范的兼容
基于POSIX標(biāo)準(zhǔn)
動態(tài)分配內(nèi)存
SOA
我們從SOA-RM出發(fā),分析了AP AUTOSAR。AP AUTOSAR也剛發(fā)布了R2011版本,本系列后期也會結(jié)合AP AUTOSAR R20-11的新特性來分享《搞一下AP AUTOSAR進(jìn)階應(yīng)用》,因此,這里筆者為大家整理了一下AP AUTOSAR R20-11的一些更新!
2
AP AUTOSAR R20-11
我們將從文檔、平臺設(shè)計(jì)以及新增特性等方面進(jìn)行分享。
①
文檔變更
R2011文檔方面的變更還是很大的,《搞一下汽車電子》按照之前的分類方式將R2011進(jìn)行了整理,大家可以后臺回復(fù)" AP點(diǎn)映"進(jìn)行查看。 我們還是將其分為以下幾個(gè)文件夾:
Adaptive Foundation:與基礎(chǔ)功能集群相關(guān)的文檔
Adaptive Service:與服務(wù)功能集群相關(guān)的文檔
General:AP AUTOSAR General文檔
Methodology And Manifest:與方法論、元模型以及Manifest等相關(guān)的文檔
Release Documentation:Release相關(guān)文檔
其中Adaptive Foundation增加了很多Foundation中功能集權(quán)的解釋性說明文檔,主要包括:
AdaptiveService部分,增加了以下內(nèi)容:
其中: 《AUTOSAR_RS_AutomatedDrivingInterfaces》規(guī)定了傳感器接口上AP AUTOSAR的要求。 《AUTOSAR_SWS_SensorInterfaces》描述了傳感器接口的功能說明與接口 Adaptive General部分進(jìn)行了以下更改:
需要說明的是,R2011標(biāo)準(zhǔn)文檔中,沒有《AUTOSAR_SWS_General》等,筆者認(rèn)為是缺少了,而不是被刪除了。 Methodology And Manifest部分進(jìn)行了以下更改:
其中《AUTOSAR_TPS_AdaptivePlatformTimingExtensions》是通過AUTOSAR元模型對時(shí)間擴(kuò)展正式定義的補(bǔ)充。 這里需要特別說明的一個(gè)文檔是《AUTOSAR_SWS_AdaptiveIntrusionDetectionSystemManager》。 筆者認(rèn)為,上述文件入侵檢測系統(tǒng)管理(Idsm)應(yīng)該是一個(gè)屬于Foundation部分的功能集群(FC),但是,其他文檔中,都沒有與Idsm相關(guān)的內(nèi)容。即使是《平臺設(shè)計(jì)》中也沒有。屬于標(biāo)準(zhǔn)的問題,可能會在下個(gè)版本中有所體現(xiàn)。
②
平臺設(shè)計(jì)變更
《平臺設(shè)計(jì)》是AP AUTOSAR中對AP AUTOSAR進(jìn)行概述的文檔,這里,對平臺設(shè)計(jì)中主要的改動進(jìn)行說明如下: 1. 在《持久性》章節(jié)進(jìn)行了以下更改: 持久性主要的三種應(yīng)用場景有:
在Adaptive Machine上安裝新的應(yīng)用程序軟件
將現(xiàn)有應(yīng)用程序軟件更新到Adaptive Machine
從Adaptive Machine卸載現(xiàn)有的應(yīng)用程序軟件
圖:Persistency 在R1911中,對上述三種應(yīng)用場景進(jìn)行了以下說明: UCM都使用持久性來部署/刪除/更新應(yīng)用程序的持久性數(shù)據(jù) 在R2011中,對其進(jìn)行說明如下: 在前兩個(gè)場景中,持續(xù)性由UCM通過EM觸發(fā),以部署/更新應(yīng)用程序的持久性數(shù)據(jù) 在第三個(gè)場景中,UCM可以使用uri從持久性配置中刪除剩余的持久性數(shù)據(jù) 2. 在《UCM》章節(jié),更改了UCM Master 的狀態(tài)機(jī): 我們也會在后期基于此分享" AP AUTOSAR & OTA"
圖:UCM Master狀態(tài)機(jī) 3. 在《Crypto》章節(jié)更改了密鑰管理交互,如:增加獨(dú)立且受信任的環(huán)境等:
圖:密鑰管理交互 當(dāng)然,還有其他更多更改內(nèi)容,可參考《AP AUTOSAR 平臺設(shè)計(jì)》文檔。 PS:《搞一下汽車電子》也為各位解鎖全系的朋友準(zhǔn)備了中文版的AP AUTOSAR R2011《平臺設(shè)計(jì)》,在公眾號菜單欄聯(lián)系我們進(jìn)行獲取
③
新增特性
從Safety方面來說,新增了系統(tǒng)健康監(jiān)控,主要用于系統(tǒng)協(xié)調(diào)健康狀況/錯(cuò)誤。主要包含以下內(nèi)容:
SHM Client交流平臺健康狀況
SHM Master確定健康指標(biāo)
根據(jù)健康指標(biāo)進(jìn)行的機(jī)器恢復(fù)(例如降級)
圖:系統(tǒng)健康監(jiān)控 從上圖也可以看出,SHM Client是在AP AUTOSAR端,SHM Master是CP AUTOSAR端。這也是AUTOSAR官方在AP AUTOSAR 功能安全方面的又一考慮吧。有關(guān)AP AUTOSAR & Safety更多內(nèi)容,可查看《AP AUTOSAR & Safety》 在Safety方面,也增加了確定性同步的內(nèi)容,描述了同步行為和周期性激活的要求,包括時(shí)間同步和數(shù)據(jù)同步。
圖:確定性同步 從Security方面來說,增加了入侵檢測系統(tǒng)管理,有標(biāo)準(zhǔn)化的接口來報(bào)告安全事件,有標(biāo)準(zhǔn)化的過濾機(jī)制,來通過網(wǎng)絡(luò)來傳輸合格的安全事件。 PS:還是如前所說,除了一份Idsm文檔外,無更多描述
在Security方面,也增加了Crypto API的描述:
軟件和硬件獨(dú)立開來
支持分離式非耦合開發(fā)
應(yīng)用程序獨(dú)立于加密解決方案
上述,便是R2011主要的變更,當(dāng)然還有很多變更,我們會在后期的系列分享中,與大家進(jìn)行分享,那么為什么要分享《搞一下AP AUTOSAR進(jìn)階應(yīng)用》
3
Why AP AUTOSAR應(yīng)用
從流程來說:
需要一套標(biāo)準(zhǔn)化的開發(fā)流程,我們會分享" AP AUTOSAR 方法論"
從架構(gòu)來說:
汽車EEA從分布式到域集中式再到車輛集中式發(fā)展過程中,需要新的技術(shù)、協(xié)議來作為支撐,我們會分享" AP AUTOSAR & EEA"。
當(dāng)然我們也有《搞一下SOA》系列。
從功能需求來說:
為了避免召回,需要整車OTA功能,我們會分享"AP AUTOSAR & OTA "
汽車高度自動駕駛等需要基于POSIX OS運(yùn)行具有ASIL 要求的實(shí)時(shí)Application,系統(tǒng)需要確定性行為,我們會分享 " AP AUTOSAR & 確定性執(zhí)行"
AP標(biāo)準(zhǔn)中無XCP協(xié)議,那么如何基于AP來做標(biāo)定,我們會分享" AP AUTOSAR & 標(biāo)定 "
在AP AUTOSAR中能否使用基于視覺的算法?我們會分享" AP AUTOSAR & AI "
如何在AP AUTOSAR中使用DDS的網(wǎng)絡(luò)綁定?我們會分享" AP AUTOSAR & DDS "
從應(yīng)用來說:
自動駕駛平臺涉及哪些軟件技術(shù)?AP扮演什么角色?我們會分享 " AP AUTOSAR & 自動駕駛"
智能座艙涉及哪些技術(shù)?AP 扮演什么角色?我們會分享" AP AUTOSAR & 智能座艙 "
如何基于AP AUTOSAR開發(fā)中央計(jì)算單元?我們會分享" AP AUTOSAR & 中央計(jì)算單元"
如何基于現(xiàn)有物聯(lián)網(wǎng)技術(shù)與AP解決昂貴的車輛更新緩慢問題?我們會分享" AP AUTOSAR & IoT "
從兼容適配來說:
系統(tǒng)應(yīng)能夠支撐應(yīng)用程序分離,我們會分享" AP AUTOSAR & Hypervisor"
當(dāng)然,上述內(nèi)容會根據(jù)實(shí)際情況進(jìn)行一定的調(diào)整。最后再回答一個(gè)大家比較關(guān)心的問題:如何學(xué)習(xí)AP AUTOSAR?
首先,請?jiān)诠娞枴陡阋幌缕囯娮有≈帧泛笈_回復(fù) " 系列 " 查看《搞一下 AP AUTOSAR基礎(chǔ)簡介》《搞一下 AP AUTOSAR平臺設(shè)計(jì)》
接著,請具備cpp編程能力
然后,從《AUTOSAR方法論》進(jìn)行突破
接著,研究標(biāo)準(zhǔn)文檔,如果工具鏈,基于工具鏈進(jìn)行研究最好。
原文標(biāo)題:如何理解SOA是一種模板軟件架構(gòu)?
文章出處:【微信公眾號:汽車電子設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
責(zé)任編輯:haq
-
通信
+關(guān)注
關(guān)注
18文章
5977瀏覽量
135870 -
SOA
+關(guān)注
關(guān)注
1文章
283瀏覽量
27426 -
自動駕駛
+關(guān)注
關(guān)注
783文章
13694瀏覽量
166165
原文標(biāo)題:如何理解SOA是一種模板軟件架構(gòu)?
文章出處:【微信號:QCDZSJ,微信公眾號:汽車電子設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論