国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于WF StateMachine的UML狀態(tài)圖動態(tài)構(gòu)建與測試

2018-09-26 10:21孔令東
軟件工程 2018年6期
關(guān)鍵詞:狀態(tài)圖

摘 要:采用UML分析與設(shè)計的業(yè)務(wù)信息系統(tǒng),業(yè)務(wù)流程經(jīng)過層層的抽象迭代,缺乏一種透明的業(yè)務(wù)流程實(shí)現(xiàn)。WF提供了可視化的業(yè)務(wù)過程編程模型,便于實(shí)現(xiàn)業(yè)務(wù)流程自動化,在對比分析WF State Machine和UML狀態(tài)圖的基礎(chǔ)上,研究從UML狀態(tài)圖到WF State Machine業(yè)務(wù)流程映射關(guān)系,選取UML中典型狀態(tài)圖,依據(jù)一定的命名轉(zhuǎn)換規(guī)則,實(shí)現(xiàn)了從UML狀態(tài)圖分析設(shè)計到WF狀態(tài)機(jī)業(yè)務(wù)過程可視化的構(gòu)建,完成了動態(tài)測試。

關(guān)鍵詞:WF;State Machine;UML;狀態(tài)圖

中圖分類號:TP311.51 文獻(xiàn)標(biāo)識碼:A

1 引言(Introduction)

Windows Workflow Foundation(WF)是微軟推出的一個可擴(kuò)展框架,提供了工作流定義的圖形化的工具和界面。WF可將業(yè)務(wù)邏輯作為規(guī)則或條件來實(shí)現(xiàn),作為工作流的基本組成。WF中狀態(tài)機(jī)(State Machine)工作流提供的建模類型,可以對事件驅(qū)動方式的工作流進(jìn)行建模,State Machine活動包含狀態(tài)和組成的狀態(tài)機(jī)邏輯轉(zhuǎn)換??梢詾闋顟B(tài)驅(qū)動的業(yè)務(wù)過程提供可視化的建模實(shí)現(xiàn)過程[1-3]。UML提供業(yè)務(wù)過程建模的分析和設(shè)計工具,用于企業(yè)信息系統(tǒng)的可視化業(yè)務(wù)流程描述與處理[4,5],在此過程中,經(jīng)歷了的層層的業(yè)務(wù)抽象,最后到業(yè)務(wù)的實(shí)現(xiàn),一旦業(yè)務(wù)流程需要修改,需要不斷迭代完成,缺少一種從業(yè)務(wù)建模到實(shí)現(xiàn)的透明轉(zhuǎn)換過程,實(shí)現(xiàn)所見即所得。UML中也包含了State Machine的語義描述,便于對離散事件驅(qū)動的動態(tài)行為建模[6-8]。

本文在研究UML典型狀態(tài)圖(State Diagram)樣例的基礎(chǔ)上,結(jié)合WF的可視化實(shí)現(xiàn),探索從UML狀態(tài)圖建模到WF State Machine編程模型的無縫轉(zhuǎn)換,快速構(gòu)建便于測試的應(yīng)用程序。

2 映射關(guān)系及典型示例(Mapping relationship and

typical example)

2.1 從UML狀態(tài)圖到WF State Machine的對應(yīng)關(guān)系分析

UML和WF在狀態(tài)機(jī)的可視化建模及實(shí)現(xiàn)上具有緊密的關(guān)聯(lián)性,從相關(guān)概念的組成和含義幾乎都一一對應(yīng),這一點(diǎn)保證了無縫的轉(zhuǎn)換。如表1所示W(wǎng)F和UML的State Machine相關(guān)組成及含義對比,可以看出WF和UML中的State Machine都是事件驅(qū)動的建模,相當(dāng)于所有狀態(tài)的容器。相比較而已,在業(yè)務(wù)系統(tǒng)中,UML中偏重業(yè)務(wù)流程的分析設(shè)計,而WF中更偏重基于工作流的業(yè)務(wù)實(shí)現(xiàn)。兩者的State(狀態(tài))都可置于State Machine之中。兩者的Transition(轉(zhuǎn)換)和FinalState(終止?fàn)顟B(tài))的概念也基本相同。有了相對應(yīng)的組成,這兩個之間在可視化的建模中就有了相對應(yīng)的可視化圖形符號。

如表2所示,WF和UML State Machine的映射關(guān)系及圖形表示,兩者都包括了開始狀態(tài)、狀態(tài)、狀態(tài)轉(zhuǎn)換、結(jié)束狀態(tài)等基本符號組成,從符號的表達(dá)到信息的展示,都可以無縫對應(yīng)轉(zhuǎn)換,從而保證了可視化建模從分析到實(shí)現(xiàn)的一致性。表中基于兩者的基本符號,初步構(gòu)建了基本圖形結(jié)構(gòu),可以看出,從形式語義上沒有任何信息丟失,主要的區(qū)別在于UML中是靜態(tài)的分析、設(shè)計,WF中可以直接動態(tài)的實(shí)現(xiàn),在下面的基于WF的UML狀態(tài)圖構(gòu)建中會詳細(xì)分析。

2.2 典型的UML狀態(tài)圖示例

為更好的說明基于WF的UML狀態(tài)圖構(gòu)建和實(shí)現(xiàn),選取了Rational Rose中典型的狀態(tài)圖,以便于深入的轉(zhuǎn)換說明。如圖1所示機(jī)器人自動轉(zhuǎn)換狀態(tài)圖,在這個示例中,顯示了機(jī)器人在轉(zhuǎn)換過程中涉及的各種狀態(tài),包含了典型的開始狀態(tài),結(jié)束狀態(tài)、嵌入狀態(tài)、自身轉(zhuǎn)換狀態(tài)、歷史狀態(tài),以及各種動作活動(入口動作、出口動作等)、監(jiān)護(hù)條件和觸發(fā)等。

3 轉(zhuǎn)換構(gòu)建(Convert construction)

依據(jù)前面的映射關(guān)系和命名規(guī)則,如圖2所示,基于WF的UML機(jī)器人自動轉(zhuǎn)換狀態(tài)圖頂層映射模型,采用分層逐步迭代的思想,清晰地實(shí)現(xiàn)了頂層模型的映射。由圖中可以看出,UML典型示例中的Start、Movement、FinalState、nestedstates等狀態(tài),以及相關(guān)的變遷、入口動作、監(jiān)護(hù)條件都信息無損的映射到WF的StateMachine_Automatic Transmission Model for a Robot上。其中UML中Movement狀態(tài)的Transition to Self變遷映射成toSelf變遷,從Movement到FinalState的變遷映射成toFinal變遷。由于UML中Movement狀態(tài)是一個復(fù)合狀態(tài),需進(jìn)一步的分層構(gòu)建。

如圖3所示StateMachine_Movement細(xì)化模型,UML中的Movement復(fù)合狀態(tài),被構(gòu)建映射為StateMachine_Movement狀態(tài)機(jī),嵌入的Start、History、Forward、Reverse置于其內(nèi),相關(guān)的變遷、入口動作、監(jiān)護(hù)條件都信息無損的映射。由于UML中Forward狀態(tài)也是一個復(fù)合狀態(tài),也需要進(jìn)一步的分層構(gòu)建。

如圖4StateMachine_Forward細(xì)化模型,UML中Forward復(fù)合狀態(tài)被映射為StateMachine_Movement狀態(tài)機(jī),嵌入的First Gear和Second Gear狀態(tài)置于其內(nèi)。

4 動態(tài)測試(Dynamic test)

在業(yè)務(wù)系統(tǒng)中,UML主要實(shí)現(xiàn)系統(tǒng)靜態(tài)分析與設(shè)計,經(jīng)過如圖2—圖4所示的映射,靜態(tài)的UML狀態(tài)圖被映射成WF的狀態(tài)機(jī)可視化動態(tài)建模,所見即所得,如圖5基于WF的UML機(jī)器人自動轉(zhuǎn)換狀態(tài)圖動態(tài)運(yùn)行測試,構(gòu)建的WF模型在工作流的引擎牽引下就可以實(shí)現(xiàn)動態(tài)的運(yùn)行測試,一定程度上實(shí)現(xiàn)了業(yè)務(wù)過程的自動化,實(shí)現(xiàn)了業(yè)務(wù)流程從UML分析設(shè)計到無縫實(shí)現(xiàn)。

5 結(jié)論(Conclusion)

對于復(fù)雜的系統(tǒng),從業(yè)務(wù)流程的分析設(shè)計到實(shí)現(xiàn)總是存在著信息的丟失和不一致性,探索一種從業(yè)務(wù)分析到實(shí)現(xiàn)的無縫轉(zhuǎn)換是必要的。本文在分析UML狀態(tài)圖和WF狀態(tài)機(jī)結(jié)合優(yōu)勢及相關(guān)概念和符號表示的基礎(chǔ)上,選取Rational Rose中典型的狀態(tài)圖,深入研究了基于WF的UML狀態(tài)圖的構(gòu)建實(shí)現(xiàn),從UML狀態(tài)圖中簡單狀態(tài)之間的轉(zhuǎn)換、入口動作,到復(fù)合狀態(tài)的映射,顯式地將業(yè)務(wù)邏輯映射為一定的規(guī)則或條件,構(gòu)建了基于WF的狀態(tài)機(jī)可視化動態(tài)模型,基于微軟工作流引擎,實(shí)現(xiàn)了狀態(tài)驅(qū)動的業(yè)務(wù)過程建模自動化測試,探索了從UML可視化建模分析、設(shè)計到WF可視化實(shí)現(xiàn)的透明轉(zhuǎn)換具有實(shí)際的意義。

參考文獻(xiàn)(References)

[1] The programming model,samples,and tools of the Windows Workflow Foundation(WF).https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/index.

[2] 錢維平,王堅.基于WF狀態(tài)機(jī)工作流的日常工作管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2015,28(1):81-83.

[3] 馮倩,董麗麗.基于WF狀態(tài)機(jī)工作流的研究與應(yīng)用[J].電腦知識與技術(shù),2008,4(8):2263-2265.

[4] [美]Grady Booch,James Rumbaugh,Ivar Jacobson.UML用戶指南(第二版)[M].北京:人民郵電出版社,2013:5-20.

[5] Object Management Group:Unified Modeling Language.formal/2017-12-05,OMG UML(2017).

[6] Alexander Knapp and Till Mossakowski.UML Interactions Meet State Machine--An Institutional Approach.7th Conference on Algebra and Coalgebra in Computer Science(CALCO 2017),20174,15:1-15.

[7] 蔣慧,林東,謝希仁.UML狀態(tài)機(jī)的形式語義[J].軟件學(xué)報, 2002,13(12):2244-2250.

[8] 于曉玲,楊海波.UML狀態(tài)圖形式化方法的分析與比較[J].計算機(jī)與數(shù)字工程,2014,42(8):1488-1492.

作者簡介:

孔令東(1973-),男,博士,講師.研究領(lǐng)域:軟件工程,工作流技術(shù).

猜你喜歡
狀態(tài)圖
航線網(wǎng)絡(luò)優(yōu)化方法研究
關(guān)于鐵碳合金狀態(tài)圖講解的幾點(diǎn)建議
狀態(tài)圖及狀態(tài)表在軟件建模中的適用場景分析
時序電路分析中狀態(tài)表與狀態(tài)圖輸出的合理描述
高強(qiáng)高韌汽車傳動軸管雙道次W彎曲組合成型工藝的研究與設(shè)計
基于UML狀態(tài)圖的列控中心軟件測試路徑生成方法
UML狀態(tài)圖在軟件工程設(shè)計中的應(yīng)用研究
基于UML狀態(tài)圖的軟件系統(tǒng)測試用例生成方法
SysML 狀態(tài)圖合理性驗證研究與實(shí)現(xiàn)
安全協(xié)議可視化建模和驗證方法的分析與設(shè)計①
蕲春县| 霍邱县| 隆子县| 佛坪县| 南漳县| 平遥县| 镇远县| 辽阳市| 平南县| 伊宁县| 桦南县| 五指山市| 库车县| 邯郸市| 西丰县| 当涂县| 信阳市| 中方县| 惠东县| 大新县| 沁阳市| 广东省| 东安县| 乳山市| 白沙| 红安县| 昔阳县| 双峰县| 潼关县| 原阳县| 玉树县| 鄢陵县| 霍城县| 顺平县| 清丰县| 开江县| 盐津县| 拉孜县| 岳池县| 龙南县| 吉林市|