劉夢玥,李繼安,黃茂生
(工業(yè)和信息化部電子第五研究所,廣東 廣州 510610)
軟件密集型裝備軟硬件故障模式研究
劉夢玥,李繼安,黃茂生
(工業(yè)和信息化部電子第五研究所,廣東 廣州 510610)
針對軟件密集型裝備的故障特征,采用文本聚類的方法對收集的軟硬件故障數(shù)據(jù)進行聚類分析,并根據(jù)軟件密集型裝備中軟件與硬件、環(huán)境相互作用的故障特點,提出了 “環(huán)境特征類型-硬件故障模式-軟件故障模式”的軟硬件故障模式表示方式,最終提煉并形成了軟件密集型裝備軟硬件故障模式,為裝備故障的定位、分析和診斷提供了有益的參考。
軟件密集型裝備;軟硬件故障;故障模式;文本聚類
武器裝備的信息化水平不斷地提高,使得軟件密集型裝備不斷地取代傳統(tǒng)的武器裝備,逐步地成為了現(xiàn)代戰(zhàn)爭中的決定性力量。軟件密集型裝備是軟件與硬件緊密結(jié)合而成的復雜系統(tǒng)[1]。由于軟件質(zhì)量控制難以達到硬件的水平,其可靠性往往比硬件低一個數(shù)量級[2],軟件缺陷導致裝備失效的概率也在增大。外場試驗反映的問題數(shù)據(jù)表明,由于單純硬件原因?qū)е孪到y(tǒng)出現(xiàn)故障的比例在逐漸地降低,而軟件相關(guān)原因?qū)е碌墓收媳壤诜€(wěn)步地增長。因此,軟件密集型裝備在未來戰(zhàn)場能力的發(fā)揮很大程度上依賴于軟件或軟件與硬件的共同作用[3]。軟件和硬件相互作用引發(fā)的故障是裝備故障中一種較為新型的故障,由于這種故障遠比單純的軟件或者硬件故障要復雜得多,與傳統(tǒng)的軟件或硬件故障存在較大的差異,因此其給裝備故障分析和診斷工作帶來了巨大的挑戰(zhàn)。
一般在研究產(chǎn)品的故障時,往往從產(chǎn)品的故障現(xiàn)象入手,進而通過現(xiàn)象 (即故障模式)找出故障原因;同時,故障模式是進行FMECA的基礎(chǔ),也是進行其他故障分析 (例如:故障樹分析、事件樹分析等)的基礎(chǔ)之一。國軍標GJB 451A-2005《可靠性維修性保障性術(shù)語》中指出,故障模式是故障的表現(xiàn)形式,是對軟件所有的外在故障現(xiàn)象的一個具體描述,針對所得到的故障現(xiàn)象,按照一定的方法、條件對故障現(xiàn)象進行抽象性的描述而形成故障模式。
目前,一般研究人員或是研究一般設備的軟件或硬件故障模式[4],或是研究軟件密集型裝備的故障診斷模型[4-5],而針對軟件密集型裝備的故障分類和故障模式研究得較少[6]。因此,研究軟件密集型裝備軟硬件結(jié)合的故障特點及其故障模式,對于改善軟件密集型裝備的質(zhì)量顯得尤為重要。
首先,分析了軟件密集型裝備的故障及其特征;然后,在對軟件密集型裝備的外場故障數(shù)據(jù)進行收集和統(tǒng)計的基礎(chǔ)上,使用文本聚類的方法對收集的故障數(shù)據(jù)進行了聚類分析;最后,提煉并形成了軟件密集型裝備軟硬件的故障模式。
故障是指因系統(tǒng)中部分元器件的功能失效而導致整個系統(tǒng)功能惡化的事件[7]。軟件密集型裝備以軟件為主體,裝備的主要功能由軟件來實現(xiàn),軟件故障在軟件密集型裝備的故障中占比較高。但與傳統(tǒng)的裝備軟件故障不同,軟件密集型裝備是一個軟件和硬件緊密結(jié)合的系統(tǒng),軟件和硬件存在復雜的相互作用,使得故障的發(fā)生和傳播過程異常復雜。一方面,潛在的缺陷在系統(tǒng)運行時因特定條件激發(fā),并通過軟硬件相互作用在系統(tǒng)中傳播,最終引起系統(tǒng)失效;另一方面,硬件故障也會在軟硬件相互作用下傳播到軟件模塊中,引起軟件故障并導致系統(tǒng)失效[8]。
因此,在軟件密集型裝備中,由于軟件和硬件相互作用而導致的軟硬件故障是軟件密集型裝備的典型故障。作為一種復雜的故障,軟硬件故障除普通故障所具有的層次性、相關(guān)性和隨機性等特性之外,還具有不確定性、交叉?zhèn)鞑バ缘忍卣鱗9],具體的內(nèi)容如下所述。
a)層次性
即故障的 “縱向性”。軟件密集型裝備從結(jié)構(gòu)上可劃分為系統(tǒng)、軟件或硬件子系統(tǒng)、模塊和部件等各個層次,其功能也可劃分為若干層次,因而其故障也有不同的層次。任何故障都是與系統(tǒng)的某一層次相聯(lián)系的,高層次的故障可以由低層次的故障所引起,而低層次的故障必定引起高層次的故障。
b)相關(guān)性
即故障的 “橫向性”。這是由軟件密集型裝備軟件和硬件各個元素之間的聯(lián)系所決定的。當一個元素或聯(lián)系發(fā)生故障后,可能導致與其相關(guān)的元素或聯(lián)系的狀態(tài)發(fā)生變化,進而引起相關(guān)元素或聯(lián)系也發(fā)生故障。某一軟硬件故障可能對應若干軟件或硬件的異?,F(xiàn)象,而某一軟件或硬件的異?,F(xiàn)象可能對應若干軟件或硬件的故障。
c)隨機性
即故障的 “頻率性”。在軟件密集型裝備中,軟件不會像硬件那樣損耗,其故障主要是軟件中殘留的設計錯誤造成的。當軟件運行在某一特定的條件時,這些軟件錯誤就會觸發(fā)并使得軟件運行的內(nèi)部狀態(tài)發(fā)生意外的改變,引發(fā)軟件故障。隨著軟件密集型裝備運行環(huán)境的改變,軟硬件故障的發(fā)生呈現(xiàn)隨機性。
d)不確定性
不確定性是軟件密集型裝備中軟硬件故障的一個重要特征。一方面,故障的發(fā)生具有不確定性,同一軟件密集型裝備在不同的時間和工作條件下,軟件模塊的作用方式是不確定的,從而導致其狀態(tài)和行為也不確定,因而其形成的故障也是不確定的;另一方面,故障的原因也具有不確定性,即使在確定的故障現(xiàn)象下,也不能單純地將故障原因歸結(jié)為軟件或硬件故障。
e)交叉?zhèn)鞑バ?/p>
交叉?zhèn)鞑バ允侵冈谲浖芗脱b備中,軟件和硬件之間存在信息交互,為故障的傳播提供了更多的途徑,在軟件和硬件的相互作用下,故障既可以從軟件程序傳播到硬件元器件,也可由硬件元器件傳播到軟件程序。
對于軟硬件故障數(shù)據(jù),直接的表示形式為文本,而文本作為一種特殊的數(shù)據(jù)對象,主要依靠人的經(jīng)驗和主觀進行分類,具有隨意性,不具有精確性。而文本聚類分析能夠根據(jù)文本之間的某種聯(lián)系或相關(guān)性,對文本信息進行有效的劃分,具有一定的靈活性和較高的自動化處理能力。因此,本文中將采用文本聚類的方法對軟硬件故障數(shù)據(jù)的類別進行劃分。
簇是數(shù)據(jù)對象的集合,同一簇中的對象彼此相似,而不同簇中的對象彼此相異。將物理或抽象對象的集合劃分為相似的對象的簇的過程稱為聚類。聚類分析就是按照一定的規(guī)律和要求對事物進行區(qū)分和分類的過程。在這一過程中沒有任何關(guān)于類屬的先驗知識,僅靠事物之間的相似性作為類屬劃分的準則。一個數(shù)據(jù)集合可以分成幾個簇,從機器學習的角度來講,聚類分析是一種沒有預先定義的類屬即無監(jiān)督分類。文本聚類是一個將文本集合進行全自動分類處理的過程,是一種典型的無監(jiān)督機器學習。類是通過相關(guān)文本發(fā)現(xiàn)的一些組,同一個類內(nèi)的文本和其他類的文本相比特征更為接近[10]。因此,文本聚類的目標就是將文本集合分成若干個簇,要求同一簇內(nèi)文本內(nèi)容的相似度盡可能地大,而不同簇之間的相似度盡可能地小[11],從而發(fā)現(xiàn)整個文本集合的整體分布特點。文本聚類的流程可大致分為:文本預處理→分詞→特征項表示→構(gòu)造向量→聚類算法等幾個環(huán)節(jié)。
文本聚類的算法有很多種,常見的算法主要有K-MEANS均值聚類方法、層次聚類方法和神經(jīng)網(wǎng)絡方法等。我們選擇K-MEANS均值聚類方法對故障數(shù)據(jù)進行聚類。K-MEANS算法是一種基于樣本之間相似性度量的間接聚類方法,屬于無監(jiān)督學習方法[12]。該方法的工作原理[13]如下所述。
首先,從n個數(shù)據(jù)對象中任意選擇k個對象作為初始聚類中心;而對于所剩下的其他對象,則根據(jù)它們與這些聚類中心的相似度 (距離),分別將它們分配給與其最相似的 (聚類中心所代表的)聚類;然后,再計算每個所獲新聚類的聚類中心 (該聚類中所有對象的均值);最后,不斷重復這一過程直到標準測度函數(shù)開始收斂為止。一般都采用均方差作為標準測度函數(shù)。k個聚類具有以下特點:各聚類本身盡可能地緊湊,而各聚類之間盡可能地分開。
K-MEANS算法的基本步驟如下 (流程圖如圖1所示):
1)選取k個對象作為初始的聚類種子;
2)根據(jù)聚類種子的值,將每個對象重新賦給最相似的簇;
3)重新計算每個簇中對象的平均值,用此平均值作為新的聚類種子;
4)重復執(zhí)行2)、3)步,直到各個簇不再發(fā)生變化為止。
圖1 K-MEANS算法流程圖
基于K-MEANS算法的文本聚類,需注意初始聚類中心的選取,使得初始聚類中心盡可能地符合故障的客觀情況。
軟件密集型裝備在外場試驗階段、部隊試用階段和交付部隊后使用階段中,均會產(chǎn)生大量的外場使用信息和故障數(shù)據(jù)。這些數(shù)據(jù)反映了軟件密集型裝備在實際使用環(huán)境和維護條件下的真實特性。準確、完整地統(tǒng)計和分析這些數(shù)據(jù),對軟件密集型裝備軟硬件故障的分析工作具有重要的意義。
本文將軟件密集型裝備作為被收集對象,收集外場試驗或部隊使用過程中軟件密集型裝備出現(xiàn)的軟硬件故障數(shù)據(jù),并對收集到的故障數(shù)據(jù)進行規(guī)范化處理,完善各個故障的描述信息,將處理后的數(shù)據(jù)作為軟硬件故障聚類分析的基礎(chǔ)。在收集的故障數(shù)據(jù)中,選取了30個軟硬件故障數(shù)據(jù),并從中提取到87個不重復的特征詞作為特征向量,例如:傳感器、雜波、電流、干擾、控制和設計等故障數(shù)據(jù)中表述故障現(xiàn)象、故障原因和故障處理的關(guān)鍵名詞或動詞,再根據(jù)K-MEANS算法,對這些軟硬件故障數(shù)據(jù)進行文本聚類。具體的過程為:
1)選擇7個故障作為聚類中心 (被選擇的故障要求具有明顯的區(qū)別,可以認定屬于不同類別的故障);
2)對故障案例數(shù)據(jù)進行預處理,包括處理數(shù)據(jù)所在的文件格式、文件中故障數(shù)據(jù)的表現(xiàn)形式,并對故障數(shù)據(jù)進行簡單的濾詞 (去噪);
3)對從故障信息中所提取的數(shù)據(jù)流進行分詞處理;
4)將故障信息的特征向量作為歐氏距離的多維坐標,對故障文本建立向量空間模型;
5)通過Java代碼實現(xiàn)基于K-MEANS的文本聚類。
結(jié)果表明,經(jīng)過4輪循環(huán),全部30個故障數(shù)據(jù)最終聚集為7個類別,使用K-MEANS算法得到的聚類結(jié)果如表1所示。
在得到故障數(shù)據(jù)的分類結(jié)果后,本文提出一種故障模式的表示方法,實現(xiàn)對每一類故障數(shù)據(jù)的抽象描述。
故障模式是指對系統(tǒng)所有的外在故障現(xiàn)象的一個具體描述,針對得到的故障現(xiàn)象,按照一定的方法、條件對故障現(xiàn)象進行抽象性的描述形成故障模式[5]。軟件密集型裝備具有復雜性的特點,這種復雜系統(tǒng)一般具有多種任務功能,而每個任務剖面又由多個任務階段組成,任務能否正確完成與操作條件和環(huán)境變化均具有密切的聯(lián)系。因此,在提出故障模式的表示方法前,需要對軟件密集型裝備的故障模式出現(xiàn)的環(huán)境或操作條件進行分析。
依據(jù)軟件密集型裝備的特點和外場收集的故障數(shù)據(jù)可知,軟件密集型裝備的故障絕大部分為軟硬件故障,或者可稱之為軟件、硬件或環(huán)境共同作用而導致的故障。這些故障是由軟件、硬件或者外部運行環(huán)境相互作用而導致的,并最終表現(xiàn)在以硬件為主要形式的系統(tǒng)上。
表1 故障數(shù)據(jù)聚類結(jié)果
針對軟件密集型裝備中的軟硬件故障模式,給出如下說明:這種軟硬件故障模式是指在某種環(huán)境或外部操作下,不可預見的具有物理 (如機械的、電的)、化學或其他屬性的操作或應力直接作用于軟件密集型裝備硬件部件,隨著時間的累積,進一步地作用于軟件,從而導致軟件運行異常,再反作用于部件或系統(tǒng),進而引發(fā)系統(tǒng)的行為與預期不一致的可觀察的表現(xiàn),這種表現(xiàn)在特定環(huán)境中具有一般性和共性,能夠造成相應的故障后果,并能夠通過某種手段被修正[14]。 其中, “環(huán)境”同時反映了測試和使用者視點,描述了故障發(fā)生的語境,是應力和相應操作的組合。
由上述說明可知,軟硬件故障產(chǎn)生的環(huán)境由應力與操作的組合共同構(gòu)成。這里的應力指裝備所處物理環(huán)境的特征,例如:電磁環(huán)境、溫度環(huán)境、振動環(huán)境、濕度環(huán)境和電應力環(huán)境等,這些特征變化給裝備系統(tǒng)的運行帶來干擾;而操作是指不可預見的操作條件變化,這些變化往往會引起裝備系統(tǒng)部件或硬件處于一個“不正?!钡臓顟B(tài) (即不能滿足裝備軟件的正常運行)。
鑒于軟件密集型裝備的復雜性,對于軟硬件故障模式,本文參考GJB 841-1990《故障報告分析與糾正措施》、GJB/Z 1391-2006《故障模式、影響及危害性分析指南》中的故障模式分類,篩選出典型軟件故障模式、硬件故障模式和環(huán)境特征類型 (如表2所示),將軟件故障模式、環(huán)境特征類型和硬件故障模式進行正交組合,依據(jù)軟件密集型裝備中軟件與硬件、環(huán)境相互作用的故障特征,并 根據(jù)實際使用中收集的數(shù)據(jù)和工程經(jīng)驗對正交組合進行優(yōu)化,形成了軟件密集型裝備的軟硬件故障模式的表述方式,具體的過程如圖3所示。
表2 環(huán)境特征類型、硬件故障類型和軟件故障類型舉例
圖3 軟件密集型裝備的軟硬件故障模式
以下將運用圖3提出的軟件密集型裝備的軟硬件故障模式表示方法,實現(xiàn)對聚類分析結(jié)果中每一類故障的抽象描述,并驗證軟硬件故障模式表示方法的可行性。具體的過程為:選取聚類分析結(jié)果中某一類故障數(shù)據(jù),從故障現(xiàn)象、故障原因等描述中提煉出環(huán)境特征和硬件失效模式、軟件失效模式的相關(guān)內(nèi)容,將其與表2中的典型環(huán)境特征類型、典型硬件故障類型和典型軟件故障類型進行匹配與組合,得到軟硬件故障模式的最終表述。
按照上述方法最終可以得到全部7個類別軟硬件故障數(shù)據(jù)的故障模式 (如表3所示)。
表3 軟硬件故障數(shù)據(jù)的故障模式
本文首先分析了軟件密集型裝備軟硬件故障的特征,并通過文本聚類的方法對外場收集的軟件密集型裝備的軟硬件故障數(shù)據(jù)進行分類,在此基礎(chǔ)上,提出了 “典型環(huán)境特征類型-硬件故障模式-軟件故障模式”的軟硬件故障模式的表示方法,為提高軟件密集型裝備故障的定位、分析和診斷效率,降低產(chǎn)品生命周期的費用提供了保障,同時也為開發(fā)人員進行缺陷預計提供了借鑒。
[1]梁洪波,慕曉冬,帥桂華,等.軟件密集型裝備故障的靜態(tài)檢測 [J].微計算機信息,2008, 24 (22): 195-196; 261.
[2]陸民燕.軟件可靠性參數(shù)研究 [J].北京航空航天大學學報,2001,27(2):241-244.
[3]周婕,慕曉冬,王杰.一種基于程序切片算法的軟件故障診斷策略 [J].微電子學與計算機,2006, 23 (8): 110-112; 116.
[4]徐靜雯,周繼恩,施躍躍,等.軟件密集型系統(tǒng)的故障診斷技術(shù)研究 [J].計算機應用與軟件,2012,29(2):175-178.
[5]帥桂華,慕曉冬,梁洪波,等.軟件密集型裝備中軟硬件故障診斷模型的建立 [J].微計算機信息,2008,24(7): 203-204.
[6]胡仁飛.故障模式與影響分析 [J].電腦知識與技術(shù),2014, 10 (21): 5011-5013.
[7]戴學君.廣義系統(tǒng)觀測器設計及故障診斷[D].天津:天津大學,2004.
[8]易昭湘,慕曉冬,楊眉,等.基于狀態(tài)監(jiān)控的軟硬件故障檢測方法 [J].儀器儀表黨報, 28 (8):347-351.
[9]慕曉冬,易昭湘,趙鵬,等.軟件密集型裝備軟硬件故障理論及分析[M].西安:電子科技大學出版社,2015.
[10]王偉.文本自動聚類技術(shù)研究 [J].情報雜志,2009(2): 94-97.
[11]馬素琴.基于相似度的文本聚類算法研究及應用 [D].鎮(zhèn)江:江蘇大學,2010.
[12]李春富,鄭小青,葛銘.基于改進聚類算法的RBF網(wǎng)絡及其應用 [J].南京工業(yè)大學黨報 (自然科學版),2011, 33 (6): 72-76.
[13]周愛武,崔丹丹,潘勇.一種優(yōu)化初始聚類中心的K-means聚類算法 [J].微型機與應用,2011,30(13):1-3;9.
[14]HU X, YANG C, LI D, et al.The time/state-based software-intensive systems failure mode researches[C]//IEEE 7th International Conference on Software Security&Reliability Companion, 2013: 116-124.
Research on Software and Hardware Fault Mode of Software-intensive Equipment
LIU Mengyue, LI Ji'an, HUANG Maosheng
(CEPREI, Guangzhou 510610, China)
Aiming at the fault characteristics of software-intensive equipment, the method of text clustering is used to cluster the collected software and hardware fault data.And then,according to the fault characteristics that software,hardware and environment interact with each other in software-intensive equipment,a hardware and software fault mode representation of“ environment characteristic type-hardware fault mode-software fault mode” is put forward.Finally, the software and hardware fault mode of software-intensive equipment is formed, which provides a useful reference for fault location, analysis and diagnosis of equipment.
software-intensive equipment; software and hardware fault; fault mode; text clustering
TB 114.35
A
1672-5468(2017)04-0042-07
10.3969/j.issn.1672-5468.2017.04.008
2016-12-13
劉夢玥 (1984-),女,天津人,工業(yè)和信息化部電子第五研究所軟件質(zhì)量工程研究中心工程師,碩士,主要從事軟件測試、軟件可靠性方面的研究工作。
關(guān)于防范不法分子對本刊作者進行詐騙的聲明
近來發(fā)現(xiàn)有非法網(wǎng)站和不法分子盜用我刊之名對外征稿或?qū)ψ髡哌M行詐騙,并收取審稿費和版面費,欺騙作者以非法斂財。據(jù)反映,
作者收到如下內(nèi)容的詐騙郵件:
1.初審用稿通知:XX作者,您撰寫的論文已收閱。經(jīng)初閱,您的論文符合初審要求。根據(jù)規(guī)定,您的論文應辦理復審費: 300元,如果復審未能通過訂金可退還。請盡快辦理定金,以免延誤刊期)
請您及時辦理相關(guān)費用,以便安排復審 (如需加急或調(diào)整刊期請在辦理訂金后和編輯溝通相關(guān)事宜)
另外,匯款后請務必回復郵件 (劉編輯電話:13161775081如果占線請發(fā)短信或郵件)
注:此通知只做初審通知使用,不是錄用通知,希望您多投優(yōu)秀稿件。請勿一稿多投。如果您的文章通過復審,此費用含在版面費內(nèi)。
辦理方式:銀行:建行持卡人:趙秀明賬號:6217 0000 1006 4814 679開戶行:建行北京良鄉(xiāng)昊天支行
匯款說明:可跨行,可支付寶,可網(wǎng)銀轉(zhuǎn)賬,轉(zhuǎn)賬附言請務必填寫第一作者姓名,轉(zhuǎn)賬后請將發(fā)票抬頭和郵寄地址填寫完整。
2.稿件采用通知:XX作者,您撰寫的XX一文,已經(jīng)過我刊編委會審核通過,擬定2016年第3期發(fā)表,并收取版面費800元,刊出后我刊將會贈送刊物2冊以供使用。感謝您對我刊的關(guān)注與支持!
我刊對此非法行為表示強烈的譴責,并將進一步追究其法律責任。
為防廣大作者受騙,我刊特此作如下鄭重聲明:
1.投稿方式:我刊目前唯一公開使用的投稿專用電子郵箱為kkx@ceprei.com,kkx@vip.ceprei.com除此以外均為非正常投稿途徑;官網(wǎng)epret.ceprei.com正在改版,在線投稿系統(tǒng)暫停使用。
2.本刊編輯部查詢電話為:020-87237043。
3.本刊編輯部沒有 “劉編輯、趙秀明”等人。
4.作者如收到上述類似郵件,請及時與本刊編輯部聯(lián)系,以免上當受騙。
5.本刊編輯部地處廣州,隸屬于工業(yè)和信息化部電子第五研究所,我們的收款方式如下:
收款單位:工業(yè)和信息化部電子第五研究所9(9是本所財務給本部門的編號)
開戶銀行:中信銀行廣州分行 (帳務中心或營業(yè)部)
銀行帳號:7443020183100002212
敬請廣大作者警惕此類詐騙行為,切實保護自身利益,謹防上當受騙。
特此聲明!
《電子產(chǎn)品可靠性與環(huán)境試驗》編輯部
2016年1月22日