功能安全需要應(yīng)對隨機故障和系統(tǒng)故障。軟件只有系統(tǒng)故障,因為軟件沒有隨機故障,因為如果出現(xiàn)相同的情況,軟件故障通常每次都以相同的方式導(dǎo)致系統(tǒng)故障。達到更高安全水平的一種方法是實施雙通道系統(tǒng),每個通道中都有不同的軟件。具有相同軟件的冗余通道會將軟件作為單點故障。如果兩個通道具有不同的軟件,那么爭論是它們不太可能同時以相同的方式失敗,從而允許更高的SIL索賠。聽起來不錯,但有問題嗎?讓我們在博客中更深入地或盡可能深入地了解。
首先,讓我們看一下IEC 61508中提供了哪些指導(dǎo),然后看看文獻中提供了哪些指導(dǎo)以及一些基于多樣性的設(shè)計模式。
在IEC 61508-3:2010中,以下子條款涵蓋了這一點
圖 1 - IEC 61508-3 的相關(guān)摘錄
看看IEC 61508-2:2010子條款7.4.3說SC(系統(tǒng)能力)最多只能提高一個級別。因此,例如,如果兩個軟件的SIL聲明為SIL 1,那么組合最多為SIL 2。我想最多只允許增加一個的限制是存在的,因為將這兩個項目結(jié)合起來的人不知道各個開發(fā)的細(xì)節(jié),也許可能存在一些隱藏的常見原因故障,例如使用的工具。如果從頭開始開發(fā)這兩個軟件,你可能會做得更好。
IEC 61508-3 附錄 A 中的表格提供了一些指導(dǎo),表 A.2 提供了不同架構(gòu)的四種替代版本,表 A.10 要求對軟件進行 CCF(常見原因故障)分析,此措施建議在 SIL 2 中,強烈建議用于更高的 SIL。
圖 2 - IEC 61508-3:2010 摘錄
但是開發(fā)各種軟件有多難。Philip Koopman在他的優(yōu)秀著作“更好的嵌入式系統(tǒng)軟件”第26.3.3節(jié)中對這個話題有一個很好的評論。在本節(jié)中,他指出,實現(xiàn)真正多樣化的軟件確實很困難,但很容易獲得一定程度的多樣性。他指出,量化所實現(xiàn)的多樣性也很難,這并不奇怪,因為硬件CCF分析在標(biāo)準(zhǔn)中有更多的指導(dǎo),仍然更多的是工程判斷而不是科學(xué)。Philip Koopman進一步警告說,“許多人(包括我們)認(rèn)為,如果你的時間和資源有限,你最好制作一個真正好的軟件版本,而不是試圖制作兩個獨立的版本,而這兩個版本本身就沒有那么好。兩個版本中可能會有太多相同的錯誤。
我看了看是否有任何研究來支持這一觀點。我看到的關(guān)于這個主題最有趣的筆記是下面顯示的,他們給 27 名學(xué)生提供了一個規(guī)范,并要求他們編寫軟件來實現(xiàn)它,然后檢查有多少不同的軟件以同樣的方式失敗。它確實支持了編寫各種軟件確實很難的觀點。
圖3 - 關(guān)于不同軟件價值的有趣實驗論文
然后是HSE數(shù)據(jù),它們顯示了編碼階段(設(shè)計和實現(xiàn))中很少的錯誤,這表明除非規(guī)范具有多樣性,否則您不會獲得很多好處。
圖4 - 系統(tǒng)因HSE而失敗的原因
為波音777開發(fā)電傳飛行軟件的團隊似乎已經(jīng)采用了三種不同的軟件,開發(fā)了三種不同的規(guī)格,使用三個不同的開發(fā)團隊,他們不應(yīng)該相互交談,運行在三臺不同的(不同的)計算機上控制飛機。然后,當(dāng)其中一個產(chǎn)出與其他產(chǎn)出不一致時,使用選民來選擇行動方案。
航天飛機使用了一種類似的架構(gòu),使用五臺計算機,四臺相同,一臺不同。各種微型計算機上的軟件也多種多樣。
基于多樣性的功能安全軟件的一種設(shè)計模式是N版本編程,它使用根據(jù)同一組需求開發(fā)的不同代碼的多個版本,并對其輸出進行投票。
圖 5 - N 版本編程模式的繪制(安全關(guān)鍵型嵌入式系統(tǒng)的設(shè)計模式))
如果我們將上述內(nèi)容視為可靠性框圖,那么投票者是CCF來源的明顯弱點,除非投票者是超可靠的,否則從高值N中獲得的好處將是有限的。
讓我們將多樣化的軟件方法與一些替代方案進行比較。雙核鎖步微控制器不實現(xiàn)軟件分集,而是一種硬件安全機制,因為兩個內(nèi)核將運行相同的軟件。相比之下,軟件鎖步/軟件 RMT 與逐周期鎖步不同,可以實現(xiàn)軟件多樣性,但比時鐘逐周期鎖步方法檢測差異的時間更長。軟件鎖步可以在不同的處理器上運行,甚至可以在單個處理器的冗余線程上運行,并在選定的觀察點比較它們的輸出。
即使您實施了各種軟件,用于生產(chǎn)軟件的工具呢?這些也可能是常見原因故障的根源,但如果在CCF中考慮到這一點并選擇了不同的工具,或者選擇的工具以滿足整體安全功能的SIL要求,或者您使用適合組合元件SIL的工具,您可能很高興。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7658瀏覽量
152177 -
處理器
+關(guān)注
關(guān)注
68文章
19435瀏覽量
231300 -
嵌入式
+關(guān)注
關(guān)注
5094文章
19189瀏覽量
307943
發(fā)布評論請先 登錄
相關(guān)推薦
在我們得到的時候是否需要付出
項目管理軟件在軟件實施服務(wù)行業(yè)的運用
羋月傳中值得我們溫度傳感器廠家學(xué)習(xí)的一句話“您付出多少,就會回報多少”
CRM軟件成功實施的6個步驟?!
企業(yè)為什么需要實施MES系統(tǒng)軟件?
如何實施軟件AES以及AES加密/解密
ARMv8-A TrustZone軟件對實施SVE的系統(tǒng)的影響
基于開源軟件的軟件工程實施系統(tǒng)研究
蘋果語音助手操作原理?細(xì)數(shù)“Hey Siri”,背后付出的努力與小心思
構(gòu)建智慧城市和可持續(xù)社區(qū)需有哪些技術(shù)付出
軟件定義存儲的實施是對的嗎
美國對EDA軟件實施新的出口管制
沒有實施APS軟件的工廠,常常面臨的問題
![沒有<b class='flag-5'>實施</b>APS<b class='flag-5'>軟件</b>的工廠,常常面臨的問題](https://file.elecfans.com/web2/M00/72/7A/poYBAGNWUqWAJ8qWAADDZQbOkrY378.png)
評論