2022-01-09 10:18:19|已瀏覽:148次
Aspice作為車載軟件過程中,關注于功能場景定義(function definition)、架構定義(System Architecture)、系統(tǒng)設計(System Design)、產(chǎn)品設計(Product Design)幾個大的方面。而下一代智能駕駛系統(tǒng)需要面向服務進行相應的功能設計和開發(fā),實現(xiàn)軟硬件解耦。這種開發(fā)方式將對整個智能駕駛來說產(chǎn)生顛覆性的影響,比如高性能計算平臺HPC包含多核異構處理模式,通過Hypervisor技術實現(xiàn)對硬件抽象,Inter-Core通信技術使多篇和單片多核實現(xiàn)信息互通,計算單元趨于“云計算+中央計算+邊緣計算結合等多個方面的變革。如上這些設計原則更多的是基于SOA的架構進行的,這就大大增強了平臺的可拓展性,可移植性。
當前更多的主機廠選擇在智能駕駛中采用SOA的開發(fā)模式,這可以更加快速的實現(xiàn)從底層、中間層到應用層的軟件開發(fā),且相對較多的軟件只要接口定義得當,就可以實現(xiàn)軟件本體和功能的遷移,同時可以大大的降低開發(fā)周期和成本。
對于SOA的設計過程來講,其服務設計原則包括重用、抽象、封裝、協(xié)調(diào)在內(nèi)的多個層面。比如對于智能駕駛功能開發(fā)而言,如果需要多次用到某一邏輯元素比如車道線等環(huán)境信息,則應該將車道線檢測模塊創(chuàng)建為重用(比如封裝到Building Block中),則對該車道線檢測源(如不同方位的攝像頭)進行調(diào)整,則由此對車道線檢測產(chǎn)生的任何更新改變都會對后續(xù)級聯(lián)的應用實例產(chǎn)生影響。而上層應用軟件端對于底層的如何獲取車道線,如何處理的細節(jié)也不需要深究,這就是實現(xiàn)模塊抽象的整個過程。抽象后的邏輯功能需要保證其體系相類似的功能需要集成到一起,比如自動換道功能的控制邏輯可以在自動激活后調(diào)用觸發(fā)換道相關的規(guī)劃控制模塊進行車控。因此,觸發(fā)換道的規(guī)劃決策控制邏輯單元可以完全應用于自動換道模塊。系統(tǒng)工程師只需要保證定義的接口適用于觸發(fā)換道已經(jīng)發(fā)布或預定的數(shù)據(jù)流即可。對于自動駕駛域控單元負責人而言,應該保持邏輯系統(tǒng)結構之間的協(xié)調(diào)和重用,包含對公共池中的元素排布,對局部域單元中的邏輯構造,跨域之間的資源或模塊調(diào)度等。
本文將以智能駕駛系統(tǒng)開發(fā)設計實例來講解和分析相應的SOA為基礎下的架構設計和軟件開發(fā)。
面向ASPICE流程的SOA軟件架構流程
適用于SOA架構的ASPICE軟件開發(fā)過程也是在敏捷開發(fā)的模式下進行的系統(tǒng)開發(fā)流程。從智能駕駛功能開發(fā)層面上講,基于SOA架構開發(fā)模式包括了系統(tǒng)功能、系統(tǒng)架構、軟件功能、軟件架構幾個方面。其中分別由分別稱之為產(chǎn)品負責人Product Owner、功能負責人Function Owner、架構負責人Architect Owner、子模塊負責人Module Owner的幾個角色共同承擔。功能設計是搭建功能架構圖和依據(jù)產(chǎn)品工程師輸入的產(chǎn)品需求定義進行功能分解定義,架構負責人則根據(jù)整車架構及功能負責人輸入的要素信息制定合適的軟硬件架構。這里需要說明的是很多情況下,功能負責人和架構負責人往往是同一個人。模塊負責人則是根據(jù)功能定義編制相應的系統(tǒng)軟硬件模塊、零部件軟硬件模塊以實現(xiàn)上層定義的功能需求。各負責人之間的角色定位將在如下分層流程圖中進行詳細說明。這里我們僅關注V模型中的與SOA相關度較高的設計開發(fā)部分,測試驗證部分不在本文中進行詳述。其中,各階段的開發(fā)輸出功能過程如下:
1、項目功能定義
項目功能元素(function element)包含與頂層設計相關的不同屬性,例如車輛類型、預期市場、項目功能以及功能發(fā)布計劃等。在實際開發(fā)中,這類輸出一般是產(chǎn)品策劃部門或市場部輸出的整車功能開發(fā)需求或整車裝備需求。本文將以開發(fā)智能駕駛系統(tǒng)功能中的點對點自動駕駛NOP為例進行詳細的分析說明基于SOA的架構設計是如何應用于自動駕駛系統(tǒng)開發(fā)的。基于SOA架構模型設計分工
基于SOA軟件模型架構的設計過程實際是在研究如何在開發(fā)流程中進行軟硬件解耦。包括構建不同的分層來隔離硬件與軟件功能和服務。例如,將自動駕駛相關的傳感器和執(zhí)行器邏輯與應用程序邏輯分開,則能夠在中央系統(tǒng)中分配應用程序,同時保持傳感器/執(zhí)行器盡可能的具體。程序之間可以利用SOA的服務模式實現(xiàn)軟件包的調(diào)用,傳感器和執(zhí)行器也可以作為組件或模組來進行邊緣采購,性能則是集中管控,中央系統(tǒng)可以將戰(zhàn)略軟件進行分開,這就更容易進行軟件模塊移植和處理。這一過程實際就是在提高上層應用層軟件關鍵功能的復用性,瞄準軟硬件功能與邏輯控制分離。這里需要說明的是,軟硬件之間的協(xié)調(diào)和調(diào)度是通過中間件來實現(xiàn)。SOA服務實現(xiàn)過程
隨著車載以太網(wǎng)技術的日益成熟,國內(nèi)大部分OEM都已經(jīng)著手SOA的設計工作,并將以太網(wǎng)通信矩陣生成ARXML文件,用于項目前期的網(wǎng)絡行為仿真和后期測試驗證。對于已經(jīng)完成架構搭建的SOA來講,需要將其建模后的成品導入到軟件團隊進行服務實現(xiàn)。其過程包含:以Some/Ip協(xié)議導入Service ARXML,導入后新增ETH、TCP/IP、Some/IP模塊(BSW工程),建立與Service Handler SWC(應用層)中Port Interface連接,為所有Service Handler SWC增加可運行時間,定義Windows Service Handler SWC 和Feature SWC到Simulink/Stateflow。通過符合Autosar的ARXML和Simulink進行交互,將由軟件開發(fā)工程師繼續(xù)進行算法設計并自動生成代碼。總 結
本文從SOA軟件架構模型的構建角度出發(fā)講解了相應實現(xiàn)過程原理,利用了基于模型、集成式的可視化開發(fā)工具PREEvision進行了智能汽車行業(yè)及相關領域E/E架構開發(fā)并支持以太網(wǎng)SOA的架構開發(fā)設計,本文以介紹SOA架構設計模型為基礎展示了如何在Enterprise Architect中進行SOA建模。同時,以系統(tǒng)工程師的角度說明如何利用Enterprise Architect構建SOA系統(tǒng)及軟件架構設計、功能設計Function Design 和模塊設計Module Design。對于SOA在整個智能駕駛系統(tǒng)設計原理有個清晰的把控。
本文由培訓無憂網(wǎng)長沙牛耳教育課程顧問老師整理發(fā)布,希望能夠?qū)ο朐陂L沙參加影視動漫培訓的學生有所幫助。更多課程信息可關注培訓無憂網(wǎng)電腦IT培訓頻道或添加老師微信:15033336050
注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://elsolbar.com/news-id-13950.html 違者必究!部分文章來源于網(wǎng)絡由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關資訊請關注程序開發(fā)頻道查看更多,了解相關專業(yè)課程信息您可在線咨詢也可免費申請試課。關注官方微信了解更多:150 3333 6050