



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、可視化多主體系統(tǒng)開發(fā)平臺VAStudio設計與實現(xiàn)林芬1,2 邱莉榕1,2 賈穎杰1,2 史忠植 基金項目:國家973計劃項目(2003CB317004),國家863計劃項目(2003AA115220),自然科學基金(60435010),北京科學基金(4052025)作者簡介:林芬,碩士生,主要研究方向為智能主體技術(shù)、數(shù)據(jù)挖掘等。1中國科學院計算技術(shù)研究所 北京 1000802中國科學院研究生院 北京 100039 linf摘要:多主體系統(tǒng)(Multi-Agent System)開發(fā)工具是解決面向主體的程序設計的關(guān)鍵技術(shù),目前開發(fā)的多種多主體系統(tǒng)開發(fā)工具都尚未滿足實際要求或存在某些缺陷,本文設
2、計和實現(xiàn)了可視化多主體系統(tǒng)開發(fā)平臺VAStudio,為用戶提供一個功能強大的可視化多主體系統(tǒng)設計和編程環(huán)境,根據(jù)用戶的需求,可視化智能引導生成主體,方便了基于主體的應用系統(tǒng)的開發(fā),很大程度上提高了多主體系統(tǒng)開發(fā)的適應性。本文詳細介紹了VAStudio的設計思想包括體系結(jié)構(gòu)和各個功能模塊,并以分布式數(shù)據(jù)挖掘為例驗證了該工具的可行性和優(yōu)越性。關(guān)鍵詞:主體 多主體系統(tǒng) 設計工具 開發(fā)工具Design and Implementation of Visual Multi- Agent StudioFen Lin1,2 Lirong Qiu1,2 Yingjie Jia1,2 Zhongzhi Shi1
3、 1 (Institute of Computing Technology, CAS, Beijing 100080)2 (Graduate School of Chinese Academy of Science, Beijing 100039)linfAbstract: Multi-Agent Toolkits is an important field in the research domain of agent-oriented software engineering. However there still lies this or that kind of deficits i
4、n most traditional multi-agent toolkits. This paper introduces the implementation of Visual Multi-Agent Studio, which provides an integrated design and programming environment to support generating agents automatically. Also the system makes it easy to develop agent-oriented application system and i
5、mprove its adaptability on a large scale. This paper introduces the design philosophy such as architecture and functional module of VAStudio in detail. Finally it proves the feasibility and superiority of the toolkit by taking Distribute Data Mining for example.Key Words: Agent Multi-Agent System De
6、sign Tool Development Tool1 引言主體和多主體系統(tǒng)經(jīng)過了20多年的研究和發(fā)展,已經(jīng)成為人工智能甚至計算機科學的研究熱點之一,并已經(jīng)廣泛應用到很多領(lǐng)域之中。主體技術(shù)被認為是在復雜計算環(huán)境下構(gòu)建可擴展的、健壯的、可重用的、一致的高質(zhì)量軟件系統(tǒng)的最有前途的技術(shù)之一。智能主體和多主體系統(tǒng)為開發(fā)分布式、智能化、開放性復雜軟件系統(tǒng)提供了一種新的實現(xiàn)范型1,2。雖然主體和多主體系統(tǒng)技術(shù)受到了越來越多的重視,目前已出現(xiàn)了各種各樣的關(guān)于主體和多主體系統(tǒng)的理論和開發(fā)平臺,工業(yè)界也開始使用主體技術(shù)和多主體系統(tǒng)來開發(fā)自己的產(chǎn)品。但是基于主體的系統(tǒng)開發(fā)仍然不是一件容易的工作,目前主體開發(fā)平臺主
7、要提供主體運行環(huán)境,缺乏可視化主體設計和開發(fā)環(huán)境,未能很好的利用面向主體的思想,導致用戶理解和應用主體平臺開發(fā)系統(tǒng)困難度增加,從而使得主體開發(fā)平臺的適用性大大降低。針對上述種種問題,本文結(jié)合面向主體軟件工程的思想,分析了已有的主體設計模型和主體體系結(jié)構(gòu)的缺陷和存在的主要問題,設計和實現(xiàn)了相應的可視化主體設計和開發(fā)平臺VAStudio,為用戶提供一個集成的主體設計和編程環(huán)境,并在主體支持環(huán)境MAGE的支持下運行。MAGE是一種成熟的完全與FIPA規(guī)范3兼容的分布式的主體平臺,提供主體運行環(huán)境許多必不可少的服務,如白頁/黃頁服務、生命周期服務、通信服務、主體管理服務等。MAGE的詳細介紹,請參考4
8、,5,6。2. 相關(guān)工作比較自從人們開展對分布式人工智能的研究之時起,多主體系統(tǒng)開發(fā)工具就一直是研究重點。本節(jié)中主要比較典型多主體系統(tǒng)開發(fā)工具,包括采用的優(yōu)先技術(shù)、具有的通用功能以及存在的不足。University of Parma 開發(fā)的JADE7, 它將多主體系統(tǒng)的實現(xiàn)簡單化,提供了一系列的工具來支持開發(fā)和調(diào)試,雖然提供了一系列底層支持幫助用戶構(gòu)建主體,但是用戶只能自己編碼實現(xiàn)沒有提供相應的可視化工具。Stanford University 開發(fā)的JATLite8適合分布式環(huán)境里開發(fā)主體系統(tǒng),提供了基本的主體框架,提供了方便的通信接口,然而也沒有提供相應的可視化工具。由British Te
9、lecommunications Laboratory開發(fā)的著名的多主體系統(tǒng)開發(fā)工具Zeus9,它提供了一個軟件構(gòu)建和工具庫能夠快速和方便的設計、開發(fā)、實現(xiàn)多主體系統(tǒng)。Zeus包含三個主要功能部件:主體構(gòu)件庫、主體開發(fā)工具和可視化工具,然而Zeus的學習和使用對于非專業(yè)用戶來說比較困難,相應的可視化平臺并沒有提供主體模型設計工具而且功能十分有限,并沒有很大程度上方便用戶的開發(fā)。分析以上多主體系統(tǒng)開發(fā)工具,我們發(fā)現(xiàn)這些工具都沒有提供適用的可視化多主體系統(tǒng)設計和編程環(huán)境。因此本文設計和實現(xiàn)了可視化多主體系統(tǒng)開發(fā)平臺VAStudio,為用戶提供一個功能強大的可視化多主體系統(tǒng)設計和編程環(huán)境,方便了用戶
10、開發(fā)基于主體的應用系統(tǒng),在一定程度上提高了多主體系統(tǒng)開發(fā)適應性。在表1中本文將這些工具作了簡單的比較(標*表示不明確)。從表中可以看出,VAStudio在可視化主體設計、軟件復用和學習曲線方面有特殊優(yōu)勢。表1 多主體系統(tǒng)開發(fā)工具評價名 稱JADEJATLiteAgentBuilderZEUSVAStudio編程語言javajavajavaJavajava可視化設計不支持不支持不支持部分支持支持軟件復用部分支持*支持支持軟件構(gòu)件庫提供*不提供提供提供工具集提供*提供提供提供本體編輯支持*支持支持支持學習曲線難難難中易3. 多主體系統(tǒng)層次模型理論與VAStudio設計實現(xiàn)3.1 多主體系統(tǒng)層次模型
11、多主體系統(tǒng)是一個開放的復雜系統(tǒng)。抽象是人們處理復雜系統(tǒng)的一個常用方法。根據(jù)多主體系統(tǒng)蘊涵的本質(zhì)特征和抽象級別,本文提出一個層次開發(fā)模型10,由抽象級從低到高分別為遺留構(gòu)件層、行為層、主體層和主體社會層,如圖1所示。組件可以是任何可重用的構(gòu)件。行為是主體的一個能力單位10。主體可以看成一個軟件實體,即可以看成一個黑箱,通過傳感器感知環(huán)境,通過效應器作用于環(huán)境。主體的體系結(jié)構(gòu)主要包括三種:慎思結(jié)構(gòu)、反應式結(jié)構(gòu)、混合式結(jié)構(gòu)11。主體社會層包括各種各樣的自治主體,以及主體之間的交互,使用的協(xié)議等等。圖1 基于復用的多Agent系統(tǒng)層次模型一般來說有兩種方式來開發(fā)多主體系統(tǒng),一種是自頂向下,另一種是自底
12、向上。自頂向下是首先對主體社會建模,然后分析所需的主體,最后分析出主體所需的行為。而自底向上是在已有行為的基礎(chǔ)上來構(gòu)建我們所需的主體,在已有主體的基礎(chǔ)上構(gòu)建我們所需的主體社會。在我們的設計中,VAStudio支持兩種方式的使用,首先我們采用自頂向下分析出我們所需的行為,放入行為庫,然后采用自底向上根據(jù)行為庫里的行為構(gòu)建我們所需的應用。3.2 VAStudio的系統(tǒng)設計圖2 VAStudio體系結(jié)構(gòu)基于上述思想,本文開發(fā)了一個多主體系統(tǒng)工具集VAStudio,設計目標就是提供一個友好的集成環(huán)境來支持主體的設計和編程,不僅是系統(tǒng)編程環(huán)境,而且是面向主體的設計與編程環(huán)境,根據(jù)主體模型支持多種圖形界面
13、智能引導生成主體方式。同時為軟件復用提供了一系列基本工具,如構(gòu)件庫管理工具、行為庫、主體庫、ADL分析器以及本體編輯器等等。如圖2所示:VAStudio主要由四大功能塊組成:VAStudio的設計平臺,VAStudio的編程平臺,VAStudio的運行平臺和VAStudio的工具箱。(1)VAStudio的設計平臺是針對行為和主體設計的環(huán)境,平臺采用可視化圖像界面智能引導,一步步幫助用戶生成智能主體。目前平臺支持行為和主體生成的五種方式:有限狀態(tài)自動機方式,流程圖方式,模板庫方式,行為描述和主體描述方式11,克隆方式。其中有限狀態(tài)自動機方式,流程圖方式對用戶構(gòu)建主體非常方便。l 有限狀態(tài)自動機
14、生成方式中支持圖形方式對行為通過有限狀態(tài)自動機來進行定制來生成用戶所需的主體l 流程圖生成方式中,可以通過對行為流程的定制來生成滿足用戶需要的主體。l 模板庫方式中支持上節(jié)層次模型描述的主體多種結(jié)構(gòu):慎思結(jié)構(gòu)、反應式結(jié)構(gòu)、混合式結(jié)構(gòu),以及各種功能性主體比如推理主體、移動主體和網(wǎng)格主體。l 行為描述和主體描述聲稱方式中,行為又可以分為簡單行為和復合行為,它們可由實體構(gòu)件和連接構(gòu)件通過有限自動機來進行描述,主體描述除了描述主體所具有的能力之外,還需要描述主體名稱、目標和所要求的外部資源等。l 克隆生成方式中通過對已有的主體克隆生成新的主體。(2)在VAStudio編程平臺支持代碼的編輯,編譯,調(diào)試
15、和測試工具。(3)最重要的平臺就是提供后臺主體運行的平臺也就是主體支持環(huán)境MAGE運行環(huán)境,將上述智能主體的體系結(jié)構(gòu)和主體設計應用到多主體支持環(huán)境MAGE中。(4)VAStudio的工具箱為用戶使用提供了極大的方便,支持行為庫,主體庫,使得用戶可以復用已有的資源,支持本體,使得主體之間的通信更加方便,在以后的版本中會逐步加入支持Web服務等。VAStudio作為一個集成的統(tǒng)一的可視化多主體系統(tǒng)設計和編程環(huán)境,需要保持各功能模塊之間的統(tǒng)一,設計模塊需要和編程模塊保持動態(tài)一致性,圖像化智能設計的結(jié)果會體現(xiàn)在編程模塊的編程環(huán)境中,同樣編程模塊的變化體現(xiàn)在智能化設計界面中。不論是設計和編碼的主體運行時
16、都需要通過運行參數(shù)設計和運行平臺的控制性打交道,將要運行的主體和參數(shù)發(fā)送到MAGE主體支持平臺運行,在運行過程中可能需要加載行為庫,主體庫,需要加載用到的外部服務比如Web服務,以及用戶或者系統(tǒng)定義的本體等。圖3 VAStudio主窗口3.3 VAStudio主窗口和主要特點VAStudio主界面如下圖3所示。界面主要分為三部分:Society樹結(jié)構(gòu)、工作區(qū)和控制區(qū)。Society樹結(jié)構(gòu)包括主體樹結(jié)構(gòu)和行為樹結(jié)構(gòu);工作區(qū)主要分為設計界面和編程界面;控制區(qū)輸出編譯運行結(jié)果,如右圖所示。概括起來,VAStudio支持如下主要特征:l 支持軟件重用。VAStudio支持重用現(xiàn)有軟件實體構(gòu)件,包括ex
17、e、dll、Java 類等。l 支持多種主體生成方式,有限狀態(tài)自動機方式,流程圖方式,模板庫方式,行為描述和主體描述方式,克隆方式l 使用有限狀態(tài)自動機方式,流程圖方式重用行為庫構(gòu)建主體。l 提供了豐富的工具集。如代碼編輯器、DFSM編輯器、ADL分析器、本體編輯器、行為庫管理工具等。l 用戶界面友好且易于普通用戶使用。VAStudio支持智能化向?qū)Х绞缴芍黧w并提供完善的幫助支持。l VAStudio 體系結(jié)構(gòu)中立,完全采用java語言實現(xiàn),不受平臺限制,支持XML語言方便數(shù)據(jù)交換。4. 分布式數(shù)據(jù)挖掘4.1 功能概述面對一個實際的挖掘任務,要制定出適合此數(shù)據(jù)任務特點的的最佳實驗方案,事先我
18、們并不能得到理論指導;唯一的方法是,根據(jù)實驗人員的工作經(jīng)驗,指定出多種供選擇的實驗方案,再逐個實現(xiàn)這些方案,以選擇并確定最佳的部署計劃?;谝陨系膶嶋H需求,該系統(tǒng)主要提供如下兩個方面的功能:1、數(shù)據(jù)挖掘流的設定:提供方便的圖形化界面,統(tǒng)一設定供選擇的多種數(shù)據(jù)挖掘方案;2、數(shù)據(jù)挖掘流的執(zhí)行:在多主體環(huán)境的支撐下,利用mobile Agent技術(shù),在多臺PC上并行執(zhí)行此數(shù)據(jù)挖掘流;即利用多臺PC的計算能力,實現(xiàn)一個統(tǒng)一的數(shù)據(jù)挖掘計算平臺。本文用數(shù)據(jù)挖掘流來統(tǒng)一描述多個數(shù)據(jù)挖掘方案12。數(shù)據(jù)挖掘流一般分為PreProcessing Phase,Training&Testing Phase和E
19、valuating Phase。每個階段都可以指定不同的step12。以Training&Test Phase為例,該過程有多種分類算法,如:Ripper、SVM、C4.5等,每種算法又可以設定不同的參數(shù);設定好參數(shù)的某種算法形成一個step。完成一次挖掘有多條路徑,評估這些算法差異需要進行N1××Nk次實驗。4.3 在VAStudio中設計主體圖4:制定任務流雖然各個數(shù)據(jù)挖掘phase間具有固定的先后關(guān)系,必須串行執(zhí)行;但同一phase的不同step之間具有天然的并行執(zhí)行優(yōu)勢。因此我們可以設計一個網(wǎng)格主體:PlanAgent根據(jù)目前任務的數(shù)目,任務輕重以及參加主機
20、的數(shù)目和每臺主機的負載情況規(guī)劃出一系列的子任務主體:MiningTaskAgent1,。,MiningTaskAgentN。這些子任務主體攜帶自己的任務Task,參數(shù)Parameter和數(shù)據(jù)Data移動到其運行平臺去完成任務。如果主體能夠順利完成任務,則完成后返回相應的結(jié)果;如果不能順利完成任務,則可以請求其他主體幫助,讓其他主體協(xié)助完成任務,再將結(jié)果返回,這樣PlanAgent接著下一輪任務規(guī)劃。圖5:定制數(shù)據(jù)挖掘流程首先,采用自頂向下對整個系統(tǒng)建模,如圖4定制任務流FlowAgent,分析出我們所需的行為(每一個藍色的方塊代表一個行為),這樣VAStudio自動生成了我們所需的行為的代碼框
21、架,根據(jù)實際功能需要,向代碼框架中填入所需的代碼,使每個行為具有相應的功能。然后,這些編制好的行為放入行為庫中。最后采用上面設計方式中行為主體流程生成方式來生成各種流程的主體,如圖5所示(每一個藍色的方塊是左邊行為庫中的一個行為)。此外,還有控制主體,包括兩類:Schedule Agent和Monitor Agent。Schedule Agent負責接受當前Container中Mining Task Agent執(zhí)行完任務后接著執(zhí)行下一個Phase請求的任務分配,Monitor Agent負責監(jiān)控當前主機的資源使用情況和回復各個Container中Schedule Agent請求。這些可采用模板
22、庫方式來生成。4.4 運行主體及結(jié)果利用MAGE主體支持平臺將每臺參與計算的主機(Container)連接起來實現(xiàn)上述分布式數(shù)據(jù)挖掘系統(tǒng)。數(shù)據(jù)挖掘主體可以在這些Container中運行即運行在不同的主機上,共享不同主機的計算能力。針對上述數(shù)據(jù)挖掘流,考慮到不同Phase的串行關(guān)系和每個Phase中Step的并行關(guān)系,可以將每個Phase中的Step根據(jù)參與計算的主機負載情況分配到不同主機上運行。這些Step運行時間各不相同,只要得到一個Step結(jié)果我們便可以啟動下一個Phase,開始運行時,首先FlowAgent根據(jù)用戶定制的任務流程,將任務發(fā)送給PlanAgent進行規(guī)劃出一系列子任務到各個
23、網(wǎng)格節(jié)點上運行,每個任務運行完后返回結(jié)果給PlanAgent,PlanAgent根據(jù)FlowAgent提供的任務流程和子任務來觸發(fā)下一階段的子任務。直到整個流程完成,最后生成一個報表描述整個流程各個路徑運行的結(jié)果比較。上面例子上面流程共有四條路徑,在各個路徑算法參數(shù)選擇不同情況下上面例子的運行結(jié)果如下表2所示(也可以圖形化顯示):可以看出路徑S4是可供選擇的路徑中最好的路徑。表2:實例運行結(jié)果Scheme pathMining Flow Description:S1:start*Normalization_0*Discretization_0*AttReduct_0*SVM_0 Accurac
24、y=0.029411765S2:start*Normalization_0*Discretization_0*AttReduct_0*Ripper_0 Accuracy=0.6764706S3:start*Normalization_0*Discretization_1*AttReduct_0*SVM_0 Accuracy=0.7058824S4:start*Normalization_0*Discretization_1*AttReduct_0*Ripper_0 Accuracy=0.8235294Normalization_0:flag=0Normalization_1:flag=1low
25、er bound=0.0lower bound=1.0Discretization_0:flag=0Discretization_1:flag=1AttReduct_0:flag=0Ripper_0:minimal number=1SVM_0:c=1.0gamma=0.1255. 小結(jié)和進一步工作基于主體模型設計的思想,本文提出了一種分層的方法來建造多主體系統(tǒng),并設計了相應的可視化多主體系統(tǒng)設計和編程工具VAStudio。目前該工具已應用到各個領(lǐng)域,在各個項目中得到很好的應用。典型的有國家信息產(chǎn)業(yè)部基金項目城市應急聯(lián)動與社會綜合服務,開發(fā)一個基于主體的智能決策系統(tǒng),另外還有自然科學基金和中澳特別合作基金項目石油勘探系統(tǒng),開發(fā)一個基于主體的知識發(fā)現(xiàn)平臺等。以及電力系統(tǒng)容錯診斷,中國電力科學院基于上述方法開發(fā)了一個基于主體的智能決策支持系統(tǒng)。根據(jù)用戶的反饋信息,在這些基于主體的應用項目中VAStudio的使用方便了用戶使用,提高了開發(fā)效率。但是在逐步應用過程中,也發(fā)現(xiàn)了一些問題,如主體模型設計界面的優(yōu)化,確定性有限自動機的描述優(yōu)化,以及如何提高主體的效率,提供對Web服務的支持。還需要進一步完善,這將是下一步開發(fā)重點。 參考文獻1 N.R. Jennings. M. Wooldridge. Agent-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國多功能汽車電噴嘴電腦檢測儀數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國五星水壺數(shù)據(jù)監(jiān)測研究報告
- 統(tǒng)編版三年級語文下冊期中達標測試卷(含答案)
- 吉林省長春市榆樹市2024-2025學年九年級上學期期末化學試題(含答案)
- 園林施工員試題及答案
- 2025年消防設施操作員之消防設備中級技能每日一練試卷A卷含答案
- 2025年消防設施操作員之消防設備基礎(chǔ)知識通關(guān)提分題庫(考點梳理)
- 2020年遼寧省沈陽市中考地理試卷(含答案)
- 2025年天津市專業(yè)技術(shù)人員公需考試試題-全面推動經(jīng)濟與民生領(lǐng)域改革推動中國經(jīng)濟高質(zhì)量發(fā)展
- 高等教育自學考試《00074中央銀行概論》模擬試卷二
- 電子公章申請請示范文2
- 2024-2030年中國合同能源管理(EMC)行業(yè)發(fā)展前景規(guī)劃分析報告
- 《中華人民共和國文物保護法》知識專題培訓
- 2024年高考全國甲卷英語試卷(含答案)
- 四年級數(shù)學(四則混合運算)計算題專項練習與答案匯編
- 8年級上冊(人教版)物理電子教材-初中8~9年級物理電子課本
- 人教版高中英語新教材必修2單詞默寫表
- 項目資金管理統(tǒng)籌實施方案
- 2024年秋新滬科版物理八年級上冊 6.3來自地球的力 教學課件
- 定密培訓課件教學課件
- 三、種植芽苗菜(教學設計)魯科版二年級下冊綜合實踐活動
評論
0/150
提交評論