?

多主體系統的設計與開發

2014-10-21 20:01盧山
建筑遺產 2014年1期
關鍵詞:開發設計體系結構

盧山

摘要:本文首先解釋了多主體系統的含義,并介紹了多主體系統的體系結構,給出了多主體系統開發設計方法。

關鍵詞:多主體系統;主體系統;體系結構;開發設計

1.多主體系統簡介

多個體的系統被圣菲研究所稱為多主體的系統,因為其中的個體都是獨立決策的行為主體,不受一個系統中樞的指揮。這個系統因此可以被稱為是多中心的,甚至由于自為中心的主體是如此之多以致可以被稱為“無中心”的。但是它們并不因此是“一群烏合之眾”,眾多獨立個體在相互作用的交往活動中卻能彼此協調,保持一種宏觀秩序,如在市場經濟中眾多商品生產者自發遵循價值法則活動所造成的現象。在他們的研究中,把研究的系統看成是多個主體組成,并且研究包含有子系統的多主體系統。

多主體系統可以定義為“a loosely-coupled network of problem solvers that work together to solve problems that are beyond their individual capabilities”。這些問題求解器就是一個個的主體。實際系統中的主體可由不同開發者在不同時間用不同工具和技術實現,各具不同領域不同程度的問題求解能力。多主體系統一般具有個體信息不完全、個體能力受限、無全局控制、數據分布化和計算異步等特點。一個多主體系統一般由以下幾個部分組成:(1)多個已存在的主體;(2)多主體之間的聯合意圖,即多個主體聯合行動以實現共同的目標;(3)常識,即主體之間的公共知識;(4)公共行為規范,即多個主體在聯合行動中應遵守的公共規則和采取的行動;(5)主體賴以生存的環境,即為主體行為提供基本保障的設施,如網絡、軟硬件平臺等。

2.多主體系統的體系結構

體系結構就是對要完成的特定任務進行特定分解的一般方法學。多主體系統體系結構研究的是怎樣為構造主體按一定方法將主體分解成各種功能模塊。多主體系統是主體群體,其中的各主體通過相互協商與合作來實現多主體系統的功能。因此,多主體系統體系結構分為個體主體體系結構和主體群體社會結構兩部分。其中個體主體體系結構是指在多主體系統中單個主體的構造結構,它與單主體體系結構研究的內容聯系緊密。主體群體社會結構是指存在于各主體中的通信和控制模式,通過定義主體之間的權威關系,為主體提供了一種交互框架。體系結構不但決定了主體之間的通信方式,也決定了系統中信息的存儲和共享方式。體系結構的選取不但影響單主體內部協作智能的多少,而且也會影響多主體系統中異步、一致性、自主性和自適應性的程度。

下面簡要介紹一下多主體系統中幾種常見的社會結構,并對它們在控制結構、通信、信息存儲等方面進行了分析和比較。

1)網絡結構:這是一種平板結構,主體網絡社會中沒有特權者,每兩個主體之間都是對等的關系。通信對等、信息局部化是這類結構的顯著特點。

2)層次結構:主體群體中的主體被分層,在每一層的決策和該層的控制權集中在其上層主體上,由它(它們)控制和協調該層主體的行為。同一層的主體之間的通信要經過上層。這種結構的主體只需保存其下層主體的相關信息,但通信不如網絡結構簡略。

3)聯盟結構:將系統中的主體根據某種方式(一般是根據距離遠近,便于通信)劃分成一個個的主體聯盟。聯盟與聯盟之間的關系與網絡結構中主體與主體之間關系一樣。每個聯盟有一個協助主體,不同聯盟中主體之間的交互都是通過各聯盟中的協助主體協助完成。

3.多主體系統開發設計方法

主體的理論、技術,特別是多主體的理論和技術為開放系統的分析、設計和實現提供了一個嶄新的途徑,被稱為是“軟件開發的又一重大突破”。目前,基于主體的技術應用日益廣泛,其范圍包括商務、工業、軍事、醫療和教育等。在一些大型的基于主體的軟件中,往往會包含數量不等的主體,甚至達到百千計,其復雜程度很高,沒有好的開發設計方法要完成此項工作是不可想象的。

近年來,基于主體軟件工程的研究主要集中在面向主體的開發方法學的探索,許多方法都借鑒了面向對象的開發方法和建模技術,依此為基礎,將一些術語、概念和建模方法應用到多主體系統的分析與設計中。這些技術的使用或者直接應用到多主體系統設計中,或者根據多主體系統的計算特性進行擴展,形成新的面向主體的開發方法和建模技術。另外,還有一些研究是基于軟件工程和知識工程建模技術,比如Brazier等人提出了一種設計多主體系統的規范框架,稱為DESIRE(design and specification of interacting reasoning components)。另外一些方法是將多主體系統看成一個由計算實體構成的人工社會或組織,然后借鑒組織設計的概念、方法等來說明多主體系統的分析和設計,這類方法更能描述主體的自主性和多主體系統中的復雜協作行為。上述方法從兩個角度來進行多主體系統的開發:

1)將分析和設計過程的結果看成一個抽象的規范,開發者根據這個規范,采用原有的低級設計與實現技術進行實現;

2)在分析與設計過程中形成一些體系結構方面的框架和約定,直接應用于實現。但面向主體的開發方法學最終是要在分析、設計過程形成一個特定的多主體系統結構和有關各主體結構的嚴格規范,并通過一個系統的設計步驟產生直接可實現的主體模型的集合。

到目前為止,設計和實現多主體系統還比較缺乏經驗,同時也沒有高質量的軟件工具支持,在實施過程中還沒有統一的規范,特別是大多數系統的建造都是從頭開始,組件基本不能重用,很多系統都是依據各自的具體情況開發的。這里,依據軟件工程的各個環節簡要分析多主體系統的開發方法。

1)需求分析

在這個環節上,多主體的開發與其他一般軟件的開發沒有很大區別,多主體系統需求分析階段的結果是用戶的需求文檔,在該文檔中包含了系統分析人員和開發人員對用戶需求的一個特性描述,一般用非技術語言書寫,以方便用戶的理解;

2)系統設計

軟件工程所要解決的一個重要問題就是如何設計出高效、強大的軟件系統。當前,多主體系統軟件開發的很多研究工作都致力于使系統設計環節成為一個有方法可循的嚴格過程,但目前還沒能形成一個公認的設計方法學。在面向主體的

設計方法學領域需要解決兩個關鍵問題:理論基礎,新的設計方法學需要有新的理論作為其提出的依據,在工程實踐中對設計方法學不斷的深入分析和研究對此問題有很好的幫助;宏觀系統結構,在系統分析階段形成了抽象、精確的系統規范之后,就需要將該規范轉換成多個主體,并通過相對應的宏觀結構理順主體之間復雜的相互關系。因此,與面向對象的設計方法學類似,系統設計也要有一套有效的建模方法,通過該方法能夠準確的確定主體的粒度和職能,精確描述主體之間的依賴關系,并提供不同的體系結構。

3)系統實現

系統實現階段是根據設計階段所建立的職能體系,確定承擔不同職能的各主體怎樣最好的實現。不同的職能設計將需要不同的主體結構,以體現職能所需要的功能特性和非功能特性。目前,己經提出了一些關于主體的體系結構,其中有兩種是最典型的:“強AI系統”,它使用基于知識系統或邏輯定理證明來建造主體,在這種結構中通常采用標準的基于知識技術,并以規則、框架等知識表示技術代碼化一個主體的行為;使用Java語言設計建立主體的基本框架,而不使用任何AI技術。目前來看,兩種結構各有優缺點,通常簡單的問題采用Java主體,而復雜問題就利用推理系統來建立主體。

4)系統的測試、調試和驗證

測試和調試是主體開發過程中容易忽略的環節,由于目前多主體系統的開發仍處于初級階段,所以許多性質在設計階段很難完全確定,許多并發系統動態特性通常需要在原型系統建立后進行觀測和調試,通過調試工具逐步執行并修正相應的行為。

4. 結論

近年來,對主體的研究蓬勃興起,面向主體的編程被譽為是繼面向對象編程之后的“軟件開發的又一重大突破”。隨著對主體理論與技術的深入研究,多主體系統己成為當前的研究熱點。本文就多主體系統的設計與開發進行了研究,依據軟件工程的各個環節簡要分析多主體系統的開發方法。

參考文獻:

[1] 張軍,多主體系統-概念、方法與探索,首都經濟貿易大學出版社,2013.

[2]R.Ma,Multiple positive solutions for nonlinear m-point boundary value problems.Appl.Math.ComPut2004,148:249-262.

[3]F.Xiao,L.Wang,J.Chen,Y.P.Gao,Finite-time formation control for multi-agent system Automation2009,45,2605-2611.

猜你喜歡
開發設計體系結構
基于思維導圖的化學知識體系結構構建
軟件通信體系結構(SCA)理念下的無線通信系統探究
國內外旅游商品開發研究述評
手機App應用前景及開發設計技術趨勢分析
在高校圖書館中微信公眾平臺的開發設計研究
計算機體系結構綜述
應激性作戰智能決策系統體系結構
認知無線網絡中的重點技術和研究
廬山“教育名山之旅”特色旅游產品開發設計
基于成年人情感需求的減壓型玩具設計研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合