自適應(yīng)平臺(tái)AUTOSAR(AP AUTOSAR)是面向未來(lái)高性能計(jì)算和復(fù)雜電子電氣架構(gòu)的汽車軟件平臺(tái)標(biāo)準(zhǔn)。其核心在于支持動(dòng)態(tài)、靈活的軟件部署與更新,其中對(duì)自適應(yīng)應(yīng)用程序及其應(yīng)用軟件服務(wù)的定義與管理是其架構(gòu)設(shè)計(jì)的關(guān)鍵。
1. 自適應(yīng)應(yīng)用程序的定義
在AP AUTOSAR中,自適應(yīng)應(yīng)用程序(Adaptive Application) 是指運(yùn)行在自適應(yīng)平臺(tái)上的軟件功能單元,通常以可執(zhí)行文件(Executable) 或進(jìn)程(Process) 的形式存在。與經(jīng)典平臺(tái)(CP AUTOSAR)基于靜態(tài)配置的軟件組件(SWC)不同,自適應(yīng)應(yīng)用程序具有以下特點(diǎn):
- 動(dòng)態(tài)性:支持運(yùn)行時(shí)啟動(dòng)、停止、更新和通信,無(wú)需重啟整個(gè)系統(tǒng)。
- 隔離性:通常運(yùn)行在獨(dú)立的用戶空間進(jìn)程中,通過(guò)操作系統(tǒng)和平臺(tái)服務(wù)實(shí)現(xiàn)資源與故障隔離。
- 服務(wù)化:應(yīng)用程序的功能通過(guò)服務(wù)(Services) 的形式提供和消費(fèi),遵循面向服務(wù)的架構(gòu)(SOA)原則。
2. 應(yīng)用軟件服務(wù)的定義與角色
應(yīng)用軟件服務(wù)(Application Software Services) 是自適應(yīng)應(yīng)用程序功能的具體體現(xiàn),也是平臺(tái)中功能調(diào)用的核心接口。其定義包括:
- 服務(wù)接口(Service Interface):使用AUTOSAR自適應(yīng)平臺(tái)服務(wù)接口描述語(yǔ)言(ARA::COM) 定義。接口明確了方法(Methods)、事件(Events)和字段(Fields),提供了類型安全的通信契約。
- 服務(wù)實(shí)例(Service Instance):服務(wù)接口的具體實(shí)現(xiàn)和運(yùn)行時(shí)實(shí)體。一個(gè)自適應(yīng)應(yīng)用程序可以提供一個(gè)或多個(gè)服務(wù)實(shí)例,同時(shí)也可以消費(fèi)其他應(yīng)用程序或平臺(tái)核心提供的服務(wù)。
- 通信機(jī)制:基于發(fā)布/訂閱(Publish/Subscribe) 和請(qǐng)求/響應(yīng)(Request/Response) 模式,通常通過(guò)底層SOME/IP等中間件協(xié)議實(shí)現(xiàn)。
3. 應(yīng)用軟件服務(wù)的管理機(jī)制
AP AUTOSAR通過(guò)一系列核心功能集群(Functional Clusters)來(lái)管理應(yīng)用程序及其服務(wù)的生命周期、通信和狀態(tài)。
a) 執(zhí)行管理(Execution Management, EM)
- 負(fù)責(zé)自適應(yīng)應(yīng)用程序的啟動(dòng)、停止和監(jiān)控。它根據(jù)清單文件(Manifest)中的配置,啟動(dòng)應(yīng)用程序進(jìn)程,并為其分配唯一的標(biāo)識(shí)符。
- 管理應(yīng)用程序的狀態(tài)(如STARTING, RUNNING, TERMINATING)。
b) 通信管理(Communication Management)
- ARA::COM 是應(yīng)用軟件服務(wù)通信的核心框架。它為服務(wù)發(fā)現(xiàn)(Service Discovery)、服務(wù)發(fā)布與訂閱、遠(yuǎn)程方法調(diào)用等提供標(biāo)準(zhǔn)化API。
- 服務(wù)注冊(cè)與查找:服務(wù)提供者在啟動(dòng)時(shí)向服務(wù)注冊(cè)表(Service Registry) 注冊(cè)其實(shí)例,消費(fèi)者則動(dòng)態(tài)查找所需服務(wù)。
c) 狀態(tài)管理(State Management, SM)
- 管理平臺(tái)和應(yīng)用程序功能組(Function Group)的整體狀態(tài)(如STARTUP, SHUTDOWN, UPDATE)。
- 協(xié)調(diào)應(yīng)用程序在特定平臺(tái)狀態(tài)下的行為,例如在系統(tǒng)關(guān)閉時(shí)有序地停止所有應(yīng)用服務(wù)。
d) 配置與清單(Manifest)
- 每個(gè)自適應(yīng)應(yīng)用程序都伴隨一個(gè)機(jī)器可讀的清單文件(通常基于XML或JSON格式)。
- 清單中明確定義了:
- 應(yīng)用程序的可執(zhí)行文件路徑和資源需求。
- 它提供(offers) 和需要(requires) 的服務(wù)接口及實(shí)例。
- 與其他應(yīng)用程序或服務(wù)的依賴關(guān)系。
- 非功能屬性,如權(quán)限、安全憑據(jù)和健康監(jiān)控配置。
- 該清單是執(zhí)行管理、通信管理和部署工具進(jìn)行管理的基礎(chǔ)。
e) 診斷與健康監(jiān)控(Diagnostics & Health Monitoring)
- 通過(guò)UCM(Update and Configuration Management) 和 PHM(Platform Health Management) 等模塊,監(jiān)控應(yīng)用程序及其服務(wù)的運(yùn)行狀況,支持故障報(bào)告、恢復(fù)和動(dòng)態(tài)更新。
4. 服務(wù)交互的生命周期示例
- 設(shè)計(jì)時(shí):工程師使用建模工具(如AUTOSAR建模工具鏈)定義服務(wù)接口和應(yīng)用程序清單。
- 部署時(shí):將應(yīng)用程序可執(zhí)行文件及其清單部署到目標(biāo)機(jī)器的特定位置(如容器或文件系統(tǒng))。
- 啟動(dòng)時(shí):執(zhí)行管理根據(jù)清單啟動(dòng)應(yīng)用程序進(jìn)程。應(yīng)用程序啟動(dòng)后,其服務(wù)代理自動(dòng)向通信管理框架注冊(cè)其提供的服務(wù)實(shí)例。
- 運(yùn)行時(shí):
- 服務(wù)消費(fèi)者通過(guò)ARA::COM API查找并綁定到所需的服務(wù)實(shí)例。
- 雙方通過(guò)代理(Proxy)和骨架(Skeleton)模式進(jìn)行類型安全的遠(yuǎn)程通信。
- 狀態(tài)管理協(xié)調(diào)系統(tǒng)級(jí)狀態(tài)轉(zhuǎn)換,執(zhí)行管理監(jiān)控應(yīng)用程序進(jìn)程的生命周期。
- 更新/終止時(shí):可通過(guò)UCM模塊進(jìn)行服務(wù)的動(dòng)態(tài)更新或替換。狀態(tài)管理觸發(fā)有序關(guān)閉,執(zhí)行管理終止進(jìn)程。
###
AP AUTOSAR通過(guò)將自適應(yīng)應(yīng)用程序定義為以服務(wù)為核心、清單為藍(lán)本的獨(dú)立進(jìn)程,并結(jié)合執(zhí)行管理、通信管理、狀態(tài)管理三大支柱,實(shí)現(xiàn)了對(duì)應(yīng)用軟件服務(wù)的動(dòng)態(tài)、靈活且可靠的定義與管理。這種面向服務(wù)的架構(gòu)使得汽車軟件能夠更好地支持OTA更新、功能擴(kuò)展以及復(fù)雜的功能集成,滿足了智能網(wǎng)聯(lián)汽車對(duì)高計(jì)算性能、高可擴(kuò)展性和高安全性的需求。