能力建模工具-Protege插件ICCTab
一、系統功能概述
1系統功能概述
本軟件針對本體建模工具Protege設計出了一種基於語義的能力建模平臺,並將其以Protege插件的形式應用到本體建模工具Protege中。該能力建模平臺使用Java Swing進行界面設計,並利用Jena技術,在Java開發平臺對能力元模型進行添加和修改,建立目標能力模型;根據建好的能力模型,利用Jena技術進行語義查詢,形成一個從初始狀態到目標狀態的規劃,並利用Graphviz生成規劃圖。首先,通過Protege建立能力元模型,然後通過該能力建模平臺擴展和完善能力元模型,例如添加Agent、給Agent添加能力等,生成目標能力模型;給定初始狀態和目標狀態,通過對能力模型進行語義查詢,利用規劃算法,尋找一個規劃過程,並顯示規劃圖。本文提出的基於語義的能力建模平臺應用到Protege中使得該工具能被對OWL語言並不熟悉的人用來操作OWL,並能很方便的使用語義查詢來生成規劃圖,使之為Agent能力協作做有效鋪墊。
1.2.系統功能結構
能力建模平臺的結構圖如圖1.1所示,界面主要分為三個模塊:對能力模型添加或刪除Agent和Capability實例;對Agent添加能力屬性和對Capability添加或刪除InConstraint和OutConstraint屬性;根據給定的初始狀態和目標狀態,生成規劃圖。
1、對能力模型添加或刪除Agent和Capability實例:
界面中對owl文件內容是以樹的形式呈現,最底層的節點都代表的是實例。可以對每一類Agent添加或者刪除實例,也可以對Capability類添加或者刪除實例。
2、對實例添加屬性:
Agent實例有hasCapability屬性,因此可以給Agent實例添加或刪除capability。Capability實例有hasInConstraints和hasOutConstraints兩個屬性,因此可以給Capability屬性添加或刪除InConstraints和OutConstraints。InConstraints和OutConstraints都是由一些ContextState組成,而ContextState則是由類似“a_b_c”字符串形式構成,從語義的角度來說,a和c都代表argument,b代表predicate。
3、生成規劃圖:
規劃圖顯示的規劃過程,需要先輸入初始狀態和目標狀態。在點擊按鈕觸發後,系統會根據所輸入的初始狀態和目標狀態來運行後臺的規劃算法,若存在一個從初始狀態到目標狀態的規劃,系統就會以彈出框的形式顯示規劃圖。通過規劃圖,可以對規劃過程一目了然。
二、系統要求
2.1.開發和運行環境
1、硬件環境
本系統的硬件開發環境比較低,CPU為AMD A6-3670.2.70GHZ以上,內存為4GB。
2、軟件環境
軟件環境主要包括計算機系統Windows 7旗艦版,程序編寫軟件Eclipse 4.5,本體開發工具Protégé 3.4.8 Windows 64位,還有繪圖工具Graphviz 2.28,這個是以dot作為腳本語言來繪制圖形的軟件,以及JDK1.8。
3、開發語言
本系統的開發語言主要涉及到Java,OWL和Dot三種語言。OWL是一種處理WEB信息的語言,Dot是Graphviz中編寫繪圖腳本的語言。
4、運行環境
由於是Protege插件,所以需先安裝Windows 64位的Protege3.4.8,在Protege工具中運行。生成規劃圖利用了Graphviz軟件,因此也需要安裝Graphviz 2.28。電腦離線或者在線都可運行。
2.2.軟件配置
軟件開發平臺為:eclipse4.5 JDK1.8 Protege 3.4.8 Graphviz 2.28。
說明:搭建環境時首先確認JDK的版本要換成1.8;安裝Graphviz 2.28時,要安裝在C:ProgramFiles(x86)下;在特定位置存放owl文件(E:/AGVsModel/AGV1.owl),並在E盤新建文件夾temp,用於存放生成的規劃圖。此外,Protege3.4.8需要安裝64位的,安裝好後,需將能力建模插件包RP-Plugin.jar放到Protege安裝路徑下的plugins\edu.stanford.smi.protegex.owl中。
三、軟件操作說明
3.1對能力模型OWL文件進行修改
3.1.1打開能力建模平臺主界面
在對軟件操作前,需用Protege建立一個能力元模型的owl文件,並將其放在E:/AGVsModel/目錄下。
運行該Protege插件,如圖3.1所示:
圖3.1 運行界面
選擇“Open Other”,出現選擇owl文件路徑的對話框,如圖3.2所示:
圖3.2 選擇owl文件界面
選擇好owl文件後,就會出現Protege主界面,如圖3.3所示:
圖3.3 Protege主界面
接下來,需要打開能力建模插件ICCTab了。點擊窗口左上角的“Projcet”,選擇“Configure”後出現配置選擇框,如圖3.4所示。然後勾選ICCTab,就會出現RP-Tool選項卡,點擊該選項卡就會出現能力建模平臺的主界面,如圖3.5所示。
圖3.4 配置選擇框
圖3.5 主界面
3.1.2對能力模型進行修改
對能力模型進行修改的操作包括添加和刪除Agent實例,添加和刪除Capability實例,給Agent實例添加Capability,給Capability實例添加InConstraints和OutConstraints。
(1)添加和刪除Agent實例:選擇“Agent”下的某一個類(AGV),點擊“+Agent”按鈕,出現一個輸入節點名稱對話框,如圖3.6所示。點擊OK後,新節點“ab”就添加到AGV下,作為AGV的一個實例,如圖3.7所示。當選中一個Agent實例“agv”,點擊“Delete”,則該實例就會從模型中刪除。
(2)添加和刪除Capability實例,跟添加和刪除Agent實例類似,選中“Capability”類,點擊“+Capability”按鈕,出現輸入名稱對話框,如圖3.8所示,當輸入“acd”,點擊OK時,該實例就添加到模型裏面了,如圖3.9所示。當選中一個Capability實例“acd”,點擊“Delete”,則該實例就會從模型中刪除。
(3)給Agent實例添加和刪除能力:選中一個Agent實例“ab”,點擊中間“+Ca...”按鈕,出現“Select a capability”彈出框,當選擇一個能力“movetoElevator”後,點擊OK按鈕,則該能力就會顯示在列表中,如圖3.10所示。
(4)給Capability實例添加或刪除InConstraints:選擇一個Capability實例“TransportCart”,點擊中間模塊的“+Inc”按鈕,則出現InConstraints編輯框,如圖3.12所示。有兩種方式,可以從已有的ContextStates下拉列表中選擇一個,如圖3.13所示,或者自己創建一個新的ContextState。當自己創建一個新的ContextState時,一般按P(C,I)形式創建,即先點擊“P”按鈕,出現“Choose Predicate”選擇框,如圖3.14所示,選擇一個Predicate,然後點擊“(”,再點擊“C”按鈕,出現“Choose OntClass”選擇框,如圖3.15所示,選擇其中一個節點,點擊OK,然後手動輸入“,”,在點擊“I”按鈕,出現“Choose Individual”選擇框,如圖3.16所示,選擇一個Individual,最後點擊“)”按鈕,那麽一個新的ContextState就創建成功了,如圖3.17所示,當點擊OK後,該ContextState就會以C_P_I的形式添加到InConstraints列表中,如圖3.18所示。選中某個InConstraint,點擊“-InC”按鈕,則該InConstraint便會從能力模型中刪除。
(5)給Capability實例添加OutConstraintes:點擊中間模塊下方的“+OutC”按鈕,出現的對話框及接下來的操作都跟添加InConstraints相同;選中某個OutConstraint,點擊“-OutC”按鈕,則該OutConstraint便會從能力模型中刪除。
圖3.12 InConstraints editor 圖3.13 Choose ContextState 圖3.14 Choose Predicate
圖3.15 Choose OntClass 圖3.16 Choose Individual 圖3.17 Create new ContextState 圖3.18 Create new ContextState效果圖
3.2生成規劃圖
生成規劃圖模塊界面如圖3.19所示。其過程分為四步:第一步,在文本框輸入Available Agent名稱;第二部,選擇輸入Initial States和Goal States,具體操作為:點擊Initial States上方的“+”出現“InitialStates editor”選擇框,跟“InConstraints editor”相同,選擇過程也相同,Goal States的選擇輸入也是如此,若想刪除某個Initial States和Goal States,則只需選中它,然後點擊“-”按鈕;第三步,點擊“Step 4:Run”按鈕,運行規劃算法;第四步,點擊“Step 4:ShowGraph ”按鈕,則出現規劃圖的彈出框,如圖3.20所示。
圖3.19 生成規劃圖模塊界面 圖3.20 生成規劃圖
本文屬作者原創,請尊重原創。
能力建模工具-Protege插件ICCTab