模型設(shè)計(jì)開(kāi)發(fā)AUTOSAR

Mathworks公司撰寫(xiě)的Development of AUTOSAR Software Components with Model-Based Design善延,翻譯出來(lái)以供汽車(chē)電子行業(yè)參考少态。

摘 要

本文展示了工程師如何在已有模型的情況下,在不需要進(jìn)行模型修改的情況下易遣,創(chuàng)建符合Autosar標(biāo)準(zhǔn)的件模型以及通過(guò)軟件組件的描述來(lái)創(chuàng)建Simulink模型彼妻。在介紹之前,本文介紹了基于模型的設(shè)計(jì)Model-Based-Design(以下使用MBD)與Autosar概念,并建立了一些術(shù)語(yǔ)來(lái)解釋為什么我們要將Autosar與Simulink相結(jié)合。

介 紹

隨著整車(chē)內(nèi)ECU數(shù)量以及單個(gè)ECU內(nèi)軟件的復(fù)雜度的逐步增高粹舵,汽車(chē)軟件行業(yè)需要一個(gè)開(kāi)放勺届,標(biāo)準(zhǔn)的軟件架構(gòu)來(lái)將未來(lái)整車(chē)、單個(gè)ECU內(nèi)軟件的復(fù)雜程度限定在一個(gè)可以控制的范圍內(nèi)。Autosar (Automotive Open System Architecture,汽車(chē)開(kāi)放系統(tǒng)架構(gòu))就是這樣的一個(gè)組織,目前組織已經(jīng)聯(lián)合了超過(guò)100個(gè)整車(chē)廠颊艳、零配件供應(yīng)商、工具鏈供應(yīng)商忘分、半導(dǎo)體電子公司來(lái)為未來(lái)的ECU共同建立一個(gè)標(biāo)準(zhǔn)架構(gòu)棋枕。目前已經(jīng)許多OEMS以及供應(yīng)商已經(jīng)開(kāi)始在部分車(chē)內(nèi)開(kāi)發(fā)、整合妒峦、集合符合Autosar標(biāo)準(zhǔn)的功能組件重斑。

Autosar2.1標(biāo)準(zhǔn)已經(jīng)被許多公司視為是一個(gè)較為成熟的標(biāo)準(zhǔn),其中對(duì)于指定的應(yīng)用層軟件組件的概念與信息的定義已經(jīng)成熟肯骇。許多工具鏈供應(yīng)商紛紛開(kāi)始結(jié)合自己的技術(shù)為Autosar架構(gòu)開(kāi)發(fā)新的商業(yè)工具鏈窥浪。在2006年大眾公司已經(jīng)成功使用MBD方法來(lái)設(shè)計(jì)符合Autosar標(biāo)準(zhǔn)的ECU并整合在已有的E/E電子電氣環(huán)境中。

為了應(yīng)隊(duì)軟件笛丙、算法的復(fù)雜程度指數(shù)增加漾脂,汽車(chē)工程師開(kāi)始使用MBD方法,這個(gè)已經(jīng)在業(yè)內(nèi)被廣泛接受胚鸯。MBD可以在軟件早期開(kāi)發(fā)階段提供明確骨稿、可執(zhí)行的規(guī)范,自動(dòng)V&V(Verification姜钳、Validation)以及自動(dòng)代碼生成這些額外的優(yōu)點(diǎn)使得開(kāi)發(fā)效率顯著提高坦冠。

作為ECU網(wǎng)絡(luò)的標(biāo)準(zhǔn)架構(gòu),Autosar在汽車(chē)行業(yè)變得越來(lái)越重要哥桥,盡管現(xiàn)階段大家只是將關(guān)注點(diǎn)放在標(biāo)準(zhǔn)的定義與完善蓝牲,但許多OEMS以及供應(yīng)商已經(jīng)開(kāi)始將Autosar納入未來(lái)軟件開(kāi)發(fā)流程中。這就需要一系列完整的工具鏈泰讽,從上到整車(chē)級(jí)別的ECU的架構(gòu)設(shè)計(jì),下到使用MBD方法設(shè)計(jì)符合Autosar標(biāo)準(zhǔn)的功能組件,以及開(kāi)發(fā)運(yùn)行環(huán)境與基礎(chǔ)軟件已卸。

基于模型設(shè)計(jì)

傳統(tǒng)的嵌入式軟件開(kāi)發(fā)包括書(shū)面設(shè)計(jì)佛玄、手工編碼,以及如代碼檢查累澡,單元集成測(cè)試等驗(yàn)證工作梦抢。其中許多流程缺少工具的自動(dòng)化需要手工完成,因此既耗時(shí)又容易產(chǎn)生錯(cuò)誤愧哟。工具鏈的集成的缺失是另一個(gè)容易產(chǎn)出錯(cuò)誤的方面奥吩,此類(lèi)錯(cuò)誤在軟件開(kāi)發(fā)過(guò)程中往往探測(cè)較晚而且需要花費(fèi)很大代價(jià)。

為了應(yīng)隊(duì)這些挑戰(zhàn)蕊梧,MBD已經(jīng)成為汽車(chē)行業(yè)廣泛使用與認(rèn)可的方法霞赫,仿真測(cè)試不僅可以洞悉系統(tǒng)的動(dòng)態(tài)、算法方面肥矢,而且模型還有如下優(yōu)點(diǎn):

(1)作為可執(zhí)行規(guī)范

(2)交流軟件需求規(guī)范端衰,為顧客與供應(yīng)商之間提供接口定義

(3)為開(kāi)發(fā)算法提供汽車(chē)系統(tǒng)以及駕駛員、環(huán)境甘改、路況條件等模型提供虛擬原型

(4)產(chǎn)品的自動(dòng)生成

這些MBD的活動(dòng)使工程流程更加專(zhuān)注于防查錯(cuò)以及錯(cuò)誤的早期檢測(cè)旅东。項(xiàng)目早期的V&V可以降低晚期發(fā)生錯(cuò)誤帶來(lái)的風(fēng)險(xiǎn)。正如圖1所示十艾,MBD使得模型位于開(kāi)發(fā)流程中的核心抵代,這樣工程師可以創(chuàng)建可執(zhí)行規(guī)范,自動(dòng)生成嵌入式代碼忘嫉,在模型中執(zhí)行V&V活動(dòng)荤牍。

需求與代碼追溯

使用MBD開(kāi)發(fā)嵌入式軟件始于客戶(hù)對(duì)軟件需求要求的大幅提高,工程師必須確保模型以及最終生成的代碼滿(mǎn)足系統(tǒng)需求榄融。因此参淫,需要關(guān)聯(lián)每一個(gè)需求至相應(yīng)的模型部分,這種追溯能力是十分重要的愧杯。工程師搭建一個(gè)詳細(xì)的軟件設(shè)計(jì)模型涎才,并通過(guò)持續(xù)不斷的V&V流程來(lái)確保所搭建的模型是滿(mǎn)足需求的!由狀態(tài)機(jī)以及基礎(chǔ)模塊組成的模型可以雙向直接鏈接到需求文檔或者需求管理工具中力九。測(cè)試用例(由工程師定義或者自動(dòng)生成)也可以被直接鏈接到對(duì)測(cè)試覆蓋率的需求中耍铜。在開(kāi)發(fā)的后期階段,生成模型代碼后跌前,Mathworks公司的Embedded Coder可以產(chǎn)生代碼聲明與模型之間的鏈接棕兼,正如工業(yè)標(biāo)準(zhǔn)IEC61508、Aspice所規(guī)定的抵乓。

可執(zhí)行規(guī)范伴挚,V&V

將需求文檔上的有關(guān)要求轉(zhuǎn)換成為涵蓋所有相關(guān)功能模型靶衍,可以避免需求文檔所可能帶來(lái)的二義性,可以得到明確的接口定義茎芋。工程師可以在開(kāi)發(fā)的早期階段驗(yàn)證Concept的正確性颅眶。

通過(guò)這種方法,工程師可以在項(xiàng)目早期就進(jìn)行測(cè)試與驗(yàn)證工作田弥。測(cè)試案例可以由工程師定義涛酗,也可以由工具自動(dòng)生成MC/DC覆蓋率的測(cè)試用例。

另外偷厦,可執(zhí)行規(guī)范使得OEM與供應(yīng)商的交流變得更為容易商叹,因?yàn)橐?guī)范是可以執(zhí)行的,是圖像化的只泼。相比于傳統(tǒng)方法剖笙,MBD方法在更早的階段可以讓團(tuán)隊(duì)完成一些重要任務(wù)。同時(shí)辜妓,MBD方法提高了產(chǎn)品質(zhì)量枯途,在項(xiàng)目早期盡可能得暴露錯(cuò)誤,減小了修復(fù)項(xiàng)目后期錯(cuò)誤所帶來(lái)的巨大成本籍滴。圖三為每個(gè)階段修復(fù)錯(cuò)誤所需要的平均成本酪夷。

自動(dòng)代碼生成

例如通過(guò)使用Embedded coder可以自動(dòng)將模型轉(zhuǎn)化成嵌入式代碼,這種平滑集成的一大優(yōu)點(diǎn)就是可以重用已經(jīng)生成與測(cè)試過(guò)的模型孽惰。在連續(xù)的V&V過(guò)程中晚岭,不斷發(fā)現(xiàn)與修復(fù)bug,而測(cè)試軟件可以重新自動(dòng)生成勋功。

Autosar

為了應(yīng)對(duì)汽車(chē)行業(yè)里電子電氣應(yīng)用開(kāi)發(fā)中日益增加的軟件復(fù)雜度坦报,世界一流的OEM,供應(yīng)商公司聯(lián)合在一起決定為ECU定義一個(gè)標(biāo)準(zhǔn)架構(gòu)狂鞋,來(lái)應(yīng)對(duì)未來(lái)軟件開(kāi)發(fā)的挑戰(zhàn)片择。在2002年成立了Autosar組織以實(shí)現(xiàn)以下目標(biāo):

(1)基本系統(tǒng)功能的實(shí)現(xiàn)和標(biāo)準(zhǔn)化,并作為OEM的標(biāo)準(zhǔn)解決方案

(2)不同的車(chē)輛和平臺(tái)之間的擴(kuò)展性

(3)網(wǎng)絡(luò)功能傳輸

(4)不同供應(yīng)商的功能模塊集成

(5)對(duì)可用性和安全性的考慮

(6)冗余功能

(7)整個(gè)產(chǎn)品生命周期的可維護(hù)性

(8)增加商用現(xiàn)成硬件的使用

(9)整個(gè)汽車(chē)生命周期的軟件更新和升級(jí)

(10)增加商用現(xiàn)成硬件的使用

圖四展示了Autosar軟件架構(gòu)骚揍,一共被分為三個(gè)區(qū)域字管。應(yīng)用層軟件包含ECU網(wǎng)絡(luò)的應(yīng)用功能,被稱(chēng)為Autosar Software Component(后稱(chēng)為SC)信不。RTE層用于將應(yīng)用層軟件從基礎(chǔ)軟件中解耦嘲叔。控制器與RTE定義為基礎(chǔ)軟件包括獨(dú)立抽活、依賴(lài)于硬件的非功能服務(wù)硫戈。

正如上面提到的,解耦應(yīng)用軟件與目標(biāo)硬件是Autosar的主要目標(biāo)之一下硕,為了實(shí)現(xiàn)它丁逝,引入了Virtual Function Bus(虛擬功能總線汁胆,后稱(chēng)為VFB)。Autosar軟件組件實(shí)現(xiàn)應(yīng)用層和封裝單個(gè)ECU與ECU網(wǎng)絡(luò)的功能霜幼。這些SC有著定義好的標(biāo)準(zhǔn)接口沦泌。每個(gè)Autosar SC屬于一個(gè)特定的ECU,而ECU可以有多個(gè)SC辛掠。

VFB實(shí)現(xiàn)了不同Autosar SC之間的通信功能,不論他們屬于整車(chē)ECU網(wǎng)絡(luò)中的哪一部分释牺。在實(shí)現(xiàn)階段萝衩,生成的運(yùn)行時(shí)環(huán)境是虛擬功能總線的一個(gè)具體實(shí)例。

Autosar SC開(kāi)發(fā)

MBD的概念在Autosar開(kāi)發(fā)中可以發(fā)揮更大的優(yōu)勢(shì)没咙,而且應(yīng)該被更多的使用猩谊。一旦公司決定遵循Autosar流程開(kāi)發(fā)ECU,設(shè)計(jì)或軟件工程師不應(yīng)該被迫改變他或她的工作流程祭刚,以生成符合AUTOSAR標(biāo)準(zhǔn)的軟件牌捷。

MATLAB,Simulink和Real-Time Workshop Embedded Coder生成AUTOSAR標(biāo)準(zhǔn)的代碼是透明和直觀的過(guò)程涡驮,它支持兩種不同的工作流程:自上而下和自下而上暗甥。

自上而下

自上而下,從架構(gòu)模型到Autosar SC捉捅。在自上而下的開(kāi)發(fā)流程中撤防,系統(tǒng)工程師使用架構(gòu)生成工具(如davinci tool suite)來(lái)設(shè)計(jì)整車(chē)ECU網(wǎng)絡(luò)。當(dāng)然棒口,工程師也可以使用其他的架構(gòu)設(shè)計(jì)工具寄月。架構(gòu)軟件會(huì)輸出一個(gè)XML來(lái)描述對(duì)應(yīng)的組件,該文件里包含了組件的一些必要信息比如:runnables无牵,接口漾肮,數(shù)據(jù)類(lèi)型等等。Matlab軟件可以利用架構(gòu)軟件生成的XML文件自動(dòng)創(chuàng)建Simulink架構(gòu)模型茎毁,里面包含了接口模塊以及相應(yīng)的Autosar相關(guān)設(shè)置克懊。之后系統(tǒng)工程師就可以在該框架模型的基礎(chǔ)上,完善內(nèi)部的控制模塊充岛。

同時(shí)該模型可以像普通模型一樣照常進(jìn)行V&V測(cè)試保檐,設(shè)計(jì)工程師也可以對(duì)Autosar模型添加有關(guān)的接口或runnables。工程師必須在相應(yīng)的地方進(jìn)行設(shè)置來(lái)保證所生成的代碼滿(mǎn)足標(biāo)準(zhǔn)崔梗,來(lái)滿(mǎn)足基礎(chǔ)軟件層中的RTE以及與硬件相關(guān)組件的要求夜只。這些設(shè)置可以在配置參數(shù)對(duì)話框中設(shè)置。

自下而上

自下而上蒜魄,通過(guò)現(xiàn)有的Simulink控制模型來(lái)自動(dòng)生成架構(gòu)軟件所需的XML文件扔亥。因?yàn)槠?chē)產(chǎn)業(yè)已經(jīng)非常成熟场躯,許多公司已經(jīng)有許都測(cè)試好的庫(kù)與模型。這些模型能夠重用到不同的平臺(tái)旅挤,比如Autosar架構(gòu)中踢关,而不需要對(duì)模型進(jìn)行任何人力修改,這點(diǎn)非常重要粘茄。自下而上的工作流程签舞,與自上而下的工作流程都需要相同的Autosar配置, 尤其是接口對(duì)象需要被正確設(shè)置柒瓣,來(lái)保證SC可以被正確集成儒搭。

結(jié) 論

隨著汽車(chē)ECU軟件程度的復(fù)雜性增加,OEM與供應(yīng)商聯(lián)合建立了行業(yè)中最大的標(biāo)準(zhǔn)——Autosar標(biāo)準(zhǔn)芙贫,這被視為是應(yīng)付軟件復(fù)雜性挑戰(zhàn)中的最重要的一步搂鲫。Autosar專(zhuān)注于各SC之間的通信,并解耦了應(yīng)用層軟件與基礎(chǔ)軟件磺平。使用MBD方法設(shè)計(jì)功能軟件魂仍,由于這兩種方法的雙向性,MBD與Autosar不僅是相互兼容的拣挪,也是互補(bǔ)的擦酌。這種組合不僅方便了架構(gòu)設(shè)計(jì)、系統(tǒng)設(shè)計(jì)工程師媒吗,也方便了OEM與供應(yīng)商仑氛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市闸英,隨后出現(xiàn)的幾起案子锯岖,更是在濱河造成了極大的恐慌,老刑警劉巖甫何,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件出吹,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡辙喂,警方通過(guò)查閱死者的電腦和手機(jī)捶牢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)巍耗,“玉大人秋麸,你說(shuō)我怎么就攤上這事【嫣” “怎么了灸蟆?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)亲族。 經(jīng)常有香客問(wèn)我炒考,道長(zhǎng)可缚,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任斋枢,我火速辦了婚禮帘靡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瓤帚。我一直安慰自己描姚,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布戈次。 她就那樣靜靜地躺著轰胁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪朝扼。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,443評(píng)論 1 302
  • 那天霎肯,我揣著相機(jī)與錄音擎颖,去河邊找鬼。 笑死观游,一個(gè)胖子當(dāng)著我的面吹牛搂捧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播懂缕,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼允跑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了搪柑?” 一聲冷哼從身側(cè)響起聋丝,我...
    開(kāi)封第一講書(shū)人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎工碾,沒(méi)想到半個(gè)月后弱睦,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渊额,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年况木,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片旬迹。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡火惊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出奔垦,到底是詐尸還是另有隱情屹耐,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布宴倍,位于F島的核電站张症,受9級(jí)特大地震影響仓技,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜俗他,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一脖捻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧兆衅,春花似錦地沮、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至畏铆,卻和暖如春雷袋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背辞居。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工楷怒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓦灶。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓鸠删,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親贼陶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刃泡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容