一種可靠性分析系統(tǒng)的制作方法
【專(zhuān)利說(shuō)明】
[0001]【技術(shù)領(lǐng)域】
本發(fā)明涉及一種可靠性分析系統(tǒng),屬于計(jì)算機(jī)軟件設(shè)計(jì)技術(shù)領(lǐng)域。
[0002]【【背景技術(shù)】】
過(guò)程是當(dāng)前的一個(gè)流行詞匯,它是一種思維方式,很多技術(shù)都是基于此思維方式,它反映出任務(wù)在實(shí)施過(guò)程中的資源分布、參與者的協(xié)同以及其他的過(guò)程要素。過(guò)程理論的基本內(nèi)容是:實(shí)現(xiàn)某特定目標(biāo)的過(guò)程是已定義的構(gòu)建模型;質(zhì)量、成本、進(jìn)度的控制通過(guò)對(duì)整個(gè)過(guò)程的管理實(shí)現(xiàn);過(guò)程可以也必須不斷改進(jìn)或優(yōu)化?,F(xiàn)代質(zhì)量工程學(xué)曾專(zhuān)門(mén)指出,產(chǎn)品質(zhì)量的改進(jìn)來(lái)自于對(duì)產(chǎn)品生產(chǎn)過(guò)程的改進(jìn),而非僅僅是測(cè)試和校驗(yàn)。
[0003]計(jì)算機(jī)軟件運(yùn)行過(guò)程是一種特殊的過(guò)程,隨著信息化技術(shù)對(duì)各行各業(yè)的滲透,各行各業(yè)對(duì)計(jì)算機(jī)軟件的依賴(lài)性越來(lái)越大,軟件運(yùn)行過(guò)程的故障給社會(huì)帶來(lái)的影響也越來(lái)越嚴(yán)重。在一些重要領(lǐng)域中,一旦軟件運(yùn)行過(guò)程發(fā)生故障,終止運(yùn)行來(lái)進(jìn)行維護(hù)是不現(xiàn)實(shí)的,尤其是一些安全苛求的系統(tǒng),因此,軟件運(yùn)行過(guò)程的故障可能導(dǎo)致不可挽回的重大損失。然而計(jì)算機(jī)軟件總是存在各種各樣的缺陷和漏洞,任何機(jī)構(gòu)和個(gè)人都無(wú)法確保軟件運(yùn)行過(guò)程一定沒(méi)有問(wèn)題,因此,軟件運(yùn)行過(guò)程的可靠性已經(jīng)成為當(dāng)前軟件工程設(shè)計(jì)的關(guān)鍵需求。
[0004]隨著各行各業(yè)對(duì)可靠性要求的提高,可靠性分析技術(shù)已經(jīng)滲透到我們工作和生活的方方面面,相關(guān)的可靠性分析技術(shù)被用來(lái)提高系統(tǒng)的可靠性。利用可靠性的工程技術(shù)手段能夠快速、準(zhǔn)確地確定系統(tǒng)或過(guò)程的薄弱環(huán)節(jié),并給出改進(jìn)措施和改進(jìn)后對(duì)系統(tǒng)或過(guò)程可靠性的影響。因此,如何將可靠性分析技術(shù)應(yīng)用于安全苛求系統(tǒng),在系統(tǒng)運(yùn)行前發(fā)現(xiàn)潛在的故障及其原因,從而避免事故的發(fā)生已經(jīng)成為國(guó)內(nèi)外共同關(guān)注的研究課題之一。然而,我國(guó)目前基本上僅將可靠性分析技術(shù)應(yīng)用于系統(tǒng)的可靠性設(shè)計(jì)分析,很少用于過(guò)程的可靠性分析,導(dǎo)致過(guò)程可靠性存在明顯缺陷:(I)過(guò)程的早期設(shè)計(jì)缺乏可靠性設(shè)計(jì);(2)依靠預(yù)計(jì)而不是進(jìn)行系統(tǒng)有效的可靠性技術(shù)分析;(3)對(duì)過(guò)程進(jìn)行的可靠性分析多數(shù)為工程師依據(jù)經(jīng)驗(yàn)及對(duì)過(guò)程理解的基礎(chǔ)上進(jìn)行的手工分析,局限性較大。
[0005]【
【發(fā)明內(nèi)容】
】
本發(fā)明的目的在于:針對(duì)現(xiàn)有技術(shù)的缺陷和不足,提供了一種可靠性分析系統(tǒng),該系統(tǒng)可以對(duì)軟件進(jìn)行可靠性分析,從而提高軟件的安全性、魯棒性和可靠性。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:
本發(fā)明所述的一種可靠性分析系統(tǒng),其特征在于:包括外部客戶(hù)端、接口服務(wù)器、模型創(chuàng)建服務(wù)器、分析服務(wù)器和改進(jìn)服務(wù)器,外部客戶(hù)端和接口服務(wù)器通過(guò)網(wǎng)絡(luò)相連,接口服務(wù)器分別和其他三個(gè)服務(wù)器相連,模型創(chuàng)建服務(wù)器和分析服務(wù)器相連,分析服務(wù)器和改進(jìn)服務(wù)器相連,其中
所述的接口服務(wù)器從所述外部客戶(hù)端接收軟件代碼以及可靠性級(jí)別N,并向后臺(tái)的其余3個(gè)服務(wù)器發(fā)出消息,指示其對(duì)軟件的運(yùn)行過(guò)程進(jìn)行可靠性分析,最后將分析結(jié)果返回給外部客戶(hù)端;
所述的模型創(chuàng)建服務(wù)器從接口服務(wù)器接收軟件代碼,并使用Little-JIL語(yǔ)言為該軟件的運(yùn)行過(guò)程構(gòu)建模型,在所述Little-JIL語(yǔ)言構(gòu)建的模型中,用步驟描述軟件的函數(shù),用參數(shù)描述所述函數(shù)的輸入或輸出參數(shù),用參數(shù)綁定和通道綁定來(lái)描述所述函數(shù)間的參數(shù)傳遞,用資源描述軟件的數(shù)據(jù)資源和主體;
所述分析服務(wù)器使用FMEA方法分析所述模型,并將分析結(jié)果自動(dòng)構(gòu)建成影響樹(shù),所述分析服務(wù)器中還具有一個(gè)可靠影響樹(shù)數(shù)據(jù)庫(kù),對(duì)于每一個(gè)可靠性級(jí)別,該數(shù)據(jù)庫(kù)中保存了多個(gè)已知的滿(mǎn)足該可靠性級(jí)別的可靠影響樹(shù),當(dāng)所述分析服務(wù)器構(gòu)造出所述影響樹(shù)后,根據(jù)從接口服務(wù)器獲取的軟件可靠性級(jí)別查詢(xún)?cè)摂?shù)據(jù)庫(kù),獲取該數(shù)據(jù)庫(kù)中滿(mǎn)足該可靠性級(jí)別的所有可靠影響樹(shù),檢測(cè)獲取的每一個(gè)可靠影響樹(shù)是否構(gòu)成從模型構(gòu)造出的影響樹(shù)的子樹(shù),如果構(gòu)成子樹(shù),則將影響樹(shù)中的該子樹(shù)簡(jiǎn)化成一個(gè)葉節(jié)點(diǎn),然后再使用FTA方法根據(jù)簡(jiǎn)化后的影響樹(shù)自動(dòng)構(gòu)建故障樹(shù),將故障模式作為故障樹(shù)的頂事件;
所述改進(jìn)服務(wù)器從接口服務(wù)器接收軟件可靠性級(jí)別N,并從分析服務(wù)器接收構(gòu)建的故障樹(shù),所述改進(jìn)服務(wù)器從故障樹(shù)中找出所有元素?cái)?shù)目小于等于N的最小割集,對(duì)于每一個(gè)元素?cái)?shù)目小于等于N的最小割集,改進(jìn)服務(wù)器在其對(duì)應(yīng)的故障樹(shù)中加入一個(gè)或多個(gè)可靠性步驟。
[0007]在本發(fā)明中:所述的分析服務(wù)器通過(guò)構(gòu)建影響樹(shù)和故障樹(shù)來(lái)對(duì)可靠性進(jìn)行分析,分析如下:
(1)、影響樹(shù)的第一層結(jié)點(diǎn)為模型的各個(gè)步驟,可以從模型中自動(dòng)獲得;
(2)、第二層結(jié)點(diǎn)對(duì)應(yīng)各個(gè)步驟中潛在的故障模式,為每個(gè)函數(shù)即相應(yīng)Little-JIL步驟定義與工件錯(cuò)誤相關(guān)的故障模式,分為以下兩種類(lèi)型:
故障模式類(lèi)型1: Artifact p to Step S is wrong, (p為步驟S的任一輸入?yún)?shù)); 故障模式類(lèi)型2: Artifact p from Step S is wrong,(p為步驟S的任一輸出參數(shù));
另外,步驟S接口中申明的輸入/輸出參數(shù),既被當(dāng)作輸入?yún)?shù),同時(shí)也被當(dāng)作輸出參數(shù),亦即每個(gè)輸入/輸出參數(shù)分別對(duì)應(yīng)兩個(gè)故障模式,通過(guò)遍歷模型中所有步驟對(duì)應(yīng)的接口可以得到所有的參數(shù),即可自動(dòng)生成模型各個(gè)步驟中潛在的故障模式;
(3)、第三層結(jié)點(diǎn)為各個(gè)故障模式對(duì)應(yīng)的直接影響;
(4)、第三層以下每層結(jié)點(diǎn)均為其上層結(jié)點(diǎn)的直接影響,需要構(gòu)建故障模式的影響。
[0008]在本發(fā)明中:所述改進(jìn)服務(wù)器中的可靠性步驟滿(mǎn)足下述兩個(gè)條件:
(I )、每個(gè)可靠性步驟的功能都是檢測(cè)相應(yīng)故障樹(shù)位置的參數(shù)是否正確;
(2)、所述可靠性步驟的加入使得相應(yīng)故障樹(shù)的最小割集的元素?cái)?shù)目大于N。
[0009]在本發(fā)明中:所述分析服務(wù)器使用FTA的推導(dǎo)算法通過(guò)追溯模型對(duì)應(yīng)的工件流圖和控制流圖為故障模式事件自動(dòng)構(gòu)建相應(yīng)故障樹(shù),并根據(jù)Little-JIL語(yǔ)義規(guī)則抽取所述模型對(duì)應(yīng)的數(shù)據(jù)依賴(lài)關(guān)系圖,對(duì)于任一故障模式,遍歷數(shù)據(jù)依賴(lài)關(guān)系圖得出該故障模式中的錯(cuò)誤參數(shù)可能傳播的所有路徑及所有可能到達(dá)的模型中其他步驟的參數(shù),并將其定義為該故障模式的影響。
[0010]采用上述方法后,本發(fā)明有益效果為:本發(fā)明通過(guò)可靠性分析系統(tǒng),可以對(duì)軟件進(jìn)行可靠性分析,從而提高軟件的安全性、魯棒性和可靠性。
[0011]【【附圖說(shuō)明】】
此處所說(shuō)明的附圖是用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,但并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定,在附圖中: 圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
[0012]【【具體實(shí)施方式】】
下面將結(jié)合附圖以及具體實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明,其中的示意性實(shí)施例以及說(shuō)明僅用來(lái)解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。
[0013]如圖1所示,一種可靠性分析系統(tǒng),包括外部客戶(hù)端、接口服務(wù)器、模型創(chuàng)建服務(wù)器、分析服務(wù)器和改進(jìn)服務(wù)器,外部客戶(hù)端和接口服務(wù)器通過(guò)網(wǎng)絡(luò)相連,接口服務(wù)器分別和其他三個(gè)服務(wù)器相連,模型創(chuàng)建服務(wù)器和分析服務(wù)器相連,分析服務(wù)器和改進(jìn)服務(wù)器相連,整個(gè)系統(tǒng)的運(yùn)作過(guò)程如下:
(1)接口服務(wù)器接收客戶(hù)端傳送的軟件代碼和可靠性級(jí)別N;
(2)接口服務(wù)器將軟件代碼發(fā)送給模型創(chuàng)建服務(wù)器,模型創(chuàng)建服務(wù)器為該軟件創(chuàng)建相應(yīng)的模型,并將模型發(fā)送給分析服務(wù)器;
(3)分析服務(wù)器為該模型創(chuàng)建影響樹(shù),再根據(jù)影響樹(shù)創(chuàng)建故障樹(shù),將故障樹(shù)發(fā)送給改進(jìn)服務(wù)器;
(4)改進(jìn)服務(wù)器從接口服務(wù)器接收可靠性級(jí)別N,根據(jù)故障樹(shù)和可靠性級(jí)別N,計(jì)算出需要加入的可靠性步驟,然后將所有需要加入的可靠性步驟發(fā)送給接口服務(wù)器,接口服務(wù)器再將所述可靠性步驟返回給客戶(hù)端。
[0014]在具體實(shí)施中,接口服務(wù)器是整個(gè)系統(tǒng)與外界的接口,其接收外部客戶(hù)端提交的軟件代碼以及可靠性要求,根據(jù)該軟件代碼和可靠性要求,接口服務(wù)器向后臺(tái)的其余3個(gè)服務(wù)器發(fā)出消息,指示其對(duì)軟件的運(yùn)行過(guò)程進(jìn)行可靠性分析,最后接口服務(wù)器將分析結(jié)果返回給客戶(hù)端,所述可靠性要求可以是用戶(hù)要求的可靠性級(jí)別,可靠性級(jí)別越高,則對(duì)軟件運(yùn)行過(guò)程要求的可靠性越高。
[0015]模型創(chuàng)建服務(wù)器,為了對(duì)軟件代碼的運(yùn)行過(guò)程進(jìn)行可靠性分析,第一步需要建立一個(gè)軟件代碼運(yùn)行過(guò)程的模型,本發(fā)明采用Little-JIL語(yǔ)言構(gòu)建過(guò)程模型,Little-JIL語(yǔ)言是一種主體協(xié)作、可執(zhí)行且具有正式且圖形化語(yǔ)法和嚴(yán)密語(yǔ)