專利名稱:Tasm2uppaal模型轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種模型轉(zhuǎn)換方法,尤其涉及將TASM模型轉(zhuǎn)換為UPPAAL模型的方法。
背景技術(shù):
嵌入式實(shí)時(shí)系統(tǒng)是一種需要在滿足實(shí)時(shí)計(jì)算約束條件下實(shí)現(xiàn)特定功能的計(jì)算控制系統(tǒng)。其廣泛應(yīng)用于航空電子、航天器、汽車控制等領(lǐng)域,這些系統(tǒng)具有資源受限、實(shí)時(shí)響應(yīng)、容錯(cuò)、專用硬件等特點(diǎn),對(duì)強(qiáng)實(shí)時(shí)性、可靠性等性質(zhì)有較高的要求。由于軟硬件規(guī)模及復(fù)雜度的增大以及計(jì)算精度、實(shí)時(shí)響應(yīng)的要求的提高,這類系統(tǒng)變得越來越復(fù)雜,學(xué)術(shù)界和工業(yè)界一直在深入地研究如何在開發(fā)時(shí)間與成本受限的條件下更好地設(shè)計(jì)、實(shí)現(xiàn)高質(zhì)量的復(fù)雜嵌入式實(shí)時(shí)系統(tǒng)并對(duì)其功能進(jìn)行驗(yàn)證。抽象狀態(tài)機(jī)(AbstractState Machines, ASMs)是由 Yuri Gurevich 在 1980 年代提出的一種用于系統(tǒng)工程形式建模的一種形式化方法。在此方法的基礎(chǔ)上又產(chǎn)生了 XASM(extensible Abstract State Machine)、AsmL(Abstract State Machine Language) 等語言和工具上的擴(kuò)展。但是ASMs和這些擴(kuò)展并沒有提及如何考慮時(shí)間和資源等非功能屬性。針對(duì)這一問題,麻省理工學(xué)院的Martin Ouimet等人于2006提出了時(shí)間抽象狀態(tài)機(jī) (Timed Abstract State Machine,下文簡(jiǎn)稱為TASM)語言。TASM語言是一種用來對(duì)于嵌入式實(shí)時(shí)系統(tǒng)的行為進(jìn)行規(guī)范化和仿真的建模語言。它是ASMs的一個(gè)擴(kuò)展。TASM能夠支持時(shí)間、資源、同步、并發(fā)等多種功能及非功能屬性進(jìn)行描述,具有語義描述簡(jiǎn)潔、可讀性好等特點(diǎn)。UPPAAL是由瑞典Uppsala大學(xué)和丹麥Aazborg大學(xué)聯(lián)合開發(fā)的模型檢測(cè)工具。它以R. Alur和Dill提出的時(shí)間自動(dòng)機(jī)(Timed Automata)作為形式化理論基礎(chǔ),可以對(duì)以時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)為模型的實(shí)時(shí)系統(tǒng)進(jìn)行模擬和模型檢測(cè)。時(shí)間自動(dòng)機(jī)在有窮狀態(tài)機(jī)的基礎(chǔ)上增加了時(shí)鐘變量,它采用了連續(xù)時(shí)間模型并且所有時(shí)鐘變量是同步前進(jìn)的。在UPPAAL中,實(shí)時(shí)系統(tǒng)被建模為并發(fā)執(zhí)行的時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)模型。有界整型變量被引入到時(shí)間自動(dòng)機(jī)的概念中,它們的值可以被讀取也可以被修改以及被用于計(jì)算。狀態(tài)在時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)中被定義為所有時(shí)間自動(dòng)機(jī)所處位置,時(shí)鐘約束和普通變量的值的組合。通過自動(dòng)機(jī)位置間的遷移或與其它自動(dòng)機(jī)的同步,模型從當(dāng)前狀態(tài)遷移到新的狀態(tài)。由于TASM工具TASM toolset對(duì)于邏輯行為、時(shí)間行為的驗(yàn)證能力偏弱,我們選擇利用UPPAAL模型檢測(cè)工具對(duì)其功能正確性(有無死鎖)、非功能正確性(時(shí)間等約束條件) 進(jìn)行進(jìn)一步的形式化驗(yàn)證。為此,本發(fā)明研究一種從TASM子集到UPPAAL的模型轉(zhuǎn)換方法實(shí)現(xiàn)兩種模型的自動(dòng)轉(zhuǎn)換。
發(fā)明內(nèi)容
一種模型轉(zhuǎn)換方法,用于將TASM模型轉(zhuǎn)換為UPPAAL模型,其特征在于使用KM3描述目標(biāo)語言UPPAAL的元模型;
針對(duì)TASM模型的環(huán)境變量與抽象機(jī),執(zhí)行規(guī)則語法元素,使用環(huán)境變量的轉(zhuǎn)換方法和主抽象機(jī)與執(zhí)行規(guī)則的轉(zhuǎn)換方法,將TASM模型轉(zhuǎn)換為UPPAAL模型。所述UPPAAL的元模型包括(I) nta:UPPAAL模型的根節(jié)點(diǎn),下轄節(jié)點(diǎn)包括對(duì)UPPAAL模型定義的普通變量、時(shí)鐘變量及同步通信信道進(jìn)行聲明的節(jié)點(diǎn)declaration,時(shí)間自動(dòng)機(jī)模板集合的節(jié)點(diǎn)template,對(duì)時(shí)間自動(dòng)機(jī)進(jìn)行聲明及實(shí)例化的節(jié)點(diǎn)system ;(2) declaration nta的下轄節(jié)點(diǎn),放置用戶定義的變量的聲明及初始化定義;(3) templatenta的下轄節(jié)點(diǎn),定義時(shí)間自動(dòng)機(jī)模板,其下轄以下節(jié)點(diǎn)· name :時(shí)間自動(dòng)機(jī)的名字;· declaration :時(shí)間自動(dòng)機(jī)局部變量,時(shí)鐘的聲明;· Parameters :時(shí)間自動(dòng)機(jī)的輸入?yún)?shù),在實(shí)例化中使用;· location :時(shí)間自動(dòng)機(jī)中的位置,在位置上設(shè)置屬性緊急urgent、不變量 invariant ;· transition :各個(gè)位置之間的遷移,包括遷移的起始位置source和目的位置 target,上面設(shè)置轉(zhuǎn)換條件guard,對(duì)變量的賦值update,時(shí)間自動(dòng)機(jī)之間的同步sync ;· init :定義時(shí)間自動(dòng)機(jī)的初始位置location ;(4) system nta的下轄節(jié)點(diǎn),對(duì)UPPAAL模型的時(shí)間自動(dòng)機(jī)模板進(jìn)行聲明及實(shí)例化;(5) Label 在時(shí)間自動(dòng)機(jī)的元模型定義中,時(shí)間自動(dòng)機(jī)位置(location)上的屬性以及狀態(tài)轉(zhuǎn)換(transition)上的條件(guard)、賦值(assignment)、同步(synchronization)都在元模型中的label節(jié)點(diǎn)中被描述。其中將TASM的整型、布爾型以及用戶自定義類型的數(shù)據(jù)類型轉(zhuǎn)換為UPPAAL模型中的有界整型一種數(shù)據(jù)類型,包含以下規(guī)則整型變量映射為UPPAAL中的int,布爾類型的變量boolean {False,True}映射到 UPPAAL中的類型為int
,即取值范圍為O或I的整型變量擁有η個(gè)取值el到en的用戶自定義變量User-defined type {el, e2, . . . . en}被映射到UPPAAL中的類型為int [O, n-1],即取值范圍為O到η-i的整型變量,其中el被映射到0,en被映射到n_l。其中所述主抽象機(jī)(main machine)與執(zhí)行規(guī)則的轉(zhuǎn)換方法包括以下規(guī)則主抽象機(jī)到UPPAAL時(shí)間自動(dòng)機(jī)(automata)的轉(zhuǎn)換每一個(gè)主抽象機(jī)對(duì)應(yīng)UPPAAL 中的一個(gè)時(shí)間自動(dòng)機(jī),為每一個(gè)時(shí)間自動(dòng)機(jī)定義一個(gè)中心緊急位置(urgent location) pivot以及時(shí)鐘變量c ;主抽象機(jī)規(guī)則的轉(zhuǎn)換方法在時(shí)間自動(dòng)機(jī)上為與其對(duì)應(yīng)抽象機(jī)的每一條規(guī)則定義一個(gè)中間位置,時(shí)間將在中間位置上消耗時(shí)間直到進(jìn)行狀態(tài)變遷,每一條規(guī)則的執(zhí)行被映射為UPPAAL時(shí)間自動(dòng)機(jī)中的兩個(gè)狀態(tài)變遷,其中,各種類型規(guī)則所對(duì)應(yīng)的轉(zhuǎn)換方法為I) 一般規(guī)則到UPPAAL的轉(zhuǎn)換
設(shè)一般規(guī)則為Ri = <Gi, t,Ei>,其中,Gi為規(guī)則Ri的約束條件(guard),t為Ri 的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ( tmax, Ei為規(guī)則的執(zhí)行動(dòng)作,對(duì)此規(guī)則, 定義中間位置Ri,定義從pivot到Ri的狀態(tài)變遷,約束條件為Gi,執(zhí)行動(dòng)作為重置時(shí)鐘,在位置Ri上定義時(shí)間不變量c < = tmax,定義從Ri到pivot的狀態(tài)變遷,約束條件定義為c >=tmin,執(zhí)行動(dòng)作為Ei ;2)帶有同步的一般規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)帶有同步的一般規(guī)則Ri = <Gi,t,Ei>,其中,Gi為規(guī)則Ri的約束條件(guard), t為Ri的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ^ tmax, Ei為下列語句Update ; Syn ;其中Update為除同步通信以外的動(dòng)作語句集合;Syn語句為同步通信語句,發(fā)送同步信號(hào)為“chan !”,接收同步信號(hào)為“chan ”,此規(guī)則,定義中間位置Ri,定義從pivot至Ij Ri的狀態(tài)變遷,約束條件為Gi,執(zhí)行動(dòng)作為重置時(shí)鐘,在位置Ri上定義時(shí)間不變量c < = tmax,定義緊急位置U,定義從Ri到U的狀態(tài)變遷,約束條件定義為c > = tmin,執(zhí)行動(dòng)作為Update,定義從位置U到pivot的狀態(tài)變遷,執(zhí)行動(dòng)作為Syn ;3)帶有t : = next時(shí)間結(jié)構(gòu)和else規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)規(guī)則Re =〈Ge, t,Ee>, 其中,Ge為空;t = next ;Ee為規(guī)則Re的執(zhí)行動(dòng)作,對(duì)此規(guī)則,定義中間位置Re,定義從 pivot到Re的狀態(tài)變遷,設(shè)抽象機(jī)的其它規(guī)則的約束條件Gl到Gn,定義狀態(tài)變遷的約束條件為!(Gl I IG2. . . I I Gn),定義從Re到pivot的狀態(tài)變遷,約束條件是(Gl | | G2. . . | | Gn), 執(zhí)行動(dòng)作為Ee,定義從Re到pivot狀態(tài)變遷上的緊急同步信道“cElse ”以及發(fā)送同步信號(hào)“cElse !”的時(shí)間自動(dòng)機(jī);4)帶有一般執(zhí)行時(shí)間表示的else規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)規(guī)則Re =〈Ge,t,Ee>, 其中,Ge為空;t為Re的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ( tmax ;Ee為規(guī)則Re 的執(zhí)行動(dòng)作,對(duì)于此規(guī)則,定義中間位置Re,定義從pivot到Re的狀態(tài)變遷,設(shè)抽象機(jī)的其它規(guī)則的約束條件Gl到Gn,定義狀態(tài)變遷的約束條件為! (Gl | | G2. . . | | Gn),執(zhí)行動(dòng)作為重置時(shí)鐘,在Re上定義時(shí)間不變量c < = tmax,定義從Re到pivot的狀態(tài)變遷,約束條件是c > = tmin,執(zhí)行動(dòng)作為Ee。5)帶有t = next時(shí)間結(jié)構(gòu)的一般規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)Ri =〈Gi, t, Ei>,其中,Gi為規(guī)則Ri的約束條件(guard) ;t為Ri的執(zhí)行施行時(shí)間被表示為t = next ;Ei為規(guī)則Ri的執(zhí)行動(dòng)作,對(duì)于此規(guī)則,定義中間位置Ri,定義Pivot到Ri的狀態(tài)變遷,約束條件是Gi,定義從Re到pivot的狀態(tài)變遷,約束條件是(Gl | | G2. . . | | Gn),執(zhí)行動(dòng)作為Ee,定義從Re到pivot狀態(tài)變遷上的緊急同步信道“urgent ”以及發(fā)送同步信號(hào)“urgent ! ”的時(shí)間自動(dòng)機(jī)。
圖I :模型轉(zhuǎn)換的總體框架圖2 =UPPAAL元模型結(jié)構(gòu)圖
具體實(shí)施例方式下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的說明本發(fā)明涉及到一個(gè)TASM2UPPAAL模型轉(zhuǎn)換工具,該模型轉(zhuǎn)換工具對(duì)任意TASM模型,都能自動(dòng)將其轉(zhuǎn)換到相應(yīng)的UPPAAL模型。該模型轉(zhuǎn)換工具的源語言TASM是一種廣泛應(yīng)用于軟、硬件系統(tǒng)設(shè)計(jì)的形式化描述語言,它支持嵌入式實(shí)時(shí)系統(tǒng)的功能行為、時(shí)間屬性以及資源消耗的描述和驗(yàn)證。該模型轉(zhuǎn)換工具的目標(biāo)模型UPPAAL是由瑞典Uppsala大學(xué)和丹麥Aazborg大學(xué)聯(lián)合開發(fā)的模型檢測(cè)工具。它以R. Alur和Dill提出的時(shí)間自動(dòng)機(jī) (Timed Automata)作為形式化理論基礎(chǔ),可以對(duì)以時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)為模型的實(shí)時(shí)系統(tǒng)進(jìn)行模擬和模型檢測(cè)。I)工具總體概述該模型轉(zhuǎn)換工具,基于ATL模型轉(zhuǎn)換技術(shù),要完成該模型轉(zhuǎn)換工具,定義源語言 TASM與目標(biāo)UPPAAL的元模型,元模型是以面向?qū)ο蟮乃枷朊枋鲆环N語言的語法結(jié)構(gòu),從而使模型轉(zhuǎn)換時(shí),能根據(jù)其相應(yīng)的語法元素,進(jìn)行相對(duì)應(yīng)的轉(zhuǎn)換。針對(duì)模型轉(zhuǎn)換的特點(diǎn),使用了 KM3重新描述了 UPPAAL的元模型(語法結(jié)構(gòu))。模型轉(zhuǎn)換的總體框架如圖I所示。2) UPPAAL 元模型根據(jù)模型轉(zhuǎn)換工具特性,使用KM3對(duì)其進(jìn)行了描述,如圖2是UPPAAL元模型的框架圖。(I) ntaUPPAAL模型的根節(jié)點(diǎn)。下轄節(jié)點(diǎn)包括對(duì)UPPAAL模型定義的普通變量,時(shí)鐘變量及同步通信信道進(jìn)行聲明的節(jié)點(diǎn)declaration ;時(shí)間自動(dòng)機(jī)模板集合的節(jié)點(diǎn)template ;對(duì)時(shí)間自動(dòng)機(jī)進(jìn)行聲明及實(shí)例化的節(jié)點(diǎn)system。(2)declarationNta的下轄節(jié)點(diǎn),放置用戶定義的變量的聲明及初始化定義。(3) templatenta的下轄節(jié)點(diǎn),其中定義時(shí)間自動(dòng)機(jī)模板,其下轄以下節(jié)點(diǎn)· name :時(shí)間自動(dòng)機(jī)的名字。· declaration :時(shí)間自動(dòng)機(jī)局部變量,時(shí)鐘的聲明?!?Parameters :時(shí)間自動(dòng)機(jī)的輸入?yún)?shù),在實(shí)例化中使用。· location :時(shí)間自動(dòng)機(jī)中的位置,在位置上可以設(shè)置屬性緊急urgent,不變量 invariant 等屬性。· transition :各個(gè)位置之間的遷移,包括遷移的起始位置(source)和目的位置 (target)。上面可以設(shè)置轉(zhuǎn)換條件(guard),對(duì)變量的賦值(update),時(shí)間自動(dòng)機(jī)之間的同步(sync)等?!?init :定義時(shí)間自動(dòng)機(jī)的初始位置(location)。(4)systemnta的下轄節(jié)點(diǎn),是對(duì)UPPAAL模型的時(shí)間自動(dòng)機(jī)模板進(jìn)行聲明及實(shí)例化。(5) Label在時(shí)間自動(dòng)機(jī)的元模型定義中,時(shí)間自動(dòng)機(jī)位置(location)上的屬性以及狀態(tài)轉(zhuǎn)換(transition)上的條件(guard)、賦值(assignment)、同步(synchronization)都在元模型中的label節(jié)點(diǎn)中被描述。3)模型轉(zhuǎn)換方法研究TASM中各語法元素到UPPAAL的模型轉(zhuǎn)換方法,其中包括,環(huán)境變量的轉(zhuǎn)換方法,主抽象機(jī)與執(zhí)行規(guī)則的轉(zhuǎn)換方法。3. I)環(huán)境變量的轉(zhuǎn)換方法TASM擁有更豐富的數(shù)據(jù)類型,包括整型、浮點(diǎn)型、布爾型以及用戶自定義類型等。 而UPPAAL模型中只有有界整型一種數(shù)據(jù)類型。由于浮點(diǎn)型是無法轉(zhuǎn)換的,所以待轉(zhuǎn)換的 TASM模型是不能包含浮點(diǎn)類型變量的定義的。而布爾型和用戶自定義類型的變量則可以被轉(zhuǎn)換為等價(jià)的有界整型變量。映射方式如下表I所示。表ITASM和UPPAAL數(shù)據(jù)類型映射關(guān)系
TASM數(shù)據(jù)類型UPPAAL數(shù)據(jù)類型integerintboolean{False,True}int
User-defined type{el,e2,.. ..en}int
整型變量映射為UPPAAL中的int,布爾類型的變量可以映射到UPPAAL中的類型為 int
即取值范圍為O或I的整型變量;擁有η個(gè)取值el到en的用戶自定義變量可以被映射到UPPAAL中的類型為int
即取值范圍為O到n_l的整型變量,el被映射到
O,en被映射到η-1。3. 2)主抽象機(jī)與執(zhí)行規(guī)則的轉(zhuǎn)換方法一個(gè)TASM模型可以包含多個(gè)主抽象機(jī)(main machine,下文簡(jiǎn)稱抽象機(jī)),這些抽象機(jī)在執(zhí)行時(shí)是并發(fā)執(zhí)行的。這與時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)的執(zhí)行模型十分相似。在建立映射規(guī)則時(shí),每一個(gè)抽象機(jī)都對(duì)應(yīng)一個(gè)時(shí)間自動(dòng)機(jī)。抽象機(jī)的并發(fā)執(zhí)行模型就對(duì)應(yīng)于時(shí)間自動(dòng)機(jī)網(wǎng)絡(luò)的并發(fā)執(zhí)行模型。而TASM中每一次規(guī)則的執(zhí)行(即一次狀態(tài)變遷)的效果在其作用于環(huán)境之前是需要消耗時(shí)間的,這與時(shí)間自動(dòng)機(jī)在狀態(tài)變遷中不消耗時(shí)間的語義是不同的,而這兩種時(shí)間表示方法的表達(dá)能力是相同的。在建立映射規(guī)則時(shí),我們可以為每一個(gè)時(shí)間自動(dòng)機(jī)定義一個(gè)中心位置pivot以及時(shí)鐘變量c,中心位置被定義為緊急位置(urgent location),表示在此位置上不消耗時(shí)間;在時(shí)間自動(dòng)機(jī)上為與其對(duì)應(yīng)抽象機(jī)的每一條規(guī)則定義一個(gè)中間位置,時(shí)間將在中間位置上消耗時(shí)間直到可以進(jìn)行狀態(tài)變遷。每一條規(guī)則的執(zhí)行可以被映射為UPPAAL時(shí)間自動(dòng)機(jī)中的兩個(gè)狀態(tài)變遷。抽象機(jī)的每一條規(guī)則與時(shí)間自動(dòng)機(jī)的映射規(guī)則(即一般規(guī)則到UPPAAL的轉(zhuǎn)換) 如下表2所示。設(shè)一般規(guī)則為Ri = <Gi, t,Ei>,其中,Gi為規(guī)則Ri的約束條件(guard),t為Ri 的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ( tmax, Ei為規(guī)則的執(zhí)行動(dòng)作,對(duì)此規(guī)則, 定義中間位置Ri,定義從pivot到Ri的狀態(tài)變遷,約束條件為Gi,執(zhí)行動(dòng)作為重置時(shí)鐘,在位置Ri上定義時(shí)間不變量c < = tmax,定義從Ri到pivot的狀態(tài)變遷,約束條件定義為c >=tmin,執(zhí)行動(dòng)作為Ei0表2 —般規(guī)則到UPPAAL的轉(zhuǎn)換
權(quán)利要求
1.一種模型轉(zhuǎn)換方法,用于將TASM模型轉(zhuǎn)換為UPPAAL模型,其特征在于使用KM3描述目標(biāo)語言UPPAAL的元模型;針對(duì)TASM模型的環(huán)境變量與抽象機(jī),執(zhí)行規(guī)則語法元素,使用環(huán)境變量的轉(zhuǎn)換方法和主抽象機(jī)與執(zhí)行規(guī)則的轉(zhuǎn)換方法,將TASM模型轉(zhuǎn)換為UPPAAL模型。
2.根據(jù)權(quán)利要求I所述的模型轉(zhuǎn)換方法,其特征在于所述UPPAAL的元模型包括(1)ntaUPPAAL模型的根節(jié)點(diǎn),下轄節(jié)點(diǎn)包括對(duì)UPPAAL模型定義的普通變量、時(shí)鐘變量及同步通信信道進(jìn)行聲明的節(jié)點(diǎn)declaration,時(shí)間自動(dòng)機(jī)模板集合的節(jié)點(diǎn)template,對(duì)時(shí)間自動(dòng)機(jī)進(jìn)行聲明及實(shí)例化的節(jié)點(diǎn)system ;(2)declarationnta的下轄節(jié)點(diǎn),放置用戶定義的變量的聲明及初始化定義;(3)templatenta的下轄節(jié)點(diǎn),定義時(shí)間自動(dòng)機(jī)模板,其下轄以下節(jié)點(diǎn) name :時(shí)間自動(dòng)機(jī)的名字; declaration :時(shí)間自動(dòng)機(jī)局部變量,時(shí)鐘的聲明; Parameters :時(shí)間自動(dòng)機(jī)的輸入?yún)?shù),在實(shí)例化中使用; location :時(shí)間自動(dòng)機(jī)中的位置,在位置上設(shè)置屬性緊急urgent、不變量 invariant ; transition :各個(gè)位置之間的遷移,包括遷移的起始位置source和目的位置 target,上面設(shè)置轉(zhuǎn)換條件guard,對(duì)變量的賦值update,時(shí)間自動(dòng)機(jī)之間的同步sync ; init :定義時(shí)間自動(dòng)機(jī)的初始位置location ;(4)systemnta的下轄節(jié)點(diǎn),對(duì)UPPAAL模型的時(shí)間自動(dòng)機(jī)模板進(jìn)行聲明及實(shí)例化;(5)Label在時(shí)間自動(dòng)機(jī)的元模型定義中,時(shí)間自動(dòng)機(jī)位置(location)上的屬性以及狀態(tài)轉(zhuǎn)換 (transition)上的條件(guard)、賦值(assignment)、同步(synchronization)都在元模型中的label節(jié)點(diǎn)中被描述。
3.根據(jù)權(quán)利要求I所述的模型轉(zhuǎn)換方法,其特征在于將TASM的整型、布爾型以及用戶自定義類型的數(shù)據(jù)類型轉(zhuǎn)換為UPPAAL模型中的有界整型一種數(shù)據(jù)類型,包含以下規(guī)則整型變量映射為UPPAAL中的int,布爾類型的變量boolean {False,True}映射到 UPPAAL中的類型為int
,即取值范圍為O或I的整型變量;擁有η個(gè)取值el到en的用戶自定義變量User-defined type {el, e2,. . · · en}被映射到UPPAAL中的類型為int [O, n-1],即取值范圍為O到η-i的整型變量,其中el被映射到0,en被映射到n_l。
4.根據(jù)權(quán)利要求I所述的模型轉(zhuǎn)換方法,其特征在于所述主抽象機(jī)(mainmachine) 與執(zhí)行規(guī)則的轉(zhuǎn)換方法包括以下規(guī)則主抽象機(jī)到UPPAAL時(shí)間自動(dòng)機(jī)(automata)的轉(zhuǎn)換每一個(gè)主抽象機(jī)對(duì)應(yīng)UPPAAL中的一個(gè)時(shí)間自動(dòng)機(jī),為每一個(gè)時(shí)間自動(dòng)機(jī)定義一個(gè)中心緊急位置(urgent location)pivot以及時(shí)鐘變量c ;主抽象機(jī)規(guī)則的轉(zhuǎn)換方法在時(shí)間自動(dòng)機(jī)上為與其對(duì)應(yīng)抽象機(jī)的每一條規(guī)則定義一個(gè)中間位置,時(shí)間將在中間位置上消耗時(shí)間直到進(jìn)行狀態(tài)變遷,每一條規(guī)則的執(zhí)行被映射為 UPPAAL時(shí)間自動(dòng)機(jī)中的兩個(gè)狀態(tài)變遷,其中,各種類型規(guī)則所對(duì)應(yīng)的轉(zhuǎn)換方法為1)一般規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)一般規(guī)則為Ri = <Gi,t,Ei>,其中,Gi為規(guī)則Ri的約束條件(guard),t為Ri的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ( tmax, Ei為規(guī)則的執(zhí)行動(dòng)作,對(duì)此規(guī)則,定義中間位置Ri,定義從pivot到Ri的狀態(tài)變遷,約束條件為Gi,執(zhí)行動(dòng)作為重置時(shí)鐘,在位置 Ri上定義時(shí)間不變量c < = tmax,定義從Ri到pivot的狀態(tài)變遷,約束條件定義為c > = tmin,執(zhí)行動(dòng)作為Ei ;2)帶有同步的一般規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)帶有同步的一般規(guī)則Ri = <Gi,t,Ei>,其中,Gi為規(guī)則Ri的約束條件(guard), t為 Ri的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ^ tmax, Ei為下列語句Update ;Syn ;其中Update為除同步通信以外的動(dòng)作語句集合;Syn語句為同步通信語句,發(fā)送同步信號(hào)為 “chan ! ”,接收同步信號(hào)為“chan ”,此規(guī)則,定義中間位置Ri,定義從pivot到Ri的狀態(tài)變遷,約束條件為Gi,執(zhí)行動(dòng)作為重置時(shí)鐘,在位置Ri上定義時(shí)間不變量c < = tmax,定義緊急位置U,定義從Ri到U的狀態(tài)變遷,約束條件定義為c >= tmin,執(zhí)行動(dòng)作為Update, 定義從位置U到pivot的狀態(tài)變遷,執(zhí)行動(dòng)作為Syn ;3)帶有t = next時(shí)間結(jié)構(gòu)和else規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)規(guī)則Re =〈Ge, t, Ee>, 其中,Ge為空;t = next ;Ee為規(guī)則Re的執(zhí)行動(dòng)作,對(duì)此規(guī)則,定義中間位置Re,定義從 pivot到Re的狀態(tài)變遷,設(shè)抽象機(jī)的其它規(guī)則的約束條件Gl到Gn,定義狀態(tài)變遷的約束條件為!(Gl I IG2. . . I I Gn),定義從Re到pivot的狀態(tài)變遷,約束條件是(G11 | G2. . . | | Gn), 執(zhí)行動(dòng)作為Ee,定義從Re到pivot狀態(tài)變遷上的緊急同步信道“cElse ”以及發(fā)送同步信號(hào)“cElse ! ”的時(shí)間自動(dòng)機(jī);4)帶有一般執(zhí)行時(shí)間表示的else規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)規(guī)則Re=〈Ge,t,Ee>,其中,Ge為空;t為Re的執(zhí)行時(shí)間,被表示為t = [tmin, tmax], tmin ( tmax ;Ee為規(guī)則Re 的執(zhí)行動(dòng)作,對(duì)于此規(guī)則,定義中間位置Re,定義從pivot到Re的狀態(tài)變遷,設(shè)抽象機(jī)的其它規(guī)則的約束條件Gl到Gn,定義狀態(tài)變遷的約束條件為!(Gl I IG2. . . I I Gn),執(zhí)行動(dòng)作為重置時(shí)鐘,在Re上定義時(shí)間不變量c < = tmax,定義從 Re到pivot的狀態(tài)變遷,約束條件是c > = tmin,執(zhí)行動(dòng)作為Ee ;5)帶有t= next時(shí)間結(jié)構(gòu)的一般規(guī)則到UPPAAL的轉(zhuǎn)換設(shè)Ri = <Gi,t,Ei>,其中,Gi 為規(guī)則Ri的約束條件(guard) ;t為Ri的執(zhí)行施行時(shí)間被表示為t = next ;Ei為規(guī)則Ri 的執(zhí)行動(dòng)作,對(duì)于此規(guī)則,定義中間位置Ri,定義Pivot到Ri的狀態(tài)變遷,約束條件是Gi, 定義從Re到pivot的狀態(tài)變遷,約束條件是(Gl| G2. . . | I Gn),執(zhí)行動(dòng)作為Ee,定義從Re 到pivot狀態(tài)變遷上的緊急同步信道“urgent ”以及發(fā)送同步信號(hào)“urgent ! ”的時(shí)間自動(dòng)機(jī)。
全文摘要
本發(fā)明涉及一種模型轉(zhuǎn)換方法,用于將TASM模型轉(zhuǎn)換為UPPAAL模型,使用KM3描述目標(biāo)語言UPPAAL的元模型;針對(duì)TASM模型的環(huán)境變量與抽象機(jī),執(zhí)行規(guī)則語法元素,使用環(huán)境變量的轉(zhuǎn)換方法和主抽象機(jī)與執(zhí)行規(guī)則的轉(zhuǎn)換方法,將TASM模型轉(zhuǎn)換為UPPAAL模型。
文檔編號(hào)G06F9/44GK102609260SQ201210027759
公開日2012年7月25日 申請(qǐng)日期2012年2月8日 優(yōu)先權(quán)日2012年2月8日
發(fā)明者姜泮昌, 張騰, 楊志斌, 胡凱, 蔣樹, 顧斌 申請(qǐng)人:北京航空航天大學(xué)