張 格 王緯武 代月川
(鄭州大學(xué)西亞斯國際學(xué)院,河南 新鄭 451150)
工作流管理系統(tǒng)的非常重要的目就是要支持對時(shí)間信息的處理。例如計(jì)劃工作流的運(yùn)行時(shí)間、估計(jì)活動(dòng)實(shí)例的執(zhí)行時(shí)間延遲、避免違反截止期限等。開展時(shí)間管理研究,對于增強(qiáng)工作流管理系統(tǒng)的柔性、確保工作流計(jì)劃任務(wù)的高效執(zhí)行和提高企業(yè)工作競爭力具有重要意義?,F(xiàn)代B2B電子商務(wù)工作流程中涉及到多個(gè)層級多個(gè)部門,在使用普通Petri網(wǎng)進(jìn)行描述時(shí),往往由于規(guī)模過大、細(xì)節(jié)過多、表示復(fù)雜使得其難以理解。本來很簡單的流程變成只有專業(yè)人士才能閱讀的Petri網(wǎng)模型。為此,筆者提出一種基于著色Petri網(wǎng)(CPN)對電子政務(wù)流程進(jìn)行建模的方法,通過合并一些庫索和變遷,使得P和T的數(shù)量大大減少,圖形更加簡約。并對模型結(jié)構(gòu)的合理有效性進(jìn)行論證。
CPN可以表示成九元組形式,即CPN=(Σ,P,T,A,N,C,G,E,I)中,Σ:為顏色(Color)的非空有限集合,稱作顏色集(Color set);P:為描述系統(tǒng)庫所(Place)的有限集合;T:為變遷(Transition)的有限集合;A:為弧(Arc)的有限集合,滿足;P∩T=P∩A=A∩T=?N:A→(P×T∪T×P)為節(jié)點(diǎn)(Node)有限集函數(shù);C:(P∪T)→Σss,是著色函數(shù) (color function),其中Σss是Σ的有限子集;G:T→表達(dá)式,是T的警衛(wèi)函數(shù)(guard function),且滿足:t∈T:[Type(G(a))=Bool∧Type(Var(G(t)))?Σ],Bool={true,false};E:A→表達(dá)式,是弧表達(dá)式函數(shù)(arc expression functions),且滿足?a∈At:[Type(E(a))=C(p(a))MS∧Type(Var(E(a)))?Σ];I:為 P→表達(dá)式的初始標(biāo)識(shí),且滿足?p∈P:[Type(I(p))=C(p)MS∧Var(I(p))=?].
CPN與普通網(wǎng)有兩個(gè)最基本和重要的區(qū)別:
(1)CPN的著色類型的標(biāo)定表示系統(tǒng)中不同類型的資源,同時(shí)每個(gè)庫所都與特定的顏色集綁定,表示該庫所中只能存放相應(yīng)顏色的token,在弧上和變遷上存在著條件表式和函數(shù),說明弧的權(quán)值和顏色屬性以及變遷觸發(fā)的約束條件。標(biāo)記的顏色可以是任意復(fù)雜的數(shù)據(jù),從而大大簡化了系統(tǒng)的復(fù)雜度。(2)CPN具有層次結(jié)構(gòu),這可以從整體到局部,由粗到精把系統(tǒng)分頁,逐步細(xì)化,突出重點(diǎn)。通過層次的使用,使得CPN成為處理大型應(yīng)用的功能強(qiáng)大的建模工具。同時(shí),它又是少有的能同時(shí)用于驗(yàn)證系統(tǒng)功能邏輯的正確性和評估系統(tǒng)性能的建模語言。但由于token的引入使得模型的可讀性降低。
圖1 四種基本路由結(jié)構(gòu)的Petri網(wǎng)表示
工作流管理聯(lián)盟定義了4種基本的工作流路由結(jié)構(gòu) (詳見圖1):(1)順序路由。表示兩個(gè)任務(wù)之間存在時(shí)序依賴關(guān)系,在前一個(gè)任務(wù)完成之前,后一個(gè)任務(wù)不能執(zhí)行。(2)并行路由。表示并行的兩個(gè)或多個(gè)任務(wù)之間可以任意順序執(zhí)行。(3)選擇路由。表示在流程的某一點(diǎn),依執(zhí)行結(jié)果選擇一條路徑繼續(xù)執(zhí)行。(4)循環(huán)路由。表示某一個(gè)任務(wù)可能需要執(zhí)行多次。
這四種結(jié)構(gòu)是工作流執(zhí)行的基本結(jié)構(gòu),所有工作流的執(zhí)行結(jié)構(gòu)可以由這四種基本結(jié)構(gòu)組合而成。
在一個(gè)管理規(guī)范、行政高效的企業(yè),一次完整的采購活動(dòng)會(huì)涉及到多個(gè)子部門和人員,這些部門和人員都是本著互相制、監(jiān)督的原則設(shè)立的。所以必須有效地調(diào)配資源使得這樣的約束和監(jiān)督在最少的機(jī)構(gòu)下實(shí)現(xiàn)最好的效果。
構(gòu)建這樣一個(gè)體系的整體思路如下:首先對整個(gè)企業(yè)的運(yùn)作模式進(jìn)行設(shè)計(jì),此時(shí)不用考慮各個(gè)機(jī)構(gòu)的內(nèi)部活動(dòng)。利用CPN的分層特性,建立頂層的CPN模型。在此基礎(chǔ)上再對各個(gè)機(jī)構(gòu)內(nèi)部進(jìn)行建模。在這里我們使用一次典型的招投標(biāo)流程作為例子來說明建模的過程。
一個(gè)典型的招投標(biāo)過程首先由發(fā)起單位根據(jù)工作需要發(fā)起采購某種物品或者軟件的請求,該請求會(huì)首先被傳遞到該單位的資產(chǎn)管理部門。核庫后發(fā)現(xiàn)沒有庫存,則批準(zhǔn)該采購申請。然后遞交給財(cái)務(wù)部門,會(huì)計(jì)人員會(huì)對該申請的預(yù)期金額進(jìn)行核算,如果預(yù)算中有足夠的錢去辦這個(gè)事情則將申請?zhí)峤唤o上級主管部門。上級主管部門批準(zhǔn)后該采購申請會(huì)直接到采購部門去處理剩下的招投標(biāo)過程。
圖2 頂層的CPN模型
在一般的B2B電子商務(wù)采購流程中需要考慮諸多因素,例如供應(yīng)商、價(jià)格、貨物規(guī)模以及消耗的資源等。然而用著色Petri網(wǎng)對其進(jìn)行分析時(shí),只需考慮商品數(shù)量和商品種類兩個(gè)因素。用語言CPN ML來描述模型中的聲明,模型中用到的顏色集,變量和一些
參數(shù)的定義如下:
從上述聲明中可以看出,定義的顏色集Role描述工作流中的機(jī)構(gòu)。同時(shí)可以看出,通過這些顏色的增加,可以加強(qiáng)模型的解釋能力,使模型含義更豐富,增加對工作流活動(dòng)和狀態(tài)轉(zhuǎn)移建模的需求。由于CPN參數(shù)還可以根據(jù)不同的模型適當(dāng)增加,因此該CPN模型也具有很強(qiáng)的可擴(kuò)展性。
定購貨物的配送過程用函數(shù)delivery(i,j)描述。變量i表示訂單需求的數(shù)量,變量j表示商品庫存數(shù)量。該函數(shù)的結(jié)果是:如果庫存數(shù)量滿足訂單要求,則傳送訂單商品,返回值為0;如果庫存商品不滿足訂單,則將i-j的值返回,表示沒有傳送貨物所需的庫存。
用函數(shù)order(i,j)表示供貨商根據(jù)訂單要求向其他機(jī)構(gòu)重新發(fā)出訂購要求的行為。如果庫存有足夠,則不訂購任何商品,返回值為0;如果庫存商品匱乏,則i-j的商品會(huì)被先訂購,同時(shí)向其他機(jī)構(gòu)發(fā)出新的訂單請求,要求訂購商品的數(shù)量為i+i-j,使庫存量變?yōu)閕。
用戶要求購n件某商品時(shí)網(wǎng)上商城將會(huì)根據(jù)銀行的認(rèn)證和自己的驗(yàn)證來確定用戶的合法性,如果確定用戶合法,則把用戶的要求發(fā)送給供貨商,由供貨商來提供商品。當(dāng)供貨商(假設(shè)供貨商目前的庫存量為n)收到來自網(wǎng)上商城的訂單(x,n)時(shí),首先檢查自己是否有該種商品,如果有,則將n件商品傳給物流商,同時(shí)更改庫存量為N-n,由物流商發(fā)送商品。如果庫存量小于n件,就先向用戶提供N件商品,然后向生產(chǎn)商要求補(bǔ)給n+n-N件商品,使供貨商的庫存產(chǎn)品數(shù)量隨著訂購和配送的變化而變化。
根據(jù)全局變量的定義,忽略商品種類,在子過程中只傳遞需求商品的數(shù)量。該工作流中p表示商品提供者的類型;P1表示“商品需求信息”;P2表示 “庫存商品的數(shù)量”;P3表示 “生成下一級的訂單”;P4表示“匹配過程”;P5表示“根據(jù)處理最終傳遞給請求者的商品數(shù)量”;P6表示“下級傳遞回來的商品的數(shù)量”;S表示每次處理一張訂單所消耗的資源;P7表示“將結(jié)果傳給下一個(gè)機(jī)構(gòu)”。對于生產(chǎn)商來說,此時(shí)P6=P3,即需要生產(chǎn)商品時(shí),生產(chǎn)商生產(chǎn)商品,之后直接將商品轉(zhuǎn)入庫存。T1表示“處理生成訂單”。根據(jù)需求信息和庫存量來判斷如何生成訂單。如果庫存量能夠滿足需求,則將需求信息傳遞給匹配過程,此時(shí)order(n,N)=0。T2表示“處理訂單的過程”。該過程模擬了傳遞商品的行為,此時(shí)de1ivery(n,N)=0,改變P2的狀態(tài),庫存量更改為delivery(N,n)=N-n。并且將最終狀態(tài)傳遞給P4,此時(shí)delivery(n,N)=0,表示貨物充足。如果不滿足的話,則delivery(n,N)=n-N表示不足的商品數(shù)量。T3表示“向庫存中增加商品的過程”。當(dāng)商品數(shù)量為0時(shí),則有T1,12和T3的限制條件n>0,nN>0保證不觸發(fā)事件。
基于CPN構(gòu)建的電子商務(wù)工作流模型,能夠直觀地反映項(xiàng)目群實(shí)施過程中順序、并行或同步等復(fù)雜的時(shí)空邏輯關(guān)系,揭示商務(wù)流程內(nèi)部動(dòng)態(tài)行為特征,為全面、準(zhǔn)確地掌握項(xiàng)目群實(shí)施全過程、實(shí)現(xiàn)項(xiàng)目群實(shí)施階段的流程集成以及項(xiàng)目群資源優(yōu)化提供有力的技術(shù)與方法支持。通過CPN構(gòu)建工作流模型,可以動(dòng)態(tài)地觀察各個(gè)環(huán)節(jié)所耗費(fèi)的時(shí)間和其他資源,找出拖延商務(wù)流程節(jié)點(diǎn)的事件,從而做出最優(yōu)化的電子商務(wù)流程。提高生產(chǎn)型企業(yè)的工作效率和降低總有用成本。
基于CPN進(jìn)行工作流建模,解決了利用普通Petri網(wǎng)建立的電子商務(wù)系統(tǒng)模型圖形過于復(fù)雜的缺陷,利用CPN對電子商務(wù)中網(wǎng)上購物系統(tǒng)建模的過程證明了這種技術(shù)可操作性強(qiáng),并分析了模型的合理性,證明了CPN建??梢杂行У亟档湍P偷膹?fù)雜性,圖形更加簡約。但是,由于顏色集的引入;使得模型的可讀性降低。同時(shí),在建模的過程中未引入時(shí)間的因素,只能通過可達(dá)圖的方法來分析模型的結(jié)構(gòu)合理性而未能夠進(jìn)行模型的性能分析,今后需要做一些工作來克服這些缺點(diǎn)。
[1]陳翔,夏國平.基于著色Petri網(wǎng)的工作流建模和合理性分析[J].計(jì)算機(jī)集成制造系統(tǒng)CIMS,2004,10(4):381-387.
[2]王刊良.基于分類的企業(yè)電子商務(wù)模式創(chuàng)新方法[J].系統(tǒng)工程理論與實(shí)踐,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網(wǎng)在商務(wù)工作流建模中的應(yīng)用研究[J].計(jì)算機(jī)工程與應(yīng)用,2003(19):199-202.
[5]JENSEN K.Colored Petri nets-basic concepts,analysis methods and practical use[M].New York:Springer,1997.