王衛東, 周國祥
(合肥工業大學 計算機與信息學院,安徽 合肥 230009)
工作流概念來自于生產組織和辦公自動化領域[1],是針對日常工作中具有固定程序活動而提出的一個概念。工作流管理聯盟(Workflow Management Coalition,簡稱 WFMC)將工作流定義為業務流程中的部分或者整體能夠自動運轉,按照一系列流程的規則,使文件、信息或者任務可以在各個參與者間進行傳遞和運行。簡單地說,工作流就是一系列相互銜接、自動進行的業務活動或任務。隨著電子政務和企業信息化進程的推進,現今的企業管理層已經不滿足于簡單任務的工作流程,還要求工作流程可以進行各種各樣的審核業務,故而出現了涉及審核業務的工作流管理系統,當處理小批量審核業務時,這種方法可以很好地解決審核業務。但是隨著企業的不斷發展,業務過程日趨復雜化,傳統的審核業務過程建模方法產生的工作流過程模型過于復雜。為了克服上述缺點,針對實際的審核業務流程研究,本文給出了一種基于Petri網層次結構化審核業務工作流建模方法,并對珠寶行業審核業務進行建模。
審核業務工作流[2]是根據一系列定義的規則,把文檔、圖像等在審核者之間進行傳遞,對人和其他資源進行協調管理,在人機交互下,由審核人來完成某項工作,以達到文檔、圖像等得到不同人的審閱、審核處理的目的。傳統審核業務工作流過程建模是以過程為核心,未詳細地分析審核業務之間所存在的邏輯關系。例如一項文件的審核要求多人給出審核結果,然后再進行匯總或者需要按照權限的劃分,按照一定的順序進行審核等?;趯Ω鞣N審核結構的分析,提出4種審核結構,即選擇審核、并行審核、順序審核及循環審核。圖1所示為一個審核業務的簡化示意圖。

圖1 審核業務示意圖
(1)選擇審核。根據一定的條件或狀態等選擇審核人進行審核,數據準備好后進行單價判斷,大于500元時進行A審核,否則進行B審核。
(2)并行審核。在業務過程中會出現同級別審核情況,需要多人進行審核,全部通過之后進行審核結果匯總。數據準備好后產生數據需要進行C與D并行審核,必須兩者都審核通過時才可得到結果。
(3)順序審核。在業務過程中會出現一些需要遞推審核的情況,按照任務的要求分步審核。數據準備好后,按照權限的劃分,當E審核之后再進行F審核。
(4)循環審核。在審核不通過時需返回重新數據準備,再進行審核。每一步審核不通過時,需要返回數據準備階段重新審核,循環審核包含于其他3種審核方式之中。
結合上述分析對審核業務工作流進行建模,采用的是Petri網技術[3]。
定義1 Petri網PN =(P,T,F)是工作流網(WF-net),當且僅當:
(1)存在一個輸入庫所i∈P,使得·t=?。
(2)存在一個輸出庫所o∈P,使得o·=?。
(3)若在PN中加入一個新的變遷t*,使t*連接庫所o和i,即·t*={o},t*·={i},則此時所得到的PN是強連通的。
每一個節點x∈P∪T都位于從i到o的一條路徑上。一個 WF-net有一個輸入庫所(i)和一個輸出庫所(o)。
定義2 在工作流網PN=(P,T,F)中,加入一個新變遷t*,使t*連接庫所o和i,即·t*={o} ,t*·= {i},從而得到一個工作流網,其中{〈o,t*〉,〈t*,i〉},則稱為擴展工作流網。
在工作流網中,用變遷t∈T來表示工作項,如圖1中的各個審核項。庫所p∈P表示工作流中的相關條件或資源,如圖1中的數據準備。p中至少有一個令牌,則對應的變遷t是授權的,即t有可能觸發,相當于工作項有可能執行。根據需要添加變遷t以及相應的庫所來動態擴展工作流網,以滿足建模的需要。
出于減輕審核業務工作流過程模型復雜性的目的,提出層次結構化建模方法。為了體現模型的層次性,根據粒度的劃分,頂層模型引入了抽象變遷概念,進行粗粒度建模,從而實現在不同層次上的過程建模,由上到下逐步細化過程模型。
定義3 活動是一系列操作所組成的過程,是過程分解最基本的工作單元,活動受工作流引擎驅動完成某一任務。
定義4 抽象變遷是對頂層模型粗粒度的分解,是一組活動的集合。抽象變遷可以繼續分解成下一級的多個活動,以滿足建模所需要的粒度要求。
定義5 審核模型是針對上述提出的4種審核方式建立的結構化模型,對應為選擇審核結構、并行審核結構、順序審核結構及循環審核結構。
頂層模型Petri網映射如圖2所示。

圖2 頂層模型Petri網映射
WFMC定義了4種工作流路由結構[4],即選擇、并行、循環和順序結構,這4種結構為工作流執行的基本結構。為了方便4種審核模型的Petri網表示,引入4種構造模塊進行約束,它們分別是與分支、與連接、或分支、或連接。與分支模塊和與連接模塊的共同使用表示一個并行執行過程,或分支模塊和或連接模塊的共同使用表示一個選擇執行過程。4種審核模型的Petri網映射如圖3所示。

圖3 4種審核模型Petri網映射
本文的層次結構化過程模型通過對審核業務活動分解進行建模,與傳統的建模方法相比具有如下優點:
(1)建立在Petri網之上,具有嚴格的數學基礎。
(2)可以隱藏過程模型中審核活動的內部細節。
(3)審核模型能更加直觀、清晰地描述審核業務。
(4)克服了傳統審核業務建模方法中活動之間的緊耦合、缺乏柔性的問題。
(5)可以使復雜的業務流程在任務分解過程中得到簡化,進而簡化工作流的建模。
基于審核業務的特色,結合上述提出的4種審核模型[5]和本文提出的審核業務層次結構化模型,提出以下建模方法。
(1)將業務過程中的每一步根據任務劃分粒度的不同,用一個活動變遷或一個抽象變遷表示,建立頂層模型,而每個活動之間的因果關系用庫所(p)和變遷(t)來表示。
(2)業務過程開始表示為只有一個起始庫所的開始結構,而業務過程結束則表示為只有一個終止庫所的結束結構。
(3)可以用任何一種審核模型來替代抽象變遷,每個被替代的抽象變遷只有一個輸入庫所和一個輸出庫所,則輸入庫所和替代控制結構中的輸入庫所合并,而它的輸出庫所和替代控制結構中的輸出庫所合并。
(4)根據需要采用相應的工作流審核模型,并且任何一個審核模型,包括順序、選擇、并行和循環,可以把審核模型庫所與相應的活動鏈接在一起,并且任意2個審核模型也可以通過一個審核模型的輸入庫所和另一個審核模型的輸出庫所合并而鏈接在一起。
(5)重復步驟(3)和(4),直到所有的審核流程都處理完畢。
以珠寶行業管理系統項目[6-9]為例,說明層次結構化審核業務Petri網建模。審核項目任務從開始庫所出發,首先倉庫管理員提交待審核清單,由商場管理部門和財務部門并行進行調研并審核。如果審核不通過,2個部門分別給出修改意見并返回到初始。如果通過則將2個并行審核的文件匯總,然后送至秘書審核。若審核通過則送至總經理審核,總經理審核通過則問題結束,否則返回初始。
通過對實例分析不難發現,倘若對問題按照傳統建模方法建模,當問題繁瑣時,不易進行全局統籌考慮,容易誤漏信息;當進行相關活動添加時,由于問題活動之間的耦合性太強,可能會造成模型關系的混亂,故利用本文提出的建模方法進行建模。
(1)進行頂層模型建模,包括2個活動及2個審核部分。由此建立了頂層模型,如圖4所示。

圖4 審核業務頂層模型
其中P1表示開始庫所,包含令牌數代表著審核項目數量。抽象變遷Ⅰ對應著一個并行審核模型,抽象變遷Ⅱ對應著一個順序審核模型。變遷生成審核清單和信息匯總對應于活動提交審核清單和信息匯總。
(2)分析2個審核部分的結構特點,建立3種審核模型,如圖5所示。并行審核模型表示商場管理人員審核通過的同時要求財務審核通過,兩者假如有一項審核未通過則需返回重新準備數據,兩者皆通過之后才可以進行信息的匯總,如圖5a所示。順序審核模型表示在秘書審核通過之后才可以繼續進行總經理審核,屬于遞推關系,如圖5b所示。循環審核模型包含于2種審核模型中,當每一步不同意時,則返回相應活動進行循環審核。

圖5 審核模型
(3)按照本文提出方法進行合并操作的工作流過程模型,如圖6所示。

圖6 工作流過程模型
審核項目任務從開始庫所(P1)(包含令牌)出發,首先生成清單變遷主要作用是生成審核數據清單。P2獲得令牌表示待審核清單,之后由商場管理部門和財務部門并行進行調研并審核(對應于商場管理審核和財務審核變遷)。P5獲得令牌代表商場管理部門審核后的結果,P6獲得令牌代表財務部門審核后的結果。如果審核不通過,2個部門分別給出修改意見對應P3、P4,并返回到生成清單變遷。如果通過則將2個并行審核的文件匯總(對應信息匯總變遷),庫所P7獲得令牌代表2個部門審核通過的結果,P9獲得令牌代表匯總過的審核結果,之后由秘書對匯總之后的審核案例進行審核(對應秘書審核變遷)。P10獲得令牌代表秘書審核的結果,如果審核不通過,則給出審核意見對應P8,返回生成清單變遷。秘書審核通過則給出審核結果,交由總經理審核對應庫所P11(獲取令牌),總經理審核(對應總經理審核變遷)通過則給出意見對應P12(獲得令牌),任務結束,令牌歸于庫所end,其他庫所無令牌。如果審核不通過,則給出審核意見對應P13,返回生成清單變遷。
以審核結構為核心的建模方式,可以更清晰地表示審核行為,同時可降低審核模型內部與外部的耦合性。
工作流過程建模與分析是工作流技術的重要研究課題之一?;赑etri理論,本文詳細闡述了一種工作流建模方法,提出了審核模型的概念以及引入了“抽象變遷”概念。此方法可以隱藏子網的內部結構和詳細描述,使子網的描述并行進行,整個模型具有良好的層次結構。通過修改審核模型來實現企業審核業務系統的動態配置和管理,使其更好地解決企業業務繁瑣性、靈活性所帶來的多變操作。同時該模型實現了分層結構化建模,可將系統的復雜問題逐層分解,從而降低系統的復雜度。
[1]羅海濱,范玉順,吳 澄.工作流技術綜述[J].軟件學報,2000,11(7):899-907.
[2]歐陽俊,楊貫中,楊 柳,等.一種基于Petri網的審核業務工作流模型[J].計算機應用,2005,25(3):688-690.
[3]盧捍華,閔麗娟,王亞石.工作流主從實例處理方法及其Petri網建模[J].通信學報,2010,31(1):92-99.
[4]WfMC.The workflow reference model[EB/OL].[2012-03-10].Technical Report Document Number WfMC-TC-1003,Document Status-Issue 11,http://www.wfmc.org/standards/docs.htm,1995.
[5]李錫祚,韓桂英.一種結構化的工作流過程建模方法[J].計算機工程,2005,31(8):63-65.
[6]邵 虹,張 雷,崔文成,等.面向服務的工作流管理系統研究[J].計算機集成制造系統,2008,14(11):2212-2216.
[7]杜彥華,范玉順.基于事件-狀態-過程規則的跨組織工作流協同方法[J].計算機集成制造系統,2008,14(7):1342-1348.
[8]周 宇,王 瑋,趙洪斌,等.基于工作流技術的B/S結構電力生產協同組織管理系統[J].計算機應用,2008,28(Z1):387-389.
[9]高德平,周國祥.基于著色Petri網的工作流模型研究與應用[J].合肥工業大學學報:自然科學版,2010,33(2):201-203,218.