簡單直接地開始編程的誘惑總是很大。如果采取這種做法,日后在安全和防護方面可能要付出代價。設計適當?shù)能浖軜?gòu)可以......
簡化接口減少須視為安全相關的代碼量促進模塊化有助于測試和驗證簡化非安全相關軟件的更改管理支持更嚴格的硬件設計簡化代碼關于簡化這一目標,我喜歡下面這句發(fā)人深省的名言
圖1 - 關于軟件設計的名言
IEC 61508-3中的V模型將軟件架構(gòu)步驟顯示為收集需求與軟件設計之間的步驟。它是決定軟件安全基本策略的步驟,包括冗余和多樣性的使用。它還涉及將功能分配給主要元件和子系統(tǒng),并決定其間如何互連。
圖2 - IEC 61508-3:2010中的V模型
機械標準IEC 62061給出了關于軟件架構(gòu)的一些最佳說明,包括下圖。此圖不是專門針對軟件的,但我認為它已經(jīng)把主要思想表達出來。
圖3 - 摘自機械安全標準IEC 62061
如果架構(gòu)不支持安全與非安全軟件之間充分隔離,那么所有軟件都需要根據(jù)安全標準進行開發(fā)。如果軟件屬于混合安全完整性,那么不支持充分獨立性要求的架構(gòu)將導致所有軟件都必須按照任何模塊的最高安全完整性進行開發(fā)。
顯然,軟件架構(gòu)需要與硬件架構(gòu)協(xié)調(diào)一致。如果系統(tǒng)含有三個微控制器/微處理器,其中一個用于運行控制軟件,另外兩個各運行一個安全通道,那么每個微控制器/微處理器可以有自己的軟件架構(gòu),充分隔離和獨立性在很大程度上是默認具備的。而要在單個處理器中實現(xiàn)相同的目標,將需要在架構(gòu)規(guī)劃上下更大工夫。
除了劃分子系統(tǒng)和元件之外,架構(gòu)還應描述控制流程,但這是未來博客的主題。
-
軟件架構(gòu)
+關注
關注
0文章
64瀏覽量
10277 -
軟件安全
+關注
關注
0文章
23瀏覽量
9197
原文標題:【工程師博客】如何設計安全的軟件架構(gòu)
文章出處:【微信號:motorcontrol365,微信公眾號:電機控制設計加油站】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論