SOA到AP AUTOSAR
在《AP AUTOSAR & SOA》中,我們主要介紹了SOA的通信機制,并簡單介紹了SOA的概念。知道了它不是具體的技術實現,那么SOA是一種模板軟件架構如何理解呢?
我們將模板軟件架構拆開來理解:
-
模板:基于現有標準、技術等實現一套用于設計和開發應用程序的原則和方法
-
軟件:這里的軟件代表著一種軟件設計模式,可以使用互操作服務的形式來開發軟件
-
架構:這里的架構是指一種架構設計模式,按照服務所屬所指定的約束和策略來執行
-
軟件架構:是指由系統元素及其外部可見屬性以及他們之間的關系組成。
所以,筆者認為SOA是一種模板軟件架構,并不是具體的技術實現。因為SOA不涉及具體技術實現的內容!這也能對應了SOA是SOA-RM的一種應用!這里對SOA中服務的概念進行一個簡單說明:
-
服務是最基本的單元,一種能夠訪問一個或多個功能的機制
理解了SOA是一種模板軟件架構,那么為什么AP AUTOSAR是一種SOA,筆者認為主要體現在以下方面:
從模板的角度出發來理解,AP AUTOSAR提供了一套開發應用程序的方法即AP AUTOSAR方法論,主要分為三部分:
-
架構與設計(下圖藍色框),包含:
-
開發一個服務接口描述
-
通過Machine Design開發通信結構
-
軟件開發(下圖綠色框),包含:
-
開發Application-Level類型的軟件
-
開發Platform-Level類型的軟件
-
集成與部署(下圖黑色框),包含:
-
定義和配置Machine
-
創建Execution Manifest
-
定義和配置Service Instance
-
等等

從軟件方面理解:
AP AUTOSAR使用互操作服務的形式進行軟件開發,機制如下:
主要包含兩個角色:
-
服務提供者
-
服務消費者
-
兩者之間是通過通信管理中間件(CMM)傳輸層進行通信。通信管理中間件主要以下通信方式(協議約束):
-
SOME/IP
-
DDS
服務提供者和服務消費者之間的連接是CMM在運行時動態創建的!

需要提到的是,AP AUTOSAR中采用了服務骨架(Service Skeleton)與服務代理(Service Proxy)模式,服務骨架與服務代理是根據 ” 服務接口定義 “ 生成的。
PS:那么SOME/IP如何設計,DDS又如何設計?我們將會在后期《搞一下SOA》系列與《搞一下整車以太網》系列中進行分享(需解鎖全系哦!)
筆者認為,單一個軟件通信還不足以成為軟件架構,AP AUTOSAR除了通信之外,還有其他的系統元素,如:與存儲相關的ara::per 功能集群。詳細的架構圖如下,我們也在《What AP AUTOSAR》中對上述每個功能集群進行了簡單的描述。
因此,筆者認為,AP AUTOSAR是SOA(注意這里是SOA,不是SOA-RM),是一種模板軟件架構!

上圖中需要提到的是,AP AUTOSAR規定,Application只能直接訪問POSIX的PSE51接口,不能直接訪問非PSE51接口。PS:《搞一下汽車電子》也為各位解鎖全系的朋友準備了原版的《IEEE1003.13》,在公眾號菜單欄聯系我們進行獲取
解釋了為什么AP AUTOSAR是SOA,我們再來總結一下what AP AUTOSAR?
-
SOA:動態創建連接
-
中間件:承上啟下
-
標準:規范API及功能、規范交互方式、規范開發方法

這里筆者也總結了一下AP AUTOSAR的特性:
靈活的軟件配置
-
Security & Safety
-
并行處理
-
與現有標準及規范的兼容
-
基于POSIX標準
-
動態分配內存
-
SOA
我們從SOA-RM出發,分析了AP AUTOSAR。AP AUTOSAR也剛發布了R2011版本,本系列后期也會結合AP AUTOSAR R20-11的新特性來分享《搞一下AP AUTOSAR進階應用》,因此,這里筆者為大家整理了一下AP AUTOSAR R20-11的一些更新!
轉載車聯網相關文章
轉自汽車電子設計