地磅嵌入式軟件可信性的設(shè)計(jì)和驗(yàn)證方法
地磅嵌入式軟件可信性的設(shè)計(jì)和驗(yàn)證方法
目前,嵌入式系統(tǒng)已廣泛地應(yīng)用于控制系統(tǒng)部件和智能儀表中,在控制系統(tǒng)部件對(duì)嵌入式系統(tǒng)依賴性增強(qiáng)的同時(shí),對(duì)嵌入式軟件質(zhì)量的要求也越來(lái)越高,尤其是可靠性的要求。為此,IEC61508 等功能安全標(biāo)準(zhǔn)通過(guò)嚴(yán)格規(guī)定軟件安全生命周期中各階段應(yīng)采用的技術(shù)和措施,以期提高軟件的可靠性,保證軟件質(zhì)量。本文給出一般性的地磅嵌入式軟件可信性的設(shè)計(jì)和驗(yàn)證方法。
1.引言
微機(jī)和通信技術(shù)的發(fā)展使得越來(lái)越多制造業(yè)、流程工業(yè)過(guò)程采用 DCS、FCS 等數(shù)字化控制系統(tǒng),傳統(tǒng)的模擬儀表也逐步為智能化的儀器儀表和執(zhí)行機(jī)構(gòu)所替代,從而極大地提高了工業(yè)過(guò)程的自動(dòng)化水平。考慮到現(xiàn)今的數(shù)字化控制系統(tǒng)部件和智能儀表均采用嵌入式系統(tǒng)作為控制核心,其控制功能的可靠安全實(shí)現(xiàn)極大地依賴于嵌入式軟件的正確執(zhí)行,而其中的嵌入式軟件部分的可靠性一般都是被忽略的。而國(guó)外儀表能達(dá)到較高的可靠性水平,一方面也是因?yàn)槠淇紤]了軟件系統(tǒng)的可靠性,如 Rosemount 公司的 305IC 差壓變送器的硬件 SIL 等級(jí)達(dá)到 SIL3 級(jí),軟件為 SILZ 級(jí)。因此,要想實(shí)現(xiàn)國(guó)內(nèi)智能儀表的高可靠性,研究嵌入式軟件高可靠性的分析、設(shè)計(jì)和驗(yàn)證方法和技術(shù)就顯得尤為重要。
2.嵌入式軟件可靠性特點(diǎn)
2. 1 實(shí)時(shí)性對(duì)嵌入式軟件可靠性的影響
實(shí)時(shí)軟件與其他軟件不同,它的正確性不僅由功能和行為決定,還依賴于其時(shí)間特性。如何對(duì)軟件的時(shí)間特性進(jìn)行驗(yàn)證成為嵌入式軟件可靠性的核心問(wèn)題之一。對(duì)軟件的時(shí)間測(cè)試可分為兩種方法: 即靜態(tài)時(shí)間分析和動(dòng)態(tài)實(shí)時(shí)檢測(cè)。
動(dòng)態(tài)實(shí)時(shí)檢測(cè)就是通過(guò)執(zhí)行程序來(lái)測(cè)試程序的時(shí)間特性。在線仿真器 ICE、指令仿真器和插樁工具是三種最常用的方法。
實(shí)時(shí)性使得嵌入式軟件的測(cè)試用例編寫更為困難測(cè)試用例不僅要測(cè)試軟件的功能和行為特性,還要測(cè)試其時(shí)間特性,因?yàn)橥瑯拥妮斎朐诓煌瑫r(shí)可能有不同的輸出,這給傳統(tǒng)的測(cè)試用例生成方法帶來(lái)了新問(wèn)題。
2. 2 嵌入性對(duì)嵌入式軟件可靠性的影響
嵌入式軟件的開(kāi)發(fā)環(huán)境和運(yùn)行環(huán)境的不一致性同樣給嵌入式軟件可靠性的測(cè)試帶來(lái)了不少麻煩。
( 1) 測(cè)試工具運(yùn)行在宿主機(jī)上,測(cè)試所需要的信息在目標(biāo)機(jī)上產(chǎn)生,并通過(guò)一定的物理 / 邏輯連接傳輸?shù)剿拗鳈C(jī)上,由測(cè)試工具接受。因此,嵌入式軟件測(cè)試的一個(gè)重要問(wèn)題是建立宿主機(jī)與目標(biāo)機(jī)之間的物理 / 邏輯連接,解決數(shù)據(jù)信息的傳輸問(wèn)題。
( 2) 即使在宿主機(jī)環(huán)境下測(cè)試再充分,也不能說(shuō)明在目標(biāo)機(jī)環(huán)境下該軟件運(yùn)行不出問(wèn)題。因而,嵌入式軟件還面臨著目標(biāo)環(huán)境的測(cè)試。這不僅增加了測(cè)試的代價(jià),而且還帶來(lái)了嵌入式軟件測(cè)試策略問(wèn)題,即哪些測(cè)試分配在宿主環(huán)境進(jìn)行,哪些測(cè)試分配到目標(biāo)環(huán)境下運(yùn)行。
2. 3 反應(yīng)性對(duì)嵌入式軟件可靠性的影響
反應(yīng)性系統(tǒng) ( Reactive System) 在任何時(shí)刻都要對(duì)可能出現(xiàn)的時(shí)間作出適當(dāng)反應(yīng)。由于 “激勵(lì) - 響應(yīng)”在反應(yīng)式系統(tǒng)中占主要地位,因此這類系統(tǒng)常常包含大量復(fù)雜的控制行為。
3.地磅嵌入式軟件可信性的驗(yàn)證方法
3. 1 優(yōu)化系統(tǒng)設(shè)計(jì)方案
嵌入式系統(tǒng)最大的特點(diǎn)是以控制為主,軟硬件結(jié)合較多,功能性操作較多,模塊互相調(diào)用較多,外部工作環(huán)境復(fù)雜容易受到干擾或干擾別的設(shè)備,且執(zhí)行錯(cuò)誤的后果不僅僅是數(shù)據(jù)錯(cuò)誤而且有可能導(dǎo)致系統(tǒng)崩潰等不可估量的災(zāi)難。所以在嵌入式軟件設(shè)計(jì)過(guò)程中需注意軟硬件接口之間的冗余和預(yù)防性設(shè)計(jì)。另外,在設(shè)計(jì)過(guò)程中,可采用看門狗電路、狀態(tài)保存等恢復(fù)技術(shù); 軟件鎖設(shè)計(jì)、程序陷阱設(shè)計(jì)等抗干擾技術(shù)以及備份技術(shù)有效的進(jìn)行系統(tǒng)容錯(cuò)設(shè)計(jì)。
3. 2 嚴(yán)格的軟件測(cè)試
( 1) 黑盒測(cè)試方法
黑盒測(cè)試 ( Black 一 boxTesting) 是一種從軟件需求出發(fā),根據(jù)軟件需求說(shuō)明設(shè)計(jì)測(cè)試用例,并按照測(cè)試用例的各項(xiàng)要求運(yùn)行被測(cè)程序的測(cè)試方法。它不考慮程序內(nèi)部的實(shí)現(xiàn)過(guò)程,僅側(cè)重于程序的執(zhí)行結(jié)果。它將被測(cè)程序看成是不可見(jiàn)的黑箱,因此,被稱為黑盒測(cè)試。
黑盒測(cè)試,也稱功能測(cè)試,其方法主要有輸入等價(jià)類劃分。邊界值分析、因果圖法、正交試驗(yàn)方法和判定表驅(qū)動(dòng)法等。
( 2) 白盒測(cè)試方法
白盒測(cè)試又稱為結(jié)構(gòu)測(cè)試或基于程序的測(cè)試。這種測(cè)試方法是把測(cè)試對(duì)象看作打開(kāi)的盒子,它允許測(cè)試人員根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及相關(guān)信息,設(shè)計(jì)測(cè)試用例,對(duì)程序的邏輯路徑進(jìn)行測(cè)試。它對(duì)軟件的結(jié)構(gòu)性細(xì)節(jié)做出細(xì)致的檢查。根據(jù)測(cè)試的精確程度,即測(cè)試充分性,可將白盒測(cè)試分為入口覆蓋、語(yǔ)句覆蓋、判定覆蓋和修正條件 / 判定覆蓋等。
4.結(jié)束語(yǔ)
隨著嵌入式系統(tǒng)技術(shù)的不斷進(jìn)步,在嵌入式系統(tǒng)中占重要地位的嵌入式軟件的質(zhì)量保證問(wèn)題也越來(lái)越引起人們的關(guān)注。軟件測(cè)試是軟件可靠性的保證,它在整個(gè)軟件開(kāi)發(fā)過(guò)程中占據(jù)了將近一半的時(shí)間和資源。通過(guò)在測(cè)試過(guò)程中合理地引入軟件測(cè)試工具、選擇適當(dāng)?shù)臏y(cè)試用例,能夠縮短軟件開(kāi)發(fā)的時(shí)間,提高測(cè)試質(zhì)量,從而更快、更好地為用戶提供他們需要的軟件產(chǎn)品。