文/黃苾 代飛 莫啟

圖2:使用WoPeD建模產生的業務過程模型
業務過程是指相關的、結構化的活動或任務的集合,它們為客戶提供特定的服務或產品。在日常的工作、學習和生活中,業務過程隨處可見。例如:辦事流程、坐飛機的安檢流程、訂單支付流程、物流流程等。
在業務過程管理領域,建模人員通常使用Petri網來直觀描述業務過程,以便于溝通和理解。由于業務過程建模是耗時、易錯的,加之建模者的能力參差不齊,這使得業務過程模型的質量差異很大。如何確保業務過程模型的正確性成為了企業實施業務過程管理系統必須解決的一個關鍵問題。
業務過程涉及多個方面,例如:角色、資源和控制流,其中,控制流是最主要的。本文從控制流的角度,使用工作流網定義業務過程模型。
Petri網是一個二分有向圖(directed bipartite graph),有兩類節點類型:庫所和變遷。這些節點通過有向弧相連。相同類型的兩個節點之間不允許相連。通常,庫所使用圓圈表示,變遷使用方框表示,流關系使用有向線段表示,托肯使用實心小黑點表示。
定義1(Petri網)Petri網是一個四元組∑=(P, T; F, M),其中:

圖1:基于工作流網定義的業務過程模型
(4) 映 射M:P→{0, 1, 2, 3...}稱 為Petri網的一個標識。通常用M0表示Petri網的初始標識。
工作流網(WF-net)是一類Petri網。
定義2(工作流網)Petri網∑=(P, T; F, M)是工作流網,當且僅當:
(3)每個一個節點x∈P∪T都位于從i到o的一條路徑上。
其中,·i表示庫所i的輸入變遷集合;o·表示庫所o的輸出變遷集合。
例子:圖1是使用工作流網定義的一個業務過程模型。該業務過程模型的源庫所是i,匯聚庫所是o,包含四個變遷,分別是t1、t2、t3和 t4。
對于任何業務過程,建模者希望:
(1)該過程不存在死變遷,可以遵循適當的路由來執行一個任意的變遷;
(2)該過程將最終結束,而且結束時刻在匯聚庫所o有一個托肯,并且所有其他庫所都是空的。
定義3(合理性)由一個工作流網WF-net=(P, T; F, M)建模的業務過程模型是合理的,當且僅當:
(1)對于每一個從狀態i可達的狀態M,存在一個實施序列,從狀態M通往狀態o,形式化表示為

圖3:合理性分析結果
(2)狀態o是從狀態i可達的惟一最終狀態,且結束時其中至少會有一個標記,形式化表示為
需要說明的是,第一個條件規定了從初始狀態(i)開始,總能達到結束狀態(o);第二個條件規定了當到達結束狀態(o)時,只有o中有托肯,其他庫所中都沒有托肯;第三個條件規定了從初始狀態(i)開始,不存在死變遷。
為了使用Petri網的分析技術對業務過程模型進行合理性分析,還需要建立合理性到Petri網的活性和有界性的聯系。為此,在工作流網的基礎上,擴展工作流網,提出了短回路網WF-net=(P, T; F, M)。
定義4(工作流網的短回路網)設WF-net=(P, T; F, M)是一個工作流網,其短回路網WF-net=(P, T; F, M)定義如下:
(1)P=P;
(2)T=T∪{t*};
(3)F=F∪{(o,t*),(t*,i)};
(4)M=M。
本質上,短回路網WF-net是由工作流網WF-net通過添加一個額外連接o和i的變遷t*得到。
在此基礎上,文獻[3]證明了一個工作流網WF-net是合理的,當且僅當(WF-net,i)是活的且是有界的。
該證明表明:建模者可以使用Petri網的分析技術來對使用工作流網定義的業務過程模型的合理性進行分析。
WoPeD(Workflow Petri Net Designer)是一個開源的基于Java的圖形化工作流網編輯器,支持PNML格式。其主要目標是提供一個易于使用的軟件,用于建模、模擬和分析工作流網所描述的業務過程。
(1)本文使用WoPeD對圖1所示的業務過程模型進行建模,產生的工作流網如圖2所示;
(2)再WoPeD自帶的語義分析(semantic analysis)功能對建模產生的業務過程模型進行合理性分析,分析結果如圖3所示。
(1)使用工作流網給出了業務過程模型的形式化定義;
(2)使用Petri網給出了合理性的形式化定義,并建立了合理性和Petri網活性和有界性的聯系;
(3)使用WoPeD工具,對業務過程模型進行了合理性分析。