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

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

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

開發(fā)支持符合AUTOSAR標準的軟件組件的建模特定領域的語言

工程師鄧生 ? 來源:智能汽車開發(fā)者平臺 ? 作者:Sa?a ? 2022-10-08 11:19 ? 次閱讀

開發(fā)支持符合AUTOSAR標準的軟件組件的建模特定領域的語言。支持建模軟件組件的應用是基于TextX python模塊和內(nèi)部開發(fā)的建模框架。通過應用程序建模帶來了更安全和更快的方式來應對各種模型的變化。在這篇論文中,我們展示了應用程序工作的基本算法、應用程序的部分功能和使用特定領域語言的例子,其結(jié)果顯示了模型的一些變化。

I.簡介

在現(xiàn)代汽車行業(yè)中,軟件和電子控制單元正變得越來越多。如果我們觀察一下現(xiàn)代新車,我們會注意到大量的電子控制單元(ECUs),它們基本上是車輛的思想,完成所有的邏輯和驅(qū)動工作。汽車行業(yè)的目標是提高司機、乘客和其他交通參與者的整體安全,這正是軟件進入汽車行業(yè)的原因和方式。由于車輛中有大量的ECU,有非常復雜的系統(tǒng),隨著新的安全功能和技術(shù)的實施,這些系統(tǒng)變得更加復雜。

現(xiàn)代汽車甚至可以包含超過100個ECU,其中每個ECU都負責和執(zhí)行特定的任務。每項任務都必須在準確規(guī)定的時間內(nèi)執(zhí)行。也就是說,任何應用于硬件層面的變化都會影響到軟件,需要對軟件進行額外的修改和校準,以使其按預期工作。面對這個問題,行業(yè)內(nèi)領先的汽車公司已經(jīng)建立了合作關(guān)系,他們將使硬件開發(fā)和軟件開發(fā)相互獨立。

II.AUTOSAR標準

AUTOSAR(汽車開放系統(tǒng)架構(gòu))是一個由汽車制造商、供應商、服務提供商和來自汽車E/E、軟件行業(yè)的公司組成的全球開發(fā)合作伙伴關(guān)系。它成立于2003年。一個目標是使硬件開發(fā)獨立于軟件。 AUTOSAR架構(gòu)由4層組成,如圖1所示。這4個層是:應用層、運行時間環(huán)境(RTE)層、基本軟件層(BSW),最下面是硬件(微控制器)層。

0ef664c6-414a-11ed-96c9-dac502259ad0.png

圖1 AUTOSAR分層結(jié)構(gòu)

A.應用層

應用層是架構(gòu)中最頂端的部分,由特定數(shù)量的軟件組件組成,每個組件執(zhí)行規(guī)定的任務。

1) 軟件組件

軟件組件代表了有明確任務的應用程序。組件的類型可以根據(jù)其目的而變化,例如,它可以是應用程序、傳感器、執(zhí)行器、輸入/輸出組件和更多。兩個或多個組件之間可以通過連接的端口進行通信(只有連接的端口可以交換數(shù)據(jù))。 有兩種類型的端口可用,發(fā)送者/接收者(S/R)通信或客戶端/服務器(C/S)通信。

S/R通信主要用于定期傳輸數(shù)據(jù),C/S通信僅用于按要求提供數(shù)據(jù)或操作。軟件組件可以有1個或多個S/R或C/S類型的端口,這就是組件之間相互通信的方式。 除了端口,每個軟件組件還有一個主要部分,那就是它的可運行性。Runnable代表軟件組件的實現(xiàn),它們可以被多種類型的觸發(fā)器所觸發(fā)。觸發(fā)器可以是初始化觸發(fā)器(啟動時執(zhí)行)、周期性觸發(fā)器(在定義的時間段內(nèi)執(zhí)行)、客戶端請求(請求操作)等等。

B.運行時間環(huán)境 (RTE)

RTE實現(xiàn)了虛擬功能總線,有助于ECU內(nèi)的SWC和ECU外的SWC的連接。它使用端口和接口實現(xiàn)通信路徑,用于連接軟件組件和下層的基本軟件(BSW)模塊。

C.基礎軟件 (BSW)

基礎軟件(BSW)是標準化的軟件模塊,提供運行上層軟件的功能部分所需的各種服務。

III.建模中的應用

AUTOSAR模型描述的是將被集成到汽車ECU中的軟件。有了模型,軟件的配置就有了很多可能性,也就是說,通過模型我們可以定義將被使用和傳輸?shù)臄?shù)據(jù)類型、組件的端口數(shù)量、組件的執(zhí)行時間等。為了改變模型(改變一些配置),必須要有專門的軟件和使用許可才能做到這一點。使用特定領域語言(DSL)進行建模的應用程序可以大大簡化和加快建模階段。

使用應用程序進行建模,歸根結(jié)底就是把模型中需要的變化寫到一個文件中,然后執(zhí)行該應用程序。 使用這種應用程序進行建模的優(yōu)勢很多。最重要的優(yōu)勢之一是,如果存在人為錯誤,應用程序?qū)⒉辉试S對模型進行修改。除此以外,應用變化所需的時間應更短,所使用的語言應簡化并對用戶友好(易于閱讀和理解),等等。

為了開發(fā)這種建模應用程序,使用了名為TextX的python模塊來創(chuàng)建特定領域的語言,并在模型中使用內(nèi)部開發(fā)的建??蚣軄聿僮鰽UTOSAR對象。

A.TextX 模塊

TextX 模塊是一個用于創(chuàng)建domaing specific語言(DSL)的工具。創(chuàng)建的DSL將被用于編寫模型中想要的變化。在這個模塊的幫助下,我們定義了DSL的語法,這意味著每一個動作(模型中的變化)都必須以特定的方式編寫,以使變化成功應用于模型。

B.建??蚣?/strong>

建??蚣苁情_發(fā)的工具,能夠更容易地操縱模型內(nèi)的對象。該工具遵循AUTOSAR標準,模型中的每個字段/屬性都被視為應用程序中的一個對象。

IV.使用建模應用程序

上述TextX模塊與建??蚣芟嘟Y(jié)合,提供了對各種模型進行修改的可能性。圖片2顯示了應用程序的工作情況。有三個輸入文件,語法定義變化應該如何寫才能成功應用,文件包含對模型的實際需要的變化和模型本身。 作為應用程序的輸出,對已經(jīng)修改過的模型,只有在符合標準和規(guī)則的情況下,才會對其進行需要的修改。


0f0d02bc-414a-11ed-96c9-dac502259ad0.png

圖2 應用程序的工作原理 在圖片3中,顯示了應用程序的工作原理(核心算法)。


0f190fa8-414a-11ed-96c9-dac502259ad0.png


圖3 執(zhí)行建模應用程序的工作流程

在建模應用程序的開始階段,所有的輸入都被加載(語法、包含變化和模型的文件)。 在語法檢查中,它被分析為書面變化是否符合定義的語法。如果在這里出現(xiàn)一些錯誤,這意味著該變化不被支持或書寫錯誤,在這種情況下,不應采取進一步行動。

語法檢查成功后,在建??蚣艿膮f(xié)助下,模型被加載為輸入。模型的所有屬性和配置都被作為對象加載到應用程序中,一旦完成,加載的模型就可以用輸入文件中描述的變化進行修改。 如果改變需要修改模型中已經(jīng)存在的部分(例如,想改變現(xiàn)有端口的名稱),首先將在建??蚣艿膸椭抡业酱碓摯_切部分的對象。之后,當它被找到時,基本上變化將作為修改對象的一個屬性來執(zhí)行。

在其他情況下,如果需要創(chuàng)建新的東西,將有必要定義創(chuàng)建這種對象所需的強制性信息(例如,如果創(chuàng)建新的組件,需要的信息是名稱,它應該有哪些端口和可運行性)。在提供這些信息后,建??蚣軐?chuàng)建對象并將其添加到模型中。 完成對象操作(創(chuàng)建新對象或修改現(xiàn)有對象)后,有必要根據(jù)AUTOSAR標準和約束條件進行檢查。

這樣做的目的是為了消除人為錯誤因素,并保證應用于模型的變化是有效的。如果有任何形式的違反,更改將不會被應用到模型上。

在應用結(jié)束時,只有當所有條件都得到滿足時,模型才會完成修改。

V.建模應用實例

出于測試目的,一些AUTOSAR模型被作為輸入,并將對其進行某些修改。我們將定義如下變化,在現(xiàn)有的兩個組件(CtApTest1_SH00和CtCdMiddlewareQM_SH00)上,將增加兩個新的端口,由兩個數(shù)據(jù)元素組成。創(chuàng)建端口后,它們將被連接起來,以便在新創(chuàng)建的端口之間實現(xiàn)通信。 圖4它展示了如何編寫更改以完成上面描述的所需更改。 0f39f01a-414a-11ed-96c9-dac502259ad0.png

圖4 按照定義的語法,將在模型中應用的變化實例

根據(jù)寫入修改的輸入文件,可以看到名稱為PpTestInterface的端口被添加到兩個不同的組件CtApTest1_SH00和CtCdMiddlewareQM_SH00。端口內(nèi)的數(shù)據(jù)元素數(shù)量或?qū)⑻砑拥亩丝跀?shù)量沒有嚴格規(guī)定,只要符合AUTOSAR標準,由用戶決定。

在執(zhí)行建模應用程序后,將看到書面修改應用在輸入模型上。

在圖片5和圖片6中,顯示了建模應用的結(jié)果。正如在圖片5中所看到的,在arxml文件中,想要添加的端口很容易被添加到組件CtApTest1_SH00中,使用建模應用程序,它包含為該端口定義的所有數(shù)據(jù)元素。

在CtApTest1_SH00組件上,我們定義了端口為生產(chǎn)者(圖像中的P-端口),意味著數(shù)據(jù)將從這里被進一步發(fā)送,而在另一個組件CtCdMiddleware_SH00上,我們創(chuàng)建了相反的接收器(R-端口),它將接收從生產(chǎn)者發(fā)送的任何數(shù)據(jù),使這些端口兼容連接。

0fa65e08-414a-11ed-96c9-dac502259ad0.png

圖5 組件上創(chuàng)建的端口

圖片6顯示了新創(chuàng)建的端口之間的連接器?;旧线@種連接為它們提供了通信和交換數(shù)據(jù)的能力。

0fb59332-414a-11ed-96c9-dac502259ad0.png

圖6 新建端口之間的連接

VI.總結(jié)

建模本身越來越復雜,越來越耗時。此外,為了對模型進行任何改變,必須要有使用軟件的許可證和知識。這個建模應用程序的主要目標是完成簡單和快速的建模,在對模型進行修改時犯錯誤的風險很低。 建模應用的主要優(yōu)勢體現(xiàn)在簡單、快速和可靠的模型更改上。在一個文件中編寫簡單的、人類可讀的變化,應足以執(zhí)行一些復雜的模型更新。

進一步改進建模應用程序的下一步可能是可視化地展示書面更改。一旦編寫了更改,終端用戶將更容易直觀地看到和理解將要進行的更改。這可以通過使用對象圖或組件圖來實現(xiàn)。





審核編輯:劉清

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

    關(guān)注

    48

    文章

    7555

    瀏覽量

    151430
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    362

    瀏覽量

    21591
  • ecu
    ecu
    +關(guān)注

    關(guān)注

    14

    文章

    886

    瀏覽量

    54508
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84694

原文標題:根據(jù)AUTOSAR標準開發(fā)用于建模軟件組件的特定領域語言

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

收藏 人收藏

    評論

    相關(guān)推薦

    Triton編譯器支持的編程語言

    編寫和優(yōu)化深度學習代碼。Python是一種廣泛使用的高級編程語言,具有簡潔易讀、易于上手、庫豐富等特點,非常適合用于深度學習應用的開發(fā)。 二、領域特定語言(DSL) Triton也提供
    的頭像 發(fā)表于 12-24 17:33 ?331次閱讀

    AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法

    AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構(gòu)合作伙伴計劃,旨在創(chuàng)建并建立一個開放的標準軟件架構(gòu),以簡化汽車電子控
    的頭像 發(fā)表于 12-17 15:01 ?260次閱讀

    AUTOSAR通信框架的優(yōu)勢 AUTOSAR通信實例與應用場景

    的一些主要優(yōu)勢: 標準化 :AUTOSAR通信框架提供了一套標準化的接口和協(xié)議,這有助于不同供應商之間的軟件組件
    的頭像 發(fā)表于 12-17 14:58 ?247次閱讀

    AUTOSAR通信與CAN協(xié)議的關(guān)系

    的概念,允許應用層組件(如軟件組件和ECU抽象層)通過定義良好的接口進行通信。 1. 通信服務: AUTOSAR提供了一系列通信服務,包括復雜驅(qū)動通信(COM)、網(wǎng)絡管理(NM)、診斷
    的頭像 發(fā)表于 12-17 14:57 ?191次閱讀

    AUTOSAR通信組件介紹 AUTOSAR通信層功能分析

    AUTOSAR通信組件介紹 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構(gòu)合作伙伴計劃,旨在創(chuàng)建和建立一個開放的
    的頭像 發(fā)表于 12-17 14:55 ?243次閱讀

    語言模型開發(fā)語言是什么

    在人工智能領域,大語言模型(Large Language Models, LLMs)背后,離不開高效的開發(fā)語言和工具的支持。下面,AI部落小
    的頭像 發(fā)表于 12-04 11:44 ?119次閱讀

    極海推出AUTOSAR MCAL軟件包,彰顯汽車芯片設計實力

    的、獨立自主的AUTOSAR軟件開發(fā)技術(shù)和綜合服務能力。 作為國內(nèi)為數(shù)不多能夠開發(fā)和提供符合AUTOSAR
    的頭像 發(fā)表于 11-28 11:37 ?281次閱讀

    極海正式推出自研AUTOSAR MCAL軟件包和配置工具,加速汽車創(chuàng)新應用量產(chǎn)落地

    技術(shù)和綜合服務能力,成為國內(nèi)為數(shù)不多可以開發(fā)和提供符合AUTOSAR標準的軟硬件的汽車芯片設計企業(yè)之一。 什么是AUTOSAR MCAL?
    發(fā)表于 11-20 13:45 ?144次閱讀
    極海正式推出自研<b class='flag-5'>AUTOSAR</b> MCAL<b class='flag-5'>軟件</b>包和配置工具,加速汽車創(chuàng)新應用量產(chǎn)落地

    極海半導體推出AUTOSAR MCAL軟件包和配置工具

    技術(shù)和綜合服務能力,成為國內(nèi)為數(shù)不多可以開發(fā)和提供符合AUTOSAR標準的軟硬件的汽車芯片設計企業(yè)之一。 什么是AUTOSAR MCAL?
    的頭像 發(fā)表于 11-17 16:42 ?461次閱讀
    極海半導體推出<b class='flag-5'>AUTOSAR</b> MCAL<b class='flag-5'>軟件</b>包和配置工具

    ECU電控軟件開發(fā)及測試介紹

    本文重點介紹符合AutoSar架構(gòu)的應用軟件開發(fā)、MBD開發(fā)模式下的軟件質(zhì)量評估與優(yōu)化方案、復雜場景下的ECU性能壓力測試方案。
    的頭像 發(fā)表于 09-26 14:25 ?3356次閱讀
    ECU電控<b class='flag-5'>軟件開發(fā)</b>及測試介紹

    首款支持AUTOSAR車規(guī)MCU亮相AUTOSAR中國日

    熱門話題進行了多方研討。此外針對AUTOSAR中國區(qū)生態(tài)發(fā)展,與會嘉賓圍繞基于AUTOSAR構(gòu)建面向智能網(wǎng)聯(lián)汽車的基礎軟件系統(tǒng)、組織與標準發(fā)展、汽車網(wǎng)絡安全解決方案、芯片層
    的頭像 發(fā)表于 07-02 15:56 ?501次閱讀
    首款<b class='flag-5'>支持</b><b class='flag-5'>AUTOSAR</b>車規(guī)MCU亮相<b class='flag-5'>AUTOSAR</b>中國日

    上位機軟件開發(fā)用什么語言

    上位機軟件開發(fā)是指開發(fā)用于與下位機(如PLC、單片機等)進行通信、控制和數(shù)據(jù)處理的計算機軟件。上位機軟件在工業(yè)自動化、物聯(lián)網(wǎng)、智能家居等領域
    的頭像 發(fā)表于 06-06 10:44 ?1844次閱讀

    SR5E1 AUTOSAR MCAL技術(shù)解決方案分享

    AUTOSAR(AUTomotive Open System Architecture)是一種開放和標準化的汽車軟件架構(gòu),支持汽車電控單元(ECU)
    的頭像 發(fā)表于 02-21 18:26 ?1119次閱讀
    SR5E1 <b class='flag-5'>AUTOSAR</b> MCAL技術(shù)解決方案分享

    Shield Buddy TC375開發(fā)板是否支持將經(jīng)典AUTOSAR堆棧(COMM,DIAG)移植到該開發(fā)板上?

    Shield Buddy TC375開發(fā)板是否支持將經(jīng)典 AUTOSAR 堆棧(COMM,DIAG)移植到該開發(fā)板上? 它適用于 MCAL 驅(qū)動程序嗎? 另外,請建議使用
    發(fā)表于 01-30 08:30

    AUTOSAR Builder—符合AUTOSAR(CPAP)的嵌入式系統(tǒng)設計工具

    的工具并與其他工具供應商進行集成。AUTOSAR Builder在此基礎上新增了多個工具套件,更加能夠貼合不同用戶角色(OEM、Tier1)的使用場景和研發(fā)流程,覆蓋基于AUTOSAR軟件研發(fā)的各個環(huán)節(jié)。
    的頭像 發(fā)表于 01-08 18:06 ?584次閱讀
    <b class='flag-5'>AUTOSAR</b> Builder—<b class='flag-5'>符合</b><b class='flag-5'>AUTOSAR</b>(CPAP)的嵌入式系統(tǒng)設計工具