文/黃苾 代飛 莫啟
圖2:使用WoPeD建模產(chǎn)生的業(yè)務(wù)過(guò)程模型
業(yè)務(wù)過(guò)程是指相關(guān)的、結(jié)構(gòu)化的活動(dòng)或任務(wù)的集合,它們?yōu)榭蛻籼峁┨囟ǖ姆?wù)或產(chǎn)品。在日常的工作、學(xué)習(xí)和生活中,業(yè)務(wù)過(guò)程隨處可見(jiàn)。例如:辦事流程、坐飛機(jī)的安檢流程、訂單支付流程、物流流程等。
在業(yè)務(wù)過(guò)程管理領(lǐng)域,建模人員通常使用Petri網(wǎng)來(lái)直觀描述業(yè)務(wù)過(guò)程,以便于溝通和理解。由于業(yè)務(wù)過(guò)程建模是耗時(shí)、易錯(cuò)的,加之建模者的能力參差不齊,這使得業(yè)務(wù)過(guò)程模型的質(zhì)量差異很大。如何確保業(yè)務(wù)過(guò)程模型的正確性成為了企業(yè)實(shí)施業(yè)務(wù)過(guò)程管理系統(tǒng)必須解決的一個(gè)關(guān)鍵問(wèn)題。
業(yè)務(wù)過(guò)程涉及多個(gè)方面,例如:角色、資源和控制流,其中,控制流是最主要的。本文從控制流的角度,使用工作流網(wǎng)定義業(yè)務(wù)過(guò)程模型。
Petri網(wǎng)是一個(gè)二分有向圖(directed bipartite graph),有兩類節(jié)點(diǎn)類型:庫(kù)所和變遷。這些節(jié)點(diǎn)通過(guò)有向弧相連。相同類型的兩個(gè)節(jié)點(diǎn)之間不允許相連。通常,庫(kù)所使用圓圈表示,變遷使用方框表示,流關(guān)系使用有向線段表示,托肯使用實(shí)心小黑點(diǎn)表示。
定義1(Petri網(wǎng))Petri網(wǎng)是一個(gè)四元組∑=(P, T; F, M),其中:
圖1:基于工作流網(wǎng)定義的業(yè)務(wù)過(guò)程模型
(4) 映 射M:P→{0, 1, 2, 3...}稱 為Petri網(wǎng)的一個(gè)標(biāo)識(shí)。通常用M0表示Petri網(wǎng)的初始標(biāo)識(shí)。
工作流網(wǎng)(WF-net)是一類Petri網(wǎng)。
定義2(工作流網(wǎng))Petri網(wǎng)∑=(P, T; F, M)是工作流網(wǎng),當(dāng)且僅當(dāng):
(3)每個(gè)一個(gè)節(jié)點(diǎn)x∈P∪T都位于從i到o的一條路徑上。
其中,·i表示庫(kù)所i的輸入變遷集合;o·表示庫(kù)所o的輸出變遷集合。
例子:圖1是使用工作流網(wǎng)定義的一個(gè)業(yè)務(wù)過(guò)程模型。該業(yè)務(wù)過(guò)程模型的源庫(kù)所是i,匯聚庫(kù)所是o,包含四個(gè)變遷,分別是t1、t2、t3和 t4。
對(duì)于任何業(yè)務(wù)過(guò)程,建模者希望:
(1)該過(guò)程不存在死變遷,可以遵循適當(dāng)?shù)穆酚蓙?lái)執(zhí)行一個(gè)任意的變遷;
(2)該過(guò)程將最終結(jié)束,而且結(jié)束時(shí)刻在匯聚庫(kù)所o有一個(gè)托肯,并且所有其他庫(kù)所都是空的。
定義3(合理性)由一個(gè)工作流網(wǎng)WF-net=(P, T; F, M)建模的業(yè)務(wù)過(guò)程模型是合理的,當(dāng)且僅當(dāng):
(1)對(duì)于每一個(gè)從狀態(tài)i可達(dá)的狀態(tài)M,存在一個(gè)實(shí)施序列,從狀態(tài)M通往狀態(tài)o,形式化表示為
圖3:合理性分析結(jié)果
(2)狀態(tài)o是從狀態(tài)i可達(dá)的惟一最終狀態(tài),且結(jié)束時(shí)其中至少會(huì)有一個(gè)標(biāo)記,形式化表示為
需要說(shuō)明的是,第一個(gè)條件規(guī)定了從初始狀態(tài)(i)開(kāi)始,總能達(dá)到結(jié)束狀態(tài)(o);第二個(gè)條件規(guī)定了當(dāng)?shù)竭_(dá)結(jié)束狀態(tài)(o)時(shí),只有o中有托肯,其他庫(kù)所中都沒(méi)有托肯;第三個(gè)條件規(guī)定了從初始狀態(tài)(i)開(kāi)始,不存在死變遷。
為了使用Petri網(wǎng)的分析技術(shù)對(duì)業(yè)務(wù)過(guò)程模型進(jìn)行合理性分析,還需要建立合理性到Petri網(wǎng)的活性和有界性的聯(lián)系。為此,在工作流網(wǎng)的基礎(chǔ)上,擴(kuò)展工作流網(wǎng),提出了短回路網(wǎng)WF-net=(P, T; F, M)。
定義4(工作流網(wǎng)的短回路網(wǎng))設(shè)WF-net=(P, T; F, M)是一個(gè)工作流網(wǎng),其短回路網(wǎng)WF-net=(P, T; F, M)定義如下:
(1)P=P;
(2)T=T∪{t*};
(3)F=F∪{(o,t*),(t*,i)};
(4)M=M。
本質(zhì)上,短回路網(wǎng)WF-net是由工作流網(wǎng)WF-net通過(guò)添加一個(gè)額外連接o和i的變遷t*得到。
在此基礎(chǔ)上,文獻(xiàn)[3]證明了一個(gè)工作流網(wǎng)WF-net是合理的,當(dāng)且僅當(dāng)(WF-net,i)是活的且是有界的。
該證明表明:建模者可以使用Petri網(wǎng)的分析技術(shù)來(lái)對(duì)使用工作流網(wǎng)定義的業(yè)務(wù)過(guò)程模型的合理性進(jìn)行分析。
WoPeD(Workflow Petri Net Designer)是一個(gè)開(kāi)源的基于Java的圖形化工作流網(wǎng)編輯器,支持PNML格式。其主要目標(biāo)是提供一個(gè)易于使用的軟件,用于建模、模擬和分析工作流網(wǎng)所描述的業(yè)務(wù)過(guò)程。
(1)本文使用WoPeD對(duì)圖1所示的業(yè)務(wù)過(guò)程模型進(jìn)行建模,產(chǎn)生的工作流網(wǎng)如圖2所示;
(2)再WoPeD自帶的語(yǔ)義分析(semantic analysis)功能對(duì)建模產(chǎn)生的業(yè)務(wù)過(guò)程模型進(jìn)行合理性分析,分析結(jié)果如圖3所示。
(1)使用工作流網(wǎng)給出了業(yè)務(wù)過(guò)程模型的形式化定義;
(2)使用Petri網(wǎng)給出了合理性的形式化定義,并建立了合理性和Petri網(wǎng)活性和有界性的聯(lián)系;
(3)使用WoPeD工具,對(duì)業(yè)務(wù)過(guò)程模型進(jìn)行了合理性分析。