楊迪
摘要:面向Agent的方法是一個(gè)迅速發(fā)展的研究領(lǐng)域。該方法的運(yùn)用對(duì)信息系統(tǒng)的分析、設(shè)計(jì)與實(shí)施具有十分重大的意義。本文將對(duì)面向Agent技術(shù)的理論基礎(chǔ)進(jìn)行闡述,分析這種技術(shù)適用于信息系統(tǒng)開發(fā)過程的原因,并介紹幾種面向Agent分析設(shè)計(jì)的方法。
關(guān)鍵詞:Agant Gaia面向Agant方法
一、幾種面向Agent的分析與設(shè)計(jì)方法
(一)AAII方法
AAIl方法主要利用面向?qū)ο蟮姆椒ㄕ摚⒃黾踊贏gent的概念。AAII方法論提出了外延模型和內(nèi)涵模型。外延模型表示系統(tǒng)級(jí)的觀點(diǎn):模型中主要關(guān)心Agent和Agent之間的關(guān)系,而并不關(guān)心Agent的內(nèi)涵,即它們是如何構(gòu)造的或它們做什么。相反,內(nèi)涵模型主要關(guān)心Agent的內(nèi)涵:它們的信念、愿望和意圖(BDI)。
AAII方法論就是對(duì)上面所述模型進(jìn)行反復(fù)修正、迭代與精化。其主要步驟如下:
1.識(shí)別應(yīng)用領(lǐng)域中有關(guān)的角色,并在此基礎(chǔ)之上,研究Agent類的層次結(jié)構(gòu);2.識(shí)別與每個(gè)角色相關(guān)的責(zé)任、角色要求和提供的服務(wù),然后確定與每個(gè)服務(wù)相關(guān)的目標(biāo);3.對(duì)每個(gè)服務(wù),確定與之相關(guān)的交互及每個(gè)交互的前提要求與上下文背景;4.確定系統(tǒng)的信念結(jié)構(gòu)——每個(gè)交互和目標(biāo)對(duì)信息的需求。
(二)Agent UML
統(tǒng)一建模語言(UML)是由面向?qū)ο蟮姆治雠c設(shè)計(jì)的三個(gè)主要策劃者(Grandy Booch,James Rumbaugh和Ivar Jacobson)提出的,為建模開發(fā)的面向?qū)ο笙到y(tǒng)的一種單一標(biāo)記語言。UML本身并不是方法論,它是系統(tǒng)文檔模型語言,與UML相關(guān)的方法論是著名的理性統(tǒng)一過程。
UML是面向?qū)ο蠼5氖聦?shí)上的標(biāo)準(zhǔn),被人們所廣泛接受。OMG(Object Management Group)和FIPA(Foundation for Intelligent Physical Agents)共同提出AUML,用以描述多Agent的交互機(jī)制,該建模規(guī)范是UML面向Agent擴(kuò)展的子集。
(三)Gaia方法
Gaia方法論的企圖是使分析人員系統(tǒng)地從需求的描述,走向可以直接實(shí)現(xiàn)的詳細(xì)設(shè)計(jì)。在應(yīng)用Gaia時(shí),分析人員從抽象逐步走向越來越具體的概念。每前進(jìn)一步都會(huì)引入更多的實(shí)現(xiàn)偏好。并縮小需要實(shí)現(xiàn)的系統(tǒng)的可能空間,以滿足初始的需求描述。Gaia借鑒了許多面向?qū)ο蠓治龊驮O(shè)計(jì)的術(shù)語和標(biāo)記法。然而,將這些方法應(yīng)用到面向Agent的開發(fā)中,不是簡(jiǎn)單自然的嘗試,而是提供了一組與Agent的說明有關(guān)的概念。通過這些概念,可以理解一個(gè)復(fù)雜系統(tǒng)并對(duì)它進(jìn)行建模。特別地,Gaia鼓勵(lì)開發(fā)者將基于Agent系統(tǒng)的實(shí)現(xiàn)視為組織設(shè)計(jì)的過程。
二、幾種面向Agent的分析與設(shè)計(jì)方法對(duì)比
通常來說,信息系統(tǒng)的分析與設(shè)計(jì)問題可以分為總體分析(需求定義)、總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)三個(gè)階段,不同的方法論所對(duì)各個(gè)階段所關(guān)注的程度也不同。
Gaia方法論基本涵蓋了所有三個(gè)階段,但在詳細(xì)設(shè)計(jì)階段略有欠缺;AAII方法論在需求確定以后,直接圍繞Agent的模型開始分析與設(shè)計(jì),基本沒有覆蓋到系統(tǒng)分析階段;Agent UML由于沿用了UML的模型規(guī)范,對(duì)詳細(xì)設(shè)計(jì)階段有最為詳實(shí)的描述,已基本接近了系統(tǒng)的具體實(shí)現(xiàn)。在選取不同方法對(duì)信息系統(tǒng)進(jìn)行分析與設(shè)計(jì)時(shí),我們也可以考慮綜合使用多種方法,使我們的方法能覆蓋從系統(tǒng)分析到具體實(shí)現(xiàn)的所有階段。
三、適用范圍與缺陷
(一)面向Agent技術(shù)的適用范圍
雖然面向Agent技術(shù)在對(duì)一些信息系統(tǒng)進(jìn)行分析與設(shè)計(jì)中發(fā)揮了很大作用,但這種技術(shù)并不是普適的,有許多因素指向面向Agent技術(shù)的適用范圍。
1.Agent是自然的比喻;2.數(shù)據(jù)、控制或?qū)iL(zhǎng)的分布;3.遺留系統(tǒng)
(二)面向Agent技術(shù)的缺陷
我們主要考慮由于使用面向Agent技術(shù)后給復(fù)雜系統(tǒng)的發(fā)展帶來的困難,因此我們集中分析面向Agent技術(shù)固有的、本質(zhì)上的缺陷:
1.交互的形式與結(jié)果本質(zhì)上是不可預(yù)測(cè)的;
2.由于極有可能出現(xiàn)涌現(xiàn)行為,系統(tǒng)整體的行為也是難以預(yù)測(cè)的。
首先,關(guān)于交互的形式、對(duì)象、時(shí)機(jī)與目標(biāo)的決策都是實(shí)時(shí)的,它與Agent的內(nèi)部狀態(tài)、Agent對(duì)環(huán)境的認(rèn)知(或許還包括相近的Agent的狀態(tài))以及當(dāng)時(shí)的組織背景有著復(fù)雜的依賴關(guān)系。將這些多樣的因素混雜到一起意味著預(yù)測(cè)系統(tǒng)的交互是極其困難的。其次,在交互開始時(shí)提出的請(qǐng)求與最終交互產(chǎn)生的結(jié)果之間可能存在很大的變化。由于Agent對(duì)自己的選擇有自治權(quán),這使初始的要求可能完全被滿足,也可能完全被拒絕,或者通過又一系列交互后做出某些改動(dòng),簡(jiǎn)而言之,無論是交互的性質(zhì)還是結(jié)果都不可能在最開始的時(shí)候就確定下來。
在開發(fā)特定的系統(tǒng)或應(yīng)用時(shí),設(shè)計(jì)者們可以通過嚴(yán)格規(guī)范組織結(jié)構(gòu)、限制Agent交互的性質(zhì)與范圍來回避上面提到的缺陷。然后,這些規(guī)定也制約了面向Agent技術(shù)發(fā)揮它本具有的功效。如何解決這個(gè)兩難的問題,還需要學(xué)者們做更深入的研究。endprint