李麗
青海廣播電視大學(xué) 青海 810001
面向?qū)ο蟮挠嬎闼枷霃娬{(diào)直接從待解的問題域出發(fā),認(rèn)為現(xiàn)實世界是由具有本質(zhì)特征的事物組成,可以根據(jù)這些本質(zhì)特征將其抽象為系統(tǒng)的基本單位—對象,通過對象間的分工和合作構(gòu)成現(xiàn)實世界運行,并利用封裝、繼承等機制來構(gòu)建計算系統(tǒng)。而面向Agent的計算是一種基于Agent社會觀的新興計算模式,其思想是從人類、事物和環(huán)境的現(xiàn)實世界出發(fā),強調(diào)事物的屬性是動態(tài)的,且在很大程度上受到與其密切相關(guān)的人和環(huán)境的影響,將影響事物的主觀和客觀特征相結(jié)合,并抽象為系統(tǒng)的基本單位—Agent,通過Agent的協(xié)商、合作來實現(xiàn)系統(tǒng)的整體目標(biāo)。
與面向?qū)ο蟮乃枷氩煌?,Agent通過引入心智屬性,一方面將人類主觀意識與客觀世界緊密結(jié)合,另一方面使得Agent對環(huán)境的感知在經(jīng)過一系列的心智活動后,能相應(yīng)地調(diào)整其解決問題的意圖和策略。因而面向Agent方法更貼近客觀世界的真實情況,更準(zhǔn)確地反映了客觀世界事物之間的深層聯(lián)系及其靜態(tài)和動態(tài)特征的本質(zhì)和根源,更接近人類解決問題的一般方法和習(xí)慣。
面向Agent軟件工程(Agent—Oriented Software Engineering AOSE)研究有效的面向Agent的軟件方法和支持方法的工具,用以開發(fā)高質(zhì)量的復(fù)雜軟件產(chǎn)品—多Agent系統(tǒng)(MAS)。AOSE的方法是基于Agent交互和組織關(guān)鍵抽象集問題域和計算域建立模型的原則和活動集。AOSE方法可以分為形式化和非形式化兩類。
(1) 形式化方法:形式化方法以數(shù)理邏輯作為模型語言。認(rèn)為形式方法的過程由系統(tǒng)規(guī)范、系統(tǒng)實現(xiàn)和系統(tǒng)驗證三個階段組成。系統(tǒng)規(guī)范是說明Agent系統(tǒng)的框架。目前最成功的框架是用時序模態(tài)邏輯表示的規(guī)范,兩個著名的邏輯框架是Cohen-Levesque的意圖理論和Rao-Georgeff的BDI模型。系統(tǒng)實現(xiàn)將抽象規(guī)范轉(zhuǎn)換為具體的計算系統(tǒng)。系統(tǒng)實現(xiàn)有解釋執(zhí)行和編譯兩種方法,解釋執(zhí)行是指給定用邏輯語言L描述的系統(tǒng)規(guī)范S,將S作為執(zhí)行規(guī)范,直接解釋S以產(chǎn)生Agent行為;編譯是把Agent規(guī)范通過自動編譯過程將抽象的規(guī)范轉(zhuǎn)換成具體的計算模型,編譯后的系統(tǒng)執(zhí)行很少或根本不需要進行符號推理。系統(tǒng)驗證用來確定計算系統(tǒng)是否正確地實現(xiàn)了規(guī)范。系統(tǒng)驗證可分為公理驗證和模型檢查兩種方法。
(2) 形式化方法的主要問題在于以下幾點:
① 時序模態(tài)邏輯的可能世界語義存在邏輯全知問題,認(rèn)為Agent具有無限的推理能力,而實際的Agent無法滿足這種要求。
② 可能世界語義缺乏現(xiàn)實基礎(chǔ),Agent狀態(tài)的抽象表示與具體計算模型沒有直接的聯(lián)系。
③ 對交互、組織的形式化描述問題研究不足。
(3) 非形式化方法:非形式化方法以圖、表、文本等作為模型語言。相對于形式化方法,非形式化方法的研究比較活躍。以下是集中非形式化方法的介紹。
① Prometheus是基于功能分解的方法,使用文本和AUML作為模型語言,其過程分為系統(tǒng)說明、結(jié)構(gòu)設(shè)計、細(xì)節(jié)設(shè)計三個階段。Prometheu的目標(biāo)是為開發(fā)者提供一個包括全部開發(fā)活動的、迭代的、具備模型一致性檢查能力的方法。Prometheus將待求解問題劃分為Agent系統(tǒng)和環(huán)境兩部分,將從環(huán)境的輸入信息稱為感知,將Agent系統(tǒng)對環(huán)境的影響稱為行動。
② ODAC使用 RM-ODP(開放分布過程參考模型)的框架和模型,以UML作為模型語言,其過程分為分析、設(shè)計和實現(xiàn)三個階段。ODAC的目標(biāo)是以標(biāo)準(zhǔn)化的方法有效降低由復(fù)雜軟件系統(tǒng)的分布性而產(chǎn)生的開發(fā)難度。RM-ODP是由ISO和ITU-T共同制定的開發(fā)分布式系統(tǒng)的結(jié)構(gòu)框架,包括對象模型和結(jié)構(gòu)模型兩部分,結(jié)構(gòu)模型含有企業(yè)、信息、計算、工程、技術(shù)等六個視圖,其中企業(yè)視圖由企業(yè)對象、對象社會等組成,計算視圖描述交互等分布式計算結(jié)構(gòu)。ODAC的設(shè)計和實現(xiàn)階段目前仍在發(fā)展中。ODAC的主要問題是沒有區(qū)分Agent與對象,使用UML作為模型語言不能充分描述AOSE的關(guān)鍵抽象集。
③ SONIA的目標(biāo)是使用獨立于設(shè)計的一般性分析方法和自底向上識別Agent的設(shè)計過程,以自然的方式開發(fā)Agent系統(tǒng)。SONIA分析階段使用問題域術(shù)語為模型語言,設(shè)計階段沒有指定模型語言。SONIA的主要問題是沒有建立組織模型,分析與設(shè)計階段使用不同的模型語言,不利于分析模型到設(shè)計模型的平滑轉(zhuǎn)換。
(4) 將已提出的非形式化方法劃分為以下三類:
① 基于Agent和多Agent技術(shù)的方法。該類方法將Agent作為與傳統(tǒng)對象不同的新抽象,如Gaia、SONIA等。
② 基于面向?qū)ο蠹夹g(shù)的方法。該類方法將Agent作為復(fù)雜對象,擴展OO技術(shù)以表示Agent的復(fù)雜行為,如Prometheus、ODAC、MaSE等。
③ 基于知識工程的方法。該類方法著重于對Agent使用知識的識別、獲取和建模,如MAS-CommonKADS。
(5) 非形式化方法研究存在的主要問題是:
① 沒有形成較一致的Agent、交互、組織建模原則。
② 求解結(jié)構(gòu)是固定的,不能體現(xiàn)Agent靈活的問題求解能力。
③ 沒有對 Agent本身具備的獨立控制線程的控制機制建模。
④ Agent模型達不到系統(tǒng)級抽象程度和粒度的要求。
⑤ 使用自頂向下的分解還原方法而不是復(fù)雜系統(tǒng)要求的綜合集成方法。
統(tǒng)一建模語言(Unified Modeling Language,UML)是一種圖形化的表示語言,最初用于標(biāo)準(zhǔn)化對象類的設(shè)計,后來被擴展為支持面向?qū)ο笙到y(tǒng)中所涉及的所有部件。如組件、包等。Odell,Parunak和 Bauer提出了 AIP(Agent Interactions Protocols)的三層表示模型。在UML的基礎(chǔ)之上進行了擴展。擴展后的模型被定義為AUML(Agent UML)。在AUML中。對 UML中的其本元素作了適當(dāng)?shù)母淖?,主要包括:?Packages)、模板(Templates)、序列圖(Sequence Diagrams)、合作圖(Collaboration Diagrams)、活動圖(Activity Diagrams)和狀態(tài)圖(Statecharts)。OMG和FIPA(Foundation of Intelligent Physical Agent)都支持?jǐn)U展 UML作為 Agent統(tǒng)一模型語言(AUML),主要擴展工作包括:
(1) 擴展包和模板描述交互協(xié)議。
(2) 擴展UML中的類圖、對象圖以允許Agent承擔(dān)多個角色。
(3) 擴展動態(tài)模型中的順序圖、協(xié)作圖、狀態(tài)圖等支持并發(fā)描述,使UML能夠描述Agent的復(fù)雜交互行為。
(4) 擴展部署圖支持描述Agent的移動性。AUML研究存在的主要問題是擴展工作集中于描述Agent的描述。
開發(fā)工具大多基于Java語言,如ZEUE,JACK等利用Java語言的解釋執(zhí)行、支持分布式計算、平臺無關(guān)等特性滿足復(fù)雜軟件系統(tǒng)開放、分布、異構(gòu)的要求,Java環(huán)境是多線程的而且內(nèi)置多線程控制,支持Agent的多線程運行。
面向Agent軟件工程是軟件工程領(lǐng)域重要的新技術(shù),發(fā)展有原則的非形式化Agent系統(tǒng)開發(fā)方法是Agent技術(shù)被廣泛使用的根本。Agent理論和技術(shù)源于人工智能領(lǐng)域,在AI的研究中Agent的對應(yīng)物是人,MAS的對應(yīng)物是人類社會,人和人類社會是社會學(xué)的研究對象;AOSE的目標(biāo)是建造具備正確性、可維護性等質(zhì)量因素的高質(zhì)量多Agent系統(tǒng),社會學(xué)是研究人類社會良性運行和協(xié)調(diào)發(fā)展的條件和機制的綜合性具體社會科學(xué);MAS本質(zhì)上是自底向上建造的系統(tǒng),人類社會本身也是自底向上形成的復(fù)雜系統(tǒng);面向Agent編程范型是一種計算的社會觀點,而人類社會是開發(fā)者最為熟悉和理解的社會,因此我們認(rèn)為以社會學(xué)理論為原則的非形式化Agent系統(tǒng)開發(fā)方法是AOSE的下一步發(fā)展方向。
[1]Lin Padgham and Michael Winiko.Prometheus:A brief summary.Technical note, available from the authors.2003.
[2]Weiss G.Multi-Agent Systems:A Modern Approach to Distributed Artificial Intelligence [M]. Cambridge, MA: The MIT Press.2005.
[3]M E Bratman1 Intentions, Plants, and Practical Reason[M].Cambridge,MA: Harvard University Press.1987.
[4]Rao A S,Georgeff M P.BDI Agents: From Theory to Practice[A]. Proc of the 1st Int’l Conf on Multi-Agent Systems(IC2MAS295) [C].1995.