(國防科學(xué)技術(shù)大學(xué) 信息系統(tǒng)與管理學(xué)院C4ISR技術(shù)重點(diǎn)實(shí)驗(yàn)室, 長沙 410073)
摘要:一個(gè)完整的工作流通常包含需要執(zhí)行的任務(wù)集、各任務(wù)之間的依賴關(guān)系以及支持各任務(wù)執(zhí)行的相應(yīng)資源類型和執(zhí)行任務(wù)所需的時(shí)間等,然而目前大多數(shù)的工作流建模方法往往只注重模型的某些方面,缺乏對(duì)工作流各要素的統(tǒng)一建模能力。通過對(duì)傳統(tǒng)Petri網(wǎng)的改進(jìn),提出了一種包括任務(wù)、控制、資源、時(shí)間等多要素的多維工作流模型(multi-dimensional workflow net,MD_WFN),實(shí)現(xiàn)了任務(wù)流、控制流、資源流在同一工作流模型中的統(tǒng)一。對(duì)基于MD_WFN模型的工作流模式和工作流建模過程進(jìn)行研究,為使用MD_WFN模型進(jìn)行工作流建模提供有效技術(shù)支撐。
關(guān)鍵詞:工作流; 模型; Petri網(wǎng); 模式
中圖分類號(hào):TP391.9文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)11-3335-05
MD_WFN: multi-dimensional workflow model based on Petri-net
ZHAO Yang, YI Xian-qing, LUO Xue-shan
(Key Laboratory ofC4ISR Defense Technology, College ofInformationSystemManagement, National University of Defense Technology, Changsha410073, China)
Abstract:The elements for constituting a complete workflow model should include control, data, resource, and time factors. But most of the current workflow modeling methods arex only bias sed towards one or some of the elements, and they all lack the capacity to describe a workflow by comprehensive considering all the elements. For solving this problem, this paper produced a new method named based on Petri-net named as multi-dimensional workflow model (MD_WFM). Though classifying the places and the transitions, the MD_WFM not only achieved the unification of control flow, data flow, resource flow in the workflow model, but also improved the workflow model’s description capacity and the model’s analyzsis capability.And put forward the graphical expression for the MD_WFM and discussed the MD_WFM patterns, which made the workflow modeling maneuverable and easy.
Key words:workflow; model; Petri-net; pattern
0引言
工作流管理技術(shù)作為計(jì)算機(jī)應(yīng)用領(lǐng)域的一個(gè)研究熱點(diǎn)[1],已廣泛應(yīng)用在辦公自動(dòng)化、電子商務(wù)、柔性制造、產(chǎn)品研發(fā)等諸多領(lǐng)域,用來實(shí)施事務(wù)的監(jiān)控、自動(dòng)協(xié)調(diào)和處理。按照工作流管理聯(lián)盟的定義,工作流是業(yè)務(wù)流程的全部或部分自動(dòng)化,在此過程中,文檔、信息或者任務(wù)按照一定的過程規(guī)則流轉(zhuǎn),實(shí)現(xiàn)組織成員間的協(xié)調(diào)工作以期達(dá)到業(yè)務(wù)的整體目標(biāo)[2]。設(shè)計(jì)工作流管理系統(tǒng)的關(guān)鍵在于工作流建模,即在概念級(jí)上給出業(yè)務(wù)過程的抽象表示。通常,業(yè)務(wù)流程通過過程定義進(jìn)行形式化描述,過程由若干定義完善的活動(dòng)(或任務(wù))和它們之間的連接關(guān)系以及相關(guān)的條件約束等組成[3]。工作流的描述應(yīng)基于具有豐富語義表達(dá)功能的建模方法[4]。該方法應(yīng)當(dāng)具有清晰性、一致性、易表達(dá)性和可擴(kuò)充性;這個(gè)方法應(yīng)當(dāng)能足以表達(dá)步驟、循環(huán)、分支條件、路徑選擇、任務(wù)分配、時(shí)間調(diào)度和約束條件。其語義應(yīng)當(dāng)能夠定義控制流、數(shù)據(jù)流、資源流,并能夠定義策略來處理這些流的中斷。有關(guān)工作流的詳述可以參見文獻(xiàn)[5]。
Petri網(wǎng)作為一種有效的過程建模技術(shù),已被廣泛地應(yīng)用在協(xié)議工程、硬件設(shè)計(jì)、業(yè)務(wù)過程設(shè)計(jì)等各個(gè)領(lǐng)域。經(jīng)過幾十年的發(fā)展,傳統(tǒng)的Petri網(wǎng)已經(jīng)發(fā)展到著色Petri網(wǎng)[6]、謂詞/變遷Petri網(wǎng)[7]、時(shí)間Petri網(wǎng)[8~10]、對(duì)象Petri網(wǎng)[11]等高級(jí)Petri網(wǎng)模型,以及受控Petri網(wǎng)[12]、自控Petri網(wǎng)[13]、時(shí)序Petri網(wǎng)[14]、連續(xù)Petri網(wǎng)[15]、模糊Petri網(wǎng)[16]等一些其他Petri網(wǎng)變形模型。由于Petri網(wǎng)具有嚴(yán)格的數(shù)學(xué)定義和精確的語法語義定義,以及在此基礎(chǔ)上的較為完整和豐富的模型分析方法及驗(yàn)證技術(shù),使之在工作流建模與分析中得到了十分廣泛的應(yīng)用[17~35]。
本文在對(duì)目前具有代表性的基于Petri網(wǎng)的工作流模型[18~35]研究的基礎(chǔ)上,提出了一種基于Petri網(wǎng)技術(shù)的多維工作流模型(multi-dimensional workflow net,MD_WFN)。MD_WFN模型將庫所分為控制庫所、數(shù)據(jù)庫所、資源庫所三類,將變遷分為控制變遷和任務(wù)變遷兩類,并在此基礎(chǔ)上對(duì)各類庫所容量以及庫所與變遷之間的流關(guān)系權(quán)值進(jìn)行定量約束;同時(shí)MD_WFN模型還借鑒了時(shí)間Petri網(wǎng)[8~10,31]的理論成果,在模型中增加了時(shí)間因素,從而極大地豐富了MD_WFN模型語義,不但實(shí)現(xiàn)了工作流建模過程中的控制流、數(shù)據(jù)流、資源流三者的統(tǒng)一,同時(shí)也提高了工作流模型的描述能力和模型分析驗(yàn)證能力。
1相關(guān)研究
在研究工作流模型的過程中,研究人員先后使用不同的Petri網(wǎng)模型從不同角度提出了多種工作流建模方法,本章對(duì)一些典型的基于Petri網(wǎng)的工作流模型進(jìn)行簡單綜述。
Van der Aalst 在Petri 網(wǎng)的基礎(chǔ)上定義了工作流網(wǎng)(workflow net,WF-net[18])。一個(gè)Petri 網(wǎng)模型PN=(P,T,F(xiàn),i)稱為WF-net當(dāng)且僅當(dāng)它滿足下面的兩個(gè)條件:a)PN中存在兩個(gè)特殊的庫所i和o,庫所i是一個(gè)起始庫所,即·t=;庫所o是一個(gè)終止庫所,即 ·o=;b)如果在PN中加入一個(gè)新的變遷t,使t連接庫所o和i,即 ·t={ο},t·={i},這時(shí)所得到的擴(kuò)展網(wǎng)PN是強(qiáng)連通的。在工作流網(wǎng)中活動(dòng)(任務(wù))用變遷來表示,任務(wù)使能的條件用庫所表示,庫所和變遷的條件約束用有向弧來表示,條件的成立與否用變遷的前置庫所中的托肯有無來反映。上述定義表明:a)工作流網(wǎng)必須具有惟一起始點(diǎn)和惟一終止點(diǎn),進(jìn)入起始庫所的托肯代表一個(gè)過程實(shí)例的開始,而進(jìn)入終止庫所的托肯則意味著一個(gè)過程實(shí)例的結(jié)束;b)工作流網(wǎng)中不存在處于孤立狀態(tài)的活動(dòng)與條件(所謂孤立狀態(tài)是指不存在由i到o的通路經(jīng)過該變遷或庫所),即所有的活動(dòng)與條件都位于由起始點(diǎn)到終止點(diǎn)的通路上。Van der Aalst還將工作流管理聯(lián)盟提出的順序路由、并行路由、選擇路由、循環(huán)路由四種基本的工作流邏輯原語映射成相應(yīng)的Petri 網(wǎng)模型,由此建立了工作流的Petri 網(wǎng)模型與觸發(fā)機(jī)制。在Aalst工作的基礎(chǔ)上,人們建立了一些不同的工作流模型。
K.Barkaoui 等人將Aalst 的工作推進(jìn)一步,在將等待工作流系統(tǒng)處理的事務(wù)由1個(gè)增加到n個(gè)的情況下提出了多事務(wù)工作流的概念[19];文獻(xiàn)[20~27]考慮實(shí)際業(yè)務(wù)過程對(duì)工作流系統(tǒng)時(shí)間管理功能及資源調(diào)度的需求基于工作流網(wǎng)的定義,文獻(xiàn)[21]給出了包含資源和時(shí)間信息的TCWF-Net工作流網(wǎng)的概念提高了Petri 網(wǎng)模型的處理能力;文獻(xiàn)[28,29]在工作流網(wǎng)的基礎(chǔ)上建立了語義工作流網(wǎng),模型解決了并發(fā)控制流結(jié)構(gòu)可能存在的由于變遷存在并發(fā)性控制流語義與控制流中的數(shù)據(jù)語義不相一致的問題,以及實(shí)際應(yīng)用中由于數(shù)據(jù)語義存在某些約束而對(duì)并發(fā)調(diào)度產(chǎn)生的影響;文獻(xiàn)[30~31]將邏輯的概念引入到工作流網(wǎng)中建立了工作流的邏輯工作流網(wǎng)(LPNW),文獻(xiàn)[31]用時(shí)態(tài)邏輯對(duì)工作流模型的需求特性進(jìn)行了形式化的描述,并給出了工作流網(wǎng)模型轉(zhuǎn)換Kripke變遷結(jié)構(gòu)的轉(zhuǎn)換規(guī)則,這些工作不僅增加了模型分析能力,在一定程度上緩解了工作流網(wǎng)分析上可能帶來的空間爆炸問題,提高了工作流模型的合理性和可靠性;文獻(xiàn)[32~35]給出了工作流管理聯(lián)盟定義的工作流元模型映射為著色Petri網(wǎng)的方法,建立了著色Petri網(wǎng)的工作流模型,該模型具有較好的表達(dá)特性和容易計(jì)算機(jī)化的特點(diǎn),較好地解決了工作流系統(tǒng)資源建模的方法;文獻(xiàn)[35]在分析工作流活動(dòng)時(shí)延的基礎(chǔ)上,將四種基本工作流的邏輯原語映射成隨機(jī)Petri網(wǎng)模型,該模型在分析工作流服務(wù)周期資源利用率等方面具有明顯優(yōu)勢。
通過對(duì)當(dāng)前多種典型基于Petri網(wǎng)的工作流模型的研究,不難發(fā)現(xiàn):
a)模型本身缺乏對(duì)工作流多要素的統(tǒng)一描述能力。構(gòu)成一個(gè)完整工作流模型的要素包括控制、數(shù)據(jù)、資源、時(shí)間等,在當(dāng)前的工作流模型中,大都偏重于其中的某項(xiàng)或某幾項(xiàng)要素,缺乏對(duì)各個(gè)要素進(jìn)行綜合考慮的統(tǒng)一描述能力。
b)模型驗(yàn)證和分析方法具有一定片面性。由于模型本身缺少對(duì)工作流多要素統(tǒng)一描述能力,在模型之上的驗(yàn)證分析方法只能對(duì)模型本身所包含的工作流要素進(jìn)行單一的驗(yàn)證分析,缺少對(duì)工作流多要素的綜合分析能力,其驗(yàn)證分析結(jié)果具有一定的片面性。
c)模型運(yùn)算的研究相對(duì)較少。工作流模型重用是支持工作流模型快速開發(fā)、降低工作流建模復(fù)雜度、提高工作流模型性能的有效手段,然而目前對(duì)工作流模型方法和模型驗(yàn)證分析技術(shù)的研究相對(duì)較多,對(duì)于工作流模型重用的研究卻相對(duì)較少。工作流模型重用的基礎(chǔ)是模型的合成與分解等運(yùn)算,雖然在文獻(xiàn)[21]給出了一個(gè)基于TCWF-Net模型的分解算法,但其目的是為了模型的性能分析,而不是支持模型重用。
2相關(guān)概念及基本假設(shè)
為了更加清楚地闡述本文內(nèi)容,首先定義了一些相關(guān)概念和基本假設(shè)。關(guān)于工作流管理的其他基本概念定義請(qǐng)參考文獻(xiàn)[37]。
21相關(guān)概念
定義1 工作流模型(workflow model)。該模型是使用工作流定義語言對(duì)某個(gè)應(yīng)用域的業(yè)務(wù)過程形式化描述所得到的結(jié)果,它包含工作流執(zhí)行所需要的信息。工作流模型主要由任務(wù)集合以及任務(wù)之間的依賴關(guān)系構(gòu)成。
工作流模型::={任務(wù)}+{任務(wù)依賴關(guān)系}
定義2工作流(workflow)。它是工作流模型的一個(gè)實(shí)例,又稱為工作流實(shí)例(workflow instance),表示業(yè)務(wù)過程的一次執(zhí)行。工作流實(shí)例主要由活動(dòng)集合以及活動(dòng)之間的依賴關(guān)系構(gòu)成。
工作流實(shí)例::={活動(dòng)}+{活動(dòng)依賴關(guān)系}
定義3任務(wù)(task)。在工作流模型中,任務(wù)可分為虛任務(wù)和實(shí)任務(wù)兩類。其中虛任務(wù)在工作流模型中起輔助控制作用,不需要具體資源參與執(zhí)行;實(shí)任務(wù)是工作流模型中的具體業(yè)務(wù)的執(zhí)行單元,需要具體資源支持。在不作具體說明的情況下,本文提到的任務(wù)即指實(shí)任務(wù)。構(gòu)成一個(gè)完整任務(wù)的要素包括數(shù)據(jù)、資源、時(shí)間、控制等。
任務(wù)::={數(shù)據(jù)變量}+{資源類型}+{邏輯時(shí)間參數(shù)}+{控制單元}
定義4活動(dòng)(activity)。它是工作流實(shí)例中的任務(wù)執(zhí)行單元,是工作流模型中任務(wù)的實(shí)例化。構(gòu)成一個(gè)完整活動(dòng)的要素與任務(wù)相同,然而不同的是這些要素在活動(dòng)創(chuàng)建的過程中也被實(shí)例化了。
活動(dòng)::={數(shù)據(jù)對(duì)象}+{資源實(shí)體}+{系統(tǒng)時(shí)間參數(shù)}+{控制參量}
定義5數(shù)據(jù)(data)。它是業(yè)務(wù)執(zhí)行的操作對(duì)象,是任務(wù)執(zhí)行所需輸入和必然輸出。在創(chuàng)建工作流模型過程中,可以根據(jù)執(zhí)行任務(wù)的資源類型來確定其所需的數(shù)據(jù)類型,但無法確定具體的數(shù)據(jù)值,因而在工作流模型中,數(shù)據(jù)要素僅表現(xiàn)為具備數(shù)據(jù)類型的數(shù)據(jù)變量;在創(chuàng)建工作流實(shí)例和執(zhí)行工作流實(shí)例的過程中,有些數(shù)據(jù)變量將在工作流實(shí)例初始化階段被賦值,而其他的數(shù)據(jù)變量也會(huì)在工作流的執(zhí)行階段被相應(yīng)的活動(dòng)賦值。為此,數(shù)據(jù)要素實(shí)例化的過程就是對(duì)數(shù)據(jù)變量賦值的過程。從廣義上講,將一個(gè)數(shù)據(jù)變量的值稱為數(shù)據(jù)對(duì)象。
定義6資源(resource)。它是任務(wù)的執(zhí)行者和具體活動(dòng)的參與者。對(duì)于某一具體任務(wù),具備執(zhí)行該任務(wù)能力的資源實(shí)體可能存在多個(gè),將具體相同任務(wù)執(zhí)行能力的資源抽象為一個(gè)資源類。在工作流模型中,與任務(wù)相對(duì)應(yīng)的資源要素均為資源類;工作流實(shí)例中,任務(wù)實(shí)例化為活動(dòng),活動(dòng)的進(jìn)行需要具體資源實(shí)體的參與。為此,資源要素實(shí)例化的過程就是從資源類中選擇合適的資源實(shí)體完成相應(yīng)的活動(dòng)。
定義7時(shí)間(timing)。它是影響工作流模型性能的重要因素,是任務(wù)模型的重要組成。任務(wù)的時(shí)間因素包括任務(wù)最早開始時(shí)間、任務(wù)最遲開始時(shí)間、任務(wù)執(zhí)行周期三個(gè)主要參數(shù)。 在工作流模型中,所有時(shí)間參數(shù)均使用邏輯時(shí)間。在創(chuàng)建工作流實(shí)例的過程中,系統(tǒng)需要根據(jù)一定的映射關(guān)系將模型中的邏輯時(shí)間參數(shù)轉(zhuǎn)換為系統(tǒng)時(shí)間參數(shù)。
定義8控制(control)。它是指工作流模型中各任務(wù)之間的邏輯控制關(guān)系,負(fù)責(zé)顯性表示定義9中的控制依賴。根據(jù)工作流管理聯(lián)盟提出的四種基本工作流邏輯原語,控制邏輯可分為順序控制、并發(fā)控制、選擇控制和循環(huán)控制四個(gè)基本控制單元。
定義9任務(wù)依賴關(guān)系(tasks dependency relations)。它是指工作流模型中各任務(wù)之間的依賴關(guān)系。文獻(xiàn)[38]將任務(wù)依賴關(guān)系分為因果依賴和規(guī)章依賴,本文根據(jù)構(gòu)成任務(wù)的四個(gè)重要組成要素將任務(wù)依賴關(guān)系分為數(shù)據(jù)依賴、資源依賴、時(shí)間依賴和控制依賴。 數(shù)據(jù)依賴是指任務(wù)之間通過數(shù)據(jù)產(chǎn)生依賴關(guān)系,如任務(wù)T2的啟動(dòng)依賴于任務(wù)T1所產(chǎn)生的數(shù)據(jù);資源依賴是指任務(wù)之間通過資源產(chǎn)生依賴關(guān)系,如任務(wù)T2的啟動(dòng)依賴于任務(wù)T1所釋放的資源;時(shí)間依賴是指任務(wù)之間通過時(shí)間產(chǎn)生依賴關(guān)系,如任務(wù)T2必須在任務(wù)T1完成后的t時(shí)刻開始啟動(dòng);控制依賴是指任務(wù)之間通過控制產(chǎn)生的依賴關(guān)系,如任務(wù)T1執(zhí)行結(jié)束后直接控制任務(wù)T2的啟動(dòng)。
22基本假設(shè)
假設(shè)1工作流模型中的任務(wù)一旦執(zhí)行,則在執(zhí)行過程中是不允許中斷的。
假設(shè)2數(shù)據(jù)變量的狀態(tài)包括有效狀態(tài)和無效狀態(tài)兩種。通過對(duì)處于無效狀態(tài)的數(shù)據(jù)變量賦值使之轉(zhuǎn)換為有效狀態(tài);通過對(duì)處于有效狀態(tài)的數(shù)據(jù)變量進(jìn)行清除使之轉(zhuǎn)換為無效狀態(tài)。狀態(tài)轉(zhuǎn)換過程如圖1所示。
數(shù)據(jù)變量的操作類型主要包括讀操作、寫操作和清除操作。令DR(d,t)為數(shù)據(jù)變量d在時(shí)刻t的數(shù)據(jù)讀操作集合;DW(d,t)為數(shù)據(jù)變量d在時(shí)刻t的數(shù)據(jù)寫操作集合;DC(d,t)為數(shù)據(jù)變量d在時(shí)刻t的數(shù)據(jù)清除操作集合;DO(d,t)為數(shù)據(jù)變量d在時(shí)刻t的所有數(shù)據(jù)操作集合,則有
假設(shè)3數(shù)據(jù)變量d在時(shí)刻t的所有數(shù)據(jù)操作集合DC(d,t)只存在以下四種情況:
DO(d,t)=DW(d,t),|DW(d,t)|=1DC(d,t),|DC(d,t)|=1DR(d,t),|DR(d,t)|=n,n≥1
且(DW(d,t)∩DR(d,t))∪(DW(d,t)∩DC(d,t))∪
(DR(d,t)∩DC(d,t))=
假設(shè)4令Ri為資源類,rj為資源實(shí)體,則有
rj,Ri,rj∈Ri且i≠j,Ri∩Rj=
假設(shè)5對(duì)任意資源實(shí)體rj,在時(shí)刻t能夠且僅能夠執(zhí)行一個(gè)任務(wù)。
3MD_WFN模型
31MD_WFN模型的形式化定義
在給出MD_WFN模型定義之前,首先給出多維Petri網(wǎng)(MDPN)的形式化定義。
定義10七元組=(S,T,F(xiàn);K,W,M0;I)稱為一個(gè)多維Petri net模型(MDPN)。其中:
a)′=(S,T,F(xiàn);K,W,M0)是一個(gè)網(wǎng)系統(tǒng)[38]。
b)S=S1∪S2∪S3。其中:S1為控制庫所集合,表示模型中的任務(wù)使能控制節(jié)點(diǎn);S2為數(shù)據(jù)變量庫所集合,表示模型中的數(shù)據(jù)變量;S3為資源類庫所集合,表示模型中的資源類型。
c)T=T1∪T2。其中:T1是實(shí)任務(wù)變遷集合,表示模型中的實(shí)任務(wù);T2是虛任務(wù)變遷集合,表示模型中的虛任務(wù)。
d)S∩T=。
e)F(S×T)∪(T×S)。
f)K:S→{1,∞}稱為庫所S的容量函數(shù)。其中:
s∈S1∪S2,K(s)=1∧s∈S3,K(s)=∞。
g)W:F→{0,1}稱為F權(quán)函數(shù)。
h)M0:S→{0,1,2,…}是的一個(gè)初始標(biāo)志,滿足條件s∈S:M0(s)≤K(s)。
i)滿足變遷發(fā)生規(guī)則
(a)對(duì)于t∈T,M|t>的條件為
s∈·t:M(s)>0s∈·t:M(s)≥W(s,t)s∈·t-t·:M(s)+W(t,s)≤K(s)
s∈·t∩t·:M(s)+W(t,s)-W(s,t)≤K(s)
(b)若M|t>M′,則對(duì)于s∈S,
M′(s)=M(s)-W(s,t),若s∈·t-t·M(s)+W(s,t),若s∈t·-·t
M(s)+W(t,s)-W(s,t),s∈·t∩t·M(s),其他
其中:·t={x|x∈S∪T∧(x,t)∈F};t·={x|x∈S∪T∧(t,x)∈F}。
j)I:T→R0,這里R0表示非負(fù)實(shí)數(shù)集。對(duì)于t∈T,若I(t)=td,那么變遷t在標(biāo)志M有發(fā)生權(quán)時(shí),即M|t>M′,那么由標(biāo)志M到標(biāo)志M′的轉(zhuǎn)變要經(jīng)過td個(gè)時(shí)間單位才能完成,也就是說td表示任務(wù)t的邏輯執(zhí)行時(shí)間。
定義11設(shè)A、D、R分別表示工作流模型中的任務(wù)名、數(shù)據(jù)變量名、資源類型名的集合,則其上的多維工作流模型是一個(gè)六元組MD_WFN=(MDPN;i,o;Ct,Cd,Cr)。其中:
a)MDPN是一個(gè)多維Petri網(wǎng);
b)i,o分別是MD_WFN模型的開始和結(jié)束庫所,其定義和約束與WF-net[18]相同;
c)Ct:T1→A;Cd:S2→D;Cr:S3→R。
32MD_WFN模型的圖形表示
為了便于建模以及模型的閱讀,圖2給出了MD_WFN模型的基本圖形表示。
4基于MD_WFN模型的模式研究
41控制模式
工作流管理聯(lián)盟提出了順序、并發(fā)、選擇和循環(huán)四種基本工作流邏輯原語,通過這四種基本邏輯原語的組合可實(shí)現(xiàn)多種更為復(fù)雜的邏輯關(guān)系。針對(duì)這四種邏輯原語,圖3給出了相應(yīng)的控制模式。通過這四種基本控制模式的組合,可以實(shí)現(xiàn)更多復(fù)雜的控制。
42數(shù)據(jù)模式
根據(jù)數(shù)據(jù)狀態(tài)假設(shè)和數(shù)據(jù)操作假設(shè),數(shù)據(jù)模式可分為讀數(shù)據(jù)、寫數(shù)據(jù)、清除數(shù)據(jù)三種基本模式。其中讀數(shù)據(jù)模式又可分為數(shù)據(jù)拷貝引用和數(shù)據(jù)對(duì)象引用兩種模式,如圖4所示。數(shù)據(jù)對(duì)象引用是指數(shù)據(jù)變量作為直接操作對(duì)象被任務(wù)所使用,其操作結(jié)果將改變數(shù)據(jù)的類型和狀態(tài),為此該模式下的數(shù)據(jù)變量庫所與任務(wù)變遷之間的流關(guān)系權(quán)值為1;與數(shù)據(jù)對(duì)象引用相反,數(shù)據(jù)拷貝引用模式下,任務(wù)操作對(duì)象只是數(shù)據(jù)變量的值而不是數(shù)據(jù)變量本身,其操作結(jié)果不改變數(shù)據(jù)變量的值、類型和狀態(tài),因此在該模式下的數(shù)據(jù)變量庫所與任務(wù)變遷之間的流關(guān)系權(quán)值為0。數(shù)據(jù)寫入操作模式是指任務(wù)對(duì)某數(shù)據(jù)變量賦值的操作過程。為了避免賦值操作的重復(fù)進(jìn)行,數(shù)據(jù)變量庫所的容量設(shè)置為1,這樣只有當(dāng)數(shù)據(jù)變量庫所為空時(shí)數(shù)據(jù)變量賦值操作才可以進(jìn)行。因此在多數(shù)情況下,完成一次數(shù)據(jù)變量賦值操作需要分為數(shù)據(jù)清除和數(shù)據(jù)寫入兩步進(jìn)行。
43資源模式
資源是完成任務(wù)的執(zhí)行者根據(jù)執(zhí)行任務(wù)后資源狀態(tài)是否變化,可將資源分為狀態(tài)不變資源和狀態(tài)變化資源兩類。狀態(tài)不變資源是指在資源執(zhí)行任務(wù)前后,其狀態(tài)保持一致,執(zhí)行任務(wù)的過程并不會(huì)改變資源的狀態(tài);狀態(tài)變化資源是指在資源執(zhí)行任務(wù)后,其狀態(tài)發(fā)生改變,無法再執(zhí)行原有任務(wù),如水作為一種資源可以清洗物品,但在清洗完物品后,水的狀態(tài)由清水變?yōu)槲鬯瑹o法再繼續(xù)被用來洗滌物品。對(duì)應(yīng)著這兩種不同類型的資源,資源模式分為資源狀態(tài)不變模式和資源狀態(tài)變化模式兩種,如圖5所示。
44時(shí)間模式
任務(wù)的時(shí)間因素包括任務(wù)最早開始時(shí)間、任務(wù)最遲開始時(shí)間、任務(wù)執(zhí)行周期三個(gè)主要參數(shù),如圖6所示。其中,(a)表示任務(wù)Y最早要在任務(wù)X結(jié)束后的e時(shí)刻開始執(zhí)行;(b)表示任務(wù)Y最遲要在任務(wù)X結(jié)束后的l時(shí)間內(nèi)開始執(zhí)行,否則任務(wù)Y將失去執(zhí)行權(quán);(c)表示任務(wù)Y每隔時(shí)間c開始執(zhí)行一次。
5基于MD_WFN的工作流建模過程
a)根據(jù)任務(wù)原子性假設(shè),將具體業(yè)務(wù)分解成多個(gè)原子任務(wù),并確定每個(gè)原子任務(wù)所需的資源類型、執(zhí)行時(shí)間以及相應(yīng)的輸入/輸出數(shù)據(jù)變量。
b)根據(jù)業(yè)務(wù)規(guī)則確定各原子任務(wù)之間的控制關(guān)系,并使用MD_WFN模型中的控制模式對(duì)控制關(guān)系進(jìn)行描述。
c)使用MD_WFN模型中的數(shù)據(jù)庫所對(duì)業(yè)務(wù)中的所有數(shù)據(jù)變量進(jìn)行描述,并根據(jù)任務(wù)的輸入/輸出數(shù)據(jù)變量關(guān)系確定各任務(wù)之間的數(shù)據(jù)依賴關(guān)系。
d)使用MD_WFN模型中的資源庫所對(duì)業(yè)務(wù)中的所有資源類型進(jìn)行描述,并將各任務(wù)與其使用的資源類型進(jìn)行關(guān)聯(lián)。
e)確定任務(wù)的執(zhí)行時(shí)間,并通過MD_WFN中的時(shí)間模式來完成對(duì)任務(wù)最早開始時(shí)間和最遲開始時(shí)間的設(shè)計(jì),形成基于MD_WFN的工作流初步設(shè)計(jì)方案。
f)按照變遷點(diǎn)和規(guī)則對(duì)基于MD_WFN的工作流初步設(shè)計(jì)方案進(jìn)行業(yè)務(wù)流程的系統(tǒng)仿真(手工或自動(dòng)),對(duì)設(shè)計(jì)結(jié)果作出分析和評(píng)價(jià),進(jìn)行再設(shè)計(jì)和優(yōu)化,直至滿意為止。
6MD_WFN模型應(yīng)用案例
本章以患者到醫(yī)院內(nèi)科就診的過程為例,簡單闡述MD_WFN模型在業(yè)務(wù)流程設(shè)計(jì)中的應(yīng)用。
患者到醫(yī)院就診的過程包括下面幾個(gè)步驟:a)患者來到醫(yī)院后首先要掛號(hào);b)到內(nèi)科進(jìn)行初步診斷;c)根據(jù)醫(yī)生開出的體檢項(xiàng)目進(jìn)行檢查;d)醫(yī)生根據(jù)檢查的結(jié)果給出詳細(xì)診斷結(jié)果;e)就診結(jié)束,患者離開醫(yī)院。根據(jù)這個(gè)流程將患者就診過程分解為六個(gè)子任務(wù),如表1所示。在這六個(gè)子任務(wù)中只有樣本化驗(yàn)任務(wù)為虛任務(wù),樣本化驗(yàn)過程通過批量分析儀器進(jìn)行。在本模型中,化驗(yàn)儀器不是工作流建模的重點(diǎn),為此只用一個(gè)虛任務(wù)對(duì)其表示,將其時(shí)間要素顯性表現(xiàn)出來,把其他細(xì)節(jié)屏蔽。圖7為內(nèi)科患者就診過程的MD_WFN模型。
表1患者就診過程子任務(wù)表
任務(wù)名稱執(zhí)行資源類輸入數(shù)據(jù)輸出數(shù)據(jù)執(zhí)行周期/min
掛號(hào)掛號(hào)員患者信息掛號(hào)單患者0.5
初步診斷醫(yī)生患者掛號(hào)單血液化驗(yàn)單B超檢查單5
血液采樣血液化驗(yàn)員患者血液化驗(yàn)單1
樣本化驗(yàn)血液化驗(yàn)結(jié)果報(bào)告單20
B超檢查B超檢查員患者B超檢查單B超檢查結(jié)果報(bào)告單10
詳細(xì)診斷醫(yī)生血液化驗(yàn)結(jié)果報(bào)告單B超檢查結(jié)果報(bào)告單診斷結(jié)果報(bào)告5
7結(jié)束語
MD_WFN模型作為一種基于Petri網(wǎng)的工作流建模方法,通過對(duì)原始Petri網(wǎng)中的庫所和變遷進(jìn)行分類處理,實(shí)現(xiàn)了控制、數(shù)據(jù)、資源、時(shí)間等要素在工作流模型中統(tǒng)一描述。本文對(duì)MD_WFN模型的形式化定義及圖形化表示進(jìn)行了詳細(xì)闡述,并對(duì)基于MD_WFN模型的工作流控制模式、數(shù)據(jù)模式、資源模式以及時(shí)間模式進(jìn)行研究,給出了各種模式的模型表示;最后以內(nèi)科患者就診過程為例對(duì)MD_WFN模型在業(yè)務(wù)流程設(shè)計(jì)中的應(yīng)用進(jìn)行了簡單說明。通過對(duì)原始Petri網(wǎng)中的庫所和變遷進(jìn)行分類處理,極大地豐富了Petri網(wǎng)在應(yīng)用于工作流建模過程中的表述語義,提高了模型的描述能力。
參考文獻(xiàn):
[1]羅海濱,范玉順,吳澄.工作流技術(shù)綜述[J].軟件學(xué)報(bào),2000,11(7):899-907.
[2]范玉順,吳澄.工作流管理技術(shù)研究與產(chǎn)品現(xiàn)狀及發(fā)展趨勢[J].計(jì)算機(jī)集成制造系統(tǒng),2000,6(1):l-7.
[3]李煒,曾廣周,王曉琳.一種基于時(shí)間Petri網(wǎng)的工作流模型[J].軟件學(xué)報(bào),2002,13(8):1666-1671.
[4]龐善臣,蔣昌俊.Petri網(wǎng)在工作流系統(tǒng)建模和分析中的應(yīng)用 [J].系統(tǒng)仿真學(xué)報(bào),2002,13(8):1666-1671.
[5]范玉順.工作流管理技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2001.
[6]JENSEN K. Coloured Petri nets: basic concepts, analysis methods, and practical use[M]. Berlin: Spring-Verlag, 1992.
[7]MUTATA T,ZHANG Du. A predicate-transition net model for parallel interpretation of logic programs[J].IEEE Trans on Software Engineering,1988,14(4):481-497.
[8]MERLIN P M, FARBER D J. Recoverability of communication protocols implications of a theoretical study[J]. IEEE Trans on Communications,1976,24(9):1036-1049.
[9]POPOVA L. On time Petri nets[J].Journal Inform Process Cybern,1991,27(4):227-244.
[10]BERTHOMIEU B, MENASCHE M. An enumerative approach for analyzing time Petri nets[J].IEEE Trans on Software Enginee-ring,1983,17(3):41-67.
[11]BASTIDE R. Approaches in unifying Petri nets and the object-oriented approach[C]//Proc of International Workshop on Objected-Oriented Programming and Models of Concurrency. 1995.
[12]ICHIKAWA A, YOKOYAMA K, KUROGI S. Control of event-driven systems-reachability and control of conflict-free Petri nets[J]. Trans on Society Instrument Control Engineering,1985,21(4):324-330.
[13]BARKAOUIK, COUVREUR J M, DUTHEILLET C. On liveness in extended non self-controlling nets[C]//DeMICHELIS G,et al. Proc ofthe 16th International Conference on Application and Theory of Petri Nets.Berlin:Springer, 1995:25-44.
[14]SUZUKII,LU H. Temporal Petri nets and their application to modeling and analysis of a handshake daisy chain arbiter[J].IEEE Tans on Computers,1989,38(5):696-704.
[15]DAVID R, ALLA H. Continuous Petri nets[C]//Proc of the 8th European Workshop on Application and Theory of Petri Nets. 1987:275-294.
[16]LOONEY C G. Fuzzy Petri nets for rule-based decisionmaking[J].IEEE Trans on Systems, Man, and Cybernetics, 1988,18(1):178-183.
[17]陳勝,程景云.基于Petri網(wǎng)的工作流建模及仿真[J].計(jì)算機(jī)輔助工程,2000,9(5):34-37.
[18]Van der AALST W M P. The application of Petri nets to workflow management[J].The Journal of Circuit, System and Compu-ters,1998,8(1):21-66.
[19]BARKAOUI K, PETRUCCI L. Structural analysis of workflow nets with shared resources[J].Computing Science Reports,1998,12:82-95.
[20]ZHUGE Hai, CHEUNG T Y, PUNG H K. A timed workflow process mode[J].Journal of Systems and Software, 2001,55(3):231-243.
[21]LI Jian-qiang, FAN Yu-shun, ZHOU Meng-chu. Timing constrain workflow nets for workflow analysis[J].IEEE Trans on System, Man, and Cybernetics Part A: System and Humans,2003,33(2):179-193.
[22]LING S, SCHMIDT H. Time Petri nets for workflow modeling and analysis[C]//Proc ofIEEE International Conference on Advanced Information System, Man and Cybernetics. 2000:3039-3044.
[23]LI Hui-fang, FAN Yu-shun. Workflow model analysis based on time constraint Petri nets[J].Journal of Software,2004,15(1):17-26.
[24]SON J H, KIM M H. Improving the performance of time-constrained workflow processing[J].Journal of Systems and Software,2001,58(3):211-219.
[25]李煒,曾廣周,王曉琳. 一種基于時(shí)間Petri網(wǎng)的工作流模型[J]. 軟件學(xué)報(bào),2002,13(8):1666-1671.
[26]劉婷,林闖,劉衛(wèi)東. 基于時(shí)間Petri 網(wǎng)的工作流系統(tǒng)模型的線性推理[J]. 電子學(xué)報(bào),2002,30(2):245-248.
[27]李建強(qiáng),范玉順. 工作流模型時(shí)間有界性驗(yàn)證與分析研究[J]. 計(jì)算機(jī)集成制造系統(tǒng),2002,8(10):770-775.
[28]GEPPERT A, TOMBROS D, DITTRICH K. Defining the semantics of reactive components in event-driven workflow execution with event histories[J].Information System,1998,23(4):235-252.
[29]胡乃靜,顧寧,施伯樂. 基于語義約束死亡資源工作流并發(fā)正確性保證[J]. 計(jì)算機(jī)研究與發(fā)展,2003,40(5):712-719.
[30]杜玉越,蔣昌俊. 基于工作流網(wǎng)的實(shí)時(shí)協(xié)同系統(tǒng)模擬技術(shù)[J]. 計(jì)算機(jī)學(xué)報(bào),2004,27(4):471-481.
[31]唐達(dá),徐超,楊曉麗. 工作流建模中時(shí)態(tài)邏輯的研究與應(yīng)用[J]. 計(jì)算機(jī)集成制造技術(shù),2004,10(4):388-393.
[32]PAPAZOGLOU M, DELIS A, BOUGUETTAYA A,et al. Class library support for workflow environments and application[J].IEEE Trans on Computers, 1997,46(6): 673-686.
[33]LIU Dong-sheng, WANG Jian-min, CHEN S C F,et al. Modeling workflow processes with colored Petri nets [J].Computer in Industry, 2002,49(3):267-281.
[34]CHOI I, CHULSOON P, LEE C. Task net: transactional workflow model based on colored Petri net[J].European Journal of Operational Research,2002,136(2):383-402.
[35]WANG Li-chih, WU Shao-ying. modeling with colored timed object-oriented Petri nets for automated manufacturing systems[J].Compu-ters Industrial Engineering 1998,34(2):463-480.
[36]林闖, 田立勤, 魏丫丫. 工作流系統(tǒng)模型的性能等價(jià)分析[J]. 軟件學(xué)報(bào), 2002,13(8):1472-1480.
[37]WfMC. Workflow management coalition: terminology glossary[EB/OL].(1999-02). http://www.wfmc.org.
[38]袁崇義. Petri網(wǎng)原理與應(yīng)用[M]. 北京:電子工業(yè)出版社, 2005.