• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于時間擴展Petri網(wǎng)的實時嵌入式軟件體系結(jié)構(gòu)建模及可靠性評估

      2015-11-11 07:17:37許玉堂殷永峰孫靜張弛劉斌
      兵工學(xué)報 2015年2期
      關(guān)鍵詞:體系結(jié)構(gòu)變遷組件

      許玉堂,殷永峰,孫靜,張弛,劉斌

      (1.北京理工大學(xué)機電學(xué)院,北京100081;2.北京航空航天大學(xué)可靠性與系統(tǒng)工程學(xué)院,北京100191;3.中國兵器科學(xué)研究院,北京100089)

      基于時間擴展Petri網(wǎng)的實時嵌入式軟件體系結(jié)構(gòu)建模及可靠性評估

      許玉堂1,殷永峰2,孫靜3,張弛2,劉斌2

      (1.北京理工大學(xué)機電學(xué)院,北京100081;2.北京航空航天大學(xué)可靠性與系統(tǒng)工程學(xué)院,北京100191;3.中國兵器科學(xué)研究院,北京100089)

      軟件可靠性是軟件質(zhì)量評估最重要的指標(biāo)之一,隨著軟件工程和組件重用技術(shù)的發(fā)展,近年來基于體系結(jié)構(gòu)的軟件可靠性評估已經(jīng)成為工程研究的熱點之一。為有效地提高軟件可靠性,調(diào)研現(xiàn)有體系結(jié)構(gòu)的可靠性評估模型,給出了現(xiàn)有體系結(jié)構(gòu)模型的分類和模型代表,并分析了現(xiàn)有模型的不足。由于Petri具有良好的擴展性并且對異步和并行軟件有良好的描述性,因此重點研究Petri網(wǎng)可靠性評估模型,通過劃分時間變遷和瞬時變遷,并引入時間相關(guān)的可靠度,包括延時可靠度與時序可靠度,對Petri網(wǎng)進行了擴展,給出了時間擴展的Petri網(wǎng)進行體系結(jié)構(gòu)建模方法。通過研究組件狀態(tài)和系統(tǒng)可達狀態(tài)的關(guān)系,創(chuàng)建可達狀態(tài)轉(zhuǎn)移矩陣,對系統(tǒng)進行可靠性評估。將所研究的方法應(yīng)用于某航電嵌入式系統(tǒng)軟件中,完成了體系結(jié)構(gòu)建模及可靠性評估,并通過誤差分析驗證了該方法的有效性及準(zhǔn)確性。

      計算機軟件;軟件體系結(jié)構(gòu);可靠性評估;時間擴展Petri網(wǎng)

      0 引言

      隨著社會的不斷進步和計算機科學(xué)技術(shù)的飛速發(fā)展,計算機目前已經(jīng)廣泛地應(yīng)用于航空、航天、工業(yè)控制、交通、金融等各項領(lǐng)域。這些領(lǐng)域的系統(tǒng)越來越多地受到計算機的控制,而其控制軟件的結(jié)構(gòu)也越來越復(fù)雜,軟件失效帶來的危害也日趨嚴(yán)重[1]。軟件可靠性是軟件質(zhì)量的一項重要指標(biāo),提高軟件的可靠性已成為軟件產(chǎn)業(yè)發(fā)展和應(yīng)用的迫切要求。

      傳統(tǒng)的軟件可靠性評估模型主要應(yīng)用于軟件測試、驗證或運行階段,它將軟件看作一個整體,僅僅考慮軟件的輸入和輸出,而不考慮軟件內(nèi)部的結(jié)構(gòu),即黑盒測試方法[2]。黑盒測試通過用戶的操作剖面隨機生成測試用例并執(zhí)行,獲得軟件的失效信息,并對其進行數(shù)學(xué)建模,在檢測出錯誤后立即修復(fù),從而得到用于評估的可靠性增長模型[3-4]。目前基于黑盒的軟件可靠性評估技術(shù)已經(jīng)比較成熟。但由于這些模型大都是基于失效數(shù)據(jù)的,需要在軟件測試階段進行,無法對軟件設(shè)計階段的錯誤進行預(yù)防;同時必須通過長時間基于運行剖面的測試才可以得到足夠多有意義的失效數(shù)據(jù),勢必會浪費大量的人力物力[5-6]。

      基于體系結(jié)構(gòu)的開發(fā)是現(xiàn)代軟件開發(fā)的重要途徑,也是軟件工程的要求。軟件的體系結(jié)構(gòu)與軟件本身的質(zhì)量和性能息息相關(guān)。并且實踐表明,越早發(fā)現(xiàn)軟件中存在的錯誤,所花費的開銷就會越小。軟件的可靠性與組成軟件的構(gòu)件可靠性和構(gòu)件結(jié)構(gòu)相關(guān),因此利用軟件體系結(jié)構(gòu)對軟件的可靠性進行分析和評估是一種很有價值的方法。

      本文首先介紹了基于體系結(jié)構(gòu)模型的可靠性評估的基本思路,并列舉了15種經(jīng)典模型。由于Petri網(wǎng)能夠良好地描述并發(fā)和異構(gòu)模式,而且具有良好的擴展能力,因此本文對Petri網(wǎng)進行可靠性評估的方法進行了深入研究。將Petri網(wǎng)中的變遷,劃分為瞬時變遷和時間變遷,并引入時間方面的可靠性,主要表現(xiàn)在延時可靠性和時序可靠性方面。隨后基于時間擴展的Petri網(wǎng)進行系統(tǒng)體系結(jié)構(gòu)建模,并采用可達狀態(tài)圖的方法解決了組件和狀態(tài)并非一一對應(yīng)的問題。由于時間Petri網(wǎng)可以同構(gòu)成一個離散時間馬爾可夫鏈,采用狀態(tài)概率轉(zhuǎn)移矩陣計算整個系統(tǒng)的可靠性。最后將本文提出的方法運用到一個工程實例中,驗證模型的有效性及準(zhǔn)確性。

      1 基于體系結(jié)構(gòu)的可靠性評估

      1.1組件的概念及其可靠性

      現(xiàn)有的基于體系結(jié)構(gòu)的可靠性評估大都以組件為軟件的基本單元。一般認(rèn)為組件是指具有一定功能,可明確辨識的軟件單位,是軟件系統(tǒng)計算或者存儲的對象,并且語法完整、語義正確,有重用的價值,一個組件可以包含多個接口,這些接口說明了組件怎樣通過提供或者請求操作與環(huán)境交互。組件一般具有獨立性、可替換、低耦合、高內(nèi)聚等特點。對于基于體系結(jié)構(gòu)的可靠性評估,還假設(shè)組件具有如下約束:

      1)組件接口分為輸入接口和輸出接口;

      2)組件所有的輸入和輸出域都映射到接口。也就是說組件所有的輸入和輸出都由接口來完成,沒有其他方式的信息傳遞通道;

      3)除了常見的功能接口描述以外,組件還應(yīng)有可靠性度量指標(biāo);

      4)組件可靠性與軟件運行的路徑無關(guān)。

      對于組件的可靠性,部分模型假設(shè)單個組件可靠度為已知,文獻[7]使用傳統(tǒng)的可靠性增長模型來計算可靠度,但是耗時較長,還有文獻[8]指出使用故障注入等方式還進行計算,但到目前為止還沒有一個公認(rèn)的方法能夠在體系結(jié)構(gòu)評估過程中精確計算每個組件的可靠度。在此重點是對體系結(jié)構(gòu)建立符合其運行特征的模型,并看單個組件可靠度的變化對整體可靠度的影響,因此對組件可靠度的計算不做深入討論,假設(shè)組件可靠度為已知。

      1.2體系結(jié)構(gòu)模型的類別和典型模型介紹

      1.2.1體系結(jié)構(gòu)評估模型分類

      自1975年起,Parnas和Shooman開始提出了軟件結(jié)構(gòu)對軟件可靠性影響的重要性,率先突破了軟件可靠性只考慮整體與外部交互的局面,第一次將軟件內(nèi)部結(jié)構(gòu)應(yīng)用到可靠性評估當(dāng)中。文獻[9-10]中將三十幾年間出現(xiàn)了基于體系結(jié)構(gòu)的可靠性評估模型歸納為3類:狀態(tài)模型、路徑模型和其他模型,具體模型分類和各個模型基本情況見表1所示。

      表1 體系結(jié)構(gòu)評估模型分類Tab.1 Classification of architecture evaluation models

      1.2.2典型模型介紹

      1.2.2.1基于狀態(tài)的評估模型

      基于軟件狀態(tài)的可靠性模型采用狀態(tài)控制流程圖來描述軟件的體系結(jié)構(gòu)。由于構(gòu)件被定義為邏輯上獨立的功能集合,可將一個構(gòu)件的執(zhí)行看成一個狀態(tài)。假設(shè)軟件系統(tǒng)處于某一個狀態(tài)時,那么它的下一時刻的狀態(tài)只與當(dāng)前狀態(tài)有關(guān),而與在此之前的狀態(tài)無關(guān),那么各個狀態(tài)的轉(zhuǎn)移就符合馬爾可夫過程。狀態(tài)模型采用馬爾可夫鏈對軟件體系結(jié)構(gòu)進行建模。而根據(jù)軟件體系結(jié)構(gòu)和體系結(jié)構(gòu)元素失效方式的建模方式不同,狀態(tài)模型又可分為組合模型和分層模型兩種。Cheung模型是最早考慮到模塊可靠度應(yīng)用到軟件可靠性預(yù)測的模型之一[11]。該模型假設(shè)一個軟件系統(tǒng)中具有n個構(gòu)件,各構(gòu)件的可靠性和構(gòu)件之間的轉(zhuǎn)移概率已知,并假設(shè)狀態(tài)圖中有唯一的開始節(jié)點和結(jié)束節(jié)點。將軟件體系結(jié)構(gòu)用離散時間馬爾可夫過程(DTMC)進行建模,創(chuàng)建狀態(tài)轉(zhuǎn)移矩陣P=[pij],通過n次計算得到系統(tǒng)可靠性。Wang W.在Cheung的研究基礎(chǔ)上做出了關(guān)系軟件體系結(jié)構(gòu)風(fēng)格評估的擴展工作[12]。利用Cheung氏馬爾可夫模型來評估不同體系結(jié)構(gòu)風(fēng)格下的可靠性。文獻[11]使用到的體系結(jié)構(gòu)風(fēng)格有:批處理;管道—過濾器;調(diào)用—返回和備份容錯。對于分層模型,最早的分層模型是Littlewood模型[13],將軟件體系結(jié)構(gòu)采用連續(xù)時間的馬爾可夫鏈過程(CTMC)進行建模,假設(shè)構(gòu)件i轉(zhuǎn)移到構(gòu)件j的平均執(zhí)行時間是mij;構(gòu)件i的失效符合參數(shù)為λi的泊松過程;構(gòu)件i轉(zhuǎn)移到構(gòu)件j時接口發(fā)生失效的概率是vij,并做出假設(shè):

      失效發(fā)生的次數(shù)要遠(yuǎn)少于軟件控制權(quán)轉(zhuǎn)移的次數(shù),則軟件系統(tǒng)的失效也符合泊松過程,軟件失效率為

      1.2.2.2基于路徑的評估模型

      基于路徑的可靠性模型與基于狀態(tài)的可靠性模型具有相似的分析方法,最主要的區(qū)別在于計算軟件系統(tǒng)可靠性時考慮了系統(tǒng)的執(zhí)行路徑。最早的基于體系結(jié)構(gòu)的路徑模型由Shooman等提出[14]。他從軟件的執(zhí)行路徑角度對軟件體系結(jié)構(gòu)進行了建模,每個軟件具有m個執(zhí)行路徑,每條路徑i具有執(zhí)行頻率fi,每條路徑還具有相應(yīng)的失效概率qi.在軟件系統(tǒng)的N次運行中,失效總數(shù)為式中:Nfi代表路徑i執(zhí)行總次數(shù)。則整個軟件系統(tǒng)的失效概率可以寫作Yacoub,Cukic和Ammar[2]結(jié)合了場景技術(shù)來計算軟件的可靠性,一個場景可以定義為一系列構(gòu)件的相互作用,具有特定的外部激勵。運用場景技術(shù),可以建立一個隨機概率模型:組件關(guān)系依賴圖(CDG).CDG可以描述一個場景,其中包括執(zhí)行過程的時間信息、系統(tǒng)組件間的交互以及可靠性信息等。CDG的特別之處在于運用統(tǒng)一建模語言UML建立了描述軟件系統(tǒng)運行的執(zhí)行模型,并結(jié)合不同場景,遍歷模型,計算出不同場景下不同構(gòu)件對軟件系統(tǒng)可靠性影響的大小。

      1.2.2.3其他模型

      其他模型包括仿真模型和增量模型。仿真模型[15]對軟件系統(tǒng)在時間域內(nèi)的失效行為進行仿真,假設(shè)軟件構(gòu)件的失效強度函數(shù)服從G-O模型λ(t)=αe-bτ,構(gòu)件平均執(zhí)行時間Φ和構(gòu)件i、j之間轉(zhuǎn)移概率wij作為仿真需要的參數(shù)。通過一個離散時間仿真模型算法來驅(qū)動軟件系統(tǒng)運行,其中輸入為軟件系統(tǒng)運行一次時的可靠性和執(zhí)行時間,通過設(shè)定相應(yīng)的仿真算法,計算出軟件系統(tǒng)的可靠性。增量模型[16]沒有明顯的軟件體系結(jié)構(gòu)特征,而主要是利用組件的失效數(shù)據(jù)來估計系統(tǒng)的可靠性。這些模型假設(shè)構(gòu)件的可靠性可以用非齊次泊松過程(NHPP)建模,系統(tǒng)的失效強度可以用構(gòu)件的失效強度和來表示。

      現(xiàn)有的體系結(jié)構(gòu)模型普遍存在參數(shù)準(zhǔn)確性不足,假設(shè)條件過多,且部分假設(shè)與實際情況不符等缺點。并且在大部分模型中,將每個組件的運行看作一個狀態(tài),但軟件在實際運行中,狀態(tài)可能需要不止一個組件來支持其實現(xiàn),因此需要研究組件與系統(tǒng)運行狀態(tài)的關(guān)系。同時,對于航電嵌入式軟件,時間方面的可靠性也是需要重點考慮的因素,而這些情況現(xiàn)有的模型無法良好地描述[17]。

      2 基于時間擴展Petri網(wǎng)的軟件體系結(jié)構(gòu)建模及可靠性評估

      2.1Petri網(wǎng)的體系結(jié)構(gòu)建模及時間擴展研究

      2.1.1Petri網(wǎng)簡介

      Petri網(wǎng)是20世紀(jì)60年代由卡爾·A·佩里發(fā)明的,適合于描述異步、并發(fā)的計算機系統(tǒng)的模型。首先給出經(jīng)典Petri網(wǎng)的定義:Petri網(wǎng)是一個四元組的集合Σ=(P,T,F(xiàn),M0),其中:

      1)P={p1,p2,…,pn}是有限位置集合;

      2)T={t1,t2,…,tm}是有限變遷集合(P∪T≠?,P∩T=?);

      3)F∈(P×T)∪(T×P)為流關(guān)系;

      4)M0是網(wǎng)的初始標(biāo)識,Petri網(wǎng)的標(biāo)識是位置集上的多重集,M0代表系統(tǒng)在最開始狀態(tài)時令牌在各個位置中的分布情況。

      Petri網(wǎng)可用一個有向二部圖表示,其中包含兩類節(jié)點,并且用有向弧連接起來。兩類節(jié)點分別為位置和變遷,其中位置一般用圓圈表示,變遷一般采用矩形表示。Petri網(wǎng)除了具有以上靜態(tài)結(jié)構(gòu)外,還包括了描述動態(tài)機制的行為。這一特征是通過允許位置中包含令牌,其中令牌用黑點表示。在含有令牌的Petri網(wǎng)中,依據(jù)遷移的使能條件,可以使得使能的遷移點火,遷移的點火會依據(jù)點火規(guī)則實現(xiàn)令牌的移動。不斷變化著的令牌重新分布就描述了系統(tǒng)的動態(tài)變化,一個典型的Petri網(wǎng)圖如圖1所示。

      圖1 典型Petri網(wǎng)圖Fig.1 Typical Petri net

      Petri網(wǎng)具有良好的擴展性,可實現(xiàn)針對實時嵌入式軟件的建模及驗證,特別是在安全關(guān)鍵軟件驗證領(lǐng)域已得到成功應(yīng)用[18],本文對Petri網(wǎng)的時間方面的擴展進行了研究,提出了一種基于時間擴展Petri網(wǎng)的體系結(jié)構(gòu)建模方法,并在此基礎(chǔ)上為后續(xù)基于體系結(jié)構(gòu)的可靠性評估奠定基礎(chǔ)。

      2.1.2軟件體系結(jié)構(gòu)的Petri網(wǎng)描述

      在之前的研究中,通過引入時間要素已經(jīng)出現(xiàn)了隨機Petri網(wǎng)(SPN)和時間Petri網(wǎng)(TPN)。SPN是一種引入時間因素的Petri網(wǎng),引入的方法是:在每個變遷的可實施和實施之間聯(lián)系一個隨機的延遲時間,變遷在獲得系統(tǒng)資源后不會立即點火,而是設(shè)置一個定時器,當(dāng)定時器時間變?yōu)?時變遷才會點火。時間Petri網(wǎng)也是將時間因素加入到變遷當(dāng)中,與SPN不同的是,引入的時間延時不是一個隨機時間,而是一個時間區(qū)間,變遷在該區(qū)間內(nèi)等可能引發(fā)。Petri網(wǎng)是一個描述系統(tǒng)動態(tài)運行的模型,系統(tǒng)中某個事件的發(fā)生通常用一個變遷來表示,軟件的運行需要一定的運行時間,因此將時間與變遷聯(lián)系起來也是合情合理的。

      軟件體結(jié)構(gòu)都是以組件為基礎(chǔ),因此在進行Petri網(wǎng)建模時,將庫所看作組件的集合,庫所之間的轉(zhuǎn)移看作每個組件運行狀態(tài)的轉(zhuǎn)移,當(dāng)組件獲得CPU和內(nèi)存等系統(tǒng)資源時,即視為獲得令牌。對于變遷,可以按照廣義SPN的定義,將變遷分為瞬時變遷和時間變遷,可以將一些選擇狀態(tài)看作是瞬時變遷,其所花費的系統(tǒng)時間可以忽略不計。而對于時間變遷,一般為需要獲得系統(tǒng)資源(如CPU,內(nèi)存等),進行一定時間運行的變遷,可將其看作是上一組件的運行時間。瞬時變遷用一個黑線表示,時間變遷用一個矩形框表示,如圖2所示。

      圖2 兩類變遷的圖形表示Fig.2 Graphical representation of two types of changes

      使用引入瞬時變遷和時間變遷的Petri網(wǎng)可以很好的描述并發(fā),選擇等結(jié)構(gòu)。對于選擇結(jié)構(gòu),組件可以分成兩個瞬時變遷,因為組件的選擇不需要占用太多的系統(tǒng)資源,可以看作是瞬時變遷,對于選擇結(jié)構(gòu)中瞬時變遷,為變遷賦值該組件運行的概率,選擇結(jié)構(gòu)后只有一個組件可以獲得令牌,選擇結(jié)構(gòu)可以用圖3表示。

      對于并行結(jié)構(gòu),可以使用兩個時間變遷進行描述,兩個組件都可以獲得令牌執(zhí)行,并行結(jié)構(gòu)的Petri網(wǎng)圖可用圖4表示。

      圖3 選擇結(jié)構(gòu)的Petri網(wǎng)表示Fig.3 Petri net represetation of selected structure

      圖4 并行結(jié)構(gòu)的Petri網(wǎng)表示Fig.4 Petri nets representation of parallel structure

      2.1.3Petri網(wǎng)時間因素的引入

      對于Petri網(wǎng)引入的時間要素,如何與可靠性評估結(jié)合起來,是本文研究的一個重點。在傳統(tǒng)的可靠性評估模型中,大都假設(shè)只有組件才具有小于等于1的可靠度。本文在此基礎(chǔ)上進行了擴展,除了組件具有單獨可靠度以外,部分變遷也具有可靠度,并不是所有的變遷可靠度都為1.對于瞬時變遷,引入執(zhí)行該變遷的概率作為參數(shù),不用考慮可靠性。而對于時間變遷引入可靠度參數(shù),其值與時間因素相關(guān),變遷失效的類型主要有以下方面:

      1)變遷的發(fā)生超過其規(guī)定的時間;

      2)兩個互斥事件的發(fā)生;

      3)事件按照錯誤的順序發(fā)生。

      2.1.3.1延時可靠性的引入

      在擴展時間Petri網(wǎng)中,對于時間變遷,引入一個不確定時段,代表變遷可以在這一時間段實施,該時間段可以表示為X(t)=[tl,tu][19-20],其中0≤tl≤tu,tl和tu是相對時間,相對于系統(tǒng)初始運行的時刻,由系統(tǒng)決定。假設(shè)變遷在時刻s使能,實際觸發(fā)的時刻記為t*,則s+tl≤t*≤s+tu.對于瞬時變遷,可表示為X(t)=[0,0],代表其實施不需要時間延遲。將時間因素引入到變遷當(dāng)中主要應(yīng)用于并發(fā)的發(fā)生,當(dāng)兩個組件并發(fā)執(zhí)行時,各個變遷的執(zhí)行有各自的使能時間,而最后并發(fā)的變遷完成后需要合并,進入下一組件運行,此時兩個并發(fā)的變遷合并轉(zhuǎn)入下一組件時能否滿足系統(tǒng)內(nèi)變遷的延遲,當(dāng)變遷的發(fā)生大于該變遷規(guī)定的延遲時,則該變遷會發(fā)生失效,失效的可能性與變遷發(fā)生的時間段和系統(tǒng)定義的變遷時延有關(guān)。

      圖5為典型的并行結(jié)構(gòu)的Petri網(wǎng),變遷T1和T2之間沒有直接的時間約束關(guān)系,圖5中表示到達S后經(jīng)過瞬時變遷,使得T1,T2同時出發(fā),這兩個變遷在相同標(biāo)識中可獨立實施,一個變遷的運行不影響另一個變遷的運行,當(dāng)兩個變遷都執(zhí)行完畢后,經(jīng)過同步,標(biāo)識到達結(jié)束狀態(tài)E.用s1、s2、s分別表示變遷T1、T2、T的觸發(fā)使能時刻,分別表示變遷T1、T2和T的實際觸發(fā)時間。由于從S經(jīng)過瞬時變遷使得T1和T2同時使能,因此s1=s2=s,由于Petri網(wǎng)的性質(zhì),可得因此T1、T2結(jié)束時間段為[s+t1l,s+ t1u]、[s+t2l,s+t2u],最晚結(jié)束時間則為max(s+t1u,s+t2u),即T的等效觸發(fā)最早結(jié)束時間為max(s+t1l,s+t2l),最晚結(jié)束時間為max(s+t1u,s+t2u),因此可以得到s+max(t1l,t2l)≤t*≤s+max(t1u,t2u),通過Petri網(wǎng)的性質(zhì)可以獲得變遷T發(fā)生的時間段為[max(t1l,t2l),max(t1u,t2u)].

      圖5 并行結(jié)構(gòu)的Petri網(wǎng)視圖Fig.5 Petri nets of parallel structure

      在軟件實際運行時,變遷T的發(fā)生也是有延時方面的限制,假設(shè)系統(tǒng)運行定義的變遷T發(fā)生的延時限制為t′,如果max(t1u,t2u)-max(t1l,t2l)≤t′,則代表兩個變遷合并之后其發(fā)生的時間段仍然小于系統(tǒng)規(guī)定時延,因此其可靠度為1,不會發(fā)生延時方面的失效。如果max(t1u,t2u)-max(t1l,t2l)>t′,則根據(jù)Petri網(wǎng)運行推算出的時延大于系統(tǒng)規(guī)定時延,有可能發(fā)生延時方面失效,其可靠度

      通過對變遷加入使能時間段,使得Petri網(wǎng)不僅能夠?qū)ο到y(tǒng)運行狀態(tài)進行描述,還能夠分析系統(tǒng)每個時段各個組件的運行情況,滿足了嵌入式系統(tǒng)對于時間因素的敏感性,并且通過引入時間變遷的延時可靠度,對于并發(fā)結(jié)構(gòu)變遷的延時情況進行了研究,使得評估更加符合實際情況。

      2.1.3.2時序可靠性的引入

      時間相關(guān)的后兩種情況,主要是系統(tǒng)資源互斥以及時序問題。軟件需要運行,必須要獲得一定的系統(tǒng)資源,而在不同的時間段各個模塊所獲得的系統(tǒng)資源也各不相同。在某些系統(tǒng)中,有些事件不能同時占用系統(tǒng)資源運行,這些事件就稱為互斥事件,當(dāng)互斥事件發(fā)生時,也屬于一種失效。另一方面,在嵌入式系統(tǒng)中,某些變遷的發(fā)生需要之前變遷遵循一定的順序發(fā)生,只有滿足條件變遷才能正常使能,對于這種變遷,因此引入與時序相關(guān)的可靠性,增加可靠性評估的準(zhǔn)確性。

      對于如何描述系統(tǒng)時序方面的信息,引入時序Petri網(wǎng)中相關(guān)概念[21]。時序Petri網(wǎng)是在基本Petri網(wǎng)上引入時序邏輯公式,而這些邏輯公式對Petri網(wǎng)中的變遷引發(fā)順序加以限制。當(dāng)且僅當(dāng)變遷T滿足Petri網(wǎng)中的引發(fā)條件和邏輯公式時,T才能引發(fā),其他描述與基本Petri網(wǎng)相同。時序公式是一組公式的集合并且具有如下性質(zhì):

      1)命題p,↑t和t是原子命題,其中p∈P,t∈T;

      2)如果f和g是公式,則┑f,f∧g,f∨g,f?g,○f,◇f,□f,f∪g也是公式。

      上述性質(zhì)中,p表示庫所獲得令牌,↑t表示變遷t在當(dāng)前標(biāo)識下使能,t表示變遷t在當(dāng)前標(biāo)識下引發(fā)。其中┑,∧,∨,?是布爾運算符。公式○f,◇f,□f和f∪g是時序邏輯符號。○f表示下一狀態(tài)f為真;◇f表示從當(dāng)前狀態(tài)(包括當(dāng)前狀態(tài))開始以后的所有狀態(tài)至少有一個狀態(tài)使得f為真;□f表示從當(dāng)前狀態(tài)(包括當(dāng)前狀態(tài))開始以后的所有狀態(tài)都為真;f∪g表示f為真,直到g為真。

      在Petri網(wǎng)中引入時序邏輯公式后,需要將其運用到可靠性評估中。首先分析系統(tǒng)中的時序邏輯公式,確定系統(tǒng)運行需要遵循的規(guī)則,對于一個規(guī)則,例如時序約束公式(Fe1)□(t1?◇t2),表示t1不能一直使能,以后需要有一個狀態(tài)讓t2使能,否則t2就會一直無法獲得系統(tǒng)資源而處于饑餓狀態(tài)。對變遷t2加入一個時序可靠性,該變遷時序失效率λ為系統(tǒng)一直執(zhí)行t1而不執(zhí)行t2的概率,該變遷的時序可靠性即為1-λ.并非所有的變遷都具有時序相關(guān)可靠性,在進行可靠性評估時,首先需要了解系統(tǒng)運行的一些特定規(guī)則,定義系統(tǒng)運行的時序邏輯公式,根據(jù)公式確定哪些變遷的使能具有時序相關(guān)特性,并計算時序相關(guān)的可靠性。通過引入時序邏輯公式和變遷時序可靠性,可以描述嵌入式系統(tǒng)中的互斥事件和特定事件序列,進一步提高了Petri網(wǎng)可靠性評估模型的準(zhǔn)確性。

      在進行體系結(jié)構(gòu)的可靠性評估時,很多時候是因為軟件不適合進行系統(tǒng)地測試,無法使用黑盒的測試方法通過可靠性增長模型獲得整個系統(tǒng)可靠度。只能通過對軟件分開測試,獲得各個組件的基本信息,如運行時間、單獨可靠度等。然后依據(jù)系統(tǒng)的架構(gòu)建立相應(yīng)的評估模型。因此如何描述系統(tǒng)的實際運行情況是可靠性評估的一個重點。對于嵌入式軟件,時間因素的描述是一個重要環(huán)節(jié),本文通過引入TPN和時序Petri網(wǎng)中的相關(guān)概念,將其與可靠性評估結(jié)合起來,增強了Petri網(wǎng)描述嵌入式軟件的能力。而由于Petri網(wǎng)具有良好的擴展性,因此這些概念的引入不會影響其本身的描述能力。

      2.2基于TPN的可靠性評估

      在完成了對Petri網(wǎng)的擴展后,需要通過該網(wǎng)絡(luò)進行可靠性評估。首先需要繪制體系結(jié)構(gòu)的Petri網(wǎng)模型。對于系統(tǒng)中的組件,定義其為Petri網(wǎng)中的庫所,通過令牌在庫所中的轉(zhuǎn)移來描述系統(tǒng)的運行。然后通過分析系統(tǒng)的運行時間和時序關(guān)系等特征,計算出某些變遷的時間相關(guān)可靠度。

      在獲得了單獨組建可靠度和變遷可靠度時,需要建立計算系統(tǒng)可靠性的模型。首先需要獲得系統(tǒng)運行狀態(tài)的可靠度與運行組件可靠度之間的關(guān)系。在系統(tǒng)實際運行時,一個系統(tǒng)狀態(tài)的運行可能需要不止一個組件來支持。因此對于系統(tǒng)的運行狀態(tài),如果系統(tǒng)中有n個組件,可定義一個n維向量Mi=(s1,s2,…,sn)來描述該狀態(tài),如果在此狀態(tài)下第i個組件處于運行狀態(tài),則s1置為1,否則置0.對于狀態(tài)可靠度與運行組件可靠度之間的計算關(guān)系,擬采用如下方式進行計算:

      1)如果當(dāng)且僅當(dāng)所有的組件都正常運行時該狀態(tài)才能正常運行,則為串聯(lián)狀態(tài),該狀態(tài)的可靠度為所有組件可靠度的乘積;

      2)如果只要某一個組件能夠正常運行該狀態(tài)便可以正常運行下去,則為并聯(lián)狀態(tài),該狀態(tài)的失效率為所有組件失效率的乘積,可靠度則為一減去失效率;

      3)如果系統(tǒng)既有串聯(lián)運行狀態(tài)也有并聯(lián)運行狀態(tài),則為混聯(lián)運行狀態(tài)。此時的可靠性計算可以采用遞歸的方法:每次依據(jù)串聯(lián)或者并聯(lián)的形式,進行逐層分解,直到分解所得的每一部分均含有單純串聯(lián)或者并聯(lián)狀態(tài)為止,再利用上述串/并聯(lián)狀態(tài)可靠性計算方法逐層回溯,最終得到該狀態(tài)的可靠度。

      獲得了系統(tǒng)各個狀態(tài)可靠度和變遷的可靠度后,可以通過狀態(tài)模型來計算系統(tǒng)的可靠度,對于可靠性計算方法進行如下假設(shè):

      假設(shè)1 軟件任意可達狀態(tài)發(fā)生失效,都視為軟件系統(tǒng)的失效;

      假設(shè)2 軟件各個狀態(tài)發(fā)生的失效相互獨立,軟件某個狀態(tài)發(fā)生的失效不會受到其他狀態(tài)的影響;

      假設(shè)3 假設(shè)軟件各個狀態(tài)之間的轉(zhuǎn)移服從DTMC.軟件狀態(tài)之間的轉(zhuǎn)移概率由軟件系統(tǒng)的剖面決定,狀態(tài)間的控制轉(zhuǎn)移只與當(dāng)前狀態(tài)有關(guān),而與此狀態(tài)之前的狀態(tài)無關(guān)。

      基于如上假設(shè),構(gòu)建系統(tǒng)的狀態(tài)轉(zhuǎn)移矩陣,假設(shè)系統(tǒng)由n個可達狀態(tài)構(gòu)成{M1,M2,…,Mn},其中M1為初始狀態(tài),Mn為終止?fàn)顟B(tài),每個狀態(tài)的可靠度用Ri表示,用pij表示系統(tǒng)正常從狀態(tài)i運行到狀態(tài)j的概率,如果狀態(tài)轉(zhuǎn)移的變遷存在可靠度,則其值為轉(zhuǎn)移的概率與變遷可靠度的乘積。矩陣第i行、j列代表狀態(tài)i不發(fā)生失效并正確轉(zhuǎn)移到狀態(tài)j的概率,即Ripij,因此可得到如下矩陣:

      對現(xiàn)有狀態(tài)空間進行擴充,加入兩個吸收狀態(tài)S和F,其中:S代表軟件正確完成并結(jié)束的概率,該狀態(tài)只能由最終狀態(tài)Mn轉(zhuǎn)移得到;F為軟件某一個狀態(tài)發(fā)生失效,可以由任意狀態(tài)獲得。這樣狀態(tài)空間擴充為{S,F(xiàn),M1,M2,…,Mn},擴展的狀態(tài)轉(zhuǎn)移矩陣如下所示:

      由(4)式可以看出,矩陣M′為M增加了前兩列,其中:第1列為各狀態(tài)轉(zhuǎn)移到狀態(tài)S的概率,即軟件正常執(zhí)行的概率;第2列為各構(gòu)件狀態(tài)轉(zhuǎn)移到狀態(tài)F的轉(zhuǎn)移概率,即發(fā)生失效的概率。在矩陣M中,最后一行元素為0,而在矩陣M′中,最后一行元素和仍為0,這意味著終止?fàn)顟B(tài)Mn只能轉(zhuǎn)移到S或F狀態(tài)。

      Mk(i,j)代表狀態(tài)i經(jīng)過k步轉(zhuǎn)移,到達狀態(tài)j的概率,因此Mk(1,n)為軟件初始狀態(tài),經(jīng)過k步轉(zhuǎn)移,到達終止?fàn)顟B(tài)n的概率。這樣可以得出:

      式中:I為單位矩陣;E為(I-M)矩陣中刪除第n行和第1列后的矩陣。

      則軟件的系統(tǒng)可靠度:

      利用狀態(tài)之間轉(zhuǎn)移的馬爾可夫模型進行可靠性評估具有良好的效果,特別是當(dāng)系統(tǒng)中存在循環(huán)路徑時。如果采用路徑的模型,可能需要對循環(huán)路徑進行處理,需要對路徑循環(huán)執(zhí)行的次數(shù)進行研究,計算方法較為復(fù)雜并且可能不太準(zhǔn)確。但是基于狀態(tài)轉(zhuǎn)移的馬爾可夫過程可以依據(jù)自身數(shù)學(xué)計算的特征順利地解決循環(huán)路徑的問題。

      3 實例研究

      3.1被測軟件介紹

      本節(jié)將之前的可靠性評估方法帶入到一個具體實例中,下面以某飛控系統(tǒng)中的縱向控制軟件為例,首先對其體系結(jié)構(gòu)進行Petri網(wǎng)建模,然后進行可靠性評估,并將計算結(jié)果的誤差與傳統(tǒng)模型進行比較。飛控系統(tǒng)是飛機上的核心系統(tǒng)之一,包含了復(fù)雜的并發(fā)、異步等活動,系統(tǒng)共包含4個軟件模塊,包括系統(tǒng)自檢(BIT),縱向操控軟件,橫航向操控軟件以及操作系統(tǒng)軟件。

      為了驗證上述可靠性評估方法的有效性和準(zhǔn)確性,本文選取縱向操控軟件進行實例研究,縱向系統(tǒng)主要包含兩個子系統(tǒng),分別為縱向控制增穩(wěn)軟件和縱向自動駕駛軟件,工作流程如下:

      1)當(dāng)縱向控制增穩(wěn)按鈕按下時,駕駛員的操作處于主導(dǎo),通過操縱桿控制飛機的高度,系統(tǒng)軟件處于縱向控制增穩(wěn)功能,主要進行控制增穩(wěn)控制律的計算,以及控制律的調(diào)參,并控制俯仰角以避免出現(xiàn)危險情況,進而輔助飛行員進行駕駛;

      2)當(dāng)縱向自動駕駛按鈕按下時,系統(tǒng)進入縱向自動駕駛狀態(tài),此時飛行狀態(tài)主要由軟件進行控制,系統(tǒng)除了進行各種調(diào)參之外,還需要對飛機俯仰姿態(tài)進行跟蹤控制,并且當(dāng)駕駛員對駕駛儀進行拉高或者俯沖操作時進行控制律的計算,當(dāng)?shù)竭_指定高度后改平俯仰狀態(tài)使飛機進入一個穩(wěn)定狀態(tài)。

      3.2飛控系統(tǒng)建模

      通過查閱文檔和代碼,根據(jù)3.1.1節(jié)中的建模方法,可以繪制該飛控縱向控制軟件體系結(jié)構(gòu)的Petri網(wǎng)圖,如圖6所示。

      圖6 某飛控縱向控制軟件的Petri網(wǎng)結(jié)構(gòu)圖Fig.6 Longitudinal control of a flight control software structure of Petri nets

      開始狀態(tài)為縱向飛行的穩(wěn)定狀態(tài),飛行員通過操縱界面對飛機縱向飛行狀態(tài)進行控制,分別進入縱向控制增穩(wěn)狀態(tài)和縱向自動駕駛狀態(tài),在完成了對飛行姿態(tài)的控制以后,最后飛機再次進入一個縱航向上的穩(wěn)定飛行狀態(tài),圖中各個組件和變遷和含義見表2.

      3.3基于體系結(jié)構(gòu)的可靠性評估

      通過構(gòu)建Petri網(wǎng)模型,對系統(tǒng)組件的信息以及組件之間的轉(zhuǎn)移進行了描述。Petri網(wǎng)通過令牌的運行來模擬整個軟件系統(tǒng)的運行,在某一時刻如果組件獲得令牌則處于運行狀態(tài),通過令牌的轉(zhuǎn)移可以獲得整個系統(tǒng)的可達狀態(tài)標(biāo)識,進而得到Petri網(wǎng)的可達狀態(tài)標(biāo)識轉(zhuǎn)移圖,如圖7所示。

      系統(tǒng)有12個組件,因此對于每一個可達狀態(tài)標(biāo)識,定義一個12個元素的向量表示,當(dāng)組件在該狀態(tài)運行時則其值為1,否則為0,系統(tǒng)每個狀態(tài)的含義以及向量表示見表3.

      表2 飛控縱向控制軟件組件和變遷名稱Tab.2 Names of flight control longitudinal control software components and changes

      表3 可達狀態(tài)標(biāo)識含義及向量表示Tab.3 Identification meaning of reachable states and vector representation

      在使用Petri網(wǎng)建立其體系結(jié)構(gòu)模型之后,需要添加可靠性信息。根據(jù)軟件測試獲得失效數(shù)據(jù),運用可靠性增長模型,可以得到各個組件的單獨可靠度為Rs1=0.999 2,Rs2=0.995 1,Rs3=0.994 8,Rs4= 0.987 5,Rs5=0.984 7,Rs6=0.994 5,Rs7=0.993 2,Rs8=0.994 8,Rs9=0.982 4,Rs10=0.991 2,Rs11= 0.991 2,Rs12=0.9981.幾個選擇變遷執(zhí)行的概率分別為:t1=0.7,t2=0.3,t4=0.8,t5=0.2,t10=0.5,t11=0.5,t3=0.2,t′3=1-t3=0.8,t9=0.2,t′9=1-t9=0.8.

      在時間變遷中變遷t8具有延時方面的可靠性,t12具有時序方面的可靠性。由于變遷t8屬于兩個并行變遷t6、t7運行之后的合并變遷,因此具有合并后的延時的可靠性。由系統(tǒng)運行情況可知,變遷t7運行的時間段可以表示為[46 ms,98 ms],變遷t6運行的時間段為[47 ms,90 ms],因此可以獲得變遷t8期望的運行時間段為[47 ms,96 ms].而系統(tǒng)中對于延時的要求為50 ms,因此可得該變遷的延時可靠度Rt8=50/51=0.980 4.對于變遷t12,根據(jù)Petri網(wǎng)圖以及變遷可以獲得時序邏輯公式為t11?◇t9∧t12,根據(jù)系統(tǒng)實際運行情況,計算可得t12的時序可靠度為Rt12=0.992 0.

      在獲得了所有可靠性信息以后,根據(jù)上文描述的計算方法,可以獲得可達狀態(tài)的概率轉(zhuǎn)移矩陣:

      圖7 某飛控系統(tǒng)可達狀態(tài)轉(zhuǎn)移圖Fig.7 State transition of a flight control system

      根據(jù)(6)式,計算得到整個系統(tǒng)的可靠度R= 0.963 4.

      3.4誤差分析及與傳統(tǒng)模型的比對

      基于軟件體系結(jié)構(gòu)的可靠性評估結(jié)果是否可以準(zhǔn)確反應(yīng)軟件系統(tǒng)的真實可靠性水平,是多年來一直困擾研究者的問題,文獻[22]提出了將模型評估結(jié)果與來自軟件測試數(shù)據(jù)的可靠性評估結(jié)果作對比,定義軟件可靠性的相對誤差為

      式中:Ra是利用軟件系統(tǒng)測試的失效數(shù)據(jù)得到的系統(tǒng)“真實”可靠度;Rs是通過評估模型計算得出的可靠性。根據(jù)測試收集的失效數(shù)據(jù),得出該軟件的“真實”可靠度為0.955 1,因此有相對誤差

      本文選用傳統(tǒng)的狀態(tài)模型[11]對軟件進行可靠性評估,并與時間擴展Petri網(wǎng)的可靠性評估模型的結(jié)果進行對比。選用該狀態(tài)模型的原因是在現(xiàn)有的基于體系結(jié)構(gòu)的可靠性評估模型中,其評估結(jié)果的準(zhǔn)確度被認(rèn)為是最高的,同時也是應(yīng)用最為廣泛的模型。根據(jù)文獻[2]描述的方法,創(chuàng)建馬爾可夫狀態(tài)轉(zhuǎn)移矩陣,計算可靠度為0.974 4,因此有相對誤差

      通過相對誤差分析,可以證明本文提出的基于時間擴展Petri網(wǎng)的可靠性評估模型比傳統(tǒng)模型具有更高的準(zhǔn)確性。

      4 結(jié)論

      基于體系結(jié)構(gòu)的可靠性評估主要有兩個方面的意義:一方面有些軟件無法進行系統(tǒng)的黑盒測試,只能對各個組件單獨測試,然后建立體系結(jié)構(gòu)的可靠性評估模型來計算整個系統(tǒng)的可靠性;另一方面,可以在軟件開發(fā)的早期建立起軟件的體系結(jié)構(gòu)模型,因為經(jīng)過大量的工程實踐表明,軟件的很多缺陷都是在設(shè)計階段產(chǎn)生的,通過在開發(fā)時期建立體系結(jié)構(gòu)的可靠性模型,能夠?qū)﹂_發(fā)有一定的指導(dǎo)意義。通過對各個組件進行靈敏度分析,可以獲得對系統(tǒng)可靠性影響較大的關(guān)鍵組件,作為軟件開發(fā)階段的重點,避免不必要的錯誤,在開發(fā)階段可以有效提高系統(tǒng)的可靠性,從而節(jié)省在后期驗證階段耗費的人力物力。

      本文首先總結(jié)了現(xiàn)有的基于體系結(jié)構(gòu)的可靠性評估模型,介紹了組件和基本Petri網(wǎng)的概念。然后對于基于組件的軟件體系結(jié)構(gòu),提出了時間擴展的Petri網(wǎng)模型,通過引入時間變遷和瞬時變遷,并對時間變遷引入與時間關(guān)聯(lián)的可靠度,提高了模型對實時嵌入式軟件的描述能力。最后選用一個典型的嵌入式軟件——飛控系統(tǒng),對其中的縱向操控軟件,建立其Petri網(wǎng)圖,帶入相應(yīng)的可靠性信息,計算整個系統(tǒng)的可靠度,并進行相對誤差分析,驗證了模型的準(zhǔn)確性。

      TPN模型會隨著庫所和變遷等建模元素的增長呈指數(shù)級增長,會導(dǎo)致出現(xiàn)狀態(tài)空間的爆炸問題,如何緩解狀態(tài)空間,對模型進行精簡,又不降低其描述能力,現(xiàn)在正在成為一個研究方向。而進行體系結(jié)構(gòu)的可靠性評估時,對于單個組件可靠度和變遷可靠度,如何能夠進一步提高計算的準(zhǔn)確性,也是今后研究的一個重點。

      [1]YIN Y F,LIU B,NI H Y.Real-time embedded software testing method based on extend finite state machine[J].Journal of Systems Engineering and Electronics,2012,23(2):276-285.

      [2]Goseva-Popstojanova K,Trivedi K S.Architecture-based approach to reliability assessment of software systems[J].Performance Evaluation Journal,2001,45(2/3):179-204.

      [3]Ramamoorthy C V,Bastani F B.Software reliability-status and perspectives[J].IEEE Transactions on Software Engineering,1982,8(4):354-371.

      [4]Goel A L.Software reliability models:assumptions,limitations,and applicability[J].IEEE Transactions on Software Engineering,1985,11(12):1411-1423.

      [5]Horgan J R,Mathur A P.Perils of software reliability modeling[R].US:Software Engineering Research Center,Purdue University,1995.

      [6]Hsu C J,Huang C Y.An adaptive reliability analysis using path testing for complex component-based software systems.[J],Reliability,2011,60(1):158-170.

      [7]Fiondella L,Rajasekaran S,Gokhale S S,et al.Efficient software reliability analysis with correlated component failures[J].IEEE Transactions on Reliability,2013,(6)2:244-255.

      [8]Noh Y J,Choi K K,Du L.Reliability-based design optimization of problems with correlated input variables using a Gaussian Copula[J]. Structural and Multidisciplinary Optimization,2009,38(1):1-16.

      [9]Gokhale S S,Trivedi K S.Structure-based software reliability prediction[C]∥Proceedings of 5th International Conference on Advanced Computing.Chennai,India:IEEE,1997:447-452.

      [10]Gokhale S S,John R C,William H F.System availability analysis considering failure severities[J].International Journal of Performability Engineering,2007,3(4):467.

      [11]Li Q Y,Lei L,Jun A,et al.The determination method for software reliability qualitative indices[C]∥Software Security and Reliability(SERE),2013 IEEE 7th International Conference on.Gaithersburg,MD:IEEE,2013:237-245.

      [12]Inoue S J,Shigeru Y D.Two-dimensional software reliability measurement technologies[C]∥Industrial Engineering and Engineering Management.Hongkong:IEEE,2009:223-227.

      [13]Littlewood B.Software reliability model for modular program structure[J].IEEE Transactions on Reliability,1979,28(3):241-246.

      [14]Park J,Kim H J,Shin J H,et al.An Embedded Software Reliability Model with Consideration of Hardware Related Software Failures[C]∥IEEE Sixth International Conference on Software Security andReliability.Gaithersburg,MD:IEEE,2012:207-214.

      [15]Lee W B,Boo G J,Jongmoon B.Early reliability prediction:An approach to software reliability assessment in open software adoption stage[C]∥Second International Conference on Secure System Integration and Reliability Improvement.Yokohama:IEEE,2008:226-227.

      [16]Inoue S J,Shiho H,Shigeru Y.Toward practical software reliability assessment with change-point based on hazard rate models[C]∥2013 IEEE 37th Annual Computer Software and Applications Conference(COMPSAC).Kyoto,Japan:IEEE Computer Society,2013.

      [17]Nelsen R B,Manuel'U Flores.The lattice-theoretic structure of sets of bivariate copulas and quasi-copulas[J].Comptes Rendus Mathematique.2005,341(9):583-586.

      [18]Noh Y J,Choi K K,Liu D.Reliability-based design optimization of problems with correlated input variables using a Gaussian copula[J].Structural and Multidisciplinary Optimization,2009,38(1):1-16.

      [19]Huang C,Lin C,Kuo S,et al.Software reliability growth models incorporating fault dependency with various debugging time lags[C]∥Proceedings of the 28th Annual International Conference on Computer Software and Applications.Hongkong:IEEE,2004:186-191.

      [20]Kaneishi T,Tadashi D.Software reliability modeling and evaluation under incomplete knowledge on fault distribution[C]∥7th International Conference on Software Security and Reliability(SERE).Gaithersburg,MD:IEEE,2013.

      [21]Chandra B,Koizumi T,Hayashi M,et al.A study on network reliability evaluation for developing countries[C]∥2012 18th Asia-Pacific Conference on Communications.Jeju Island Korea:IEEE,2012.

      [22]Zeng J T,Li J Z,Zeng X H,et al.A prototype system of software reliability prediction and estimation[C]∥2010 Third International Symposium on Intelligent Information Technology and Security Informatics(IITSI).Jinggangshan:IEEE,2010.

      Real-time Embedded Software Architecture Modeling and Reliability Estimation Based on Time-extended Petri Net

      XU Yu-tang1,YIN Yong-feng2,SUN Jing3,ZHANG Chi2,LIU Bin2
      (1.School of Mechatronical Engineering,Beijing Institute of Technology,Beijing 100081,China;2.School of Reliability and System Engineering,Beihang University,Beijing 100191,China;3.Ordnance Science and Research Academy of China,Beijing 100089,China)

      Software reliability is one of the most important quality indices in software quality evaluation. With the development of software engineering and component reusing,the reliability analysis based on software architecture has become a researching hotspot.This paper puts a research on existed architecture-based reliability estimation models at first,then proposes existing architecture based reliability estimation types and typical models,putting forward the shortage of these models as well.As Petri net has a well expansibility and descriptive power of concurrency and asynchronism,this paper focuses on the research of Petri net model,divides transition into time transition and instant transition,and adds time-related reliability—time-delay reliability and temporal reliability,by this means establish the software archi-tecture modeling.The reachable state transition matrix is set up and the system reliability estimation is made by studing the relationship between component state and system reachable state.At last,the method is used in a avionics embedded software for architecture modeling,reliability estimation and error analysis,proving the effectiveness and accuracy of this method.

      computer software;software architecture;reliability estimation;time-extended Petri net

      文獻標(biāo)志碼:A文章編號:1000-1093(2015)02-0363-11

      10.3969/j.issn.1000-1093.2015.02.025

      2014-04-15

      航空科學(xué)基金項目(20140751008);中央高?;究蒲袠I(yè)務(wù)費專項資金項目(YWF-11-03-Q-114)

      許玉堂(1978—),男,博士生研究生。E-mail:xyutang@foxmail.com;殷永峰(1978—),男,副教授。E-mail:yyf@buaa.edu.cn

      猜你喜歡
      體系結(jié)構(gòu)變遷組件
      無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      重型機械(2020年2期)2020-07-24 08:16:16
      U盾外殼組件注塑模具設(shè)計
      40年變遷(三)
      40年變遷(一)
      40年變遷(二)
      清潩河的變遷
      基于粒計算的武器裝備體系結(jié)構(gòu)超網(wǎng)絡(luò)模型
      作戰(zhàn)體系結(jié)構(gòu)穩(wěn)定性突變分析
      基于DODAF的裝備體系結(jié)構(gòu)設(shè)計
      东安县| 永川市| 江安县| 涞源县| 关岭| 垫江县| 股票| 巴东县| 西平县| 曲靖市| 远安县| 平凉市| 新干县| 廉江市| 南汇区| 平泉县| 三穗县| 莱州市| 濮阳县| 昌图县| 睢宁县| 昭平县| 海阳市| 化州市| 怀仁县| 南岸区| 莱西市| 洪泽县| 龙岩市| 美姑县| 高碑店市| 延寿县| 洛南县| 弥勒县| 合川市| 安宁市| 礼泉县| 吉安市| 怀远县| 高清| 绥棱县|