亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡(luò)化軟件系統(tǒng)故障傳播分析與可靠性評估

        2018-06-19 12:57:58薛利興左德承
        關(guān)鍵詞:模型系統(tǒng)

        薛利興,左德承,張 展

        (哈爾濱工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)

        0 引 言

        網(wǎng)絡(luò)化軟件(networked software)[1]是部署在Internet環(huán)境中的軟件系統(tǒng)的抽象,通常由若干個部署在不同服務(wù)器上的、能夠完成一項(xiàng)或幾項(xiàng)功能并對外提供服務(wù)的獨(dú)立模塊(如:Web服務(wù)、各種網(wǎng)絡(luò)信息資源等)組成,它們通過Internet網(wǎng)絡(luò)進(jìn)行通信交互、彼此協(xié)作共同完成一項(xiàng)復(fù)雜的工作。與傳統(tǒng)基于構(gòu)件的軟件(component-based software)類似,網(wǎng)絡(luò)化軟件系統(tǒng)同樣采用分治的思想將復(fù)雜任務(wù)劃分給多個不同模塊來完成;且網(wǎng)絡(luò)中的每個模塊都具有模塊化、信息隱藏、可重用等特性,這些模塊也稱為網(wǎng)絡(luò)化構(gòu)件(networked component)。當(dāng)前常見的云應(yīng)用[2](cloud application)、面向服務(wù)體系結(jié)構(gòu)[3](service-oriented architecture)、網(wǎng)構(gòu)軟件[4](Internetware)等均為網(wǎng)絡(luò)化軟件的具體實(shí)現(xiàn)方式。

        與本地化軟件系統(tǒng)不同,網(wǎng)絡(luò)軟件系統(tǒng)中的構(gòu)件通過互聯(lián)網(wǎng)進(jìn)行相互調(diào)用和數(shù)據(jù)傳輸,過程比傳統(tǒng)軟件更為復(fù)雜難控。一方面,不穩(wěn)定的Internet不僅給軟件系統(tǒng)的可靠性帶來一定的負(fù)面影響,構(gòu)件部署在遠(yuǎn)端服務(wù)器之上難以獲取運(yùn)行狀態(tài)也使交互行為變得更加復(fù)雜。另一方面,構(gòu)建系統(tǒng)更多使用的是互聯(lián)網(wǎng)上已有的網(wǎng)絡(luò)構(gòu)件,可能是由不同組織或個人開發(fā)的免費(fèi)構(gòu)件,也可能是付費(fèi)使用的商業(yè)化構(gòu)件,這些構(gòu)件的質(zhì)量參差不齊難以完全控制,失效后會向后續(xù)構(gòu)件輸出錯誤的數(shù)據(jù),從而引發(fā)軟件系統(tǒng)內(nèi)的故障傳播。

        本文依據(jù)網(wǎng)絡(luò)化軟件系統(tǒng)交互方式的特點(diǎn),定義了符合實(shí)際系統(tǒng)的失效模式;分析了構(gòu)件執(zhí)行過程及構(gòu)件間的網(wǎng)絡(luò)交互過程,并考慮故障傳播建立系統(tǒng)可靠性模型,詳細(xì)列出了建模和求解的步驟;最后結(jié)合一個案例驗(yàn)證了模型的準(zhǔn)確性。

        1 相關(guān)工作

        Cheung[5]將軟件系統(tǒng)的可靠性表示為各個獨(dú)立模塊的可靠性和使用剖面的函數(shù),提出了一種基于馬爾可夫鏈的軟件可靠性建模方法。通過模型求解和敏感性分析,發(fā)現(xiàn)執(zhí)行頻率高的模塊的可靠性對系統(tǒng)整體可靠性有重要意義。據(jù)我們所知,該模型是最早應(yīng)用狀態(tài)法對結(jié)構(gòu)化軟件可靠性建模的方法。Wang等[6]對不同軟件結(jié)構(gòu)進(jìn)行可靠性建模,包括:串行順序結(jié)構(gòu)、并行結(jié)構(gòu)、主備容錯結(jié)構(gòu)、調(diào)用-返回結(jié)構(gòu)等。很多研究都是以Cheung和Wang等的工作為基礎(chǔ)實(shí)施的,例如:Isa等[7]引入了任務(wù)和資源等因素對系統(tǒng)可靠性進(jìn)行評估;Brosch等[8]考慮了外部服務(wù)、軟件運(yùn)行環(huán)境等因素對系統(tǒng)可靠性的影響;Zheng等[9]將Web服務(wù)的歷史失效數(shù)據(jù)與用戶進(jìn)行關(guān)聯(lián)分析,提取新用戶的位置、查找相似的歷史數(shù)據(jù)、預(yù)測各Web服務(wù)的失效率,再根據(jù)軟件架構(gòu)預(yù)測系統(tǒng)全局可靠性;Distefano等[10]則分析了SOA不同服務(wù)組合的可靠性。遺憾的是,這些工作都忽略了系統(tǒng)內(nèi)的故障傳播。

        Cortellessa和Grassi[11]考慮了故障傳播對系統(tǒng)的影響,認(rèn)為構(gòu)件中發(fā)生的錯誤不一定會導(dǎo)致系統(tǒng)的失效,其有可能在后續(xù)構(gòu)件的執(zhí)行過程中被屏蔽,只有當(dāng)錯誤傳播到系統(tǒng)接口時才導(dǎo)致系統(tǒng)失效。為此,他們提出了一種考慮錯誤傳播的軟件可靠性建模方法,但只考慮了單一的數(shù)據(jù)錯誤,與很多實(shí)際情況不符,而且Avizienis等[12]也強(qiáng)調(diào)多種失效模式應(yīng)該得到重視。Filieri等[13]遵循了Avizienis的觀點(diǎn),提出了一種考慮多種失效模式和錯誤傳播的構(gòu)件軟件可靠性分析方法,但其只在抽象層次上考慮不同的失效模式、不涉及任何具體的失效模式和具體的系統(tǒng)。Pham和Defago[14]從錯誤檢測的角度將失效模式具體化,同時考慮了順序結(jié)構(gòu)、并發(fā)結(jié)構(gòu)、主備容錯結(jié)構(gòu)的執(zhí)行,對構(gòu)件軟件可靠性進(jìn)行分析與預(yù)測。隨后,Pham和Defago[15]又在后續(xù)工作中詳細(xì)討論了軟件中多種容錯結(jié)構(gòu)的建模與可靠性分析。

        現(xiàn)有的軟件可靠性模型/分析方法更多關(guān)注的是本地化的構(gòu)件軟件,沒有考慮網(wǎng)絡(luò)化構(gòu)件之間的基于網(wǎng)絡(luò)的不穩(wěn)定交互過程。此外,網(wǎng)絡(luò)化構(gòu)件多數(shù)部署在遠(yuǎn)端第三方服務(wù)器之上,我們很難像本地軟件一樣判斷其運(yùn)行狀態(tài),因此我們只能從外部觀察其行為、對失效模式進(jìn)行定義。本文從客觀實(shí)際出發(fā),定義了兩種常見失效模式,并提出一種針對網(wǎng)絡(luò)化軟件的可靠性建模方法,不僅對構(gòu)件執(zhí)行過程和網(wǎng)絡(luò)交互過程進(jìn)行了建模,也考慮了系統(tǒng)內(nèi)的故障傳播問題。

        2 網(wǎng)絡(luò)化軟件失效模式

        一個構(gòu)件的失效可以從多個不同角度進(jìn)行定義,如:域(domain)、一致性(consistency)、可檢測性(detectability)等,其中最常見的是域的角度。構(gòu)件的輸出由兩部分組成:值域(content/value domain)和時域(timing domain)。理論上,根據(jù)構(gòu)件輸出結(jié)果的值域和時域正確與否,可以將失效劃分為:值域錯誤引發(fā)的失效、時域錯誤引發(fā)的失效、值域和時域同時出錯引發(fā)的失效[12],具體還可以再進(jìn)行細(xì)分,如圖1所示。

        圖1 理論中的失效模式分類

        在多數(shù)的研究工作中,經(jīng)典的失效分類應(yīng)用并不多,特別是完全按照這個進(jìn)行分類的幾乎沒有。主要因?yàn)槎鄶?shù)系統(tǒng)對時域錯誤并不敏感,時域中的錯誤經(jīng)常被忽略。通常情況下,只要系統(tǒng)在使用者可容忍的時間范圍給出結(jié)果即可,人們更多關(guān)注失效的直觀現(xiàn)象,如:停止運(yùn)行(fail-stop)、停機(jī)(halt)等,有的甚至關(guān)注停止運(yùn)行失效時是否給出相關(guān)信號。

        在網(wǎng)絡(luò)化軟件系統(tǒng)中,構(gòu)件多數(shù)運(yùn)行在他人維護(hù)的服務(wù)器上,無論系統(tǒng)設(shè)計(jì)者還是用戶都無法詳細(xì)獲知構(gòu)件的運(yùn)行狀態(tài),更多時候是通過等待時間的長短來判定構(gòu)件是否失效。當(dāng)構(gòu)件沒有在特定的時間內(nèi)返回結(jié)果,即視其發(fā)生了失效,我們稱之為超時失效(timeout failure)。若構(gòu)件在指定的時間內(nèi)給出了結(jié)果,則需要判斷輸出內(nèi)容是否正確,進(jìn)而得知是正確輸出還是發(fā)生了值域失效(content failure)。

        具體地,將這些失效模式的進(jìn)行形式化定義。我們將網(wǎng)絡(luò)化構(gòu)件單次執(zhí)行的結(jié)果定義為一個序?qū)?/p>

        其中,v是構(gòu)件輸出的內(nèi)容,即值域結(jié)果;t為收到網(wǎng)絡(luò)構(gòu)件給出結(jié)果所需要的時間。

        定義構(gòu)件單次執(zhí)行對應(yīng)的設(shè)計(jì)輸出為

        其中,V是所有可接受的輸出結(jié)果的集合,T*為構(gòu)件正常執(zhí)行所需的最長時間或用戶可以等待的最長時間。

        當(dāng)構(gòu)件的輸出滿足下列條件時視為正確輸出,可以表示為

        v∈V且t≤T*

        當(dāng)構(gòu)件的執(zhí)行時間超過規(guī)定時間,則視其發(fā)生了超時失效(timeout failure),形式化表示是

        t>t*

        若構(gòu)件在規(guī)定的時間內(nèi)給出結(jié)果,我們需要檢查結(jié)果是否正確,若輸出不滿足設(shè)計(jì)規(guī)定的輸出則視為值域失效(數(shù)據(jù)錯誤)

        v?V且t≤T*

        事實(shí)上,很多系統(tǒng)中的系統(tǒng)失效都是通過時間長短來進(jìn)行判斷。例如:在嵌入式系統(tǒng)中,通常會采用看門狗(watchdog)技術(shù)判斷系統(tǒng)是否失效??撮T狗的本質(zhì)為一個特殊計(jì)數(shù)器,當(dāng)處理器沒有在規(guī)定的時間內(nèi)對計(jì)數(shù)器進(jìn)行清0,則計(jì)數(shù)器會發(fā)生溢出引發(fā)相應(yīng)的中斷對系統(tǒng)進(jìn)行重啟。在大型主機(jī)系統(tǒng)或高可用集群系統(tǒng)中,多采用心跳檢測(heartbeat detection)技術(shù)判斷一個子系統(tǒng)或節(jié)點(diǎn)是否失效。心跳檢測的本質(zhì)與看門狗類似,系統(tǒng)需要在規(guī)定的時間發(fā)送特定的信號;否則,系統(tǒng)會被視為已經(jīng)宕機(jī)或其中運(yùn)行的關(guān)鍵服務(wù)已經(jīng)發(fā)生失效。而在使用TCP協(xié)議進(jìn)行網(wǎng)絡(luò)傳輸過程中,若沒有在指定的時間內(nèi)收到對方的數(shù)據(jù)或接收確認(rèn),即視為本次傳輸失敗,將重新發(fā)送數(shù)據(jù)。以上這幾種情況都可以采用超時失效進(jìn)行定義和描述。

        為了更明確的、直觀的展示正確輸出(未失效)、值域失效、超時失效三者之間的關(guān)系,我們將它們在時間軸上進(jìn)行表示,如圖2所示。

        圖2 構(gòu)件的3種輸出結(jié)果

        3 故障傳播與可靠性模型

        在本節(jié)中,我們首先對構(gòu)件執(zhí)行過程和構(gòu)件之間的網(wǎng)絡(luò)交互過程分別進(jìn)行分析和可靠性參數(shù)定義,之后利用馬爾可夫鏈建立軟件可靠性模型,并給出詳細(xì)建模步驟和求解方法。

        3.1 構(gòu)件執(zhí)行過程分析

        與本地軟件構(gòu)件相同,網(wǎng)絡(luò)化構(gòu)件中一樣會存在設(shè)計(jì)缺陷和編碼錯誤,當(dāng)它們被執(zhí)行時便引發(fā)了構(gòu)件內(nèi)部錯誤,此時構(gòu)件可能立即停止執(zhí)行,也可能繼續(xù)執(zhí)行。在執(zhí)行過程中,該錯誤有可能被屏蔽,只有當(dāng)錯誤到達(dá)構(gòu)件接口時才導(dǎo)致該構(gòu)件失效。類似地,一個構(gòu)件的失效也并非一定導(dǎo)致整個系統(tǒng)的失效,錯誤可能在其它構(gòu)件中被屏蔽,只有錯誤傳播到系統(tǒng)接口時才會引發(fā)系統(tǒng)失效。在構(gòu)件的執(zhí)行過程中,我們考慮以下5種故障傳播情況:

        第1種情況:在一個構(gòu)件執(zhí)行過程中,由于內(nèi)部故障產(chǎn)生了錯誤,進(jìn)而導(dǎo)致構(gòu)件的執(zhí)行時間超過規(guī)定時間的上限,即發(fā)生了超時失效,此時我們認(rèn)為該構(gòu)件無法完成其設(shè)計(jì)所規(guī)定的功能、無法給出執(zhí)行結(jié)果。因此,該失效導(dǎo)致系統(tǒng)無法繼續(xù)執(zhí)行,直接導(dǎo)致系統(tǒng)失效。

        第2種情況:構(gòu)件在執(zhí)行過程中,由于內(nèi)部故障產(chǎn)生了錯誤,但構(gòu)件在規(guī)定的時間內(nèi)給出了結(jié)果,只是輸出結(jié)果的內(nèi)容不正確,此時發(fā)生了值域失效。盡管該構(gòu)件失效,但系統(tǒng)依然繼續(xù)執(zhí)行,該錯誤輸出被傳播給后續(xù)構(gòu)件。

        第3種情況:當(dāng)前續(xù)的構(gòu)件產(chǎn)生錯誤輸出(值域不正確)時,后面的構(gòu)件不得不以錯誤的輸入開始執(zhí)行。在構(gòu)件的執(zhí)行過程中,錯誤可能被構(gòu)件中的邏輯運(yùn)算、比較運(yùn)算等操作屏蔽,使得構(gòu)件最終產(chǎn)生正確的輸出結(jié)果。

        第4種情況:構(gòu)件接收錯誤的輸入(值域不正確)開始執(zhí)行,錯誤導(dǎo)致該構(gòu)件在執(zhí)行過程中導(dǎo)致死鎖、死循環(huán)或崩潰等,導(dǎo)致該構(gòu)件無法在規(guī)定的時間內(nèi)輸出結(jié)果,從而產(chǎn)生超時失效,并導(dǎo)致系統(tǒng)無法繼續(xù)運(yùn)行引發(fā)系統(tǒng)失效。

        第5種情況:構(gòu)件接收錯誤的輸入(值域不正確)開始執(zhí)行,但在執(zhí)行過程中,錯誤既沒有被屏蔽,也沒有導(dǎo)致該構(gòu)件執(zhí)行超時,最終構(gòu)件在規(guī)定的時間內(nèi)輸出了結(jié)果,但結(jié)果的內(nèi)容依然不正確。

        根據(jù)這幾種情況,我們從正確輸入和(值域)錯誤輸入兩個角度定義構(gòu)件的可靠性參數(shù),如圖3所示。

        正確輸入:對于一個網(wǎng)絡(luò)化構(gòu)件Ci,在執(zhí)行過程中由于多種原因可能在內(nèi)部產(chǎn)生一個錯誤。該錯誤可能會引發(fā)死鎖、死循環(huán)甚至程序崩潰,進(jìn)而導(dǎo)致構(gòu)件無法按時交付輸出,產(chǎn)生超時失效,這種情況的概率記為tep(Ci);該錯誤也可能并不影響構(gòu)件的運(yùn)行時間,只影響構(gòu)件的輸出內(nèi)容,這種情況的概率定義為cep(Ci)。此外,構(gòu)件Ci也可能不輸出任何錯誤,該情況的概率記為cop(Ci)。正確的輸出包含兩種情況,在內(nèi)部發(fā)生錯誤但被屏蔽或者根本沒有發(fā)生錯誤,但我們更關(guān)心輸出情況,無需了解內(nèi)部的細(xì)節(jié)。根據(jù)上面的定義,顯然有:cop(Ci)+tep(Ci)+cep(Ci)=1。

        圖3 構(gòu)件的可靠性參數(shù)

        (值域)錯誤輸入:對于一個網(wǎng)絡(luò)化構(gòu)件Ci,接收值域錯誤的輸入并在執(zhí)行過程中將該錯誤屏蔽的概率記為mp(Ci);該錯誤也有可能引發(fā)該構(gòu)件的超時失效,即發(fā)生失效轉(zhuǎn)換,這種情況的概率定義為tp(Ci);此外,該錯誤可能沒有被屏蔽也沒有發(fā)生類型轉(zhuǎn)換,而是從構(gòu)件的輸出接口傳播出去,這種情況的概率記為epp(Ci)。顯然有:mp(Ci)+tp(Ci)+epp(Ci)=1。

        3.2 網(wǎng)絡(luò)交互過程分析

        與傳統(tǒng)本地化軟件不同,網(wǎng)絡(luò)化軟件中構(gòu)件之間通過Internet連接進(jìn)行數(shù)據(jù)傳輸,由于網(wǎng)絡(luò)的不穩(wěn)定性,在可靠性建模過程中我們必須考慮構(gòu)件之間網(wǎng)絡(luò)交互對整體的影響。

        基于現(xiàn)有Internet協(xié)議架構(gòu),構(gòu)件之間的數(shù)據(jù)傳輸可使用TCP協(xié)議或UDP協(xié)議。TCP協(xié)議本身能夠保證數(shù)據(jù)可靠地、按順序交付目標(biāo)主機(jī),當(dāng)數(shù)據(jù)在傳輸過程中發(fā)生錯誤時,TCP協(xié)議自身會進(jìn)行數(shù)據(jù)重傳。而UDP協(xié)議是一種不可靠性的傳輸協(xié)議,通常系統(tǒng)設(shè)計(jì)者會增加一些相關(guān)機(jī)制來保證數(shù)據(jù)的正確傳輸。因此,綜合TCP協(xié)議自身的機(jī)制和使用UDP協(xié)議的設(shè)計(jì)習(xí)慣,我們可以認(rèn)為網(wǎng)絡(luò)構(gòu)件之間的數(shù)據(jù)傳輸中不會導(dǎo)致數(shù)據(jù)錯誤,但可能因?yàn)樵谝?guī)定的時間內(nèi)未收到正確的數(shù)據(jù)而產(chǎn)生超時失效,從而導(dǎo)致整個軟件系統(tǒng)的立即失效。

        在網(wǎng)絡(luò)化軟件系統(tǒng)中,不僅構(gòu)件是系統(tǒng)中的基本元素,構(gòu)件之間的基于Internet的交互過程也是系統(tǒng)中的重要組成部分。在本文中,我們將構(gòu)件之間的交互過程視為系統(tǒng)中特殊的構(gòu)件,并進(jìn)行可靠性參數(shù)定義,如圖4所示。對于網(wǎng)絡(luò)化構(gòu)件Ci與Cj之間的交互過程Iij,在一次交互數(shù)據(jù)傳輸?shù)倪^程中有兩種情況:一種是數(shù)據(jù)在規(guī)定的時間內(nèi)從構(gòu)件Ci出發(fā)被Iij正確傳輸?shù)竭_(dá)構(gòu)件Cj,這種情況的概率記為cop(Iij);另一種情況是Iij沒有在規(guī)定的時間內(nèi)將構(gòu)件Ci所輸出的數(shù)據(jù)保持一致的交付給構(gòu)件Cj,即在數(shù)據(jù)傳輸?shù)倪^程中發(fā)生了超時失效,這種情況的概率定義為tep(Iij)。顯然可知:cop(Iij)+tep(Iij)=1。

        圖4 構(gòu)件間網(wǎng)絡(luò)交互過程的可靠性參數(shù)

        3.3 可靠性模型

        一個軟件系統(tǒng)的可靠性不僅依賴于每個構(gòu)件的可靠性,還受這些構(gòu)件的使用情況影響。構(gòu)件使用情況通常用使用剖面(usage profile)來表示[5,6]。

        假設(shè)系統(tǒng)中有n個構(gòu)件,分別記為C1,C2…Cn,當(dāng)構(gòu)件Ci運(yùn)行完畢后系統(tǒng)運(yùn)行構(gòu)件Cj的概率定義為Pij,所有這樣的概率之集合{Pij}稱為構(gòu)件使用剖面。Pij可以根據(jù)系統(tǒng)的功能和設(shè)計(jì)進(jìn)行預(yù)估,也可以在系統(tǒng)運(yùn)行的過程中進(jìn)行統(tǒng)計(jì),具體計(jì)算方法為

        其中,frqij是當(dāng)構(gòu)件Ci執(zhí)行完畢后系統(tǒng)運(yùn)行構(gòu)件Cj的統(tǒng)計(jì)頻率,如果構(gòu)件Ci執(zhí)行完畢后系統(tǒng)從未立刻運(yùn)行過構(gòu)件Cj,則有frqij=0,從而Pij=0;n為系統(tǒng)內(nèi)網(wǎng)絡(luò)化構(gòu)件的數(shù)量。對于任意的構(gòu)件Ci,有∑jPij=1。

        我們利用馬爾可夫鏈建立系統(tǒng)可靠性模型,假設(shè)系統(tǒng)從構(gòu)件C1開始運(yùn)行,在構(gòu)件Cn運(yùn)行結(jié)束后系統(tǒng)運(yùn)行完畢,具體的建模步驟如下:

        對于每個構(gòu)件Ci,添加兩個狀態(tài)CC(i)和CE(i),分別表示構(gòu)件接收正確輸入和錯誤輸入的執(zhí)行過程;

        對于每個網(wǎng)絡(luò)交互過程Iij;添加兩個狀態(tài)IC(i,j)和IE(i,j),分別表示構(gòu)件Ci產(chǎn)生正確輸出和錯誤輸出時數(shù)據(jù)從Ci傳輸?shù)紺j的過程;

        設(shè)置一個狀態(tài)TE,表示因構(gòu)件發(fā)生超時失效而引發(fā)的系統(tǒng)失效;

        設(shè)置兩個狀態(tài)STARTC和STARTE,分別表示系統(tǒng)接收正確輸入開始運(yùn)行和接收錯誤輸入開始運(yùn)行;

        設(shè)置兩個狀態(tài)ENDC和ENDE,分別表示系統(tǒng)結(jié)束運(yùn)行時輸出正確結(jié)果和系統(tǒng)結(jié)束運(yùn)行時輸出錯誤結(jié)果;

        狀態(tài)TE,ENDC和ENDE為吸收態(tài),自轉(zhuǎn)移概率為1;

        從狀態(tài)IC(i,j)到CC(j)的轉(zhuǎn)移概率為cop(Iij),從狀態(tài)IC(i,j)到TE的轉(zhuǎn)移概率為tep(Iij);

        從狀態(tài)IE(i,j)到CE(j)的轉(zhuǎn)移概率為cop(Iij),從狀態(tài)IE(i,j)到TE的轉(zhuǎn)移概率為tep(Iij);

        從狀態(tài)CC(i)到IC(i,j)的轉(zhuǎn)移概率為Pijcop(Ci),從狀態(tài)CC(i)到IE(i,j)的轉(zhuǎn)移概率為Pijcep(Ci);從狀態(tài)CE(i)到IE(i,j)的轉(zhuǎn)移概率為Pijepp(Ci),從狀態(tài)CE(i)到IC(i,j)的轉(zhuǎn)移概率為Pijmp(Ci);

        從狀態(tài)CC(i)到TE的轉(zhuǎn)移概率為tep(Ci),從狀態(tài)CE(i)到TE的轉(zhuǎn)移概率為tp(Ci);

        從狀態(tài)STARTC到CC(1)的轉(zhuǎn)移概率為1,從狀態(tài)STARTE到CE(1)的轉(zhuǎn)移概率也為1;

        從狀態(tài)CC(n)到ENDC的轉(zhuǎn)移概率為cop(Cn),從狀態(tài)CC(n)到ENDE的轉(zhuǎn)移概率為cep(Cn);

        從狀態(tài)CE(n)到ENDE的轉(zhuǎn)移概率為epp(Cn),從狀態(tài)CE(n)到ENDC的轉(zhuǎn)移概率為mp(Cn);

        從狀態(tài)CC(n)到TE的轉(zhuǎn)移概率為tep(Cn),從狀態(tài)CE(n)到TE的轉(zhuǎn)移概率為tp(Cn);

        在這個馬爾可夫模型中,系統(tǒng)從狀態(tài)STARTC或STARTE開始運(yùn)行,進(jìn)入3個吸收態(tài)TE,ENDC,ENDE之一即運(yùn)行結(jié)束。STARTC表示系統(tǒng)接收正確輸入開始運(yùn)行,STARTE表示系統(tǒng)接收錯誤輸入開始運(yùn)行,一旦進(jìn)入狀態(tài)TE表示某個構(gòu)件或網(wǎng)絡(luò)交互過程發(fā)生超時失效直接導(dǎo)致系統(tǒng)失效,進(jìn)入狀態(tài)ENDE表示有數(shù)據(jù)錯誤最終傳播到系統(tǒng)接口,進(jìn)入狀態(tài)ENDC表示系統(tǒng)最終給出了正確的輸出結(jié)果。

        通常情況下,系統(tǒng)的可靠性定義為系統(tǒng)接收正確輸入并給出正確輸出結(jié)果的概率[13,14]。對應(yīng)于我們的馬爾可夫模型,系統(tǒng)可靠性等價于從狀態(tài)STARTC出發(fā)到達(dá)狀態(tài)ENDC的概率。

        將馬爾可夫模型對應(yīng)的轉(zhuǎn)移矩陣寫成如下形式

        其中,子陣I為的3×3單位矩陣;子陣Q為方陣,且不包含與3個吸收態(tài)ENDC,ENDE和TE相關(guān)的轉(zhuǎn)移概率;子陣R表示從其它狀態(tài)到3個吸收態(tài)的一步轉(zhuǎn)移概率,且R的3列從左到右分別表示ENDC,ENDE和TE。

        設(shè)V=v(x,y)=(I-Q)-1R,從狀態(tài)ENDC出發(fā)到STARTC的概率為v(1,1),因此系統(tǒng)的可靠性為R=v(1,1)

        4 實(shí)驗(yàn)驗(yàn)證

        本節(jié)通過一個案例來驗(yàn)證本文所提方法的正確性,并與現(xiàn)有方法進(jìn)行對比。

        如圖5所示,系統(tǒng)中有5個網(wǎng)絡(luò)化構(gòu)件,表1和表2分別列出了構(gòu)件接收正確輸入和錯誤輸入時的可靠性參數(shù)值,表3列出了各構(gòu)件之間網(wǎng)絡(luò)交互過程的可靠性參數(shù)。

        根據(jù)軟件系統(tǒng)的結(jié)構(gòu),建立對應(yīng)的可靠性模型,將各構(gòu)件的可靠性參數(shù)值、各網(wǎng)絡(luò)交互過程的可靠性參數(shù)值以及使用剖面概率值帶入模型之中,計(jì)算得到系統(tǒng)的可靠性為0.980 086。

        圖5 實(shí)例系統(tǒng)的架構(gòu)及構(gòu)件的使用剖面

        構(gòu)件ceptepcop=1-cep-tepC10.000 1010.000 4130.999 486C20.000 2890.000 5160.999 195C30.000 3730.000 5340.999 093C40.000 2970.000 5030.999 201C50.000 4340.000 5540.999 012

        表2 構(gòu)件接收錯誤輸入時可靠性參數(shù)值

        表3 網(wǎng)絡(luò)交互過程的可靠性參數(shù)值

        在實(shí)際系統(tǒng)中驗(yàn)證我們的模型是非常困難的,因?yàn)樵谲浖到y(tǒng)中失效是小概率事件,可能需要花費(fèi)相當(dāng)長的時間才能觀察到一次失效。為此,本文與現(xiàn)有的構(gòu)件軟件可靠性分析研究[7,8,14-16]一致,采用仿真實(shí)驗(yàn)來進(jìn)行模型驗(yàn)證。對于目標(biāo)系統(tǒng)中的每一個構(gòu)件,實(shí)現(xiàn)一個名義(dummy)構(gòu)件,即接口與原構(gòu)件定義完全一致,但其內(nèi)部只依據(jù)該構(gòu)件可靠性參數(shù)定義的概率隨機(jī)產(chǎn)生正確輸出、錯誤輸出及超時失效。對于構(gòu)件間的各個交互過程,我們將其視為特殊構(gòu)件,同樣實(shí)現(xiàn)一個名義構(gòu)件來模擬它們的工作過程。將各個名義構(gòu)件按照目標(biāo)系統(tǒng)架構(gòu)和使用剖面進(jìn)行組合連接,形成一個目標(biāo)系統(tǒng)的仿真測試平臺。在測試平臺中,調(diào)用系統(tǒng)N次,觀察系統(tǒng)輸出,記錄產(chǎn)生正確輸出的次數(shù)NC,最終系統(tǒng)的可靠性為R=NC/N。

        在本文的仿真實(shí)驗(yàn)中,共調(diào)用系統(tǒng)1 000 000次,即N=1 000 000,獲得正確輸出的次數(shù)為980 943,即Nc=980 943,因此系統(tǒng)的可靠性為0.980 943。本文模型計(jì)算得到系統(tǒng)的可靠性與仿真實(shí)驗(yàn)得到結(jié)果只相差0.000 857,誤差率為0.874‰,可以認(rèn)為本文模型足夠接近仿真實(shí)驗(yàn)的結(jié)果。

        Brosch等[16]提出的可靠性模型同樣考慮了網(wǎng)絡(luò)對軟件系統(tǒng)的影響,應(yīng)用該模型計(jì)算得到的系統(tǒng)可靠性為0.969 328,與仿真實(shí)驗(yàn)結(jié)果相差0.011 615,誤差率為11.841‰,具體的對比結(jié)果見表4。此外,本文模型與Brosch模型的對比見表5。

        Brosch模型將網(wǎng)絡(luò)化軟件劃分為軟件層和網(wǎng)絡(luò)層,將系統(tǒng)整體可靠性視為它們二者可靠性的乘積;使用該方法的必須先得到網(wǎng)絡(luò)層的可靠性,顯然不適用于廣域網(wǎng)或基于Internet的網(wǎng)絡(luò)軟件。本文將構(gòu)件之間的各個網(wǎng)絡(luò)交互過程視為相互獨(dú)立的特殊構(gòu)件,通過與使用剖面相結(jié)合建立離散時間馬爾可夫模型,不僅符合廣域網(wǎng)或Internet路由的特性,也可用于局域網(wǎng)內(nèi)交互過程的抽象,適用范圍更廣。此外,Brosch模型中的可靠性參數(shù)沒有給出明確定義,本文模型所用到的可靠性參數(shù)均來源于工程實(shí)踐、給出了明確的定義,具有更強(qiáng)的可操作性和現(xiàn)實(shí)意義。

        表4 仿真結(jié)果與模型計(jì)算的比較

        表5 本文模型與Brosch模型的對比

        5 結(jié)束語

        本文針對網(wǎng)絡(luò)化軟件系統(tǒng)提出一種可靠性建模方法,不僅考查了各構(gòu)件及構(gòu)件間網(wǎng)絡(luò)交互過程對系統(tǒng)的影響,也考慮了系統(tǒng)內(nèi)的故障傳播。首先,根據(jù)網(wǎng)絡(luò)化構(gòu)件的特點(diǎn),提出了數(shù)據(jù)錯誤和超時失效兩種符合工程實(shí)踐的失效模式;經(jīng)過對構(gòu)件執(zhí)行過程和網(wǎng)絡(luò)交互過程的詳細(xì)分析,從正確輸入和值域錯誤輸入兩種情況定義構(gòu)件可靠性參數(shù)、將構(gòu)件執(zhí)行過程及故障傳播形式化,同時將網(wǎng)絡(luò)交互過程視為系統(tǒng)內(nèi)的特殊構(gòu)件定義可靠性參數(shù)、將網(wǎng)絡(luò)的影響形式化,最后利用馬爾可夫鏈建立網(wǎng)絡(luò)化軟件可靠性模型。實(shí)驗(yàn)結(jié)果顯示,本文模型的結(jié)果足夠接近于仿真實(shí)驗(yàn)結(jié)果;與現(xiàn)有模型相比,該模型適用范圍廣,且具有更強(qiáng)的可操作性和實(shí)踐意義。

        參考文獻(xiàn):

        [1]MA Yutao,HE Keqing,LI Bing,et al.Empirical study on the characteristics of complex networks in networked software[J].Journal of Software,2011,22(3):381-407(in Chinese).[馬于濤,何克清,李兵,等.網(wǎng)絡(luò)化軟件的復(fù)雜網(wǎng)絡(luò)特性實(shí)證[J].軟件學(xué)報,2011,22(3):381-407.]

        [2]Larus J.The cloud will change everything[C]//Proc of the 16th Int Conf on Architectural Support for Programming Languages and Operating Systems.New York:ACM,2011:1-2.

        [3]Sward R,Boleng J.Service-oriented architecture (SOA) concepts and implementations[C]//Proc of the ACM Conf on High Integrity Language Technology.Boston:ACM,2012:11-12.

        [4]Zhang J,Lei H.Research status and prospect of Internetware reliability[C]//Proc of the 4th Int Conf on Computer Science and Network Technology.Harbin:IEEE,2015:401-411.

        [5]Cheung R.A user-oriented software reliability model[J].IEEE Trans on Software Engineering,1980,6(2):118-125.

        [6]Wang W,Pan D,Chen M.Architecture-based software reliability modeling[J].Journal of Systems and Software,2006,79(1):132-146.

        [7]Isa M,Jawawi D.A reliability estimation model using integrated tasks and resources[J].Journal of Theoretical and Applied Information Technology,2015,74(2):171-182.

        [8]Brosch F,Koziolek H,Buhnova B,et al.Architecture-based reliability prediction with the palladio component model[J].IEEE Trans on Software Engineering,2012,38(6):1319-1339.

        [9]Zheng Z,Ma H,Lyu M,et al.QoS-aware web service re-commendation by collaborative filtering[J].IEEE Trans on Services Computing,2011,4(2):140-152.

        [10]Distefano S,Filieri A,Ghezzi C,et al.A compositional method for reliability analysis of workflows affected by multiple failure modes[C]//Proc of the 14th Int ACM SIGSOFT Symp on Component Based Software Engineering.Boulder:ACM,2011:149-158.

        [11]Cortellessa V,Grassi V.A modeling approach to analyze the impact of error propagation on reliability of component-based systems[C]//Proc of the 10th Int Symp on Component-Based Software Engineering.Medford:Springer Verlag,2007:140-156.

        [12]Avizienis A,Laprie J,Randell B,et al.Basic concepts and ta-xonomy of dependable and secure computing[J].IEEE Trans on Dependable and Secure Computing,2004,1(1):11-33.

        [13]Filieri A,Ghezzi C,Grassi V,et al.Reliability analysis of component-based systems with multiple failure modes[C]//Proc of the 13th Int Symp on Component-Based Software Engineering.Prague:Springer Verlag,2011:1-20.

        [14]Pham T,Defago X.Reliability prediction for component-based systems: Incorporating error propagation analysis and different execution models[C]//Proc of the 12th Int Conf on Quality Software.Xi’an:IEEE,2012:106-115.

        [15]Pham T,Defago X.Reliability prediction for component-based software systems with architectural-level fault tolerance mechanisms[C]//Proc of the 8th Int Conf on Availability,Reliability and Security.Regensburg:IEEE,2013:11-20.

        [16]Brosch F,Buhnova B,Koziolek H,et al.Reliability prediction for fault-tolerant software architectures[C]//Proc of the Joint ACM SIGSOFT Conf on Quality of Software Architectures & Int Symp on Architecting Critical Systems.Boulder:ACM,2011:75-84.

        猜你喜歡
        模型系統(tǒng)
        一半模型
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        3D打印中的模型分割與打包
        无码一级视频在线| 99久久免费只有精品国产| 97久久人人超碰超碰窝窝| 国产精品23p| 亚洲av中文字字幕乱码| 在线a亚洲视频播放在线播放| 欧洲vat一区二区三区| 精品久久久久久久久免费午夜福利| 久久精品韩国日本国产| 国产黄久色一区2区三区| 亚洲av日韩av天堂久久| 熟女俱乐部五十路二区av| 亚洲无码美韩综合| 偷拍一区二区三区高清视频| 婷婷五月婷婷五月| 日本色噜噜| 亚洲精品一区二区视频| 国产精品18久久久白浆| 国产精品无圣光一区二区| 久久久久亚洲AV成人网毛片 | 99久久久精品免费| 久久久大少妇免费高潮特黄| 艳妇臀荡乳欲伦69调教视频| 亚洲尺码电影av久久| 亚洲va中文字幕欧美不卡| 亚洲熟女少妇精品综合| 欧美亚洲色综久久精品国产| 无码日韩AⅤ一区二区三区| 亚洲精品女同在线观看| av天堂午夜精品一区| 少妇被爽到高潮动态图| 亚洲红杏AV无码专区首页| 亚洲一区二区三区99| 无码国模国产在线观看| 国产欧美另类精品久久久| 国产亚洲一区二区精品| 亚洲精品国产精品国自产| 一区二区国产在线观看| 亚洲国内精品一区二区在线| 成人艳情一二三区| 精品一区二区三区无码视频|