使用UML建构代理人导向软体工程

上传人:m**** 文档编号:223232012 上传时间:2023-07-17 格式:DOCX 页数:15 大小:149.81KB
收藏 版权申诉 举报 下载
使用UML建构代理人导向软体工程_第1页
第1页 / 共15页
使用UML建构代理人导向软体工程_第2页
第2页 / 共15页
使用UML建构代理人导向软体工程_第3页
第3页 / 共15页
资源描述:

《使用UML建构代理人导向软体工程》由会员分享,可在线阅读,更多相关《使用UML建构代理人导向软体工程(15页珍藏版)》请在装配图网上搜索。

1、使用 UML 建構代理人導向軟體工程之研究-以猜數字為例楊錦潭 1 簡世宇 2 1高雄師大共同科, 2資訊教育研究所 高雄市苓雅區和平一路 116 號 TEL: (07)7172930 ext 3514 E-mail:yangdavnknucc.nknu.edu.tw 摘要本文目的在於探討智慧型代理人如何透過 UML 進行代理人之分析設計與在 JADE(Java Agent Development Environment) 平台的實作,由於代理人導向程式語言 (Agent-Oriented Programming; AOP)是一種程式設計的新典範(Agent-Oriented Software

2、 Engineering; AOSE)。目前AOSE已然受到全球代理人研究者的矚目。本文以一簡單 而典型的代理人系統-猜數遊戲為例,說明代理人程式系統化開發程式過程,運用 建構物件系統模型的視覺化工具-UML搭配RUP的方法論,發揮UML擴充機制進而 發展符合AOSE的制式化開發流程。關鍵 詞AOP. JADE、智慧型代理人(In tellige nt Age nt)、UML一、 背景、円在時間點上智慧型代理人(In tellige nt Age nt; IA或簡稱代理人)正是人工智慧 的新顯學。由於傳統的人工智慧,並未實踐讓電腦真正的包含人類之智慧,再加上傳統的 人工智慧至今仍舊缺乏基本的軟

3、體工程(Software Engineering)方法,讓人工智慧的 程式設計師可以依樣畫葫蘆的進行程式設計。因此, 許多人對人工智慧的失望也就 不言可喻了。目前的分散式網路應用程式(Distributed Web Application)環境所衍生 出來的問題是任何過去的軟體工程典範無法加以解釋或處理的,因為分散式網路應用 程式是由分散式的控制與資料在不同的地方,各行其是,但在共同執行一個任 務時,則是透過溝通的方式來達成目標; 由於其中每一部電腦的軟體都有它自己的任務 難免各任務之間產生衝突的情況。例如:網路頻寬、安全等資源、計算資源等等。目前 在國內代理人軟體已成功的被開發與應用於遠距教

4、學1旅遊規劃2、電子商務3、等 等,但它是否可以演變成新典範之關鍵則有下列四個必要條件:(一) 、智慧型代理人的模式可真正解決網路上或分散式系統所衍生的問題,如果智慧型代理人可以大大提昇由舊典範辦不到或採用新典範下執行效率可以大幅提昇 時,則智慧型代理人的技術與模型典範將迅速在 5 年內取得軟體工程的主流地 位,請下物件導向程式技術典範目前龍頭的地位11 ,4。(二) 、既有系統(Legal system)與應用程式如何轉化成智慧型代理人的模式,如果既有應用程式只要外包住智慧型代理人的框架,則既有的應用程式不用重寫即可達成 原來的工作。(三) 、智慧型代理人必需提供標準的開發平台,如:由FIP

5、A10所製訂開發平台,提供了AMS(Agent Management System), ACC(Agent Communication Channel), DF(Directive Facility) o未來如:美國In prise軟體大廠提供整合式開發環境,使低 階如:多執行緒(Multiple threading、代理人的溝通機制可以由開發平台來完成之, 如此一來,智慧型代理人程式設計師集中全力於應用程式的分析與設計。(四) 、代理人必需提供分析與設計模型:在物件導向程式技術典範下,UML提供視覺化分析與設計開發工具,而RUP(Rational Unified Process)7則是提供物

6、件導向 設計的方法。UML開發工具就如傳統程式設計的流程圖作為檢驗撰寫程式的邏 輯, UML 則是為物件導向程式流程而設計軟體工具,符合由不同的使用者共 同可以確認規格、物件分析、物件設計的基礎。相同的道理,代理人必得提供如: Agent-UML的分析工具來協助代理人程式設計師開發代理人程式1。隨著對於應用代理人技術的需求日益增加,代理人導向的軟體也愈趨龐大且複 雜。為有效應用代理人技術,系統化開發程序有其必要性。因此本文將以代理人技術實 作一猜數遊戲系統為例,說明如何有系統地完成分析、設計及在 JADE(Java Agent Development Environment)4 實作一代理人導

7、向軟體。而所謂代理人的定義,如今仍然眾 說芸芸12,但基本上代理人應具有立即反應(Reactivity )自主性(Autonomy )目 標導向(Pro-activity )及合作(Cooperation )等四項特性。本文針對物件導向技術中常用的塑模語言UML結合其固有的擴充機制,因為UML 提供具有良好定義的元素名詞、對應符號及使用的語法,以方便使用者從物件導向的觀 點建構相關的模型。二、 猜數遊戲的代理人系統本系統內有兩類代理人,一為猜數遊戲管理者( Guessing Game Manager Agent, 簡稱GGMA),另一則是遊戲回應者(Game Respo nder Age nt

8、,簡稱GRA)GGMA 負責主導整個猜數遊戲的進行,包括出題、找尋回應者、猜數過程並記錄,及顯示最後 結果。因此,GGMA與GRA主要任務分別是負責進行出題與猜題,GRA透過互動與 GGMA相同配合,共同完成整個遊戲,在本系統之外可以有多個GRA卻只能有一個 GGMA。共演算法如表2-2所示,而其執行結果如圖2-1。GGMA主要虛擬碼:max = random(2000);answer = random(max);send max to GRA;finish = false;repeatwait for guess from GRA;if (answer guess) then level =

9、 “higher”; finish = false; if (answer guess) then level = “lower” ; finish = false; if (answer = = guess) then level = “bingo” ; finish = true; until finish = = trueendGRA的主要虛擬碼:wait for max of GGMA;start_num = 0;end_num = max;guess = max / 2;send guess to GGM 代wait for call for proposal(cfp) from G

10、GMA;finish = false;repeatif (level = = “bingo”)then answer = guess; finish = true; else if (level = = “higher”)then start_num = guess; finish = false; if (level = = “lower”)then end_num = guess; finish = false; guess = (start_num + end_num) / 2;send guess to QA;wait for level from GGMA;until finish

11、= = trueendAA1 alubasnb:1099/JADE表2-2: GGMA與GRA的演算法Agent QAalubasnb:1099/JADE 啓動!開始出題答案是:了50AA1 alubasnb:1099/JADE :最大値爲何?QAalubasnb:1099/JADE : 1200AA1 alubasnb:1099/JADE :我猜 600QAalubasnb:1099/JADE :再髙一點!AA1 alubasnb:1099/JADE :我猜 900QAalubasnb:1099/JADE :再低一點!AA1 alubasnb:1099/JADE :我猜 750QAaluba

12、snb:1099/JADE :恭喜你,答對了山!Agent AA1 alubasnb:1099/JADE 啓動!AA1 alubasnb:1099/JADE :最大彳直爲何? QAalubasnb:1099/JADE :最大値爲 1200AA1 alubasnb:1099/JADE :我猜 600QAalubasnb:1099/JADE :再高一點!AAlalubasnb:1099/JADE :我猜 900QAalubasnb:1099/JADE :再低一點!AAlalubasnb:1099/JADE :我猜 75QQAalubasnb:1099/JADE :答對了!答案是 750圖2-1:G

13、GMA與GRA之實際執行情形這個系統包含上述代理人的四項特性。例如GGMA會對於環境的變化,好比說GRA的出現,有所反應為立即反應 系統可以存在多個GRA,而GRA是否接受GGMA的邀請卻可各自決定即是自主性。GGMA所有活動均朝向完成猜數遊戲的目的而前 進,為目標導向,而整個目的需要 GGMA 和 GRA 相互配合則是互助合作。二、 系統實作步驟在物件導向技術中,透過 RUP 軟體開發主要步驟不外乎找出系統需求、物件 導向分析、物件導向設計、系統實作與測試等四項步驟,其又以前三項為建構抽象化模 型的主要工作,可以獨立於開發平台及程式語言之外。本文將以猜數遊戲為例,說 明如何系統化分析、設計及

14、實作一代理人導向軟體。(一)、系統需求 所有軟體系統開發,一開始委託方需和開發者必須就軟體應有功能達成共識,即 為系統需求。系統需求為所有參予者共同制定,其中包括電腦專家及其它領域的人士。 為促進彼此之間的溝通,採用一通俗易懂的方式來描述需求規格為合理有效率的做 法。在UML中,通常由繪製使用案例圖示(Use-Case Diagram )出發,逐一找出應 有的軟體功能。(二)、使用案例圖示使用案例圖示主要由參與者(Actors )和使用案例(Use Case )兩種圖示元素所 構成。參與者可以是真實世界中的人、物或外部系統,而使用案例則表示系統可提供的 主要功能。整個使用案例圖示係從參與者和系

15、統之間的互動來定出系統需求。在 UML 中參與者通常不在開發範圍之內,其主要功能在完成使用案例的定義。轉 到AOP的領域時,參與者有可能消失而由自訂樣版模式(Stereotype )的 類別取而代之,因此屬於系統的一部份。原有的使用案例則用於描述代理人之間應完成 的主要功能,整體圖示如圖 3-2。從圖 3-1 中可以了解,系統內主要有 GGMA 及 GRA 兩種代理人,分別需完成選擇回應者及猜數遊戲兩個使用案例。 GGMA 及 GRA 在兩個使用案例中,各有其不同角色,分別使用UML中的註釋(Note )加以說明。圖3-1猜數遊戲使用案例圖示圖3-2代理人導向分析觀念(三) 、角色描述Jenn

16、ing(2000)提出以系統(System )出發,代理人導向分析應有的觀念,如圖 3-2。一個代理人在系統的運作過程中可以扮演著不同的角色,好比一個人在社會的情 況一樣。當初步決定應有的使用案例及代理人之後,可以先從代理人在每個使用案例中 扮演的角色著手,找出應有的相關屬性,稱角色網要,從而建構出角色模型( Roles Model )整合同一代理人的多個角色可完成代理人類別的定義,這屬於分析及設計階 段的工作。角色綱要可以用類別的附加檔案方式,使用文書處理器如 Word 加以編輯。在本 範例中, GGMA 和 GRA 於選擇回應者使用案例中,可以分別得出如表1 之角色綱要。GGMAGRAI.

17、使用案例:選擇回應者I.使用案例:選擇回應者II.角色名稱:選擇者II.角色名稱:回應者III.角色描述:III.角色描述:A. GGMA應找到所有提供”GRA”的服務型態A. GRA收到來自GGMA的請求可能回應者B.依本身狀態決定是否提出解決方案B.對所有可能回應者請求解決方案C.方案提出後等後通知C.自所有解決方案中找一最適者發出接受的D.收到接受訊息則開始進行猜數遊戲通知E.收到拒絕訊息則將方案刪除D.對於其它提出解決方案者發出拒絕的通知IV.相關屬性:IV.相關屬性:A.許可(Permission):在某種情況下A.許可(Permission):在某種情況下B.責任(Resposib

18、ilities):必須完成的責任B.責任(Resposibilities):必須完成的責任1.安全(Safty):某種情況下,環境條件下所1.安全(Safty):某種情況下,環境條件下所攜帶的事情狀態攜帶的事情狀態2.生命(Liveness):可被接受的事情狀態2.生命(Liveness):可被接受的事情狀態被維持著被維持著C.協定(Protocols):採用 Con tract NetC.協定(Protocols):採用 Contract NetProtocolProtocol表 1 GGMA 及 GRA 的角色網要1. 代理人導向分析現代軟體工程強調,反覆(Iterative )及逐一(I

19、 ncreme ntal )的開發程序,以滿足 複雜計劃上的執行需求。因此在完成系統需求初步定義之後,有必要進一步分析,做為 設計階段的決策基礎,此為分析階段的主要工作。在此一階段,主要目的仍在建構系統 的抽象概念,和實作有關的問題還是應該要避免。角色綱要文字述的內容不若視覺化圖形容易理解,再則角色應有的功能大多以代 理人活動的方式次序進行,因此建議採用UML中的活動圖示(Activity Diagram )將文 字述角色綱要轉成視覺代圖示。圖 3-3 為 GGMA 在選擇回應者使用案例中,選擇者角 色的活動圖示。圖示本身不必然和最終程式碼有直接對應的關係,在分析階段其主要目 的還是在幫助開發

20、者釐清整個代理人系統的運作機制。圖3-3 GGMA選擇者角色活動圖示圖3-4找出最適者子活動圖示基於反覆與逐步的精神,可以針對活動圖示內的活動,再利用子活動圖示( Sub Activity Diagram )加以描述。圖示的最終目的還是在於程式碼的撰寫,因此盡量以接 近程式言的描述方式來表達。例如針對找出最適者的活動可進一步繪出如圖 3-4 的子活 動圖示。圖3-5選擇回應者次序圖示圖3-6選擇回應者類別圖示物件導向技術中,系統運作主要以物件之間的互動來完成,代理人導向程式設計 有類似的看法。活動圖示用於描述代理人之間的互動有其不足之處,因此接下來將引進 UML中的次序圖示(Sequenee

21、Diagram )加以補充。為完成選擇回應者使用案例的功能,GGMA和GRA間的互動方式,以圖3-5的次 序圖示方式描述。圖中可以看出,一個GGMA對2個GRA之間的互動情形。代理人 之間的訊息將轉成類別的公用方法(Public Method ),因此以程式語言的用法加以表 示,並加上應有的參數。圖3-6為到目前為止系統模型的類別圖示。左邊為GGMA類別,右邊為GRA類 別,各自擁有數個已發現的方法,其名稱和次序圖示中使用的名稱相同。繪圖工具軟體, 如Rose2000會自動做轉換、更新,以求資料同步的工作。兩者在互動中各自扮演的角 色分別用角色名稱來表示,如選擇者、回應者。Proposal類別

22、則是建構在GGMA和 GRA兩者關係之上,因此以關係類別來處理。Proposal內有一cost屬性,表示此一解 決方案的估計成本,為整數值,愈高表示愈耗資源。2. 代理人導向設計類別(Class住要由屬性(Data)及方法(Method)所組成,依其被使用的範圍可分為公 用(Public)保護(Protected)私有(Private )三種,其中以公用和私有之間的區 分最為明顯。對代理人而言一個重要的特徵為自主性,轉到類別的組成則可視為類別私 有的方法和屬性,只可代理人自行使用,不提供做外部呼叫。因此在設計階段要將此一 部份該有的元素找出。代理人自主性行為和其狀態有密切關係,相同的環境變化在

23、不同的狀態下會有不同的反應。是故進入設計階段時,可以將思考焦點放置於代理人類別的狀態圖示(Statechart Diagram )之上,以便能確切了解其行為模式,及為支援該模式而應有的圖 3-7 和圖 3-8 分別代表 GGMA 和 GRA 的狀態圖示。以 GGMA 為例,啟始時即 進入一般狀態,在接受到環境變化,例如 sendCFP 的代理人行為時,才會進行狀態轉 移。當處於請求解決方案狀態時,會執行對 GRA 請求方案的呼叫,圖示中以 doGRA.cpf(A)方式表達。若收到由GRA所提出的方案時,則將之加入現有方案名單 之內,這是 on propose (B:GRA,P:Proposal

24、)/addToList(B:GRA,P:Proposal)的語法。遇 到 stopCFP 的環境變化,則應進入評估和記錄的狀態。此一狀態最主要工作在於找出 最適合的回應者。假設現有方案最佳成本值為c,新進方案成本值為c時,若c=c 表示現有方案較佳,應拒絕新進方案。反之則應記錄較佳的方案,此一運算邏輯可以用 On Eve nt及Guard Con dition的方式表示。找到最佳回應者之後,會導致replyProp的 行為,進而傳遞一個接受的迅息給該 GRA。完成狀態圖示的繪製之後,會對於類別有所擴充,包括屬性和方法。因此接下來 的工作要回去修正原有的類別圖示,以滿足現行的設計。以 GGMA

25、和 GRA 為例,各 自增加了 recordProp( )、addToList(B:GRA,P:Proposal)及 NumOfTasks 的方法和屬 性,全以宣告為私有(Private )方式處理。修正後的類別圖示如圖3-9。四、 結論本文探討了如何系統化完成分析、設計及實作一代理人導向軟體。由於物件只能 夠表達靜態的行為無法做出自己的判斷,例如:物件無法知道本身在什麼樣的情況下可 以執行自己的任務。目前則是由被動式物件改為主動式物件,因為智慧型代理 人它可是一個具有獨立執行緒空間,並且可以覺察到外在環境的變化而作出不同的因應 之道。 UML 原為物件導向技術的分析工具,搭配 RUP 的開發

26、方法,而用於建構物件系統 模型的視覺化工具,代理人導向軟體嘗試將軟體開發的工作提升到一具有自主性的境 界。因此,本文以原有 UML 物件導向的技術,配合其擴充機制進而發展出代理人導向軟 體工程的制式化開發流程。五、參考文獻蕭淳豐 “網路教學平台下的訊息代理人實作”。未出版之碩士論文,國立高雄師範大學, 高雄市,2001.2 梁書豪”Recommending a trip plan by negotiation with a software travel agent”。未出版 之碩士論文,國立清華大學,新竹市,2001.3 鄭海龍 “Conducting disambiguation dial

27、ogues between buyer and seller agents。 ”未出版之碩士論文,國立清華大學,新竹市,2001.4 F. Bellifemine,; A.Poggi, and G.Rimassa, “Jade programmers guide.”,2000. http:/sharon.cselt.it/projects/jade.5 Giorgini, P. etc. Agent-Oriented Software Development: A Case Study. On-line 6 Jennings, N. R.,” On Agent-Based Software E

28、ngineering”. Artificial Intelligence 117,pp 277-296.2000.7 P. B. Kruchten (1999). The Rational Unified Process, Boston: Addison-Wesley.8 H.S.Nwana, & M. Wooldridge, ” Software Agent Technology, Software Agents and Soft Computing ” H. S. Nwana and N. Azarmi ( Eds ) ,Springer-Verlag, Berlin, Germany,1

29、997.9 Y. Shoham, “Agent-Oriented Programming, Artificial Intelligence”, 60(1), pp.51-92,1993.10 The FIPA. “ FIPA 97 Specification Part 1: Agent Management”, 1997.(http:/www.cselt.it/fipa/spec/fipa97/f7a11pdf.zip).10 M. Wooldridge, N.R. Jennings and D. Kinny A Methodology for Agent-OrientedAnalysis a

30、nd Design, in Proceeding of the Third International Conference on Autonomous Agents. (Agents99), Seattle.11 M. Wooldridge and P. Ciancarini, Agent-Oriented Software Engineering: TheState of the Art. In the Handbook of Software Engineering and Knowledge Engineering, World Scientific Publishing Co.,20

31、01.12 M.Wooldridge and N.Jennings,“Agent Theories, Architecture, andLanguage :A Survey. ” Proceeding ECAI-94 : Workshop on Agent Theories, Architecture, and Languages, Springer -Verlag, Berlin, Germany, 1995.13 M. Wooldridge, “Agent-based software engineering.”, IEE Proceedings on Software Engineering 144 (1), pp26-37, 199714 F. Zambonelli, N. R.Jennings , Omicini A. and M. Wooldridge, “Coordinationof Internet Agents: Models.”, In Technologies and Applications, chapter 13.Springer -verlag, 2000.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!