第二章 文獻探討
2.6 代理人塑模方法論
代理人導向的程式設計思維下,有許多代理人系統塑模的方法論被提出,以 提高開發人員建構代理人系統效率及效能,如 Gaia (Wooldridge et al., 2000)、
MaSE (DeLoach et al., 2001) 、PASSI (Chella et al., 2003; Cossentino & Potts, 2002;
Luck et al., 2004)等。
其中 Gaia 塑模方法主要以文字描述代理人角色分類,塑模過程分為分析與 設計兩個階段,如圖 2.7 所示。分析階段以角色模型(Roles Model)與互動模型 (Interaction Model)描述代理人所扮演的角色及其角色之間的互動行為,透過互動
行為的定義來表達出代理人實際目的;在設計階段透過代理人模型(Agent Model) 找出代理人實體與角色型態;以服務模型(Services Model)找出代理人所擁有的功 能;以關係模型(Acquaintance Model)找出代理人間的連結,並檢驗連結是否有錯 誤存在以及必須符合低耦合力原則,在此階段反覆調整代理人設計。由於 Gaia 多利用文字以及表格表達代理人系統模型,因此在未來系統維護上必須付出較高 成本。
圖 2. 7 Gaia 方法論架構圖 (Wooldridge et al., 2000)
MaSE 塑模方法也分為分析與設計兩大階段,首先透過:(1) 擷取目標 (Capturing goals)將使用者需求轉化為系統目標、(2)目標角色轉換(Transforming goals to roles)將系統目標轉化為代理人的角色,並找出角色任務、(3)實行使用案 例(Applying use cases)透過先前產出之角色與其目標任務,透過循序圖描述角色 間互動情形並更進一步確定出角色模型、(4)建立代理人類別(Creating agent classes)部分要進行代理人類別的確認、(5)建立對話(Constructing conversation)部 分描述代理人間對話模式及狀態、(6)組合代理人類別(Assembling agent classes) 部分主要描述代理人內部狀態、(7)系統佈署(System Deployment)階段運用先前找
出的代理人,建構代理人實例。以上七個建構過程來實現代理人系統,如圖 2.8 所示,其方法在各階段接使用其方法論所定義之圖形標記來建構模型,但並非全 部遵循標準圖形標記,因此開發人員必須再經過訓練才能運用此方法論,此外,
MaSE 是一個由上至下的塑模方法,無法在設計階段調整使欲者需求,開發彈性 受限。
圖 2. 8 MaSE 方法論架構圖 (DeLoach et al., 2001)
PASSI (a Process for Agent Societies Specification and Implementation)分為五 個階段,如圖 2.9 所示:(1)代理人需求模型(Agent Requirement Model):用來建 構代理人系統的需求模型,描述代理人領域、工作範圍的靜態分析,分為領域描 述 (Domain Description) 、 代 理 人 識 別 (Agent Identification) 、 角 色 識 別 (Role
Identification)、任務規範(Task Identification)。(2)代理人社群模型(Agent Society Model):描述代理人間的交互行為,及社交能力與代理人之間角色關係的動態分 析,分為角色識別(Role Identification)、知識本體描述(Ontology Description)、角 色描述(Role Description)、協定描述(Protocol Description)。(3)代理人實作模型 (Agent Implementation Model):實作實際的代理人類別、方法架構,可分為代理 人 結 構 定 義 (Agent Structure Definition) 與 代 理 人 行 為 描 述 (Agent Behavior Description)。(4)編碼模型(Code Model):利用開發工具產生部份程式碼,實際撰 寫並測試代理人程式。(5)部署模型(Deployment Model):這個階段是將開發完成 的代理人系統實際部署於硬體設備,並且進行實際測試與操作。方法論的五個階 段以統一塑模與言(UML)標準來描述系統模型,以利未來系統維護,並採用循環 式開發,可因應介面設計階段根據使用者需求調整系統原型,遵循「以使用者為 中心」之系統發展概念。
圖 2. 9 PASSI 方法論 (M. Cossentino & Potts, 2001)
雖然以上列舉的三個塑模方法論,皆能獨立建構代理人系統,但無法提供代 理人使用者介面精細的塑模能力,因此 Hsieh (2008,2009)等人以 PASSI 方法論 為基礎,提出對話代理人需求塑模(Dialog Agent Requirements Modeling, DARM) 方法論,如圖 2.10 所示。其中,對話代理人需求模型主要由領域描述、對話代
理人識別、對話角色識別、和工作規範等四個步驟組成,而對話代理人社群模型 則包含對話角色識別、知識本體描述、對話角色描述、和協定描述等四個步驟。
另外,對話代理人 PAC 模型則依據對話代理人需求模型和對話代理人社群模型 產出的文件,分別依識別出來的對話代理人的角色進行 PAC 塑模(謝明哲, 2009)。
圖 2. 10 代理人介面需求塑模方法論 (Hsieh, et al., 2009 ; Hsieh, et al., 2008)
對話代理人需求塑模方面,跟據 PTK (PASSI ToolKit Tutorial)指引(2008)將領 域描述、代理人識別、角色識別與工作規範描述如圖 2.11、圖 2.12、圖 2.13、圖 2.14 所示。在領域描述階段主要運用使用案例圖表示使用者控制目標,該控制目 標根據代理人對話來決定基層代理人,在這個階段能依據使用者建立各不同適應 介面,建立大致架構,如圖 2.11 所示;代理人識別階段是根據領域描述階段提 到的功能及對話來將代理人分組,依照使用案例圖規格畫出代理人的使用案例 圖,每一個代理人以一個套件(package)代表,而對話則以樣板(communication) 表示,如表 2.1 所示,代理人識別圖如圖 2.12 所示;角色識別階段是用來將代理
人識別階段所描述之對話互動做詳細的描述,這個階段以循序圖來描述對話情境 及其順序關係,如圖 2.13 所示。以上階段可完成預定的對話介面流程和對話策 略,並將使用者介面狀態與行為部份,描述在代理人 PAC 模型中;在工作規範 階段以活動圖描述代理人內部行為能力與其他代理人的互動,其中以分割 (patition)劃分外不活動以及內部行為流程,使用活動(action)表示該代理人行為能 力或方法,以實線箭頭(control flow)描述其行為流程或內外部活動之溝通,以控 制(decision)描述流程之判斷,如表 2.2 所示。工作規範圖範例如圖 2.14 所示。
圖 2. 11 代理人使用案例圖
表 2. 1 代理人識別圖元件說明
編號 元件 說明
1.package 依情境以 package 劃分代理人
2.communicate 表示代理人間溝通
圖 2. 12 代理人識別圖
圖 2. 13 角色識別階段循序圖
表 2. 2 工作規範圖元件說明
編號 元件 說明
1.decision 行為關聯之控制
2.action 描述代理人行為能力
3.control flow 描述行為關聯
4.patition 分割代理人內部形為流
程以及外部活動
圖 2. 14 工作規範活動圖
對話代理人社群模型主要功用為描述代理人間的活動行為模式,這個部份有 三個階段,在知識本體描述階段使用領域知識描述(Domain Ontology Description, DOD)、溝通知識描述(Communication Ontology Description, COD)兩種類別圖表 示,如圖 2.15、216 所示。領域知識描述說明實體的概念(concept)描述述詞 (predicate)和行動(action),此階段可提取出 PAC 模型之關鍵字,並建置知識本 體,其中應用統一建模語言(Unified Modeling Language, UML)中的 Class 圖分別 表示,黃色為概念、青藍色為述詞、白色為行動,並運用實線描述代理人對該概 念 有 何 行 為 能 力 以 及 判 斷 的 依 據 , 若 概 念 間 存 在 著 繼 承 關 係 , 以 一 般 化 (generalization)表示,如表 2.3。溝通知識描述說明代理人間的溝通的規範與知 識,其中包含通訊協定(Protocol)、語言(Language)與知識本體,應用 UML 之 Class 圖定義代理人以及其溝通方法,其中以實線連結代理人,並在線段端點註記代理 人當下所扮演的角色;以虛線(dotted line)連結角色間的溝通方法,如表 2.4 所示。
透過領域知識描述所建立的知識本體與溝通知識描述所建立的通訊協定以及語 言等規範,來完成代理人應具備的知識與溝通協定規範,以及 PAC 模型的屬性 值配對的建立;在角色描述階段,根據描述對話角色之間協同合作的溝通狀況,
因應對話情境的不同相同代理人角色的轉變,以實線表示溝通知識描述的工作詞 彙,而本階段產生的不同情境下角色扮演以虛線連結,並透過角色轉換樣板 [ROLE CHANGE]來表示不同情境下代理人角色(功能)的轉變,如表 2.5 與圖 2.17 所示;協定描述階段說明代理人溝通協定,通常遵循 FIPA 標準協定,代理人間 以 ACL 訊息結構進行溝通,並額外設計常用的溝通協定,以提供更豐富的互動。
Domain Ontology Description Diagram
Environmental Control
<<action>>
model building
<<action>>
Expert Inquiry
<<action>>
EnvironmentaControlHelp Value : Boolean
<<predicate>>
Dialog AgentNUM : int
<<predicate>>
RegisterMe
<<action>>
UIControlHelp Value : Boolean
<<predicate>>
AssistaceControlHelp Value : Boolean Environmental Agent
AGENT_TYPE : String = Environmental Agent version : String = 1.0
Environmental Agent() shutdown() setup() register_WithAMS() register_WithDF()
(from Environmental Agent)
<<concept>>
+target
UI build
AGENT_TYPE : String = UI build version : String = 1.0 UI build() shutdown() setup() register_WithAMS() register_WithDF()
(from UI build)
<<concept>>
+target
Assistance Agent
AGENT_TYPE : String = Assistance Agent version : String = 1.0
Assistance Agent() shutdown() setup() register_WithAMS() register_WithDF()
(from Assi stance Agent)
<<concept>>
+target DialogUI
AGENT_TYPE : String = DialogUI version : String = 1.0 DialogUI() shutdown() setup() register_WithAMS() register_WithDF()
(from Di al ogUI)
<<concept>>
+target
+DialogUI +DialogUI
+DialogUI
4.generalization 描述概念的繼承關係
5. solid line 連結概念、行為與述詞,說明
該概念之行為能力與控制
Communication Ontology Description Diagram
EnvironmentalToUI Ontology : Environmental Language : RDF Protocol : FIPARequest
<<Communication>>
Environmental Agent DialogData : Dialog
<<Agent>>
Assistance Agnet DialogData : Dialog
<<Agent>>
UI build DialogData : Dialog
<<Agent>>
DialogUI AssistanceData : Assistance UI buildData : UIbuild
EnvironmentalData : Environmental
<<Agent>>
AssistanceToUI Ontology : Assistance Language : RDF Protocol : FIPAInform
<<Communication>>
buildToUI Ontology : UIbuild Language : RDF Protocol : FIPARequest
<<Communication>>
+StartUP
+EnironmentalServer +AssistanceServer
+StartUP
+UI build Server +StartUP
圖 2. 16 溝通知識描述圖 (洪維昇,2009)
表 2. 4 溝通知識本體描述元件說明
編號 元件 說明
1.communicate
描述溝通樣版之語言格
圖 2. 17 角色描述圖 (洪維昇,2009)
表 2. 5 角色描述圖元件說明
編號 元件 說明
1.role 描 述 代 理 人 扮 演 之 角
色,以及其行為能力
2.solid line 連結代理人角色,表示溝
通關係
3.ROLE CHANGE 表示角色轉變
PAC(Presentation Abstraction Control)模型是常見的介面架構表達工具,每 個使用者介面又可分成許多子介面,每個介面由表達、摘述及控制組成,如圖 2.18。表達與摘述分別描述定義物件的外觀、功能及概念,而控制則為兩者間 溝通橋樑,並負責與其他介面互相聯繫,吳仁和等人(吳仁和、林信惠,2004) 提出 Net-PAC Model,改善傳統 PAC 模型難以對網狀結構塑模問題,在多代理 人的分工作業模式下,Net-PAC 模型可以簡化訊息傳遞工作,減少過多複雜的 控制。Hsieh 等人(2009)依據 Net-PAC 模型定義 DARM 代理人使用者介面架 構,如圖 2.19 所示。
圖 2. 18 PAC Model 架構圖 (Hussey & Carrington, 1997)
圖 2. 19 代理人使用者介面架構圖 (Hsieh et al., 2009)
由於 PAC 模型在使用者介面與內部互動呈現的塑模缺乏複雜洞察力,因此 在 DARM 塑模方法中遵循圖 2.20 所示之 DARM 系統開發生命週期(System Development Life Cycle, SDLC),不斷針對使用者介面進行精鍊修改,以建置符 合使用者需求之互動介面。
圖 2. 20 DARM 系統開發生命週期 (Hsieh et al., 2009)
而後,林聖熙(2010)引用戚玉樑( 2005)、戚玉樑(2006)、戚玉樑與蔡明宏 (2007) 、戚玉樑與陳彥均(2009)提出的以使用者認知為基礎的設計構想與系統架 構,如圖 2.21 所示,將其應用在 DARM 對話代理人社群模型的「知識本體描述」
步驟。這個方法可以提供在「知識本體描述」步驟建立足以支援個別化服務對話 策略的知識本體,讓對話代理人從與使用者的互動過程中,有效感知使用者的意 圖,以利提供恰到好處的個別化服務給使用者(謝明哲, 2011)。
圖 2. 21 以使用者認知為基礎的設計構想與系統架構 (戚玉樑、陳彥均,2009)