官术网_书友最值得收藏!

第2章 Adaptive AUTOSAR的架構與組成

2.1 AP架構總覽

2.1.1 邏輯架構

在1.3.2節中,讀者初步了解了AP的架構,本節將詳細講解AP的架構。AP的邏輯架構如圖2-1所示。

圖2-1 AP的邏輯架構

自適應應用程序(Adaptive Applications,AA)運行在ARA(AUTOSAR Runtime for Adaptive Applications)之上。ARA由功能集群提供的應用接口組成,它們屬于自適應平臺基礎或自適應平臺服務。自適應平臺基礎提供AP的基本功能,自適應平臺服務提供AP的平臺標準服務。任何AA也可以向其他AA提供服務,圖2-1中所示為非平臺服務。

功能集群(Functional Clusters,FC)的接口是自適應平臺基礎或自適應平臺服務的接口,FC接口與AA無關,它們只提供指定的C++接口或任何其他將來可能支持的與AP綁定的語言,這在底層確實存在著分歧。另外,在ARA接口下面,包括在AA上下文中調用的ARA庫,可以使用ARA以外的其他接口來實現AP的規范,這取決于AP實現的設計。需要注意的是,為了能夠更好地了解整體結構,圖2-1的AP架構邏輯視圖包含不屬于當前AP版本的功能集群。在AP的未來版本中,可能會添加更多新的功能集群。

這些API的語言是基于C++的,C++標準庫也可以作為ARA的一部分。關于操作系統API,POSIX標準的單個進程概要文件,即PSE51接口作為ARA的一部分是可用的。選擇PSE51是為了為現有POSIX應用程序提供可移植的可能性,并實現應用程序之間的自由交互。

注意:C++標準庫包含基于POSIX的許多接口,其中也包括多線程API。建議不要將C++標準庫線程接口與本地PSE51線程接口混合,以避免出現復雜的情況。需要特別注意的是,C++標準庫不包括所有的PSE51函數,例如設置線程調度策略的函數。在這種情況下,可能需要同時使用兩個接口。

應用程序的生命周期由執行管理(Execution Management,EM)來管理。應用程序的加載/啟動是通過使用EM的功能來管理的,它需要在系統集成時或運行時進行適當的配置來啟動應用程序。事實上,所有的功能集群都是通過EM管理的。除了EM本身之外,它們也是以同樣的方式啟動、運行和停止的。圖2-2說明了不同類型且在AP內部或在AP之上的應用程序之間的關系。

圖2-2 應用程序關系

需要明確的一點是,應用程序啟動或終止的決定不是由EM做出的。決定應用程序的啟停是一種特殊的FC,稱為狀態管理(State Management,SM)。SM是根據系統的設計指揮EM的控制器,SM會仲裁不同的狀態,從而控制整個系統的行為。由于這里的系統指的是整個AP的機器(Machine,后續章節會介紹到)及搭載在機器上正在運行的應用程序,因此實現的內部行為是由每個項目的需求所決定的。同時SM還與其他FC交互,以協調整體機器行為。SM應該只使用標準的ARA接口來維護不同AP棧之間的可移植性。

關于AA間的交互,由于PSE51不包括進程間通信(IPC),因此AA間沒有直接的交互接口。通信管理(Communication Management,CM)是唯一的顯式接口。CM還為機器內和機器間提供面向服務(SOA)的通信,這對應用程序是透明的。CM處理服務請求/回復的路由選擇,而不考慮服務和客戶端應用程序的拓撲部署。其他ARA接口可能會在內部觸發AA之間的交互,但是,這不是顯式的通信接口,而只是各個ARA接口提供的功能的副產品。

最后,AA和功能集群可以使用任何非標準接口,只要它們不與AP標準功能沖突,并且符合項目的功能/信息安全要求。除非它們是純粹地使用程序本地庫,否則應該注意將這種使用保持在最低限度,因為這將影響軟件在其他應用程序實現上的可移植性。

主站蜘蛛池模板: 丰顺县| 贺州市| 鄂伦春自治旗| 黔西县| 西充县| 理塘县| 东源县| 樟树市| 虎林市| 阿尔山市| 黄陵县| 雅江县| 曲阜市| 鹰潭市| 北京市| 岑溪市| 甘南县| 五家渠市| 大方县| 磴口县| 宁乡县| 科尔| 长武县| 涿州市| 天峨县| 喀什市| 抚顺县| 化隆| 潜江市| 河南省| 枣阳市| 正镶白旗| 清徐县| 卢氏县| 遂昌县| 麟游县| 芜湖县| 大埔县| 南漳县| 察隅县| 北京市|