當(dāng)普通的非工程師消費(fèi)者想到汽車中的電子系統(tǒng)時(shí),他們可能會(huì)想到集成 GPS、信息娛樂系統(tǒng),并且可能會(huì)想到汽車某處有一臺(tái)計(jì)算機(jī)控制某些安全功能的模糊概念。當(dāng)然,現(xiàn)實(shí)情況是現(xiàn)代汽車要復(fù)雜得多,軟件在功能的各個(gè)方面發(fā)揮著越來越大的作用,包括許多對(duì)安全至關(guān)重要的功能。事實(shí)上,幾十年來,汽車一直在利用電子系統(tǒng)實(shí)現(xiàn)關(guān)鍵功能,而市場(chǎng)變化,例如推動(dòng)“物聯(lián)網(wǎng)”,推動(dòng)汽車制造商嵌入更多運(yùn)行關(guān)鍵范圍的復(fù)雜計(jì)算機(jī)系統(tǒng)。
與系統(tǒng)開發(fā)相關(guān)的業(yè)務(wù)結(jié)構(gòu)和供應(yīng)鏈進(jìn)一步增加了復(fù)雜性。很少有制造商從頭開始設(shè)計(jì)和構(gòu)建汽車中的每個(gè)組件和子系統(tǒng),這會(huì)導(dǎo)致潛在的集成問題。變速箱取自該模型,該模型具有良好的制動(dòng)系統(tǒng)。雖然它們可能在以前的環(huán)境中運(yùn)行良好,但在一個(gè)全新的復(fù)雜系統(tǒng)中,它們很可能會(huì)產(chǎn)生意想不到的結(jié)果。因此,汽車軟件通常是復(fù)雜的系統(tǒng)大雜燴,可能經(jīng)過充分測(cè)試,也可能未經(jīng)過充分測(cè)試。在沒有適當(dāng)測(cè)試的情況下以臨時(shí)方式實(shí)現(xiàn)組件,尤其是在安全關(guān)鍵應(yīng)用程序中,成本可能非常高。
不過,好處是,有一些已知的做法可以幫助汽車制造商通過將軟件質(zhì)量構(gòu)建到他們的開發(fā)過程中來降低失敗的風(fēng)險(xiǎn)。在本文中,我們將討論導(dǎo)致汽車軟件復(fù)雜性的一些問題,以及與汽車軟件開發(fā)相關(guān)的風(fēng)險(xiǎn)。我們還將討論實(shí)施已知的開發(fā)最佳實(shí)踐(例如 ISO 26262)如何幫助組織降低這些風(fēng)險(xiǎn)。
更多代碼會(huì)帶來更多風(fēng)險(xiǎn)嗎?
根據(jù)一些估計(jì),一輛標(biāo)準(zhǔn)的中檔汽車可以有超過一百個(gè)電子控制單元 (ECU) 處理數(shù)百萬行代碼——而且這個(gè)數(shù)字還在增加。對(duì)于制造商來說,擁有幾款代碼超過 1 億行的汽車并不少見。
人們認(rèn)為,汽車越貴,嵌入的軟件就越多——而且大多數(shù)軟件都專用于高端信息娛樂組件。雖然隨著模型線的升級(jí),這些系統(tǒng)確實(shí)會(huì)變得越來越復(fù)雜,但即使是汽車的入門線也使用軟件來控制轉(zhuǎn)向、制動(dòng)系統(tǒng)、電力分配等。即使是藍(lán)牙、氣候控制、巡航控制等功能看似微小的變化,也會(huì)導(dǎo)致代碼呈指數(shù)級(jí)增長(zhǎng)。
我們可以假設(shè)更多的代碼會(huì)轉(zhuǎn)化為更多的復(fù)雜性——因此會(huì)帶來風(fēng)險(xiǎn)——但影響可能不一定很大。與汽車軟件相關(guān)的業(yè)務(wù)風(fēng)險(xiǎn)的更大貢獻(xiàn)者是從多個(gè)層級(jí)的各種來源開發(fā)的代碼的集成。大多數(shù)組件,包括基于 ECU 的組件,都分包給二級(jí)供應(yīng)商,而二級(jí)供應(yīng)商又分包給三級(jí)供應(yīng)商,依此類推。前面的每一層都有與他們正在開發(fā)的組件相關(guān)的特定要求。組織通常(但并非總是)有分析傳入代碼的實(shí)踐,以確保組件按預(yù)期運(yùn)行。
但這假設(shè)供應(yīng)鏈上的每個(gè)組件都是新的發(fā)展。實(shí)際上,下游層正在分支為特定品牌、型號(hào)和年份編寫的代碼。代碼的變異和重用發(fā)生在整個(gè)供應(yīng)鏈中,這導(dǎo)致了測(cè)試問題。制造商如何在如此混亂的軟件開發(fā)生態(tài)系統(tǒng)中實(shí)施端到端測(cè)試?當(dāng)方向盤中的 ECU 最初是為一輛車開發(fā)的,而儀表板中的 ECU 是為另一輛車開發(fā)的,而這兩個(gè) ECU 都不是為當(dāng)前嵌入的車輛而設(shè)計(jì)的,那會(huì)產(chǎn)生什么影響?您如何確保整個(gè)系統(tǒng)按預(yù)期運(yùn)行??jī)蓚€(gè)系統(tǒng)完全有可能通過功能測(cè)試,但在所有情況下都無法正常通信。
軟件質(zhì)量成本
當(dāng)組織試圖衡量軟件開發(fā)的成本時(shí),他們傾向于查看一般指標(biāo):工程師的開發(fā)時(shí)間;QA的測(cè)試時(shí)間;以獲取工具許可證、編譯器和其他基礎(chǔ)設(shè)施組件的形式“構(gòu)建材料”。這些是重要的指標(biāo),但經(jīng)常被忽視的是失敗的成本。
如果制動(dòng)系統(tǒng)中的軟件出現(xiàn)故障,企業(yè)在返工、召回、審計(jì)、訴訟和庫存價(jià)值損失方面的成本是多少?如果有生命損失怎么辦?我們認(rèn)為質(zhì)量成本是開發(fā)和測(cè)試軟件的成本,包括我們確定的所有正常指標(biāo)以及與現(xiàn)場(chǎng)失敗相關(guān)的非常有形的成本。
缺陷使汽車制造商付出了很多錢。NHTSA 估計(jì),整個(gè)行業(yè)的召回和修復(fù)每年使汽車制造商損失 30 億美元。當(dāng)談到與軟件相關(guān)的問題的成本時(shí),IEEE 2005 年估計(jì)制造商的成本為每輛車 350 美元。當(dāng)您考慮到一系列車輛的低利潤率時(shí),可以想象一個(gè)足夠嚴(yán)重的軟件缺陷會(huì)嚴(yán)重?fù)p害業(yè)務(wù)。
底線很重要,但更重要的是,人們可能會(huì)因軟件缺陷而受重傷甚至死亡。無論缺陷可能起源于供應(yīng)鏈多遠(yuǎn),缺陷及其所有相關(guān)后果都成為汽車制造商的責(zé)任。因此,任何圍繞軟件開發(fā)的成本分析都需要考慮失敗的潛在成本。
軟件開發(fā)的現(xiàn)狀
我們認(rèn)為,汽車軟件分層供應(yīng)鏈的復(fù)雜性會(huì)導(dǎo)致與安全關(guān)鍵系統(tǒng)相關(guān)的整體風(fēng)險(xiǎn)。我們還重申了汽車業(yè)務(wù)的潛在成本。但是這個(gè)問題的另一個(gè)方面在于工程和軟件開發(fā)之間的文化差異。
軟件開發(fā)幾乎從來都不是工程。也就是說,來自工程原理的某些概念,例如可重復(fù)性、良好實(shí)踐的最佳實(shí)踐和對(duì)構(gòu)建標(biāo)準(zhǔn)的依賴,尚未在軟件開發(fā)中牢固確立。此外,對(duì)軟件開發(fā)人員的培訓(xùn)可能不一致——甚至根本不存在——組織必須竭盡全力來驗(yàn)證他們的開發(fā)人員是否擁有足夠的知識(shí)來構(gòu)建安全關(guān)鍵型軟件。
這與工程形成對(duì)比,在工程中,與軟件開發(fā)相比,學(xué)科的態(tài)度、思維方式和歷史強(qiáng)制執(zhí)行的過程不太容易出現(xiàn)缺陷。這并不是說工程師知道他們?cè)谧鍪裁炊浖_發(fā)人員不知道。而是說,汽車工程作為一個(gè)領(lǐng)域的成熟度是軟件開發(fā)的兩倍,軟件的無形的、時(shí)間性的特性使一種傲慢的態(tài)度永存,如果它有效,那么它就完成了。
軟件開發(fā)的重點(diǎn)是更快的交付和功能需求——我們能多快擁有這個(gè)功能?管理層幾乎沒有動(dòng)力在軟件開發(fā)生命周期中實(shí)施良好的工程實(shí)踐。在軟件中實(shí)現(xiàn)功能安全需要實(shí)施某些工程原則:
功能安全必須是主動(dòng)的
過程必須是可控的、可測(cè)量的和可重復(fù)的
應(yīng)通過執(zhí)行標(biāo)準(zhǔn)來預(yù)防缺陷
測(cè)試必須有效且具有確定性
應(yīng)對(duì)復(fù)雜的內(nèi)存問題進(jìn)行測(cè)試
好消息是圍繞軟件開發(fā)的態(tài)度一直在演變。ISO 26262、MISRA 和其他標(biāo)準(zhǔn)旨在通過為在軟件開發(fā)過程中實(shí)施工程概念提供基礎(chǔ)來規(guī)范汽車應(yīng)用程序的軟件開發(fā)。一些組織將遵守 ISO 26262 和其他標(biāo)準(zhǔn)視為增加開銷的負(fù)擔(dān),沒有任何直接價(jià)值,但事實(shí)是,與軟件缺陷相關(guān)的失敗成本遠(yuǎn)遠(yuǎn)高于確保質(zhì)量的成本。與指定特定規(guī)格的電線以承載已知電壓的電氣標(biāo)準(zhǔn)一樣,編碼標(biāo)準(zhǔn)可以提供有助于避免災(zāi)難的指南。
作者:Arthur Hicken,Adam Trujillo
審核編輯:郭婷
-
汽車電子
+關(guān)注
關(guān)注
3027文章
7992瀏覽量
167445 -
gps
+關(guān)注
關(guān)注
22文章
2899瀏覽量
166417 -
ecu
+關(guān)注
關(guān)注
14文章
890瀏覽量
54608
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論