第二章 文獻探討
2.1 代理人需求塑模方法論
目前國外的研究有很多代理人需求塑模的方法被提出來,其中最常被當作研 究議題的塑模方法有 Gaia(Wooldridge et al., 2000)、PASSI(Chella et al., 2003;
Cossentino & Potts, 2001; Luck et al., 2004)、MaSE(DeLoach et al., 2001)等。在這 個章節,我們針對這三種方法做概略性的介紹,並針對軟體工程的方法做比較分 析。
2.1.1 Gaia
Gaia 塑模方法是一套以角色為基礎的代理人系統分析與設計方法,其塑模 方法主要以文字描述為主,透過角色(roles) 描述一個多代理人系統(Multi-Agent System)。
圖 2.1 Gaia 方法論架構圖 (Wooldridge et al., 2000)
如圖 2.1 所示,分析與設計兩階段透過五個模型完成多代理人系統的開發,
這五個模型介紹如下:
分析階段之目的在於客觀的發展多代理人系統的初步架構,在這個階段並不 包含任何實作的細節步驟。在此分析階段主要是透過兩個模型進行系統架構的分 析:
(1) 角色模型(Roles Model):
在此模型中,其主要是透過角色的四種屬性(Responsibilities、Permissions、
Activities、Protocols)定義,來描述每個代理人在系統扮演的角色內容。
義的協議來作為代理人之間輸入與輸出的標準,從而達到代理人互動的目的。在 設計階段中,其主要是將在分析階段中所建構出的資訊,轉換為更精細的模型。
所以在設計階段中主要是透過下面三個模型進行系統架構的設計:
(1) 代理人模型(Agent Model):
在此模型中,主要是將分析階段型態相同的代理人角色合併,並定義該代理 人系統在執行時(run-time)的代理人實體。
(2) 服務模型(Services Model):
在此模型中,主要是透過代理人角色的功能定義每個代理人角色的服務 (services)。
(3) 關係模型(Acquaintance Model):
在此模型中,主要是透過代理人型態之間的連結(links) 情形驗證模型設計 上是否符合耦合力(loosely coupled)原則來找出設計上的問題缺失。
Gaia 的方法雖然以角色分類,但是著重於個體代理人的能力,代理人之間 互動行為的過程是靜態的,這很明顯使得代理人失去自助性與反應性。但是卻有 著相當高的獨立性與簡捷性。也由於分析過程著重於系統與系統結構的理解,使 得這種開發方式適合用於封閉式的獨立代理人設計上。
2.1.2 MaSE
由於 Gaia 不適合用於開放式與具有社群模式的代理人架構,因此 MaSE (DeLoach et al., 2001)被擴展提出。
圖 2.2 MaSE 方法論架構圖 (DeLoach et al., 2001)
透過 MaSE 可以將系統規範說明轉換成多代理人系統的實現,而實現的方式 就是透過七個階段的建構過程。如圖 2.2 所示以下將描述 MASE 方法所提供的 七個建構階段:
(1) 擷取目標(Capturing goals):在此階段主要是將原始的使用者需求,轉
標轉換建構代理人角色。
(3) 實行使用案例(Applying use cases):在此階段主要是透過使用案例,建構 為循序圖(Sequence diagrams),來表達不同代理人之間的訊息傳遞方式。
(4) 建立代理人類別(Creating agent classes):在此階段是透過同型態(Types) 的代理人建構代理人類別(Agent classes)從而描繪代理人類別圖(Agent class diagrams)。
(5) 建立對話(Constructing conversation):在此階段主要是建構代理人類別之 間的溝通協議。
(6) 組合代理人類別(Assembling agent classes):在此階段主要是描述代理人 類 別 的 內 部 狀 態 , 一 般 代 理 人 類 別 的 內 部 狀 態 可 以 用 Belief-Desire-Intention(BDI)、Planning 等樣板(template)來進行描述。
(7) 系統佈署(System Deployment):在此階段主要是將代理人類別實例化。
MASE 之目的在於提供一套完整的代理人系統分析與設計方法,在其各階 段的產出中,皆使用了圖形標記的方式來記錄其產出,但其所用的圖形標記也並 非全部是以標準圖形標記為基礎。
2.1.3 PASSI
PASSI(a Process for Agent Societies Specification and Implementation)是開發 多代理人系統的方法論,從需求分析、程式撰寫與部署皆有詳細的定義與規範,
並且整合物件導向軟體工程與人工智慧的設計模型與概念,以統一塑模語言
(UML)的表示法進行多代理人系統與知識本體模型的建置。
圖 2.3 PASSI 方法論架構圖(Cossentino & Potts, 2001)
如圖 2.3 所示,PASSI 以五個階段完成多代理人系統的開發,這五個階段說 明如下(Chella et al., 2003; Cossentino & Potts, 2001):
(1) 系統需求模型(System Requirement Model):建立多代理人系統的系統需 求模型,用來描繪代理人領域規範與工作規範,模型的建立按照四個步驟完成,
包含:領域描述(Domain Description)、代理人識別(Agent Identification)、角色識 別(Role Identification)、工作規範(Task Specification)。
(2) 代理人社群模型(Agent Society Model):指代理人與代理人之間的互動行 為所進行的社交能力與代理人之間角色的依賴關係,模型的建立也是透過四個步 驟 完 成 , 包 含 : 角 色 識 別 (Role Identification) 、 知 識 本 體 描 述 (Ontology Description)、角色描述(Role Description)、協定描述(Protocol Description)。
細節。包括兩個步驟,分別是:代理人結構定義(Agent Structure Definition)與代 理人行為描述(Agents Behavior Description)
(4) 編碼模型(Code Model):這個階段是進行模型的視覺化的系統實作,以 Rational Rose 開發工具產生部份的程式碼,並且進而撰寫每一個類別的方法內 容。
(5) 部署模型(Deployment Model):這個階段是將開發完成的應用系統實際 部署於硬體設備並顯示出硬體之架構及硬體內軟體之架構,並且進行系統的實際 測試與操作。
2.1.4 代理人需求塑模方法論比較
綜觀上面三種方法我們發現 PASSI 相較其他塑模方法有下面的優點,更能 貼切的應用於後續使用者介面的開發整合:
1. 在分析與設計階段採用循環式開發,可以因應介面設計的階段增添使用者需 求使整個方法論更有易用性。
2. 塑模工具採用目前主流的統一塑模語言 UML,可以讓系統開發人員不需額外 的訓練成本就能理解系統架構與使用者需求。
3. PASSI 方法論在各階段設計過程提供完善的說明,讓分析與設計階段與實作 階段環環相扣,可以縮短多代理人系統的開發時間。
表 2.1 為本論文針對 Gaia、MsSE 和 PASSI 三種代理人塑模方法論進行比較 後,整理所得的簡要結論:
表 2.1 代理人需求塑模方法論比較表
Gaia MaSE PASSI
分析設計流程 由上至下 由上至下 由上至下循環
塑模語言 文字 文字 + UML UML
適用社群架構 封閉式 開放式 開放式&封閉式
需求擷取分析 X O O
靜態結構塑模 O O O
-細部規格設計 X X O
動態行為分析 O O O
-社群互動設計 X O O