国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

GO法在軟件體系結(jié)構(gòu)可靠性分析中的應(yīng)用*

2015-09-22 06:20:12賀慧琳
關(guān)鍵詞:連接件分支可靠性

賀慧琳

(南華大學(xué)數(shù)理學(xué)院,湖南 衡陽(yáng) 421001)

GO法在軟件體系結(jié)構(gòu)可靠性分析中的應(yīng)用*

賀慧琳

(南華大學(xué)數(shù)理學(xué)院,湖南 衡陽(yáng) 421001)

GO法是一種系統(tǒng)可靠性分析方法,可將GO法應(yīng)用到軟件體系結(jié)構(gòu)的可靠性分析中。根據(jù)軟件體系結(jié)構(gòu)自身的特點(diǎn)及構(gòu)件之間的關(guān)系,分別建立了軟件體系結(jié)構(gòu)六種基本結(jié)構(gòu)的GO模型,并進(jìn)行了定量GO運(yùn)算。通過(guò)一個(gè)實(shí)例,說(shuō)明了應(yīng)用GO法對(duì)軟件體系結(jié)構(gòu)的可靠性進(jìn)行分析的全過(guò)程。實(shí)踐表明:運(yùn)用定量GO運(yùn)算能夠方便地計(jì)算出整個(gè)軟件體系結(jié)構(gòu)的可靠度,通過(guò)定性GO分析還可評(píng)估各構(gòu)件及連接件的重要性,對(duì)后期系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)具有一定的指導(dǎo)意義。

GO法;可靠性分析;軟件體系結(jié)構(gòu)

1 引言

為了適應(yīng)大規(guī)模、高復(fù)雜性軟件的開(kāi)發(fā),20世紀(jì)90年代后,基于構(gòu)件的軟件開(kāi)發(fā)技術(shù)被廣泛應(yīng)用,這是一種“構(gòu)件開(kāi)發(fā)+基于體系結(jié)構(gòu)的構(gòu)件組裝”的開(kāi)發(fā)技術(shù)[1],這種開(kāi)發(fā)技術(shù)將體系結(jié)構(gòu)的開(kāi)發(fā)作為系統(tǒng)開(kāi)發(fā)過(guò)程的一個(gè)關(guān)鍵性環(huán)節(jié),它在軟件需求與軟件設(shè)計(jì)之間起到了橋梁的作用,軟件體系結(jié)構(gòu)SA(Software Architectures)的好壞將會(huì)直接影響到軟件的質(zhì)量。隨著人們對(duì)軟件質(zhì)量的要求越來(lái)越高,軟件的可靠性作為衡量軟件質(zhì)量的一個(gè)重要因素也受到了人們的重視。因此,對(duì)軟件體系結(jié)構(gòu)的可靠性分析實(shí)際上就是在軟件開(kāi)發(fā)早期對(duì)系統(tǒng)可靠性進(jìn)行的評(píng)估,這使得人們能夠盡早發(fā)現(xiàn)系統(tǒng)中可能存在的問(wèn)題,不僅有助于提高軟件的質(zhì)量,而且對(duì)系統(tǒng)后期的開(kāi)發(fā)具有一定的指導(dǎo)意義。

近年來(lái),已有許多國(guó)內(nèi)外學(xué)者對(duì)軟件體系結(jié)構(gòu)的可靠性進(jìn)行了研究,并提出了一些基于軟件體系結(jié)構(gòu)的可靠性模型,如Yacoub模型[2]、Wang模型[3]和毛曉光通用模型[4]。這些現(xiàn)有的模型可分為兩 類[5]:基 于路 徑 的 模 型[2]和 基于狀 態(tài) 的 模型[3,4]。基于路 徑的 模 型 通常 根 據(jù) 軟件 各 執(zhí) 行路徑的可靠性及執(zhí)行概率來(lái)計(jì)算軟件可靠性,容易出現(xiàn)路徑無(wú)窮長(zhǎng)問(wèn)題[4]。而基于狀態(tài)的模型通常假設(shè)構(gòu)件的控制轉(zhuǎn)移行為具有馬爾科夫隨機(jī)性,利用Markov鏈來(lái)描述構(gòu)件的狀態(tài)轉(zhuǎn)移,但未對(duì)構(gòu)件間的確定性轉(zhuǎn)移行為進(jìn)行分析,此外,當(dāng)系統(tǒng)復(fù)雜性增加時(shí),可能會(huì)出現(xiàn)狀態(tài)空間組合爆炸問(wèn)題。以上兩類模型都沒(méi)有考慮軟件體系結(jié)構(gòu)自身的結(jié)構(gòu)特點(diǎn),因此無(wú)法從組成軟件體系結(jié)構(gòu)的基本結(jié)構(gòu)出發(fā)來(lái)指導(dǎo)軟件體系結(jié)構(gòu)的設(shè)計(jì)[6]。

GO法是一種以成功為導(dǎo)向的系統(tǒng)可靠性分析技術(shù),多適用于有實(shí)際物流如電流的系統(tǒng)可靠性分析。GO法的主要步驟就是建立GO圖和進(jìn)行GO運(yùn)算,它通過(guò)對(duì)系統(tǒng)的分析來(lái)構(gòu)造相應(yīng)的模型,這個(gè)模型稱為GO圖,通??筛鶕?jù)系統(tǒng)流程圖、原理圖或結(jié)構(gòu)圖來(lái)建立GO圖。GO圖主要由操作符和信號(hào)流組成,系統(tǒng)中的元件、部件或子系統(tǒng)可統(tǒng)稱為單元,操作符可用來(lái)代表單元功能和單元輸入、輸出信號(hào)之間的邏輯關(guān)系;而信號(hào)流則用于連接操作符生成GO圖,它表示系統(tǒng)單元的輸入和輸出以及單元之間的關(guān)聯(lián)。GO法定義了17種標(biāo)準(zhǔn)操作符[7],操作符的定義及運(yùn)算規(guī)則詳見(jiàn)文獻(xiàn)[7~9]。

對(duì)于軟件體系結(jié)構(gòu)的定義,目前學(xué)術(shù)界尚未形成統(tǒng)一的意見(jiàn),但是,多數(shù)定義都強(qiáng)調(diào)了體系結(jié)構(gòu)的基本要素是構(gòu)件、連接件及其約束。其中,構(gòu)件是指具有一定功能的軟件單元,連接件是構(gòu)件之間的連接單元,用于建立構(gòu)件間的交互,約束確定了體系結(jié)構(gòu)的構(gòu)件與連接件的連接關(guān)系。因構(gòu)件和連接件被用于構(gòu)建系統(tǒng)或軟件體系結(jié)構(gòu)時(shí)所起的作用不同,構(gòu)件與連接件不交;構(gòu)件、連接件是一個(gè)體系結(jié)構(gòu),構(gòu)件之間通過(guò)連接件經(jīng)有限次連接后仍是 一 個(gè) 體 系 結(jié)構(gòu)[10]。

文獻(xiàn)[6]從軟件體系結(jié)構(gòu)自身結(jié)構(gòu)特征出發(fā),把整個(gè)軟件體系結(jié)構(gòu)看作是由六種基本結(jié)構(gòu)嵌套構(gòu)成的。本文基于文獻(xiàn)[6]的理論,嘗試用GO法及故障樹(shù)法對(duì)軟件體系結(jié)構(gòu)的六種基本結(jié)構(gòu)及整個(gè)軟件體系結(jié)構(gòu)進(jìn)行可靠性建模,實(shí)現(xiàn)在軟件開(kāi)發(fā)早期對(duì)軟件進(jìn)行可靠性評(píng)估,并通過(guò)兩種方法的對(duì)比說(shuō)明GO法應(yīng)用與軟件可靠性分析的優(yōu)缺點(diǎn)。

2 基本結(jié)構(gòu)的可靠性分析

根據(jù)SA自身的特點(diǎn)及構(gòu)件之間的關(guān)系,可以把整個(gè)SA看作是由順序結(jié)構(gòu)、與匯合結(jié)構(gòu)、或匯合結(jié)構(gòu)、與分支結(jié)構(gòu)、或分支結(jié)構(gòu)和迭代結(jié)構(gòu)六種基本結(jié)構(gòu)嵌套構(gòu)成[6]。本節(jié)分別用 GO法和故障樹(shù)法對(duì)這六種基本結(jié)構(gòu)進(jìn)行可靠性建模。

在GO圖中,可用操作符代表構(gòu)件和連接件,構(gòu)件及連接件都有兩個(gè)狀態(tài),若能正常工作即為成功狀態(tài),若失效則為故障狀態(tài),因此構(gòu)件和連接件可用類型1操作符表示。GO圖操作符中第一個(gè)數(shù)字表示操作符的類型,第二個(gè)數(shù)字表示操作符的編號(hào),編號(hào)必須唯一,這里操作符及信息流的編號(hào)與構(gòu)件、連接件的編號(hào)保持一致。

在故障樹(shù)法中,可將構(gòu)件及連接件的失效作為故障事件。

用GO圖和故障樹(shù)法分析軟件體系結(jié)構(gòu)可靠性的前提是必須已知構(gòu)件和連接件的可靠性,通??捎蓸?gòu)件開(kāi)發(fā)者或供應(yīng)商提供。

設(shè)PCi表示編號(hào)為Ci(即構(gòu)件)的操作符的成功概率,PLi表示編號(hào)為L(zhǎng)i(即連接件)的操作符的成功概率,PSi表示編號(hào)為i的信號(hào)流的成功概率,PR表示輸出信號(hào)流的成功概率,PS表示系統(tǒng)故障概率。設(shè)置操作符0作為虛擬輸入操作符,其成功概率為1,即P0=1。

(1)順序。

順序結(jié)構(gòu)的SA如圖1a所示。SA由n個(gè)構(gòu)件組成,n個(gè)構(gòu)件連續(xù)處理能夠完成某個(gè)功能,當(dāng)且僅當(dāng)n個(gè)構(gòu)件、連接件全部正常工作,系統(tǒng)才正常工作[6]。為順序結(jié)構(gòu)建立的GO圖及故障樹(shù)如圖1b和圖1c所示。

Figure 1 Serial software architecture,its GO chart and fault tree圖1 順序型SA及其GO圖和故障樹(shù)

定量GO運(yùn)算根據(jù)文獻(xiàn)[7~9]給出的各操作符運(yùn)算規(guī)則,可得到各信號(hào)流成功概率的計(jì)算式:

根據(jù)圖1c所示故障樹(shù)得到系統(tǒng)故障概率計(jì)算式為:

(2)與匯合。

與匯合結(jié)構(gòu)的SA如圖2a所示。SA由n+1個(gè)構(gòu)件組成,由n個(gè)構(gòu)件共同與某一構(gòu)件協(xié)作來(lái)完成某個(gè)功能,當(dāng)且僅當(dāng)n+1個(gè)構(gòu)件和n個(gè)連接件全部正常工作,系統(tǒng)才能正常工作[6]。n個(gè)構(gòu)件之間的邏輯關(guān)系可用類型10與門操作符表示,為與匯合結(jié)構(gòu)建立的 GO圖及故障樹(shù)如圖2b和圖2c所示。

同理可得信號(hào)流成功概率的計(jì)算式:,該公式與式(1)一致,表明由GO法

(3)或匯合。

或匯合的SA如圖3a所示。SA由n+1個(gè)構(gòu)件組成,選擇n個(gè)構(gòu)件中的任一構(gòu)件和第n+1個(gè)構(gòu)件協(xié)作就能夠完成某個(gè)功能,即只要構(gòu)件Ci、連接件Li和 構(gòu) 件Cn+1正常 工 作 時(shí),系 統(tǒng) 才 正 常工作[6]。n個(gè)構(gòu)件之間的邏輯關(guān)系可用類型2或門操作符表示,為或匯合結(jié)構(gòu)建立的GO圖及故障樹(shù)

由故障樹(shù)求得系統(tǒng)故障概率計(jì)算式為:

如圖3b和圖3c所示。

Figure 2 And confluence software architecture,its GO chart and fault tree圖2 與匯合型SA及其GO圖和故障樹(shù)

同理可得信號(hào)流成功概率的計(jì)算式為:

由故障樹(shù)求得系統(tǒng)故障概率計(jì)算式為:

(4)與分支。

與分支的SA如圖4a所示。SA由n+1個(gè)構(gòu)件組成,要經(jīng)過(guò)一個(gè)構(gòu)件與n個(gè)構(gòu)件共同來(lái)完成某個(gè)功能[6],系統(tǒng)正常 工 作 的 條 件是 構(gòu) 件 C0和n條支路都正常工作。n條支路之間的邏輯關(guān)系可用類型10與門操作符表示,為與分支結(jié)構(gòu)建立的GO圖及故障樹(shù)如圖4b和圖4c所示。

Figure 4 And branch software architecture,its GO chart and fault tree圖4 與分支型SA及其GO圖和故障樹(shù)

同理可得各信號(hào)流成功概率的計(jì)算式為:

上式中信號(hào)流Ci(i=1,…,n)不獨(dú)立,有共有信號(hào)C0,因此上式不成立,需要進(jìn)行修正,根據(jù)文獻(xiàn)[7]的方法,可用共有信號(hào)概率的一次項(xiàng)代替其高次項(xiàng)來(lái)進(jìn)行簡(jiǎn)化,即是對(duì)共有信號(hào)項(xiàng)的修正,修正后的概率表達(dá)式為:

(5)或分支。

或分支的SA如圖5a所示。SA由n+1個(gè)構(gòu)件組成,經(jīng)過(guò)一個(gè)構(gòu)件與n個(gè)構(gòu)件中的某一個(gè)構(gòu)件共同來(lái)完成某個(gè)功能[6],系統(tǒng)正常工作的條件是構(gòu)件C0能正常工作,且n條支路中至少有一條能正常工作。n條支路之間的邏輯關(guān)系可用類型2或門操作符表示,為或分支結(jié)構(gòu)建立的GO圖及故障樹(shù)如圖5b和圖5c所示。

由故障樹(shù)求得系統(tǒng)故障概率計(jì)算式為:

Figure 5 Or branch type software architecture,its GO chart and fault tree圖5 或分支型SA及其GO圖和故障樹(shù)

此結(jié)構(gòu)中也包含共有信號(hào)C0,共有信號(hào)修正方法與(4)相同。修正后的輸出信號(hào)流成功概率的計(jì)算式為:

(6)迭代。

迭代的SA如圖6a所示。SA由1個(gè)構(gòu)件組成,某個(gè)功能是n次執(zhí)行該構(gòu)件來(lái)完成,即當(dāng)且僅當(dāng)構(gòu)件C、連接件L、遷移過(guò)程正常工作時(shí),系統(tǒng)才正常[6]。為迭代結(jié)構(gòu)建立的 GO圖及故障樹(shù)如圖6b和圖6c所示。

由故障樹(shù)求得系統(tǒng)故障概率計(jì)算式為:

Figure 6 Iteration software architecture,its GO chart and fault tree圖6 迭代型SA及其GO圖和故障樹(shù)

文獻(xiàn)[6]中迭代結(jié)構(gòu)SA的可靠性等于構(gòu)件與連接件可靠性乘積的n次冪,那么當(dāng)n越大,則系統(tǒng)可靠性將越小,甚至可能趨近于0,這顯然不合理。GO運(yùn)算考慮的是由 GO圖描述的系統(tǒng)結(jié)構(gòu)的可靠性,由參考文獻(xiàn)[8,9]可得閉環(huán)系統(tǒng)的定量計(jì)算公式為(該公式不考慮部件的維修率):PR= PS0×PC1×PL1=PC1×PL1。如果要計(jì)算系統(tǒng)運(yùn)行時(shí)的可靠性,在處理迭代結(jié)構(gòu)時(shí)也不能簡(jiǎn)單地將系統(tǒng)的可靠性計(jì)算為構(gòu)件與連接件可靠性乘積的n次冪。

由故障樹(shù)求得系統(tǒng)故障概率計(jì)算式為:C1、L1,2和B構(gòu)件組成的順序結(jié)構(gòu),其中B又可看成是由C2、L2,3、L2,4、C和D 組成的或分支,C是由C3、L3,5、L3,6、C5和C6構(gòu)成的與分支,D是由C4、L4,7、L4,8、C7和C8構(gòu)成的或匯合。

Figure 7 Software architecture diagram圖7 一個(gè)軟件體系結(jié)構(gòu)圖

3.1 基于故障樹(shù)法的軟件體系結(jié)構(gòu)可靠性分析

故障樹(shù)分析法是一種自頂向下識(shí)別系統(tǒng)故障的方法,它已被廣泛用于軟件的可靠性分析中,應(yīng)用故障樹(shù)法分析軟件系統(tǒng)時(shí),可從一個(gè)系統(tǒng)故障(頂事件)的失敗事件著手,來(lái)找到引發(fā)故障的所有可能因素(基本事件),通過(guò)自上而下地分析因素間的因果邏輯關(guān)系,并以圖形演繹方法建立軟件故障樹(shù),最后根據(jù)建立的故障樹(shù)進(jìn)行可靠性分析。

為圖7建立的故障樹(shù)如圖8所示。

Figure 8 Fault tree of figure 7圖8 圖7例子的故障樹(shù)

3 實(shí)例研究

本節(jié)應(yīng)用文獻(xiàn) [6]的實(shí)例作為研究實(shí)例,如圖7所示,分別說(shuō)明應(yīng)用GO法和故障樹(shù)法對(duì)該SA進(jìn)行可靠性分析的具體過(guò)程,并對(duì)兩種方法得出的結(jié)果進(jìn)行對(duì)比分析。

圖7所示的軟件體系結(jié)構(gòu)可看成是由構(gòu)件

對(duì)圖8所示故障樹(shù)求取其最小割集為:{C1},{L1,2},{C2},{C1},{L2,3,C},{L2,3,D},{L2,4,C},{L2,4,D},{L2,3,L2,4}。

假設(shè)構(gòu)件的可靠性分別為:PC1=0.97,PC2= 0.97,PC3=0.96,PC4=0.94,PC5=0.95,PC6= 0.95,PC7=0.90,PC8=0.90,連接件的可靠性分別為:PL1,2=0.97,PL2,3=0.95,PL2,4=0.92,PL3,5= 0.95,PL3,6=0.95,PL4,7=0.90,PL4,8=0.90。計(jì)算得到的系統(tǒng)故障率為:

PS=1—PC1×PL1,2×PC2×(1—(1—PL2,3×PC3×PL3,5×PC5×PL3,6×PC6)×(1—PL2,4×PC4×(1—(1—PC7×PL4,7)(1—PC8× PL4,8))))=0.1264

那么,系統(tǒng)成功概率為0.873 6。

3.2 基于GO法的軟件體系結(jié)構(gòu)可靠性分析

用GO圖分析軟件體系結(jié)可靠性的前提是構(gòu)件和連接件的可靠性已知。設(shè)構(gòu)件Ci成功狀態(tài)概率為PCi,連接件Li的成功狀態(tài)概率為PLi。

3.2.1 定量計(jì)算

基于GO法的軟件體系結(jié)構(gòu)可靠性分析步驟:第一步對(duì)系統(tǒng)軟件體系結(jié)構(gòu)進(jìn)行分解,通過(guò)遞歸的方法,每次依順序、與匯合、或匯合、與分支、或分支或迭代的形式,對(duì)系統(tǒng)的軟件體系結(jié)構(gòu)自頂向下進(jìn)行逐級(jí)分解,直至分解所得的每一個(gè)部分都只含有單一的順序、與匯合、或匯合、與分支、或分支或迭代結(jié)構(gòu)為止[6]。第二步建立 GO圖,根據(jù)分解后的軟件體系結(jié)構(gòu)建立GO圖,對(duì)于分解出來(lái)的各個(gè)部分可先建立GO子圖;然后用一個(gè)等效操作符代表相應(yīng)的GO子圖,GO子圖的輸出信號(hào)流的成功概率作為等效操作符的成功概率;最后建立起整個(gè)軟件體系結(jié)構(gòu)GO圖。第三步GO運(yùn)算,根據(jù)建立的GO圖,進(jìn)行GO運(yùn)算。

下面以圖7所示軟件體系結(jié)構(gòu)為例,說(shuō)明應(yīng)用GO法對(duì)該SA進(jìn)行定量計(jì)算的具體過(guò)程,其步驟如下:

(1)對(duì)軟件體系結(jié)構(gòu)進(jìn)行逐級(jí)分解,分解結(jié)果如前所述。

(2)建立GO圖。通常對(duì)于分解出來(lái)的位于頂層的與分支或或分支結(jié)構(gòu)可以不用建立GO子圖,而是將其直接畫(huà)在整體GO圖中;其他情況下,對(duì)于分解出來(lái)的與分支、或分支、與匯合、或匯合及迭代結(jié)構(gòu)都應(yīng)繪制GO子圖,因此為圖7中的C、D分別建立了GO子圖,如圖9a和圖9b所示,整個(gè)軟件體系結(jié)構(gòu)的GO圖如圖9c所示,其中編號(hào)為C'3、C'4的操作符是圖9a、圖9b所示GO子圖的等效操作符。

(3)GO定量運(yùn)算。假設(shè)的構(gòu)件及連接件可靠性見(jiàn)3.1節(jié)。

上式中信號(hào)流C'3和C'4包含共有信號(hào)C2,因此在求信號(hào)流1的概率時(shí)需要進(jìn)行修正,修正并代入后的計(jì)算式如式(3)所示,它也是SA的可靠性計(jì)算公式,它與文獻(xiàn)[6]中給出的計(jì)算公式相同,與故障樹(shù)分析結(jié)果一致。

Figure 9 GO chart and sub graphs for the software architecture圖9 軟件體系結(jié)構(gòu)GO圖及其GO子圖

3.2.2 定性分析

GO法的特點(diǎn)之一就是可以應(yīng)用操作符狀態(tài)概率計(jì)算式來(lái)直接定量計(jì)算系統(tǒng)狀態(tài)概率,而不必首先進(jìn)行定性分析[7]。另外,對(duì)于兩狀態(tài)系統(tǒng),GO法可直接應(yīng)用定量計(jì)算結(jié)果進(jìn)行定性分析,得到系統(tǒng)最小割集。文獻(xiàn)[7]中給出了直接定性分析方法。對(duì)圖7采用文獻(xiàn)[7]中給出的方法求得最小割集,如表1所示,與故障樹(shù)法得到的最小割集一致。

Table 1 The minimal cut sets of the system表1 系統(tǒng)最小割集

最小割集中操作符故障狀態(tài)的組合代表系統(tǒng)功能部件故障事件的組合,最小割集的發(fā)生概率可用這些部件故障概率的乘積表示。計(jì)算得到系統(tǒng)最小割集發(fā)生概率的總和為0.136 6,這是系統(tǒng)故障概率的近似值,可作為系統(tǒng)故障概率的上限。進(jìn)行系統(tǒng)定性分析時(shí),可將最小割集的發(fā)生概率作為評(píng)價(jià)其重要度的依據(jù),對(duì)于發(fā)生概率高的最小割集中操作符代表的構(gòu)件,在實(shí)際系統(tǒng)開(kāi)發(fā)中應(yīng)給予重點(diǎn)關(guān)注。

3.3 結(jié)果分析

相比文獻(xiàn)[6]的方法,本方法既可以對(duì)SA的可靠性進(jìn)行定量計(jì)算,又可以進(jìn)行定性分析,另外還可以利用GO圖直接進(jìn)行定性GO分析[7]。本文提出的方法可在軟件開(kāi)發(fā)的各階段對(duì)軟件可靠性進(jìn)行分析。在開(kāi)發(fā)早期,在構(gòu)件及連接件可靠度已知的情況下,可通過(guò)定量GO運(yùn)算對(duì)整個(gè)軟件體系結(jié)構(gòu)的可靠性進(jìn)行評(píng)估,而定性GO分析又可說(shuō)明各構(gòu)件及連接件的重要性,對(duì)后期系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)具有一定的指導(dǎo)意義。在開(kāi)發(fā)后期,同樣可通過(guò)定量GO運(yùn)算計(jì)算整個(gè)軟件的可靠性,通過(guò)定性GO分析來(lái)分析系統(tǒng)故障原因。

當(dāng)用GO圖模擬比較復(fù)雜的系統(tǒng)結(jié)構(gòu)時(shí),可以通過(guò)分解的方法,先建立GO子圖,再建立GO圖,降低GO圖的復(fù)雜性,從而降低分析的復(fù)雜性。另外借助Matlab工具可以實(shí)現(xiàn)簡(jiǎn)便的定量計(jì)算。

對(duì)圖7采用故障樹(shù)法進(jìn)行分析時(shí),得到的最小割集及系統(tǒng)成功的概率計(jì)算結(jié)果與GO法分析結(jié)果一致。GO法最大的優(yōu)勢(shì)就是可以直接進(jìn)行定量計(jì)算,而不需要事先求出最小割集;GO法能夠計(jì)算出各輸出信號(hào)流的成功概率,而故障樹(shù)法只能得到最終系統(tǒng)的故障概率;GO法是依照系統(tǒng)原理圖或結(jié)構(gòu)圖來(lái)建模,對(duì)于不同的入建模型差別不會(huì)很大,方便檢查核對(duì),而故障樹(shù)的建立受人為因素影響較大,不同的分析人員所建立的故障樹(shù)可能會(huì)有較大的差別。

4 結(jié)束語(yǔ)

GO法目前多用于工程系統(tǒng)可靠性分析,將GO法應(yīng)用于軟件可靠性分析中尚處于研究階段。本文探討了如何將GO法應(yīng)用于軟件體系結(jié)構(gòu)的可靠性分析中,實(shí)踐證明,此方案是可行的。

當(dāng)然方法也有缺陷,如,該方法被用在軟件開(kāi)發(fā)早期對(duì)軟件進(jìn)行可靠性評(píng)估時(shí),進(jìn)行定量GO運(yùn)算須已知構(gòu)件及連接件的可靠性數(shù)據(jù);由軟件體系結(jié)構(gòu)建立GO圖目前還是手工建模;在對(duì)復(fù)雜系統(tǒng)進(jìn)行建模時(shí),雖然可以通過(guò)分解的方式降低建模的復(fù)雜度,但仍具有一定的難度,從而造成實(shí)用性較差;此外,構(gòu)件的狀態(tài)遷移概率并沒(méi)有在 GO圖中反映出來(lái)。接下來(lái)的工作包括對(duì)GO圖進(jìn)行擴(kuò)展,將構(gòu)件的狀態(tài)遷移屬性添加到GO圖中,使其更具有通用性;為建模過(guò)程的自動(dòng)化提供方便有效的工具支持,使其更具有實(shí)用性。

[1] Feng Chong,Jiang He,F(xiàn)eng Jing-fang.The theory and practice of software architecture[M].Beijing:People's Posts and Telecommunications Publishing House,2004.(in Chinese)

[2] Yacoub S M,Cukic B,Ammar H H.A scenario-based reliability analysis approach for component-based software[J]. IEEE Transactions on Reliability,2004,53(4):465-480.

[3] Wang Wen-li,Pan Dai,Chen Mei-hwa.Architecture-based software reliability modeling[J].Journal of Systems and Software,2006,79(1):132-146.

[4] Mao Xiao-guang,Deng Yong-jin.A general model for component-based software reliability[J].Journal of Software,2004,15(1):27-32.(in Chinese)

[5] Gokhale S S.Architecture-based software reliability analysis:Overview and limitations[J].IEEE Transactions on Dependable and Secure Computing,2007,4(1):32-40.

[6] Zhou Na-qin,Zhang You-sheng.Reliability analysis based on software architecture[J].Computer Engineering and Applications,2008,44(30);68-71.(in Chinese)

[7] Shen Zu-pei,Huang Xiang-rui.Principle and application of GO methodology:A system reliability analysis methodology [M].Beijing:Tsinghua University Press,2004.(in Chinese)

[8] Wang Gui-li.System reliability analysis GO methodology and research[D].Harbin:Harbin Institute of Technology,2006. (in Chinese)

[9] Xu Zhi,Chen Bin-bing.Equivalent substitution idea for maintainable closed-loop system GO methodology[J].Communications Technology,2009,42(11):238-240.(in Chinese)

[10] Zhang You-sheng.Software architecture[M].2nd edition. Beijing:Tsinghua University Press,2006.(in Chinese)

附中文參考文獻(xiàn):

[1] 馮沖,江賀,馮靜芳.軟件體系結(jié)構(gòu)理論與實(shí)踐[M].北京:人民郵電出版社,2004.

[4] 毛曉光,鄧勇進(jìn).基于構(gòu)件軟件的可靠性通用模型[J].軟件學(xué)報(bào),2004,15(1):27-32.

[6] 周娜琴,張友生.基于軟件體系結(jié)構(gòu)的可靠性分析[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(30):68-71.

[7] 沈祖培,黃祥瑞.GO法原理及應(yīng)用:一種系統(tǒng)可靠性分析方法[M].北京:清華大學(xué)出版社,2004.

[8] 王桂麗.系統(tǒng)可靠性分析 GO法及其應(yīng)用的研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2006.

[9] 徐志,陳彬兵.可維修閉環(huán)系統(tǒng)GO法等效代換思路[J].通信技術(shù),2009,42(11):238-240.

[10] 張友生.軟件體系結(jié)構(gòu)[M].第2版.北京:清華大學(xué)出版社,2006.

賀慧琳(1980),女,湖南衡陽(yáng)人,碩士,講 師,研 究方 向 為 系 統(tǒng) 可 靠 性。E-mail:hhl1998hhy@qq.com

HE Hui-lin,born in 1980,MS,lecturer,her research interest includes system reliability.

Application of the GO methodology in reliability analysis of software architecture

HE Hui-lin
(School of Mathematics&Physics,University of South China,Hengyang 421001,China)

The GO methodology is a method of system reliability analysis,which is applied in the reliability analysis of software architecture.Based on the characteristics of software architecture and the relationship among components,we build GO models with six basic structures,and conduct quantitative GO operations.We demonstrate the whole process of reliability analysis of software architecture using the GO methodology through an example.The practice indicates that the reliability of software architecture can be calculated through quantitative GO operations.The importance of components and connectors can be evaluated via qualitative GO analysis,which has a certain guiding significance for the design and development of the system.

GO methodology;reliability analysis;software architecture

TP302.7

A

10.3969/j.issn.1007-130X.2015.08.016

1007-130X(2015)08-1525-08

2014-05-23;

2014-12-02

湖南省衡陽(yáng)市科技局基金資助項(xiàng)目(2013KJ19)

通信地址:421001湖南省衡陽(yáng)市南華大學(xué)數(shù)理學(xué)院

Address:School of Mathematics&Physics,University of South China,Hengyang 421001,Hunan,P.R.China

猜你喜歡
連接件分支可靠性
基于有限元法改進(jìn)螺栓連接剛度模型*
可靠性管理體系創(chuàng)建與實(shí)踐
巧分支與枝
一類擬齊次多項(xiàng)式中心的極限環(huán)分支
電子制作(2017年2期)2017-05-17 03:55:06
鋼-混凝土組合梁開(kāi)孔板連接件抗剪承載力計(jì)算研究
基于可靠性跟蹤的薄弱環(huán)節(jié)辨識(shí)方法在省級(jí)電網(wǎng)可靠性改善中的應(yīng)用研究
可靠性比一次采購(gòu)成本更重要
風(fēng)能(2015年9期)2015-02-27 10:15:24
生成分支q-矩陣的零流出性
組合鋼板墻混凝土板厚度及剪力連接件間距的確定
将乐县| 福州市| 彝良县| 葵青区| 河东区| 从江县| 岳阳县| 乌兰察布市| 尚志市| 云龙县| 崇仁县| 庄浪县| 石景山区| 剑河县| 怀安县| 南皮县| 永泰县| 崇义县| 余干县| 宁德市| 丰城市| 枞阳县| 苏尼特右旗| 岱山县| 西丰县| 清原| 涟源市| 龙口市| 黄浦区| 武安市| 中江县| 神池县| 安乡县| 乌什县| 揭阳市| 磐石市| 颍上县| 瓦房店市| 原平市| 伊春市| 喀喇沁旗|