, , ,
(第二炮兵工程大學, 陜西 西安 710025)
某大型特種工程車工作機構采用液壓系統,其液壓系統的故障維修知識對于整車故障診斷和維修有重要作用,但是在共享和利用方面卻存在一些問題。由于傳統的知識表示大多是線性結構,結構比較簡單,如產生式規則,這種結構的表示形式對于復雜的故障不能十分有效的表示,并且對于實踐中產生的故障維修知識的獲取、維護以及知識的推理也是存在諸多問題[1]。本體是近年來知識建模領域出現的新方法,具有豐富的語義表達能力,知識表示能力和推理能力強,可擴充性好[2]。本研究采用本體子語言OWL-DL結合SWRL規則來解決特種工程車液壓系統復雜故障維修知識的表示、共享和推理問題,為特種工程車的故障知識庫和故障專家系統的建立提供參考。
本體(Ontology)來源于哲學,用于描述事物的本質。最廣泛的定義是Gruber于1993年提出的:“本體是概念化明確的、形式化、規范說明”[3]。本體具有類、關系、函數、公理和實例五個基本建模元語。OWL(Web Ontology Language)有三個子語言:OWL-Lite、OWL-DL、OWL-Full。它們的表達能力由弱到強。OWL-Lite具有子類分類能力和簡單約束功能但表達能力最弱;OWL-DL提供盡可能大的表達能力和描述邏輯推理;OWL-Full表達能力最強但不保證計算的完備性并且不存在完整的推理算法[4],因此本研究建模選用OWL-DL語言。
語義Web規則語言(SWRL,Semantic Web Rule Languang)是一種基于語義網的表示規則的語言,是W3C的規范之一[5]。SWRL由RuleML演變而來,以OWL-DL與OWL-Lite為基礎,利用高度抽象的語法表達本體所表達的知識。SWRL規則是為了驅使Horn-like規則與OWL知識庫相結合,從而彌補OWL在規則描述以及推理方面的不足[6]。規則的編寫基于類、屬性、實例以及類的表達語句。本體構建時結合SWRL可以建立豐富、完善的本體,使其具有更多的推理規則。SWRL一條規則包括一個前提(antecedent)和一個結論(consequent),其基本形式為:
antecedent →consequent
含義是:如果前提正確,則能夠得出結論[7]。建立本體時運用SWRL建立故障診斷規則,實現了對故障的精確描述和實例的推理。
大型特種工程車液壓系統結構復雜,元件多,故障不易發現和排除。本體的建立根據液壓系統結構特點,采用由上至下的分類方法,將系統分成幾部分液壓回路,每部分回路包含主要的液壓元件,其液壓系統結構圖如圖1所示,液壓系統包括機械起豎回路、前支腿回路、中支柱回路、后支腿回路等回路,如起豎回路中含有起豎液壓缸、單向閥、平衡閥等。本體中不僅包含系統結構,而且還有故障維修知識。根據故障知識的一般特點,將其分為故障名稱、故障現象、故障原因、故障維修四部分,每部分由故障的相應知識組成,這些成為本體中類的概念。

圖1 某工程車液壓系統回路圖
屬性是描述本體中各個類之間關系,并且定義各個類具有的屬性,與類一起構成本體知識庫的重要部分。在本體知識庫中,共分為系統結構、故障名稱、故障現象、故障原因、故障維修五部分,它們之間的聯系通過屬性has abnormal part、has disposals、has phenomenon、has phenomenon part、has reason,對于每一個故障都有出現故障現象的元件和其表現出來的相應故障,這二者通過has phenomenon part和has phenomenon屬性與故障名稱相聯系。在本體中故障元件和現象元件這兩個類并不存在,它們都屬于液壓系統。分析故障現象可以找到發生故障的異常原件和故障原因,這二者通過has reason和has abnormal part與之聯系,故障原因和故障維修通過has disposals聯系。液壓系統故障復雜,可以通過多種手段進行故障診斷,壓力和流量是其中的兩個重要依據,因此也建立數據屬性has pressure和has flow-rate。故障本體模型如圖2所示。

圖2 液壓系統故障知識本體模型圖
特種工程車輛液壓系統復雜且與普通車輛或者一般工程設備差異比較大,其故障比較特殊。由于系統復雜其故障也比較多,本研究以其中的2個故障為例進行規則建立的詳細描述。由于故障特殊,沒有專門的名稱,所以本體中以故障編號代替名稱,并在本體注釋中說明。本體中故障3:工程車液壓系統不能解鎖,其開鎖油路壓力小于20 MPa,轉換為規則為:
液壓系統∧壓力∧小于20 MPa→Fault3
SWRL規則為:
TEST(?x)∧has_phenomenon_part(?x,Hydraulic_system_ex)∧haspresssure(?x,?y)∧swrlb:lessThanOrEqual(?y,20) → Fault3(?x)
上述規則中TEST是故障的測試類,用于建立實例進行推理,Fault(3)是不能解鎖故障在本體中的編號。
故障5:起豎液壓缸回收到位之后,接近開關BX9仍然亮,電磁換向閥YA17斷電后,壓力表P4仍然有壓力。轉化為規則為:
接近開關BX9∧燈亮∧電磁換向閥YA17∧斷電∧壓力表P4∧有壓力→Fault5
SWRL規則為:
TEST(?x)∧has_phenomenon_part(?x,BX9_ex)∧has_phenomenon(?x,Light_on_ex)∧has_phenomenon_part(?x,YA17_ex)∧has_phenomenon(?x,No_power_ex)∧has_phenomenon_part(?x,P4_ex)∧has_phenomenon(?x,Have_pressure_after_the_operation_ex)→Fault5(?x)
根據上述兩個例子規則的建立原理,相應的建立工程車其他液壓系統故障的規則,其建立的部分規則如圖3所示。

圖3 SWRL規則圖
Jess(Java Expert System Shell)是一個基于Java的推理機,通過規則和描述語言進行推理, 采用產生式規則作為基本的知識表達方式[8]。將本體和SWRL規則通過SWR L Jess Tab轉換為Jess的事實庫,然后運行Jess推理機進行推理,最后再將推理結果轉換到本體庫中,即Jess轉換為OWL,完善和修正本體中的各種關系。建立本體之后需要測試故障本體的正確性,因此在TEST類中建立實例TEST_1并且添加各種屬性關系,以上述起豎液壓缸回收之后仍有壓力為例,建立的實例如圖4所示,故障是屬于Fault 5。推理前后其實例對比圖如圖5,由對比可知本研究建立的本體庫正確,并且可以實現SWRL故障推理。

圖4 TEST-1屬性描述圖

圖5 TEST-1推理前后對比圖
針對某大型特種工程車液壓系統故障知識表達、共享、重用的問題,引進本體建立故障本體以表達知識和實現共享。復雜的故障問題采用SWRL規則表達,建立了故障推理規則,并在本體中運用Jess推理機推理,檢測和完善本體中實例的正確性以及實現故障推理,驗證了本體結合SWRL規則可以有效表示復雜故障和實現知識共享。
參考文獻:
[1] 劉建煒,等.知識表示方法比較[J].計算機系統應用,2010,20(3):242-246.
[2] 甘健侯,等.本體方法及其應用[M].北京:科學出版社,2011.
[3] T R GRUBER.Towards Principles for the Design of Ontologies Used for Knowledge Sharing[J].International Journal of Human-Computer Studies,1995,43(5):907-928.
[4] 甄引灤.機械故障智能診斷系統本體建模及推理的應用研究[D].湘潭:湖南科技大學,2011.
[5] LAN Horrocks, PETER F. Patel-Schneider,H-arold Boley.SWRL:A Seman tic Web Rule Language Combining OWL and RuleML.[OL].[2004-07-03].http://www.w3.ors/Submission/SWRL.htm.
[6] 肖敏.基于本體的健康監測平臺的研究與實現[D].長春:吉林大學,2013.
[7] 聶規劃,等.電子目錄的SWRL規則研究[J].計算機工程與應用,2011,47(7):57-60.
[8] Busquet A R,Brewka L J,Soler J,et al.OWL Ontologies and SWRL Rules Applied to Energy Management[C]//2011 UKSim 13th International Conference on Modelling and Simulation. Denmark:Technical University of Denmark,2011:449.