91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將傳統(tǒng)汽車應用遷移到面向軟件定義汽車的SOA

MATLAB ? 來源:MATLAB ? 2023-12-07 14:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

| 作者Shwetha Bhadravathi Patil 和 Nukul Sehgal,MathWorks

軟件定義汽車 (SDV) 的特點是 AI、自主、連接和電氣化。最近,汽車行業(yè)已開始采用“基于服務”的方法來設(shè)計 SDV 的現(xiàn)代應用。這種稱為面向服務的架構(gòu) (SOA) 的方法為開發(fā)軟件應用提供了一種新范式,其特點是高重用性、易于更新以及與硬件的松散耦合。SOA 的構(gòu)建原則是一個應用由一組服務組成,這些服務可以被動態(tài)地發(fā)現(xiàn)、發(fā)布、訂閱和在運行時重新配置。SOA 的概念已被廣泛納入行業(yè)標準,包括 AUTomotive Open System ARchitecture (AUTOSAR)。

在 SOA 框架中,服務具有自包含、模塊化、松散耦合等特征,這使得創(chuàng)建本質(zhì)上非一體式的復雜分布式應用成為可能?;?SOA 的應用可以使用自上而下或自下而上的方法來開發(fā)。在標準 SOA 軟件堆棧中,應用軟件由服務、平臺服務和中間件組成。它們都運行在高性能硬件或虛擬機上。

將舊應用遷移到 SOA 面臨的挑戰(zhàn)

由于舊應用的若干特性,將其遷移到 SOA 可能頗具挑戰(zhàn)性。這些特性包括:

一體式設(shè)計:舊應用通常采用一體式設(shè)計(圖 1),組件的耦合和互連均很緊密。這使得很難將其分解成若干單獨的服務,因為功能是相互交錯的,而不是模塊化的。

wKgaomVxataAcqBLAACdxz-60KA321.jpg

圖 1. 組件緊密耦合的一體式設(shè)計。

執(zhí)行順序:舊應用的組件通常有預定義的執(zhí)行順序。這種順序執(zhí)行方式使得應用難以轉(zhuǎn)換為可動態(tài)發(fā)現(xiàn)和在運行時重新配置的獨立服務。

基于信號和基于時間的通信:舊應用通常依賴組件之間基于信號或基于時間的通信。在 SOA 中,通信通?;诜?a target="_blank">接口和交換消息。將舊應用的通信機制調(diào)整到面向服務的方法需要仔細考慮各個事項,甚至可能需要重新設(shè)計通信協(xié)議。

克服這些挑戰(zhàn)通常需要全面分析舊應用的架構(gòu),并仔細確定組件之間的服務邊界和依存關(guān)系。這可能需要將應用重構(gòu)為更加模塊化和松散耦合的若干單元,進而將這些單元封裝為 SOA 框架中的各個服務。

將舊應用組合轉(zhuǎn)換為服務是一項復雜的任務。例如,以前設(shè)計的一體式應用組合(如高速公路車道跟蹤應用)可以變換為單個服務,也可以分解為多個服務,如相機服務、視覺服務、雷達和車道導航服務。

系統(tǒng)專業(yè)知識和基于模型的設(shè)計有助于把一體式應用設(shè)計分解為若干服務函數(shù),從而將各個邏輯組件進行封裝和抽象分離。它可以助力信號到服務接口的遷移并確定正確的執(zhí)行順序。在本文中,我們將介紹一個基于模型的設(shè)計工作流。此工作流可對新服務進行建模,亦可將您的傳統(tǒng)應用組合轉(zhuǎn)換為基于軟件定義汽車的 AUTOSAR Adaptive 概念的服務。

將傳統(tǒng)應用軟件組合分解成服務

將傳統(tǒng)應用軟件組合分解成 SOA 應用的服務涉及將一體式架構(gòu)分解成更小、更模塊化的組件(圖 2)。這對 SDV 來說意味著更大的靈活性、可擴展性和自適應性。

wKgZomVxataAcc13AABuNqmCX0E717.jpg

圖 2. 將傳統(tǒng)應用軟件組合分解成服務的步驟。

將傳統(tǒng)應用軟件組合分解為 SOA 應用的服務涉及四個步驟。

識別和分析服務:識別組成 SOA 的服務、組件、功能、執(zhí)行順序和依存關(guān)系。對于工程師來說,這是最困難的部分。完成之后,他們必須分析服務,以將傳統(tǒng)的一體式應用分解成更小的組件(圖 3)。

wKgaomVxataAPD3QAABm5a33eaM356.jpg

圖 3. 將軟件組件分解為服務。

定義服務和接口:在識別服務后,必須定義它們之間的接口。這涉及指定用于服務間通信的協(xié)議和數(shù)據(jù)格式,以及定義指定服務間交互的條款和條件的服務合約。

定義服務合約:此步驟指定服務之間交互的條款和條件。AUTOSAR 架構(gòu)版本 22-11 中引入了這些概念。該架構(gòu)指定服務的版本控制,支持在不破壞現(xiàn)有客戶端兼容性的情況下發(fā)布新版本的服務。

實現(xiàn)和部署服務:實現(xiàn)服務并將其部署為獨立應用,具有自己的工件,包括接口描述。

使用基于模型的設(shè)計遷移到服務

基于模型的設(shè)計已用于開發(fā)非 AUTOSAR 框架和 AUTOSAR Classic 框架的應用。它還可用于為 AUTOSAR Adaptive 和通用 SOA 框架開發(fā)基于 SOA 的應用。對于 SDV 應用,業(yè)界通常利用通用 SOA 或基于 AUTOSAR Adaptive 平臺的 SOA?;谀P偷脑O(shè)計的優(yōu)勢在于可以提供統(tǒng)一的開發(fā)平臺,有效地處理所有類型平臺(包括 SOA、AUTOSAR Classic 和 AUTOSAR Adaptive)的整個開發(fā)過程,能夠確保全面的一致性和效率。

使用基于模型的設(shè)計將一體式應用組件分解為服務涉及以下步驟:

識別和分析服務:了解各種組件、其功能、執(zhí)行順序以及它們之間的依存關(guān)系。一個一體式應用的所有組件均部署為一個可執(zhí)行文件進行部署(圖 4)。然而,當分解成服務時,每個單獨的服務均獨立部署。

wKgZomVxataACfEhAACIqjkmALA573.jpg

圖 4. 所有 Simulink 模型作為一個可執(zhí)行文件進行部署。

例如,圖 4 中有一個在 Simulink 中開發(fā)的高速公路車道跟隨應用,它作為一個一體式應用組合進行部署。使用 Simulink 將這樣的一體式組件分解成服務(圖 5)需要依據(jù)單一職責原則和依賴倒置原則。根據(jù)這些原則,高速公路車道跟隨模型可分解為多項服務,如雷達、視覺和車道。這些服務具有良好定義的職責和松散耦合的依存關(guān)系,支持隔離對服務的更改,并且最小化更改對其他服務的影響。

wKgaomVxataAbyECAADcMMNwZwg239.jpg

圖 5. 使用基于模型的設(shè)計將一體式舊應用分解為服務。spacer.gif?t=B8DJ5M3

一體式應用分解成若干基于 SOA 的服務,并用客戶端-服務器端口將它們連接起來。

定義服務和接口:使用接口定義的服務是服務邊界的一部分。服務邊界同樣定義了服務與其他服務交互的通信通道。服務邊界還封裝功能,以實現(xiàn)重用、可維護性、版本控制、可見性、編排和其他好處。使用 System Composer,您可以配置相關(guān)服務組件的端口以實現(xiàn)數(shù)據(jù)一致性,并通過原型來表示這些服務之間的交互方式。這提供了服務之間依存關(guān)系和交互的可視化表示(圖 6)。

wKgZomVxataASfNSAAEMWtRHGfs524.jpg

spacer.gif?t=B8DJ5M3

圖 6. 在 Simulink 中配置服務組件的服務接口和端口。

定義服務合約:我們建議為服務建立清晰的邊界,定義其輸入、輸出和行為。這讓服務可以獨立地開發(fā)、測試和部署,而不需要與架構(gòu)的其他部分緊密耦合。通過定義服務合約,您可以了解服務的功能和限制,并且可以更輕松地與它們集成(圖 7)。此外,服務合約可以在不破壞與現(xiàn)有客戶端的兼容性的情況下發(fā)布新版本的服務。

圖 7. 每個服務的模型都帶有輸入、輸出及其應用邏輯。您可以仿真這些模型并觀察服務之間的交互。

實現(xiàn)和部署:使用基于模型的設(shè)計中的客戶端-服務器接口,您可以創(chuàng)建 SOA 軟件架構(gòu)模型。圖 8 展示了在 Simulink 中作為服務實現(xiàn)的 LaneGuidanceApp、DetectionApp、雷達和視覺算法。

wKgaomVxataAEhKBAABqgcAYUO4381.jpg

圖 8. Simulink 中 SOA 服務的算法實現(xiàn)。

此外,您可以使用 Embedded Coder 為通用 SOA 應用生成 C++ 代碼。

為 AUTOSAR Adaptive 應用配置服務

您可以使用 Simulink 建模結(jié)構(gòu)為 AUTOSAR Adaptive 無縫配置這些服務。如圖 9 所示,我們使用 System Composer 中直觀的 AUTOSAR 編輯器,成功地將所有服務作為 AUTOSAR Adaptive 服務進行了集成。隨后,我們?yōu)槊總€端口和接口建立了必要的映射,確保它們與對應的 AUTOSAR Adaptive 屬性保持一致。

wKgZomVxataAIstXAADwYnIU2WM737.jpg

圖 9. 設(shè)計、開發(fā) AUTOSAR Adaptive 應用的服務并為其生成 C++ 代碼。spacer.gif?t=B8DJ5M3

視頻:如何在 Simulink 中為 AUTOSAR Adaptive 應用生成 C++ 代碼。

以雷達服務為例,它鏈接到一個 Simulink 模型。該模型在根級使用 Simulink Function 模塊來創(chuàng)建Adaptive methods (3:50)服務接口。此處,AUTOSAR 服務接口的方法定義了一個軟件組件(建模為提供接口的服務器)和另一個軟件組件(建模為需要接口的客戶端)之間的交互。

在 Simulink 中,客戶端-服務器通信可以用同步或異步調(diào)用行為進行建模。同步客戶端模型導致客戶端執(zhí)行阻塞,也就是說客戶端會向服務器發(fā)送請求并等待響應。異步客戶端模型不會導致執(zhí)行阻塞,也就是說客戶端會發(fā)送請求、在發(fā)送請求后繼續(xù)當前執(zhí)行并在收到服務器響應后進行處理。

雷達服務是一個使用客戶端-服務器通信的服務器。在圖 9 中,代碼映射 UI 顯示了 Simulink Function 模塊和函數(shù)元素端口的映射 - radarCtrl.Adjust 和 radarCtrl.Calibrate 及其各自的 Adaptive 端口。

此外,您還可以在 Methods 服務接口的 AUTOSAR 字典中查看和編輯 AUTOSAR 屬性(圖 10)。

wKgaomVxataAcv_XAAC4x1zBNpY783.jpg

圖 10. 用于查看/編輯屬性的 AUTOSAR 字典。

LaneGuidanceApp 服務作為客戶端運行,并通過異步調(diào)用利用客戶端-服務器通信(圖 11)。此示例中的客戶端使用異步通信,并受益于非阻塞執(zhí)行,能夠在向服務器發(fā)送請求后繼續(xù)執(zhí)行。在 Simulink 模型中,它使用帶有 Message Triggered Subsystem 模塊的 Function-Call Subsystem 模塊來異步執(zhí)行函數(shù)調(diào)用。代碼映射 UI 顯示 Simulink 函數(shù)調(diào)用方與對應 AUTOSAR Adaptive 端口。

wKgZomVxataANMDlAAE9eyJgwE8586.jpg

圖 11. 映射到 LaneGuidanceApp 服務的 AUTOSAR 屬性的 Simulink 模型。

同樣,所有其他 SOA 服務都是根據(jù) Simulink 中的 AUTOSAR Adaptive 概念進行配置的。

經(jīng)過驗證和仿真后,每個 AUTOSAR Adaptive 服務都可以作為獨立應用程序進行部署,并具有自己的工件,包括 C++ 代碼和 AUTOSAR 接口描述,其中包含機器、執(zhí)行和 ServiceInstanceManifest 文件。最后,使用 Embedded Coder 生成 AUTOSAR Adaptive C++ 代碼以及對應的軟件描述和清單文件,以便進一步集成到工作流中(圖 12)。

wKgZomVxataAUNifAAFiau8H-Kk572.jpg

圖 12. AUTOSAR Adaptive 應用程序的 C++ 代碼接口文件生成。

結(jié)論和將來的工作

基于模型的設(shè)計為系統(tǒng)開發(fā)提供了一種結(jié)構(gòu)化方法,支持創(chuàng)建表示應用架構(gòu)、組件和交互的模型。在本文中,我們通過高速公路車道跟隨參考示例說明了如何使用基于模型的設(shè)計將傳統(tǒng)一體式應用分解為服務,然后將它們配置為 AUTOSAR Adaptive 應用程序。這些模塊化服務可作為一個開端,使工程師能夠創(chuàng)建、仿真和生成 C++ 代碼以及清單文件,以便進一步集成到工作流中。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SOA
    SOA
    +關(guān)注

    關(guān)注

    1

    文章

    325

    瀏覽量

    29232
  • 開發(fā)軟件
    +關(guān)注

    關(guān)注

    1

    文章

    27

    瀏覽量

    13393

原文標題:將傳統(tǒng)汽車應用遷移到面向軟件定義汽車的 SOA

文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    通用車聯(lián)網(wǎng)覆蓋傳統(tǒng)汽車和電動汽車

    與多數(shù)車企僅關(guān)注傳統(tǒng)汽車互聯(lián)業(yè)務不同,全球汽車巨頭通用汽車兩條腿走路。在傳統(tǒng)汽車領(lǐng)域,通用
    發(fā)表于 12-20 16:13

    闡述軟件定義汽車的五大挑戰(zhàn)

    1、軟件定義汽車面臨的五大挑戰(zhàn)  面向汽車行業(yè)轉(zhuǎn)型發(fā)展,需要產(chǎn)業(yè)鏈中各利益相關(guān)方共同推動完成。當前,整車廠、Tier1、Tier2、ICT
    發(fā)表于 11-14 15:36

    如何使用SOA進行汽車軟件本體的研究

    隨著汽車軟件的迅速發(fā)展,車內(nèi)軟件由分散、孤立的嵌入式軟件逐步趨向具有相當規(guī)模、子系統(tǒng)之間需要頻繁交互的集成軟件。分析了
    發(fā)表于 03-04 08:00 ?6次下載
    如何使用<b class='flag-5'>SOA</b>進行<b class='flag-5'>汽車</b><b class='flag-5'>軟件</b>本體的研究

    HMC傳統(tǒng)PCN:MS##、MS##E和MS##G、MS##GE軟件包-現(xiàn)有生產(chǎn)設(shè)備遷移到新建筑

    HMC傳統(tǒng)PCN:MS##、MS##E和MS##G、MS##GE軟件包-現(xiàn)有生產(chǎn)設(shè)備遷移到新建筑
    發(fā)表于 05-18 20:21 ?2次下載
    HMC<b class='flag-5'>傳統(tǒng)</b>PCN:MS##、MS##E和MS##G、MS##GE<b class='flag-5'>軟件</b>包-<b class='flag-5'>將</b>現(xiàn)有生產(chǎn)設(shè)備<b class='flag-5'>遷移到</b>新建筑

    HMC傳統(tǒng)PCN:SOT26和SOT26E封裝-原有生產(chǎn)設(shè)備遷移到新建筑

    HMC傳統(tǒng)PCN:SOT26和SOT26E封裝-原有生產(chǎn)設(shè)備遷移到新建筑
    發(fā)表于 05-25 14:55 ?4次下載
    HMC<b class='flag-5'>傳統(tǒng)</b>PCN:SOT26和SOT26E封裝-<b class='flag-5'>將</b>原有生產(chǎn)設(shè)備<b class='flag-5'>遷移到</b>新建筑

    SOA軟件架構(gòu)重構(gòu)汽車生態(tài)

    ”在SOA軟件架構(gòu)設(shè)計理念之下,汽車軟件架構(gòu)走向分層化、模塊化,使得應用層功能夠在不同車型、硬件平臺、操作系統(tǒng)上復用,并且可以通過標準化接口對應用功能進行快速迭代升級。長期來看,在
    的頭像 發(fā)表于 04-08 11:03 ?3714次閱讀

    軟件定義汽車如何建立在互聯(lián)汽車概念之上

    汽車行業(yè)的許多方面。關(guān)鍵是聯(lián)網(wǎng)汽車會帶來廣泛的無線軟件更新,讓軟件定義技術(shù)在其生命周期內(nèi)發(fā)展為更好的功能。 點擊查看完整大小的圖片 ?
    的頭像 發(fā)表于 07-20 15:16 ?1814次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>如何建立在互聯(lián)<b class='flag-5'>汽車</b>概念之上

    SOA軟件定義汽車最關(guān)鍵的環(huán)節(jié)

    軟件定義汽車”最關(guān)鍵的環(huán)節(jié)是SOA(Service-Oriented Architecture,面向服務的架構(gòu))?;谟布懔μ嵘④囕d以
    發(fā)表于 09-13 18:16 ?1522次閱讀

    經(jīng)緯恒潤SOA功能安全開發(fā)方案,助力車企軟件定義汽車

    面向服務的架構(gòu)(Service Oriented Architecture, SOA)是一種從IT領(lǐng)域引入到汽車行業(yè)的開發(fā)范式,其設(shè)計思想是車輛所具有的能力抽象成可調(diào)用的并具有標準接
    的頭像 發(fā)表于 12-06 11:00 ?1931次閱讀

    SOA是什么?為什么要在汽車上實施SOA架構(gòu)?

    面向服務的軟件架構(gòu)SOA以其標準化的服務接口、松耦合的服務機制以及可組合擴展的服務特性,為實現(xiàn)“軟件定義
    發(fā)表于 12-06 17:29 ?3995次閱讀

    為什么軟件定義汽車汽車從一種工具轉(zhuǎn)變?yōu)橐环N體驗

    為什么軟件定義汽車汽車從一種工具轉(zhuǎn)變?yōu)橐环N體驗
    的頭像 發(fā)表于 12-28 09:51 ?1235次閱讀

    OTA技術(shù)在軟件定義汽車中的重要性

    近年來,智能汽車已成為全球汽車產(chǎn)業(yè)發(fā)展的戰(zhàn)略方向,汽車技術(shù)與工程核心逐漸從傳統(tǒng)硬件層面轉(zhuǎn)移到軟件
    的頭像 發(fā)表于 04-11 09:21 ?2258次閱讀

    經(jīng)緯恒潤SOA功能安全開發(fā)方案, 助力車企軟件定義汽車

    面向服務的架構(gòu)(ServiceOrientedArchitecture,SOA)是一種從IT領(lǐng)域引入到汽車行業(yè)的開發(fā)范式,其設(shè)計思想是車輛所具有的能力抽象成可調(diào)用的并具有標準接口的服
    的頭像 發(fā)表于 12-08 09:40 ?1322次閱讀
    經(jīng)緯恒潤<b class='flag-5'>SOA</b>功能安全開發(fā)方案,  助力車企<b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>

    舊應用遷移到 SOA 面臨的挑戰(zhàn)

    基于信號和基于時間的通信:舊應用通常依賴組件之間基于信號或基于時間的通信。在 SOA 中,通信通?;诜战涌诤徒粨Q消息。舊應用的通信機制調(diào)整到面向服務的方法需要仔細考慮各個事項,甚至可能需要重新設(shè)計通信協(xié)議。
    的頭像 發(fā)表于 12-18 10:26 ?945次閱讀
    <b class='flag-5'>將</b>舊應用<b class='flag-5'>遷移到</b> <b class='flag-5'>SOA</b> 面臨的挑戰(zhàn)

    軟件定義汽車如何影響汽車行業(yè)

    軟件定義汽車(SDV)是指一些關(guān)鍵功能(如駕駛輔助、信息娛樂系統(tǒng),甚至核心車輛行為)都由軟件實現(xiàn)、控制并更新的汽車。
    的頭像 發(fā)表于 07-01 16:21 ?1031次閱讀
    <b class='flag-5'>軟件</b><b class='flag-5'>定義</b><b class='flag-5'>汽車</b>如何影響<b class='flag-5'>汽車</b>行業(yè)