摘 要:面向Agent的方法是一個迅速發(fā)展的研究領域。該方法的運用對信息系統(tǒng)的分析、設計與實施具有十分重大的意義。本文將對面向Agent技術的理論基礎進行闡述,分析這種技術適用于信息系統(tǒng)開發(fā)過程的原因,并介紹幾種面向Agent分析設計的方法。
關鍵詞:Agent;Gaia;面向Agent方法
中圖分類號:TP18;TP311.52
高質量的信息系統(tǒng)開發(fā)是一項極其困難的工作。為了解決這個問題,學者們提出了一系列的方法。比較典型的有,結構化分析和面向對象方法。由于面向Agent技術在處理復雜的分布式系統(tǒng)時體現(xiàn)出的巨大優(yōu)勢,它的地位也越來越多的得到認可。很多學者開始致力于為支持Agent系統(tǒng)的開發(fā)提供方法論。分析與設計方法論的企圖是,首先幫助人們理解特定的系統(tǒng),然后進行系統(tǒng)設計。建立模型的目的是對所考慮的系統(tǒng)形成形式化的理解。通常,模型開始是試探性和抽象的,隨著分析和設計過程的深入,變得越來越具體、詳實和接近于實現(xiàn)。下面,我們對一些代表性的工作進行回顧,并重點介紹Gaia方法論。
1 幾種面向Agent的分析與設計方法
1.1 AAII方法
AAII方法主要利用面向對象的方法論,并增加基于Agent的概念。AAII方法論提出了外延模型和內(nèi)涵模型。外延模型表示系統(tǒng)級的觀點:模型中主要關心Agent和Agent之間的關系,而并不關心Agent的內(nèi)涵,即它們是如何構造的或它們做什么。相反,內(nèi)涵模型主要關心Agent的內(nèi)涵:它們的信念、愿望和意圖(BDI)。
AAII方法論就是對上面所述模型進行反復修正、迭代與精化。其主要步驟如下:
(1)識別應用領域中有關的角色,并在此基礎之上,研究Agent類的層次結構;
(2)識別與每個角色相關的責任、角色要求和提供的服務,然后確定與每個服務相關的目標;
(3)對每個服務,確定與之相關的交互及每個交互的前提要求與上下文背景;
(4)確定系統(tǒng)的信念結構——每個交互和目標對信息的需求。
1.2 Agent UML
統(tǒng)一建模語言(UML)是由面向對象的分析與設計的三個主要策劃者(Grandy Booch,James Rumbaugh和Ivar Jacobson)提出的,為建模開發(fā)的面向對象系統(tǒng)的一種單一標記語言。UML本身并不是方法論,它是系統(tǒng)文檔模型語言,與UML相關的方法論是著名的理性統(tǒng)一過程。
UML是面向對象建模的事實上的標準,被人們所廣泛接受。OMG(Object Management Group)和FIPA(Foundation for Intelligent Physical Agents)共同提出AUML,用以描述多Agent的交互機制,該建模規(guī)范是UML面向Agent擴展的子集。
1.3 Gaia方法
Gaia方法論的企圖是使分析人員系統(tǒng)地從需求的描述,走向可以直接實現(xiàn)的詳細設計。在應用Gaia時,分析人員從抽象逐步走向越來越具體的概念。每前進一步都會引入更多的實現(xiàn)偏好。并縮小需要實現(xiàn)的系統(tǒng)的可能空間,以滿足初始的需求描述。Gaia借鑒了許多面向對象分析和設計的術語和標記法。然而,將這些方法應用到面向Agent的開發(fā)中,不是簡單自然的嘗試,而是提供了一組與Agent的說明有關的概念。通過這些概念,可以理解一個復雜系統(tǒng)并對它進行建模。特別地,Gaia鼓勵開發(fā)者將基于Agent系統(tǒng)的實現(xiàn)視為組織設計的過程。
2 幾種面向Agent的分析與設計方法對比
通常來說,信息系統(tǒng)的分析與設計問題可以分為總體分析(需求定義)、總體設計與詳細設計三個階段,不同的方法論所對各個階段所關注的程度也不同。
Gaia方法論基本涵蓋了所有三個階段,但在詳細設計階段略有欠缺;AAII方法論在需求確定以后,直接圍繞Agent的模型開始分析與設計,基本沒有覆蓋到系統(tǒng)分析階段;Agent UML由于沿用了UML的模型規(guī)范,對詳細設計階段有最為詳實的描述,已基本接近了系統(tǒng)的具體實現(xiàn)。在選取不同方法對信息系統(tǒng)進行分析與設計時,我們也可以考慮綜合使用多種方法,使我們的方法能覆蓋從系統(tǒng)分析到具體實現(xiàn)的所有階段。
3 適用范圍與缺陷
3.1 面向Agent技術的適用范圍
雖然面向Agent技術在對一些信息系統(tǒng)進行分析與設計中發(fā)揮了很大作用,但這種技術并不是普適的,有許多因素指向面向Agent技術的適用范圍。
(1)Agent是自然的比喻;
(2)數(shù)據(jù)、控制或專長的分布;
(3)遺留系統(tǒng)。
3.2 面向Agent技術的缺陷
我們主要考慮由于使用面向Agent技術后給復雜系統(tǒng)的發(fā)展帶來的困難,因此我們集中分析面向Agent技術固有的、本質上的缺陷:
(1)交互的形式與結果本質上是不可預測的;
(2)由于極有可能出現(xiàn)涌現(xiàn)行為,系統(tǒng)整體的行為也是難以預測的。
首先,關于交互的形式、對象、時機與目標的決策都是實時的,它與Agent的內(nèi)部狀態(tài)、Agent對環(huán)境的認知(或許還包括相近的Agent的狀態(tài))以及當時的組織背景有著復雜的依賴關系。將這些多樣的因素混雜到一起意味著預測系統(tǒng)的交互是極其困難的。其次,在交互開始時提出的請求與最終交互產(chǎn)生的結果之間可能存在很大的變化。由于Agent對自己的選擇有自治權,這使初始的要求可能完全被滿足,也可能完全被拒絕,或者通過又一系列交互后做出某些改動,簡而言之,無論是交互的性質還是結果都不可能在最開始的時候就確定下來。
在開發(fā)特定的系統(tǒng)或應用時,設計者們可以通過嚴格規(guī)范組織結構、限制Agent交互的性質與范圍來回避上面提到的缺陷。然后,這些規(guī)定也制約了面向Agent技術發(fā)揮它本具有的功效。如何解決這個兩難的問題,還需要學者們做更深入的研究。
參考文獻:
[1]Nicholas R.Jennings.An Agent-based approach for building complex software systems[J].Communications of the ACM.2001,Vol 44(No.4):35.
[2]G.Booch.Object-Oriented Analysis and Design with Applications[M].Addison-Wesley MA,1994.
[3]B.Meyer.Object-Oriented Software Construction[M].Prentice Hall:Englewood Cliffs,1988.
[4]Nicholas R.Jennings.On Agent-based software engineering[J].Artificial Intelligence.2000,Vol 117:277-296.
[5]P.C.Janca.Pragmatic application of information Agents[R].BIS Strategic Report,1995.
作者簡介:牛永鑫(1969.03-),男,遼寧錦州人,碩士,副教授,主要從事計算機網(wǎng)絡、多媒體、計算機應用設計。
作者單位:遼寧石化職業(yè)技術學院,遼寧錦州 121000