国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法與流程

      文檔序號:12665585閱讀:231來源:國知局
      一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法與流程

      本發(fā)明提供一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法,它涉及一種多層次軟件故障診斷專家系統(tǒng)的實現(xiàn),屬于軟件可靠性、軟件故障診斷領域。



      背景技術(shù):

      專家系統(tǒng)是一門應用型邊緣學科,其理論基礎涉及多門學科,如現(xiàn)代控制理論、計算機工程、數(shù)理統(tǒng)計等,它能夠在診斷對象發(fā)生故障時,根據(jù)對象中的各種變量(可測的或不可測的)及其中部分變量表現(xiàn)出的與正常狀態(tài)不同特性,找出故障缺陷的特征描述,并根據(jù)缺陷進行分類,進一步實現(xiàn)故障的檢查與預測。

      由于軟件變得越來越復雜,一個軟件故障可能是由多個原因共同組合引發(fā)的,而故障表現(xiàn)出的問題也可能是多個現(xiàn)象共同造成的。對于這種類型故障,目前的故障診斷專家系統(tǒng)并不能進行有效解決。針對這一狀況,我們將提出一種包含淺層與深層的多層次診斷專家系統(tǒng)的構(gòu)建方法,在該系統(tǒng)中,對于軟件中發(fā)生過的或與之相似的組合故障,可利用基于失效模式與影響分析形式的案例推理技術(shù)(即““F-CBR”)獲取故障診斷信息,完成淺層故障診斷。對于軟件中未知的、復雜的、隨機發(fā)生的組合故障,可采用貝葉斯網(wǎng)絡獲取推理數(shù)據(jù),完成深層故障診斷。利用這一系統(tǒng)不僅可以有效地追溯軟件故障的來源,還可以對故障進行分析,得到準確的診斷結(jié)果。

      該故障診斷專家系統(tǒng)分別從淺層與深層對故障進行分析推理,融合故障診斷、故障分析、故障隔離與故障處理等相關(guān)理論、方法和技術(shù)進行構(gòu)建,形成較為全面的多層次軟件故障診斷系統(tǒng),在提高軟件維護性的同時,達到提高軟件可靠性、安全性、可用性的目的。



      技術(shù)實現(xiàn)要素:

      (一)本發(fā)明目的:根據(jù)知識組織方式與推理機制的不同,目前常用的故障診斷專家系統(tǒng)大致分為:基于規(guī)則的診斷專家系統(tǒng)、基于模型的診斷專家系統(tǒng)、基于模糊推理的診斷專家系統(tǒng)、基于事例的診斷專家系統(tǒng)以及基于網(wǎng)絡的診斷專家系統(tǒng)等,每一種專家系統(tǒng)都有其局限性,并不能作為通用的診斷系統(tǒng)對絕大部分軟件使用,并且對于組合類型的故障并不能進行有效診斷。因此本發(fā)明將克服現(xiàn)有技術(shù)的不足,提供一種多層次故障診斷專家系統(tǒng)的構(gòu)建方法對上述問題進行解決。該系統(tǒng)的構(gòu)建分為兩層,其中淺層分系統(tǒng)是基于案例的診斷專家系統(tǒng),深層分系統(tǒng)是基于模型、模糊推理的故障診斷專家系統(tǒng),對淺層與深層分系統(tǒng)進行整合后,形成的基于網(wǎng)絡的多層次故障診斷專家系統(tǒng)。可以看出該系統(tǒng)的構(gòu)建對現(xiàn)有的故障診斷專家系統(tǒng)進行了整合與創(chuàng)新,形成了通用型多層次的軟件故障診斷專家系統(tǒng)。

      (二)技術(shù)方案

      本發(fā)明技術(shù)方案:多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法過程如下:

      本發(fā)明所述方法中,引入故障屬性分類模型的概念來表述對案例故障屬性字段進行一系列操作后所轉(zhuǎn)化的模型,引用F-CBR來表述基于案例推理(即“CBR”)與失效模式與影響分析(即“FMEA”)相結(jié)合的技術(shù)。

      本發(fā)明一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法,其步驟如下:

      步驟1、搜集大量與被診斷軟件相關(guān)的故障案例,針對被診斷軟件系統(tǒng)的特點,采取合適的方法對故障案例進行分析,在分析完成后,篩選出合適的案例集加入至創(chuàng)建的故障知識案例庫;

      步驟2、根據(jù)被診斷軟件所有可能發(fā)生的原因、現(xiàn)象以及其他故障屬性(如故障所在位置、故障嚴酷度等),結(jié)合軟件缺陷分類方法構(gòu)建缺陷屬性分類模型,該模型可以輔助貝葉斯診斷網(wǎng)絡的構(gòu)建及各層次分系統(tǒng)的連接;

      步驟3、構(gòu)建軟件缺陷分類模型并進行形式化描述;

      步驟4、針對被診斷對象的特點,構(gòu)建適用于被診斷對象的其他故障屬性分類模型;

      步驟5、利用F-CBR技術(shù)對故障案例庫的案例進行操作;

      步驟6、結(jié)合F-CBR技術(shù)構(gòu)建淺層故障分系統(tǒng);

      步驟7、采用開源搜索引擎工具并結(jié)合相似匹配算法,對結(jié)合F-CBR技術(shù)的淺層故障分系統(tǒng)進行具體實現(xiàn);

      步驟8、構(gòu)建深層分系統(tǒng),該系統(tǒng)提供故障探測、故障識別、貝葉斯故障分析,形成深層故障分析與故障管理協(xié)議,指導故障處理策略的制定與選擇;對于深層分系統(tǒng),首先要實現(xiàn)其核心技術(shù),即基于案例庫數(shù)據(jù)的故障屬性分類模型轉(zhuǎn)換為貝葉斯網(wǎng)絡算法;深層分系統(tǒng)可利用該算法進行貝葉斯網(wǎng)絡因果結(jié)構(gòu)學習,并將案例庫中的自然語言形式的數(shù)據(jù)轉(zhuǎn)換為0-1化數(shù)據(jù),進行貝葉斯網(wǎng)絡參數(shù)數(shù)據(jù)學習;

      步驟9、結(jié)合即基于案例庫數(shù)據(jù)的故障屬性分類模型轉(zhuǎn)換為貝葉斯網(wǎng)絡算法對深層故障分系統(tǒng)進行構(gòu)建與實現(xiàn);

      步驟10、對淺層分系統(tǒng)與深層分系統(tǒng)構(gòu)建連接,完成多層次故障診斷專家系統(tǒng)的構(gòu)建,以實現(xiàn)基于故障案例庫實現(xiàn)淺層、深層分系統(tǒng)的數(shù)據(jù)上傳與下載,從而完成故障案例庫數(shù)據(jù)共享功能。

      其中,在步驟2中所述的“結(jié)合軟件缺陷分類方法構(gòu)建故障缺陷分類模型”,其作法如下:即參照目前已有的軟件缺陷分類方法,結(jié)合目前主流軟件缺陷分類方法的優(yōu)點,同時結(jié)合軟件缺陷本身的特點,尤其是軟件缺陷的發(fā)現(xiàn)、定位、排除和預防過程,完成軟件缺陷分類方法的定義與劃分,并在此缺陷分類方法的基礎上,根據(jù)被診斷對象自身的特點,對其故障現(xiàn)象、故障所發(fā)生的分系統(tǒng)等一系列待分析的故障屬性進行歸類總結(jié),完成故障屬性分類模型的構(gòu)建;

      其中,在步驟2中所述的“貝葉斯診斷網(wǎng)絡”,是指深層診斷分系統(tǒng)中的核心技術(shù),即貝葉斯網(wǎng)絡。貝葉斯網(wǎng)絡是一種概率網(wǎng)絡,它是基于概率推理的圖形化網(wǎng)絡,所謂概率推理就是通過一些變量的信息來獲取其他的概率信息的過程,基于概率推理的貝葉斯網(wǎng)絡是為了解決不定性和不完整性問題而提出的,它對于解決待診斷對象不確定性和關(guān)聯(lián)性引起的故障有很大的優(yōu)勢;

      其中,在步驟3中所述的“構(gòu)建軟件缺陷分類模型并進行形式化描述”,其作法如下:對適用于本發(fā)明的故障缺陷分類進行定義及劃分,在必要的情況下,可將已定義與劃分的缺陷類型繼續(xù)細化,直到缺陷類型相對完整為止。缺陷分類模型并不存在一個最終形式,當有新的缺陷類型出現(xiàn)時,這一缺陷類型就會添加至相應缺陷類型下進行更新。為了更好地利用缺陷分類模型,我們對該分類網(wǎng)的缺陷類型作出盡可能的細化,以最大限度地對案例進行匹配。在得出的缺陷分類模型后,我們可以使用超文本標記語言HTML或可擴展標記語言XML對缺陷模型中的分類進行表示,例如可以將編碼錯誤這一缺陷類型表示為CodingError或ce等;

      其中,在步驟4中所述的“針對被診斷對象的特點,構(gòu)建適用于被診斷對象的其他故障屬性分類模型”,其作法如下:對于不同被診斷對象,故障的發(fā)生現(xiàn)象、發(fā)生的位置這類屬性都有其各自特點,因此這些屬性并不能像故障缺陷一樣進行整合分類。因此,我們需要在進行FMEA分析時,對這些故障屬性信息進行概括總結(jié),進一步完成其他故障屬性分類模型的建立(模型建立方法同故障缺陷分類模型);

      其中,在步驟5中所述的“F-CBR技術(shù)”,是基于失效模式與影響分析形式的案例推理技術(shù),其作法如下:

      我們將案例看作一個集合

      c={name,phenomenon,cause,measure,keywords},其中name為案例的名稱;measure表示案例中問題措施措施的集合,該屬性一般是故障解決方法的描述;cause是案例發(fā)生的所有相關(guān)根源屬性的集合;phenomenon是故障現(xiàn)象屬性的集合,一個故障通常有一個或多個現(xiàn)象;keywords是從故障各屬性中提取的關(guān)鍵詞。由于案例庫是由多個案例組合的,我們用CL表示案例庫,則CL={c1,c2,...,ci,...,cn}。當有新問題出現(xiàn)時,淺層分系統(tǒng)會根據(jù)問題的描述從案例庫CL中找到與之最為相似的一個或多個案例,作為解決問題的依據(jù),這一過程稱為案例檢索。利用案例檢索,我們可以有效地計算出案例間的相似度。因此,當一個問題引入時,我們就能得到問題與案例庫CL中任意案例間的相似度,并從中選取相似度最高的案例作為分析根據(jù),如果該故障癥狀不存在匹配案例,則將其加入至失敗案例庫中,隨后轉(zhuǎn)交給深層診斷分系統(tǒng)進行處理。

      其中,在步驟6中所述的“結(jié)合F-CBR技術(shù)構(gòu)建淺層故障分系統(tǒng)”,其作法如下:主要分為三部分:

      (1)案例庫的構(gòu)建:根據(jù)診斷對象的不同,案例庫的表現(xiàn)形式也有所不同。我們采用一種通用的分層結(jié)構(gòu)對案例庫進行表示,即失效原因-失效模式-失效影響的分層次的案例庫體系,并以此構(gòu)建基于案例庫。對具有關(guān)聯(lián)關(guān)系的案例,則需要對案例庫進行二次分析、抽象提取,并結(jié)合已有的專家分析經(jīng)驗,建立各案例結(jié)構(gòu)的關(guān)聯(lián)規(guī)則庫。

      (2)推理框架的構(gòu)建:采用基于知識匹配的推理技術(shù)對推理框架進行構(gòu)建,該技術(shù)能夠?qū)ο嗨频囊?guī)則實例進行判斷,若查找到相似實例則輸出結(jié)果信息,若未找到相似實例則利用相似匹配技術(shù)對規(guī)則庫進行匹配,獲取相似規(guī)則。該技術(shù)可以克服框架、語義網(wǎng)絡等模型僅能表達處理信息的弱點和神經(jīng)網(wǎng)絡等方法不直觀的缺點。

      (3)學習框架的構(gòu)建:對于檢索案例庫中不存在的案例,不僅要給出相關(guān)記錄,還應將其存入知識庫中,以便下次使用;而對于不恰當或者不正確的推理結(jié)果時,應當將其糾正、改進,并重新入庫復用,為后續(xù)故障分析和故障恢復處理及時提供證據(jù)、提供必要的故障相關(guān)信息;

      其中,在步驟8中所述的“貝葉斯故障分析”,是指利用深層故障診斷分系統(tǒng)中的貝葉斯網(wǎng)絡對被診斷對象中復雜的,未知的故障進行概率推理,利用推理結(jié)果對故障進行分析。

      其中,在步驟8中所述的“貝葉斯網(wǎng)絡參數(shù)”,是指貝葉斯網(wǎng)絡從歷史數(shù)據(jù)或?qū)<医?jīng)驗中獲得必要的條件概率表;

      其中,在步驟9中所述的“結(jié)合即基于案例庫數(shù)據(jù)的故障屬性分類模型轉(zhuǎn)換為貝葉斯網(wǎng)絡算法對深層故障分系統(tǒng)進行構(gòu)建與實現(xiàn)”,其作法如下:

      1)利用貝葉斯網(wǎng)絡轉(zhuǎn)換算法生成診斷序列,進行探索式診斷測試,加快故障再現(xiàn);

      2)在貝葉斯網(wǎng)絡模型的基礎上,進行故障推理研究。為了能夠?qū)﹄S機故障進行推理,為每個待分析組件分配故障概率,表征其發(fā)生故障的可能性,及在故障時卻表現(xiàn)出正常行為的特征。擬采用極大似然值估計方法估計出觀測到的故障現(xiàn)象發(fā)生概率最大時每個概率的值,并同時利用貝葉斯方法獲得候選分析的后驗概率,建立基礎的貝葉斯分析推理框架;

      3)當被診斷系統(tǒng)復雜且含有多個故障的時候,貝葉斯網(wǎng)絡可能會面對一個節(jié)點過多產(chǎn)生的所謂“組合爆炸”問題,影響推理的有效性;因此,對于一個具體的診斷對象而言,我們有時需要考慮被診斷對象體系結(jié)構(gòu)等一些特征對在診斷模型進行優(yōu)化處理,如采用程序譜等弱故障模型,減少不必要的關(guān)聯(lián)性;

      4)對組合故障進行推理,利用前述貝葉斯方法結(jié)合最小命中集等集合算法對故障的組合情況進行推理排序;

      5)實現(xiàn)對多態(tài)故障(既包括隨機故障也包括非隨機故障)的分析。在貝葉斯隨機推理框架基礎上,擬借鑒多態(tài)系統(tǒng)理論,對故障概率進行動態(tài)貝葉斯估算,探索對多態(tài)故障分析推理優(yōu)化。

      通過上述步驟,可以完成對多層次軟件故障診斷專家系統(tǒng)的構(gòu)建,對于被診斷對象中已發(fā)生或類似的組合故障,可采用淺層故障診斷分系統(tǒng)的相似匹配搜索方式進行解決,對于被診斷對象中未發(fā)生或未知類型的組合故障,可采用深層故障診斷分系統(tǒng)的貝葉斯診斷網(wǎng)絡進行推理預測完成診斷。對于不同類型的故障采取不同的解決措施,從而完成軟件故障診斷。

      本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:目前,大部分專家系統(tǒng)只能進行對故障進行演繹推理,而本發(fā)明能夠利用經(jīng)驗知識與歷史數(shù)據(jù)對軟件故障進行歸納推理,并且在數(shù)據(jù)匱乏的情況下,能夠結(jié)合深層故障診斷技術(shù)進行不確定性推理完成診斷。同時,系統(tǒng)的診斷能力會隨著案例集的豐富而不斷提升,即系統(tǒng)具有自我完善能力。

      附圖說明

      圖1為本發(fā)明的總體步驟流程圖。

      圖2為本發(fā)明的基于失效模式與影響分析形式的案例推理技術(shù)(即“F-CBR”)的工作流程。

      圖3為本發(fā)明的淺層故障診斷分系統(tǒng)實現(xiàn)流程。

      圖4為本發(fā)明的淺層故障診斷分系統(tǒng)的軟件框架。

      圖5為本發(fā)明貝葉斯網(wǎng)絡轉(zhuǎn)換算法流程。

      圖6為本發(fā)明深層故障診斷分系統(tǒng)的實現(xiàn)技術(shù)方法。

      圖7為本發(fā)明中多層次診斷專家系統(tǒng)的整體軟件框架。

      圖中序號、符號、代號說明如下:

      圖1中的“步驟1~10”即技術(shù)方案中對應的步驟;

      圖1中的“F-CBR”即基于失效模式與影響分析形式的案例推理技術(shù);

      圖1,4,7中的“CBR”即基于案例的推理方法;

      圖1,2,3,4,6,7中的“FMEA”即失效模式與影響分析方法;

      圖3中的“XML”即可擴展標記語言;

      圖4,7中的“Lucene”即構(gòu)建診斷淺層故障診斷分系統(tǒng)所使用的開源全文檢索引擎工具包

      圖4,7中的“TF-IDF”即構(gòu)建診斷淺層故障診斷分系統(tǒng)所使用的相似度匹配算法;

      圖5中的“BN”即貝葉斯網(wǎng)絡;

      具體實施方式

      為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖進行詳細描述。

      本發(fā)明提出了一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法,利用該方法構(gòu)建的系統(tǒng)能夠根據(jù)不同故障的類型采用對應的機制進行診斷。對于被診斷對象中已出現(xiàn)過的軟件故障,已知其故障機理及可能的故障表現(xiàn),有相關(guān)的成功分析經(jīng)驗??墒褂脺\層故障診斷分系統(tǒng),通過案例庫進行相似匹配推理的方式,實現(xiàn)快速的故障分析。對于被診斷對象中發(fā)生的未知故障,其故障機理和故障表征事先未知,無現(xiàn)成可用的專家經(jīng)驗可借鑒時,可將故障轉(zhuǎn)交給深層故障診斷分系統(tǒng),利用貝葉斯診斷網(wǎng)絡進行相關(guān)推理分析。

      本發(fā)明一種多層次軟件故障診斷專家系統(tǒng)的構(gòu)建方法,如圖1所示,其具體構(gòu)建步驟如下:

      步驟一:搜集被診斷對象的故障案例,進行FMEA分析后,即可利用案例構(gòu)建案例庫。

      步驟二:構(gòu)建故障屬性分類模型。對于故障屬性分類模型的建立,首先是創(chuàng)建故障原因分類模型,即故障缺陷分類模型,而故障缺陷分類模型的建立,則需要結(jié)合軟件缺陷分類法。傳統(tǒng)的軟件缺陷分類方法,有的分類方法簡單,但缺陷信息量不足,無法有效幫助進行缺陷的修復;有的沒有考慮缺陷發(fā)生的過程原因,不適用于軟件過程改進活動;有的分類又過于復雜,導致難以把握分類標準。因此,我們需要結(jié)合目前主流軟件缺陷分類方法的優(yōu)點,同時結(jié)合軟件缺陷本身的特點,尤其是軟件缺陷的發(fā)現(xiàn)、定位、排除和預防過程,提出適用于絕大部分軟件缺陷分類方法,指導軟件缺陷的分類,為軟件缺陷定位、修復及預防提供準確、完整的信息。

      步驟三:對適用于本發(fā)明的故障缺陷分類模型進行定義及劃分,根據(jù)實際的使用需求,我們定義該分類網(wǎng)由11個大類組成,分別為:編碼錯誤;接口錯誤;結(jié)構(gòu)錯誤;測試錯誤;數(shù)據(jù)錯誤;性能缺陷;功能缺陷;設計階段缺陷;軟件集成錯誤;需求分析缺陷;其他缺陷等。

      在這11種缺陷類型中,每個類型都可以繼續(xù)進行分化。在此,我們利用數(shù)據(jù)結(jié)構(gòu)中“樹”的定義,將繼續(xù)分化的類型看作其“樹葉”,即缺陷類型的分支。這些細化出的樹葉也可以繼續(xù)分化,直到缺陷類型相對完整為止。

      可以看出,該分類模型并不存在一個最終形式,當有新的缺陷類型出現(xiàn)時,這一缺陷類型就會根據(jù)分類模型添加邏輯準則,添加至相應樹葉下進行更新。為了更好地利用缺陷分類模型,我們對該分類網(wǎng)的缺陷類型作出盡可能的細化,以最大限度地對案例進行匹配,最后得出的缺陷分類模型。

      對于缺陷分類模型,我們也能使用例如JSP、HTML、XML等語言進行表示,為便于表示,需要將每種缺陷類型表示為特定的英文縮略語或字母,例如可以將編碼錯誤表示CodingError或ce等。

      步驟四:對于不同被診斷對象,故障的發(fā)生現(xiàn)象、發(fā)生的位置這類屬性都有其各自特點,因此這些屬性并不能像原因?qū)傩砸粯舆M行整合分類。因此,我們需要在進行FMEA分析時,對這些故障屬性信息進行概括總結(jié),進一步完成其他故障屬性分類模型的建立(模型建立方法同缺陷屬性分類模型)。

      步驟五:為了實現(xiàn)CBR與FMEA的結(jié)合使用,必須首先使用準確的形式將案例表示出來,在不影響知識表現(xiàn)形式的基礎上,將FMEA的失效模式和影響信息融合到案例中,采用FMEA形式的案例表示形式,實現(xiàn)兩者的融合應用。

      我們可以把這兩種結(jié)合后的技術(shù)稱為F-CBR(FMEA-style CBR)技術(shù),利用F-CBR技術(shù)建立的案例庫可以應用到后面深層故障診斷的貝葉斯網(wǎng)絡中。F-CBR的優(yōu)勢在于,在完成故障輸入后,可以快速高效地從案例庫中檢索到相似案例。并且,通過修改案例庫的方式,F(xiàn)-CBR可以輕松地應用于其診斷對象中。由于案例庫的數(shù)據(jù)會隨著案例的加入而不斷豐富,F(xiàn)-CBR對于故障的診斷也會更加準確。

      F-CBR技術(shù)方法如下:對于案例,我們可以將其看作一個集合c={name,phenomenon,cause,measure,keywords},其中name為案例的名稱;measure表示案例中問題措施措施的集合,該屬性一般是故障解決方法的描述;cause是案例發(fā)生的所有相關(guān)根源屬性的集合;phenomenon是故障現(xiàn)象屬性的集合,一個故障通常有一個或多個現(xiàn)象;keywords是從故障各屬性中提取的關(guān)鍵詞。

      由于案例庫是由多個案例組合的,我們用CL表示案例庫,

      則CL={c1,c2,...,ci,...,cn}。

      當有新問題出現(xiàn)時,淺層分系統(tǒng)會根據(jù)問題的描述從案例庫CL中找到與之最為相似的一個或多個案例,作為解決問題的依據(jù),這一過程稱為案例檢索。利用案例檢索,我們可以在CBR中有效地計算出案例間的相似度。因此,當一個問題引入時,我們就能得到問題與案例庫CL中任意案例間的相似度,并從中選取相似度最高的案例作為分析根據(jù),如果該故障癥狀不存在匹配案例,則將其加入至失敗案例庫中,隨后轉(zhuǎn)交給深層診斷分系統(tǒng)進行處理,F(xiàn)-CBR技術(shù)的工作流程如圖2所示。

      步驟六:結(jié)合F-CBR技術(shù)構(gòu)建淺層診斷分系統(tǒng),淺層診斷分系統(tǒng)的實現(xiàn)流程如圖3所示。根據(jù)診斷對象的不同,案例庫的表現(xiàn)形式也有所不同。這里,我們采用一種通用的分層結(jié)構(gòu)對案例庫進行表示,即失效原因-失效模式-失效影響的分層次的案例庫體系,并以此構(gòu)建基于案例庫。對具有關(guān)聯(lián)關(guān)系的案例,則需要對案例庫進行二次分析、抽象提取,并結(jié)合已有的專家分析經(jīng)驗,建立各案例結(jié)構(gòu)的關(guān)聯(lián)規(guī)則。

      在淺層故障診斷分系統(tǒng)中,知識規(guī)則庫不是一個必要的選項,單獨利用案例庫也可以進行案例檢索,但為能夠最大化地利用案例中所攜帶的有益信息,作為一個可選項對其進行進一步加工提煉,形成能夠體現(xiàn)一定模式的故障傳播鏈條,便于對相似故障進行分析推理;也可以為后續(xù)的深層故障推理提供可能的故障原因來源。從實現(xiàn)的角度,我們將以一個單獨的模塊接口,提供各種邏輯關(guān)系便于相應的知識規(guī)則。

      核心推理模塊采取知識匹配的方法對知識庫進行搜索,這也符合常規(guī)的故障分析思路,并可以克服框架、語義網(wǎng)絡等模型僅能表達處理信息的弱點和神經(jīng)網(wǎng)絡等方法不直觀的缺點。

      對于檢索案例庫中不存在的案例,不僅要給出相關(guān)記錄,還應將其存入知識庫中,以便下次使用;而對于不恰當或者不正確的推理結(jié)果時,應當將其糾正、改進,并重新入庫復用,為后續(xù)故障分析和故障恢復處理及時提供證據(jù)、提供必要的故障相關(guān)信息。

      步驟七:基于開源搜索引擎實現(xiàn)淺層診斷分系統(tǒng)。本發(fā)明采用了開源搜索引擎,并進行適應性改進,實現(xiàn)對交聯(lián)相關(guān)案例的有效匹配。

      案例表示主要是指對案例的特征進行抽取,是指抽取待求解問題的特征及特征間的關(guān)系,并將其輸入系統(tǒng)。什么是案例以及案例如何表示,如何在案例庫中存放案例是基于案例的推理中要解決的首要問題。在基于案例的推理系統(tǒng)中,所謂案例就是問題求解的狀態(tài)及對其求解的策略。一般的,一個案例包含問題的初始狀態(tài),問題求解的目標狀態(tài)以及求解的方案。案例的內(nèi)容隨具體求解領域不同可能略有差異,對于簡單的情況,一個案例就是導致特定結(jié)果的一系列特征。但對于一個復雜的問題,案例所含的內(nèi)容就很復雜,一個復雜的案例甚至可以是若干個子案例的組合。在本發(fā)明中,我們使用了開源搜索引擎Lucene并結(jié)合相似度匹配算法TF-IDF,實現(xiàn)了對案例庫中類似案例的匹配,效果十分良好。本發(fā)明的淺層分系統(tǒng)軟件框架如圖4所示。

      步驟八:建立深層故障診斷分系統(tǒng)的貝葉斯網(wǎng)絡。在淺層故障診斷分系統(tǒng)中,本發(fā)明結(jié)合案例案例庫,結(jié)合F-CBR技術(shù)實現(xiàn)了相似案例匹配推理的故障診斷。在深層故障診斷技術(shù)中,我們可以再次利用該案例庫,并結(jié)合故障屬性分類模型,實現(xiàn)貝葉斯網(wǎng)絡的參數(shù)學習。在本發(fā)明中將使用一種創(chuàng)新的貝葉斯網(wǎng)絡的算法,該算法可以提高貝葉斯網(wǎng)絡的構(gòu)建效率,并能自動將FMEA形式的案例庫轉(zhuǎn)化為貝葉斯網(wǎng)絡。

      該算法具體實現(xiàn)如下所示:在這里,我們利用案例庫中的故障原因、故障現(xiàn)象及配置項/分系統(tǒng)屬性作舉例,以實現(xiàn)貝葉斯網(wǎng)絡的構(gòu)建。

      完成了貝葉斯網(wǎng)絡的結(jié)構(gòu)學習。下一步驟就是利用貝葉斯網(wǎng)絡進行參數(shù)學習,即利用貝葉斯網(wǎng)絡從歷史數(shù)據(jù)或?qū)<医?jīng)驗中獲得必要的條件概率表。為便于進行參數(shù)學習,需要參照屬性歸類映射表,將故障案例屬性數(shù)據(jù)轉(zhuǎn)換為故障頻譜的形式。

      該算法的流程圖如圖5所示

      步驟九:本發(fā)明的深層故障診斷分系統(tǒng)的實現(xiàn)技術(shù)方法如圖6所示。其構(gòu)建方法是:

      1)利用改進的算法生成診斷序列,進行探索式診斷測試,加快故障再現(xiàn);

      2)在貝葉斯網(wǎng)絡模型的基礎上,進行故障推理研究。為了能夠?qū)﹄S機故障進行推理,為每個待分析組件分配故障概率,表征其發(fā)生故障的可能性,及在故障時卻表現(xiàn)出正常行為的特征。擬采用極大似然值估計方法估計出觀測到的故障現(xiàn)象發(fā)生概率最大時每個概率的值,并同時利用貝葉斯方法獲得候選分析的后驗概率,建立基礎的貝葉斯分析推理框架;

      3)當被診斷系統(tǒng)復雜且含有多個故障的時候,貝葉斯網(wǎng)絡可能會面對一個節(jié)點過多產(chǎn)生的所謂“組合爆炸”問題,影響推理的有效性;因此,對于一個具體的診斷對象而言,我們有時需要考慮被診斷對象體系結(jié)構(gòu)等一些特征對在診斷模型進行優(yōu)化處理,如采用程序譜等弱故障模型,減少不必要的關(guān)聯(lián)性;

      4)對組合故障進行推理,利用前述貝葉斯方法結(jié)合最小命中集等集合算法對故障的組合情況進行推理排序;

      5)實現(xiàn)對多態(tài)故障(既包括隨機故障也包括非隨機故障)的分析。在貝葉斯隨機推理框架基礎上,擬借鑒多態(tài)系統(tǒng)理論,對故障概率進行動態(tài)貝葉斯估算,探索對多態(tài)故障分析推理優(yōu)化。

      步驟十:淺層與深層分系統(tǒng)整合。在本發(fā)明中,案例庫中的數(shù)據(jù)可以自動更新也可以人工更新。并且,案例庫對淺層與深層分系統(tǒng)提供了一些接口,兩個分系統(tǒng)可以利用這些接口實現(xiàn)與案例庫的連接,完成數(shù)據(jù)的上傳與下載,通過這些接口使得系統(tǒng)具有一定的開放性和擴展性,便于與其他更多的系統(tǒng)集成使用。整合淺層與深層分系統(tǒng)的軟件實現(xiàn)框架如圖7所示。

      其中,在步驟七中所述的Lucene,是apache軟件基金會4jakarta項目組的一個子項目,是一個開放源代碼的全文檢索引擎工具包,Lucene的目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便的在目標系統(tǒng)中實現(xiàn)全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎;

      在步驟七中所述的TF-IDF算法是一種相似度統(tǒng)計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現(xiàn)的次數(shù)成正比增加,但同時會隨著它在語料庫中出現(xiàn)的頻率成反比下降。TF-IDF加權(quán)的各種形式常被搜索引擎應用,作為文件與用戶查詢之間相關(guān)程度的度量或評級;

      在步驟八中所述的BN是貝葉斯網(wǎng)絡的縮寫英文名稱;

      通過上述步驟,可以完成對多層次軟件故障診斷專家系統(tǒng)的構(gòu)建,對于被診斷對象中已發(fā)生或類似的組合故障,可采用淺層故障診斷分系統(tǒng)的相似匹配搜索方式進行解決,對于被診斷對象中未發(fā)生或未知類型的組合故障,可采用深層故障診斷分系統(tǒng)的貝葉斯診斷網(wǎng)絡進行推理預測完成診斷。對于不同類型的故障采取不同的解決措施,從而完成軟件故障診斷。

      本發(fā)明未詳細闡述部分屬于本領域公知技術(shù)。

      以上所述,僅為本發(fā)明部分具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本領域的人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1