Adaptive AUTOSAR 學習筆記 5 – 架構 – 物理視圖

本系列學習筆記基於 AUTOSAR Adaptive Platform 官方文檔 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf

縮寫

AP:AUTOSAR Adaptive Platform
AA:Adaptive Application
ARA:AUTOSAR Runtime for Adaptive Applications
FC:Functional Cluster
CM:Communication Management
RS:Requirement Specification
SWS:Software Specification

3.2 物理視圖

本節內容僅為解釋說明,不能替代正式需求規範,AP 內部仍由實現決定。更多關於 AP 內部架構細節,請參考 EXP_SWArchiteture。

3.2.1 系統、進程和線程

AP 操作系統必須提供 POSIX 多進程支持:

  • 每個 AA 都是一個獨立的進程,有獨立的邏輯內存地址空間和命名空間
  • 注意:一個 AA 可以有多個進程,可以部署在一個 AP 實例或分佈在多個 AP 實例上
  • 從模塊組織的角度來看,每個進程都是 OS 從可執行文件實例化出來的
  • 多個進程可以由一個可執行文件實例化
  • AA 也可以由多個可執行文件組成

FC 一般實現為進程:

  • 一個 FC 可以實現為單進程或多進程
  • AP Service 或 非平台 Service(由 AA 提供的服務)都實現為進程

以上進程都可以是單線程/多線程。他們能用的 OS API 根據他們所在的邏輯層而不同:

  • ARA 之上的 AA 只能用 PSE51
  • 如果一個進程是 FC,能使用所有的 OS 接口

總結:在 OS 看來,AP 和 AA 都是一系列的進程,每個進程包括一個或多個線程,這些進程之間沒有區別。儘管 AP 實現可以進行某種劃分。進程之間通過 IPC 或其他系統功能(ara::com)交互。注意:AA 進程之間不能直接 IPC 進程間通信,只能通過 ARA 通信。

3.2.2 基於庫或服務的 FC 實現

如圖 3-1 AP 架構邏輯視圖所示,一個 FC 可以是 Foundation 也可以是 Service。兩者通常都是進程。他們如果想要和 AA(也是進程)通信,需要通過進程間通信。除此之外,還有兩種方式:

  • 基於庫的設計:FC 提供接口庫,鏈接到 AA,直接調用 IPC;
  • 基於服務的設計:進程通過 CM 通信,AA 鏈接服務代理庫。代理庫調用 CM 的接口,處理 AA 和 Server 進程的通信。注意:AA 是否只和 CM 直接進程間通信還是混合代理庫和 Server 通信是由實現決定的。

一般來說,如果 FC 只適用於本地 AP 實例,基於庫的設計更合適,簡單、高效。如果是分佈式的場景,用於其他 AP 實例,建議使用基於服務的設計。因為 CM 可以封裝差異,忽略 AA 和 Service 的位置,提供統一的通信方式。AP Foundation 的 FC 都是基於庫的,AP Service 的 FC 都是基於服務的。正如他們的名字所指代的。

最後要注意,只要滿足 FC 的 RS 和 SWS,FC 的實現可以只有庫,沒有進程,運行在 AA 的上下文。這種情況下,AA 和 FC 的交互就是普通的函數調用,而不是上面描述的 IPC。

3.2.3 FC 之間的交互

FC 之間可以按照實現特有的方式交互,因為他們不受限於 ARA 接口。比如 ARA 的 PSE51 接口限制,限制了 IPC。他們可以使用其他 FC 的 ARA public 接口。FC 之間典型的交互模型是使用 FC 的 protected 接口,提供一些特權,以實現特定的 FC 功能。

此外,從 AP R18-03 開始,引入了新的概念 IFC(Inter-Functional-Cluster)接口,描述了 FC 向其他 FC 提供的接口。注意,這不是 ARA 的一部分,也不是 AP 實現的正式規範。只是通過澄清 FC 之間的交互來幫助開發 AP 規範,並且向 AP 規範的用戶提供了更好的架構視角。這些接口在各個 FC 的 SWS 附錄中有介紹。

3.2.4 機器/硬件

AP 把運行它的硬件叫做機器(Machine),背後的原因是想有個統一的平台,不論底層使用了什麼虛擬化技術。機器可以是真實的物理機器、完全虛擬化的機器、准虛擬化的系統、系統級虛擬化的容器或其他任意虛擬環境。

硬件(一般假定只有單一芯片)之上可以有一個或多個機器,一個機器上只能有一個 AP 實例。只要 AP 的實現支持,也可以多個芯片共同組成一個機器

更多關於 Adaptive AUTOSAR 文章

//www.cnblogs.com/tengzijian/category/1995263.html