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

        ?

        基于WF State Machine的UML Communication Diagram動態(tài)構(gòu)建及測試

        2018-01-03 10:37:18孔令東
        軟件工程 2018年11期
        關(guān)鍵詞:業(yè)務(wù)流程變遷靜態(tài)

        摘 要:在基于UML的業(yè)務(wù)流程分析與設(shè)計(jì)過程中,從靜態(tài)模型分析到動態(tài)模型構(gòu)建,經(jīng)過一系列抽象轉(zhuǎn)換和代碼實(shí)現(xiàn),往往滿足不了業(yè)務(wù)需求,缺少一種所見即所得的業(yè)務(wù)過程實(shí)現(xiàn)。在探索UML Communication Diagram和WF State Machine業(yè)務(wù)流程映射關(guān)系的基礎(chǔ)上,選取UML用戶指南中典型案例,研究從Communication Diagram到State Machine編程模型之間的靜態(tài)映射和動態(tài)規(guī)則轉(zhuǎn)換,基于WF可視化地實(shí)現(xiàn)了動態(tài)構(gòu)建與測試,解決了從分析、設(shè)計(jì)到構(gòu)建的無縫轉(zhuǎn)換。

        關(guān)鍵詞:UML;Communication Diagram;WF;State Machine

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

        1 引言(Introduction)

        UML(Unified Modeling Language)作為標(biāo)準(zhǔn)建模語言,適用于面向?qū)ο蟮臉I(yè)務(wù)流程分析與設(shè)計(jì),但在具體的開發(fā)構(gòu)建中,經(jīng)過層層迭代[1,2],存在語義上的不一致和不精確等缺點(diǎn),不利于進(jìn)行形式化的分析和驗(yàn)證。在UML1.x協(xié)作圖基礎(chǔ)上改進(jìn)而來的UML2.0通信圖,強(qiáng)調(diào)對象之間結(jié)構(gòu)關(guān)系的通信交互,但缺乏對靜態(tài)語義和動態(tài)語義的可視化編程實(shí)現(xiàn)[3-5]。WF(Windows Workflow Foundation)是微軟推出的可視化的工作流編程引擎,基于業(yè)務(wù)流程邏輯關(guān)系和條件,可以無縫的實(shí)現(xiàn)UML模型到業(yè)務(wù)流程工作流轉(zhuǎn)換。WF提供的State Machine開發(fā)模型,由狀態(tài)機(jī)和狀態(tài)對象組成,在狀態(tài)變遷的驅(qū)動下,可以無縫地實(shí)現(xiàn)通信圖對象之間的通信協(xié)作[6-8]。因此,探索一種從UML Communication Diagram靜態(tài)建模到可視化的動態(tài)測試,實(shí)現(xiàn)流程建模語義上的一致性和無縫轉(zhuǎn)換具有實(shí)際意義。

        本文在探索UML Communication Diagram和WF State Machine業(yè)務(wù)流程映射關(guān)系的基礎(chǔ)上,選取UML用戶指南中典型案例,研究從Communication Diagram到State Machine編程模型之間的靜態(tài)映射和動態(tài)規(guī)則轉(zhuǎn)換,基于WF可視化地實(shí)現(xiàn)了動態(tài)構(gòu)建與測試。

        2 映射關(guān)系及命名規(guī)則(Mapping relationship and naming rule )

        2.1 從Communication Diagram到State Machine的映射關(guān)系

        UML Communication Diagram和WF State Machine在可視化靜態(tài)建模上具有一一的映射關(guān)系,同時(shí)State Machine在可視化的動態(tài)規(guī)則構(gòu)建上又具有無縫的編程實(shí)現(xiàn),從組件元素圖形表示和含義上可以自然對應(yīng),從而實(shí)現(xiàn)無縫的模型轉(zhuǎn)換,如表1所示,Communication Diagram中的Object(對象)、Link & message(鏈和消息)、Self Communication(自身通信協(xié)作)分別同State Machine中的State(狀態(tài))、Transition(變遷)、Self Transition(自身變遷轉(zhuǎn)換)相對應(yīng)。Communication Diagram突出Object之間組織關(guān)系的通信和協(xié)作,在對象之間通過鏈表示兩個(gè)對象之間的存在協(xié)作關(guān)系,通過帶有順序標(biāo)號的消息箭頭表示對象之間的通信協(xié)作轉(zhuǎn)換;State Machine中state之間通過Transition的有向箭頭,明確表示兩個(gè)狀態(tài)之間的變遷轉(zhuǎn)換關(guān)系。由此可以看出,兩種模型從符號表示到信息表達(dá),都可以在映射基礎(chǔ)上,保證業(yè)務(wù)流程從分析到實(shí)現(xiàn)的可視化建模一致性,各取所長Communication Diagram側(cè)重于業(yè)務(wù)流程分析與設(shè)計(jì),State Machine側(cè)重于可視化的動態(tài)實(shí)現(xiàn),在隨后的模型構(gòu)建中我們會詳細(xì)描述。

        2.2 典型Communication Diagram示例

        為深入說明基于State Machine的Communication Diagram動態(tài)構(gòu)建及測試,我們選取了UML用戶指南中的Communication Diagram的典型示例[1],從模型元素的信息表示到規(guī)則轉(zhuǎn)換進(jìn)行深入的探索。如圖1學(xué)校里登記一個(gè)新生通信圖示例所示,顯示了四個(gè)對象(r、s、sc、c)之間的通信協(xié)作關(guān)系,圖中典型地包括了Communication Diagram的對象、鏈和消息,以及自身協(xié)作的組件元素。通信協(xié)作從r登記代理對象創(chuàng)建一個(gè)s學(xué)生對象開始,把學(xué)生加入到sc學(xué)校中,然后告訴s去登記,s調(diào)用自身的課程計(jì)劃,獲取必須注冊的課程對象集合,然后s循環(huán)地將自家加入到c課程對象后,完成相關(guān)注冊登記后提交到sc對象,最后sc學(xué)校向s學(xué)生發(fā)出成功登記通知。

        2.3 命名轉(zhuǎn)換規(guī)則

        通信圖表示對象之間的協(xié)作關(guān)系,通過分析映射關(guān)系,狀態(tài)機(jī)之間可有多條狀態(tài)轉(zhuǎn)換路徑,從而解決對象之間協(xié)作的方向問題,通信圖中的對象元素都可以通過WF State Machine中的編程模型來無縫映射,基于此給出了命名轉(zhuǎn)換的規(guī)則。通信圖中的對象映射成State Machine中的狀態(tài)對象,對象之間的協(xié)作采用CT(CommunicationTransition)命名,如圖1所示的通信圖中“r:RegistrarAgent”等四個(gè)對象,對應(yīng)命名為圖2所示的映射模型中“r:RegistrarAgent_State”等四個(gè)State對象,組成一個(gè)NewStudentRegister_CommunicationObject_StateMachine。通信圖中的鏈接關(guān)系命名為各個(gè)Sate之間的Transition,例如圖1中對象r和s之間的協(xié)作關(guān)系,命名為CT_1表示兩者之間的通信關(guān)系;通信對象之間的消息序列和變遷序列對應(yīng),在此基礎(chǔ)上每個(gè)State對象之間的變遷由變遷的名稱和動作組成,例如圖1中對象r和s之間的通信變遷命名為CT_1:create(),UML通信圖對象之間的協(xié)作往往缺失對象之間的交互響應(yīng)信息,在圖2中對應(yīng)命名給出,例如CT_1.1_Response(),表示對CT_1協(xié)作的第1次響應(yīng)。這樣的命名規(guī)則不僅保證了圖形轉(zhuǎn)換構(gòu)建過程中的一致性,也加強(qiáng)了動態(tài)的構(gòu)建和測試,便于分析追溯和擴(kuò)展。

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

        3.1 靜態(tài)的頂層映射轉(zhuǎn)換

        Communication Diagram描述對象之間的結(jié)構(gòu)關(guān)系,依據(jù)前面的映射關(guān)系和命名規(guī)則,首先完成靜態(tài)的頂層映射轉(zhuǎn)換。如圖2所示,基于State Machine的學(xué)校登記一個(gè)新生頂層映射模型所示,Communication Diagram示例(如圖1)中的“r:RegistrarAgent”“sc:School”“s:Student”“c:Course”等對象被映射成對應(yīng)的狀態(tài)對象“r:RegistrarAgent_State”“sc:School_State”“s:Student_State”“c:Course_State”。Communication Diagram對象之間的鏈和消息被轉(zhuǎn)換為State之間的轉(zhuǎn)換,分別以(CT_1、CT_1.1);(CT_2、CT_2.1);(CT_3、CT_3.1 、CT_3.2:、CT_3.2.1;CT_3.3);(CT_3.4、CT_3.4)相互之間的通信協(xié)作。狀態(tài)對象“r:RegistrarAgent”存在三個(gè)發(fā)出的通信消息,其中“CT_1:create()”“CT_3:regeister()”是r對象向s對象發(fā)出的通信信息,“CT_2:addStudent(s)”是r對象向sc對象發(fā)出的通信信息。同理“s:Student_State”狀態(tài)存在五個(gè)發(fā)出的通信信息,“sc:School_State”和“c:Course_State”分別存在兩個(gè)和一個(gè)通信變遷。可以看出,在基于State Machine的學(xué)校登記一個(gè)新生頂層映射模型中,Communication Diagram的組織對象和消息鏈,無縫地轉(zhuǎn)換為State Machine可視化模型,實(shí)現(xiàn)了靜態(tài)模型信息的轉(zhuǎn)換。但是,通信如何觸發(fā)、協(xié)作如何交互,規(guī)則如何動態(tài)變遷,Communication Diagram中都沒有顯式的呈現(xiàn)。因此我們需要借助WF中可視化編程優(yōu)勢,進(jìn)一步的構(gòu)建業(yè)務(wù)流程狀態(tài)變遷。

        3.2 動態(tài)的規(guī)則構(gòu)建

        Communication Diagram中對象之間的通信協(xié)作,可以借助WF State Machine可視化的狀態(tài)變遷來動態(tài)實(shí)現(xiàn)。為便于動態(tài)規(guī)則轉(zhuǎn)換,如圖3所示,通信協(xié)作及控制變量所示,定義了三個(gè)變量,分別為ct、register、schedule,其中ct為StateMachine的全局通信轉(zhuǎn)換變量,并給出了初始值“starting”作用于整個(gè)NewStudentRegister_CommunicationObject_StateMachine范圍,同時(shí)定義了兩個(gè)局部變量,并給出初始值為“true”,作用于“s:Student”對象,用于控制該狀態(tài)對象的兩次動態(tài)自身轉(zhuǎn)換的循環(huán)控制。

        如圖4所示,s:Student狀態(tài)對象動態(tài)轉(zhuǎn)換模型所示,“s:Student”對象的通信協(xié)作采用Switch多分支判斷模式,在分支判斷中以全局通信變量“ct”為控制條件,將對象之間的消息觸發(fā)條件,顯式地配置在各個(gè)對應(yīng)的分支中,可以清晰地看出每一個(gè)通信轉(zhuǎn)換所對應(yīng)的變遷和消息,這同通信圖中鏈和消息一致對應(yīng),觸發(fā)對應(yīng)的分支流程。每個(gè)通信變遷中完成協(xié)作對象的觸發(fā)轉(zhuǎn)換,如圖5所示,在觸發(fā)器啟動的情況下,當(dāng)通信協(xié)作信息“CT_1:create()”到來后,執(zhí)行“create_Action”動作,創(chuàng)建一個(gè)student對象;經(jīng)過CT_1通信協(xié)作轉(zhuǎn)換,顯式地表明源(Source)狀態(tài)對象“r:RegistrarAgent_State”和目標(biāo)(Detination)狀態(tài)對象“s:Student_State”之間的通信協(xié)作關(guān)系。

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

        經(jīng)過基于WF的可視化編程轉(zhuǎn)換,實(shí)現(xiàn)Communication Diagram從靜態(tài)的映射到動態(tài)規(guī)則構(gòu)建,進(jìn)一步地完成了動態(tài)測試,如圖6所示,基于WF的學(xué)校里登記一個(gè)新生通信圖動態(tài)測試所示,圖中State Machine工作流活動對象“nsr”,進(jìn)入WF工作流引擎,有序地完成狀態(tài)對象之間的通信協(xié)作。從測試結(jié)果可以清晰的看出組織對象間的交流協(xié)作過程,實(shí)現(xiàn)了業(yè)務(wù)流程分析到可視化實(shí)現(xiàn)的透明轉(zhuǎn)換。

        5 結(jié)論(Conclusion)

        在軟件系統(tǒng)分析與設(shè)計(jì)過程中,語義的一致性和準(zhǔn)確性一直都是關(guān)注點(diǎn)。探索和研究一種從靜態(tài)模型到動態(tài)規(guī)則轉(zhuǎn)換的可視化實(shí)現(xiàn)方式,具有必要性。將WF State Machine的可視化編程及動態(tài)規(guī)則轉(zhuǎn)換優(yōu)勢應(yīng)用于Communication Diagram的對象之間的通信協(xié)作實(shí)現(xiàn),顯式地將對象之間的交互關(guān)系和動態(tài)通信協(xié)作變遷規(guī)則結(jié)合,構(gòu)建基于State Machine的可視化Communication Diagram測試模型,實(shí)現(xiàn)了從UML可視化建模到WF可視化映射和測試,解決了從分析、設(shè)計(jì)到構(gòu)建的無縫轉(zhuǎn)換,具有實(shí)際意義。

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

        [1] Grady Booch,James Rumbaugh,Ivar Jacobson[美].UML用戶指南[M].北京:人民郵電出版社,2013,1:191-195.

        [2] Object Management Group.Unified Modeling Language.Formal[S].OMG,2017.

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

        [4] 張姝,戎玫,張廣泉.基于時(shí)序邏輯的UML2.0通信圖語義研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(21):5601-5604.

        [5] 張峻,張廣泉,王輝,等.UM L 2.0 通信圖的一種測試用例生成方法[J].蘇 州 大 學(xué) 學(xué) 報(bào)(自然科學(xué)版),2007,23(2):36-42.

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

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

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

        作者簡介:

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

        猜你喜歡
        業(yè)務(wù)流程變遷靜態(tài)
        RPA機(jī)器人助業(yè)務(wù)流程智能化
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        40年變遷(三)
        40年變遷(一)
        STK業(yè)務(wù)流程優(yōu)化的探究
        電子測試(2018年23期)2018-12-29 11:11:28
        40年變遷(二)
        企業(yè)財(cái)務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
        清潩河的變遷
        基于財(cái)務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
        中國商論(2016年34期)2017-01-15 14:24:22
        機(jī)床靜態(tài)及動態(tài)分析
        久久无码潮喷a片无码高潮 | 国产一区二区三区在线观看完整版| 久久久国产打桩机| 日韩一线无码av毛片免费| 无码人妻丰满熟妇精品区| 久久99国产伦精品免费| 成av人片一区二区三区久久| 日韩亚洲在线观看视频| av无码小缝喷白浆在线观看| 精品无码久久久久久国产| 日韩毛片在线看| 精品一区二区中文字幕| 成人性生交大片免费看l| 免费无码又爽又刺激网站直播 | 一本色道久在线综合色| 欧美精品欧美人与动人物牲交| 日本无码欧美一区精品久久| 国内精品久久久久久中文字幕| 亚洲精品成人av观看| 手机在线播放成人av| 国产精品无码素人福利不卡| 国产成人精品一区二区视频| 亚洲AV无码中文AV日韩A| 久久久人妻丰满熟妇av蜜臀| 亚洲高清一区二区三区在线播放| 女人被弄到高潮的免费视频| 欧美成人激情在线| 性感人妻av在线播放| 水蜜桃在线观看一区二区| 国产在线 | 中文| 日韩国产欧美| 淫秽在线中国国产视频| 玩弄少妇人妻中文字幕| 韩国v欧美v亚洲v日本v| 中文字幕一区二区网站| 中文字幕女优av在线| 亚洲精品美女久久久久99 | 一本一道久久a久久精品综合蜜桃| av黄色在线免费观看| 米奇777四色精品人人爽| 国产亚洲精品福利在线|