一
AUTOSAR 平臺邏輯體系結(jié)構(gòu)
圖示邏輯體系結(jié)構(gòu)描述了平臺是如何組成的,有哪些模塊,模塊之間的接口是如何工作的。
經(jīng)典平臺具有分層的軟件體系結(jié)構(gòu)。定義明確的抽象層,每個抽象層都有精確定義的角色和接口。
對于應(yīng)用程序,我們需要考慮使用的軟件組件,希望它們是可重用的,因此應(yīng)該盡可能小,依賴性盡可能少。組件被靜態(tài)地分配給ECU,并且通過靜態(tài)連接發(fā)送/接收的信號進行通信。
AUTOSAR實現(xiàn)了軟件和硬件的分離,使得軟件可以在不同的硬件平臺上運行。
AUTOSAR采用了一種統(tǒng)一的XML文件格式,用于描述軟件架構(gòu)和配置信息。
AUTOSAR具有很高的靈活性,可以根據(jù)不同的需求進行定制和擴展。
AUTOSAR支持運行時軟件更新,可以適應(yīng)不同的應(yīng)用場景。
AUTOSAR提高了軟件集成的效率和擴展性,使得軟件可以更容易地進行重用和遷移
AUTOSAR為上層開發(fā)者提供了標(biāo)準(zhǔn)化的接口和協(xié)議,使得開發(fā)者可以專注于應(yīng)用功能的開發(fā)。
在軟件開發(fā)過程階段,CP與AP都主要都包括以下三個階段:
1.設(shè)計階段:
設(shè)計ARXML
2.代碼生成:基于ARXML生成代碼
3.集成:集成Application,編譯調(diào)試等
二
AUTOSAR AP平臺邏輯體系結(jié)構(gòu)
AP AUTOSAR的核心是自適應(yīng)應(yīng)用程序(Adaptive Application),它是一種可以根據(jù)運行時環(huán)境動態(tài)調(diào)整的軟件組件。那么,AP AUTOSAR是如何定義和管理自適應(yīng)應(yīng)用程序的呢?下面將為你介紹AP AUTOSAR的邏輯視圖和功能集群,詳解自適應(yīng)應(yīng)用程序的運行環(huán)境。
AP AUTOSAR的邏輯視圖是一種抽象的軟件架構(gòu),它描述了自適應(yīng)應(yīng)用程序的功能需求,接口,依賴關(guān)系和配置。邏輯視圖由多個功能集群(Feature Cluster)組成,每個功能集群包含一組相關(guān)的功能需求和接口。功能集群可以進一步劃分為多個功能組(Feature Group),每個功能組包含一組具體的功能需求和接口。功能需求和接口可以使用ARXML文件進行描述和生成。
AP AUTOSAR的功能集群是一種邏輯上的分組,它不代表實際的軟件組件或部署單元。在實際的軟件開發(fā)過程中,功能集群需要被映射到具體的軟件組件或部署單元上,這就涉及到AP AUTOSAR的另一個視圖:實現(xiàn)視圖(Implementation View)。實現(xiàn)視圖描述了自適應(yīng)應(yīng)用程序的軟件結(jié)構(gòu),包括軟件組件,部署單元,運行時對象等。實現(xiàn)視圖和邏輯視圖之間的映射關(guān)系可以使用ARXML文件進行描述和生成。
AP AUTOSAR的運行環(huán)境是一種軟件平臺,它提供了自適應(yīng)應(yīng)用程序所需的基礎(chǔ)服務(wù),如通信,配置,診斷,安全等。運行環(huán)境由多個服務(wù)層(Service Layer)組成,每個服務(wù)層提供了一類特定的服務(wù)。服務(wù)層之間通過面向服務(wù)架構(gòu)(Service Oriented Architecture, SOA)進行交互,即通過發(fā)布-訂閱模式(Publish-Subscribe Pattern)進行異步消息傳遞。運行環(huán)境可以在不同的硬件平臺和操作系統(tǒng)上運行,通過硬件BSP進行適配。
自適應(yīng)平臺采用模塊化軟件體系結(jié)構(gòu)。它比經(jīng)典分層軟件架構(gòu)更模塊化,反映了平臺的動態(tài)特性。這種動態(tài)性也是平臺的核心需求;
AP遵循面向服務(wù)的架構(gòu),SOA設(shè)計理念,充分利用各種開源軟件成熟技術(shù),重用軟件市場成熟組件,縮短開發(fā)周期。在ECU的生命周期內(nèi)有獨立更新應(yīng)用程序的能力。
三
Adaptive PlatformArchitecture
AP AUTOSAR的邏輯視圖體現(xiàn)了其相應(yīng)的體系結(jié)構(gòu),如下圖所示:
AP AUTOSAR的邏輯視圖體現(xiàn)了其相應(yīng)的體系結(jié)構(gòu),如下圖所示:
lAA(Adaptive Application)
自適應(yīng)應(yīng)用程序運行在AUTOSAR Runtime for Adaptive Applications (ARA)之上,用于實現(xiàn)碰撞預(yù)警、車道保持、自動駕駛等復(fù)雜的汽車功能。AA可以使用C++語言編寫,也可以使用模型驅(qū)動開發(fā)(Simulink)工具生成。
lARA(AUTOSAR Runtime for Adaptive applications)
自適應(yīng)應(yīng)用程序的運行平臺:提供了AA所需的運行時環(huán)境,包括內(nèi)存管理、進程管理、文件安全讀寫、日志記錄等。ARA由功能集群(Functional Clusters,F(xiàn)Cs)提供的應(yīng)用程序接口組成,這些群集屬于Adaptive Foundation或Adaptive Services。Adaptive Foundation提供了AP的基本功能,而Adaptive Services提供了AP的平臺標(biāo)準(zhǔn)服務(wù)。
lAdaptive Foundation
提供了AP AUTOSAR的基礎(chǔ)功能,如服務(wù)發(fā)現(xiàn)、事件發(fā)布訂閱、請求回復(fù)、持久化數(shù)據(jù)管理等。這些服務(wù)主要是為了實現(xiàn)AA之間以及AA與外部系統(tǒng)之間的面向服務(wù)的通信(Service-Oriented Communication,SOC),基于以太網(wǎng)和SOME/IP協(xié)議。此外,還包括操作系統(tǒng)接口、執(zhí)行管理、平臺健康管理(看門狗)、網(wǎng)絡(luò)管理、診斷通信、時間同步等。這些功能主要是為了支持ARA和AA的運行。
lAdaptive Services
提供了AP AUTOSAR的標(biāo)準(zhǔn)服務(wù),狀態(tài)管理(特定于項目實現(xiàn)),網(wǎng)絡(luò)管理,更新配置管理(UCM)即我們比較熟悉的運行時軟件更新(OTA)。
Adaptive AUTOSAR構(gòu)建在POSIX操作系統(tǒng)之上,ARA可以提供多種功能供應(yīng)用程序調(diào)用來實現(xiàn)軟硬件解耦、為上層應(yīng)用提供服務(wù)。
四
Adaptive AUTOSAR 術(shù)語——Machine
Adaptive AUTOSAR是一種基于服務(wù)的軟件平臺,它支持高性能、靈活和可更新的汽車應(yīng)用程序。
Adaptive AUTOSAR的邏輯體系結(jié)構(gòu)是基于Machine的概念構(gòu)建的,Machine是指運行環(huán)境所需的物理資源,如處理器、內(nèi)存、網(wǎng)絡(luò)等。
一個Machine可以包含一個或多個ECU,但只能運行一個AUTOSAR Adaptive Instance(AUTOSAR平臺的實例即AP實例)。每個AP實例都有自己的功能集群,可以實現(xiàn)不同的服務(wù)和應(yīng)用。
在Adaptive AUTOSAR中,Adaptive Application是用C++編寫的,它們在Machine上以進程的形式運行。進程之間通過服務(wù)進行通信和協(xié)作。
Machine可以是高性能計算機(HPC),它們提供了數(shù)據(jù)密集型應(yīng)用所需的計算能力。HPC可以包含多個核心,Adaptive Application可以通過進程到Machine的映射分配到不同的核心上。
一個重要的概念是,AUTOSAR的作用域是Machine,也就是運行環(huán)境所依賴的物理資源。每個Machine都有自己獨立的功能集群和服務(wù),它們可以實現(xiàn)不同的汽車應(yīng)用程序。AUTOSAR也允許在同一個Machine上運行一些非AUTOSAR的進程,但是這些進程不受AUTOSAR平臺實例的管理和約束。
adaptive autosar machine的啟動過程包括哪幾個步驟?
adaptive autosar machine的啟動過程包括哪幾個步驟?
機器啟動,操作系統(tǒng)最先初始化,然后執(zhí)行管理(EM)作為操作系統(tǒng)的初始進程之一啟動。
EM負責(zé)啟動其他功能簇(FC)和平臺應(yīng)用。
平臺基礎(chǔ)(Foundation)啟動后,EM繼續(xù)啟動adaptive應(yīng)用(AA)。
EM根據(jù)machine manifest和execution manifest決定啟動順序。
如果AP從可信錨點(trust anchor)啟動,并且在啟動過程中維護信任鏈(chain of trust),則EM可以支持認證啟動(authenticated startup)。認證啟動啟動過程中,EM驗證應(yīng)用的真實性和完整性,如檢測出異常,則阻止應(yīng)用運行。
Adaptive application(AA):承載Service的應(yīng)用實體
Executable:App的運行時實體,一個可執(zhí)行程序可以包含多個服務(wù)實例
Process :OS運行調(diào)度的實體
Machine:運行環(huán)境的物理資源
AUTOSAR使用ARXML格式文件進行建模 :
通過正式定義的接口來使用服務(wù)
實現(xiàn)服務(wù)有三種方式Event Method Field
定義服務(wù)傳輸?shù)臄?shù)據(jù)類型
App之間的通信端口,需要在component 元素中定義provide/require Port
adaptive autosar machine的啟動過程涉及到以下幾個概念:
清單是一種用來描述AP AUTOSAR軟件系統(tǒng)的文件,它可以告訴我們怎么安裝和運行軟件。清單文件的格式是XML,它們可以通過ARXML工具進行生成和處理。
清單有三種不同的類型,分別是:
Execution Manifest
Execution Manifest在設(shè)計期間創(chuàng)建,提供應(yīng)用部署所需的信息,定義每個可執(zhí)行文件實例化幾個進程(幾次),每個進程的的啟動參數(shù)、環(huán)境變量、UID/GID、資源組、調(diào)度策略、何時啟動、停止等都可以獨立配置。
在RTA-VRTE中配置Execution Manifest
添加一個AA進程我們需要做幾方面的配置:
1.配置AA進程相關(guān)的FunctionGroupstate
2.選擇AA將要部署在哪個Machine上
3.AA進程的啟動參數(shù)和環(huán)境變量(依賴的庫和配置文件等信息)
4.AA進程的Log模塊配置
5.AA是否向EM匯報執(zhí)行狀態(tài)
6.設(shè)置AA所屬于的Resource Group,來控制AA所在的功能組所占用的內(nèi)存和cpu使用率。
7.選擇AA進程中的線程的調(diào)度算法(FIFO、RR、other)
Machine Manifest
Machine Manifest實際運行在特定硬件(機器)上的adaptive平臺實例的配置,它包含了 machine屬性,特性(資源,功能安全,信息安全等),例如machine state、function group state、resource group、訪問權(quán)限組、SOME/IP配置、內(nèi)存分區(qū)、硬件資源,如處理器和核心等等。
每個machine都配置有關(guān)function groups、software clusters和process到machine的映射等相關(guān)信息。
在RTA-VRTE中配置MachineManifest
在ARXML文件中,我們可以配置Machine的以下屬性和特征:
狀態(tài):Machine的運行狀態(tài),如啟動、停止、重啟等。
進程:Machine的執(zhí)行單元,如應(yīng)用邏輯、中斷、函數(shù)等。
網(wǎng)絡(luò):Machine的通信方式,如Ethernet等。
服務(wù):Machine的提供或請求的功能,如診斷、校準(zhǔn)、更新等。
每個Machine都有自己獨立的功能集群和服務(wù),它們可以實現(xiàn)不同的汽車應(yīng)用程序。每個Machine需要與一個Machine Design相關(guān)聯(lián),Machine Design是用來定義不同Machine之間如何協(xié)作和交互的。
下表展示了Machine和Machine Design的關(guān)系:
每個Machine都需要至少一個IP配置,因為在網(wǎng)絡(luò)中,每個Machine都是一個獨立的end point。IP配置包括IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)等信息,用于標(biāo)識和定位Machine。沒有IP配置,Machine就無法與其他Machine或設(shè)備進行通信。
軟件集群(software cluster)一種原子的、可更新的、可擴展的軟件單元,由一個或多個進程組成,實現(xiàn)了一組特定的功能或應(yīng)用程序。軟件集群的作用是將應(yīng)用程序和服務(wù)按照功能或特性進行分組和管理,提高了開發(fā)和部署的靈活性和效率。
軟件集群通常需要配置以下幾項內(nèi)容:
功能組(Function group)
用來說明軟件集群包含了什么樣的功能,比如導(dǎo)航、泊車、通訊等。
進程
用來執(zhí)行具體的軟件代碼,比如導(dǎo)航進程、泊車進程、通訊進程等。一個軟件集群可以包含多個進程,但是它們要有相同的功能組。
設(shè)計(software cluster design)
用來描述軟件集群的結(jié)構(gòu)和屬性,比如名稱、版本、大小、依賴關(guān)系等。
softwareclusterdesign需要和MachineDesign相關(guān)聯(lián)
softwarecluster需要和softwarecluster design相關(guān)聯(lián)
Function Group State:功能組狀態(tài),是指一個功能集群(Function Group)的整體狀態(tài),它反映了該功能集群內(nèi)部所有進程或自適應(yīng)應(yīng)用程序的執(zhí)行狀態(tài)的綜合情況。功能組狀態(tài)由狀態(tài)管理(State Management)模塊控制和監(jiān)視。
在ARXML文件中,我們可以配置執(zhí)行管理的以下功能:
·控制進程(Process)的啟動和停止,根據(jù)功能組(Function Group)的狀態(tài)(Function Group State)。
·定義功能組,需要創(chuàng)建一個新的模式聲明組(Mode Declaration Group),并將它和功能組集(Function Group Set)關(guān)聯(lián)。功能組集和軟件集群(Software Cluster)關(guān)聯(lián)。
·在MachineFG中添加Machine的四種狀態(tài):Off、Startup、Restart、shutdown,并將MachineFG設(shè)置初始狀態(tài)為OFF。
下表展示了功能組和狀態(tài)的關(guān)系:
MachineFG Function Group Transitions
功能組是一種邏輯分組,用于將具有相同或相似功能的進程聚合在一起。功能組可以有多個狀態(tài),表示該功能組所包含的進程的運行情況。執(zhí)行管理根據(jù)功能組的狀態(tài),決定是否啟動或停止該功能組所包含的進程。這樣可以提高執(zhí)行效率,節(jié)省資源,實現(xiàn)動態(tài)調(diào)度。
Service Instance Manifest
Service Instance Manifest 主要包含面向服務(wù)通信的配置信息,描述針對特定的傳輸協(xié)議(如SOME/IP),進行面向服務(wù)通信的配置和可執(zhí)行代碼綁定(服務(wù)實例到機器的映射、服務(wù)實例到應(yīng)用端點的映射),還包含基于服務(wù)的通信相關(guān)信息,如應(yīng)用層及相應(yīng)的傳輸層、網(wǎng)絡(luò)層通信參數(shù)信息。
在RTA-VRTE中配置Service Instance Manifest
Processed Manifest
Execution Manifest和Machine Manifest可以從原始的標(biāo)準(zhǔn)化ARXML轉(zhuǎn)換為特定于平臺的格式(稱為Processed Manifest處理清單),在機器啟動時可以有效地讀取。
格式轉(zhuǎn)換可以在集成時在板外或部署時進行,也可以在安裝時在機器上(通過更新和配置管理)進行。
借著狀態(tài)轉(zhuǎn)換圖來介紹一下AP AUTOSAR中用來描述Machine和功能集群的狀態(tài)和行為的process state, Execution state, Function Group State, Machine State概念。
它們的含義如下:
process state:
進程狀態(tài),是指一個功能集群(Function Group)內(nèi)部的一個進程(Process)或者一個AA的生命周期狀態(tài)。進程狀態(tài)有四種可能的值:未創(chuàng)建(NotCreated)、創(chuàng)建中(Creating)、已創(chuàng)建(Created)和銷毀中(Destroying)。進程狀態(tài)由進程管理(Process Management)模塊控制和監(jiān)視。
Execution state:
執(zhí)行狀態(tài),是指一個功能集群(Function Group)內(nèi)部的一個進程(Process)或者一個AA的運行狀態(tài)。執(zhí)行狀態(tài)有四種可能的值:未啟動(NotStarted)、啟動中(Starting)、運行中(Running)和停止中(Stopping)。執(zhí)行狀態(tài)由執(zhí)行管理(Execution Management)模塊控制和監(jiān)視。
Function Group State:
功能組狀態(tài),是指一個功能集群(Function Group)的整體狀態(tài),它反映了該功能集群內(nèi)部所有進程或自適應(yīng)應(yīng)用程序的執(zhí)行狀態(tài)的綜合情況。功能組狀態(tài)有五種可能的值:未啟動(NotStarted)、啟動中(Starting)、運行中(Running)、停止中(Stopping)和已停止(Stopped)。功能組狀態(tài)由狀態(tài)管理(State Management)模塊控制和監(jiān)視。
Machine State:
機器狀態(tài),是指一個Machine的整體狀態(tài),它反映了該Machine上所有功能集群的功能組狀態(tài)的綜合情況。機器狀態(tài)有幾種可能的值:未啟動(Off)、啟動(Startup)、關(guān)機(Shutdown)和重啟(Restart)。機器狀態(tài)通常會引用功能組狀態(tài)。
狀態(tài)金字塔
五
Adaptive AUTOSAR 平臺架構(gòu)
在AP架構(gòu)下,同一臺機器上的自適應(yīng)應(yīng)用程序都實現(xiàn)為一個獨立的進程,都有自己的邏輯內(nèi)存和命名空間相互隔離,以確保相互不受干擾。這是由操作系統(tǒng)的MMU內(nèi)存管理單元提供的。這也是AP模塊化的由來。
單個AA可能包含一個或多個進程,可以部署到單個AP實例上,也可以分布在多個AP實例上。從模塊來看,每個進程都是由操作系統(tǒng)從可執(zhí)行文件中實例化的,一個可執(zhí)行文件可實例化多次。這些進程都是運行在操作系統(tǒng)之上的,進程是動態(tài)運行的,何時調(diào)用、進程生存周期、資源占用及進程結(jié)束等,都是系統(tǒng)動態(tài)管理,好比你手機上的App何時打開、運行后其會調(diào)用的資源及何時關(guān)閉都是動態(tài)進行的。
AP平臺需要提供相關(guān)模塊的SDK和守護進程等。應(yīng)用程序可以調(diào)用SDK提供的API來調(diào)用模塊的功能,比如應(yīng)用程序之間的通信,我們可以調(diào)用COM模塊提供的API,可以進行片內(nèi)或片間通信。
這跟CP架構(gòu)有著顯著的區(qū)別,在CP架構(gòu)下,所有應(yīng)用都是靜態(tài)配置的,即應(yīng)用的進程在OS中被寫死,軟件功能在編譯階段就確定了,其調(diào)用的周期也是確定,因此基于CP架構(gòu)的軟件一旦有小的應(yīng)用變更就得重新配置和編譯。
應(yīng)用程序的加載/啟動是通過使用EM的功能進行管理的,并且需要在系統(tǒng)集成或運行時進行適當(dāng)?shù)呐渲貌拍軉討?yīng)用程序,軟件功能在運行時才可以確定。從EM的角度來看,所有功能集群都是應(yīng)用程序。
Adaptive autosar是一種用于高性能計算ECU的軟件平臺,它支持自適應(yīng)應(yīng)用程序的開發(fā)和運行1。它由兩部分組成:基礎(chǔ)(Foundation)和服務(wù)(Service)。基礎(chǔ)包括了操作系統(tǒng)接口、執(zhí)行管理、網(wǎng)絡(luò)管理、識別訪問管理、加密、更新和配置管理等功能。服務(wù)包括了通信管理、RESTful、時間同步、診斷、狀態(tài)管理、持久性、平臺健康管理、日志和跟蹤等功能。
Adaptive autosar各模塊的功能如下:
執(zhí)行管理 execution management (EM)
功能描述:EM負責(zé)系統(tǒng)執(zhí)行管理的所有方面,包括平臺初始化和應(yīng)用的啟動和關(guān)閉。EM和OS一起工作執(zhí)行應(yīng)用運行時間的調(diào)度。
AP AUTOSAR執(zhí)行管理模塊可以實現(xiàn)以下功能:
1.啟動和關(guān)閉Machine,配置和加載應(yīng)用程序,處理啟動和關(guān)閉過程中的錯誤和異常。
2.控制應(yīng)用程序的執(zhí)行狀態(tài),設(shè)置應(yīng)用程序的調(diào)度參數(shù),監(jiān)控應(yīng)用程序的狀態(tài)、資源、性能,處理應(yīng)用程序之間的同步和通信。
3.管理功能組的狀態(tài),實現(xiàn)功能組之間的協(xié)調(diào)和一致性,根據(jù)不同的場景和需求,動態(tài)地切換功能組的狀態(tài)。
4.處理平臺和應(yīng)用程序中發(fā)生的錯誤和異常,根據(jù)不同的錯誤類型和嚴重程度,采取相應(yīng)的恢復(fù)措施。
狀態(tài)管理(State Management)
功能描述:
SM模塊(State Management)是一種實現(xiàn)狀態(tài)管理和事件處理功能的軟件組件。SM模塊負責(zé)所有和AP平臺運行狀態(tài)相關(guān)的方面。
主要功能:
?處理輸入的事件,如診斷請求、喚醒事件、錯誤恢復(fù)等,并根據(jù)事件類型和優(yōu)先級來設(shè)置內(nèi)部狀態(tài)。
?將自適應(yīng)應(yīng)用程序進程分配到功能組狀態(tài)(inc. the Machine State)
?根據(jù)狀態(tài)更改啟動/停止應(yīng)用程序
?AUTOSAR觸發(fā)器接口——用于提示狀態(tài)更改
?AUTOSAR ara::StateClient API
?與ara::diag, ara::exec, ara::nm & ara::ucm模塊的交互
執(zhí)行管理與SM的交互
核心類型:Core TYPES:
功能描述:
定義了多個FCs的公共類接口和公共功能。包括接口定義中經(jīng)常使用的常見復(fù)雜數(shù)據(jù)類型。
主要功能:
?由于AP平臺它具有功能安全的屬性,通常而言我們是不可以使用C++的異常機制的(由于ASIL認證的c++編譯器缺乏異常支撐),因此AP平臺它引入了ara::ErrorCode錯誤碼以及ara::Result的概念。允許進程在不拋出異常的情況下進行錯誤處理。
?AP還定義了一些了增強的數(shù)據(jù)類型,這些數(shù)據(jù)類型統(tǒng)一封裝在了ARA::core的命名空間。包括AP自己的內(nèi)存分配相關(guān)的數(shù)據(jù)類型如:Vector、Map和String,以及Manifest中一些constructs用到的類型如StringView,Span,Optional和Variant。
?全局初始化函數(shù),ara::Initialize和ara:: Deinitialize,此調(diào)用必須在main()內(nèi)部進行。
操作系統(tǒng)接口OSI
功能描述:
AUTOSAR Adaptive platform(AP)運行在高性能處理器上,直接基于通用的操作系統(tǒng)。
操作系統(tǒng)接口的要求如下:
1.OS提供符合PSE51標(biāo)準(zhǔn)的POSIX兼容的API接口。
2.OS支持周期性時間觸發(fā)的執(zhí)行功能,進程中的算法可以是時間觸發(fā)的。
3.OS需要提供允許應(yīng)用程序的時間觸發(fā)執(zhí)行的機制。觸發(fā)因素需要至少但不限于包含外部計時器。
4.OSI支持C++11,AP進程是用C++編寫的,接口應(yīng)該符合c++11
5.OS支持把EM拉起作為第一個執(zhí)行進程。
6.OS支持為進程或進程組配置內(nèi)存和CPU資源預(yù)算。
7.OS提供進程綁定到CPU Core的機制。
8.OS支持軟件實體對系統(tǒng)對象訪問的權(quán)限管理機制,應(yīng)用進程只能通過授權(quán)的系統(tǒng)調(diào)用來
9.OS提供多進程,以便支持應(yīng)用程序隔離。
通信管理(Communication Management)
功能描述:
通信管理模塊是一個用于實現(xiàn)服務(wù)導(dǎo)向通信的模塊,它支持多種通信協(xié)議,如SOME/IP, DDS, IPC等。
主要功能:
1.將協(xié)議無關(guān)的服務(wù)導(dǎo)向通信映射到配置的協(xié)議綁定,并執(zhí)行相應(yīng)的協(xié)議。應(yīng)用程序代碼使用服務(wù)導(dǎo)向通信的API,而不需要關(guān)心底層的協(xié)議細節(jié)。
2.支持服務(wù)發(fā)現(xiàn)、服務(wù)注冊、服務(wù)請求、服務(wù)響應(yīng)等功能,實現(xiàn)不同的通信模式和質(zhì)量,如點對點、發(fā)布訂閱、可靠、實時等。
3.支持事件、方法和字段三種類型的服務(wù),實現(xiàn)不同的數(shù)據(jù)交換和遠程調(diào)用功能。事件用于發(fā)布和訂閱數(shù)據(jù),方法用于請求和響應(yīng)數(shù)據(jù),字段用于獲取和設(shè)置數(shù)據(jù)。
4.支持端到端通信保護,使用E2E機制對通信數(shù)據(jù)進行校驗和保護,防止數(shù)據(jù)被篡改或丟失。
5.支持網(wǎng)絡(luò)管理,使用NM機制對網(wǎng)絡(luò)狀態(tài)進行監(jiān)控和控制,實現(xiàn)網(wǎng)絡(luò)節(jié)點的加入和退出,以及網(wǎng)絡(luò)喚醒和休眠等功能。
6.支持安全通信,使用加密、簽名、認證等技術(shù)保證通信的機密性、完整性和可信性。
診斷管理(Diagnostics)
功能描述:
診斷管理模塊(DM)是一種實現(xiàn)基于ISO 14229-1(UDS)和ISO 13400-2(DoIP)的ISO 14229-5(UDSonIP)的診斷服務(wù)的軟件組件。DM代表Foundation層上AP平臺的功能集群,支持多個診斷客戶端和多個軟件集群。
每個SWCL是一個單獨的軟件更新包, SWCL都可以創(chuàng)建自己的診斷服務(wù)器實例,每個診斷服務(wù)器都有自己的診斷地址和服務(wù),可以獨立地進行診斷操作 。每個診斷服務(wù)器都需要一個數(shù)據(jù)庫和一個文本文件(ru:candela文件)來配置其功能 。
主要功能:
1.診斷通信:實現(xiàn)診斷服務(wù)器的功能,支持一些標(biāo)準(zhǔn)的UDS服務(wù),如例行控制、數(shù)據(jù)標(biāo)識符、故障碼讀取和清除等。DM模塊還可以將診斷請求調(diào)度到相應(yīng)的自適應(yīng)應(yīng)用程序,以便執(zhí)行特定的診斷操作。
2.事件存儲:負責(zé)故障診斷代碼(DTC)的管理,包括DTC的存儲、更新、刪除、啟用和禁用等。DM模塊還可以管理DTC相關(guān)的快照記錄和擴展數(shù)據(jù)記錄,以及提供內(nèi)部轉(zhuǎn)換的通知。
3.傳輸層:支持DoIP作為傳輸協(xié)議,實現(xiàn)車輛發(fā)現(xiàn)和診斷通信。DoIP是一種基于IP網(wǎng)絡(luò)的車輛診斷協(xié)議,可以與診斷基礎(chǔ)設(shè)施(如診斷客戶端、生產(chǎn)/車間測試儀)進行車外通信。
網(wǎng)絡(luò)管理(Network Management)
Architecture overview with example applications
功能描述:
NM是一種網(wǎng)絡(luò)管理機制,用于控制和協(xié)調(diào)負責(zé)協(xié)調(diào)內(nèi)部協(xié)調(diào)狀態(tài)機中基礎(chǔ)網(wǎng)絡(luò)(部分網(wǎng)絡(luò),VLAN或物理通道)的正常運行和總線睡眠模式之間的轉(zhuǎn)換。它的目的是在滿足ECU節(jié)點正常通信需求的情況下,又能節(jié)省汽車蓄電池電量。
Overview Of Network Management
主要功能:
1.網(wǎng)絡(luò)請求和釋放:NM模塊為狀態(tài)管理提供了一個服務(wù)接口,用于請求和釋放網(wǎng)絡(luò)以及查詢其實際狀態(tài)。NM模塊協(xié)調(diào)不同實例(網(wǎng)絡(luò)句柄)的請求,并通過網(wǎng)絡(luò)提供匯總的計算機請求。
2.網(wǎng)絡(luò)狀態(tài)監(jiān)測:NM模塊通過周期性的NM消息來監(jiān)測網(wǎng)絡(luò)狀態(tài),包括喚醒、準(zhǔn)備睡眠、睡眠等。NM消息的接收指示發(fā)送節(jié)點要保持NM群集處于喚醒狀態(tài)。如果任何節(jié)點準(zhǔn)備好進入睡眠模式,它將停止發(fā)送NM消息,但是只要接收到來自其他節(jié)點的NM消息,它將推遲過渡到睡眠模式。最后,如果由于不再接收NM消息而經(jīng)過了專用計時器,則每個節(jié)點都將執(zhí)行到睡眠模式的轉(zhuǎn)換。
3.部分網(wǎng)絡(luò)管理:如果使用了部分網(wǎng)絡(luò)功能,則NM消息可以包含部分網(wǎng)絡(luò)(PN)請求,從而使ECU可以忽略不請求與ECU相關(guān)的任何PN的NM消息。盡管在其他部分網(wǎng)絡(luò)中仍在進行通訊,但這可以關(guān)閉ECU(或其部分)。
身份識別訪問管理(Identify Access Management)
功能描述:
身份識別訪問管理塊(IAM)是一種實現(xiàn)基于策略的訪問控制功能的軟件組件。IAM模塊為應(yīng)用程序提供權(quán)限隔離以及受攻擊時權(quán)限越級的保護功能,同時,IAM模塊還能方便集成人員在部署時就能驗證應(yīng)用對于資源的訪問權(quán)限。
主要功能:
1.訪問控制決策:IAM模塊通過Policy Decision Point(PDP)基于訪問控制策略來決定應(yīng)用是否被允許執(zhí)行請求動作。訪問控制策略是一些約束條件,描述了訪問特定資源或服務(wù)需要哪些Capability。Capability是應(yīng)用身份信息的一個屬性,在定義Application Manifest時,開發(fā)者為每個應(yīng)用分配對應(yīng)的Capability。
2.訪問控制執(zhí)行:IAM模塊通過Policy Enforcement Point(PEP)在應(yīng)用提出請求時中斷控制流,向PDP請求訪問控制決策并根據(jù)決策返回的布爾值進行對應(yīng)操作。PEP可以實現(xiàn)對Service、Foundation FC以及相關(guān)模型資源的訪問控制。
3.應(yīng)用身份識別:IAM模塊通過Execution Management(EM)模塊獲取應(yīng)用身份信息,以便進行訪問控制決策和執(zhí)行。EM模塊會根據(jù)模型信息,去創(chuàng)建Adaptive應(yīng)用的運行實例,所以EM也需要去負責(zé)追蹤運行進程的屬性,也即正在運行的應(yīng)用的PID、UID、Key或UUID。
加密(Cryptography)
High level architecture of Cryptography
功能描述:
加密模塊(Crypto)是一種實現(xiàn)通用加密操作和安全密鑰管理的軟件組件。Crypto模塊支持在運行時動態(tài)生成密鑰和加密作業(yè),以及對數(shù)據(jù)流進行操作。為了減少存儲需求,可以將密鑰內(nèi)部存儲在加密后端中,也可以外部存儲并按需導(dǎo)入。Crypto模塊旨在支持將對安全敏感的操作和決策封裝在單獨的組件中,例如硬件安全模塊(HSM)。
主要功能:
1.加密操作:Crypto模塊提供了一系列標(biāo)準(zhǔn)化的加密算法和模式,用于對數(shù)據(jù)進行加密、解密、簽名、驗證等操作。Crypto模塊支持對稱加密(例如AES、DES、3DES等)、非對稱加密(例如RSA、ECC等)、哈希函數(shù)(例如SHA-1、SHA-2、SHA-3等)、消息認證碼(例如HMAC、CMAC等)和數(shù)字簽名(例如ECDSA、RSA-PSS等)。
2.密鑰管理:Crypto模塊提供了一系列標(biāo)準(zhǔn)化的接口和服務(wù),用于管理密鑰的生成、存儲、導(dǎo)入、導(dǎo)出、更新、刪除等操作。Crypto模塊支持本地密鑰生成和基于現(xiàn)有供應(yīng)密鑰的端到端保護的密鑰引入。Crypto模塊還支持對密鑰進行訪問控制和使用限制,以提高密鑰的安全性。
3.證書管理:Crypto模塊提供了一系列標(biāo)準(zhǔn)化的接口和服務(wù),用于管理證書的生成、存儲、導(dǎo)入、導(dǎo)出、驗證等操作。Crypto模塊支持X.509證書格式,以及基于PKCS#7或PKCS#10的證書請求和響應(yīng)。
日志和跟蹤(Log & Trace)
功能描述:
一種實現(xiàn)日志記錄和追蹤功能的軟件組件。Log模塊可以在開發(fā)期間以及生產(chǎn)中和生產(chǎn)后使用日志記錄和追蹤功能,以便對自適應(yīng)平臺的運行狀態(tài)進行監(jiān)測和分析。
主要功能:
?本地日志 (輸出到控制臺或文件)日志記錄,Log模塊提供了一系列標(biāo)準(zhǔn)化的方法,用于向不同的日志接收器發(fā)送日志信息,例如通信總線、系統(tǒng)上的文件和串行控制臺等。Log模塊支持多種日志級別,例如錯誤、警告、信息、調(diào)試等,以及多種日志格式。Log模塊還可以自動在日志信息中添加時間戳和其他元數(shù)據(jù),以便進行排序和過濾。
?遠程日志記錄(使用DLT協(xié)議),Log模塊提供了一種基于DLT協(xié)議的追蹤功能,用于對自適應(yīng)平臺的運行時行為進行分析和優(yōu)化。DLT協(xié)議是一種標(biāo)準(zhǔn)化的交付和表示格式,可以將日志信息打包為標(biāo)準(zhǔn)化的幀,并添加一些額外的信息,例如ECU ID、軟件集群ID等。Log模塊可以將LT幀發(fā)送到追蹤工具或其他設(shè)備,以便進行可視化和分析。
更新配置管理UCM
功能描述:
為了支持Adaptive Platform上軟件的更改,更新和配置管理器(UCM)提供了處理軟件更新請求的Adaptive Platform服務(wù)。
主要功能:
UCM可以接收來自后端服務(wù)器或診斷測試儀的軟件更新請求,負責(zé)在自適應(yīng)平臺上安裝、更新、刪除和保留軟件記錄。
UCM可以處理不同格式和類型的軟件包,包括完整包、增量包、后端包、車輛包等,根據(jù)軟件包清單中的元數(shù)據(jù)和依賴關(guān)系,執(zhí)行相應(yīng)的操作。
UCM可以與UCM主服務(wù)器協(xié)作,以在車輛內(nèi)部分發(fā)和協(xié)調(diào)多個UCM客戶端的軟件包,實現(xiàn)軟件的一致性和同步。
UCM可以在軟件安裝或更新后,執(zhí)行激活或回退操作,確保軟件的可靠性和安全性。
UCM可以提供軟件的版本信息、狀態(tài)信息、錯誤信息等,供客戶端查詢和監(jiān)控。
PHM模塊(Platform Health Management)
功能描述:
PHM是一種實現(xiàn)平臺健康管理和功能安全功能的軟件組件。PHM模塊監(jiān)控運行的應(yīng)用程序,當(dāng)受監(jiān)控實體發(fā)生錯誤/故障時,PHM模塊可以觸發(fā)恢復(fù)操作。恢復(fù)操作具體由集成人員根據(jù)平臺軟件架構(gòu)需求,在Manifest文件當(dāng)中定義。
主要功能:
?全局和本地監(jiān)督(Global and local supervision)
?邏輯監(jiān)督(Logical supervision)
?恢復(fù)操作 (Recovery actions)
?存活監(jiān)督(Alive supervision)
?截止日期監(jiān)控(Deadline monitoring )
持久化(Persistence)
功能描述:
Persistence模塊是一種讓自適應(yīng)平臺的軟件可以保存和讀取數(shù)據(jù)的軟件組件。它可以把數(shù)據(jù)存儲在不會丟失的存儲器中,即使車輛關(guān)機或重啟也不會影響。它提供了一個統(tǒng)一的接口,讓軟件可以方便地訪問不同的存儲位置。
主要功能:
?鍵值存儲(Key-Value storage)
?文件代理訪問(File proxy access)
?并行訪問數(shù)據(jù)(Parallel access to data)
?持久數(shù)據(jù)的安裝、更新和回滾(Installation, Update and Rollback of Persistent Data)
時間同步(ara::tsync)
功能描述:
ara::tsync它提供了時間同步的功能,使得不同的節(jié)點可以共享一個全局的時間基準(zhǔn)。ara::tsync的主要特點有:
?基于服務(wù)的架構(gòu),可以動態(tài)地發(fā)現(xiàn)和訂閱不同的時間基準(zhǔn)資源,如全局時間主節(jié)點或從屬時間基準(zhǔn)節(jié)點。
?支持多種網(wǎng)絡(luò)綁定,如SOME/IP、REST、DDS等,以適應(yīng)不同的通信需求和場景。
?支持即時時間同步和延遲時間同步兩種模式,分別用于高精度和低精度的時間同步需求。
?支持用戶數(shù)據(jù)的傳輸,可以在時間同步消息中附加額外的信息,如診斷數(shù)據(jù)、配置數(shù)據(jù)等。
主要功能:
?啟動和關(guān)閉 (Startup & shutdown)
?時間校正 (Time correction)
?時基提供者和使用者模式 (Time base provider and consumer modes)
入侵檢測系統(tǒng)管理(ara::idsm)
IDS Overview
功能描述:
ara::idsm它提供了入侵檢測系統(tǒng)管理的功能,使得不同的安全傳感器可以向它報告安全事件,并對安全事件進行過濾和處理。ara::idsm的主要特點有:
?基于服務(wù)的架構(gòu),可以動態(tài)地發(fā)現(xiàn)和訂閱不同的安全事件資源,如入侵檢測系統(tǒng)主節(jié)點或從屬入侵檢測系統(tǒng)節(jié)點。
?支持多種網(wǎng)絡(luò)綁定,如SOME/IP、REST、DDS等,以適應(yīng)不同的通信需求和場景。
?支持用戶定義的診斷事件內(nèi)存,可以將安全事件存儲在獨立于主診斷事件內(nèi)存的內(nèi)存中。
?支持用戶數(shù)據(jù)的傳輸,可以在安全事件消息中附加額外的信息,如診斷數(shù)據(jù)、配置數(shù)據(jù)等。
主要功能:
?事件生成 (Event generation)
?報告模式(Reporting modes)
?過濾器鏈條 (Filter chains)
?QSevs的傳播和認證(Propagation & authentication of Qsevs)
?Rate and traffic limitation
?訪問控制(包括診斷訪問)Access control (including diagnostic access)
防火墻(ara::fw)
Architecture of the FC Firewall (圖片來自AUTOSAR官網(wǎng))
功能描述:
ara::FW是AP AUTOSAR中的一個模塊,它提供了防火墻的功能,使得不同的節(jié)點可以根據(jù)防火墻規(guī)則來控制網(wǎng)絡(luò)訪問和通信。
ara::FW的主要特點有:
基于服務(wù)的架構(gòu),可以動態(tài)地發(fā)現(xiàn)和訂閱不同的防火墻資源,如防火墻主節(jié)點或從屬防火墻節(jié)點。
支持多種網(wǎng)絡(luò)綁定,如SOME/IP、REST、DDS等,以適應(yīng)不同的通信需求和場景。
支持用戶定義的防火墻規(guī)則,可以在運行時動態(tài)地修改和應(yīng)用防火墻規(guī)則,以適應(yīng)不同的車輛狀態(tài)或外部系統(tǒng)的變化。
支持用戶數(shù)據(jù)的傳輸,可以在防火墻消息中附加額外的信息,如診斷數(shù)據(jù)、配置數(shù)據(jù)等。
審核編輯:劉清
-
處理器
+關(guān)注
關(guān)注
68文章
19793瀏覽量
233403 -
看門狗
+關(guān)注
關(guān)注
10文章
579瀏覽量
71538 -
AUTOSAR
+關(guān)注
關(guān)注
10文章
370瀏覽量
22379 -
C++語言
+關(guān)注
關(guān)注
0文章
147瀏覽量
7216 -
FIFO存儲
+關(guān)注
關(guān)注
0文章
103瀏覽量
6137
原文標(biāo)題:AUTOSAR AP 硬核知識點梳理(2)— 架構(gòu)詳解
文章出處:【微信號:ETASChina,微信公眾號:ETAS易特馳】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
GLAD應(yīng)用:大氣像差與自適應(yīng)光學(xué)
求自適應(yīng)PID程序
LabVIEW開發(fā)自適應(yīng)降噪ANC
實現(xiàn)軟件定義無線電和認知無線電的自適應(yīng)特性
基于RBF網(wǎng)絡(luò)逼近的自適應(yīng)控制(含Matlab程序)
基于模糊系統(tǒng)逼近的自適應(yīng)控制(含Matlab程序)
基于模型的自適應(yīng)方法綜述

一文讀懂DDS和AUTOSAR Adaptive的集成
為什么選擇自適應(yīng)AUTOSAR平臺?
探討使用YAML文件定義Kubernetes應(yīng)用程序
AP3406A的一些應(yīng)用程序提示

域控制器上AUTOSAR AP的優(yōu)勢和挑戰(zhàn)

淺談博世智能駕駛架構(gòu)平臺EDMS的概念

AUTOSAR架構(gòu)自適應(yīng)平臺

AUTOSAR解決方案 — INTEWORK-EAS-AP

評論