李孝忠,張德龍
(天津科技大學計算機科學與信息工程學院,天津 300222)
在當前,隨著信息技術的不斷發(fā)展,人們普遍認為下一代信息系統(tǒng)是以BPM(business process management)為核心,BPM已經(jīng)成為今后企業(yè)面臨的重點課題之一[1].隨著商業(yè)市場的多變性,企業(yè)對流程可變性的要求越來越高,BPM作為管理流程的系統(tǒng),其可變性功能的實現(xiàn)對企業(yè)成功實施流程的影響也逐漸增加.但是,當前對于BPM的研究主要集中在系統(tǒng)框架[2]、流程實施管理[3]、資源管理[4]以及信息集成技術[5]等方面,文獻[2]和[6]雖從一定角度描述了BPM中流程的可變性問題,但主要以處理流程異常為主要討論對象,并沒有考慮到外界環(huán)境變化對正常運行流程的影響.建立一個可以反映BPM系統(tǒng)運行特性的過程模型對于BPM系統(tǒng)在企業(yè)應用與理論研究上有著重要的意義.但是,當前關于BPM系統(tǒng)的模型研究一般只以描繪BPM系統(tǒng)框架為主,無法直觀地表現(xiàn)出BPM系統(tǒng)的運行過程.Petri網(wǎng)具有描述異步并發(fā)系統(tǒng)的能力,但是普通Petri網(wǎng)描述BPM這種大型系統(tǒng)時存在著狀態(tài)空間“爆炸”等問題.面向?qū)ο驪etri網(wǎng)具有模塊化、消息傳遞等特征,適于大型系統(tǒng)建模.
文中提出一種支持流程運行時可變的BPM系統(tǒng)架構,并采用建模的方式描述此架構的運行過程;運用面向?qū)ο驪etri網(wǎng)對BPM系統(tǒng)建模,并引入仿真技術,直觀地表現(xiàn)出所建立的系統(tǒng)結構以及動態(tài)特征.
20世紀90年代Michael Hammer和James Champy提出了企業(yè)業(yè)務流程再造(business process reengineering,BPR)的概念.歷經(jīng)十幾年的研究和實踐,人們提出了將階段性重組和持續(xù)改進相結合,根據(jù)業(yè)務環(huán)境的變化,推進人和系統(tǒng)相互之間的整合集成及協(xié)作機制,稱為業(yè)務流程管理(BPM).BPM為企業(yè)提供定義、執(zhí)行和管理流程的能力,其生命周期包括流程建模、執(zhí)行、管理、優(yōu)化4個部分[7],實現(xiàn)對流程持續(xù)的改進.
由于BPM的理念是從工作流技術發(fā)展而來[8],很多廠家通過對工作流進行包裝,從而將其產(chǎn)品定位為BPM.例如文獻[1]中將數(shù)據(jù)集成能力和面向服務架構(service oriented architecture,SOA)服務組件能力引入工作流中所形成的BPM系統(tǒng),此類系統(tǒng)流程一般比較固化,但目前企業(yè)所處的外部環(huán)境是時常發(fā)生變化的,固化的流程無法使企業(yè)獲得穩(wěn)定的收益.
因此,隨著BPM理論的發(fā)展,BPM中流程可以隨外界的變化而改變,即BPM系統(tǒng)的可變性越來越受到人們的重視.文獻[9]總結了企業(yè)實施BPM的成功要素,指明了企業(yè)實施的BPM必須要適應企業(yè)所處的環(huán)境并進行持續(xù)性的更新與優(yōu)化.
文獻[6]中作者所提出的可變業(yè)務流程PVOSA(process-variety oriented software architecture)框架,實現(xiàn)了流程快速建模和流程改變時快速反應,但對于流程運行時可變性的支持僅在于當服務發(fā)生異常情況時,系統(tǒng)能夠自動更改服務使得流程能夠繼續(xù)運行.這類系統(tǒng)主要關注于流程運行的可實現(xiàn)性以及異常處理能力,使流程所提供的服務能夠順利運行為主要目的,其運行周期較短,外界環(huán)境變化對其影響較少.但對于制造型企業(yè),其流程運行周期比較長,流程運行時,外界環(huán)境的變化會對流程運行造成持續(xù)性的影響.對于這類企業(yè)來說,其BPM流程運行時的可變性,應同時體現(xiàn)在2方面,一方面是在流程運行期間,由于系統(tǒng)各種因素的影響而導致流程出現(xiàn)異常,無法繼續(xù)運行的情況下,BPM系統(tǒng)可以通過修改配置文件等方式使得流程能夠順利運行,以達到預期目標;另一方面是當流程正常運行時,由于外界環(huán)境的變化,按照原定計劃執(zhí)行流程已經(jīng)無法取得預期收益,此時系統(tǒng)能夠?qū)崟r地調(diào)整流程的運行步驟或執(zhí)行規(guī)則,使得流程能夠盡快適應新的環(huán)境,繼續(xù)有效地運行并取得相應的收益.
建立一個可以實現(xiàn)流程運行時可變的BPM系統(tǒng),關鍵是BPM系統(tǒng)規(guī)則庫管理模塊的實現(xiàn).業(yè)務人員將制訂好的業(yè)務規(guī)則存入規(guī)則庫中,流程運行時依據(jù)相應的匹配算法,通過規(guī)則引擎不斷讀取業(yè)務規(guī)則,實現(xiàn)流程的數(shù)據(jù)處理和路由選擇,一旦流程發(fā)生異常或者外界環(huán)境發(fā)生變化,業(yè)務人員可以通過修改規(guī)則庫來改變流程的運行狀況,從而實現(xiàn)了流程運行時的可變.因此,要實現(xiàn)流程的運行可變性,一個功能完善的規(guī)則管理模塊是必不可少的.基于以上分析,文中提出一種可實現(xiàn)流程運行可變的BPM系統(tǒng)結構,如圖1所示.
在此結構中,規(guī)則庫存儲流程的相關約束及運行規(guī)則.業(yè)務人員通過流程建模建立起企業(yè)的流程體系.流程引擎通過企業(yè)總線調(diào)用相關功能驅(qū)動流程的運行,實現(xiàn)對流程的管理,并根據(jù)流程的運行情況加載規(guī)則庫中的規(guī)則,控制流程的運行.在流程的運行過程中,系統(tǒng)一方面對運行中的各種異常進行處理,另一方面根據(jù)流程運行環(huán)境的變化更改規(guī)則庫中的規(guī)則,調(diào)整流程的運行,實現(xiàn)流程的運行可變功能.流程運行結束后,分析流程執(zhí)行的數(shù)據(jù)并對流程進行優(yōu)化,再繼續(xù)新一輪的循環(huán).
圖1 流程可變的BPM系統(tǒng)結構
Petri網(wǎng)是一種用于描述離散的、分布式系統(tǒng)的數(shù)學建模工具,適合于信息流系統(tǒng)的建模,也被用于測試系統(tǒng)的建模與分析[10].但是傳統(tǒng)Petri網(wǎng)具有封閉、狀態(tài)空間爆炸等缺點.為此,研究者們將面向?qū)ο蠼<夹g與Petri網(wǎng)相結合,就形成了面向?qū)ο驪etri網(wǎng)(object oriented Petri net,OOPN),這種方法既增強Petri網(wǎng)模型的模塊化、可重用等特性,又有效地解決狀態(tài)空間爆炸等問題,更適用于對復雜系統(tǒng)的建模.
定義1 一個對象可表示為一個8元組:OPi={Pij,Tij,IMi,OMi,F(xiàn),C,E,M0},OPi為系統(tǒng)的第i個對象,其中:Pij是對象內(nèi)部位置有限集合,其中i表示該庫所所屬對象,j表示該庫所在對象內(nèi)部的位置;Tij是對象內(nèi)部變遷有限集合,其中i表示該變遷所屬對象,j表示該變遷在對象內(nèi)部的位置;IMi是OPi的輸入信息庫所的有限集合;OMi是OPi的輸出信息庫所的有限集合;F是庫所與變遷之間的有向弧(流關系)集合;C是由不同顏色組成的有限集合;E是定義在弧集合F上的表達式函數(shù);M0是定義在P上的初始標識.
定義2 消息傳遞關系可定義為一個5元組:Rij={OMi,Gij,IMi,Iij,Oij},其中:OMi為對象 OPi的輸出消息庫所的有限集合;Gij是OPi與OPj之間消息傳遞的變遷有限集合,該類變遷稱之為門變遷;IMi為對象OPi的輸入消息庫所的有限集合;Iij是從輸出消息庫所到門遷移Gij的輸出映射;Oij是從門遷移Gij到輸入消息庫所的輸入映射.
定義3 令OOPN={O,R},O為系統(tǒng)中的對象集合,O={OP1,OP2,…,OPn};R 為系統(tǒng)中對象之間消息傳遞關系集合.
(3)現(xiàn)場文件。重視現(xiàn)場管理工作及文件,應根據(jù)通信類建設項目的檔案規(guī)定,要求監(jiān)理單位牽頭,同施工設計等單位一起做好施工過程記錄。
從此定義可以看到,面向?qū)ο驪etri網(wǎng)利用面向?qū)ο蠹夹g把Petri網(wǎng)分解為各個對象子網(wǎng),使系統(tǒng)模型既具有面向?qū)ο蠹夹g的優(yōu)點,又繼承了Petri網(wǎng)的基本特性,豐富了其系統(tǒng)表達能力[11].
文中以美國約翰迪爾公司為背景建立BPM系統(tǒng)模型,約翰迪爾公司主要以資源采集與存儲,產(chǎn)品生產(chǎn)與加工等為其核心的業(yè)務流程,其整個流程運行周期一般較長,在流程實際運行時可能發(fā)生各種系統(tǒng)異常,外界環(huán)境可能會發(fā)生各種變化.為此,文中將上文所建立的BPM系統(tǒng)架構應用于約翰迪爾公司中,來管理企業(yè)的流程運行.并應用面向?qū)ο驪etri網(wǎng)對此BPM系統(tǒng)進行建模,將架構中的每個功能模塊化為一個對象Petri網(wǎng),各個模塊通過門變遷進行消息傳遞.其頂層對象模型如圖2所示.
整個模型分為4個主要功能模塊:①流程設計模塊:業(yè)務人員以圖形方式進行流程設計,編寫流程配置文件.②流程執(zhí)行模塊:對流程實施實例化并配置需資源,向規(guī)則管理模塊提交流程運行數(shù)據(jù)進行交互,實現(xiàn)流程行為控制.③ 流程管理模塊:監(jiān)控流程運行狀況,進行異常處理,并根據(jù)外界情況調(diào)整流程運行.④規(guī)則庫管理模塊:對業(yè)務人員制定的規(guī)則庫進行管理,接受流程運行數(shù)據(jù),激活相應的流程規(guī)則,實現(xiàn)規(guī)則修改更新等操作.
為實現(xiàn)流程的運行可變功能,文中將規(guī)則庫分為靜態(tài)規(guī)則庫和動態(tài)規(guī)則庫.在此系統(tǒng)中,靜態(tài)規(guī)則庫包括流程每一步所需的靜態(tài)數(shù)據(jù)處理規(guī)則,如當人員輸入相關數(shù)據(jù)時自動檢驗數(shù)據(jù)準確性等.動態(tài)數(shù)據(jù)庫存儲流程運行時所需的路由選取規(guī)則,根據(jù)流程運行狀態(tài)選擇流程下一步的執(zhí)行步驟.流程將在這2個規(guī)則庫的基礎之上運行,業(yè)務人員可以通過在流程運行時更改規(guī)則庫來隨時調(diào)整流程,實現(xiàn)流程運行時的靈活可變.
圖2 BPM系統(tǒng)的OOPN對象模型
完成頂層對象Petri網(wǎng)模型后,通過詳細設計各個對象模型以及之間的消息傳遞關系,形成整個BPM系統(tǒng)的OOPN模型.一般的OOPN分析方法有不變量分析法等,但這些分析法只適合對復雜度不高的模型中某個具體對象模型的分析,并不適合對整個OOPN模型進行分析.
CPN Tools是一款現(xiàn)今最成熟的CPN建模與仿真工具,可以對Petri模型進行精確的仿真.因此,文中嘗試使用此軟件對OOPN模型進行建模,其中Pij和Tij表示各模塊內(nèi)部的庫所和變遷,消息傳遞庫所用IMij和OMij表示,其中i代表庫所所屬模塊編號,j代表其在模塊內(nèi)的位置,g1至g11為門變遷.所建模型如圖2所示,其對應的庫所和變遷與OOPN模型中的對象內(nèi)部庫所,對象間消息傳遞庫所對應,其中規(guī)則管理,流程管理模塊和模塊消息庫所和變遷如下:
規(guī)則庫管理模塊:P21,動態(tài)規(guī)則庫;P22,靜態(tài)規(guī)則庫;P23,動態(tài)規(guī)則修改需求;P24,靜態(tài)規(guī)則庫修改需求;P25,動態(tài)規(guī)則庫修改完成;P26,動態(tài)規(guī)則庫修改完成信息;P27,靜態(tài)規(guī)則庫修改完成信息;T21,整理規(guī)則庫修改信息;T22,動態(tài)規(guī)則庫匹配;T23,靜態(tài)規(guī)則庫匹配;T24,規(guī)則庫修改信息到達;T25,靜態(tài)規(guī)則庫修改;T26,動態(tài)規(guī)則庫修改;T27,整理動態(tài)規(guī)則庫修改信息.
流程管理模塊:P41,流程當前信息分析;P42,流程異常處理;P43,流程運行變化分析;P44,流程當前運行等待;P45,流程規(guī)則無需變更;P46,流程規(guī)則修改請求;T41,開始流程當前運行信息分析;T42,開始流程異常處理;T43,記錄流程異常處理信息;T44,分析流程變化需求;T45,流程運行環(huán)境不變;T46,流程運行環(huán)境改變;T47,給出流程繼續(xù)運行許可;T48,給出流程規(guī)則修改信息.
模塊消息庫所和變遷:IM21,規(guī)則庫修改請求;IM22,動態(tài)規(guī)則庫匹配請求;IM23,靜態(tài)規(guī)則庫匹配請求;OM21,規(guī)則庫修改完成信息;OM22,動態(tài)規(guī)則庫規(guī)則加載信息;OM23,靜態(tài)規(guī)則庫規(guī)則加載信息;IM41,流程當前運行信息;IM42,流程規(guī)則修改完成信息;OM41,流程管理信息;OM42,流程規(guī)則修改信息.
OOPN模型中所用到的托肯類型說明如下:n為常量.PH,CS分別為流程顏色集和規(guī)則信息集.變量p和q分別為作用于PH和CS顏色集,ph(1)、ph(2)、ph(3)3個托肯表示3個初始流程,cs(1)和cs(2)托肯為靜態(tài)規(guī)則庫和動態(tài)規(guī)則庫.Chopsticks(),Chop()函數(shù)分別為流程信息對規(guī)則信息的靜態(tài)匹配和動態(tài)匹配,Move()和Move2()函數(shù)分別表示對靜態(tài)規(guī)則庫和動態(tài)規(guī)則庫的修改,Qchangep()和Move1()函數(shù)分別表示靜態(tài)規(guī)則庫和動態(tài)規(guī)則庫對流程運行的規(guī)則加載.完整的模型如圖3所示.
其中,P21和P22為2個規(guī)則數(shù)據(jù)庫,IM11為系統(tǒng)初始庫所.模型開始運行后,流程設計模塊通過OM12將流程配置文件傳給流程執(zhí)行模塊的IM31接收并運行至P32,之后通過OM31和OM32向規(guī)則管理模塊發(fā)出靜態(tài)和動態(tài)規(guī)則加載請求,IM32和IM33接收相應規(guī)則信息.此時,流程執(zhí)行模塊通過OM33將流程運行信息傳給流程管理模塊IM31,流程管理模塊通過P41分析流程運行情況判斷有無異常,對于無異常的情況通過P43來模擬判斷流程運行的外界環(huán)境變化,對于發(fā)生變化的情況通過OM42向規(guī)則庫發(fā)出修改請求,以改變規(guī)則來適應外界變化.流程管理信息處理完畢后將管理信息通過OM41傳回流程執(zhí)行模塊IM34,之后流程或者通過P35加載已經(jīng)更新過的規(guī)則庫中的規(guī)則繼續(xù)運行,或者通過OM34進入下次流程運行.
圖3 制造企業(yè)的BPM系統(tǒng)OOPN完整模型
采用CPN Tools對此模型進行仿真模擬,得出相應的報告.模型有界性分析按照“庫所,上界,下界”給出如下:Pagep421,3,0;…;Pagep211,1,1;Pagep221,1,1;Pagep231,3,0;…;Pagep461,3,0.從仿真結果可見,該模型中所有的庫所最多為3個,這是由初始的3個流程所限,所以該模型中所有的庫所都是有界的,符合實際需求的.
經(jīng)仿真后可知,本模型不存在死標識,所有的變遷都是活的,由于BPM系統(tǒng)是一個需要循環(huán)往復運行的系統(tǒng),所以本模型符合BPM系統(tǒng)要求.
使用CPN Tools的Monitors工具中的Data collection 監(jiān)測 IM21,IM22,IM23,分析數(shù)據(jù)見表 1.
表1 庫所托肯數(shù)據(jù)分析
其中,IM21是表示流程運行期間由于外界變化而需要對規(guī)則庫進行修改的請求庫所,IM22和IM23是表示流程運行時對2個規(guī)則庫進行訪問加載規(guī)則的請求庫所.從表1可見,在運行了5000步后,流程訪問靜態(tài)規(guī)則庫847次,動態(tài)規(guī)則庫324次.在流程運行中共有165次對規(guī)則庫進行修改,這3者的比大約為1∶2∶4.2個規(guī)則庫的請求次數(shù)比例是由于在此模型仿真中,設定其流程運行的每一步都需要進行靜態(tài)數(shù)據(jù)規(guī)則加載,但不一定每一步都需要進行路由選擇規(guī)則所導致的.IM21庫所與規(guī)則庫庫所的托肯比例是由于此模型對于外界環(huán)境是否變化,系統(tǒng)是否異常情況的采用的是等概率方法進行模擬造成的.圖4是IM23庫所在此運行過程中的托肯流動監(jiān)控圖.
圖4 庫所IM23托肯流動監(jiān)控表
從圖4可見,在初始3個流程的情況下,對靜態(tài)規(guī)則庫的訪問極少出現(xiàn)多個流程同時發(fā)出請求的情況,另兩個庫所監(jiān)控圖與此類似,說明在此模型中多個流程同時訪問規(guī)則庫的發(fā)生幾率很低,規(guī)則庫模塊的訪問量不大,模型穩(wěn)定性較好,系統(tǒng)不易崩潰.
從上述仿真結果可以看出,企業(yè)在根據(jù)文中所設計的BPM模型構建自身的BPM系統(tǒng)時,應依據(jù)企業(yè)具體流程運行情況,加強對規(guī)則庫管理的重視程度,調(diào)整相應的資源配置以適應該系統(tǒng)模型對流程運行可變性的功能要求,使企業(yè)流程能夠適應外界環(huán)境的變化,取得良好的收益.面向?qū)ο驪etri網(wǎng)常采用的不變量分析法和關聯(lián)矩陣分析法不僅運算復雜,且一般只能通過化簡某個對象Petri模型來進行單個對象的分析,與此相比,文中利用仿真技術建立OOPN模型可以對整個系統(tǒng)模型進行性質(zhì)分析,不僅節(jié)約了時間,提升了分析的效率,而且直觀地描述了系統(tǒng)的運行行為,使人更容易理解BPM系統(tǒng)的運行過程,解決了企業(yè)在實施BPM時由于缺乏有效的建模方法從而無法有效實現(xiàn)系統(tǒng)的問題.
1)此BPM模型能夠根據(jù)外界環(huán)境變化實時調(diào)整流程的運行,使得企業(yè)能夠在激烈的市場競爭中隨時把握環(huán)境變化所產(chǎn)生的機遇.
2)采用面向?qū)ο驪etri網(wǎng)對BPM系統(tǒng)進行建模,擴展了OOPN在大型復雜系統(tǒng)建模上的作用領域,對于BPM這一新興的企業(yè)管理系統(tǒng)來說,OOPN模型比一般的BPM框架模型更能反映出系統(tǒng)運行時的特性,更易使人理解其運行的整個過程.
3)對于大型系統(tǒng)的OOPN模型,仿真技術的引入能夠減少系統(tǒng)分析的時間以及不必要的計算,獲得更加直觀的統(tǒng)計數(shù)據(jù).
4)擴展了面向?qū)ο驪etri的應用范圍,為BPM理論的研究和發(fā)展提供了一些新的途徑和思路.
References)
[1]王海濤.BPM系統(tǒng)在證券業(yè)中的實現(xiàn)研究[J].計算機工程與設計,2006,27(15):2828 -2831.Wang Haitao.Research of BPM's realization in securities domain[J].Computer Engineering and Design,2006,27(15):2828-2831.(in Chinese)
[2]任宏波,劉紅軍,白 旭.基于業(yè)務流程管理框架的企業(yè)敏捷性研究[J].中國管理信息化,2008,11(21):64-68.Ren Hongbo,Liu Hongjun,Bai Xu.Enterprise sensitivity research based on BPM [J].China Management Informationization,2008,11(21):64 - 68.(in Chinese)
[3]Cho C,Lee S.A study on process evaluation and selection model for business process management[J].Expert Systems with Applications,2011,38(5):6339 -6350.
[4]Huang Zhengxing,Lu Xudong,Duan Huilong.Resource behavior measure and application in business process management[J].Expert Systems with Applications,2012,39(7):6458 -6468.
[5]張 勇,周俊林.BPM和SOA在系統(tǒng)集成中的應用[J].計算機科學,2008,35(10):275 -278.Zhang Yong,Zhou Junlin.Application of SOA and BPM in the system integration[J].Science of Computer,2008,35(10):275-278.(in Chinese)
[6]趙 亮,姚 青.基于SOA的可變業(yè)務流程管理系統(tǒng)[J].計算機工程與設計,2010,31(24):5244 -5247.Zhao Liang,Yao Qing.Process-variety business process management based on SOA [J].Computer Engineering and Design,2010,31(24):5244 -5247.(in Chinese)
[7]Ko R K L,Lee S S G,Lee E W.Business process management(BPM)standards:a survey[J].Business Process Management Journal,2009,15(5):744 -791.
[8]王 丹,張 浩,陸劍峰.BPM在制造企業(yè)中的研究與應用[J].制造業(yè)自動化,2007,29(10):1 -4.Wang Dan,Zhang Hao,Lu Jianfeng.Research and application of BPM in manufacturing industries[J].Manufacturing Automation,2007,29(10):1-4.(in Chinese)
[9]Trkman P.The criticalsuccess factors ofbusiness process management[J].International Journal of Information Management,2010,30(2):125 -134.
[10]杜天艷,趙不賄.基于LabVIEW的Petri網(wǎng)控制器實現(xiàn)[J].江蘇大學學報:自然科學版,2011,32(1):75-78.Du Tianyan,Zhao Buhui.Implementation of Petri nets controller based on LabVIEW[J].Journal of Jiangsu University:Natural Science Edition,2011,32(1):75-78.(in Chinese)
[11]Motameni H,Movaghar A,Shirazi B,et al.Analysis software with an object-oriented Petri net model[J].World Applied Sciences Journal,2008,3(4):565 -576.