亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SysML 狀態(tài)圖合理性驗(yàn)證研究與實(shí)現(xiàn)

        2014-03-13 07:01:38俞曉鋒王立松
        電子科技 2014年5期
        關(guān)鍵詞:狀態(tài)圖單鏈用例

        俞曉鋒,王立松

        (南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)

        SysML(Systems Modeling Language)[1]是UML 在系統(tǒng)工程應(yīng)用領(lǐng)域的延續(xù)和拓展。與其他建模語(yǔ)言一樣,SysML 是一種通用標(biāo)準(zhǔn)建模語(yǔ)言。

        隨著應(yīng)用系統(tǒng)越發(fā)復(fù)雜,系統(tǒng)的任意環(huán)節(jié)均可能會(huì)影響到系統(tǒng)的整體運(yùn)行。例如民航業(yè)務(wù)系統(tǒng),作為一個(gè)巨大的系統(tǒng),不能保證其對(duì)象在整個(gè)生命期內(nèi)均能安全穩(wěn)健運(yùn)行,而一旦出現(xiàn)異常狀況會(huì)造成巨大的經(jīng)濟(jì)損失。用SysML 建??沙橄蟊硎緫?yīng)用系統(tǒng)的對(duì)象,本文研究的對(duì)象是類模型中某個(gè)主動(dòng)類的實(shí)例,通過驗(yàn)證行為模型來模擬出對(duì)象在生命期內(nèi)的運(yùn)行過程,用這種方式來演練其實(shí)現(xiàn)的每一個(gè)用例場(chǎng)景。SysML 狀態(tài)圖用于建立類對(duì)象在其生命期內(nèi)的行為模型,尤其是當(dāng)對(duì)象具有依賴于狀態(tài)的行為。

        SysML 和UML 一樣,為保持描述的清晰易懂,在給出自身語(yǔ)義說明的同時(shí),采用半形式化的描述方法,使用自然語(yǔ)言表示約束和語(yǔ)義,力求實(shí)現(xiàn)形式化與易于理解之間的平衡。因此,SysML 本身缺乏分析和驗(yàn)證的手段,針對(duì)這一問題,本文對(duì)SysML 狀態(tài)圖進(jìn)行拓展,使用SCXML(State Chart XML)[2]作為SysML 狀態(tài)圖的形式化描述語(yǔ)言并引用動(dòng)作規(guī)約語(yǔ)言[3](Action Specification Language,ASL)描述狀態(tài)圖對(duì)象的行為動(dòng)作。其中ASL 是WilKie 等人在2002 年提出的平臺(tái)無關(guān)動(dòng)作描述語(yǔ)言,其提供了操作平臺(tái)無關(guān)模型元素的方法。通過使用SCXML 和ASL 可建立精確無歧義的行為模型,并在此基礎(chǔ)上進(jìn)行分析驗(yàn)證。

        SysML 狀態(tài)圖的體系結(jié)構(gòu)驗(yàn)證無需考慮業(yè)務(wù)需求的偏好,使用Kripke 結(jié)構(gòu)可表示對(duì)象的狀態(tài)空間。由于SCXML 可表示SysML 狀態(tài)圖體系結(jié)構(gòu)的所有信息,根據(jù)Kripke 結(jié)構(gòu)可方便構(gòu)造出SysML 狀態(tài)圖的對(duì)象狀態(tài)遷移圖,通過對(duì)象狀態(tài)遷移圖給出性能需求的形式化表示和驗(yàn)證算法[4]。在業(yè)務(wù)需求驗(yàn)證方面,主要考察對(duì)象在生命期內(nèi)的行為過程是否與用例時(shí)序圖一致,本文采用事件信號(hào)驅(qū)動(dòng)機(jī)制來捕獲對(duì)象的行為軌跡。

        1 SysML 狀態(tài)圖體系結(jié)構(gòu)驗(yàn)證

        1.1 SysML 狀態(tài)圖語(yǔ)義

        為便于描述,本文在遵從對(duì)象管理組織SysML 規(guī)范[5]的前提下重新定義了一些狀態(tài)圖語(yǔ)義的形式化表示方式,包括順序自動(dòng)機(jī)、層次自動(dòng)機(jī)、單元以及層次自動(dòng)機(jī)的操作語(yǔ)義。

        驗(yàn)證SysML 狀態(tài)圖的體系結(jié)構(gòu),首先將狀態(tài)圖轉(zhuǎn)化為層次自動(dòng)機(jī)(HA),其由順序自動(dòng)機(jī)(SA)組成。

        定義2 HA=(F,E),F(xiàn) 是有窮順序自動(dòng)機(jī)集合;?SA1,SA2∈F,ΨSA1∩ΨSA2=Φ,E 是有窮事件集合。

        HA 中的全局狀態(tài)由單元表示,一個(gè)單元既可以代表一個(gè)基本狀態(tài)又可代表一個(gè)復(fù)合狀態(tài),每個(gè)復(fù)合狀態(tài)由某個(gè)簡(jiǎn)單順序自動(dòng)機(jī)的基本狀態(tài)組成。

        在SysML 狀態(tài)圖中,每個(gè)狀態(tài)由單元和當(dāng)前環(huán)境組成,環(huán)境包括事件環(huán)境和變量環(huán)境,對(duì)于事件環(huán)境E,ΘE 表示事件隊(duì)列的所有可能情況,對(duì)于變量環(huán)境V;ΘV 表示變量所有可能取值。下面用標(biāo)記轉(zhuǎn)換系統(tǒng)(LTS)對(duì)HA 定義操作語(yǔ)義。

        定義4 HA 的操作語(yǔ)義是一個(gè)LTS OP=(S,S0,→),其中S=CellHA×ΘE×ΘV 是狀態(tài)集合,S0是初始狀態(tài)集合,→=S×S 是狀態(tài)遷移集合。

        1.2 通過SCXML 構(gòu)造對(duì)象狀態(tài)遷移圖

        Kripke 結(jié)構(gòu)是一個(gè)4 元組,K=(CellHA,→,L,Cell0),其中,是初始單元的合集;(Cell1,Cell2)∈→表示存在從Cell1到Cell2的遷移,假設(shè)→中的遷移互不相同;L∶CellHA→2AP為每個(gè)單元標(biāo)注一組原子命題。

        本文采用鄰接表來實(shí)現(xiàn)Kripke 結(jié)構(gòu),實(shí)例如圖1所示。

        圖中Vs1,Vs2,Vs3,Vs4∈CellHA,所有鄰接于Vsi的頂點(diǎn)Sj鏈成一條單鏈表,其中Vsi,Sj∈CellHA,?i ∈{1,…,num},此例中num 取4。

        根據(jù)定義4,給出s∈S 的SCXML 表示,其中e1,…,en∈E,a1…,am∈V)。

        圖1 用鄰接表表示Kripke 結(jié)構(gòu)的實(shí)例

        從SCXML 可知SysML 狀態(tài)圖的操作語(yǔ)義,結(jié)合Kripke 結(jié)構(gòu),便能構(gòu)造出對(duì)象狀態(tài)遷移圖G。G 是具有SysML 狀態(tài)圖操作語(yǔ)義的Kripke 結(jié)構(gòu)的抽象表示[10-11]。

        生成對(duì)象狀態(tài)遷移圖G 的步驟如下:(1)初始化鄰接表。(2)從SCXML 中讀取Vsi∈CellHA和變量V 存放到鄰接表的頂點(diǎn)域里。(3)從SCXML 中讀取Vsi的遷移目標(biāo)狀態(tài)存放到鄰接于Vsi的單鏈表里。(4)從SCXML 中讀取Vsi的事件E 存放到與Sji對(duì)應(yīng)的鏈接域里。(5)重復(fù)步驟(1)~步驟(3)直到讀取完SCXML 中所有的Vsi。(6)對(duì)象狀態(tài)遷移圖G 生成完成,算法結(jié)束。

        1.3 性能需求驗(yàn)證的標(biāo)準(zhǔn)

        SysML 狀態(tài)圖是否滿足性能需求指主動(dòng)類對(duì)象能否安全地運(yùn)行完整個(gè)生命期[6-9],即保證對(duì)象能夠安全地創(chuàng)建、銷毀并且在生命期內(nèi)不存在死鎖。根據(jù)這個(gè)要求,本文定義了G 的3 大安全性條件并給出了相關(guān)的推論和證明。

        推論1 滿足條件1 和條件2 的狀態(tài)圖是符合狀態(tài)可達(dá)的,即狀態(tài)圖中任意一個(gè)狀態(tài)都是可達(dá)的。

        條件3 tsi=(s1,s2,…,sj)∈{ts1,…,tsn}是對(duì)象的其中一條并發(fā)遷移序列,則ts1∩…∩tsi∩…∩tsn?{o},其中o 為終止?fàn)顟B(tài)。該條件表明對(duì)象收到銷毀信號(hào)時(shí),不可能存在該對(duì)象產(chǎn)生的某個(gè)或多個(gè)子對(duì)象還未銷毀的情況,否則子對(duì)象會(huì)一直存在于系統(tǒng)中占用資源。保證了對(duì)象被安全銷毀。

        在驗(yàn)證性能需求時(shí),使用G 的安全性作為正確性標(biāo)準(zhǔn)。

        1.4 性能需求的驗(yàn)證算法

        本文定義了兩種異常狀態(tài),分別取名為“奇跡”狀態(tài)和“黑洞”狀態(tài)。

        定義5 “奇跡”狀態(tài)是一種只有遷移出,沒有遷移入的非初始狀態(tài)。對(duì)象處于這種狀態(tài)時(shí)說明它沒有被正確創(chuàng)建。

        定義6 “黑洞”狀態(tài)是一種只有遷移入,沒有遷移出的非終止?fàn)顟B(tài)。對(duì)象處于這種狀態(tài)說明它已經(jīng)陷入死鎖。

        由推論1 可知,SysML 狀態(tài)圖不能存在“奇跡”和“黑洞”狀態(tài),驗(yàn)證算法:(1)遍歷G 的頂點(diǎn)域Vsi,判斷該頂點(diǎn)域的單鏈表是否為空,如果為空并且該頂點(diǎn)域中的狀態(tài)不是終止?fàn)顟B(tài),則存在“黑洞”狀態(tài),標(biāo)記異常,否則符合安全性的條件1。(2)遍歷G 的頂點(diǎn)域Vsi,如果該頂點(diǎn)域的單鏈表非空,則遍歷該單鏈表,并給單鏈表中的每個(gè)Sji標(biāo)記上后繼標(biāo)志。(3)在步驟(2)的基礎(chǔ)上重新遍歷頂點(diǎn)域Vsi,判斷頂點(diǎn)域中的狀態(tài)是否有后繼標(biāo)志,如果沒有并且該狀態(tài)不是初始狀態(tài),則存在“奇跡”狀態(tài),標(biāo)記異常,否則符合安全性的條件2。(4)如果終止?fàn)顟B(tài)的前繼狀態(tài)只有1 個(gè),則符合安全性的條件3,直接跳到步驟(8),否則進(jìn)行步驟(5)~步驟(7)。(5)遍歷G 的頂點(diǎn)域Vsi,判斷頂點(diǎn)域中的狀態(tài)類型,如果為FORK 偽狀態(tài),則給該單鏈表中的每個(gè)Sji標(biāo)記上活動(dòng)標(biāo)志,如果為JOIN 偽狀態(tài),則清除頂點(diǎn)域中狀態(tài)的活動(dòng)標(biāo)記。(6)如果頂點(diǎn)域Vsi中的狀態(tài)具有活動(dòng)標(biāo)志,則給該單鏈表中的每個(gè)Sji標(biāo)記上活動(dòng)標(biāo)志。(7)在步驟(5)和步驟(6)的基礎(chǔ)上重新遍歷G的頂點(diǎn)域Vsi,判斷頂點(diǎn)域中的狀態(tài)類型,如果為終止?fàn)顟B(tài)并且具有活動(dòng)標(biāo)記,說明不符合安全性的條件3,標(biāo)記異常,否則符合安全性的條件3。(8)如果條件1 ~條件3 都滿足,則該SysML 狀態(tài)圖的性能需求是合理的。

        2 SysML 狀態(tài)圖業(yè)務(wù)需求驗(yàn)證

        2.1 業(yè)務(wù)需求驗(yàn)證標(biāo)準(zhǔn)

        一個(gè)用例從黑盒的、外部的角度描述了系統(tǒng)對(duì)象的一次生命過程。用它可推斷對(duì)象對(duì)請(qǐng)求或激勵(lì)做出何種響應(yīng)。全體用例和它們的相關(guān)場(chǎng)景,可以完全刻畫對(duì)象所需的功能性行為,使得絕大多數(shù)業(yè)務(wù)需求得以體現(xiàn)。用例時(shí)序圖是用戶希望系統(tǒng)所能產(chǎn)生的行為交互過程,它在建模過程中被用來當(dāng)成系統(tǒng)的標(biāo)準(zhǔn)黑箱視圖。一個(gè)用例場(chǎng)景對(duì)應(yīng)一個(gè)用例時(shí)序圖。本文采用Moore 狀態(tài)機(jī)原型,在狀態(tài)圖模型描述某個(gè)主動(dòng)類對(duì)象的行為過程中,當(dāng)對(duì)象接收到外部激勵(lì)信號(hào)時(shí)所表現(xiàn)的行為由對(duì)象所在狀態(tài)的入口動(dòng)作決定,它由ASL 進(jìn)行描述,此時(shí)對(duì)象可能會(huì)在自導(dǎo)信號(hào)的作用下轉(zhuǎn)移到新的狀態(tài)也有可能停留在原狀態(tài)等待新的外部激勵(lì),對(duì)象在這兩種情況下產(chǎn)生收發(fā)信號(hào)事件的序列。通過判斷信號(hào)事件序列是否符合預(yù)期定義的事件序列來驗(yàn)證狀態(tài)圖的業(yè)務(wù)需求。

        2.2 業(yè)務(wù)需求驗(yàn)證設(shè)計(jì)方法

        每個(gè)對(duì)象維持一個(gè)信號(hào)事件隊(duì)列,根據(jù)這個(gè)特點(diǎn)設(shè)計(jì)信號(hào)事件驅(qū)動(dòng)機(jī)制來執(zhí)行狀態(tài)圖,設(shè)計(jì)的信號(hào)事件驅(qū)動(dòng)結(jié)構(gòu)如圖2 所示。

        圖2 信號(hào)事件驅(qū)動(dòng)框架

        事件消費(fèi)類中的事件處理函數(shù)為狀態(tài)的入口動(dòng)作,事件類中產(chǎn)生的信號(hào)包括外部信號(hào)事件和自導(dǎo)信號(hào),狀態(tài)解析引擎將狀態(tài)圖轉(zhuǎn)換為由SCXML 和ASL表示的精確描述的PIM 代碼。如果狀態(tài)驗(yàn)證沒有完成,整個(gè)驅(qū)動(dòng)引擎將一直處于循環(huán)狀態(tài),將驅(qū)動(dòng)引擎生命期內(nèi)對(duì)象所產(chǎn)生的信號(hào)事件序列與預(yù)期的用例時(shí)序圖作對(duì)比,就可以判斷出狀態(tài)圖是否滿足業(yè)務(wù)需求。

        對(duì)象在執(zhí)行過程中所產(chǎn)生的Event 序列,如果與預(yù)期定義的用例時(shí)序圖中的事件交互順序不一致,則表明對(duì)象業(yè)務(wù)需求未得到滿足。

        3 實(shí)驗(yàn)驗(yàn)證

        文中驗(yàn)證了一個(gè)列車管理域模型,該域的類模型如圖3 所示。

        圖3 列車管理的類圖

        由類圖可知,一個(gè)列車運(yùn)行的一個(gè)路段(Hop)包括多個(gè)加速曲線(AccelerationCurve)。

        對(duì)AccelerationCurve 的對(duì)象建立如圖4 所示的狀態(tài)圖。

        圖4 AccelerationCurve 對(duì)象的狀態(tài)圖

        分別為MaintainingAccelerationCurve 狀態(tài)和A ccelerationCurveComplete 狀態(tài)添加用入口動(dòng)作,下面給出用ASL 描述的MaintainingAccelerationCurve 狀態(tài)的入口動(dòng)作,整個(gè)入口動(dòng)作用于判斷AccelerationCurve對(duì)象是否到達(dá)了加速曲線終點(diǎn)。

        AccelerationCurveComplete 狀態(tài)中的入口動(dòng)作描述了列車如何從一個(gè)加速曲線過度到另個(gè)一個(gè)加速曲線。

        運(yùn)行信號(hào)事件驅(qū)動(dòng)框架,在狀態(tài)解析部分驗(yàn)證了狀態(tài)圖的體系結(jié)構(gòu),SCXML 表示的體系結(jié)構(gòu)滿足條件1 ~條件3,AccelerationCurve 對(duì)象的性能需求合理。

        用ASL 來表示外部激勵(lì)信號(hào),該信號(hào)模擬了Hop對(duì)象對(duì)AccelerationCurve 對(duì)象的激勵(lì)。

        在輸入事件觸發(fā)按鈕響應(yīng)的對(duì)話框中輸入用ASL描述的測(cè)試?yán)?generate performCurve()to theAccelerationCurve。如圖5 所示。

        圖5 狀態(tài)圖業(yè)務(wù)需求驗(yàn)證

        點(diǎn)擊確定后得到對(duì)象在生命期內(nèi)的行為過程,執(zhí)行結(jié)果如圖6 所示。

        圖6 AccelerationCurve 對(duì)象的執(zhí)行結(jié)果

        從執(zhí)行信息里可了解到該對(duì)象在其生命期內(nèi)的信號(hào)事件序列,它表示對(duì)象在經(jīng)過速度調(diào)節(jié)之后到達(dá)了路段的終點(diǎn),并向Hop 對(duì)象發(fā)送了完成信號(hào)。將其與預(yù)期的用例時(shí)序圖做比較,就可以判斷出狀態(tài)圖是否表現(xiàn)出了應(yīng)有的業(yè)務(wù)需求。

        4 結(jié)束語(yǔ)

        本文給出了一種驗(yàn)證SysML 狀態(tài)圖合理性的實(shí)現(xiàn)方案。用SCXML 和ASL 精確無歧義描述SysML 狀態(tài)圖,通過信號(hào)事件驅(qū)動(dòng)機(jī)制完成體系結(jié)構(gòu)和業(yè)務(wù)需求的驗(yàn)證。

        將SysML 狀態(tài)圖作為行為模型并不完全[7-9],而且在體系結(jié)構(gòu)驗(yàn)證部分沒有考慮并發(fā)工作流和時(shí)序邏輯[10]方面的內(nèi)容。本文以后的一個(gè)研究方向是:對(duì)SysML 狀態(tài)圖進(jìn)行時(shí)間拓展,給出拓展后的SysML 狀態(tài)圖到時(shí)間自動(dòng)機(jī)的過程,使用時(shí)間計(jì)算樹邏輯[11]表示時(shí)序約束,并驗(yàn)證時(shí)序約束的一致性。

        [1] 蔣彩云,王維平,李群.SysML:一種新的系統(tǒng)建模語(yǔ)言[J].系統(tǒng)仿真學(xué)報(bào),2006,18(6):1483-1487,1492.

        [2] JIM B G.State chart XML(SCXML):state machine notation for control abstraction[S].USA:Voice Browser,2013.

        [3] CHRIS R,PAUL F.Model driven architecture with executable UML[M].北京:機(jī)械工業(yè)出版社,2006.

        [4] 陸公正.基于UML 狀態(tài)圖的工作流建模與驗(yàn)證[D].蘇州:蘇州大學(xué),2006.

        [5] VERBEEK H M W.Diagnosing workflow process using woflan[J].Computer Journal,2001,44(4):246-279.

        [6] KWON G.Rewrite rules and operational semantics for model checking UML statecharts[C].Berlin:Lecture Notes In Computer Science,Springer,2000.

        [7] GNESI S,MAZZANTI F.A model checking verification environment for UML statecharts[C].Udine:XLIII Annual Italian Conference AICA,IEEE Computer Society,2005.

        [8] ESHUIS R.Symbolic model checking of UML activity diagrams[J].ACM Transactions on Software Engineering and Methodology,2006(15):1-38.

        [9] 李廣元,唐稚松.基于線性時(shí)序邏輯的實(shí)時(shí)系統(tǒng)模型檢查[J].軟件學(xué)報(bào),2002,13(2):193-202.

        [10]ALUR R,HENZINGER T A.Logics and models of real time:a survey[M].Berlin:Springer-Verlag,1992.

        [11]杜杰,江國(guó)華.基于模型檢測(cè)的UML 狀態(tài)圖和順序圖一致性檢測(cè)[J].電子科技,2012,25(2):100-104.

        猜你喜歡
        狀態(tài)圖單鏈用例
        基于ASP.NET的高校畢業(yè)論文管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        關(guān)于我放寒假后的真實(shí)狀態(tài)
        基于Web 的高校資產(chǎn)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        UML用例模型中依賴關(guān)系的比較與分析
        逐步添加法制備單鏈環(huán)狀DNA的影響因素探究*
        聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
        從出土文獻(xiàn)用例看王氏父子校讀古書的得失
        鹽酸克倫特羅生物素化單鏈抗體在大腸埃希氏菌中的表達(dá)
        急性淋巴細(xì)胞白血病單鏈抗體(scFv)的篩選與鑒定
        基于UML狀態(tài)圖的軟件系統(tǒng)測(cè)試用例生成方法
        人成午夜免费大片| 久久精品www人人爽人人| 亚洲色大成网站www久久九| 久久噜噜噜| 日本精品人妻一区二区三区| 中文字幕人妻在线少妇| 免费视频爱爱太爽了| 亚欧AV无码乱码在线观看性色| 国产成人综合久久三区北岛玲| 一区二区高清视频免费在线观看 | 国产流白浆视频在线观看| 人妻无码一区二区不卡无码av| 亚洲日韩欧美一区二区三区| 青青草极品视频在线播放| 中文字幕在线乱码亚洲| 成人做受黄大片| 久久亚洲黄色| 国产精品视频免费一区二区三区 | 日韩精品一区二区三区含羞含羞草| 精品国产亚洲av麻豆| 无码免费一区二区三区| 中年人妻丰满AV无码久久不卡| 蜜桃一区二区三区在线视频| 日本丰满少妇xxxx| 日本不卡在线视频二区三区| 亚洲欧洲日产国码无码| 亚洲岛国一区二区三区| 亚洲无线码一区二区三区| 无码少妇一级AV便在线观看| 在线播放中文字幕一区二区三区| 国语对白福利在线观看| 久久人与动人物a级毛片| 呦泬泬精品导航| 天涯成人国产亚洲精品一区av| 小辣椒福利视频导航| 欧美另类视频在线| 亚洲天堂一区二区精品| 色偷偷色噜噜狠狠网站30根| 99久久国产露脸精品竹菊传媒| 国产成人精品无码一区二区老年人| 国产精品成人av一区二区三区|