不確定性環(huán)境下ThingML模型的量化分析方法
【專利摘要】本發(fā)明公開(kāi)了一種不確定性環(huán)境下ThingML模型的量化分析方法,包括以下步驟:步驟一:對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展,使得ThingML能夠?qū)Νh(huán)境中存在不確定性進(jìn)行建模,用戶提供所需的服務(wù)質(zhì)量要求;步驟二:利用Java來(lái)解析得到ThingML的元模型,獲得ThingML的每個(gè)所需要的字段;步驟三:將ThingML元模型轉(zhuǎn)化成NPTA模型,包括其前臺(tái)與后端配置;步驟四:將用戶服務(wù)質(zhì)量性質(zhì)轉(zhuǎn)化成UPPAAL?SMC的查詢語(yǔ)句,對(duì)系統(tǒng)進(jìn)行量化分析。本發(fā)明能夠?qū)ξ锫?lián)網(wǎng)應(yīng)用的服務(wù)質(zhì)量進(jìn)行評(píng)估進(jìn)而進(jìn)行相應(yīng)設(shè)計(jì)層面的修改以使服務(wù)質(zhì)量得到保證。
【專利說(shuō)明】
不確定性環(huán)境下Th i ngML模型的量化分析方法
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,尤其涉及一種不確定性環(huán)境下ThingML(物體建模語(yǔ)言-針對(duì)物聯(lián)網(wǎng)應(yīng)用建模語(yǔ)言)模型的量化分析方法。
【背景技術(shù)】
[0002]在基于現(xiàn)有ThingML的開(kāi)發(fā)方法下,有以下不足:
I.不能進(jìn)行量化分析,也就是說(shuō),在代碼部署前無(wú)法對(duì)ThingML生成的代碼的性能指標(biāo)進(jìn)行評(píng)估。盡管可以保證正確性,但是物聯(lián)網(wǎng)應(yīng)用的服務(wù)質(zhì)量無(wú)法得到保證。
[0003]2.沒(méi)有不確定性描述語(yǔ)義,因?yàn)槲锫?lián)網(wǎng)中的實(shí)體處于真實(shí)環(huán)境中,而真實(shí)環(huán)境是不確定的,即會(huì)呈現(xiàn)某種變化的。由于缺乏對(duì)環(huán)境不確定性描述語(yǔ)義,便無(wú)法進(jìn)行不確定性分析。
[0004]這就不足之處導(dǎo)致一個(gè)問(wèn)題:對(duì)ThingML模型本身的質(zhì)量難以進(jìn)行評(píng)估,因此就無(wú)法保證軟件的可靠性。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的提供一種不確定環(huán)境下物聯(lián)網(wǎng)設(shè)計(jì)模型的量化分析方法,對(duì)ThingML模型在不確定性環(huán)境下轉(zhuǎn)換成UPPAAL模型,通過(guò)對(duì)UPPAAL模型的量化分析得到原模型的服務(wù)質(zhì)量性質(zhì),從而能夠在早期系統(tǒng)設(shè)計(jì)的時(shí)候及時(shí)發(fā)現(xiàn)錯(cuò)誤,調(diào)整相關(guān)系統(tǒng)參數(shù),降低在不確定性環(huán)境中運(yùn)行可能產(chǎn)生的錯(cuò)誤以及運(yùn)行時(shí)效率和性能。
[0006]實(shí)現(xiàn)本發(fā)明目的的具體技術(shù)方案是:
一種不確定性環(huán)境下ThingML模型的量化分析方法,特點(diǎn)是該方法包括以下具體步驟:步驟一:對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展,使得ThingML能夠?qū)Νh(huán)境中存在不確定性進(jìn)行建模,用戶提供所需的服務(wù)質(zhì)量(QoS)要求;
步驟二:利用Java(—種計(jì)算機(jī)編程語(yǔ)言)來(lái)解析得到ThingML的元模型,獲得ThingML的每個(gè)所需要的字段;
步驟三:將ThingML元模型轉(zhuǎn)化成價(jià)格時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)(NPTA)模型;
步驟四:將用戶服務(wù)質(zhì)量性質(zhì)轉(zhuǎn)化成UPPAAL-SMC的查詢語(yǔ)句,對(duì)系統(tǒng)進(jìn)行量化分析。
[0007]所述對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展不確定性進(jìn)行建模,包括:變量分布、動(dòng)作延時(shí)、網(wǎng)絡(luò)延時(shí)及各種數(shù)學(xué)分布;其中,
所述數(shù)學(xué)分布用于指定所服從的概率分布,包括正太分布、指數(shù)分布和隨機(jī)分布,通過(guò)隨機(jī)分布函數(shù)構(gòu)造其他分布函數(shù);
所述變量分布用于建模與描述外界輸入所服從的分布;
所述動(dòng)作延時(shí)用于建模與描述由動(dòng)作引起的操作延時(shí);
所述網(wǎng)絡(luò)延時(shí)用于建模與描述由網(wǎng)絡(luò)狀況引起的通訊延時(shí)。
[0008]所述ThingML模型轉(zhuǎn)換為NPTA模型,是針對(duì)ThingML元模型中的物體狀態(tài)機(jī)、架構(gòu)模型、擴(kuò)展的分布信息、用戶提供的服務(wù)質(zhì)量要求分別使用映射以及轉(zhuǎn)換和不確定語(yǔ)義添加方法,將ThingML模型轉(zhuǎn)換為NPTA模型。
[0009]所述映射以及轉(zhuǎn)換,是將ThingML元模型映射成NPTA,包括:物體狀態(tài)機(jī),架構(gòu)模型以及擴(kuò)展的分布信息分別進(jìn)行轉(zhuǎn)化;其中,
所述物體狀態(tài)機(jī)轉(zhuǎn)化用于將物體的動(dòng)態(tài)變化轉(zhuǎn)化成NPTA的前臺(tái);
所述架構(gòu)模型轉(zhuǎn)化用于將物體的實(shí)例化信息以及物體通訊轉(zhuǎn)化成NPTA的后端配置;
所述擴(kuò)展的分布信息轉(zhuǎn)化用于將環(huán)境不確定性描述轉(zhuǎn)換為NPTA中后端配置以及前臺(tái)?目息O
[0010]所述物體狀態(tài)機(jī)轉(zhuǎn)換,包括:迀移規(guī)則、行為規(guī)則和事件觸發(fā)規(guī)則;其中,
所述迀移規(guī)則用于將ThingML擴(kuò)展迀移的轉(zhuǎn)化規(guī)則,其中擴(kuò)展迀移為服從時(shí)間分布的執(zhí)行行為轉(zhuǎn)化成NPTA具有延遲可能性的迀移;
所述行為規(guī)則用于將ThingML的行為(包括函數(shù)調(diào)用、變量賦值等等)轉(zhuǎn)化成NPTA迀移的觸發(fā)行為;
所述事件觸發(fā)規(guī)則用于對(duì)ThingML的守護(hù)條件轉(zhuǎn)化成NPTA對(duì)應(yīng)迀移前的判定規(guī)則。
[0011]所述不確定語(yǔ)義添加方法,包括:擴(kuò)展的分布信息;其中,
所述擴(kuò)展的分布信息將描述不確定性的變量添加到NPTA后端的對(duì)應(yīng)變量或延遲中;另夕卜,將所有描述不確定性的所需特殊分布轉(zhuǎn)換成UPPAAL中的后端函數(shù)的定義,該函數(shù)產(chǎn)生的結(jié)果需要滿足刻畫的分布。
[0012]所述架構(gòu)模型轉(zhuǎn)化,包括:
消息,ThingML模型中對(duì)通訊數(shù)據(jù)結(jié)構(gòu)的封裝,用于物聯(lián)網(wǎng)物體之間的通訊,被對(duì)應(yīng)轉(zhuǎn)化成NPTA后臺(tái)的模型變量申明;
擴(kuò)展信道,ThingML模型中對(duì)通信之間方式的定義,每個(gè)信道有其對(duì)應(yīng)延遲函數(shù),擴(kuò)展信道被轉(zhuǎn)化成NPTA前臺(tái);
連接器,對(duì)物體通訊介質(zhì)的實(shí)例化,經(jīng)由端口進(jìn)行通訊,轉(zhuǎn)化成NPTA的后端部分;
端口,對(duì)物體接受和發(fā)送消息的方向的指定,無(wú)需直接映射。
[0013]所述用戶提供所需的服務(wù)質(zhì)量要求,包括:
狀態(tài)查詢,對(duì)于某一物聯(lián)網(wǎng)物體到達(dá)某一狀態(tài)所需的時(shí)間,被轉(zhuǎn)化成UPPAAL的約束時(shí)序邏輯;
消耗查詢,對(duì)于某一個(gè)系統(tǒng)指定資源花費(fèi)超過(guò)一定時(shí)間的概率,被轉(zhuǎn)化成UPPAAL的約束時(shí)序邏輯。
[0014]本發(fā)明為了對(duì)ThingML模型進(jìn)行量化分析,將ThingML模型轉(zhuǎn)換為NPTA模型,并使用Java類描述源語(yǔ)言TingML的元模型。針對(duì)ThingML系統(tǒng)的各個(gè)元素使用轉(zhuǎn)化規(guī)則轉(zhuǎn)使擴(kuò)展ThingML模型換為NPTA模型。
[0015]本發(fā)明使用UPPAAL-SMC工具對(duì)轉(zhuǎn)化后的ThingML模型進(jìn)行量化分析。UPPAAL-SMC是基于統(tǒng)計(jì)模型檢測(cè)(Statistical Model Checking)技術(shù),它通過(guò)多次隨機(jī)模擬系統(tǒng)的運(yùn)行來(lái)獲得滿足系統(tǒng)某一屬性的概率。通過(guò)對(duì)這些量化分析,可以得出并且進(jìn)行不同模型的服務(wù)質(zhì)量的比較,得出物聯(lián)網(wǎng)的最佳解決設(shè)計(jì)方式。
[0016]通過(guò)對(duì)ThingML進(jìn)行擴(kuò)展,使得ThingML能夠?qū)Νh(huán)境中存在的不確定性進(jìn)行建模,這樣能極大地增強(qiáng)ThingML的建模能力,即反應(yīng)現(xiàn)實(shí)真實(shí)環(huán)境的能力;通過(guò)量化分析可以更好地幫助開(kāi)發(fā)者早期找出系統(tǒng)中可能存在的服務(wù)質(zhì)量問(wèn)題,并且相應(yīng)地調(diào)整ThingML模型。這樣可以降低在軟件開(kāi)發(fā)后期引起的不足而導(dǎo)致的返工及開(kāi)銷。
【附圖說(shuō)明】
[0017]圖1為本發(fā)明中所用到ThingML元模型的示意圖;
圖2為本發(fā)明中ThingML模型和NPTA模型結(jié)構(gòu)對(duì)應(yīng)關(guān)系圖;
圖3為本發(fā)明中由UPPAAL中Random函數(shù)產(chǎn)生正太分布的代碼圖。
【具體實(shí)施方式】
[0018]結(jié)合以下具體實(shí)施例和附圖,對(duì)發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
[0019]本發(fā)明提供了一種在不確定性環(huán)境下對(duì)ThingML模型進(jìn)行量化分析方法,包括以下步驟:
步驟一:對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展,使得ThingML能夠?qū)Νh(huán)境中存在不確定性進(jìn)行建模,并且用戶提供所需的服務(wù)質(zhì)量(QoS)要求;
步驟二:利用Java類解析ThingML的元模型,解析獲得ThingML的每個(gè)所需要的字段;步驟三:將ThingML元模型轉(zhuǎn)化成NPTA模型,包括其前臺(tái)與后端配置步驟四:將用戶服務(wù)質(zhì)量性質(zhì)轉(zhuǎn)化成UPPAAL-SMC的查詢語(yǔ)句,對(duì)系統(tǒng)進(jìn)行量化分析,這樣可以對(duì)物聯(lián)網(wǎng)的應(yīng)用的服務(wù)質(zhì)量進(jìn)行評(píng)估進(jìn)而進(jìn)行相應(yīng)設(shè)計(jì)層面的修改以使服務(wù)質(zhì)量得到保證。
[0020]本發(fā)明中對(duì)ThingML的擴(kuò)展內(nèi)容包括:
變量(在ThingML表示為性質(zhì)):變量用于將系統(tǒng)中外部不確定性具體化,用變量的方式描述系統(tǒng)中存在的不確定性。
[0021]信道:信道上的延遲是由于通訊介質(zhì)引起的不確定的影響,ThingML本身認(rèn)為信道都是理想信道,即沒(méi)有延遲,沒(méi)有丟包等等。用注釋的方式指明信道上的延遲情況。默認(rèn)情況(不指明時(shí))信道延遲可以忽略。
[0022]動(dòng)作:ThingML假定動(dòng)作都是瞬間完成,然而由于操作動(dòng)作在真實(shí)情況下都不可能瞬時(shí)觸發(fā),所以在對(duì)某些需要考慮完成時(shí)間的動(dòng)作,指定了其完成時(shí)間,同樣采取的是注釋的方式。默認(rèn)情況(不指明時(shí))動(dòng)作的操作時(shí)間可以忽略。
[0023]查詢:查詢用于描述系統(tǒng)的需求,該需求包含限制和表達(dá)式兩部分,表達(dá)式通過(guò)數(shù)學(xué)公式的方式描述,限制通常是針對(duì)某一變量,形式為變量小于等于某一常量。
[0024]分布:分布指定變量所服從的概率分布,包括正太分布、指數(shù)分布和隨機(jī)分布,還可以通過(guò)隨機(jī)分布函數(shù)構(gòu)造其他分布函數(shù)。
[0025]本發(fā)明中,ThingML的映射轉(zhuǎn)換方法將一個(gè)組件轉(zhuǎn)化映射成PTA的前臺(tái)和后端模型,該轉(zhuǎn)換方法包括以下內(nèi)容:
數(shù)據(jù)結(jié)構(gòu):所有的消息都被映射成消息定義;所有ThingML性質(zhì)(有別于服務(wù)質(zhì)量性質(zhì),以及UPPAAL驗(yàn)證性質(zhì))被映射成UPPAAL后臺(tái)變量。
[0026]狀態(tài):映射成NPTA前臺(tái)的位置信息。
[0027]擴(kuò)展迀移:映射成NPTA前臺(tái)的迀移以及相應(yīng)的不變式。
[0028]事件:被映射成NPTA前臺(tái)信道的接受機(jī)制。
[0029]動(dòng)作:被轉(zhuǎn)換成NPTA的前臺(tái)信道的發(fā)送機(jī)制或者NPTA的前臺(tái)更新機(jī)制。
[0030]端口:由于UPPAAL直接采用了信道的機(jī)制,所以ThingML的這部分信息變成了冗余。
[0031 ]屬性規(guī)則:將不確定性附屬子語(yǔ)言中的屬性轉(zhuǎn)化為UPPAAL中查詢語(yǔ)句。
[0032]過(guò)程調(diào)用:ThingML中有兩種過(guò)程調(diào)用,函數(shù)和操作符,它們都被轉(zhuǎn)換成NPTA的函數(shù)定義。然而ThingML的過(guò)程調(diào)用與NPTA(UPPAAL-SMC)的函數(shù)格式不同,需要做相應(yīng)的個(gè)事轉(zhuǎn)換。
[0033]基于以上發(fā)明方法,本實(shí)施例開(kāi)發(fā)了一個(gè)ThingML至IjUPPAAL模型的轉(zhuǎn)換工具,針對(duì)選取ThingML模型自動(dòng)地轉(zhuǎn)換成對(duì)應(yīng)的UPPAAL模型,并調(diào)用UPPAAL-SMC對(duì)UPPAAL模型進(jìn)行量化分析。具體的實(shí)施步驟如下:
1.ThingML文本格式解析
ThingML本身提供了一套解析API,通過(guò)調(diào)用這套函數(shù),可以解析成ThingML的元模型(如圖1所示),可以以一種層次化的結(jié)構(gòu)存儲(chǔ)起相應(yīng)邏輯以及對(duì)應(yīng)各系,這樣可以方便的抽取ThingML的各個(gè)字段,為進(jìn)一步轉(zhuǎn)換成UPPAAL前臺(tái)模型與后端配置做好了保證。
[0034]2.模型轉(zhuǎn)換方法:
本發(fā)明為了對(duì)ThingML模型進(jìn)行量化分析,將對(duì)應(yīng)ThingML模型轉(zhuǎn)換為UPPAAL模型。針對(duì)ThingML模型中的數(shù)據(jù)結(jié)構(gòu)、狀態(tài)機(jī)、架構(gòu)模型以及過(guò)程調(diào)用分別使用轉(zhuǎn)換對(duì)應(yīng)規(guī)則,轉(zhuǎn)換規(guī)則如圖2所示。最后,通過(guò)解析設(shè)計(jì)需求文件,對(duì)UPPAAL-SMC工具對(duì)轉(zhuǎn)換后的UPPAAL模型進(jìn)行統(tǒng)計(jì)模型檢測(cè),獲得量化分析結(jié)果。
[0035]執(zhí)行結(jié)構(gòu)以及語(yǔ)義轉(zhuǎn)換方法:
由于ThingML模型中的執(zhí)行語(yǔ)義和結(jié)構(gòu)在NPTA中幾乎都有對(duì)應(yīng)的部分,因此需要通過(guò)轉(zhuǎn)化規(guī)則的到其UPPAAL的前臺(tái)與后端模型。
[0036]2.1前臺(tái)模型
前臺(tái)模型被用來(lái)描述事物的統(tǒng)計(jì)行為。前臺(tái)模型主要來(lái)自Thing的狀態(tài)機(jī)。UPPAAL前臺(tái)模型的大部分可以從ThingML通過(guò)映射規(guī)則直接映射得到。譬如說(shuō),狀態(tài),迀移,以及守衛(wèi)條件。為了對(duì)其局部變量進(jìn)行相應(yīng)的初始化,需要引入一個(gè)新的位置,叫做開(kāi)始位置,并且在開(kāi)始位置不能有任何延遲。所以把它設(shè)定為一個(gè)初始緊急位置,并有initialize()函數(shù)對(duì)相應(yīng)的變量進(jìn)行初始化等待工作(這是由后端配置完成的)。對(duì)于動(dòng)作的延遲,以及通訊的延遲則需要引入一些局部時(shí)鐘,并且通過(guò)進(jìn)入邊上的不變式,以及出去邊上的守護(hù)條件所來(lái)達(dá)到。默認(rèn)情況下如果沒(méi)有給予指定延遲的話,那么這些延遲可以不考慮。通常來(lái)說(shuō)這些延遲都是服從某些分布的,通過(guò)給變量上賦予函數(shù)分布,并且設(shè)置相應(yīng)的不變式以及守護(hù)條件。
[0037]對(duì)于通訊機(jī)制,ThingML和NPTA的通訊都是通過(guò)同步機(jī)制來(lái)實(shí)現(xiàn)的JhingML的通訊是通過(guò)消息來(lái)實(shí)現(xiàn)的,在UPPAAL中,將其轉(zhuǎn)換成信道的全局定義。對(duì)一個(gè)同步事件來(lái)說(shuō),對(duì)于ThingML采用的是通過(guò)事件來(lái)實(shí)現(xiàn)等待(信道末尾加‘°’),而通過(guò)動(dòng)作是來(lái)實(shí)現(xiàn)發(fā)送(信道末尾加“!”)。在UPPAAL的同步機(jī)制同時(shí)照顧了這兩種機(jī)制,因而全部轉(zhuǎn)換成對(duì)應(yīng)邊上的同步機(jī)制。對(duì)于已經(jīng)在連接器上指定延遲情況的類似地需要設(shè)置不變式和守護(hù)條件。
[0038]2.2后端配置
對(duì)于后端配置包括了三部分內(nèi)容:系統(tǒng)申明,全局后端配置,每個(gè)PTA的局部后端配置。
[0039]系統(tǒng)申明:從ThingML結(jié)構(gòu)模型中,可以得到每件事物的細(xì)節(jié)(類型,名字等等)。通過(guò)這些信息可以很容易轉(zhuǎn)換出系統(tǒng)的定義信息。
[0040]全局后端配置:全局后端配置中包括了通過(guò)randomO函數(shù)定義各種數(shù)學(xué)函數(shù)的分布庫(kù),如圖3所示。還有各種全局事物之間通訊所需要的信道,為了方便起見(jiàn),全部將其設(shè)置為緊急廣播(urgent broadcast)信道,以及一些全局變量的申明等等。對(duì)于消息,都不采用結(jié)構(gòu)體的方式,而是分別定義每一個(gè)變量。這是因?yàn)閁PPAAL對(duì)結(jié)構(gòu)體的某些類型(double)不支持。
[0041]NPTA局部后端配置:局部后端配置還是主要關(guān)于數(shù)據(jù)結(jié)構(gòu)的定義。對(duì)于ThingML中的所有性質(zhì)(有別于UPPAAL驗(yàn)證性質(zhì),以及服務(wù)質(zhì)量性質(zhì)),定義了兩種不同變量,對(duì)于在ThingML有readonly標(biāo)識(shí)符的將其設(shè)置成常量(constant variable),否則的話申明為普通變量。對(duì)應(yīng)在ThingML出現(xiàn)的所有過(guò)程調(diào)用,譬如funct1n以及operator,由于其格式不同,要進(jìn)行關(guān)鍵字的匹配,將其轉(zhuǎn)換UPPAAL中的類C函數(shù)。
[0042]本發(fā)明提出的不確定性環(huán)境下THingML模型量化分析方法能夠在較短的時(shí)間內(nèi)獲得不確定性環(huán)境下的物聯(lián)網(wǎng)系統(tǒng)服務(wù)質(zhì)量的量化結(jié)果,提高系統(tǒng)在不確定性環(huán)境下運(yùn)行的安全性。并且可以對(duì)不同設(shè)計(jì)(在不同參數(shù)下的系統(tǒng))進(jìn)行比較,方便設(shè)計(jì)者的決策分析。
【主權(quán)項(xiàng)】
1.一種不確定性環(huán)境下ThingML模型的量化分析方法,其特征在于該方法包括以下具體步驟: 步驟一:對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展,使得ThingML能夠?qū)Νh(huán)境中存在不確定性進(jìn)行建模,用戶提供所需的服務(wù)質(zhì)量要求; 步驟二:利用Java來(lái)解析得到ThingML的元模型,獲得ThingML的每個(gè)所需要的字段; 步驟三:將ThingML元模型轉(zhuǎn)化成NPTA模型; 步驟四:將用戶服務(wù)質(zhì)量性質(zhì)轉(zhuǎn)化成UPPAAL-SMC的查詢語(yǔ)句,對(duì)系統(tǒng)進(jìn)行量化分析。2.如權(quán)利要求1所述的量化分析方法,其特征在于所述對(duì)ThingML的語(yǔ)法與語(yǔ)義進(jìn)行擴(kuò)展不確定性進(jìn)行建模,包括:變量分布、動(dòng)作延時(shí)、網(wǎng)絡(luò)延時(shí)及各種數(shù)學(xué)分布;其中, 所述變量分布用于建模與描述外界輸入所服從的分布; 所述動(dòng)作延時(shí)用于建模與描述由動(dòng)作引起的操作延時(shí); 所述網(wǎng)絡(luò)延時(shí)用于建模與描述由網(wǎng)絡(luò)狀況引起的通訊延時(shí)。3.所述數(shù)學(xué)分布用于指定所服從的概率分布,包括正太分布、指數(shù)分布和隨機(jī)分布,通過(guò)隨機(jī)分布函數(shù)構(gòu)造其他分布函數(shù); 如權(quán)利要求1所述的量化分析方法,其特征在于,所述ThingML模型轉(zhuǎn)換為NPTA模型,是針對(duì)ThingML元模型中的物體狀態(tài)機(jī)、架構(gòu)模型、擴(kuò)展的分布信息、用戶提供的服務(wù)質(zhì)量要求分別使用映射以及轉(zhuǎn)換和不確定語(yǔ)義添加方法,將ThingML模型轉(zhuǎn)換為NPTA模型。4.如權(quán)利要求3所述的量化分析方法,其特征在于,所述映射以及轉(zhuǎn)換,是將ThingML元模型映射成NPTA,包括:物體狀態(tài)機(jī),架構(gòu)模型以及擴(kuò)展的分布信息分別進(jìn)行轉(zhuǎn)化;其中, 所述物體狀態(tài)機(jī)轉(zhuǎn)化用于將物體的動(dòng)態(tài)變化轉(zhuǎn)化成NPTA的前臺(tái); 所述架構(gòu)模型轉(zhuǎn)化用于將物體的實(shí)例化信息以及物體通訊轉(zhuǎn)化成NPTA的后端配置; 所述擴(kuò)展的分布信息轉(zhuǎn)化用于將環(huán)境不確定性描述轉(zhuǎn)換為NPTA中后端配置以及前臺(tái)?目息O5.如權(quán)利要求4所述的量化分析方法,其特征在于,所述物體狀態(tài)機(jī)轉(zhuǎn)換包括:迀移規(guī)貝IJ、行為規(guī)則和事件觸發(fā)規(guī)則;其中, 所述迀移規(guī)則用于將ThingML擴(kuò)展迀移的轉(zhuǎn)化規(guī)則,其中擴(kuò)展迀移為服從時(shí)間分布的執(zhí)行行為轉(zhuǎn)化成NPTA具有延遲可能性的迀移; 所述行為規(guī)則用于將ThingML的行為轉(zhuǎn)化成NPTA迀移的觸發(fā)行為; 所述事件觸發(fā)規(guī)則用于對(duì)ThingML的守護(hù)條件轉(zhuǎn)化成NPTA對(duì)應(yīng)迀移前的判定規(guī)則。6.如權(quán)利要求3所述的量化分析方法,其特征在于,所述不確定語(yǔ)義添加方法包括:擴(kuò)展的分布信息;其中, 所述擴(kuò)展的分布信息將描述不確定性的變量添加到NPTA后端的對(duì)應(yīng)變量或延遲中;另夕卜,將所有描述不確定性的所需特殊分布轉(zhuǎn)換成UPPAAL中的后端函數(shù)的定義,該函數(shù)產(chǎn)生的結(jié)果需要滿足刻畫的分布。7.如權(quán)利要求3或4所述的量化分析方法,其特征在于,所述架構(gòu)模型轉(zhuǎn)化包括: 消息,ThingML模型中對(duì)通訊數(shù)據(jù)結(jié)構(gòu)的封裝,用于物聯(lián)網(wǎng)物體之間的通訊,被對(duì)應(yīng)轉(zhuǎn)化成NPTA后臺(tái)的模型變量申明; 擴(kuò)展信道,ThingML模型中對(duì)通信之間方式的定義,每個(gè)信道有其對(duì)應(yīng)延遲函數(shù),擴(kuò)展信道被轉(zhuǎn)化成NPTA前臺(tái); 連接器,對(duì)物體通訊介質(zhì)的實(shí)例化,經(jīng)由端口進(jìn)行通訊,轉(zhuǎn)化成NPTA的后端部分; 端口,對(duì)物體接受和發(fā)送消息的方向的指定,無(wú)需直接映射。8.如權(quán)利要求1所述的量化分析方法,其特征在于,所述用戶提供所需的服務(wù)質(zhì)量要求,包括: 狀態(tài)查詢,對(duì)于某一物聯(lián)網(wǎng)物體到達(dá)某一狀態(tài)所需的時(shí)間,被轉(zhuǎn)化成UPPAAL的約束時(shí)序邏輯; 消耗查詢,對(duì)于某一個(gè)系統(tǒng)指定資源花費(fèi)超過(guò)一定時(shí)間的概率,被轉(zhuǎn)化成UPPAAL的約束時(shí)序邏輯。
【文檔編號(hào)】G06F17/50GK105975695SQ201610300114
【公開(kāi)日】2016年9月28日
【申請(qǐng)日】2016年5月9日
【發(fā)明人】陳銘松, 徐思遠(yuǎn), 王紅祥
【申請(qǐng)人】華東師范大學(xué)