?

軟硬件可靠性綜合評價方法研究*

2015-02-23 10:52封二強藍新生
電子技術應用 2015年3期
關鍵詞:軟件可靠性系統可靠性可靠性

封二強,鄭 軍,藍新生

(中國航空綜合技術研究所,北京100028)

軟硬件可靠性綜合評價方法研究*

封二強,鄭 軍,藍新生

(中國航空綜合技術研究所,北京100028)

首先闡述了軟硬件可靠性綜合評價方法,并對現有綜合評價方法進行深入分析和總結,將現有方法分為基于故障數據融合的方法、基于多模型綜合的方法和基于系統結構分解的方法三類并進行比較。在此基礎上,分別從失效過程融合、評價結果融合以及微觀結構融合三個方面進行了綜合評價方法機理分析,得出基于評價結果融合的方法未能有效解決軟硬件失效機理不同對綜合評價的影響從而造成評價準確性較差,而其他兩類方法則在較大程度上考慮了軟硬件失效機理不同,因此評價準確性高,最后討論了軟硬件綜合評價方法未來有前景的研究方向。

綜合評價;評價方法;軟件可靠性;硬件可靠性;軟硬件結合系統

0 引言

隨著計算機技術的發展,在各種控制系統中軟件日益發揮著不可替代的作用。軟件作為系統的一部分,一旦失效,將導致系統處于危險狀態。所以,軟硬件綜合系統的可靠性越來越受到用戶重視[1]。當前研究大部分是軟件可靠性與硬件可靠性分別考慮,或硬件部分和軟件部分作為一般的兩個或多個部件串/并聯關系進行處理[2],并沒有考慮兩者的區別以及兩者的相互作用關系。然而在軟硬件綜合系統中,硬件與軟件之間是相互影響的[3-4],一方面,硬件失效由軟件傳播或放大導致系統失效[5];另一方面,軟件失效、硬件失效可能共同作用導致系統失效[6];第三,軟硬件之間的交互給系統帶來了較大的不確定性[7]。因此,為了準確評價軟硬件綜合系統的可靠性,必須從軟硬件綜合的角度建立綜合系統的評價方法。

本文首先分析與總結了軟硬件可靠性,并對現有綜合評價方法進行深入分析和總結,將現有方法分為基于故障數據融合的方法、基于多模型綜合的方法和基于系統結構分解的方法三類并進行比較。然后從失效過程融合、評價結果融合以及微觀結構融合三個方面進行了綜合評價方法機理分析,最后討論了軟硬件綜合評價方法未來有前景的研究方向。

1 軟件可靠性與硬件可靠性

1.1 軟件可靠性

軟件可靠性的定義為在規定環境、規定條件下和規定時間內,軟件不引起系統失效的概率。軟件可靠性不僅與軟件存在的差錯(缺陷)有關,而且與系統使用有關。其中規定環境為軟件運行的軟、硬件環境,軟件環境包括操作系統、編譯環境、輔助軟件等;硬件環境包括芯片、板卡、總線等;規定條件是指用戶使用軟件的方式,一般可用操作剖面來描述;規定時間包括日歷時間、時鐘時間和執行時間[8]。

1.2 硬件可靠性

硬件可靠性的定義和軟件可靠性的定義類似,也可定義為在一段特定時間間隔內,產品無失效運行的概率。但是軟硬件失效機理是不同的[4],軟件失效的根源在于設計錯誤,而硬件失效的根源在于物理變質,其損耗和其他物理原因造成的失效的概率遠遠大于由于未發現的設計問題所造成的失效,因為硬件邏輯較為簡單,因此將硬件的設計失效保持在一個低水平上是可能的[9]。

1.3 兩者的聯系與區別

雖然軟硬件可靠性在定義上較為一致,但兩者之間存在較大區別,例如:(1)硬件存在物理實體,而軟件則為邏輯表達,其承載形式多變;(2)硬件在生產過程、使用過程中和物料變化后均能造成內部故障,而軟件缺陷均為開發過程的設計缺陷;(3)硬件出現故障后危險通常是修復失效的零部件,可靠性只能保持,而軟件通過缺陷剔除則可以不斷提高可靠性;(4)軟件產品本身不具備危險,硬件產品本身具備危險性。

盡管存在上述諸多不同,但是軟件可靠性理論所采用的方法和硬件可靠性理論仍然是相容的,軟件可靠性、硬件可靠性必須作為一個集成系統的屬性進行管理[9]。

2 軟硬件綜合評價方法

針對當前軟件可靠性評價與硬件可靠性評價分別進行所存在的缺點和不足,現有研究多集中在如何進行軟硬件可靠性綜合評價方面。本節將對當前方法進行分類、比較,并從綜合試驗和評價原理出發對這些方法進行分析。文獻[4]中分析了阻礙軟硬件綜合評價技術發展的最大障礙在于軟硬件失效機理不同,以下各種綜合方法都是在不同程度地解決這一難題。

2.1 基于故障數據融合的綜合評價方法

Bernstein等人通過對失效過程以及引發失效的條件進行分析[6],指出系統失效過程通過建立適當的失效過程模型,可以在更高一層統一軟硬件失效過程,進而可以解決軟硬件失效機理不同導致的軟硬件綜合評價困難。因此,部分學者針對軟硬件失效過程進行深入分析研究,從不同方向對軟硬件失效過程進行融合。其中主要有以下幾種方法。

Rodriguez等人在可靠性評價時考慮使用過程中軟件操作對系統可靠性的影響,該方法通過建立軟件操作在硬件失效產生和傳播過程中的影響模型,并結合電路級分析半導體器件失效表現和疲勞磨損的關系,從而得到軟件操作下的系統可靠性[6]。該方法是間接通過軟件操作對硬件的影響融合軟硬件可靠性對系統可靠性的共同影響。

與之不同,文獻[5]中則通過分析軟件缺陷對系統可靠性的影響,提出一種考慮軟件缺陷因素的系統可靠性評價方法,該方法中假設系統可靠性水平由軟件狀態決定,理由為:(1)如果硬件失效導致了軟件失效進而導致系統失效;(2)如果硬件失效未導致軟件失效,軟件狀態正確,則系統未失效,因此系統可靠性水平等于軟件可靠性水平。該方法的不足在于假設條件過于苛刻,適用范圍太小,當前多數嵌入式系統為軟硬件狀態共同決定了系統可靠性水平。

而文獻[10]則首先將系統失效分為硬件失效、軟件失效與硬/軟件結合失效,然后根據這三類故障是否發生將系統狀態分為9種狀態,并建立軟硬件綜合系統狀態轉移圖,綜合考慮了硬/軟件綜合系統多種失效方式的基礎上,利用 Markov過程表示軟硬件綜合系統狀態轉移過程,從而建立了軟硬件綜合可靠性評價模型,并結合循環網絡方法對 Markov狀態轉移方程進行求解,從而方便地得到系統處于各狀態的瞬時概率與穩態概率。該方法通過將各種失效對系統狀態的影響進行分析,從而將各種類型失效都融合到了系統狀態中,但實際應用中,由于系統狀態數較大,求解過程較為困難。

文獻[11]則通過建立計算數據流模型,進而在此基礎上建立了錯誤流模型,并以無窮存儲機器的指令集為例,說明可以為任意程序建立計算數據流圖。并把計算過程中的錯誤分成物理錯誤和傳播錯誤兩種,通過分析這兩種錯誤的本質和傳播規律,給出了六條有關錯誤傳播的規則和兩條獨立定律。根據這些規則和定律,能夠計算出在程序運行過程中,任意時刻在任意位置上出現錯誤的概率。該傳播模型為進行軟硬件故障數據融合奠定了基礎,可通過結合軟件失效數據進而評價系統可靠性水平。

上述綜合評價方法的實質是在測試過程將軟件失效、硬件失效、軟硬件交互失效等系統失效過程融合,從而可以將各類原因引發系統失效的發生機理統一,即基于故障數據融合的綜合評價方法。具體方法可細分為兩類:(1)以硬件關聯失效作為系統失效主要表現形式,將軟件相關聯失效建立系統影響模型,從而將其轉化為系統失效,然后進行綜合評價;(2)以軟件關聯失效作為系統失效主要表現形式,將硬件關聯失效建立系統影響模型,從而將其轉化為系統失效,然后進行綜合評價。對于基于故障數據融合的綜合評價方法,失效數據獲得有嚴格的要求,即只能通過軟硬件一體化測試獲得,不能分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法在工程使用中靈活性受到一定限制;但由于該類方法通過失效過程融合較大程度上解決了軟硬件失效機理不同帶來了綜合評價困難,充分考慮了軟硬件失效之間存在的關聯性,從而使得該類方法評價結果較為準確?;诠收蠑祿诤系木C合評價過程如圖1所示。

圖1 基于故障數據融合的綜合評價過程

2.2 基于多模型綜合的綜合評價方法

軟硬件可靠性綜合評價最初的研究主要集中在軟件可靠性單獨評價、硬件可靠性單獨評價,然后將評價結果綜合,其中主要是進行各種模型的組合和匹配,進而需求最優評價模型組合,但這種方法未解決軟硬件失效機理不同造成的影響,因此存在較大的局限性。其中主要的研究成果如下。

Jongmoon等人提出了一種考慮軟件失效以及軟硬件綜合失效的評估模型,該評估模型結合了WeiBull模型與G-O模型,通過模型組合得到系統綜合評估模型[1]。該模型的局限在于假設系統中未出現硬件失效,因此如果綜合試驗過程中出現硬件失效,該評估模型無法使用。Schneidewind等人則進行了改進,考慮了硬件失效,利用WeiBull模型分別針對軟件失效數據和硬件失效數據進行評價,然后根據軟硬件組件的可靠性框圖,將軟件可靠性評價結果和硬件可靠性評價結果進行組合得到系統可靠性評價結果[12]。與之類似,文獻[13-14]中均將系統描述為硬件和軟件組成的串聯系統,然后根據軟件產品和硬件電子產品不同的失效機理,運用適合其分布特性的檢驗方法進行可靠性檢驗,然后再綜合評估。即軟件、硬件可靠性分別試驗以及評價,然后再將評價結果綜合。

而Rios等人則是首先利用可靠性框圖得到軟硬件部件關系,然后通過軟件可靠性評價模型(Schneidewind model SRGM)得到軟件可靠性水平,通過硬件可靠性評價模型(CTMCs)得到硬件可靠性水平,最后通過軟硬件部件關系組合得到系統可靠性評價結果[15]。Park等人利用類似方法針對可配置并行處理系統提出軟硬件可靠性綜合評價方法,該方法通過模型組合各并行處理器模塊和存儲器模塊的軟件可靠性模型以及硬件可靠性模型,最終得到系統可靠性評價模型[7]。

Jeske等人則對系統失效進行細化,以提高評價準確性,其將系統失效分為三類:硬件失效、軟件失效、軟硬件交互失效,然后利用WeiBull模型評價硬件失效數據,利用NHPP模型評價軟件失效數據、利用馬爾科夫過程評價軟硬件交互失效數據,最終將3個評價結果相乘得到系統評價結果[16]。

上述綜合評價方法的實質是評價結果融合,即系統失效數據分類評估,然后評價結果綜合得到系統可靠性,即基于多模型綜合的綜合評價方法。通常的做法是對系統失效數據進行分類,分成兩類(軟件失效、硬件失效)或三類(硬件失效、軟件失效、軟硬件交互失效),然后分別利用不同評價模型針對分類后的失效數據進行評估,最后利用軟硬件可靠性框圖組合得到系統可靠性評價結果。對于基于多模型綜合的綜合評價方法,失效數據獲得沒有特殊的要求,既可以通過軟硬件一體化測試獲得,也可以通過分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法的工程實用性較強;但由于該類方法簡單回避了軟硬件失效機理不同,并且軟硬件失效之間存在關聯性,從而使得該類方法評價的準確性不高?;诙嗄P途C合的綜合評價過程如圖2所示。

圖2 基于多模型綜合的綜合評價過程

2.3 基于系統結構分解的綜合評價方法

Bennett等人通過對系統結構進行分析[3],指出將軟硬件系統進行規則性劃分,可以在微觀層級統一軟硬件組件,使得該層級上不再存在明顯的軟硬件區別,進而巧妙解決軟硬件失效機理不同導致的軟硬件綜合評價困難。因此,部分學者針對系統結構分解技術進行深入分析研究,利用不同的劃分原則對系統進行劃分,從而得到不同的綜合評價方法。其中主要有以下幾種方法。

Yamada等人通過假設系統僅包括一個軟件配置項和一個硬件配置項,以及系統任務執行滿足NHPP過程,使用無限服務隊列理論分析系統任務執行的分布,即在系統任務中不再嚴格區分軟硬件,進而提出了一個系統評價模型。該模型的不足在于假設條件過于苛刻,工程實用性不強[2]。

文獻[3]則通過采用分解技術簡化軟硬件系統可靠性評價難度,該技術通過將系統功能分解至原子功能(原子功能是不可再分的硬件、軟件以及相互交互的集合),然后利用隨機活動網理論將原子功能組合成系統,從而在組合過程中得到系統可靠性水平。該方法的局限性在于評價過程過于繁瑣,并且評價準確性不高。與之類似,文獻[17]中利用圖論中有向圖最小路集將一個計算機系統視為一個由多個軟體與硬體結合起來的一個可執行體計算元組成的系統,而非每個計算元,不是單獨的程序、進程或線程,也不是物理部件的某個組成部分,然后根據這些可執行體的可靠性框圖,得到系統可靠性。

而文獻[18]中則利用馬氏過程提出了系統可靠性綜合評價模型,該模型首先將系統的任務階段性明確劃分出來,然后根據軟件功能,分解設立不同的系統狀態;從而將支持每個任務階段的軟件單元和硬件部件完整準確地找出來,弄清它們在實現可靠性中的關系,形成硬件階段子系統和軟件階段子系統;再根據軟件子系統和相應的接口特性等因素作為與硬件階段子系統串聯的虛擬的“硬件部件”與硬件階段子系統一起構成一個完整的階段子系統;將一個個階段子系統依據軟件控制流圖構成系統可靠性框圖或系統狀態轉移圖;求解系統狀態轉移方程,求得系統可靠性指標參數。

上述方法的實質是微觀結構融合,即通過將系統分解為軟硬件綜合的原子結構,每個原子結構作為一個整體進行考慮,即基于系統結構分解的綜合評價方法。常用的做法是對系統按照某種原則(任務階段、系統功能、最小路集等)進行劃分,分解為不可再分的原子結構(軟硬件綜合體),然后將各原子結構作為整體建立模型進行評價,最后利用各原子結構評價結果逆向系統分解過程得到系統可靠性結果。對于基于系統結構分解的綜合評價方法,失效數據的獲得有嚴格的要求,即只能通過軟硬件一體化測試獲得,不能分別針對軟件、硬件進行可靠性試驗獲得,因此該類方法的在工程使用中靈活性受到一定限制;但由于該類方法較為巧妙地解決了軟硬件失效機理不同帶來的綜合評價困難,充分考慮了軟硬件失效之間存在的關聯性,從而使得該類方法評價結果較為準確?;诙嗄P途C合的綜合評價過程如圖3所示。

圖3 基于系統結構分解的綜合評價過程

3 結論

目前,雖然許多學者對軟硬件綜合評價方法進行了廣泛的研究,但是其中仍然存在許多不足:軟硬件綜合試驗技術研究仍不成熟;各種綜合評價方法雖各有優點,但彼此之間沒有形成互補;一些方法過于復雜,在工程實踐中難以實施等。因此,在下一階段的工作中,有許多方面的內容需要研究和探索:

(1)將故障數據融合方法和系統結構分解方法相結合,形成軟硬件系統可靠性評價綜合整體方法。例如:先利用系統結構分解方法對軟硬件系統進行分解,然后針對原子結構利用故障數據融合方法進行評價,最后逆向分解過程得到系統可靠性評價結果。在整個過程中各類方法之間的融合是需要解決的關鍵問題。

(2)將同類方法中的各種方法相結合,以形成優勢互補。例如:在基于故障數據融合的綜合評價方法中首先以軟件失效為主進行融合,然后以硬件失效為主進行融合,將兩種融合結果再進行綜合評價,從而形成雙向融合的軟硬件系統可靠性綜合評價方法;在基于系統結構分解的綜合評價方法中首先將多種劃分規則進行綜合,然后針對原子結構進行一體化測試,最后逆向分解過程綜合得到系統可靠性評價結果,從而形成多層次綜合的軟硬件系統可靠性綜合評價方法。

[1]Jinhee Park,Hyeon-Jeong Kim,Ju-Hwan Shin,et al.An embedded software reliability model with consideration of hardware related software failures[C].IEEE Sixth International Conference on Software Security and Reliability,2012:207-214.

[2]TOKUNO K,YAMADA S.Codesign-oriented performability modeling for hardware-software systems[J].IEEE Transactions on Reliability,2011,60(1):171-179.

[3]PURWANTORO Y,BENNETT S.Decomposition technique for integrated dependability evaluation of hardware-software systems using stochastic Activity Networks[C].The 25thEUROMICRO,1999:142-145.

[4]BOYD M A,MONAHAN C M.Developing integrated hardware-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 to system reliability[C].In Proceedings of ICAINA,2011:204-209.

[6]HUANG B,RODRIGUEZ M,Li Ming,et al.Hardware error likelihood induced by the operation of software[J].IEEE Transactions on Reliability,2011,60(3):622-640.

[7]CHOI M,PARK N.Hardware-software co-reliability in field reconfigurable multi-processor-memory systems[C]. FTPDSWORKSHOP,2002:1-14.

[8]IEEE STD 1633-2008.IEEE recommended practice on software reliability[S].2008.

[9]MUSA J.Software reliability engineering[M].MC-Graw Hill,1999.

[10]于敏,何正友,錢清泉.基于 Markov過程的硬/軟件綜合系統可靠性分析[J].電子學報,2010,38(2):474-483.

[11]Yang Xuejun,Gao Long.Error flow model:modeling and analysis of software propagating hardware faults[J].Journal of Software,2012,18(4):808-824.

[12]SCHNEIDEWIND N F.Computer,network,software,and hardware engineering with applications[M].John Wiley& Sons,2012:315-334.

[13]王琦.軟硬件分統結合的導彈武器裝備可靠性評定方法[J].四川工兵學報,2012,33(1):50-52.

[14]吳祥,張婧,唐應輝,等.基于軟硬件特性的計算機系統的可靠性分析[J].中國民航飛行學院學報[J].2006,26 (1):33-36.

[15]CANO J,RIOS D.Reliability forecasting in complex hardware/software systems[C].ARES,2006:1-5.

[16]Teng Xiaolin,PHAM H,JESKE D R.Reliability modeling of hardware and software interactions,and its applications[J]. IEEE Transactions on Reliability,2006,55(4):571-578.

[17]馬士超,王貞松,姜珊珊.基于網絡模型的軟/硬件可靠性分析[J].計算機應用研究,2007,20(1):28-31.

[18]Rao Lan,Wang Zhanlin,Li Peiqiong,et al.A new analysis methodology of hardware software systems[J].Journal of Astronautics,1999,20(1):57-65.

Study on software and hardware integrated reliability evaluation method

Feng Erqiang,Zheng Jun,Lan Xinsheng
(China Aero-Polytechnology Establishment,Beijing 100028,China)

The concept and characteristics of hardware and software reliability testing are introduced and analyzed.Prevalent hardware and software reliability integrated evaluation methods can be broadly classified into three categories,named,fault data fusion based,models combination based and micro-fabric fusion based.The research achievements and development in hardware and software reliability integrated evaluation methods are mainly analyzed,summarized and discussed.And the conclusions are that the models combination based approach don’t solve the problem that a fundamental difference in the nature of the failure processes of hardware and software and the others solve the problem partly.Based on this the principle of hardware and software reliability integrated evaluation methods was studied,and the research direction in the future is proposed.

integrated reliability evaluation;evaluation method;software reliability;hardware reliability;combined hardware/software

TP311

:A

:0258-7998(2015)03-0020-04

10.16157/j.issn.0258-7998.2015.03.003

2014-11-21)

封二強(1984-),通信作者,男,碩士,工程師,主要研究方向: 軟件可靠性工程、 軟件測試,E-mail:erqiangfeng@126.com。

科工局課題(Z052013B009)

鄭軍(1969-),男,碩士,研究員,主要研究方向:軟件工程。

藍新生(1986-),男,碩士,工程師,主要研究方向:軟件可靠性測試、軟件測試。

猜你喜歡
軟件可靠性系統可靠性可靠性
試析提高配網系統可靠性的技術措施
可靠性管理體系創建與實踐
合理使用及正確測試以提升DC/DC變換器可靠性
軟件可靠性工程綜合應用建模技術研究
5G通信中數據傳輸的可靠性分析
城市軌道交通信號系統可靠性分析
數控系統軟件可靠性設計與故障分析技術
基于故障樹模型的光伏跟蹤系統可靠性分析
基于可靠性跟蹤的薄弱環節辨識方法在省級電網可靠性改善中的應用研究
基于系統可靠性的工程質量量化研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合