在功能安全開發過程中,很多時候我們會遇到獨立于環境的安全要素開發(Safety Element out of Context, SEooC),很多朋友搞不清:
什么是SEooC,
什么時候應用SEooC
SEooC和正常功能安全開發有什么不同
SEooC應該怎么開發
這篇我們就以問答的形式,專門聊聊SEooC,回答朋友們的疑問。
Q: 是什么SEooC?
SEooC是獨立于具體項目背景進行功能安全要素的開發。
所謂的獨立于項目背景最簡單的理解就是沒有具體的車輛應用背景,車輛具體參數不清楚。
需要特別注意的是,SEooC開發的安全要素可以是一個系統,軟件,硬件,但不可以是一個相關項,因為相關項總是需要用于批量生產的整車環境。如果SEooC是一個系統,而該系統不是在整車環境中開發的,那么它就不是一個相關項。
Q: 什么時候需要應用SEooC?
SEooC主要有兩個應用背景:
1
通用產品的開發
汽車供應商為不同的客戶和不同的應用開發通用的要素。這些通用的產品是獨立于不同的組織開發出來的,便于后續應用到不同組織的產品中去。
2
前期技術儲備
說白了就是很多企業在產品開發前期沒有具體項目,這時候必須依托內部資源進行樣機或Demo開發,以便拿到OEM項目等,然后再根據具體項目進行適配型更改,這種情況也屬于SEooC開發。
在這兩種情況下,需要根據開發的安全要素,先對其做出關于需求以及設計的假定,這些假定包括了通過更高設計層級以及要素外部設計而得到的分配到要素的安全要求,然后根據這些假定進行功能安全開發。
Q:SEooC和正常的功能安全開發有什么不同?
從開發流程,工作輸出產物的角度講,SEooC和正常的功能安全開發并沒有本質區別,只是SEooC只執行安全要素所涉及的功能安全開發階段的流程和工作輸出產物。
具體而言:
1
正常功能安全
有具體項目背景,功能安全開發始于相關項的定義,然后依次經過概念,系統,硬件,軟件階段等完整的功能安全開發過程。
2
SEooC開發
依據開發的安全要素的不同級別(是系統,軟件,還是硬件),直接進入所對應的功能安全開發階段(系統開發,軟件開發,硬件開發),其前提輸入條件,一般是上一個開發階段的核心工作輸出產物,包括前期需求,外部設計等,直接進行假設即可,然后以此為基礎進行安全要素的開發。
即:如果SEooC開發的安全要素是系統,則功能安全開發活動始于系統階段開發。如果安全要素是軟/硬件,則功能安全開發活動始于軟/硬件開發。
需要注意的是,所謂的假設輸入,不僅包含了上個開發階段中和安全要素相關的安全需求,還包括了對于SEooC外部設計的假設,下圖表示了假設與SEooC開發之間的關系。而SEooC本身的需求是由由假設的高級別需求和假設的該SEooC外部設計而派生出來的,它的正確實施將在SEooC開發過程中得到驗證。
Q: SEooC應該怎么開發?
SEooC開發的安全要素有三大類,即: 系統,軟件,硬件。26262-10:2018第9部分,對其開發過程分別進行了闡述,總體而言,就是對安全要素對應開發階段的上個開發階段核心相關的工作范圍和產物進行考慮,并對其進行假設,作為SEooC開發的前提輸入。
那么接下來我們就以這三大類安全要素為例,介紹其SEooC開發過程。
安全要素: 系統
系統是SEooC能夠開發的最大的或者最上層的安全要素,SEooC系統開發直接始于系統階段的開發,其上個開發階段為概念階段,主要的工作產物包括相關項定義,安全目標及功能安全需求,所以需要對這些內容進行假設,作為系統SEooC開發前提輸入。
下圖為SEooC系統開發主要過程描述,較好地闡述了哪些開發階段內容需要進行考慮。
很有朋友很疑惑那這些前提輸入要怎么假設?
一般來說,有兩個途徑:
相關類似項目內容的裁剪,由此導出概念階段中和安全要素相關的相關項定義,安全目標和功能安全需求,然后根據SEooC系統安全要素進行適應性調整和更改。
如果沒有相關類似項目,則可對SEooC系統應用范圍進行假設,然后進行簡化的概念階段開發,主要是對系統所應用的相關項進行定義,依據系統實現的功能進行安全分析導出和其相關的安全目標和功能安全需求。
安全要素: 硬件
SEooC硬件開發直接對應ISO 26262-5:2018硬件開發階段,其前提輸入為和硬件相關的技術安全需求,在ISO 26262-10:2018中,對硬件SEooC所對應的技術安全需求并沒有強制性要求,可以根據需要進行假設即可,或者直接定義硬件安全需求。具體開發流程及涵蓋的內容如下圖所示,在此不再贅述。
同樣,硬件相關技術安全需求或者硬件安全需求應該怎么假設呢?
相對來講,硬件相關的安全需求假設是SEooC安全要素中最簡單的,最簡單的辦法就是按照ISO 26262-5:2018附件E中的內容進行對比,例如傳感器,控制單元,CPU等,找出SEooC硬件相關的失效模式,對應的安全機制等,然后依此定義硬件安全需求即可。
此外,本身包含的組件種類也比較固定,硬件安全需求多可以直接復用。
安全要素: 軟件
軟件SEooC開發,大致流程和硬件SEooC開發基本一致,需要對軟件相關的技術安全需求進行假設,然后以此為基礎進行軟件SEooC開發,具體就流程和開發范圍如下圖所示。
同樣,軟件相關技術安全需求或者軟件安全需求應該怎么假設呢?
軟件相關技術安全需求根據具體軟件應用對象的不同,相對差異化較大,在其假設過程中,需要首先明確軟件軟件應用范圍,是一個完整的軟件組件還是會應用到具體的軟件架構中等,具體需要實現哪些功能和特性。
如果前期對軟件組件功能實現不夠清楚,可以從軟件組件輸入和輸出接口入手,首先假設信號相關的功能安全需求及對應的ASIL等級,軟件的安全狀態,FTTI等作為前提輸入,然后對軟件組件進行進一步安全分析,得到具體的SEooC軟件安全需求即可,然后以此為基礎,進行軟件SEooC架構,實現的具體開發。
但需要注意的是,不管是哪種安全要素對應的SEooC開發,最后都會集成到一或多個特定應用環境,即相關項中,此時需要根據具體應用環境情況,對前提輸入假設進行驗證,以保證能夠實現特定應用環境對安全要素的功能安全需求。
最后,需要注意SEooC要素,尤其由SEooC開發的軟件和硬件組件和ISO 26262-8:2018 中第12部分軟件和第13部分描述的硬件組件的鑒定和評估的區別:
1
SEooC要素開發
基于假設進行開發,整個開發過程基于ISO 26262開發過程,符合功能安全開發標準,目的在于復用多個相關項中,只需要根據特定相關項對其假設進行驗證,如果存在差異則進行相應的更改。
2
軟件和硬件組件鑒定
其應用背景是去復用沒有按照ISO 26262流程開發的軟件或硬件組件,需要對其進行鑒定,并提供證據這些組件能夠滿足功能安全需求。
審核編輯:劉清
-
傳感器
+關注
關注
2552文章
51382瀏覽量
755824 -
OEM
+關注
關注
4文章
403瀏覽量
50429
原文標題:到底什么是SEooC開發
文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論