文獻標(biāo)識碼: A
文章編號: 0258-7998(2015)03-0020-04
0 引言
隨著計算機技術(shù)的發(fā)展,在各種控制系統(tǒng)中軟件日益發(fā)揮著不可替代的作用。軟件作為系統(tǒng)的一部分,一旦失效,將導(dǎo)致系統(tǒng)處于危險狀態(tài)。所以,軟硬件綜合系統(tǒng)的可靠性越來越受到用戶重視[1]。當(dāng)前研究大部分是軟件可靠性與硬件可靠性分別考慮,或硬件部分和軟件部分作為一般的兩個或多個部件串/并聯(lián)關(guān)系進行處理[2],并沒有考慮兩者的區(qū)別以及兩者的相互作用關(guān)系。然而在軟硬件綜合系統(tǒng)中,硬件與軟件之間是相互影響的[3-4],一方面,硬件失效由軟件傳播或放大導(dǎo)致系統(tǒng)失效[5];另一方面,軟件失效、硬件失效可能共同作用導(dǎo)致系統(tǒng)失效[6];第三,軟硬件之間的交互給系統(tǒng)帶來了較大的不確定性[7]。因此, 為了準(zhǔn)確評價軟硬件綜合系統(tǒng)的可靠性,必須從軟硬件綜合的角度建立綜合系統(tǒng)的評價方法。
本文首先分析與總結(jié)了軟硬件可靠性,并對現(xiàn)有綜合評價方法進行深入分析和總結(jié),將現(xiàn)有方法分為基于故障數(shù)據(jù)融合的方法、基于多模型綜合的方法和基于系統(tǒng)結(jié)構(gòu)分解的方法三類并進行比較。然后從失效過程融合、評價結(jié)果融合以及微觀結(jié)構(gòu)融合三個方面進行了綜合評價方法機理分析,最后討論了軟硬件綜合評價方法未來有前景的研究方向。
1 軟件可靠性與硬件可靠性
1.1 軟件可靠性
軟件可靠性的定義為在規(guī)定環(huán)境、規(guī)定條件下和規(guī)定時間內(nèi),軟件不引起系統(tǒng)失效的概率。軟件可靠性不僅與軟件存在的差錯(缺陷)有關(guān),而且與系統(tǒng)使用有關(guān)。其中規(guī)定環(huán)境為軟件運行的軟、硬件環(huán)境,軟件環(huán)境包括操作系統(tǒng)、編譯環(huán)境、輔助軟件等;硬件環(huán)境包括芯片、板卡、總線等;規(guī)定條件是指用戶使用軟件的方式,一般可用操作剖面來描述;規(guī)定時間包括日歷時間、時鐘時間和執(zhí)行時間[8]。
1.2 硬件可靠性
硬件可靠性的定義和軟件可靠性的定義類似,也可定義為在一段特定時間間隔內(nèi),產(chǎn)品無失效運行的概率。但是軟硬件失效機理是不同的[4],軟件失效的根源在于設(shè)計錯誤,而硬件失效的根源在于物理變質(zhì),其損耗和其他物理原因造成的失效的概率遠遠大于由于未發(fā)現(xiàn)的設(shè)計問題所造成的失效,因為硬件邏輯較為簡單,因此將硬件的設(shè)計失效保持在一個低水平上是可能的[9]。
1.3 兩者的聯(lián)系與區(qū)別
雖然軟硬件可靠性在定義上較為一致,但兩者之間存在較大區(qū)別,例如:(1)硬件存在物理實體,而軟件則為邏輯表達,其承載形式多變;(2)硬件在生產(chǎn)過程、使用過程中和物料變化后均能造成內(nèi)部故障,而軟件缺陷均為開發(fā)過程的設(shè)計缺陷;(3)硬件出現(xiàn)故障后危險通常是修復(fù)失效的零部件,可靠性只能保持,而軟件通過缺陷剔除則可以不斷提高可靠性;(4)軟件產(chǎn)品本身不具備危險,硬件產(chǎn)品本身具備危險性。
盡管存在上述諸多不同,但是軟件可靠性理論所采用的方法和硬件可靠性理論仍然是相容的,軟件可靠性、硬件可靠性必須作為一個集成系統(tǒng)的屬性進行管理[9]。
2 軟硬件綜合評價方法
針對當(dāng)前軟件可靠性評價與硬件可靠性評價分別進行所存在的缺點和不足,現(xiàn)有研究多集中在如何進行軟硬件可靠性綜合評價方面。本節(jié)將對當(dāng)前方法進行分類、比較,并從綜合試驗和評價原理出發(fā)對這些方法進行分析。文獻[4]中分析了阻礙軟硬件綜合評價技術(shù)發(fā)展的最大障礙在于軟硬件失效機理不同,以下各種綜合方法都是在不同程度地解決這一難題。
2.1 基于故障數(shù)據(jù)融合的綜合評價方法
Bernstein等人通過對失效過程以及引發(fā)失效的條件進行分析[6],指出系統(tǒng)失效過程通過建立適當(dāng)?shù)氖н^程模型,可以在更高一層統(tǒng)一軟硬件失效過程,進而可以解決軟硬件失效機理不同導(dǎo)致的軟硬件綜合評價困難。因此,部分學(xué)者針對軟硬件失效過程進行深入分析研究,從不同方向?qū)浻布н^程進行融合。其中主要有以下幾種方法。
Rodriguez等人在可靠性評價時考慮使用過程中軟件操作對系統(tǒng)可靠性的影響,該方法通過建立軟件操作在硬件失效產(chǎn)生和傳播過程中的影響模型,并結(jié)合電路級分析半導(dǎo)體器件失效表現(xiàn)和疲勞磨損的關(guān)系,從而得到軟件操作下的系統(tǒng)可靠性[6]。該方法是間接通過軟件操作對硬件的影響融合軟硬件可靠性對系統(tǒng)可靠性的共同影響。
與之不同,文獻[5]中則通過分析軟件缺陷對系統(tǒng)可靠性的影響,提出一種考慮軟件缺陷因素的系統(tǒng)可靠性評價方法,該方法中假設(shè)系統(tǒng)可靠性水平由軟件狀態(tài)決定,理由為:(1)如果硬件失效導(dǎo)致了軟件失效進而導(dǎo)致系統(tǒng)失效;(2)如果硬件失效未導(dǎo)致軟件失效,軟件狀態(tài)正確,則系統(tǒng)未失效,因此系統(tǒng)可靠性水平等于軟件可靠性水平。該方法的不足在于假設(shè)條件過于苛刻,適用范圍太小,當(dāng)前多數(shù)嵌入式系統(tǒng)為軟硬件狀態(tài)共同決定了系統(tǒng)可靠性水平。
而文獻[10]則首先將系統(tǒng)失效分為硬件失效、軟件失效與硬/軟件結(jié)合失效,然后根據(jù)這三類故障是否發(fā)生將系統(tǒng)狀態(tài)分為9種狀態(tài),并建立軟硬件綜合系統(tǒng)狀態(tài)轉(zhuǎn)移圖,綜合考慮了硬/軟件綜合系統(tǒng)多種失效方式的基礎(chǔ)上,利用Markov過程表示軟硬件綜合系統(tǒng)狀態(tài)轉(zhuǎn)移過程,從而建立了軟硬件綜合可靠性評價模型,并結(jié)合循環(huán)網(wǎng)絡(luò)方法對Markov狀態(tài)轉(zhuǎn)移方程進行求解,從而方便地得到系統(tǒng)處于各狀態(tài)的瞬時概率與穩(wěn)態(tài)概率。該方法通過將各種失效對系統(tǒng)狀態(tài)的影響進行分析,從而將各種類型失效都融合到了系統(tǒng)狀態(tài)中,但實際應(yīng)用中,由于系統(tǒng)狀態(tài)數(shù)較大,求解過程較為困難。
文獻[11]則通過建立計算數(shù)據(jù)流模型,進而在此基礎(chǔ)上建立了錯誤流模型,并以無窮存儲機器的指令集為例,說明可以為任意程序建立計算數(shù)據(jù)流圖。并把計算過程中的錯誤分成物理錯誤和傳播錯誤兩種,通過分析這兩種錯誤的本質(zhì)和傳播規(guī)律,給出了六條有關(guān)錯誤傳播的規(guī)則和兩條獨立定律。根據(jù)這些規(guī)則和定律,能夠計算出在程序運行過程中,任意時刻在任意位置上出現(xiàn)錯誤的概率。該傳播模型為進行軟硬件故障數(shù)據(jù)融合奠定了基礎(chǔ),可通過結(jié)合軟件失效數(shù)據(jù)進而評價系統(tǒng)可靠性水平。
上述綜合評價方法的實質(zhì)是在測試過程將軟件失效、硬件失效、軟硬件交互失效等系統(tǒng)失效過程融合,從而可以將各類原因引發(fā)系統(tǒng)失效的發(fā)生機理統(tǒng)一,即基于故障數(shù)據(jù)融合的綜合評價方法。具體方法可細(xì)分為兩類:(1)以硬件關(guān)聯(lián)失效作為系統(tǒng)失效主要表現(xiàn)形式,將軟件相關(guān)聯(lián)失效建立系統(tǒng)影響模型,從而將其轉(zhuǎn)化為系統(tǒng)失效,然后進行綜合評價;(2)以軟件關(guān)聯(lián)失效作為系統(tǒng)失效主要表現(xiàn)形式,將硬件關(guān)聯(lián)失效建立系統(tǒng)影響模型,從而將其轉(zhuǎn)化為系統(tǒng)失效,然后進行綜合評價。對于基于故障數(shù)據(jù)融合的綜合評價方法,失效數(shù)據(jù)獲得有嚴(yán)格的要求,即只能通過軟硬件一體化測試獲得,不能分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法在工程使用中靈活性受到一定限制;但由于該類方法通過失效過程融合較大程度上解決了軟硬件失效機理不同帶來了綜合評價困難,充分考慮了軟硬件失效之間存在的關(guān)聯(lián)性,從而使得該類方法評價結(jié)果較為準(zhǔn)確?;诠收蠑?shù)據(jù)融合的綜合評價過程如圖1所示。
2.2 基于多模型綜合的綜合評價方法
軟硬件可靠性綜合評價最初的研究主要集中在軟件可靠性單獨評價、硬件可靠性單獨評價,然后將評價結(jié)果綜合,其中主要是進行各種模型的組合和匹配,進而需求最優(yōu)評價模型組合,但這種方法未解決軟硬件失效機理不同造成的影響,因此存在較大的局限性。其中主要的研究成果如下。
Jongmoon等人提出了一種考慮軟件失效以及軟硬件綜合失效的評估模型,該評估模型結(jié)合了WeiBull模型與G-O模型,通過模型組合得到系統(tǒng)綜合評估模型[1]。該模型的局限在于假設(shè)系統(tǒng)中未出現(xiàn)硬件失效,因此如果綜合試驗過程中出現(xiàn)硬件失效,該評估模型無法使用。Schneidewind等人則進行了改進,考慮了硬件失效,利用WeiBull模型分別針對軟件失效數(shù)據(jù)和硬件失效數(shù)據(jù)進行評價,然后根據(jù)軟硬件組件的可靠性框圖,將軟件可靠性評價結(jié)果和硬件可靠性評價結(jié)果進行組合得到系統(tǒng)可靠性評價結(jié)果[12]。與之類似,文獻[13-14]中均將系統(tǒng)描述為硬件和軟件組成的串聯(lián)系統(tǒng),然后根據(jù)軟件產(chǎn)品和硬件電子產(chǎn)品不同的失效機理,運用適合其分布特性的檢驗方法進行可靠性檢驗,然后再綜合評估。即軟件、硬件可靠性分別試驗以及評價,然后再將評價結(jié)果綜合。
而Rios等人則是首先利用可靠性框圖得到軟硬件部件關(guān)系,然后通過軟件可靠性評價模型(Schneidewind model SRGM)得到軟件可靠性水平,通過硬件可靠性評價模型(CTMCs)得到硬件可靠性水平,最后通過軟硬件部件關(guān)系組合得到系統(tǒng)可靠性評價結(jié)果[15]。Park等人利用類似方法針對可配置并行處理系統(tǒng)提出軟硬件可靠性綜合評價方法,該方法通過模型組合各并行處理器模塊和存儲器模塊的軟件可靠性模型以及硬件可靠性模型,最終得到系統(tǒng)可靠性評價模型[7]。
Jeske等人則對系統(tǒng)失效進行細(xì)化,以提高評價準(zhǔn)確性,其將系統(tǒng)失效分為三類:硬件失效、軟件失效、軟硬件交互失效,然后利用WeiBull模型評價硬件失效數(shù)據(jù),利用NHPP模型評價軟件失效數(shù)據(jù)、利用馬爾科夫過程評價軟硬件交互失效數(shù)據(jù),最終將3個評價結(jié)果相乘得到系統(tǒng)評價結(jié)果[16]。
上述綜合評價方法的實質(zhì)是評價結(jié)果融合,即系統(tǒng)失效數(shù)據(jù)分類評估,然后評價結(jié)果綜合得到系統(tǒng)可靠性,即基于多模型綜合的綜合評價方法。通常的做法是對系統(tǒng)失效數(shù)據(jù)進行分類,分成兩類(軟件失效、硬件失效)或三類(硬件失效、軟件失效、軟硬件交互失效),然后分別利用不同評價模型針對分類后的失效數(shù)據(jù)進行評估,最后利用軟硬件可靠性框圖組合得到系統(tǒng)可靠性評價結(jié)果。對于基于多模型綜合的綜合評價方法,失效數(shù)據(jù)獲得沒有特殊的要求,既可以通過軟硬件一體化測試獲得,也可以通過分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法的工程實用性較強;但由于該類方法簡單回避了軟硬件失效機理不同,并且軟硬件失效之間存在關(guān)聯(lián)性,從而使得該類方法評價的準(zhǔn)確性不高?;诙嗄P途C合的綜合評價過程如圖2所示。
2.3 基于系統(tǒng)結(jié)構(gòu)分解的綜合評價方法
Bennett等人通過對系統(tǒng)結(jié)構(gòu)進行分析[3],指出將軟硬件系統(tǒng)進行規(guī)則性劃分,可以在微觀層級統(tǒng)一軟硬件組件,使得該層級上不再存在明顯的軟硬件區(qū)別,進而巧妙解決軟硬件失效機理不同導(dǎo)致的軟硬件綜合評價困難。因此,部分學(xué)者針對系統(tǒng)結(jié)構(gòu)分解技術(shù)進行深入分析研究,利用不同的劃分原則對系統(tǒng)進行劃分,從而得到不同的綜合評價方法。其中主要有以下幾種方法。
Yamada等人通過假設(shè)系統(tǒng)僅包括一個軟件配置項和一個硬件配置項,以及系統(tǒng)任務(wù)執(zhí)行滿足NHPP過程,使用無限服務(wù)隊列理論分析系統(tǒng)任務(wù)執(zhí)行的分布,即在系統(tǒng)任務(wù)中不再嚴(yán)格區(qū)分軟硬件,進而提出了一個系統(tǒng)評價模型。該模型的不足在于假設(shè)條件過于苛刻,工程實用性不強[2]。
文獻[3]則通過采用分解技術(shù)簡化軟硬件系統(tǒng)可靠性評價難度,該技術(shù)通過將系統(tǒng)功能分解至原子功能(原子功能是不可再分的硬件、軟件以及相互交互的集合),然后利用隨機活動網(wǎng)理論將原子功能組合成系統(tǒng),從而在組合過程中得到系統(tǒng)可靠性水平。該方法的局限性在于評價過程過于繁瑣,并且評價準(zhǔn)確性不高。與之類似,文獻[17]中利用圖論中有向圖最小路集將一個計算機系統(tǒng)視為一個由多個軟體與硬體結(jié)合起來的一個可執(zhí)行體計算元組成的系統(tǒng),而非每個計算元,不是單獨的程序、進程或線程, 也不是物理部件的某個組成部分,然后根據(jù)這些可執(zhí)行體的可靠性框圖,得到系統(tǒng)可靠性。
而文獻[18]中則利用馬氏過程提出了系統(tǒng)可靠性綜合評價模型,該模型首先將系統(tǒng)的任務(wù)階段性明確劃分出來,然后根據(jù)軟件功能,分解設(shè)立不同的系統(tǒng)狀態(tài);從而將支持每個任務(wù)階段的軟件單元和硬件部件完整準(zhǔn)確地找出來,弄清它們在實現(xiàn)可靠性中的關(guān)系,形成硬件階段子系統(tǒng)和軟件階段子系統(tǒng);再根據(jù)軟件子系統(tǒng)和相應(yīng)的接口特性等因素作為與硬件階段子系統(tǒng)串聯(lián)的虛擬的“硬件部件”與硬件階段子系統(tǒng)一起構(gòu)成一個完整的階段子系統(tǒng);將一個個階段子系統(tǒng)依據(jù)軟件控制流圖構(gòu)成系統(tǒng)可靠性框圖或系統(tǒng)狀態(tài)轉(zhuǎn)移圖;求解系統(tǒng)狀態(tài)轉(zhuǎn)移方程,求得系統(tǒng)可靠性指標(biāo)參數(shù)。
上述方法的實質(zhì)是微觀結(jié)構(gòu)融合,即通過將系統(tǒng)分解為軟硬件綜合的原子結(jié)構(gòu),每個原子結(jié)構(gòu)作為一個整體進行考慮,即基于系統(tǒng)結(jié)構(gòu)分解的綜合評價方法。常用的做法是對系統(tǒng)按照某種原則(任務(wù)階段、系統(tǒng)功能、最小路集等)進行劃分,分解為不可再分的原子結(jié)構(gòu)(軟硬件綜合體),然后將各原子結(jié)構(gòu)作為整體建立模型進行評價,最后利用各原子結(jié)構(gòu)評價結(jié)果逆向系統(tǒng)分解過程得到系統(tǒng)可靠性結(jié)果。對于基于系統(tǒng)結(jié)構(gòu)分解的綜合評價方法,失效數(shù)據(jù)的獲得有嚴(yán)格的要求,即只能通過軟硬件一體化測試獲得,不能分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法的在工程使用中靈活性受到一定限制;但由于該類方法較為巧妙地解決了軟硬件失效機理不同帶來的綜合評價困難,充分考慮了軟硬件失效之間存在的關(guān)聯(lián)性,從而使得該類方法評價結(jié)果較為準(zhǔn)確。基于多模型綜合的綜合評價過程如圖3所示。
3 結(jié)論
目前,雖然許多學(xué)者對軟硬件綜合評價方法進行了廣泛的研究,但是其中仍然存在許多不足:軟硬件綜合試驗技術(shù)研究仍不成熟;各種綜合評價方法雖各有優(yōu)點,但彼此之間沒有形成互補;一些方法過于復(fù)雜,在工程實踐中難以實施等。因此,在下一階段的工作中,有許多方面的內(nèi)容需要研究和探索:
(1)將故障數(shù)據(jù)融合方法和系統(tǒng)結(jié)構(gòu)分解方法相結(jié)合,形成軟硬件系統(tǒng)可靠性評價綜合整體方法。例如:先利用系統(tǒng)結(jié)構(gòu)分解方法對軟硬件系統(tǒng)進行分解,然后針對原子結(jié)構(gòu)利用故障數(shù)據(jù)融合方法進行評價,最后逆向分解過程得到系統(tǒng)可靠性評價結(jié)果。在整個過程中各類方法之間的融合是需要解決的關(guān)鍵問題。
(2)將同類方法中的各種方法相結(jié)合,以形成優(yōu)勢互補。例如:在基于故障數(shù)據(jù)融合的綜合評價方法中首先以軟件失效為主進行融合,然后以硬件失效為主進行融合,將兩種融合結(jié)果再進行綜合評價,從而形成雙向融合的軟硬件系統(tǒng)可靠性綜合評價方法;在基于系統(tǒng)結(jié)構(gòu)分解的綜合評價方法中首先將多種劃分規(guī)則進行綜合,然后針對原子結(jié)構(gòu)進行一體化測試,最后逆向分解過程綜合得到系統(tǒng)可靠性評價結(jié)果,從而形成多層次綜合的軟硬件系統(tǒng)可靠性綜合評價方法。
參考文獻
[1] Jinhee Park,Hyeon-Jeong Kim,Ju-Hwan Shin,et alembedded software reliability model with consideration hardware related softwarefailures[C].IEEEInternationalConference on Software Security and Reliability,2012:207-214.
[2] TOKUNO K,YAMADA S.Codesign-oriented performabilitymodeling for hardware-software systems[J].IEEE Transactionson Reliability,2011,60(1):171-179.
[3] PURWANTORO Y,BENNETT S.Decomposition techniquefor integrated dependability evaluation of hardware-softwaresystems using stochastic Activity Networks[C].The 25tEUROMICRO,1999:142-145.
[4] BOYD M A,MONAHAN C M.Developing integrated hard-ware-software reliability models: difficulties and issues[C].In Proceedings of Digital Avionics Systems Conference,1995:193-198.
[5] Xiong Lei,Tan Qingping,Xu Jianjun.Effects of soft error tosystem reliability[C].In Proceedings of ICAINA,2011:204-209.
[6] HUANG B,RODRIGUEZ M,Li Ming,et al.Hardware errorlikelihood induced by the operation of software[J].IEEETransactions on Reliability,2011,60(3):622-640.
[7] CHOI M,PARK N.Hardware-software co-reliability infield reconfigurable multi-processor-memory systems[C].FTPDSWORKSHOP,2002:1-14.
[8] IEEE STD 1633-2008.IEEE recommended practice onsoftware reliability[S].2008.
[9] MUSA J.Software reliability engineering[M].MC-GrawHill,1999.
[10] 于敏,何正友,錢清泉.基于Markov過程的硬/軟件綜合系統(tǒng)可靠性分析[J].電子學(xué)報,2010,38(2):474-483.
[11] Yang Xuejun,Gao Long.Error flow model:modeling andanalysis of software propagating hardware faults[J].Journalof Software,2012,18(4):808-824.
[12] SCHNEIDEWIND N F.Computer,network,software,anhardware engineering with applications[M].John Wil Sons,2012:315-334.
[13] 王琦.軟硬件分統(tǒng)結(jié)合的導(dǎo)彈武器裝備可靠性評定方法[J].四川工兵學(xué)報,2012,33(1):50-52.
[14] 吳祥,張婧,唐應(yīng)輝,等.基于軟硬件特性的計算機系統(tǒng)的可靠性分析[J].中國民航飛行學(xué)院學(xué)報[J].2006,26(1):33-36.
[15] CANO J,RIOS D.Reliability forecasting in complex hard-ware/software systems[C].ARES,2006:1-5.
[16] Teng Xiaolin,PHAM H,JESKE D R.Reliability modelingof hardware and software interactions,and its applications[J].IEEE Transactions on Reliability,2006,55(4):571-578.
[17] 馬士超,王貞松,姜珊珊.基于網(wǎng)絡(luò)模型的軟/硬件可靠性分析[J].計算機應(yīng)用研究,2007,20(1):28-31.
[18] Rao Lan,Wang Zhanlin,Li Peiqiong,et al.A new analysismethodology of hardware software systems[J].Journal ofAstronautics,1999,20(1):57-65.