国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于JADE實現(xiàn)智能化的Java Web應用系統(tǒng)

2014-09-10 07:20朱忠旭劉旭光
淮陰工學院學報 2014年3期
關鍵詞:推理機煤礦安全黑板

朱忠旭,劉旭光

(1.安徽工貿(mào)職業(yè)技術(shù)學院 計算機技術(shù)系,安徽 淮南 232007; 2.安徽交通職業(yè)技術(shù)學院 計算機系,合肥 230001)

0 引言

在當今信息爆炸的時代背景下,傳統(tǒng)的信息管理系統(tǒng)已難以滿足需要,人們希望使用具有高度智能化的信息處理系統(tǒng)。然而,盡管人工智能技術(shù)已取得較大的進步,而且也出現(xiàn)了一些有效的開發(fā)工具和開發(fā)方法,但和傳統(tǒng)的軟件開發(fā)相比較,仍存在開發(fā)效率低下、開發(fā)難度大等問題。

在進行智能系統(tǒng)的開發(fā)時,將智能系統(tǒng)的開發(fā)平臺與傳統(tǒng)信息系統(tǒng)開發(fā)平臺相集成,從而能夠?qū)⑾到y(tǒng)的顯示邏輯、控制邏輯等“低智能”的任務交由傳統(tǒng)組件完成,將信息的分析、處理、學習等“高智能”的任務交由智能組件來完成,既可以利用傳統(tǒng)軟件的開發(fā)理論完備、方法成熟、工具齊全等優(yōu)點,又可以有效地分離關注點,降低開發(fā)的難度,提高軟件生產(chǎn)效率。

1 JADE平臺

智能體(Agent)是當前信息技術(shù)與人工智能領域最為活躍的研究內(nèi)容之一,基于Agent的設計方法是一系列軟件工程方法的發(fā)展與延伸[1]。Agent擁有領域知識和社會知識,可以進行邏輯推理,并且具有主動性、交互性等特征。JADE是一個Agent開發(fā)框架,它提供了遵循FIPA規(guī)范的中間件及一系列用于Agent開發(fā)和部署的工具,簡化了多Agent系統(tǒng)的開發(fā)[2]。JADE為Agent的開發(fā)和運行提供分布式的Agent容器、高效的異步消息傳輸、白頁和黃頁實現(xiàn)、Agent訂閱機制、支持開發(fā)者調(diào)試和跟蹤的圖形工具、交互協(xié)議庫等機制。

JADE平臺運行時環(huán)境由多個可以分布于網(wǎng)絡不同位置的Agent容器組成,平臺中只能有一個主容器,其它容器必須在主容器中注冊后才能使用。主容器負責管理容器注冊表(CT)和全局agent描述表(GADT),通過這兩個表可以發(fā)現(xiàn)和引用其它容器和任意Agent,主容器中的AMS和DF是兩個特殊的Agent,用于Agent的管理和白頁、黃頁服務。所有容器都有各自的局部Agent描述表,用于本容器內(nèi)的Agent管理。非主容器各自擁有一個GADT快照,用于發(fā)現(xiàn)其它容器中的Agent。

2 基于JADE的Java Web應用開發(fā)

2.1 系統(tǒng)總體架構(gòu)

系統(tǒng)的總體架構(gòu)采用MVC模式設計(見圖1),控制器、視圖和模型的角色分別由Servlet、JSP頁面和智能組件Agent充當,從而實現(xiàn)了控制邏輯與業(yè)務邏輯的分離,顯示與數(shù)據(jù)的分離[3]。從接受瀏覽器來的用戶輸入,傳送到Servlet對象,再由Servlet傳送給Agent進行處理,處理結(jié)果由Servlet傳送到JSP顯示給用戶。

圖1 系統(tǒng)總體架構(gòu)

GatewayAgent組件是Web容器與JADE平臺之間的接口,由于Agent之間的通信使用ACL格式信息,因此要將用戶端產(chǎn)生的POST格式的信息封裝為ACL格式,再發(fā)送到相應的Agent處理;同時,由Agent產(chǎn)生的ACL消息先發(fā)送到GatewayAgent,由GatewayAgent轉(zhuǎn)換為POST消息格式后再傳送到控制器組件Servlet,然后由Servlet傳送給相應的JSP頁面。

Servlet與GatewayAgent之間的消息傳遞采用黑板方式[4]。黑板是一個特殊的Java Bean對象,Servlet按收到來自網(wǎng)頁的POST消息后,創(chuàng)建一個黑板對象blackbord,將要傳送的消息寫入黑板并設置信息的接收者,GatewayAgent讀取黑板中的信息,提取消息的接收者和消息內(nèi)容,然后把消息發(fā)送給接收Agent。

黑板的定義和使用方式如下:

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws Exception {

BlackBoard blackBord = new BlackBoard(); //創(chuàng)建黑板對象

blackBord.setReceiver("receiveAgent"); //設置信息的接收者

blackBord.setMessg("………."); //在黑板中寫入要傳遞的信息

……….

}

Agent與數(shù)據(jù)庫之間的數(shù)據(jù)交換通過TransducerAgent完成[5]。Agent需要從數(shù)據(jù)庫獲取數(shù)據(jù)時,將要獲取或?qū)懭氲臄?shù)據(jù)項名稱、數(shù)據(jù)來源地(或目的地)和交互類型(即讀取或更新)以ACL消息發(fā)送給TransducerAgent,TransducerAgent根據(jù)消息中的數(shù)據(jù)項和操作類型等生成SQL語句,通過數(shù)據(jù)庫訪問接口JDBC進行相應的數(shù)據(jù)庫操作。獲得相應的數(shù)據(jù)后,再以ACL格式發(fā)送給相應的Agent。

2.2 Agent設計

Agent是一個具有邏輯推理能力和智能行為的顯式的符號模型,是一個基于知識的系統(tǒng)[6],其一般結(jié)構(gòu)如圖2所示。

圖2 Agent內(nèi)部結(jié)構(gòu)

Agent通過傳感器接收外界環(huán)境的信息,根據(jù)內(nèi)部狀態(tài)進行信息融合,產(chǎn)生修改當前狀態(tài)的指令。然后,在知識庫的支持下進行推理判斷,形成一系列動作,通過效應器對環(huán)境發(fā)生作用。

在JADE中,Agent的動作通過Behaviour類實現(xiàn),動作的具體定義寫在Behaviour類的action()方法中。一個Agent可以有多個Behaviour,它們可以并發(fā)執(zhí)行。

Agent知識庫和推理機使用Jess來實現(xiàn),Jess是當前流行專家系統(tǒng)開發(fā)工具之一,它具有CLIPS的風格,小巧快速,而且完全由Java語言開發(fā),因此易于與JADE集成[7]。Agent的知識庫包含了與應用領域相關的事實、原理、規(guī)則等,每一條知識定義為一條Jess規(guī)則,每個Agent的知識庫定義為一個Jess規(guī)則文件。

Agent的推理機由Jess的推理引擎Jess.Rete充當,封裝于Agent的行為中,如下所示:

class InferenceEngine extends CyclicBehaviour {

private Jess.Rete engine; //推理機

//初始化推理機

InferenceEngine (Agent agent, String ruleFile) { // ruleFile為Jess規(guī)則庫文件

super(agent);

engine = new Jess.Rete(); //創(chuàng)建推理機

try {

//加載規(guī)則庫

FileReader fr = new FileReader(ruleFile);

Jess.Jesp j = new Jess.Jesp(fr, Jess);

try {

j.parse(false);

} catch (engine.JessException je) { }

}catch(……){……}

public void action() {

try {

engine.run(); //啟動推理機

}

……

}

3 基于JADE與Java EE的智能化煤礦安全管理平臺

3.1 需求分析

煤炭是國民經(jīng)濟和社會發(fā)展的基礎,然而隨著煤炭開采量的不斷擴大和煤礦開采深度的逐年增加,煤礦安全問題日益突出。引起煤礦安全事故的因素主要有瓦斯、煤塵、水災、火災、頂板及沖擊地壓、提升與運輸危險、電氣危險等。傳統(tǒng)的安全系統(tǒng)只是監(jiān)測某些環(huán)境參數(shù),并對其進行單一的列表顯示而已,控制功能也比較獨立,無法做到體系化綜合性的安全評價與事故防控[8]。

在智能化的煤炭安全管理平臺中,要能夠?qū)崿F(xiàn)對現(xiàn)場采集的各種安全監(jiān)測數(shù)據(jù)進行自動的分析和處理,當某一安全因素監(jiān)測值變化異常時,要能夠做出適當反應:如超過安全閾值時,自動啟動安全設備進行排險;值增加速率超過正常水平時,發(fā)出安全預警并進行原因分析等。另外,還要能夠?qū)Ω鞣N因素之間的相關性進行分析和挖掘,從以往的安全記錄中學習經(jīng)驗等功能。

3.2 系統(tǒng)設計與實現(xiàn)

系統(tǒng)中的Agent采用樹形結(jié)構(gòu)組織(見圖3)。影響煤礦安全生產(chǎn)的各種因素由專門的Agent進行處理,由此設計出空氣Agent、水情Agent、地質(zhì)Agent、排水Agent、通風Agent、設備Agent等。空氣Agent負責實時地對收集到的井下大氣質(zhì)量數(shù)據(jù),包括瓦斯含量、粉塵含量、CO含量、大氣溫度、大氣濕度等進行分析和處理;水情Agent負責處理井下水文情況;地質(zhì)Agent負責處理井區(qū)地質(zhì)變化情況;排水Agent和通風Agent管理通風設備和排水設備,根據(jù)相關Agent發(fā)送的消息啟動或停止設備運行;設備Agent監(jiān)控掘進、運輸?shù)壬a(chǎn)設備的狀態(tài)。這些Agent首先對收集到的各類數(shù)據(jù)進行初步處理,當某種數(shù)據(jù)超出安全閾值時,進行緊急處理;然后把數(shù)據(jù)發(fā)送到礦井安全Agent做進一步分析。

圖3 煤礦安全系統(tǒng)中Agent組織結(jié)構(gòu)圖

礦井安全Agent對本礦井各Agent發(fā)送的數(shù)據(jù)進行分析,進而判斷本礦井的安全狀態(tài)。一個煤礦往往有多個礦井,煤礦安全Agent對各個礦井的安全數(shù)據(jù)進行綜合分析和學習,獲取安全經(jīng)驗。

確定了系統(tǒng)中所包含的Agent后,接著在JADE環(huán)境下進行實現(xiàn)。每個Agent是一個由jade.core.Agent派生的特殊的Java類,其行為定義為Behaviour類的子類,知識庫由Jess定義。系統(tǒng)與用戶的交互由Java EE客戶端組件JSP和Servlet完成,數(shù)據(jù)庫采用Oracle 11g。

系統(tǒng)運行時Agent情況如圖4所示。

圖4 JADE平臺

4 結(jié)束語

JADE是一種開源的Agent開發(fā)和運行平臺,它為Agent的運行提供了容器支持。由于都是在Java虛擬機上運行,因此JADE平臺和Java EE平臺可以較好的集成。在開發(fā)網(wǎng)絡應用系統(tǒng)時,用Java EE的表示層組件實現(xiàn)系統(tǒng)與用戶的接口,后臺的數(shù)據(jù)分析與處理等功能由Agent組件來完成,既可以充分利用Agent的主動性、智能性強等特點,又能夠利用Java EE平臺的開發(fā)工具豐富、開發(fā)效率高等優(yōu)勢,從而快速高效地開發(fā)智能化的Web應用系統(tǒng)。

參考文獻:

[1] 高濟.人工智能高級技術(shù)導論[M].北京:高等教育出版社,2009.

[2] Fabio Bellifemine,Giovanni Caire,Dominic Greenwood.Developing Multi Agent Systems with JADE[M].New Jersey:John Wiley&Sons,2007.

[3] 尹曉霈,黃鵬.MVC模式在JADE系統(tǒng)開發(fā)中的應用[J].工業(yè)儀表與自動化裝置,2008(4):19-22.

[4] 于衛(wèi)紅.基于JADE平臺的多Agent系統(tǒng)開發(fā)技術(shù)[M].北京:國防工業(yè)出版社,2011.

[5] M Nikraz,G Caire, PA Bahri.A Methodology for the Analysis and Design of Multi-Agent Systems using JADE[J].International Journal of Computer Systems Science and Engineering,2006(5):22-25.

[6] 倪建軍.復雜系統(tǒng)多Agent建模與控制的理論及應用[M].北京:電子工業(yè)出版社,2011.

[7] Ernest Friedman-Hill.Jess in Action[M].Greenwich:Manning Publications Co,2003.

[8] 許滿貴.煤礦動態(tài)綜合安全評價模式及應用研究[D].西安:西安科技大學,2006.

猜你喜歡
推理機煤礦安全黑板
長在黑板上的詩
曉黑板
強化憂患意識,推動全國煤礦安全生產(chǎn)形勢持續(xù)穩(wěn)定向好
煤礦安全生產(chǎn)實現(xiàn)高質(zhì)量發(fā)展
黑板
抓煤礦安全基礎建設四大支柱
面向?qū)ο蟮膸缀味ɡ硗茖到y(tǒng)的設計與實現(xiàn)
基于Naive Bayesian算法改進的智能診病系統(tǒng)研究
繼電保護整定計算模塊的設計
對如何提高煤礦安全培訓質(zhì)量的思考