999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WF State Machine的UML Communication Diagram動態構建及測試

2018-01-03 10:37:18孔令東
軟件工程 2018年11期
關鍵詞:可視化規則模型

摘 要:在基于UML的業務流程分析與設計過程中,從靜態模型分析到動態模型構建,經過一系列抽象轉換和代碼實現,往往滿足不了業務需求,缺少一種所見即所得的業務過程實現。在探索UML Communication Diagram和WF State Machine業務流程映射關系的基礎上,選取UML用戶指南中典型案例,研究從Communication Diagram到State Machine編程模型之間的靜態映射和動態規則轉換,基于WF可視化地實現了動態構建與測試,解決了從分析、設計到構建的無縫轉換。

關鍵詞:UML;Communication Diagram;WF;State Machine

中圖分類號:TP311.51 文獻標識碼:A

1 引言(Introduction)

UML(Unified Modeling Language)作為標準建模語言,適用于面向對象的業務流程分析與設計,但在具體的開發構建中,經過層層迭代[1,2],存在語義上的不一致和不精確等缺點,不利于進行形式化的分析和驗證。在UML1.x協作圖基礎上改進而來的UML2.0通信圖,強調對象之間結構關系的通信交互,但缺乏對靜態語義和動態語義的可視化編程實現[3-5]。WF(Windows Workflow Foundation)是微軟推出的可視化的工作流編程引擎,基于業務流程邏輯關系和條件,可以無縫的實現UML模型到業務流程工作流轉換。WF提供的State Machine開發模型,由狀態機和狀態對象組成,在狀態變遷的驅動下,可以無縫地實現通信圖對象之間的通信協作[6-8]。因此,探索一種從UML Communication Diagram靜態建模到可視化的動態測試,實現流程建模語義上的一致性和無縫轉換具有實際意義。

本文在探索UML Communication Diagram和WF State Machine業務流程映射關系的基礎上,選取UML用戶指南中典型案例,研究從Communication Diagram到State Machine編程模型之間的靜態映射和動態規則轉換,基于WF可視化地實現了動態構建與測試。

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

2.1 從Communication Diagram到State Machine的映射關系

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

2.2 典型Communication Diagram示例

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

2.3 命名轉換規則

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

3 轉換構建(Transition and construction)

3.1 靜態的頂層映射轉換

Communication Diagram描述對象之間的結構關系,依據前面的映射關系和命名規則,首先完成靜態的頂層映射轉換。如圖2所示,基于State Machine的學校登記一個新生頂層映射模型所示,Communication Diagram示例(如圖1)中的“r:RegistrarAgent”“sc:School”“s:Student”“c:Course”等對象被映射成對應的狀態對象“r:RegistrarAgent_State”“sc:School_State”“s:Student_State”“c:Course_State”。Communication Diagram對象之間的鏈和消息被轉換為State之間的轉換,分別以(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)相互之間的通信協作。狀態對象“r:RegistrarAgent”存在三個發出的通信消息,其中“CT_1:create()”“CT_3:regeister()”是r對象向s對象發出的通信信息,“CT_2:addStudent(s)”是r對象向sc對象發出的通信信息。同理“s:Student_State”狀態存在五個發出的通信信息,“sc:School_State”和“c:Course_State”分別存在兩個和一個通信變遷??梢钥闯觯诨赟tate Machine的學校登記一個新生頂層映射模型中,Communication Diagram的組織對象和消息鏈,無縫地轉換為State Machine可視化模型,實現了靜態模型信息的轉換。但是,通信如何觸發、協作如何交互,規則如何動態變遷,Communication Diagram中都沒有顯式的呈現。因此我們需要借助WF中可視化編程優勢,進一步的構建業務流程狀態變遷。

3.2 動態的規則構建

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

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

4 動態測試(Dynamic testing)

經過基于WF的可視化編程轉換,實現Communication Diagram從靜態的映射到動態規則構建,進一步地完成了動態測試,如圖6所示,基于WF的學校里登記一個新生通信圖動態測試所示,圖中State Machine工作流活動對象“nsr”,進入WF工作流引擎,有序地完成狀態對象之間的通信協作。從測試結果可以清晰的看出組織對象間的交流協作過程,實現了業務流程分析到可視化實現的透明轉換。

5 結論(Conclusion)

在軟件系統分析與設計過程中,語義的一致性和準確性一直都是關注點。探索和研究一種從靜態模型到動態規則轉換的可視化實現方式,具有必要性。將WF State Machine的可視化編程及動態規則轉換優勢應用于Communication Diagram的對象之間的通信協作實現,顯式地將對象之間的交互關系和動態通信協作變遷規則結合,構建基于State Machine的可視化Communication Diagram測試模型,實現了從UML可視化建模到WF可視化映射和測試,解決了從分析、設計到構建的無縫轉換,具有實際意義。

參考文獻(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] 張姝,戎玫,張廣泉.基于時序邏輯的UML2.0通信圖語義研究[J].計算機工程與設計,2008,29(21):5601-5604.

[5] 張峻,張廣泉,王輝,等.UM L 2.0 通信圖的一種測試用例生成方法[J].蘇 州 大 學 學 報(自然科學版),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] 錢維平,王堅.基于WF狀態機工作流的日常工作管理系統的設計與實現[J].機電產品開發與創新.2015,28(1):81-83.

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

作者簡介:

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

猜你喜歡
可視化規則模型
一半模型
基于CiteSpace的足三里穴研究可視化分析
撐竿跳規則的制定
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
數獨的規則和演變
重要模型『一線三等角』
基于CGAL和OpenGL的海底地形三維可視化
重尾非線性自回歸模型自加權M-估計的漸近分布
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
讓規則不規則
Coco薇(2017年11期)2018-01-03 20:59:57
主站蜘蛛池模板: 国产啪在线91| 国产高潮视频在线观看| www.亚洲一区| 欧美日韩亚洲国产| 黄色成年视频| 日韩欧美在线观看| 欧美日韩成人在线观看| 尤物在线观看乱码| 国产拍在线| 精品国产免费观看一区| 国产成人精品一区二区三区| 欧美视频在线不卡| 亚洲色图欧美一区| 亚欧美国产综合| 国产97视频在线| 亚洲天堂视频在线免费观看| 亚洲天堂精品视频| 精品国产成人av免费| 亚洲专区一区二区在线观看| 美女扒开下面流白浆在线试听 | 国模私拍一区二区| 女人18毛片一级毛片在线 | 国产成人精品综合| 天堂网国产| 99人体免费视频| 青青草原国产| 免费不卡在线观看av| 国产主播在线一区| 在线观看91精品国产剧情免费| www亚洲天堂| 色综合中文| 欧美一级特黄aaaaaa在线看片| 熟妇丰满人妻av无码区| 日韩国产综合精选| www.99精品视频在线播放| 欧美成人午夜视频免看| 免费看美女自慰的网站| 九九香蕉视频| AV熟女乱| 欧美无遮挡国产欧美另类| 日韩精品毛片| 2020国产精品视频| 一级毛片网| 欧美成人A视频| 91成人免费观看| 国产精品30p| 超碰aⅴ人人做人人爽欧美 | 亚洲天堂网视频| 极品国产在线| 国产内射一区亚洲| 超级碰免费视频91| 国产亚洲精久久久久久久91| 国产69精品久久久久妇女| 欧美在线一二区| 无码 在线 在线| 国产香蕉97碰碰视频VA碰碰看| 91在线高清视频| 在线观看热码亚洲av每日更新| jizz在线观看| 99re在线视频观看| 精品撒尿视频一区二区三区| 91口爆吞精国产对白第三集| 中国毛片网| 乱人伦视频中文字幕在线| 97亚洲色综久久精品| 国产精品一区二区久久精品无码| 在线精品视频成人网| 曰AV在线无码| AV不卡无码免费一区二区三区| 国产成人8x视频一区二区| 欧美成人一级| 天天综合网在线| 囯产av无码片毛片一级| 无码不卡的中文字幕视频| 精品无码人妻一区二区| 国产欧美日韩综合一区在线播放| 婷婷丁香色| 久久午夜夜伦鲁鲁片无码免费| 性欧美久久| 无码专区第一页| 久久综合九色综合97网| 欧美日韩激情在线|