李 靜
(河南大學濮陽工學院,河南 濮陽 457000)
目前,軟件數(shù)據(jù)量[1]日益增多,增加系統(tǒng)工作量。傳統(tǒng)軟件數(shù)據(jù)處理機制已無法滿足該領(lǐng)域的軟件處理實時性、可靠性需求,且傳統(tǒng)軟件數(shù)據(jù)處理機制由多單機部分構(gòu)成,不斷增多的同步參數(shù)使得內(nèi)部網(wǎng)絡(luò)變得更加復雜,已成為可靠性同步參數(shù)估計發(fā)展的障礙。軟件的可靠性是評價軟件質(zhì)量的重要量化標準,因此得到了越來越多研究者的重視。軟件可靠性就是軟件在一定的條件下、一定時間內(nèi),在不造成系統(tǒng)故障的情況下能夠完成指定功能的概率。需提高軟件可用空間和硬件的系統(tǒng)化,以進一步提高參數(shù)估計性能。
為解決上述問題,相關(guān)領(lǐng)域的研究人員相繼提出了可靠性參數(shù)同步方案,這些同步方案從整體角度考慮出發(fā),對所提估計算法進行優(yōu)化,將高可靠度、高實用性原則作為軟件可靠性同步參數(shù)估計的基礎(chǔ)。文獻[2]提出基于卡爾曼濾波估計的一致性時鐘同步方法,以期解決節(jié)點時鐘偏斜和偏移,利用雙向信息交換機制及分布式卡爾曼濾波,完成對時鐘偏斜和偏移的最優(yōu)估計,在時鐘參數(shù)最優(yōu)估計值的基礎(chǔ)上,采用一致性補償方法實現(xiàn)時鐘節(jié)點同步。但該方法的節(jié)能效果較差。文獻[3]提出考慮動態(tài)相依性的可靠性系統(tǒng)隨機Copula模型及其參數(shù)估計方法。在隨機Copula模型的基礎(chǔ)上,研究可靠性系統(tǒng)在動態(tài)相依下的可靠性,構(gòu)建隨機Copula模型,基于極大似然理論,給出基于隨機Copula模型的串聯(lián)與并聯(lián)系在動態(tài)相依下的可靠度,實現(xiàn)軟件可靠性同步參數(shù)的估計。但是該方法應用具有局限性,效果不理想。
為解決傳統(tǒng)方法存在的弊端,提出基于ARINC659總線[4]的軟件可靠性同步參數(shù)估計方法。解析ARINC659總線,以高可靠度、高實時性作為參數(shù)估計基礎(chǔ),驗證可靠性同步參數(shù)分布規(guī)則,并將估計參數(shù)與實際參數(shù)方差考慮其中,以提高估計結(jié)果的準確性,通過仿真驗證了所提方法具有較小的誤差,在未來軟件可靠性同步參數(shù)估計的研究中起到重要的推動作用。
ARINC659總線又稱為背板數(shù)據(jù)總線,是基于時間觸發(fā)架構(gòu)構(gòu)建的雙余度容錯串行廣播總線,主要應用于數(shù)據(jù)通信中的在線可更換模塊,是綜合模塊化領(lǐng)域在電子系統(tǒng)[5]中的關(guān)鍵技術(shù)。
ARINC659總線軟件采用TPDA協(xié)議,以總線命令表為基礎(chǔ),完成相關(guān)調(diào)度[6]??偩€命令表由FDL編寫并經(jīng)過編譯的機器碼所構(gòu)成,存儲于LRM專用表儲存器中,且總線中每個LRM都包含兩個單元接口。ARINC659總線的協(xié)議對初始化同步、短時間同步和長時間同步做出了相關(guān)定義,以確保每個BIU模塊的工作狀態(tài)都保持同步,并在任意時間段內(nèi),BIU模塊間都位于同一位置。
為確保全部LRM均可同步ARINC659總線數(shù)據(jù),根據(jù)對應的操作指令將時間分解為一系列單元,每個表中都包含同樣的單元序列,每個單元都存在固定的時間段,開始與結(jié)束時間保持一致,工作流程如圖1所示。
圖1 ARINC659總線工作流程
基于上述同步機制概述,對于軟件中的可靠性同步參數(shù),每兩個659中斷的時間間隔,被稱為659周期。分析ARINC659總線同步工作協(xié)議,將分布式、時間觸發(fā)、串行等因素考慮其中,構(gòu)成了可靠實時的同步系統(tǒng)。
初始同步指在軟件系統(tǒng)任務開始前進行調(diào)度,令需同步執(zhí)行的可靠性參數(shù)在同一時刻進入到階段任務中。
將執(zhí)行啟動的可靠性參數(shù)放入659終端參數(shù)中,保證各通道可周期性地向其它通道發(fā)送參數(shù)信息,發(fā)送所需周期與659終端周期相等,各通道的中斷時間也保持一致。利用初始同步算法完成上述操作,進入初始同步后中斷659,在總線表中標記為同步,等待下一個659中斷;讀取另一通道的同步標記,讀取后等待下一個659中斷,中斷開始后跳出可靠性參數(shù),結(jié)束初始同步。若在規(guī)定時間內(nèi)無法讀取同步標志,則進入故障處理區(qū)域,故障處理方式與初始同步方法相同,具體操作流程如圖2所示。
圖2 軟件可靠性參數(shù)初始同步
ARINC659總線參數(shù)同步的主要是通過冗余[7]備份機制,降低數(shù)據(jù)復雜難度實現(xiàn),采用不同的編碼作為備份總線傳輸方式,以降低軟件中其它信號的耦合作用[8]。也可通過實時交叉對比校驗,實現(xiàn)總線上可靠性同步參數(shù)的傳輸,根據(jù)交叉結(jié)果,完成軟件可靠性同步參數(shù)估計。
當不滿足估計條件時,對發(fā)送的同步節(jié)點采取實時隔離措施。除此之外,ARINC659總線的分布式結(jié)構(gòu)不需要由一個固定的節(jié)點完成數(shù)據(jù)同步,可使總線中的節(jié)點多冗余?;贏RINC659總線的參數(shù)估計算法,以時間調(diào)度表運行原理為基礎(chǔ),當總線節(jié)點發(fā)生故障時,估計過程所需時間可以確定,保障參數(shù)估計的實時性。
周期同步指的是每周期任務執(zhí)行結(jié)束后,下一周期所需執(zhí)行的任務在同一時間段內(nèi)完成。
周期同步任務中通常采用小幀[9]計數(shù),也被稱作主小幀數(shù),每執(zhí)行一次主小幀數(shù)增加1。在659中斷參數(shù)中加1。每周期執(zhí)行完畢后,進入至下一周期內(nèi),使用659中斷,以降低參數(shù)估計結(jié)果誤差,具體流程如圖3所示。
圖3 軟件可靠性參數(shù)周期同步
軟件可靠性同步參數(shù)估計是反映系統(tǒng)機制的一個重要指標,可用于降低軟件故障發(fā)生幾率,關(guān)于可靠性同步參數(shù)估計以充分的數(shù)據(jù)樣本為基礎(chǔ),計算過程相對簡潔;若樣本數(shù)據(jù)相對較少時,可利用分布函數(shù)[10]將參數(shù)看作隨機變量,獲取到分布規(guī)則,再結(jié)合ARINC659總線進行推算估計。
通過軟件小樣本數(shù)據(jù)的加權(quán)處理[11],生成新的目標樣本,以獲得可靠性參數(shù)信息。確定可靠性同步參數(shù)均值μ和方差σ2二者的先驗分布序列。
(1)
(2)
式(2)中,Vi表示可靠性參數(shù)基本量;Dn表示可靠性參數(shù)特征值。(V1,V2,…,Vn)滿足D(1,1,…,1)數(shù)據(jù)隨機分布準則,E[.]表示準則函數(shù),可得到
(3)
(4)
據(jù)上式(4)看得到μ和σ2的估計參數(shù)為
(5)
選取一組隨機同步參數(shù),計算對應子集,當隨機同步參數(shù)量不斷增加時,對可靠性參數(shù)實行抑制性估計,利用直方圖得到μ和σ2的驗證分布。可靠性同步參數(shù)的數(shù)量通常較大,將其設(shè)為B=1000,在ARINC659同步機制下,結(jié)合生成的目標樣本,可得到后續(xù)同步參數(shù)分布形式,對μ和σ2計算可得方程式
(6)
據(jù)式(6)的計算結(jié)果,求得同步參數(shù)的密度函數(shù)為
(7)
通過上述確定可靠性參數(shù)同步分布規(guī)則,利用極大似然算法完成參數(shù)估計,因參數(shù)計算過程中分布均為常數(shù),可建立如下方程
(8)
將式(5)代入上式中,通過聯(lián)立完成求解,即可得到對μ和σ2的估計數(shù)值,為最終的軟件可靠性同步參數(shù)估計結(jié)果。
為分析基于ARINC659總線的軟件可靠性同步參數(shù)估計性能,將所提方法與其它方法進行對比仿真。當軟件可靠性同步參數(shù)與其它參數(shù)相位一致時,會生成多余路徑,導致較大的跟蹤偏差,因此,只考慮同步參數(shù)與其它參數(shù)相同的情況。
基于659總線的參數(shù)估計算法是以分布驗證為基礎(chǔ),各總線節(jié)點參數(shù)是相互獨立的,且每個總線節(jié)點都存在兩個獨立的參數(shù)元,這些參數(shù)為可靠性同步參數(shù),為實現(xiàn)各節(jié)點間同步參數(shù)的估計工作,需將短同步機制引入其中,使各節(jié)點同步頻率相同??偩€在一段時間內(nèi)不發(fā)生任何活動,以保證ARINC659總線有充足的時間響應,并處理可靠性同步參數(shù)估計計算。設(shè)置ARINC659總線開始啟動后,生成初始化同步脈沖,在初始化同步脈沖完成后8位時間后,再發(fā)送另一個長的同步脈沖,生成4位低壓電平,在多個空閑時間段中,生成完整的初始化同步系統(tǒng)。
首先進行不同方法的運行時間檢測實驗,仿真結(jié)果輸出如圖4所示。
圖4 參數(shù)估計算法時間對比
從圖4中可看出,隨著可靠性參數(shù)數(shù)量的增加,文獻[2]和文獻[3]方法所需時間均不斷增加,而基于ARINC659總線具有最好的穩(wěn)定性能,且運行時間始終低于傳統(tǒng)方法。證明隨著參數(shù)數(shù)量的變化,所提方法用時更加平緩,表明其具有較好的穩(wěn)定性能,且效率更高。
為進一步檢測軟件可靠性同步參數(shù)估計方法的精確度,以軟件數(shù)據(jù)失效次數(shù)預測準確度對此進行衡量。為對比不同方法的預測結(jié)果與實際情況的偏差情況,對每種方法的實驗結(jié)果進行分別輸出,對比實驗,結(jié)果如圖5所示。
圖5 數(shù)據(jù)失效次數(shù)預測準確度測試
通過圖5實驗結(jié)果可知,不同實驗迭代次數(shù)下,所提方法的數(shù)據(jù)失效次數(shù)預測評估值始終與真實值相差很小,而文獻[2]方法以及文獻[3]方法的預測評估值與真實值相差較多。本次實驗結(jié)果可以證明所提方法能夠高精度的預測軟件數(shù)據(jù)失效的次數(shù),以此實現(xiàn)高準確度的軟件同步參數(shù)估計,說明研究方法的性能更好。
本次研究針對其軟件參數(shù)加入了故障因素進行實驗,通過不同算法的時間對比、偏差對比及性能對比,并對ARINC659總線運行進行詳細分析,提高了估計結(jié)果的可靠性。
對比各方法的性能指標,比較結(jié)果如表1和表2所示。
表1 不同方法輸出結(jié)果偏差對比
表2 不同方法的綜合性能對比
通過表1和表2可以看出,基于ARINC659總線的軟件可靠性同步參數(shù)估計具有最小的偏差,因此具有最高的估計預測能力。分析結(jié)果如下:
1)基于ARINC659總線的軟件可靠性同步參數(shù)估計可在較少的計算過程下,對軟件參數(shù)進行有效估計,以此消除多徑造成的誤差。
2)從可靠性同步參數(shù)的估計結(jié)果上看,本文所提算法受多徑相對問題,造成的時間延遲影響并不嚴重。但其它五種算法在進行多徑同步參數(shù)估計時,受多徑影響,產(chǎn)生的時間延遲影響比較顯著,但這一點可通過ARINC659總線運行機制改善。
3)較大多徑可靠性同步參數(shù)對估計算法的影響較大,但可利用ARINC659總線完成改善。
提出了基于ARINC629總線的軟件可靠性同步參數(shù)估計方法。仿真結(jié)果表明,所提方法具有實用性,可利用基于ARINC629總線的軟件可靠性同步參數(shù)估計,評估結(jié)果更加精準。