下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于有限狀態(tài)機的工作流實例狀態(tài)遷移的目標特征0 引言工作流技術(shù)是實現(xiàn)企業(yè)業(yè)務(wù)過程自動化的核心技術(shù)之一,相應(yīng)的工作流管理系統(tǒng)技術(shù)也得到普及。工作流的流程引擎是工作流管理系統(tǒng)的心臟,是業(yè)務(wù)處理流程執(zhí)行服務(wù)中的部分或全部運行控制環(huán)境,為工作流實例提供運行環(huán)境。以業(yè)務(wù)流程為中心的工作流管理系統(tǒng)可以描述為建立時和運行時,建立時是指流程定義過程和實例化過程模型階段;運行時是指過程模型的執(zhí)行階段,是工作流引擎對流程定義進行解釋執(zhí)行【1】。流程引擎研究中的一個重要問題就是如何控制流程引擎,執(zhí)行工作流系統(tǒng)中的各種任務(wù)狀態(tài)轉(zhuǎn)移,保證各項任務(wù)在制定的時間內(nèi)正確地完成。本文基于有限狀態(tài)機的方法很好地實現(xiàn)了流程引擎執(zhí)行
2、這一問題。1 工作流過程建模 過程是一系列活動的集合,活動之間存在著各種順序關(guān)系,構(gòu)成了過程的控制流,過程還包括流程執(zhí)行間相關(guān)的數(shù)據(jù)。定義1:工作流模型(又稱為過程定義)形式化表示為:W=(Process,N,CF,D),Process為流程屬性;N是活動集合,CF為控制流,CF屬于NxN,指明了活動之間的連接關(guān)系,D是工作流相關(guān)數(shù)據(jù)變量集合。定義2:流程Process的屬性形式化表示為:p=(Role,Table,Deadline,Events,Info,Dvars),Role為參與人角色,Table為流程表單,Deadline為流程執(zhí)行期限,Events為流程中所有事件的集合,Info為流
3、程中發(fā)送的通知信息,Dvars屬于D,為流程中所有數(shù)據(jù)變量。定義3:流程的執(zhí)行過程形式化表示為:WI=(Taskassin,Transition,Route,Eventexe),Taskassin為任務(wù)分配,Transition為活動遷移,Route為路由決策,Eventexe為事件執(zhí)行。2 流程實例狀態(tài)模型 在工作流執(zhí)行服務(wù)中,流程實例能夠響應(yīng)外部事件并改變自身的狀態(tài),比如執(zhí)行一項任務(wù)、激活一個活動,又如調(diào)度流程實例的下一個活動或任務(wù)。因此,工作流執(zhí)行服務(wù)可以看作是一個狀態(tài)變化機,用來控制流程實例和活動實例的狀態(tài)轉(zhuǎn)換【2】。活動實例是活動在流程里的實例化;任務(wù)(工作項)是流程最小工作單元,由
4、活動實例產(chǎn)生并分配給參與者執(zhí)行。一個活動實例可能產(chǎn)生多個任務(wù)實例【1】,如圖1所示。圖1 流程執(zhí)行引擎部分實例對象關(guān)系2.1 有限狀態(tài)機FSM理論有限狀態(tài)機,又叫有限狀態(tài)自動機,是表示有限狀態(tài)(State)及在這些狀態(tài)間的轉(zhuǎn)移(Transition)和動作(Action)等行為的數(shù)學(xué)模型,通常用有向圖來表示有限狀態(tài)機,其節(jié)點代表狀態(tài)。若在當前狀態(tài)接收到某個輸入條件后轉(zhuǎn)向目標狀態(tài),就在圖中畫一條從當前狀態(tài)到目標狀態(tài)的帶箭頭線,并在弧線上標記【3】。定義4:有限狀態(tài)機形式化表示為六元組M=(S, E, T, F,S0,H),S表示內(nèi)部有限狀態(tài)集,E是有窮事件輸入集,T表示為非空轉(zhuǎn)移集,映射函數(shù)F=
5、S*E→T,S0屬于S,H是最終狀態(tài)集合。其中T中每個元素又可以表示為一個三元組(Sourcestate,tr,Tragetstate),其中tr=(e,c)。Sourcestate是源活動狀態(tài),Tragetstate為目標活動狀態(tài);事件函數(shù)event(t)=e表示遷移調(diào)用的事件,路由函數(shù)condition(t)=c表示狀態(tài)轉(zhuǎn)移的條件表達式。有限狀態(tài)機邏輯圖【1】如圖2所示。圖2 有限狀態(tài)機邏輯由圖2可以看出,有限狀態(tài)機的下一個狀態(tài)和輸出是輸入和當前狀態(tài)的函數(shù),也就是說,輸入和當前狀態(tài)觸發(fā)變遷為下一個狀態(tài),而下一個狀態(tài)的實現(xiàn)會產(chǎn)生輸出結(jié)果。狀態(tài)機說明了活動對象在生存期間內(nèi)可檢測到相應(yīng)
6、的事件。在活動實例狀態(tài)轉(zhuǎn)移中,可能由于輸入條件和當前狀態(tài)的不同,輸出狀態(tài)也不同,相應(yīng)產(chǎn)生不同的多個狀態(tài)轉(zhuǎn)移。2.2 基于有限狀態(tài)機的流程實例遷移算法 流程實例推進機制是通過動作執(zhí)行來進行的,每一種狀態(tài)(State)描述成為一個步驟(Step)和步驟的狀態(tài)(Status)。對于工作流引擎來說,任何一種狀態(tài)改變都是由某個動作引起的變化結(jié)果。一個State到另一個State的轉(zhuǎn)移,依賴Action的發(fā)生。在一個工作流實例的生命周期內(nèi)通常有一個或者多個活動的狀態(tài)(State)【4】。2.2.1 簡單狀態(tài)遷移算法 流程實例處于狀態(tài)SK:事件ei到達;從當前狀態(tài)SK的事件觸發(fā)集S中查找事件ei,如果ei存
7、在于SK中,則執(zhí)行步驟,否則執(zhí)行步驟;退出;根據(jù)映射函數(shù)F(SK,Ei),獲取事件ei處理tx的入口;執(zhí)行tx中的action;依次執(zhí)行下一動作;根據(jù)狀態(tài)轉(zhuǎn)移路由函數(shù)condition(t)=ci,完成狀態(tài)轉(zhuǎn)移;該次狀態(tài)轉(zhuǎn)移結(jié)束,系統(tǒng)回到步驟(但狀態(tài)已經(jīng)遷移)。2.2.2 流程實例動作(action) xml描述Going to the first state!3 FSM流程運行狀態(tài)遷移實現(xiàn)3.1 流程執(zhí)行時的動態(tài)行為狀態(tài)我們定義了流程實例在運行時所經(jīng)歷的狀態(tài)以及這些狀態(tài)之間的轉(zhuǎn)換關(guān)系。如果流程的控制流到達一個活動,則通過外部動作加載這個活動。一個遷移在過程模型的執(zhí)行期間可能處于準備prepa
8、re、初始化initial、待簽to sign in、待辦to do、終止terminated、異常aborted、掛起suspended、結(jié)束completed狀態(tài)。圖3所示為流程實例狀態(tài)轉(zhuǎn)移之間的關(guān)系。任務(wù)或活動實例滿足所有執(zhí)行條件后,進入完成狀態(tài),并傳播該狀態(tài)給流程實例,流程實例根據(jù)路由選擇下一個活動,啟動實例,進入下一個任務(wù)活動實例的執(zhí)行;如果流程實例已經(jīng)沒有任務(wù)或活動執(zhí)行,流程實例執(zhí)行結(jié)束節(jié)點,進入完成狀態(tài),流程實例執(zhí)行結(jié)束【2】。圖3 流程實例的狀態(tài)轉(zhuǎn)移3.2 流程執(zhí)行過程當流程執(zhí)行時便處于準備狀態(tài),任務(wù)分配(參與人、消息、表單、期限)進入初始化狀態(tài)(SK)。若流程ei事件到達,根
9、據(jù)映射函數(shù)F(SK,Ei),獲取ei事件處理tx的入口。執(zhí)行tx中execute動作,根據(jù)狀態(tài)轉(zhuǎn)移條件函數(shù)condition(t)=ci(路由),過程實例完成一個節(jié)點狀態(tài)轉(zhuǎn)移,遷移到目標待簽狀態(tài)to sign in,依次循環(huán)執(zhí)行下一狀態(tài)。若遷移過程中發(fā)生了異常abort,則轉(zhuǎn)移為異常狀態(tài)aborted;當處于待簽狀態(tài)時,執(zhí)行tx中sign in動作,則遷移為目標狀態(tài)、待辦狀態(tài)to do;若動作complete觸發(fā),則流程實例進入完成狀態(tài);當流程狀態(tài)處于待簽狀態(tài)to sign in 時,suspend觸發(fā)則遷移為掛起狀態(tài)suspended;當活動實例滿足繼續(xù)執(zhí)行的條件時,重啟活動實例,把處于suspended狀態(tài)的活動恢復(fù)到待簽;若terminate動作觸發(fā),則遷移為終止狀態(tài)terminated。同樣待辦也可能處于掛起、終止狀態(tài)。4 結(jié)語本文通過考察工作流運行實例,建立了以業(yè)務(wù)流程為核心的工作流模型,并對流程進行了實例化分析,把基于有限狀態(tài)機的理論模型運用于流程引擎,進一步體現(xiàn)了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度安全生產(chǎn)標準化建設(shè)承包合同范本3篇
- 二零二五年度吊車操作培訓(xùn)與安全規(guī)范制定合同3篇
- 二零二五年度建筑材料質(zhì)量糾紛處理合同范本6篇
- 二零二五年度城市公共廁所智能化改造合同范本2篇
- 臨時活動用場地租賃合同書2024版樣本版B版
- 二零二五年度商業(yè)地產(chǎn)租賃轉(zhuǎn)供電管理合同3篇
- 2025年度教育機構(gòu)學(xué)生信息保密與隱私保護合同范本4篇
- 泰州二手房買賣合同2025版
- 二零二五年度高空作業(yè)樓頂廣告牌拆除與安全培訓(xùn)協(xié)議4篇
- 2025年度城鄉(xiāng)一體化發(fā)展補貼合同范本3篇
- 《醫(yī)院財務(wù)分析報告》課件
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合卷(含答案)
- 2024中國汽車后市場年度發(fā)展報告
- 感染性腹瀉的護理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 《人工智能基礎(chǔ)》全套英語教學(xué)課件(共7章)
- 廢鐵收購廠管理制度
- 物品賠償單范本
- 《水和廢水監(jiān)測》課件
- 滬教版六年級數(shù)學(xué)下冊課件【全冊】
評論
0/150
提交評論