1. 程式人生 > >能力建模工具-Protege插件ICCTab

能力建模工具-Protege插件ICCTab

劃算 java開發平臺 lstat 3.4 aso 圖形 下拉列表 sta mode

一、系統功能概述

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