避免重新發(fā)明輪子是高效產(chǎn)品開發(fā)的關(guān)鍵部分。在嵌入式編程中,這個(gè)概念始于受信任的庫(kù),并通過(guò)面向?qū)ο缶幊毯?Java 等概念得到增強(qiáng),這使我們能夠創(chuàng)建當(dāng)今的復(fù)雜系統(tǒng)。
安全標(biāo)準(zhǔn)也促進(jìn)了經(jīng)過(guò)驗(yàn)證的軟件元素的重用,盡管這帶來(lái)了復(fù)雜的挑戰(zhàn)。將一些元素引入到一個(gè)項(xiàng)目中,而這些元素在其開發(fā)中應(yīng)用的嚴(yán)格程度并不相同,這將不可避免地導(dǎo)致弱點(diǎn)。因此,安全標(biāo)準(zhǔn)規(guī)定了驗(yàn)證這些組件用于安全項(xiàng)目的方法。
但對(duì)效率的追求可能會(huì)導(dǎo)致在安全關(guān)鍵系統(tǒng)中不起作用的概念。定制現(xiàn)貨 (COTS) 軟件是許多行業(yè)以多種方式使用的術(shù)語(yǔ),雖然它在工業(yè)安全方面具有非常特定的含義,但它可以成為走捷徑的借口,這在安全方面是不可接受的項(xiàng)目。一個(gè)系統(tǒng)的強(qiáng)弱取決于它的弱點(diǎn)。未知譜系/出處軟件 (SOUP) 用于醫(yī)療標(biāo)準(zhǔn) IEC 62304,但在安全項(xiàng)目中沒(méi)有“未知”的東西是有充分理由的。你可以測(cè)試它到死,但最終,當(dāng)它的起源未知時(shí),你如何在未來(lái)幾年保持它?
脫離上下文定義安全元素
在汽車領(lǐng)域,ISO 26262-10 中定義的安全元素脫離上下文 (SEooC) 是在車輛中使用最初不是為該特定項(xiàng)目設(shè)計(jì)的組件的方法。
SEooC 這個(gè)術(shù)語(yǔ)有點(diǎn)笨拙,但它清楚地定義了問(wèn)題。您集成到系統(tǒng)中的所有軟件庫(kù)都是“脫離上下文”有效開發(fā)的:它們旨在提供特定功能,而不知道如何在目標(biāo)系統(tǒng)中使用它。“元素”表示這是具有特定功能范圍的單元或模塊;“安全”表示該模塊是在一組安全要求的背景下專門開發(fā)的。
有兩種基本類型的軟件 SEooC(源自 ISO 26262-10-9):
經(jīng)驗(yàn)證的使用方法。這種類型的軟件使用經(jīng)過(guò)驗(yàn)證的參數(shù)(和其他措施)來(lái)驗(yàn)證 COTS 組件是否達(dá)到指定的安全級(jí)別。ISO 26262-8-14 指定了如何實(shí)現(xiàn)這一點(diǎn),但在軟件環(huán)境中仍有很多值得商榷的地方。可觀察錯(cuò)誤的概念是關(guān)鍵——記錄產(chǎn)品的使用情況,以便可以可靠地記錄和匯總所有錯(cuò)誤,從而準(zhǔn)確了解軟件的可靠性。這需要考慮到具體的配置中。這些結(jié)果與目標(biāo)項(xiàng)目的相關(guān)性是復(fù)雜的,因?yàn)樵谟糜诮④浖煽啃缘默F(xiàn)場(chǎng)測(cè)試用例中,幾乎可以肯定安全項(xiàng)目具有不同的配置和工作環(huán)境。您能否相信未按照安全標(biāo)準(zhǔn)開發(fā)的軟件能夠可靠地報(bào)告所有錯(cuò)誤?
ISO 26262-6 方法。在汽車安全系統(tǒng)中開發(fā)軟件元素的標(biāo)準(zhǔn)方法在用于開發(fā)道路車輛功能安全的 ISO 26262 標(biāo)準(zhǔn)的第 6 節(jié)中定義。它源自標(biāo)準(zhǔn)前面部分中定義的目標(biāo)系統(tǒng)的完整 V 模型開發(fā),并且本身就是一個(gè) V 模型。因?yàn)樵撛厥敲撾x上下文開發(fā)的(即,不是從目標(biāo)項(xiàng)目的安全計(jì)劃中得出的),所以必須采用額外的措施。主要的附加措施是創(chuàng)建一組 SEooC 旨在工作的假設(shè)。這些假設(shè)必須在集成期間在目標(biāo)平臺(tái)上得到驗(yàn)證。
完整的軟件生命周期維護(hù)
這是任何安全項(xiàng)目開發(fā)的關(guān)鍵部分:響應(yīng)開發(fā)期間或發(fā)布后提出的問(wèn)題的能力。一旦項(xiàng)目成熟,就需要一種方法來(lái)在問(wèn)題出現(xiàn)時(shí)可靠地修改項(xiàng)目。ISO 26262-6 方法的一個(gè)關(guān)鍵優(yōu)勢(shì)是可以進(jìn)行全面而準(zhǔn)確的影響分析,并正確實(shí)施由此產(chǎn)生的更改,因?yàn)樗袠?biāo)準(zhǔn)工件都是在設(shè)計(jì)、實(shí)施和測(cè)試之間具有可追溯性的情況下創(chuàng)建的。
您從項(xiàng)目發(fā)布中獲得的時(shí)間和人員越多,就越有必要擁有可用的人工制品及其相關(guān)流程,以便安全地進(jìn)行更改。這種方法確保了未來(lái)的可維護(hù)性。
跨行業(yè)重用
在多個(gè)行業(yè)中使用許多嵌入式組件具有實(shí)際意義。例如,存儲(chǔ)數(shù)據(jù)的文件系統(tǒng)或通信數(shù)據(jù)的網(wǎng)絡(luò)堆棧不是特定于行業(yè)的,理想情況下,從一個(gè)項(xiàng)目中獲得的好處應(yīng)該在新項(xiàng)目中得到利用,無(wú)論它們應(yīng)用于哪個(gè)行業(yè)。從軟件的角度來(lái)看,跨不同行業(yè)開發(fā)軟件的安全要求大體相似,但根據(jù)所需的安全級(jí)別,其嚴(yán)格程度不同。采用根據(jù) ISO 26262-6 開發(fā)的 SEooC 方法為跨標(biāo)準(zhǔn)映射人工制品提供了良好的基礎(chǔ)(例如,工業(yè)功能安全的 IEC 61508 或醫(yī)療設(shè)備的 IEC 62304)。
為 SEooC 定義 ASIL 級(jí)別
在所有安全標(biāo)準(zhǔn)中,都規(guī)定了安全級(jí)別。目標(biāo)系統(tǒng)中故障的影響越嚴(yán)重,用于實(shí)施和驗(yàn)證軟件的定義措施就越嚴(yán)格。
為 SEooC 選擇汽車安全完整性等級(jí) (ASIL) 可能會(huì)有問(wèn)題。簡(jiǎn)單的答案是始終開發(fā)到最高 ASIL 級(jí)別 (ASIL D),以便與任何項(xiàng)目集成而無(wú)需進(jìn)行重大返工,并且跨行業(yè)標(biāo)準(zhǔn)的映射也更容易。不利的一面是,它使那些 SEooC 比那些開發(fā)到較低 ASIL 的 SEooC 貴得多。
如何獲取 SEooC
SEooC 可以提供嵌入式組件作為安全系統(tǒng)的核心部分并降低成本。然而,設(shè)計(jì)用于在安全環(huán)境中重用的嵌入式組件不可避免地很復(fù)雜,因此必須深思熟慮地采購(gòu)這些組件。為了獲得最佳結(jié)果,他們需要在能夠滿足安全產(chǎn)品生命周期需求的環(huán)境中進(jìn)行開發(fā)。
最佳實(shí)踐是開發(fā)一個(gè)完整的 ISO 26262 第 6 節(jié)安全元素,其中包含準(zhǔn)備重用的假設(shè)和測(cè)試用例。這需要由項(xiàng)目管理系統(tǒng)支持,該系統(tǒng)允許每個(gè)客戶使用在半獨(dú)立項(xiàng)目中維護(hù)的 SEooC,以便整個(gè)軟件維護(hù)生命周期可以獨(dú)立應(yīng)用于該項(xiàng)目。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5141文章
19531瀏覽量
314949 -
汽車電子
+關(guān)注
關(guān)注
3035文章
8249瀏覽量
169470 -
JAVA
+關(guān)注
關(guān)注
20文章
2984瀏覽量
106861
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式軟件行業(yè)增長(zhǎng)驅(qū)動(dòng)因素
Python在嵌入式系統(tǒng)中的應(yīng)用場(chǎng)景
泰克MDO32示波器在嵌入式系統(tǒng)調(diào)試中的關(guān)鍵技術(shù)分析

PLD在嵌入式系統(tǒng)中的應(yīng)用實(shí)例
如何提高嵌入式代碼質(zhì)量?
MPU在嵌入式系統(tǒng)中的應(yīng)用
嵌入式系統(tǒng)開發(fā)中的測(cè)試方法 嵌入式系統(tǒng)開發(fā)與AI結(jié)合應(yīng)用
嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問(wèn)題解決
mmc卡在嵌入式系統(tǒng)中的使用
什么是嵌入式?一文讀懂嵌入式主板
嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?
嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng)
嵌入式系統(tǒng)中工業(yè)4.0網(wǎng)絡(luò)安全

評(píng)論