本發(fā)明屬于計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,主要涉及形式化建模與驗(yàn)證領(lǐng)域,尤其涉及基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法。
背景技術(shù):
隨著軟件應(yīng)用范圍的不斷擴(kuò)大,其運(yùn)行平臺正從傳統(tǒng)的計(jì)算機(jī)延展到嵌入式設(shè)備、移動設(shè)備和開放的互聯(lián)網(wǎng),并與物理系統(tǒng)、社會系統(tǒng)等更加緊密地融合在一起。這種開放、動態(tài)、難控的運(yùn)行環(huán)境要求軟件系統(tǒng)需具備一定程度的自適應(yīng)能力,也就是說,軟件系統(tǒng)應(yīng)能主動感知環(huán)境和需求的變化,并據(jù)以調(diào)整自身結(jié)構(gòu)和行為,產(chǎn)生自適應(yīng)決策策略,以持續(xù)地提供滿足用戶期望的服務(wù)。然而,自適應(yīng)決策策略可能會對系統(tǒng)的執(zhí)行行為、性能以及功能等多方面產(chǎn)生影響。在保障軟件系統(tǒng)本身的功能性需求、非功能性需求以及安全性需求等前提下,如何保證軟件自適應(yīng)決策策略的有效性和正確性顯得至關(guān)重要。
現(xiàn)有的相關(guān)專利,例如申請?zhí)枮?01110167018.7的中國發(fā)明專利申請,涉及一種基于機(jī)器學(xué)習(xí)的分布式緩存策略自適應(yīng)切換方法及其系統(tǒng)?;诨鶞?zhǔn)測試對各緩存策略進(jìn)行評價(jià),確定影響緩存策略性能表現(xiàn)的場景要素;分別在不同場景要素條件下收集各緩存策略的數(shù)據(jù)集;訓(xùn)練該數(shù)據(jù)集得到緩存性能模型;基于緩存性能模型與集群環(huán)境下的在線監(jiān)測數(shù)據(jù)決策最優(yōu)緩存策略,在當(dāng)前緩存策略與最優(yōu)策略不一致時執(zhí)行緩存策略切換。采用機(jī)器學(xué)習(xí)的方法建立可以準(zhǔn)確刻畫當(dāng)前場景的緩存性能模型,并通過構(gòu)建性能數(shù)據(jù)倉庫周期性的更新該模型,進(jìn)一步提高了模型的精度,可以較好的適應(yīng)環(huán)境的動態(tài)變化,增強(qiáng)緩存服務(wù)的柔性和自適應(yīng)性。
然而在以上專利中,軟件自我驗(yàn)證效率仍有不足。
技術(shù)實(shí)現(xiàn)要素:
為解決以上現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出了基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法,通過將經(jīng)過自適應(yīng)決策策略作用演變的多種異構(gòu)的層次化多agent系統(tǒng)模型轉(zhuǎn)換成統(tǒng)一的中間模型,在中間模型上進(jìn)行形式化驗(yàn)證,驗(yàn)證中間模型是否滿足某些目標(biāo)性質(zhì),從而達(dá)到驗(yàn)證軟件自適應(yīng)決策策略的有效性和正確性的目的,實(shí)現(xiàn)軟件自適應(yīng)決策策略的驗(yàn)證。
具體的,本發(fā)明提出了一種軟件自適應(yīng)決策驗(yàn)證方法,所述方法包括如下步驟:
步驟一,層次化MAS模型經(jīng)過自適應(yīng)決策策略作用演變成多種異構(gòu)的層次化多agent系統(tǒng)模型;
步驟二,將所述層次化多agent系統(tǒng)模型轉(zhuǎn)換成統(tǒng)一的中間模型;
步驟三,在中間模型上進(jìn)行分析、驗(yàn)證,判斷中間模型是否滿足目標(biāo)性質(zhì),從而完成自適應(yīng)決策策略的驗(yàn)證,,同時,還可以實(shí)現(xiàn)多個中間模型的對比,進(jìn)而實(shí)現(xiàn)多種異構(gòu)的層次化多agent系統(tǒng)模型的對比,從中挑選出符合目標(biāo)性質(zhì)的優(yōu)良模型;
步驟四,篩選出優(yōu)良的自適應(yīng)決策策略,對于不符合目標(biāo)性質(zhì)的策略給出改進(jìn)建議。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述層次化多agent系統(tǒng)模型是對軟件系統(tǒng)進(jìn)行抽象建模而形成一個以功能目標(biāo)為單位,將軟件與環(huán)境置于統(tǒng)一架構(gòu)的集分布式與集中式控制于一體的分層式多Agent的系統(tǒng)模型。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述步驟二的模型轉(zhuǎn)換基于EMF框架實(shí)現(xiàn),集成完備的層次化多agent系統(tǒng)模型到中間模型的轉(zhuǎn)換規(guī)則,具備自檢查功能,通過語義互模擬技術(shù)檢查轉(zhuǎn)換前后模型間的語義等價(jià)性。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述中間模型是層次化狀態(tài)遷移系統(tǒng),所述層次化狀態(tài)遷移系統(tǒng)在狀態(tài)遷移系統(tǒng)的基礎(chǔ)上進(jìn)行擴(kuò)展,將狀態(tài)遷移系統(tǒng)擴(kuò)展為多層次的結(jié)構(gòu),各層之間緊密聯(lián)系,共同構(gòu)成一個完整的狀態(tài)遷移系統(tǒng)。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述步驟三的驗(yàn)證基于層次化狀態(tài)遷移系統(tǒng)驗(yàn)證算法實(shí)現(xiàn),用于完成層次化狀態(tài)遷移系統(tǒng)的分析、驗(yàn)證,分析所述自適應(yīng)決策策略對層次化多agent系統(tǒng)各層模型執(zhí)行行為、功能、性能的影響,驗(yàn)證所述自適應(yīng)決策策略的正確性與有效性,并且將分析、驗(yàn)證結(jié)果以及改進(jìn)意見反饋給用戶;同時,所述驗(yàn)證結(jié)合狀態(tài)空間等價(jià)類劃分技術(shù)。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述層次化狀態(tài)遷移系統(tǒng)驗(yàn)證算法基于層次化狀態(tài)遷移系統(tǒng)靜態(tài)和動態(tài)展開技術(shù),將層次化狀態(tài)遷移系統(tǒng)展開成傳統(tǒng)的狀態(tài)遷移系統(tǒng),并且合理考慮各層模型之間的依賴,擴(kuò)展經(jīng)典的狀態(tài)遷移系統(tǒng)驗(yàn)證算法,在現(xiàn)有工具的基礎(chǔ)上實(shí)現(xiàn)層次化多agent系統(tǒng)模型的自適應(yīng)決策驗(yàn)證。
優(yōu)選的,如上所述的軟件自適應(yīng)決策驗(yàn)證方法,所述狀態(tài)空間等價(jià)類劃分技術(shù),用于將無限狀態(tài)集合以狀態(tài)等價(jià)類的方式分解為有限的狀態(tài)等價(jià)類集合。
與現(xiàn)有技術(shù)相比,本發(fā)明所述的基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法,具有如下有益效果:
第一,本發(fā)明加入“層次化”這一概念,將軟件系統(tǒng)抽象成一種層次化的多agent系統(tǒng)模型結(jié)構(gòu),是一種創(chuàng)新的抽象形式;第二,本發(fā)明設(shè)計(jì)了層次化狀態(tài)遷移系統(tǒng)這種中間模型,改進(jìn)了傳統(tǒng)的狀態(tài)遷移系統(tǒng)驗(yàn)證算法,實(shí)現(xiàn)層次化狀態(tài)遷移系統(tǒng)的驗(yàn)證;第三,本發(fā)明將層次化多agent系統(tǒng)模型轉(zhuǎn)換成層次化狀態(tài)遷移系統(tǒng),在中間模型上對層次化多agent系統(tǒng)模型進(jìn)行驗(yàn)證。第四,本發(fā)明可以間接實(shí)現(xiàn)軟件自適應(yīng)決策策略的自動篩選,篩選出優(yōu)良的自適應(yīng)決策策略。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1是本發(fā)明基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法流程圖;
圖2是本發(fā)明基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法原理框圖;
圖3是層次化多agent系統(tǒng)模型示例。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
如圖1所示,本發(fā)明公開一種基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法,所述方法包括如下步驟:
S110、層次化MAS模型經(jīng)過自適應(yīng)決策策略作用演變成多種異構(gòu)的層次化多agent系統(tǒng)模型。
S120、由模型轉(zhuǎn)換器100將所述層次化多agent系統(tǒng)模型(包含MAS1、MAS2、……MASn)轉(zhuǎn)換成統(tǒng)一的中間模型(包含MM1、MM2、……MMn)。
S130、在中間模型上進(jìn)行分析、驗(yàn)證,判斷中間模型是否滿足目標(biāo)性質(zhì),從而完成自適應(yīng)決策策略的驗(yàn)證,同時,還可以實(shí)現(xiàn)多個中間模型的對比,進(jìn)而實(shí)現(xiàn)多種異構(gòu)的層次化多agent系統(tǒng)模型的對比,從中挑選出符合目標(biāo)性質(zhì)的優(yōu)良模型。
S140、篩選出優(yōu)良的自適應(yīng)決策策略,對于不符合目標(biāo)性質(zhì)的策略給出改進(jìn)建議。
本發(fā)明提出的所述基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法中,所述層次化多agent系統(tǒng)模型指的是對軟件系統(tǒng)進(jìn)行抽象建模而形成一個以功能目標(biāo)為單位,將軟件與環(huán)境置于統(tǒng)一架構(gòu)的集分布式與集中式控制于一體的分層式多Agent的系統(tǒng)模型。如圖2所示是一個3層多agent系統(tǒng)模型示例,其中每個圓圈代表一個agent,每一層次都對軟件系統(tǒng)進(jìn)行了不同程度、不同角度的抽象,整個軟件系統(tǒng)由所有的agent共同作用,完成軟件系統(tǒng)的功能。
本發(fā)明提出的所述基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法中,所述模型轉(zhuǎn)換基于EMF(Eclipse Modeling Framework)框架實(shí)現(xiàn),作用是將經(jīng)過自適應(yīng)決策策略作用演變的多種異構(gòu)的層次化多agent系統(tǒng)模型轉(zhuǎn)換成統(tǒng)一的中間模型,所述模型轉(zhuǎn)換器100集成了完備的層次化多agent系統(tǒng)模型到中間模型的轉(zhuǎn)換規(guī)則,具備自檢查功能,通過語義互模擬技術(shù)檢查轉(zhuǎn)換前后模型間的語義等價(jià)性。其中所述中間模型(包含MM1、MM2、……MMn)指的是層次化狀態(tài)遷移系統(tǒng)。層次化狀態(tài)遷移系統(tǒng)是狀態(tài)遷移系統(tǒng)的一種變體,在狀態(tài)遷移系統(tǒng)的基礎(chǔ)上進(jìn)行擴(kuò)展,將遷移系統(tǒng)擴(kuò)展為多層次的結(jié)構(gòu),各層之間緊密聯(lián)系,共同構(gòu)成一個完整的狀態(tài)遷移系統(tǒng)。
傳統(tǒng)的狀態(tài)遷移系統(tǒng)是一種用來描述系統(tǒng)行為的模型,用有向圖表示,其中的節(jié)點(diǎn)表示系統(tǒng)狀態(tài),邊表示狀態(tài)之間的遷移關(guān)系。狀態(tài)節(jié)點(diǎn)描述了系統(tǒng)在某一特定時刻的行為,遷移邊描述了系統(tǒng)如何從一個狀態(tài)演變到下一個狀態(tài)。一種典型的狀態(tài)遷移系統(tǒng)可以用一個五元組來表示,描述如下:
TS=(S,Act,→,I,AP,L)
S表示系統(tǒng)狀態(tài)集;
Act表示系統(tǒng)動作集合;
表示遷移關(guān)系;
表示初始狀態(tài);
AP表示原子命題集;
L:S→2AP表示標(biāo)號函數(shù)。
層次化狀態(tài)遷移系統(tǒng)在狀態(tài)遷移系統(tǒng)的基礎(chǔ)上引入層次集合E,引入E后,遷移系統(tǒng)的遷移關(guān)系由狀態(tài)的遷移改為狀態(tài)元組的遷移。其中,狀態(tài)元組是一個二元組,由當(dāng)前遷移系統(tǒng)所處的狀態(tài)s與層次e組成,可表示為(s,e)。層次化狀態(tài)遷移系統(tǒng)描述如下:
TSL=(S,Act,E,→,I,AP,L)
S表示系統(tǒng)狀態(tài)集;
Act表示系統(tǒng)動作集合;
E表示層次集合;
S×E表示系統(tǒng)狀態(tài)元組集合;
表示遷移關(guān)系;
表示初始狀態(tài)元組;
AP表示原子命題集;
L:S×E→2AP表示標(biāo)號函數(shù)。
本發(fā)明提出的所述基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法中,所述模型驗(yàn)證基于層次化狀態(tài)遷移系統(tǒng)驗(yàn)證算法實(shí)現(xiàn),用于完成層次化狀態(tài)遷移系統(tǒng)的分析、驗(yàn)證,分析自適應(yīng)決策策略對層次化多agent系統(tǒng)各層模型執(zhí)行行為、功能、性能等方面的影響,驗(yàn)證自適應(yīng)決策策略的正確性與有效性,并且將分析、驗(yàn)證結(jié)果以及改進(jìn)意見自動反饋給用戶。而且所述模型驗(yàn)證器200結(jié)合了狀態(tài)空間等價(jià)類劃分技術(shù),有利于提高驗(yàn)證算法執(zhí)行性能。所述層次化狀態(tài)遷移系統(tǒng)驗(yàn)證算法是對傳統(tǒng)的狀態(tài)遷移系統(tǒng)驗(yàn)證算法的擴(kuò)展,基于層次化狀態(tài)遷移系統(tǒng)靜態(tài)和動態(tài)展開技術(shù),將層次化狀態(tài)遷移系統(tǒng)展開成傳統(tǒng)的狀態(tài)遷移系統(tǒng),并且合理考慮各層模型之間的依賴,擴(kuò)展經(jīng)典的狀態(tài)遷移系統(tǒng)驗(yàn)證算法,在現(xiàn)有工具的基礎(chǔ)上實(shí)現(xiàn)層次化多agent系統(tǒng)模型的自適應(yīng)決策驗(yàn)證。
例如可以將系統(tǒng)的功能性需求、非功能性需求等目標(biāo)性質(zhì)用CTL公式進(jìn)行描述,然后擴(kuò)展基本CTL模型檢測算法對層次化狀態(tài)遷移系統(tǒng)進(jìn)行驗(yàn)證,加入層次化特性,實(shí)現(xiàn)針對層次化狀態(tài)遷移系統(tǒng)的CTL模型檢測算法。所述狀態(tài)空間等價(jià)類劃分技術(shù),用于將無限狀態(tài)集合以狀態(tài)等價(jià)類的方式分解為有限的狀態(tài)等價(jià)類集合,從而消去冗余狀態(tài),優(yōu)化狀態(tài)空間,在一定程度上避免驗(yàn)證過程中可能產(chǎn)生的狀態(tài)數(shù)量指數(shù)級增長的問題,從而大大提高驗(yàn)證效率。
下面具體講述本發(fā)明所述層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證方法的一個實(shí)例。
實(shí)施例1
在實(shí)際的應(yīng)用過程中,模型轉(zhuǎn)換器100可以采用模型規(guī)范化技術(shù)和EMF模型轉(zhuǎn)換技術(shù),如:JET、Acceleo、Xpand等,實(shí)現(xiàn)層次化多agent系統(tǒng)模型的轉(zhuǎn)換,得到層次化狀態(tài)遷移系統(tǒng)模型。而層次化狀態(tài)遷移系統(tǒng)的元模型可以基于Eclipse Ecore模型定義,這樣能方便地在eclipse平臺下描述層次化狀態(tài)遷移系統(tǒng)。同時為了增強(qiáng)中間模型的語義,可以結(jié)合OCL語言來進(jìn)行描述。
模型驗(yàn)證器200可以擴(kuò)展EMF Validation框架,實(shí)現(xiàn)對EMF模型驅(qū)動開發(fā)平臺的無縫銜接,同時結(jié)合現(xiàn)有驗(yàn)證工具如SPIN,來實(shí)現(xiàn)本發(fā)明所述的基于層次化多agent系統(tǒng)模型的軟件自適應(yīng)決策驗(yàn)證。
需要說明的是:
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個或多個設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個或者多個處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的虛擬機(jī)的創(chuàng)建裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。