每周三都能看30秒知識點(diǎn)哦,點(diǎn)上面藍(lán)字關(guān)注吧
在上一期文章中,我們講述了關(guān)于功能安全軟件的管理方法,在本期文章就功能安全的軟件架構(gòu)如何設(shè)計進(jìn)行闡述。
一
功能安全型軟件架構(gòu)的考量
軟件架構(gòu)是指能夠定義軟件的主要組件(模塊)和子系統(tǒng),包括它們?nèi)绾螌?shí)現(xiàn)內(nèi)部連接,如何實(shí)現(xiàn)所要求的屬性,尤其是安全完整性等級的分配,因為如果多個軟件子系統(tǒng)或者模 塊執(zhí)行不同的安全功能,其所需要的或者所分配的安全完整性等級(依據(jù)風(fēng)險分析)可能不同。
例如,某功能安全型轉(zhuǎn)速變送器,用于測量汽輪機(jī)的轉(zhuǎn)速,假設(shè)汽輪機(jī)轉(zhuǎn)速在0~3000轉(zhuǎn)/分鐘之間屬于正常范圍,通過4-20mA傳輸該信號范圍;如果大于3000轉(zhuǎn)/分鐘則啟動報警信號。我們在分配軟件安全完整性等級的時候可以把兩種方式都定義為SIL3,當(dāng)然如果這么做會存在兩個問題:1設(shè)計難度2產(chǎn)品價格,所以如果經(jīng)過綜合分析并出于危害程度的影響考量軟件構(gòu)架指的是什么,顯然報警的功能級別應(yīng)高于正常范圍傳輸信號的功能級別,因此可以將模擬傳輸?shù)牡燃壎x為SIL2,數(shù)字量報警的等級定義為SIL3 。
圖1,軟件安全完整性架構(gòu)示例
此外,還需要定義軟件的整體行為包括:軟件組件的接口、相互作用、操作系統(tǒng)、數(shù)據(jù)庫、EUC 輸入/輸出子系統(tǒng)、通信子系統(tǒng)、應(yīng)用程序、編程和診斷工具等。
二
功能安全型軟件架構(gòu)設(shè)計
在定義完成軟件架構(gòu)(包括軟件安全完整性與安全功能)之后,可以著手具體去實(shí)現(xiàn)所定義的架構(gòu),主要設(shè)計方式包括如下:
以圖形化的方式將架構(gòu)設(shè)計分層進(jìn)行
1
如圖2,3所示,通過圖表舉例闡述一個典型的變送器軟件架構(gòu)分層情況,圖2描述基于單體變送器產(chǎn)品的整體軟件架構(gòu)分配,圖3基于整體分配中的一項計算任務(wù)再次進(jìn)行分配架構(gòu)的層次,用以表達(dá)以圖形化的方式進(jìn)行架構(gòu)設(shè)計的分層方法,如果要再進(jìn)一步分層就可以在函數(shù)模塊中分配單元,變量,編碼等執(zhí)行層面。
圖2,某變送器軟件架構(gòu)示例
圖3,任務(wù)子架構(gòu)示例
控制流的設(shè)計,定義控制方式如何執(zhí)行
2
a) 順序輪詢----安全任務(wù)通過預(yù)先設(shè)定完成的時間周期以恒定的速度執(zhí)行,如果發(fā)生時間溢出或者“跑飛”通過窗口或者獨(dú)立看門狗進(jìn)行監(jiān)視與恢復(fù),通常早期51 單片機(jī)的WHILE 1()大循環(huán)模式是該架構(gòu)的最直觀體現(xiàn)。
b)時間觸發(fā)----安全任務(wù)通過同步時鐘執(zhí)行,所有運(yùn)行內(nèi)容均基于時鐘總線(時鐘樹),在預(yù)先定義完成的時間節(jié)點(diǎn)完成各子系統(tǒng)或者模塊的功能。
c)事件觸發(fā)----當(dāng)外部或者內(nèi)部的信號以及標(biāo)志位來臨時,立即進(jìn)入安全功能的執(zhí)行狀態(tài),在保證安全功能作為第一優(yōu)先級被成功執(zhí)行之后再回到現(xiàn)場,執(zhí)行先前的功能,更簡易的理解可以被解釋為“出入堆棧”。
分配存儲方式
3
在功能安全標(biāo)準(zhǔn)中強(qiáng)烈推薦的方式是靜態(tài)分布存儲也就是在系統(tǒng)或者產(chǎn)品運(yùn)行之初就已經(jīng)將所有需要使用的存儲器(寄存器)依照地址分配完成,竟可能少的使用指針變量進(jìn)行動態(tài)讀取,這種方法的好處不言而喻,穩(wěn)定可靠,極少數(shù)不可預(yù)見的地址沖突;壞處也當(dāng)然存在,耗費(fèi)較多資源,“造價不菲”。除此之外,標(biāo)準(zhǔn)也并沒有絕對的限制動態(tài)存儲分配軟件構(gòu)架指的是什么,如果必須要使用到動態(tài)的設(shè)計方法,那么同時伴隨設(shè)計進(jìn)行的影響分析包括動態(tài)、共因等方面是不可或缺的一部分。
綜述,本文就功能安全型軟件設(shè)計方法----架構(gòu)設(shè)計,依據(jù)標(biāo)準(zhǔn)的推薦向大家進(jìn)行介紹并通過一些例證具體闡述其實(shí)現(xiàn)過程,也希望在今后的文章中與大家在設(shè)計方面做更多深入溝通與交流。借此機(jī)會預(yù)祝讀者們春節(jié)快樂闔家幸福萬事如意!
旺
財
旺
福
狗年吉祥
HAPPY NEW YEAR
數(shù)據(jù),是人類文明的基石。
編寫《中國安全設(shè)備可靠性數(shù)據(jù)手冊》,你愿意參與嗎?
必維,作為在功能安全領(lǐng)域擁有20多年經(jīng)驗的國際知名公司,曾經(jīng)和正在為國內(nèi)近百家儀表企業(yè)進(jìn)行SIL認(rèn)證,一直致力于為中國國產(chǎn)儀表的發(fā)展貢獻(xiàn)自己的力量,必維在過去的一年里,投入人力物力財力進(jìn)行了《中國安全設(shè)備可靠性數(shù)據(jù)手冊》的編寫。
必維在行動
現(xiàn)廣泛公開邀請業(yè)內(nèi)人員共同參與,進(jìn)一步統(tǒng)計收集中國儀表產(chǎn)品真實(shí)運(yùn)行情況數(shù)據(jù)。
如果您想?yún)⑴c,掃如下二維碼加入我們吧!