張 格 王緯武 代月川
(鄭州大學西亞斯國際學院,河南 新鄭 451150)
工作流管理系統的非常重要的目就是要支持對時間信息的處理。例如計劃工作流的運行時間、估計活動實例的執行時間延遲、避免違反截止期限等。開展時間管理研究,對于增強工作流管理系統的柔性、確保工作流計劃任務的高效執行和提高企業工作競爭力具有重要意義。現代B2B電子商務工作流程中涉及到多個層級多個部門,在使用普通Petri網進行描述時,往往由于規模過大、細節過多、表示復雜使得其難以理解。本來很簡單的流程變成只有專業人士才能閱讀的Petri網模型。為此,筆者提出一種基于著色Petri網(CPN)對電子政務流程進行建模的方法,通過合并一些庫索和變遷,使得P和T的數量大大減少,圖形更加簡約。并對模型結構的合理有效性進行論證。
CPN可以表示成九元組形式,即CPN=(Σ,P,T,A,N,C,G,E,I)中,Σ:為顏色(Color)的非空有限集合,稱作顏色集(Color set);P:為描述系統庫所(Place)的有限集合;T:為變遷(Transition)的有限集合;A:為弧(Arc)的有限集合,滿足;P∩T=P∩A=A∩T=?N:A→(P×T∪T×P)為節點(Node)有限集函數;C:(P∪T)→Σss,是著色函數 (color function),其中Σss是Σ的有限子集;G:T→表達式,是T的警衛函數(guard function),且滿足:t∈T:[Type(G(a))=Bool∧Type(Var(G(t)))?Σ],Bool={true,false};E:A→表達式,是弧表達式函數(arc expression functions),且滿足?a∈At:[Type(E(a))=C(p(a))MS∧Type(Var(E(a)))?Σ];I:為 P→表達式的初始標識,且滿足?p∈P:[Type(I(p))=C(p)MS∧Var(I(p))=?].
CPN與普通網有兩個最基本和重要的區別:
(1)CPN的著色類型的標定表示系統中不同類型的資源,同時每個庫所都與特定的顏色集綁定,表示該庫所中只能存放相應顏色的token,在弧上和變遷上存在著條件表式和函數,說明弧的權值和顏色屬性以及變遷觸發的約束條件。標記的顏色可以是任意復雜的數據,從而大大簡化了系統的復雜度。(2)CPN具有層次結構,這可以從整體到局部,由粗到精把系統分頁,逐步細化,突出重點。通過層次的使用,使得CPN成為處理大型應用的功能強大的建模工具。同時,它又是少有的能同時用于驗證系統功能邏輯的正確性和評估系統性能的建模語言。但由于token的引入使得模型的可讀性降低。

圖1 四種基本路由結構的Petri網表示
工作流管理聯盟定義了4種基本的工作流路由結構 (詳見圖1):(1)順序路由。表示兩個任務之間存在時序依賴關系,在前一個任務完成之前,后一個任務不能執行。(2)并行路由。表示并行的兩個或多個任務之間可以任意順序執行。(3)選擇路由。表示在流程的某一點,依執行結果選擇一條路徑繼續執行。(4)循環路由。表示某一個任務可能需要執行多次。
這四種結構是工作流執行的基本結構,所有工作流的執行結構可以由這四種基本結構組合而成。
在一個管理規范、行政高效的企業,一次完整的采購活動會涉及到多個子部門和人員,這些部門和人員都是本著互相制、監督的原則設立的。所以必須有效地調配資源使得這樣的約束和監督在最少的機構下實現最好的效果。
構建這樣一個體系的整體思路如下:首先對整個企業的運作模式進行設計,此時不用考慮各個機構的內部活動。利用CPN的分層特性,建立頂層的CPN模型。在此基礎上再對各個機構內部進行建模。在這里我們使用一次典型的招投標流程作為例子來說明建模的過程。
一個典型的招投標過程首先由發起單位根據工作需要發起采購某種物品或者軟件的請求,該請求會首先被傳遞到該單位的資產管理部門。核庫后發現沒有庫存,則批準該采購申請。然后遞交給財務部門,會計人員會對該申請的預期金額進行核算,如果預算中有足夠的錢去辦這個事情則將申請提交給上級主管部門。上級主管部門批準后該采購申請會直接到采購部門去處理剩下的招投標過程。

圖2 頂層的CPN模型
在一般的B2B電子商務采購流程中需要考慮諸多因素,例如供應商、價格、貨物規模以及消耗的資源等。然而用著色Petri網對其進行分析時,只需考慮商品數量和商品種類兩個因素。用語言CPN ML來描述模型中的聲明,模型中用到的顏色集,變量和一些
參數的定義如下:


從上述聲明中可以看出,定義的顏色集Role描述工作流中的機構。同時可以看出,通過這些顏色的增加,可以加強模型的解釋能力,使模型含義更豐富,增加對工作流活動和狀態轉移建模的需求。由于CPN參數還可以根據不同的模型適當增加,因此該CPN模型也具有很強的可擴展性。
定購貨物的配送過程用函數delivery(i,j)描述。變量i表示訂單需求的數量,變量j表示商品庫存數量。該函數的結果是:如果庫存數量滿足訂單要求,則傳送訂單商品,返回值為0;如果庫存商品不滿足訂單,則將i-j的值返回,表示沒有傳送貨物所需的庫存。
用函數order(i,j)表示供貨商根據訂單要求向其他機構重新發出訂購要求的行為。如果庫存有足夠,則不訂購任何商品,返回值為0;如果庫存商品匱乏,則i-j的商品會被先訂購,同時向其他機構發出新的訂單請求,要求訂購商品的數量為i+i-j,使庫存量變為i。
用戶要求購n件某商品時網上商城將會根據銀行的認證和自己的驗證來確定用戶的合法性,如果確定用戶合法,則把用戶的要求發送給供貨商,由供貨商來提供商品。當供貨商(假設供貨商目前的庫存量為n)收到來自網上商城的訂單(x,n)時,首先檢查自己是否有該種商品,如果有,則將n件商品傳給物流商,同時更改庫存量為N-n,由物流商發送商品。如果庫存量小于n件,就先向用戶提供N件商品,然后向生產商要求補給n+n-N件商品,使供貨商的庫存產品數量隨著訂購和配送的變化而變化。
根據全局變量的定義,忽略商品種類,在子過程中只傳遞需求商品的數量。該工作流中p表示商品提供者的類型;P1表示“商品需求信息”;P2表示 “庫存商品的數量”;P3表示 “生成下一級的訂單”;P4表示“匹配過程”;P5表示“根據處理最終傳遞給請求者的商品數量”;P6表示“下級傳遞回來的商品的數量”;S表示每次處理一張訂單所消耗的資源;P7表示“將結果傳給下一個機構”。對于生產商來說,此時P6=P3,即需要生產商品時,生產商生產商品,之后直接將商品轉入庫存。T1表示“處理生成訂單”。根據需求信息和庫存量來判斷如何生成訂單。如果庫存量能夠滿足需求,則將需求信息傳遞給匹配過程,此時order(n,N)=0。T2表示“處理訂單的過程”。該過程模擬了傳遞商品的行為,此時de1ivery(n,N)=0,改變P2的狀態,庫存量更改為delivery(N,n)=N-n。并且將最終狀態傳遞給P4,此時delivery(n,N)=0,表示貨物充足。如果不滿足的話,則delivery(n,N)=n-N表示不足的商品數量。T3表示“向庫存中增加商品的過程”。當商品數量為0時,則有T1,12和T3的限制條件n>0,nN>0保證不觸發事件。
基于CPN構建的電子商務工作流模型,能夠直觀地反映項目群實施過程中順序、并行或同步等復雜的時空邏輯關系,揭示商務流程內部動態行為特征,為全面、準確地掌握項目群實施全過程、實現項目群實施階段的流程集成以及項目群資源優化提供有力的技術與方法支持。通過CPN構建工作流模型,可以動態地觀察各個環節所耗費的時間和其他資源,找出拖延商務流程節點的事件,從而做出最優化的電子商務流程。提高生產型企業的工作效率和降低總有用成本。
基于CPN進行工作流建模,解決了利用普通Petri網建立的電子商務系統模型圖形過于復雜的缺陷,利用CPN對電子商務中網上購物系統建模的過程證明了這種技術可操作性強,并分析了模型的合理性,證明了CPN建模可以有效地降低模型的復雜性,圖形更加簡約。但是,由于顏色集的引入;使得模型的可讀性降低。同時,在建模的過程中未引入時間的因素,只能通過可達圖的方法來分析模型的結構合理性而未能夠進行模型的性能分析,今后需要做一些工作來克服這些缺點。
[1]陳翔,夏國平.基于著色Petri網的工作流建模和合理性分析[J].計算機集成制造系統CIMS,2004,10(4):381-387.
[2]王刊良.基于分類的企業電子商務模式創新方法[J].系統工程理論與實踐,2003(3):18-23.
[3]KURT Jensen.Colored Petri nets:Basic Concepts,Analysis Methods and Practical Use(Volume 1)[M].Berlin:Springer,1992:69-78.
[4]朝霞,曾廣周.Petri網在商務工作流建模中的應用研究[J].計算機工程與應用,2003(19):199-202.
[5]JENSEN K.Colored Petri nets-basic concepts,analysis methods and practical use[M].New York:Springer,1997.