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

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

評論