本發(fā)明涉及計算機軟件建模仿真技術領域,具體涉及一種基于層次化MAS軟件體系結構建模和仿真系統(tǒng)。
背景技術:
多agent系統(tǒng)(MAS)是由多個agent組成的集合,他們的目標是要將大而復雜的系統(tǒng)建成由許多小的agent組成,且彼此能夠互相通信與協(xié)調(diào)的易于控制和管理的系統(tǒng)。因此。基于多agent技術在解決復雜軟件建模與仿真中發(fā)揮了它的優(yōu)勢,尤其在軍用軟件領域中有著很顯著效果。但隨著軍隊信息化程度的不斷提高,現(xiàn)今的軍用軟件越來越智能化,與此同時軍用軟件本身的高復雜、運行環(huán)境的多變、節(jié)點的繁多、作戰(zhàn)設備的分散等對現(xiàn)代軍用軟件系統(tǒng)的構建帶來了很大的挑戰(zhàn),因此對于傳統(tǒng)的多agent系統(tǒng)很難再達到現(xiàn)代軍用軟件的要求。再加上現(xiàn)代軍用軟件擁有大量個體行為與其之間的交互,這就大大增加了對這些軟件系統(tǒng)行為分析與驗證的難度。
技術實現(xiàn)要素:
為了解決以上現(xiàn)有技術中存在的問題,本發(fā)明提出了一種基于層次化MAS軟件體系結構的建模與仿真系統(tǒng),其可以構建出能應對軟件復雜多變等特性的自適應軟件模型。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的。
一種軟件體系結構建模和仿真系統(tǒng),其特征在于,包括:建模模塊,用于將輸入的軟件需求輸出為層次化MAS軟件模型,該模型作為仿真模塊的輸入;仿真模塊,用于對輸入的層次化MAS軟件模型進行仿真,從而展示各個agent之間的交互行為。
優(yōu)選地,建模模塊包括:形式化建模語言設計單元、多agent行為結構建模單元以及環(huán)境建模單元。
優(yōu)選地,形式化建模語言設計單元包括:刻畫程序行為的操作語義子單元、刻畫不同類型組件子單元、處理時間特征子單元、描述多維度物理信息子單元、刻畫基于事件進行交互的表達能力的子單元、具有可組合與可拆分性的子單元。
優(yōu)選地,多agent行為結構建模單元包括agent靜態(tài)行為模塊子單元和agent動態(tài)結構模塊子單元,其中,所述agent靜態(tài)行為模塊子單元包括將集中控制融于多agent系統(tǒng)的分布系統(tǒng)中具備依賴關系的agent聚集在一起控制,將抽象粒度提高從而從不同抽象層次進行仿真;所述agent動態(tài)結構模塊子單元包括利用面向對象Petri網(wǎng)OPN建立多agent的交互協(xié)議模型,建立自治的和自適應的agent結構模型;利用Petri網(wǎng)及擴展Petri網(wǎng)描述和分析MAS,基于功能與非功能目標對層次化MAS的軟件體系結構進行建模,包括軟硬件綁定協(xié)同化建模,軟件調(diào)度方案建模;在環(huán)境變化時,Petri網(wǎng)描述層次化MAS的軟件體系結構的初始化結構及動態(tài)行為,多個agent通過相互通信,調(diào)整自身行為,動態(tài)完成一個或者多個控制任務。
優(yōu)選地,所述環(huán)境建模單元用于分析軟件系統(tǒng)所依賴的環(huán)境條件集,將環(huán)境模擬為agent,在環(huán)境變化時通過agent的交互調(diào)整系統(tǒng)自身行為,動態(tài)完成一個或多個控制任務。
優(yōu)選地,所述仿真模塊包括可視化動態(tài)仿真工具單元、因素控制單元。
優(yōu)選地,所述可視化動態(tài)仿真工具單元采用可計算模型應對層次化MAS中的不確定性因素,利用數(shù)學模型、行為模型及相關算法的綜合集成,實現(xiàn)仿真程序的結構化功能模塊,支持定性的或者定量的模型。
優(yōu)選地,所述因素控制單元包括不確定性因素子單元、人機交互子單元以及仿真邏輯子單元。
優(yōu)選地,所述不確定性因素包括隨機性、模糊性、信息不完全性、歧義;所述所述人機交互包括推理、學習、自主決策、博弈,所述仿真邏輯的執(zhí)行步驟包括系統(tǒng)辨識、設計概念模型、進行系統(tǒng)分析并設計模型架構。
本發(fā)明的優(yōu)點在于:本發(fā)明公開的基于層次化MAS的軟件體系結構建模與仿真系統(tǒng)在傳統(tǒng)多agent軟件體系上新增了層次化的設計模式,以功能為目標將軟件功能與外部環(huán)境模塊于統(tǒng)一架構內(nèi),完成了集分布式與集中式控制于一體的可應對動態(tài)環(huán)境變化的多層次MAS的自適應軟件體系結構。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是本發(fā)明基于層次化MAS的軟件體系結構建模與仿真系統(tǒng)示例圖。
圖2是層次化MAS的模型示例圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
如圖1所示,本發(fā)明公開一種軟件體系結構建模和仿真系統(tǒng)100,包括:
建模模塊110,將輸入的軟件需求輸出層次化MAS軟件模型,該模型作為仿真模塊的輸入;
仿真模塊120,對輸入的層次化MAS軟件模型進行仿真,展示各個agent之間的交互行為。
其中,建模模塊110包括:形式化建模語言設計模塊單元、多agent行為結構建模單元(圖中未示出)以及環(huán)境建模單元(圖中未示出)。
其中,形式化建模語言設計單元采用嚴密的數(shù)學表達方式與準確的語義解釋,對模型進行精確的無二義性的描述。該建模語言的設計具有刻畫程序行為的操作語義子單元(對應于圖1中的121)、刻畫不同類型組件子單元(對應于圖1中的112)、處理時間特征子單元(對應于圖1中的時間特征111)、描述多維度物理信息子單元(對應于圖1中的116)、刻畫基于事件進行交互的表達能力的子單元(對應于圖1中的115)、以及具有可組合性和可拆分性的子單元(對應于圖1中的113)。操作語義刻畫程序行為,用解釋執(zhí)行程序的抽象機器定義語言的語義??坍嫴煌愋徒M件,根據(jù)功能劃分的不同,組件包括傳感器、控制器、執(zhí)行器、物理設備等等,例如軍用軟件所控制的設備都需要許多功能組件,并將它們抽象為agent,對它們進行劃分。處理時間特征,層次化MAS軟件系統(tǒng)同分布式系統(tǒng)有很多相似之處,每個agent都分布在不同的地方,獨自完成各自的任務,同時也能夠相互通信、相互協(xié)調(diào),因此它們應當具備自己的時間信息。描述多維度物理環(huán)境信息,MAS系統(tǒng)中許多agent往往需要收集其所處環(huán)境的信息來與其它agent進行交互,所以刻畫各類組件所關注的信息是必不可少的??坍嫽谑录M行交互,基于事件的交互中隱含著同步,通常情況下,事件接收方等待事件的到來,待事件到來后才執(zhí)行后續(xù)操作。事件的發(fā)送是單向的,與接受方的狀態(tài)無關。事件是廣播式的,它允許有多個接收方的存在。這些特點使得基于事件的系統(tǒng)更具靈活性,能夠應對MAS系統(tǒng)復雜多變的環(huán)境并且能夠支持各agent之間的實時互動??山M合與可拆分性,系統(tǒng)的模塊化降低了復雜系統(tǒng)設計與實現(xiàn)的難度。因此,設計的建模語言能獨立刻畫任意一個功能模塊,又能刻畫各功能模塊間的組合。同時復雜多變的環(huán)境有時會對某些agent造成一定的干擾,甚至可能還會造成部分功能的失效。因此,設計的建模語言還需要具備可拆分性,以支持層次化MAS模型拆分、模塊替換等功能。建模語言的可組合性與可拆分性有助于多agent系統(tǒng)的分布式設計與模塊重寫,大大提高了這類系統(tǒng)的開發(fā)效率。
其中,多agent行為結構模塊單元包括agent靜態(tài)行為模塊子單元和agent動態(tài)結構模塊子單元,刻畫系統(tǒng)的并發(fā)和分布特性。支持層次化agent建模,可進行不同層次的抽象描述,在必要時隱藏某些細節(jié)。如圖2的層次化的MAS模型,將集中控制融于多agent系統(tǒng)的分布控制中,將具備依賴關系的agent聚集在一起控制,將抽象粒度提高從而可從不同抽象層次進行系統(tǒng)仿真與行為分析。例如針對agent之間的復雜交互,利用面向對象Petri網(wǎng)OPN建立了多agent系統(tǒng)的交互協(xié)議模型,從而可以更進一步地研究agent間的交互行為及其特征。還可以對agent交互協(xié)議進行建模,建立一個自治的和自適應的agent結構模型。利用Petri網(wǎng)及擴展Petri網(wǎng)描述和分析MAS,能夠基于功能與非功能目標對系統(tǒng)體系結構進行建模,包括軟硬件綁定協(xié)同化建模,軟件調(diào)度方案建模等。在環(huán)境變化時,Petri網(wǎng)可以形象地描述MAS的初始化結構及動態(tài)行為,多個agent通過相互通信,調(diào)整自身行為,動態(tài)完成一個或者多個控制任務。
所述環(huán)境建模單元用于分析軟件系統(tǒng)所依賴的環(huán)境條件集,將環(huán)境模擬為agent,在環(huán)境變化時通過agent的交互調(diào)整系統(tǒng)自身行為,動態(tài)完成一個或多個控制任務。MAS系統(tǒng)中許多agent往往需要收集其所處環(huán)境的信息來與其它agent進行交互,例如軌道列車車廂一般是封閉的,對空氣中二氧化碳容量的檢測就得依賴軌道系統(tǒng)中的氣體傳感器,將其模擬為agent可監(jiān)測到該氣體含量大小以及變化,當氣體含量變化超出范圍時,便可通過與其它agent的交互完成換氣等控制,從而保證軌道列車系統(tǒng)的正常運行。
本發(fā)明提出的所述基于層次化MAS的軟件體系結構建模與仿真系統(tǒng),其中仿真模塊還包括可視化動態(tài)仿真工具單元和因素控制單元。
其中,可視化動態(tài)仿真工具采用可計算模型應對層次化MAS的軟件體系結構中的不確定性因素,利用數(shù)學模型、行為模型及相關算法的綜合集成,實現(xiàn)仿真程序的結構化功能模塊,支持定性的或者定量的模型,如裝備可用度的馬爾科夫模型,遺傳算法,分類器算法、BP-CT算法模型,基于灰色理論、層次分析法的模型。
其中,所述因素控制單元包括不確定性因素子單元、人機交互子單元以及仿真邏輯子單元。仿真過程中需要關注到這幾個因素。
本發(fā)明提出的所述基于層次化MAS的軟件體系結構建模與仿真系統(tǒng),所述不確定因素包括隨機性、模糊性、信息不完全性、歧義等。對于隨機因素,提供了專門的類庫集Random,提供一系列生成隨機數(shù)的類和結構,包括基本隨機數(shù)發(fā)生器和基于偽隨機數(shù)流的統(tǒng)計分布。隨機數(shù)庫支持貝努力分布、指數(shù)分布、伽馬分布、正態(tài)分布、高斯分布等多種隨機分布,嚴格檢測避免了壞隨機數(shù)的風險。同時,引入的遺傳算法實現(xiàn)了從agent內(nèi)部引入隨機因素,使得系統(tǒng)元素在自身進化或產(chǎn)生新規(guī)則伴有隨機性,使隨機因素的影響不僅影響狀態(tài),而且影響組織結構和行為方式。對于其他不影響因素根據(jù)其特征構建相應的理論模型,如描述事件出現(xiàn)可能性采取理論模型,事務界限區(qū)分采取模糊理論或粗糙集理論模型等等。
本發(fā)明提出的所述基于層次化MAS的軟件體系結構建模與仿真系統(tǒng),所述人機交互是指人、組織、人裝結合單元及計算機系統(tǒng)軟件系統(tǒng)構成的核心元素,其行為往往是系統(tǒng)復雜性的根源所在,且行為類型也非常廣泛如推理、學習、自主決策、博弈等。學習行為可采用基于規(guī)則或者簡單函數(shù)來完成,也可以通過遺傳算法實現(xiàn)策略的進化。
本發(fā)明提出的所述基于層次化MAS的軟件體系結構建模與仿真系統(tǒng),所述仿真邏輯對于建立軍事仿真系統(tǒng),通常采用以下幾個步驟:首先要進行系統(tǒng)辨識,定義要仿真的系統(tǒng)原型,并獲取初始參數(shù)、作出假設,并在此基礎上設計出概念模型;其次就是自上而下進行系統(tǒng)分析并設計模型架構,包括個體特征建模、MAS系統(tǒng)結構及agent交互序列、環(huán)境及隨機因素描述。
下面參照圖2,具體講述本發(fā)明所述層次化多agent系統(tǒng)的一個實例。
實施例1
軍用無人機是現(xiàn)代空中軍事力量的一員,具有的特點也十分明顯:無人員傷亡、隱蔽性好、小巧靈活等等。軍用無人機類型眾多,飛行環(huán)境復雜多變,飛行任務極具危險,無人機的操縱與控制要求極高。軟件需要控制管理眾多類型無人機以便未來能夠完成更多軍事任務。所要需求是對各個類型的不同無人機進行有效操作與控制。往系統(tǒng)的建模模塊輸入該需求,建模模塊為系統(tǒng)設計形式化建模語言,采用嚴密的數(shù)學表達方式與準確的語義解釋,對無人機控制進行精確無二義性的描述,接著對無人機控制軟件中各個agent的行為結構進行建模。層次化MAS模型頂層可分為偵查控制agent、誘引控制agent、電子對抗控制agent以及攻擊控制agent,其中偵查控制agent的下一層有專門用于獲取偵查信息的多個agent,例如位置識別agent、信息傳送agent、環(huán)境識別agent、飛行控制agent等,該層agent互相協(xié)調(diào)工作并與上一層進行交互。類似地,對于飛行控制agent又會與其下層多個agent進行交互。針對飛行環(huán)境復雜多變,還需設計環(huán)境agent用來處理環(huán)境信息。利用建模語言,對軍用無人機控制軟件進行建模,得到層次化MAS模型。之后,利用仿真模塊對軍用無人機控制軟件的層次化MAS模型進行仿真,得到各個agent之間的交互行為。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類裝置所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的虛擬機的創(chuàng)建裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其同等技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。