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