徐征捷,王 奇
(湖南中車時(shí)代通信信號(hào)有限公司,湖南 長(zhǎng)沙 410005)
安全相關(guān)機(jī)構(gòu)對(duì)產(chǎn)品安全可接受性的認(rèn)識(shí)主要取決于安全認(rèn)證過程中產(chǎn)生的安全案例是否全面、準(zhǔn)確[1]。安全案例通常在系統(tǒng)首次運(yùn)行之前構(gòu)建和呈現(xiàn),因此,安全論證通常基于估計(jì)和預(yù)測(cè)的操作行為而不是觀察到的證據(jù)。同時(shí),即使在沒有改變系統(tǒng)或監(jiān)管環(huán)境的情況下,安全案例在整個(gè)產(chǎn)品生命周期之間不可避免地需要進(jìn)行更新。雖然IEC 62278 等標(biāo)準(zhǔn)[2]對(duì)安全案例的修訂提出了明確要求,但對(duì)如何開展此類行動(dòng)沒有提供具體的建議。
安全案例是一個(gè)復(fù)雜的相互依賴的網(wǎng)絡(luò),通常包含安全目標(biāo)、證據(jù)、設(shè)計(jì)和論證過程信息。因此,對(duì)安全案例的單一更改可能需要變更許多其他相應(yīng)的部分,從而產(chǎn)生“漣漪效應(yīng)”。當(dāng)前安全案例管理面臨的困難在于需要通過結(jié)構(gòu)不良的文檔來(lái)辨別那些相應(yīng)的變化,更新安全案例的成功與否很大程度上取決于對(duì)文件的理解程度。幾乎無(wú)法保證所有變更都得到了平等和系統(tǒng)的處理,因?yàn)橹饔^性在安全案例維護(hù)中發(fā)揮的作用超出了預(yù)期。
基于此,本文采用目標(biāo)結(jié)構(gòu)法(goal structuring notation, GSN)構(gòu)建安全論證變更管理模型。GSN 方法提供了一個(gè)清晰的安全案例概念模型,從而能夠有效地整合安全分析中的安全證據(jù)材料,明確地表示安全目標(biāo)與安全案例間的相互依賴性[3]。通過將該方法應(yīng)用于軌道交通信號(hào)設(shè)備的變更管理中,驗(yàn)證了采用GSN 方法構(gòu)建安全案例變更管理模型能夠系統(tǒng)化地推理和處理變更,提高了變更管理的準(zhǔn)確性和全面性。
工程變更是制造企業(yè)生產(chǎn)經(jīng)營(yíng)活動(dòng)中貫穿整個(gè)產(chǎn)品生命周期的重要活動(dòng)之一,它可以是簡(jiǎn)單的對(duì)發(fā)布文檔的重新修正,也可以是復(fù)雜的對(duì)產(chǎn)品設(shè)計(jì)和制造過程的重新設(shè)計(jì)。引起工程變更的原因很多,從設(shè)計(jì)、工藝、制造到銷售服務(wù),幾乎每個(gè)環(huán)節(jié)都可能提出變更請(qǐng)求[4]。由于工程變更活動(dòng)影響企業(yè)多個(gè)部門,容易造成產(chǎn)品數(shù)據(jù)不完整、更改反復(fù)等問題,因此,有效管理工程變更的能力是體現(xiàn)企業(yè)敏捷性的重要標(biāo)志之一[5]。
工程變更過程中,在對(duì)項(xiàng)目進(jìn)行安全評(píng)估和認(rèn)證時(shí),項(xiàng)目管理者需要構(gòu)建和展示相關(guān)的安全案例,從而表明產(chǎn)品滿足了相關(guān)安全要求。這些安全案例通常被稱為安全論據(jù)。安全論據(jù)用于證明系統(tǒng)危險(xiǎn)失效所產(chǎn)生的風(fēng)險(xiǎn)已經(jīng)減輕到可接受的等級(jí),其與安全目標(biāo)之間存在著邏輯上的關(guān)聯(lián)關(guān)系,意味著層次更接近安全目標(biāo)的安全論據(jù)需要以更底層的安全論據(jù)作為支撐,而安全論證是實(shí)現(xiàn)安全論據(jù)逐步支撐安全目標(biāo)的方式。
GSN 方法是一種用來(lái)呈現(xiàn)安全論證過程的圖形化語(yǔ)言[6],被廣泛應(yīng)用于核電、航空、汽車行業(yè)等與安全相關(guān)的領(lǐng)域。這種圖形化語(yǔ)言不但可以清楚地論證安全目標(biāo)與安全論據(jù)之間的邏輯關(guān)系,而且可以使安全審核人員關(guān)注安全證據(jù)本身而不是文字的推敲上,因?yàn)榘踩C據(jù)與安全目標(biāo)之間的邏輯對(duì)應(yīng)關(guān)系才是安全論證的核心。GSN 中各元素的圖形表示和描述如圖1 所示[7]。
圖1 GSN 中各元素圖形表示和描述Fig.1 Graphic representation and description of elements in GSN
一個(gè)完整的安全案例通常由以下4 個(gè)要素組成[8]:為確保安全必須解決的安全目標(biāo)/需求,來(lái)自相關(guān)系統(tǒng)的研究、分析和測(cè)試的證據(jù),顯示證據(jù)如何滿足安全目標(biāo)/需求的論證過程,以及目標(biāo)或論證過程所處的環(huán)境、所依據(jù)的標(biāo)準(zhǔn)或假設(shè)等上下文信息。圖2 中所示的概念模型表明這4 個(gè)元素之間存在著宏觀依賴關(guān)系[9],識(shí)別這些依賴關(guān)系有助于保持變更處理過程的一致性。
圖2 安全案例要素之間的依賴關(guān)系Fig.2 Dependencies among security case elements
傳統(tǒng)的配置管理包含配置項(xiàng)和配置關(guān)系。使用GSN 構(gòu)建框架模型,可以將這些概念與安全案例相關(guān)聯(lián)。本文使用GSN 構(gòu)建配置模型,將其應(yīng)用于安全案例的變更管理中。表1 對(duì)傳統(tǒng)配置模型與基于GSN 的安全論證模型進(jìn)行了對(duì)比。
表1 傳統(tǒng)配置模型與基于GSN 的安全論證模型的區(qū)別Tab.1 Differences between traditional configuration model and GSN-based security demonstration model
安全案例中安全論據(jù)的作用是建立可用證據(jù)、安全目標(biāo)和上下文信息之間的關(guān)系。任何變更引入的變化類型與典型目標(biāo)結(jié)構(gòu)的元素之間存在對(duì)應(yīng)關(guān)系,這些關(guān)聯(lián)關(guān)系如表2 所示。
一個(gè)安全案例必須在目標(biāo)/要求、證據(jù)和上下文信息這3 個(gè)方面保持正確、一致和完整。例如,如果安全案例中列出的要求未正確表達(dá)監(jiān)管背景的適用安全要求,則安全案例無(wú)效;如果安全案例中使用的設(shè)計(jì)信息與運(yùn)行中的系統(tǒng)設(shè)計(jì)不一致,則安全案例無(wú)效;類似地,選擇性地省略已知系統(tǒng)破壞性證據(jù)的安全案例也是無(wú)效的。安全案例維護(hù)的難點(diǎn)在于這3 類變更類型中的任何一個(gè)或全部可能隨時(shí)間而變化。
安全案例變更活動(dòng)包括2 個(gè)階段:評(píng)估階段是評(píng)估變更對(duì)安全案例安全性論點(diǎn)的影響;修正階段是確定修正行動(dòng)的過程,并追蹤該行為在修正安全論證方面的后果。這兩個(gè)階段之間存在迭代關(guān)系,修正安全案例破壞部分的行為也可能導(dǎo)致安全案例其他證據(jù)損壞。對(duì)于任何一次更改,可能需要對(duì)變更過程進(jìn)行多次迭代才能再次形成一致且正確的安全案例,這突出了開展這些活動(dòng)的有效性和系統(tǒng)化過程的重要性。安全案例變更管理流程如圖3 所示。
圖3 安全案例變更管理流程Fig.3 Security case change management process
3.2.1 識(shí)別變更點(diǎn)
安全目標(biāo)、安全證據(jù)和上下文信息可以看作是安全案例的論據(jù),變更其中任何一個(gè)給定條件都將破壞安全案例的有效性,安全案例維護(hù)的難點(diǎn)在于這3 種論據(jù)可能會(huì)隨著時(shí)間的推移而改變??赡馨l(fā)生變更的情況有:
(1)操作事故后需要增加額外的監(jiān)管要求;
(2)系統(tǒng)因糾正或自適應(yīng)維護(hù)等原因需要更新設(shè)計(jì);
(3)作為證據(jù)的操作經(jīng)驗(yàn)、實(shí)驗(yàn)及測(cè)試數(shù)據(jù)等被質(zhì)疑。
3.2.2 用GSN 表示變更
變更類型與目標(biāo)結(jié)構(gòu)要素之間的對(duì)應(yīng)關(guān)系如表2 所示,在產(chǎn)品發(fā)生變更前已經(jīng)完成了整個(gè)系統(tǒng)安全案例的構(gòu)建,當(dāng)GSN 元素或關(guān)系受到變更時(shí),在該項(xiàng)上放置一個(gè)叉(×)。本步驟關(guān)注的是對(duì)目標(biāo)結(jié)構(gòu)安全論證的初始變更,即起始點(diǎn)的變更影響,而不是總的影響。
3.2.3 用GSN 識(shí)別影響
若證據(jù)類型發(fā)生變更,通過證據(jù)支持連接線(實(shí)心箭頭表示)可能導(dǎo)致與之相關(guān)聯(lián)的目標(biāo)的有效性受到影響。同樣,若上下文信息類型發(fā)生變更,通過補(bǔ)充說明連接線(空心箭頭表示)可能導(dǎo)致與該上下文信息類型關(guān)聯(lián)的所有目標(biāo)的有效性受到影響。確定了單一變化造成的影響程度后,通過結(jié)構(gòu)傳播效果逐步線性推理可能受到影響的節(jié)點(diǎn)和對(duì)象。
3.2.4 確定修改方案
在上一步驟結(jié)束時(shí),確定了安全案例中遭到破壞的部分,確定安全案例修改方案可以通過采用一個(gè)完全不同的支持論據(jù)取而代之,或者可以采用已經(jīng)使用的論據(jù)形式通過更新內(nèi)容或數(shù)據(jù)信息對(duì)遭到破壞的安全論據(jù)進(jìn)行變更。
3.2.5 修正損壞的安全論據(jù)
修正過程是從已確定要求變更節(jié)點(diǎn)開始,自上而下一步一步地修正論點(diǎn),直到安全目標(biāo)可以與現(xiàn)有證據(jù)聯(lián)系起來(lái)。在上一步驟中提出的修改方案將作為變更節(jié)點(diǎn)上下文信息的重要組成部分,是目標(biāo)結(jié)構(gòu)的更改歷史記錄的一部分,應(yīng)在變更節(jié)點(diǎn)時(shí)添加對(duì)目標(biāo)/要求涉及的上下文信息的描述。
本文選擇軌道交通信號(hào)設(shè)備為分析對(duì)象,應(yīng)用GSN 方法對(duì)其時(shí)序分析有效性進(jìn)行安全論證模型的構(gòu)建,旨在通過實(shí)例說明基于GSN 的模型構(gòu)建對(duì)變更管理的實(shí)現(xiàn)過程及其產(chǎn)生的效果。
4.1.1 識(shí)別變更點(diǎn)
在初步接受安全論證后,發(fā)現(xiàn)靜態(tài)時(shí)序分析工具存在一個(gè)缺陷,變更涉及的直接影響是導(dǎo)致測(cè)試結(jié)果不準(zhǔn)確,因此識(shí)別出變更點(diǎn)為S1(時(shí)序測(cè)試結(jié)果)有誤。
4.1.2 用GSN 表示變更
在檢查了安全論證的3 種變更類型(上下文信息、解決方案和目標(biāo)/需求)之后,確定上述變更直接涉及S1(時(shí)序測(cè)試結(jié)果)的變更,如圖4 所示。由于S1(時(shí)序測(cè)試結(jié)果)是安全論證的初始變更點(diǎn),因此在該項(xiàng)上放置一個(gè)叉(×)。
圖4 響應(yīng)時(shí)間安全論證結(jié)構(gòu)模型Fig.4 Structural model of the response time safety demonstration
4.1.3 用GSN 識(shí)別變更影響
由于靜態(tài)時(shí)序分析工具存在一個(gè)缺陷,從而直接導(dǎo)致變更點(diǎn)S1(時(shí)序測(cè)試結(jié)果)有誤,也就是說,起始變更點(diǎn)為S1。此時(shí),通過圖4 的結(jié)構(gòu)模型自下向上推理,判斷G19, G18, G15, G12 可能會(huì)受到變更影響。由于G12“響應(yīng)時(shí)間”是系統(tǒng)軟件功能需求之一,為了審核整個(gè)安全論證結(jié)構(gòu)模型中間接影響到的變更部分,還需要自下向上地將GSN 模型進(jìn)行推理。圖5 所示為在安全認(rèn)證之初構(gòu)建的安全論證模型,從G12繼續(xù)向上追蹤,以推導(dǎo)并確定變更造成的間接影響。
圖5 系統(tǒng)功能安全論證結(jié)構(gòu)模型Fig.5 Structural model of the system functional safety demonstration
通過圖5 的安全論證結(jié)構(gòu)模型,自下向上推導(dǎo)出G6,G2 和G1 可能會(huì)受到變更的影響。經(jīng)過分析,由于G15“最大響應(yīng)時(shí)間不超過5 s”是標(biāo)準(zhǔn)中對(duì)系統(tǒng)響應(yīng)時(shí)間的要求,故G15 不會(huì)發(fā)生變更,從G15 向上的分支節(jié)點(diǎn)(包括G12,G6,G2 和G1)也不會(huì)因此受到影響,所以可以確定最終受到變更影響的節(jié)點(diǎn)和分支為G18, G19 和S1。
4.1.4 確定修改方案
因變更僅僅是由于工具中存在缺陷,對(duì)工具更正版本后進(jìn)行重新分析,以相同的形式修正安全論證結(jié)構(gòu)模型中受到直接或間接影響的分支和對(duì)象是最有效的選擇。
4.1.5 修正受到影響的安全論據(jù)
在將時(shí)序分析工具更正版本時(shí),需重新進(jìn)行時(shí)序分析,以方便安全工程師修正損壞的安全論據(jù)。假設(shè)新結(jié)果顯示最大響應(yīng)時(shí)間為2.9 s,則需要重新調(diào)整G18。當(dāng)G18 修正后,接下來(lái)必須檢查G19 和G20,并考慮是否還需要重新調(diào)整。經(jīng)分析,變更涉及的直接影響是導(dǎo)致測(cè)試結(jié)果不準(zhǔn)確,G19 與最大響應(yīng)時(shí)間的確定有關(guān),而G20 僅涉及輸出延遲時(shí)間的確定,與靜態(tài)時(shí)序分析工具無(wú)關(guān)。因此,需要對(duì)G19 進(jìn)行修正,對(duì)G19 的證據(jù)S1 需要進(jìn)行檢查,從而確定是否需要對(duì)其進(jìn)行重新定義。實(shí)際上,必須更改S1 以引用新的時(shí)序分析結(jié)果;同時(shí),作為記錄目標(biāo)結(jié)構(gòu)的更改歷史記錄部分,應(yīng)在修正過程的起始點(diǎn)添加對(duì)更改描述和決策的上下文信息描述A5,這樣的注釋有助于將來(lái)理解結(jié)構(gòu),并為安全相關(guān)方審閱提供一些論證依據(jù)。修正后的安全論據(jù)模型如圖6 所示。
圖6 修正后的安全論證結(jié)構(gòu)模型Fig.6 Restored structure model of the security demonstration
使用GSN 方法明確安全目標(biāo)與安全案例間的依賴性,從變更起始點(diǎn)S1 通過安全論證模型逐步通過結(jié)構(gòu)傳播效果自下向上推出G19, G18, G15, G12 等安全目標(biāo)可能會(huì)受到變更影響;線性推理可能受到影響的節(jié)點(diǎn)和對(duì)象,經(jīng)分析判斷,確定最終受到變更影響的節(jié)點(diǎn)和分支為G18, G19 和S1,并逐步修正論點(diǎn),直到安全目標(biāo)可以與現(xiàn)有證據(jù)聯(lián)系起來(lái)。該方法能夠系統(tǒng)化地推理和處理變更,提高變更管理的準(zhǔn)確性和全面性。
安全案例變更過程中,采用GSN 方法能夠準(zhǔn)確識(shí)別出需要對(duì)模型中的目標(biāo)、證據(jù)和上下文信息中的哪一項(xiàng)進(jìn)行變更,從而能夠有效應(yīng)對(duì)系統(tǒng)因?yàn)榻Y(jié)構(gòu)復(fù)雜而導(dǎo)致的變更點(diǎn)不明確問題。
準(zhǔn)確識(shí)別變更點(diǎn)后,由于GSN 安全論證過程以圖形化的方式進(jìn)行呈現(xiàn),采用了更具邏輯性的推理過程來(lái)識(shí)別變更節(jié)點(diǎn)所影響分支的上一層目標(biāo)或下一層目標(biāo)或證據(jù),因而能夠全面識(shí)別變更所造成的影響。
采用GSN 方法重新構(gòu)建變更后的安全論證模型,能夠方便系統(tǒng)安全相關(guān)方對(duì)安全論據(jù)進(jìn)行交流、復(fù)查,從而進(jìn)一步加強(qiáng)對(duì)安全案例持續(xù)有效性的信心。但本文僅給出了軌道交通信號(hào)設(shè)備在時(shí)序有效性方面的變更管理實(shí)例,分析并構(gòu)建不同場(chǎng)景下的產(chǎn)品變更管理模型是下一步的研究?jī)?nèi)容。