內容簡介
在過去幾年中,Agent和多Agent系統(MAS)已經成為一種應對各種複雜IT情景的強大技術,有大量的研究是關於定義合適的模型、工具和技術以支持開發複雜的MAS軟體系統。目前關於面向Agent(AO)方法的科學文獻出現得越來越多,遍布在不同的會議、期刊和時事新聞上。因此,無論是新人還是專家,在這個領域進行研究時,都難以操縱所有這些材料。《面向Agent的軟體設計開發方法》試圖將各種研究結果和思想有組織地綜合在一起,雖然非常多樣化,但都以促進複雜MAS軟體系統的開發作為總體目標,希望能夠為研究者和學生了解AO方法的發展現狀提供線索,而不用在現有的數字圖書館中查閱數以千計的檔案,也不會在無盡的搜尋中迷失自己。讀者同時可以了解到軟體工程新的發展趨勢,以及如何將Agent思想套用於目前軟體界所出現的種種新技術(比如SOA、格線服務等)中。
編輯推薦
《面向Agent的軟體設計開發方法》可以作為計算機軟體專業碩士生和博士生的教材和參考用書,對於從事Agent理論和技術研究的人員,尤其是從事面向Agent軟體工程研究的人員以及基於Agent技術的工程實踐人員均具有較高的參考價值。
目錄
第1章面向Agent的軟體開發抽象1.1 引言
1.2 Agent的開發抽象
1.3 Agent的體系架構
1.4 Agent的組織類型-
1.5 Agent與組件的對比
1.6 語義重用的Agent和組件
1.7 小結
2.1 引言
2.2 關鍵主題
2.2.1 需求工程
2.2.2 語言
2.2.3 建模語言
2.2.4 平台
2.2.5 方法學
2.3 方法過程
2.3.1 分析
2.3.2 設計
2.3.3 實現
2.3.4 測試
2.4.更多的信息
2.5 小結
3.1 引言
3.2 Gaia方法
3.2.1 Gaia初始版本
3.2.2 Gaia的第2個版本
3.2.3 RoadMap方法
3.2.4 採用AUMI.對Gaia的擴展
3.2.5 結論
3.3 Tropos方法
3.3.1 概況
3.3.2 形式化Tropos方法
3.3.3 基於社會性的MAS架構.
3.3.4 目標模型
3.3.5 結論
3.4 MASE方法
3.4.1 概況
3.4.2 分析階段
3.4.3 設計階段
3.4.4 AgentTool
3.4.5 結論
3.5 小結
4.1 引言,
4.2 ADELFE方法
4.2.1 背景介紹
4.2.2 初始需求
4.2.3 最終需求
4.2.4 分析階段
4.2.5 設計階段
4.2.6 ADELFE工具
4.2.7 結論
4.3 MESSAGE方法
4.3.1 背景介紹
4.3.2 方法綜述
4.3.3 旅行.Agent案例分析/設計
4.3.4 寸於底層設計的考慮
4.3.5 MESSAGE的評價
4.3.6 結論
4.4 Prometheus方法.
4.4.1 方法綜述
4.4.2 系統規範
4.4.3 框架設計
4.4.4 詳細設計-
4.4.5 工具支持
4.4.6 結論
4.5 小結
5.1 引言
5.2 評估框架
5.2.1 概念和屬性
5.2.2 符號和建模技巧
5.2.3 開發過程
5.2.4 語用
5.2.5 衡量標準
5.3 對Gaia的評估
5.3.1 概念和屬性
5.3.2 符號和建模技巧
5.3.3 開發過程
5.3.4 語用
5.4 對Fropos的評估
5.4.1 概念和屬性
5.4.2 符號和建模技巧
5.4.3 開發過程
5.4.4 語用
5.5 評估MaSE
5.5.1 概念和屬性
5.5.2 符號和建模技巧
5.5.3 開發過程
5.5.4 語用
5.6 評估總結_
5.6.1 支持階段
5.6.2 Agent架構
5.6.3 開放系統中的互動_
5.6.4 疊代開發
5.6.5 輔助要素
5.7 小結
6.1 引言
6.2 HDA的定義.
6.2.1 方法工程學.
6.2.2 HAD的定義
6.2.3 HDA的使用規則
6.2.4 元模型.
6.2.5 潛在的問題
6.2.6 套用的關鍵
6.3 基於HDA的設計模式劃分.
6.3.1 Agent組織層次模式
6.3.2 Agent互動層次模式
6.3.3 Agent協調層次模式
6.3.4.Agent架構層次模式
6.3.5 移動Agent層次模式
6.4 設計模式在AgentBuilder-中的套用
6.5 小結
7.1 引言
7.2 方法選取階段
7.2.1 RoadMap建模方法
7.2.2 人工魚建模方法
7.3 需求分析階段
7.3.1 選取元模型
7.3.2 C4I系統中的套用
7.4 MAS框架設計階段
7.4.1 選取元模型
7.4.2 C4I系統套用
7.5 Agent建模階段
7.5.1 選取元模型
7.5.2 C4I系統套用
7.6 軟體實現階段
7.6.1 元模型抽取
7.6.2 C4I系統的套用
7.7 小結
……
序言
Agent和多Agent系統(MAS)現在已成為一種應對各種複雜IT情景的強大技術,如生產過程、Web服務、基於Intemet計算的市場和分散式網路管理等。然而,新近出現的理解認為,MAS不僅是一種有效的技術,還代表了二種新型的軟體開發通用范型,即基於自主軟體實體(Agent)的設計和開發套用。這種實體位於某個環境中,可以通過高層協定和語言的互動來靈活實現其目標。這些特點非常適合於解決現時f青景下的複雜軟體開發。事實上,①自治的套用組件,反映了現代分散式系統內在的分散性,並且可視為系統被不同的利益相關者所擁有,在模組化和封裝概念上進行了自然延伸;②Agent運行和互動(包括相互之間及Agent與環境之間)所採取的靈活方式,適應於現今軟體在動態和不可預知的情況下運行;③Agent的概念為人工智慧的成果提供了一個統一的觀點,通過使用Agent和MAS作為存放智慧型行為的、可靠的和易管理的知識庫,從而利用人工智慧的成果解決現實世界中的問題。
在過去幾年中,基於Agent的計算被日益接受為一種新型的軟體工程范型,已經有大量的研究是關於定義合適的模型、工具和技術,以支持開發複雜的MAS軟體系統。這些研究,即面向Agent的軟體工程(AOSE),不斷地提出各種新的建模方法和技巧、新的設計方法和工具,尤其是新型的面向Agent的范型。
關於AOSE的科學論文在文獻中出現得越來越多,遍布在不同的會議、期刊和新聞上。因此,無論是新人還是專家,在這個領域中進行研究時,在操作所有這些材料時總會有困難。本書試圖將各種研究結果和建議有組織地綜合在一起,雖然非常多樣化,但都以促進。MAS的開發為相同的總體目標。我們的希望就是,這本書能夠為研究者和學生了解AOSE的發展現狀提供線索,而不用在現有的數字圖書館中搜尋數以千計的檔案,也不會在無盡的搜尋中迷失方向。
當然,我們需要清楚地認識到,AOSE的研究仍處於初級階段。在AOSE被廣泛接受,並且在MAS複雜軟體系統研究中成為實際可用的范型之前,就必須面對所出現的挑戰。出於這些原因,本書避免支持特定的技術或方法,而只是給讀者介紹不同的設計方法和實現技術,給予他們更多的選擇餘地。本書的內容共分為五個部分。
文摘
1.自治性(autonomy)自治性也就是指一方具有獨立性,能夠根據自己的意願來行動。從廣義上講,商務交易中參與者的自主決策就反映了自治性。沒有人能夠強迫你買賣任何東西;也沒有人能夠強迫你聽命於另一方,或者與之妥協;更沒有人能夠強迫你使用某種特定的推理策略。特別地,一個自治個體甚至不需要任何外部意義下的“理智”,因為這樣的要求會限制它的自治性。
如果某種方法能夠使互動各方的自治性呈現出良好的效果,那么這種方法應該很容易適用於幾乎所有的場合。值得注意的是,有些場合所呈現出的自治現象,真實情況或許並不是由於自治性,而是由其他一些原因引起的。例如,參與者沒有對訊息做出反應,可能並不是它做出的自治性反應,而是因為基礎機制失效。當然,在相同的框架下,實現自治的參與者也可以自如地處理基礎機制的變化。因此,判斷某個行為是自治性的體現,還是由於基礎機制的失效而引起的,這點可能很重要。
一般來說,不受約束的計算自治性就如同現實世界中不受約束的自治性一樣,將會產生不可預期的結果。並且,為了給出完整的計算模型,或者做出可靠的預測,我們都必須假設參與者的自治I生在某種程度上受到約束。典型地,根據協定進行互動就可以實現對自治性的限制。
異構性源於設計者構建組件的方式相互獨立,導致組件的信息模型或過程模型各不相同。一般來說,在功能系統中,異構性的產生是由於歷史原因造成的。沒有人開始就想設計一個異構系統,但是構建大型系統的最終結果往往是異構的。在設定一個開放系統的參數時,不假定內部結構的同質性是非常重要的。最終,為了能夠讓這些組件一起運作,就要對它們之間的異構性施加一定的限制。也就是說,一定要有對共同性的說明。就信息模型而言,通過一個共享本體來捕捉共同性(Gruber,1991);這是同Agent相關的,但是並不特指Agent,因為它的產生也是源於將異構信息源組合起來。就過程模型而言,可以通過確定典型外部事件的方法來捕捉共同性(Singh,2003)。這個思路是,Agent的行為標記是指對外界的回響結果,而不需要暴露內部的構造細節。這些標記具有被標準化的潛力,事實上是分散式資料庫事務處理中兩階段提交協定所採用的方法(Gray和Renter,1993)。任何按照特定標準實現的Agent,都被要求公布合適的特定事件,但並不需要暴露內部的實現細節。
3.動態性(dynamism)動態性是指管理者能夠獨立對系統進行靈活配置,並且可……