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

        ?

        自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法

        2015-12-23 01:01:20張龍妹朱怡安
        計算機(jī)工程與設(shè)計 2015年5期
        關(guān)鍵詞:途徑故障功能

        陸 偉,張龍妹,朱怡安

        (1.西安財經(jīng)學(xué)院 信息學(xué)院,陜西 西安710100;2.西安科技大學(xué) 通信與信息工程學(xué)院,陜西 西安710054;3.西北工業(yè)大學(xué) 軟件與微電子學(xué)院,陜西 西安710072)

        0 引 言

        國際上一些專家和學(xué)者對自愈軟件系統(tǒng)[1]從不同角度展開了初步探索和研究[2],隨著越來越多研究人員開始嘗試運用自愈技術(shù)與方法解決各自領(lǐng)域中遇到的問題,自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法顯得越來越重要,并成為自愈軟件系統(tǒng)發(fā)展與應(yīng)用的瓶頸問題。針對這一問題,本文借鑒模型驅(qū)動的設(shè)計思想,提出了一種以故障模型為中心的自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法,并通過一個仿真軟件的設(shè)計與實現(xiàn)驗證所提出方法的可行性與有效性。

        1 自愈軟件系統(tǒng)實現(xiàn)的基本途徑

        根據(jù)當(dāng)前研究成果,自愈軟件系統(tǒng)實現(xiàn)的基本途徑可以歸納為3類:基于外部的方法、基于內(nèi)部的方法和基于內(nèi)外部結(jié)合的方法。

        (1)基于外部的方法:基于外部的方法基本思想是,從系統(tǒng)運行環(huán)境的外部角度監(jiān)控系統(tǒng)運行過程中的外部表征或環(huán)境變化,在此基礎(chǔ)上對系統(tǒng)進(jìn)行診斷,必要時通過外部行為對系統(tǒng)進(jìn)行修復(fù)。

        基于系統(tǒng)體系結(jié)構(gòu)的自愈方法是基于外部方法的典型代表。該方法的思想是利用系統(tǒng)體系結(jié)構(gòu)模型作為系統(tǒng)自愈的基礎(chǔ),從系統(tǒng)運行的外部監(jiān)控系統(tǒng)體系結(jié)構(gòu)模型在系統(tǒng)運行過程中的變遷,并據(jù)此進(jìn)行診斷和修復(fù)。

        卡內(nèi)基·梅隆大學(xué)計算機(jī)學(xué)院的Garlan等長期從事自愈系統(tǒng)設(shè)計與實現(xiàn)方法研究。在 “Rainbow-Architecturebased Adaptation of Complex Systems”項目的研究過程中,他們提出了一個支持自愈系統(tǒng)設(shè)計的Rainbow 系統(tǒng)[3]是基于外部的方法的典型代表。Rainbow 以系統(tǒng)體系結(jié)構(gòu)模型為基礎(chǔ),允許系統(tǒng)開發(fā)人員通過設(shè)計自愈策略向現(xiàn)有系統(tǒng)中增加自愈功能。此外,在在面向服務(wù)計算領(lǐng)域,基于外部的方法具有較大優(yōu)勢,文獻(xiàn) [4,5]在這方面進(jìn)行嘗試。

        基于外部方法的優(yōu)點是:①自愈過程中的各階段—監(jiān)控、診斷以及修復(fù)在系統(tǒng)及其運行環(huán)境外部進(jìn)行,與目標(biāo)系統(tǒng)相對隔離,因此,自愈過程不需要通過修改目標(biāo)系統(tǒng)代碼;②根據(jù)不同系統(tǒng)的要求不同,自愈過程中可以靈活選用多種診斷與修復(fù)模型以及方法,具有較好的動態(tài)可配置性;③基于外部的方法本身并是不針對具體應(yīng)用的,因此該方法及其實現(xiàn)機(jī)制具有可重用性;④該方法對于遺留系統(tǒng)以及無法獲得源碼的目標(biāo)系統(tǒng)具有適用性。

        基于外部方法的缺點是:①該方法很難獲得目標(biāo)系統(tǒng)內(nèi)部狀態(tài),這為自愈過程中故障診斷以及修復(fù)方法的選擇帶來了困難;②自愈過程中的修復(fù)行為僅僅能夠針對系統(tǒng)外部或者環(huán)境模型進(jìn)行,限制了修復(fù)動作的執(zhí)行以及效果。

        (2)基于內(nèi)部的方法:基于內(nèi)部的方法基本思想是,在目標(biāo)系統(tǒng)設(shè)計與實現(xiàn)過程中考慮并添加系統(tǒng)自愈功能,使得自愈功能與目標(biāo)系統(tǒng)在同一環(huán)境下運行。

        J.Park等提出的一種自愈代碼自動生成的方法,是基于內(nèi)部的方法的代表[6]。該方法的思想通過對系統(tǒng)設(shè)計過程中的各種UML 模型進(jìn)行分析,從而產(chǎn)生各種內(nèi)部狀態(tài)以及外部環(huán)境約束規(guī)則,并根據(jù)這些約束規(guī)則產(chǎn)生監(jiān)控與診斷代碼,進(jìn)一步結(jié)合修復(fù)策略自動產(chǎn)生修復(fù)代碼,目前這項研究仍在進(jìn)行之中。

        基于內(nèi)部方法的優(yōu)點:①更容易獲得系統(tǒng)運行過程中的內(nèi)部狀態(tài)與行為信息,為自愈過程中故障診斷以及修復(fù)方法選擇提供更準(zhǔn)確的依據(jù);②診斷和修復(fù)行為可以深入系統(tǒng)內(nèi)部,根據(jù)要求不同實現(xiàn)不同粒度的自愈,效率較高。

        基于內(nèi)部方法的缺點是:①需要在系統(tǒng)正常功能設(shè)計的同時考慮自愈功能,設(shè)計容易陷入混亂;②自愈代碼與功能代碼纏繞在一起,實現(xiàn)與維護(hù)困難;③系統(tǒng)自愈部分與功能部分運行于同一環(huán)境下,容易導(dǎo)致功能部分與自愈部分同時失效;④系統(tǒng)獲得局部信息容易,獲得全局信息困難,不利于解決系統(tǒng)性能退化問題;⑤該方法適合于從零開始開發(fā)的系統(tǒng),或者至少可獲得源碼的系統(tǒng),不適應(yīng)于遺留系統(tǒng)或者第三方產(chǎn)品。

        (3)基于內(nèi)外部結(jié)合的方法:基于內(nèi)外部結(jié)合的方法的基本思想是,采用基于內(nèi)部方法在系統(tǒng)中部署傳感器和控制點,以更準(zhǔn)確獲取系統(tǒng)狀態(tài)或行為信息,控制點可以支持不同粒度修復(fù)動作的執(zhí)行;采用基于外部方法在系統(tǒng)運行時進(jìn)行運行環(huán)境監(jiān)測、故障診斷以及修復(fù)方法選擇,并使得系統(tǒng)自愈部分與正常功能部分相對隔離。

        David Breitgand提出的自愈系統(tǒng)設(shè)計與實現(xiàn)框架PANACEA[7]是基于外部與內(nèi)部結(jié)合方法的典型代表。在PANACEA 框架下,目標(biāo)系統(tǒng)設(shè)計過程中通過注解 (annotations)機(jī)制在系統(tǒng)中添加傳感器和控制點,PANACEA 運行系統(tǒng)可通過這些傳感器收集系統(tǒng)運行過程中的內(nèi)部狀態(tài)或行為信息,通過控制點實施相應(yīng)自愈行為。Gaudin等在歐盟FP7計劃支持下進(jìn)行的FastFix[8]項目也屬于這一類。

        基于內(nèi)外部結(jié)合的方法可充分利用基于外部和基于內(nèi)部兩種方法的優(yōu)點,是自愈軟件系統(tǒng)實現(xiàn)方法的發(fā)展趨勢。

        2 自愈軟件系統(tǒng)模型驅(qū)動的設(shè)計思想

        實際軟件系統(tǒng)往往是自愈層與功能層交織在一起的復(fù)雜系統(tǒng),無論采用以上3種實現(xiàn)途徑中的哪一種,在分析與設(shè)計系統(tǒng)功能層模型的同時,不得不分散精力考慮系統(tǒng)自愈層模型 (包括監(jiān)控器、診斷器、控制器與修復(fù)器)的分析與設(shè)計。隨著越來越多自愈層行為的加入,系統(tǒng)自愈層模型與功能層模型的交織也將越來越復(fù)雜,這使得設(shè)計過程很容易陷入反復(fù)與混亂。即使我們通過多次反復(fù)工作與不懈努力最終完成了設(shè)計,如何對系統(tǒng)設(shè)計結(jié)果的自愈性或者自愈程度進(jìn)行評價又將是一個需要解決的困難問題。此外,系統(tǒng)設(shè)計結(jié)果中功能層與自愈層模型的交織將進(jìn)一步導(dǎo)致系統(tǒng)實現(xiàn)時代碼纏繞的問題,進(jìn)而增加系統(tǒng)演化的難度,同時也妨礙系統(tǒng)的可理解性、可重用性以及可追溯性。

        當(dāng)前,軟件設(shè)計與開發(fā)對象管理組織 (object management group,OMG)提出的模型驅(qū)動架構(gòu)MDA (Model Driven Architecture,MDA)是以模型為中心的軟件開發(fā)方法學(xué)。MDA 在縱向上將系統(tǒng)模型劃分為計算無關(guān)模型(computation independent model,CIM)、平臺無關(guān)模型(platform independent model,PIM)和平臺相關(guān)模型(platform specific model,PSM)以解決軟件系統(tǒng)設(shè)計中應(yīng)用邏輯、平臺特性和業(yè)務(wù)的交織問題。對于自愈計算系統(tǒng),橫向上自愈層與功能層的交織同樣為系統(tǒng)設(shè)計帶來了可移植性、演化性、可維護(hù)性以及可追溯性的問題。根據(jù)MDA的思想,同樣可以從橫向上將自愈計算系統(tǒng)的功能層模型與自愈層模型加以劃分與隔離,從而可以對隔離后的兩部分進(jìn)行分別建模與實現(xiàn),隨后,根據(jù)需要通過不同層次的模型組合或者代碼編織得到系統(tǒng)整體模型或代碼,如圖1所示。

        3 自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法

        圖1 自愈軟件系統(tǒng)橫向模型驅(qū)動設(shè)計思想

        在以上自愈系統(tǒng)橫向模型驅(qū)動設(shè)計思想指導(dǎo)下,基本功能層與自愈層隔離之后,就可以采用一般軟件系統(tǒng)的方法和技術(shù)分別對這兩部進(jìn)行設(shè)計與實現(xiàn)?;竟δ軐优c自愈層的隔離使得它們設(shè)計與實現(xiàn)相對獨立,這種松耦合能夠提高自愈模型的模塊化、可配置型、可重用性以及可維護(hù)性,同時,降低了系統(tǒng)整體設(shè)計的復(fù)雜性。但是,這種松耦合也使得自愈層與基本功能層的聯(lián)系丟失,進(jìn)而導(dǎo)致自愈模型與基本功能模型設(shè)計完成后需要重新組合與編織。

        3.1 故障模型

        故障模型或者故障假設(shè)是系統(tǒng)可靠性和容錯研究領(lǐng)域的基礎(chǔ)和前提。故障模型描述系統(tǒng)可能出現(xiàn)的故障情況、故障表征以及故障對系統(tǒng)的影響,是軟件系統(tǒng)實現(xiàn)自愈的基本參照,沒有故障模型,也就無法評價系統(tǒng)的自愈能力。

        當(dāng)前研究人員從故障原因、故障定位、故障對系統(tǒng)的影響、屬性描述、可能的檢測手段以及解決策略等不同角度對故障展開了初步研究[9],雖然這些研究對故障描述的視角不同,但大部分研究都需要利用不同方法 (分類和聚類等)對故障集合加以劃分,從而降低故障問題的空間。本文并不研究故障描述視角以及故障集合劃分方法,僅針對故障集合劃分后的結(jié)果進(jìn)行統(tǒng)一描述。

        定義1 故障模型:故障模型MF是一顆帶權(quán)的無序平衡樹,表示為T <root,(Ti,wi)>,樹中的葉子節(jié)點代表所有基本故障f (即非葉子節(jié)點代表宏故障F,節(jié)點的權(quán)值代表了該故障節(jié)點在樹中同層次故障節(jié)點中的重要性。

        在故障模型定義的基礎(chǔ)上,軟件系統(tǒng)自愈性可以表示為系統(tǒng)對故障模型的支持程度,這就為系統(tǒng)自愈性的量化評價提供了基礎(chǔ),同時,系統(tǒng)設(shè)計結(jié)果對故障模型的覆蓋程度可以作為系統(tǒng)自愈層的設(shè)計目標(biāo)。

        3.2 以故障模型為中心的自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法

        故障模型MF不僅描述了故障節(jié)點之間的關(guān)系,而且描述了計算系統(tǒng)中故障節(jié)點的屬性,因此,MF可以作為系統(tǒng)自愈層的設(shè)計依據(jù),同時也可以作為連接系統(tǒng)功能層與自愈層的橋梁。在故障模型的連接下,自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法框架如圖2所示。

        圖2 自愈軟件系統(tǒng)設(shè)計與實現(xiàn)框架

        在圖2所示的自愈軟件系統(tǒng)設(shè)計與實現(xiàn)框架下,系統(tǒng)最終可執(zhí)行代碼可以通過3種途徑獲得。

        第一種途徑的過程為:系統(tǒng)設(shè)計中首先針對系統(tǒng)功能層建模,得到系統(tǒng)功能層PIM,在此基礎(chǔ)上,進(jìn)一步得到系統(tǒng)故障模型MF;然后,根據(jù)系統(tǒng)自愈層CIM 與故障模型MF,得到系統(tǒng)自愈層PIM;在分別得到系統(tǒng)功能層與自愈層PIM之后,對它們進(jìn)行合并或組合,從而得到系統(tǒng)全局PIM;隨后可以像對待一般系統(tǒng)模型一樣,對系統(tǒng)全局PIM 進(jìn)行轉(zhuǎn)化得到系統(tǒng)PSM,經(jīng)進(jìn)一步轉(zhuǎn)化后得到系統(tǒng)源碼,再經(jīng)編譯后得到系統(tǒng)可執(zhí)行代碼。參照圖2中路徑①所示過程。

        第二種途徑的過程為:系統(tǒng)設(shè)計中首先根據(jù)系統(tǒng)功能層模型或者源碼,得到系統(tǒng)故障模型MF;然后,根據(jù)系統(tǒng)自愈層CIM 與故障模型MF,得到系統(tǒng)自愈層PIM;隨后,繼續(xù)對自愈層PIM 進(jìn)行轉(zhuǎn)化,得到自愈層的PSM,經(jīng)進(jìn)一步轉(zhuǎn)化得到自愈層的源碼;最后,通過代碼靜態(tài)編織技術(shù)將自愈層源碼織入功能層源碼,從而得到系統(tǒng)整體源碼,經(jīng)編譯后得到系統(tǒng)可執(zhí)行代碼。參照圖2中路徑②所示過程。

        第三種途徑的過程為:在第二種途徑中得到系統(tǒng)自愈層源碼之后,并不進(jìn)行代碼靜態(tài)編織,而是繼續(xù)針對自愈層源碼進(jìn)行編譯,得到自愈層的可執(zhí)行代碼;通過代碼動態(tài)編織技術(shù),在系統(tǒng)功能層代碼運行過程中動態(tài)織入自愈層代碼,實現(xiàn)系統(tǒng)自愈過程。參照圖2中路徑③過程。

        在以上3種途徑的主要區(qū)別在于自愈層與功能層模型組合或代碼編織層次不同,它們具有各自的優(yōu)缺點。從第一種途徑到第三種途徑,自愈層與功能層的組合或者編織時機(jī)越來越晚,隔離程度越來越高,可重用性與可維護(hù)性也越來越好,但系統(tǒng)實現(xiàn)難度也會越來越大,因為代碼編織尤其是動態(tài)編織技術(shù)上是困難的。實際應(yīng)用中,不同系統(tǒng)可以根據(jù)其自身特點分別采取不同途徑或者不同途徑的組合得到最終包含自愈功能的可執(zhí)行代碼。對于從零開始設(shè)計的系統(tǒng),由于可以得到系統(tǒng)功能層PIM,因此適合于采用第一種途徑,在得到系統(tǒng)自愈層PIM 之后進(jìn)行模型合并或者組合,當(dāng)然,為了減少代碼纏繞問題,也可以采用第二或者第三種途徑,或者采用3種途徑結(jié)合的方法;對于具備系統(tǒng)源碼的遺留系統(tǒng),由于可能不具備系統(tǒng)功能層PIM,可以采用第二種途徑,當(dāng)然,對于源碼文檔不全或者根據(jù)源碼分析較為復(fù)雜的情況下,也可以采用第三種途徑,或者采用兩種途徑結(jié)合的方法;對于不具備系統(tǒng)源碼的遺留系統(tǒng)或者第三方系統(tǒng),則只能采用第三種途徑。

        4 實例設(shè)計與分析

        根據(jù)所提出的橫向模型驅(qū)動的設(shè)計思想以及以故障模型為中心的自愈軟件系統(tǒng)設(shè)計與實現(xiàn)方法,本文設(shè)計并實現(xiàn)了一個具有自愈特性的捷聯(lián)慣性導(dǎo)航系統(tǒng)仿真軟件,以證實本文所提出的設(shè)計思想以及實現(xiàn)方法的有效性。

        捷聯(lián)慣性導(dǎo)航系統(tǒng)廣泛應(yīng)用于對可靠性要求較高的軍事以及民用領(lǐng)域,在這些領(lǐng)域,導(dǎo)航系統(tǒng)一旦出現(xiàn)故障,往往難以通過外部或人工的方式對系統(tǒng)進(jìn)行修復(fù),因而可能造成重大損失或帶來嚴(yán)重后果。因此,提高捷聯(lián)慣性導(dǎo)航系統(tǒng)在故障情況下的連續(xù)可用能力至關(guān)重要。

        雖然主動配電網(wǎng)的設(shè)想很好,但其建設(shè)需要大量的投資,這些投資在現(xiàn)有體制下難以實現(xiàn)收益。主動配電網(wǎng)的發(fā)展既依賴于技術(shù)進(jìn)步,又需要充分競爭的用戶側(cè)電力市場。通過技術(shù)進(jìn)步帶來投資降低,而充分競爭的電力市場和相應(yīng)商業(yè)模式有望給電網(wǎng)和用戶帶來切實的收益。

        4.1 導(dǎo)航仿真軟件功能層模型

        捷聯(lián)慣性仿真軟件核心功能用于實現(xiàn)慣性導(dǎo)航的解算任務(wù),由加速度計、陀螺儀、導(dǎo)航計算機(jī)、姿態(tài)計算機(jī)、內(nèi)外部總線、電源和時鐘中斷器等組件組成,各組件間的交互如圖3所示。

        圖3 仿真軟件的核心功能組成

        仿真軟件的最終核心功能設(shè)計類圖如圖4所示。仿真軟件實現(xiàn)中,加速度計、陀螺儀、電源和時鐘中斷器采用多線程機(jī)制,在仿真啟動后即開始運行,按照設(shè)定好的數(shù)據(jù)產(chǎn)生持續(xù)的信號輸出;導(dǎo)航計算機(jī)、姿態(tài)計算機(jī)和內(nèi)外部總線設(shè)計為獨立的功能類,以函數(shù)調(diào)用的形式模擬導(dǎo)航解算的各環(huán)節(jié)任務(wù)以及數(shù)據(jù)的傳輸。

        4.2 系統(tǒng)故障模型

        通過對導(dǎo)航系統(tǒng)實際工作環(huán)境以系統(tǒng)功能模型分析,可以得到導(dǎo)航系統(tǒng)可能出現(xiàn)的基本故障。本實例僅考慮導(dǎo)航系統(tǒng)的導(dǎo)航解算過程中,可能出現(xiàn)的基本故障,包括慣性元器件數(shù)據(jù)異?;驌p壞、電源不穩(wěn)定、計算誤差超限以及通信故障,故障列表見表1。

        表1 系統(tǒng)故障列表

        通過集合劃分的方法,可以構(gòu)造滿足定義1的樹狀故障模型MF= {F1,F(xiàn)2,F(xiàn)3,F(xiàn)4,F(xiàn)5}。其中,F(xiàn)1= {F11,F(xiàn)12,F(xiàn)13},F(xiàn)2= {F21,F(xiàn)22,F(xiàn)23,F(xiàn)24},F(xiàn)3= {F31,F(xiàn)32},F(xiàn)4= {F41,F(xiàn)42},F(xiàn)5= {F51,F(xiàn)52};F11= {f1,f2,f3},F(xiàn)12= {f4,f5,f6},F(xiàn)13= {f7,f8,f9},F(xiàn)21= {f10,f11,f12},F(xiàn)22= {f13,f14,f15},F(xiàn)23= {f16,f17,f18},F(xiàn)24= {f19,f20,f21},F(xiàn)31= {f24,f28},F(xiàn)32= {f25,f26,f27,f29},F(xiàn)41= {f30},F(xiàn)42= {f31},F(xiàn)51= {f22},F(xiàn)52= {f23}。

        圖4 仿真軟件系統(tǒng)核心功能類圖

        4.3 系統(tǒng)自愈層模型

        對于監(jiān)控器Monitor,本例設(shè)計了14 個軟件傳感器,負(fù)責(zé)獲取故障模型中所有故障所影響的全部系統(tǒng)參數(shù),并以事件序列方式輸出至診斷器;診斷器接收監(jiān)控器傳送的事件序列,通過遍歷故障模型的方法診斷系統(tǒng)所發(fā)生的最低級別故障,并將診斷故障樹發(fā)送至控制器與修復(fù)器;對于控制器,負(fù)責(zé)接收診斷器發(fā)送的診斷故障樹,并根據(jù)診斷故障樹與系統(tǒng)功能模型,阻止故障對系統(tǒng)的進(jìn)一步影響,標(biāo)記故障組件故障狀態(tài),并在故障修復(fù)后重新啟用故障部件;對于修復(fù)器,根據(jù)診斷器發(fā)送的診斷故障樹,結(jié)合功能模型,確定故障組件,并進(jìn)行相應(yīng)修復(fù)操作,本例采用了備用組件和微重啟的修復(fù)策略[11]。

        面向方面編程(aspect-oriented programming,AOP)是一種支持從外部獲取目標(biāo)系統(tǒng)內(nèi)部狀態(tài)或行為信息并獲取控制點的機(jī)制,該技術(shù)在不需要獲得目標(biāo)系統(tǒng)源碼情況下,可以在編譯或者加載時動態(tài)向目標(biāo)系統(tǒng)中插入代碼。本例采用面向方面設(shè)計 (aspect-oriented design,AOD)方法,對系統(tǒng)自愈層模型進(jìn)行了設(shè)計 (針對故障模型中所有第二級宏故障 (F1x)設(shè)計了模擬修復(fù)策略),得到設(shè)計結(jié)果如圖5所示。

        4.4 系統(tǒng)全局模型

        面向方面代碼支持靜態(tài)或動態(tài)織入,因此,本例可以采用圖2中的第二種途徑,在分別得到系統(tǒng)功能代碼和自愈層代碼后進(jìn)行代碼編織,從而保持代碼在源代碼級隔離。為了更直觀了解系統(tǒng)實現(xiàn)后的情況,此處給出了系統(tǒng)全局模型,如圖6所示。

        4.5 系統(tǒng)實現(xiàn)與實驗

        根據(jù)系統(tǒng)設(shè)計得到的功能層模型與自愈層模型,本例通過Java和AspectJ語言對系統(tǒng)核心功能模型與自愈層模型進(jìn)行實現(xiàn),通過代碼編織得到系統(tǒng)全局最終代碼,以驗證系統(tǒng)運行過程中的自愈特征。在系統(tǒng)實現(xiàn)基礎(chǔ)上,通過修改相應(yīng)仿真單元狀態(tài)值和輸出值的方式對系統(tǒng)可能出現(xiàn)的故障特征進(jìn)行模擬,記錄系統(tǒng)處理結(jié)果和處理耗時,對系統(tǒng)的自愈特征進(jìn)行驗證。系統(tǒng)運行過程監(jiān)控界面如圖7所示。

        在實驗中,針對故障模型中的每個第二級宏故障(F1x),模擬輸入1000次,系統(tǒng)運行硬件環(huán)境為:Intel CPU G1620 2.7GHz,4GB RAM;操作系統(tǒng)為Win7旗艦版。實驗結(jié)果表明,系統(tǒng)對輸入的每個故障均能夠有效診斷并修復(fù),診斷與修復(fù)率達(dá)到100%,符合設(shè)計預(yù)期結(jié)果,即自愈度達(dá)到1,平均自愈耗時0.047ms,實驗結(jié)果如圖8所示 (圖中A 表示該類故障自愈度為1)。

        圖5 系統(tǒng)自愈層面向方面模型

        圖6 系統(tǒng)全局靜態(tài)模型

        本文此處僅僅為了驗證所提出的系統(tǒng)設(shè)計方法的有效性,并不針對不同修復(fù)策略性能進(jìn)行討論,因此,不再針對自愈耗時進(jìn)行進(jìn)一步分析。

        圖7 系統(tǒng)運行監(jiān)控界面

        5 結(jié)束語

        本文研究自愈軟件系統(tǒng)設(shè)計與實現(xiàn)問題,采用模型驅(qū)動設(shè)計思想,提出一種以故障模型為中心的自愈軟件系統(tǒng)設(shè)計方法,以解決系統(tǒng)設(shè)計過程中功能層與自愈層模型交織的問題,在此基礎(chǔ)上,分析與討論了系統(tǒng)代碼實現(xiàn)的3種不同途徑,以解決系統(tǒng)功能層與自愈層代碼纏繞的問題。根據(jù)所提出的設(shè)計思想與方法,設(shè)計并實現(xiàn)了一個具有自愈性的捷聯(lián)慣性導(dǎo)航仿真軟件,驗證了所提出的系統(tǒng)設(shè)計思想與方法的可行性與有效性。本文所提出的橫向模型驅(qū)動方法,為自愈軟件系統(tǒng)設(shè)計與實現(xiàn)提供了參考,對監(jiān)控軟件、自適應(yīng)軟件等系統(tǒng)設(shè)計與實現(xiàn)具有借鑒意義。故障模型是所提出的系統(tǒng)橫向模型驅(qū)動設(shè)計方法的連接紐帶,本文僅給出了故障模型的統(tǒng)一結(jié)構(gòu),而不同系統(tǒng)的故障模型構(gòu)造方法有待于進(jìn)一步研究。此外,本文所采用的AOP是目前支持代碼編織技術(shù)的一種,其效率問題與代碼動態(tài)編織的支持程度需要進(jìn)一步研究與分析。

        圖8 系統(tǒng)實驗數(shù)據(jù)統(tǒng)計結(jié)果

        [1]Locasto ME.Self-h(huán)ealing:Science,engineering and fiction[C]//The New Securiy Paradigms Workshop,2007.

        [2]Al-oqily I.A survey for self-h(huán)ealing architectures and algorithms[C]//9th International Multi-Conference on Systems,Signals and Devices,2012:1-5.

        [3]Garlan D.Invited talk-engineering self-h(huán)ealing and self-improving systems [C]//5th Int Conf on Secure Software Integration &Reliability Improvement Companion,2011:207-207.

        [4]REN Hongmin,LIU Jin.Research on self-h(huán)ealing framwork for Web service based on connectors[J].Application Research of Computers,2012,29 (8):3004-3007 (in Chinese). [任洪敏,劉晉.基于連接件的Web服務(wù)自愈框架研究 [J].計算機(jī)應(yīng)用研究,2012,29 (8):3004-3007.]

        [5]Yin Y.A self-h(huán)ealing composite Web service model[C]//Proceedings of Services Computing Conference,2009:307-312.

        [6]Park J.Approach to generating monitoring code toward ad-vanced self-h(huán)ealing [C]//Control and Automation and Energy System Engineering,2011:138-148.

        [7]Breitgand D.PANACEA towards a self-h(huán)ealing development framework [C]//Proceedings of Integrated Network Management,2007:169-178.

        [8]Gaudin B,Hinchey M.FastFIX:An approach to self-h(huán)ealing[C]//Proceedings of Computer Science and Information Systems,2011:957-964.

        [9]Ozcelik B.An approach for classifying program failures[C]//Proceedings of Advances in System Testing and Validation Lifecycle,2010:93-98.

        [10]Portela AER,Perdomo JG.Survey:Termites system with self-h(huán)ealing based on autonomic computing [C]//Proceedings of Computing Congress,2011:1-6.

        [11]TAN Chenxin,WANG Lei,GUAN Yuxin.Research on micro-reboot technology with supporting self-h(huán)ealing [J].Mini Micro Systems,2013,34 (1):77-82 (in Chinese). [譚成鑫,王雷,關(guān)育新.支持自恢復(fù)的微重啟技術(shù)研究 [J].小型微型計算機(jī)系統(tǒng),2013,34 (1):77-82.]

        猜你喜歡
        途徑故障功能
        也談詩的“功能”
        中華詩詞(2022年6期)2022-12-31 06:41:24
        故障一點通
        構(gòu)造等腰三角形的途徑
        多種途徑理解集合語言
        減少運算量的途徑
        關(guān)于非首都功能疏解的幾點思考
        奔馳R320車ABS、ESP故障燈異常點亮
        故障一點通
        江淮車故障3例
        中西醫(yī)結(jié)合治療甲狀腺功能亢進(jìn)癥31例
        亚洲欧洲精品成人久久曰影片| 无码无在线观看| 日韩精品一区二区三区免费观影 | 亚洲精品一区二区网站| 深夜爽爽动态图无遮无挡 | 久久久精品人妻无码专区不卡 | 亚洲精品成人一区二区三区| 无码精品一区二区三区在线| 国产国产人免费人成免费视频| 老太脱裤子让老头玩xxxxx| 精品无码久久久久久久动漫| 日韩欧美国产丝袜视频| 久久久一本精品久久久一本| 寂寞人妻渴望被中出中文字幕| 久久久久波多野结衣高潮| 精品国产av 无码一区二区三区| 手机色在线| 一本久久伊人热热精品中文| 真实夫妻露脸爱视频九色网| 在线播放五十路熟妇| 日本三级欧美三级人妇视频 | 中文人妻av大区中文不卡| 日本精品久久不卡一区二区| 无码熟妇人妻av在线网站| 在线成人爽a毛片免费软件| 1000部夫妻午夜免费| 91麻豆精品激情在线观看最新| 亚洲国产综合性感三级自拍| 中文字幕av高清人妻| 特黄熟妇丰满人妻无码| av人摸人人人澡人人超碰小说| 日韩亚洲中文图片小说| 成a人片亚洲日本久久| 91自拍视频国产精品| 久久亚洲私人国产精品va| 中文字幕美人妻亅u乚一596| 少妇av免费在线播放| 久久综合五月天啪网亚洲精品| 狠狠色噜噜狠狠狠狠97首创麻豆| 中国老妇女毛茸茸bbwbabes| 亚洲精品国产综合久久一线|