劉曉暉 馮菲 第五念東
摘要:基于Petri網絡建立工作流,既可以將Petri網絡作為圖形化的建模工具,同時又可以利用它堅實的數學定義,對模型做出精確的分析,可以降低建模難度、簡化過程,同時又能保證所建模型的正確性。本文通過對即時情報服務系統(tǒng)的業(yè)務流程分析,提出了一個基于Petri網絡的即時情報服務系統(tǒng)工作流模型,并對該工作流模型進行正確性分析。該模型成功應用于即時情報服務系統(tǒng)建設中。
關鍵詞:Petri;工作流
中圖分類號:TP393? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)13-0235-02
Abstract: Real-time intelligence service system is a typical workflow system, this paper applies Petri for modeling real-time intelligence service, and analyses the workflow modeling.
Key words: Petri; Workflow
1 前言
按照國際工作流管理聯(lián)盟(WfMC) 對工作流的定義:工作流是能夠完全或者部分自動執(zhí)行的過程。工作流建模是完成對目標系統(tǒng)業(yè)務過程的抽象表示,主要解決工作流流程的描述,在工作流合理性驗證上缺乏相應的數學模型。應用Petri網絡建立工作流,既可以將Petri網絡作為圖形化的建模工具,同時又可以利用它堅實的數學定義, 對模型做出精確的分析。本文基于Petri網絡對即時情報服務系統(tǒng)工作流進行建模,同時給出即時情報服務系統(tǒng)工作流合理性分析。
2 基本概念介紹
2.1 Petri網
德國科學家Carl Adam Petri提出的Petri網,是以雙邊有向圖來描述業(yè)務過程, 該方法利于分析和正確性驗證, 并具有精確的數學定義和數學基礎, 是工作流建模和分析的有力工具。
Petri網是一個三元組(P,T,F), P:庫所的有限集,T:變遷的有限集;F :一個P元素和一個T元素組成的有序偶的集合,其充分必要條件是:
⑴? P ∩ T=? ;
⑵? P ∪ T≠? ;
⑶? F[?](P×T)∪(T×P) ( ×為笛卡爾積);
⑷? dom (F) ∪ cod(F ) = P ∪ T ;
其中
dom(F) = { x∣[?]y : (x,y) ∈ F }
cod(F) = { y∣[?]x : (y,x) ∈ F }
分別為F 的定義域和值域。
2.2 工作流網絡
工作流網是在Petri 網的基礎上用來對工作流的合法性、有效性進行驗證,包括順序、并行、選擇和循環(huán)四種路由結構,工作流所有執(zhí)行結構都可由這四種路由結構組合而成。
2.3 工作流網絡合理性驗證
工作流模型的合理性、有效性是模型分析的主要部分,需要從工作流模型出發(fā),保證模型不存在結構上和行為上的死鎖狀態(tài)[5]。國內外很多學者采用文獻[6]中對工作流合理性的定義,即工作流網是合理的,只有它的每一個變遷都屬于一條從開始狀態(tài)M0到終止狀態(tài)M的執(zhí)行序列上;當終止庫所擁有,其他庫所沒有令牌時;模型中不存在執(zhí)行不到的節(jié)點,即沒有死鎖。
3 即時情報服務系統(tǒng)模型
即時情報服務系統(tǒng)是利用單位網絡平臺,通過網上流轉,提高情報服務的快捷和方便性,對科研生產提供支持和保障作用。如圖1所示,即時情報服務系統(tǒng)流程圖如下:
使用工作流網絡對圖1所示即時情報服務系統(tǒng)流程建模,可以得到圖2所示的Petri網絡模型。
4 即時情報服務系統(tǒng)Petri 網絡合理性驗證
利用文獻[6]中提出的合理性定義,驗證如下:
初始狀態(tài):[M0=1,0,0,0,0,0,0,0],now = [M0];History = [M0]; Transitions = ?;Places = {1,0,0,0,0,0,0,0}。
步驟1:只有變遷T1觸發(fā),得到狀態(tài) M1 = {0,1,0,0,0,0,0,0},其中M1是新狀態(tài):
Now = [M1]
History = [M0,M1]
Transitions = [T1]
Places = {1,1,0,0,0,0,0,0}
步驟2:只有變遷T2觸發(fā),得到狀態(tài) M2={0,0,1,0,0,0,0,0},其中M2是新狀態(tài):
Now = [M2]
History = [M0,M1,M2]
Transitions = [T1,T2]
Places = {1,1,1,0,0,0,0,0}
步驟3:變遷T1,T3觸發(fā),得到狀態(tài)M1和M3={0,0,0,1,0,0,0,0},其中M3是新狀態(tài):
Now = [M3]
History = [M0,M1,M2,M3]
Transitions = [T1,T2,T3]
Places = {1,1,1,1,0,0,0,0}
步驟4:變遷T2,T4觸發(fā),得到狀態(tài)M2和M4={0,0,0,0,1,0,0,0},其中M4是新狀態(tài):
Now = [M4]
History = [M0,M1,M2,M3,M4]
Transitions = [T1,T2,T3,T4]
Places = {1,1,1,1,1,0,0,0}
步驟5:變遷T1,T3,T5觸發(fā),得到狀態(tài)M1、M3和M5={0,0,0,0,0,1,0,0},其中M5是新狀態(tài):
Now = [M5]
History = [M0,M1,M2,M3,M4,M5]
Transitions = [T1,T2,T3,T4,T5]
Places = {1,1,1,1,1,1,0,0}
步驟6:變遷T2,T4,T6觸發(fā),得到狀態(tài)M2、M4和M6={0,0,0,0,0,0,1,0},其中M6是新狀態(tài):
Now = [M6]
History = [M0,M1,M2,M3,M4,M5,M6]
Transitions = [T1,T2,T3,T4,T5,T6]
Places = {1,1,1,1,1,1,1,0}
步驟7:變遷T1,T4,T5,T7觸發(fā),得到狀態(tài)M1、M4、M5和M7={0,0,0,0,0,0,0,1},其中M7是新狀態(tài):
Now = [M7]
History = [M0,M1,M2,M3,M4,M5,M6,M7]
Transitions = [T1,T2,T3,T4,T5,T6,T7]
Places = {1,1,1,1,1,1,1,1}
步驟8:沒有新的狀態(tài)可以產生,結束驗證。
由以上驗證步驟可以得出,向量Places={1,1,…,1},并且集合Transitions = T,表明該Petri網絡表示的工作流是正確的。
5 總結
即時情報服務系統(tǒng)是一種典型的工作流系統(tǒng),本文應用Petri網技術對即時情報服務系統(tǒng)進行工作流建模,并對工作流模型進行了合理性分析。Petri網在即時情報服務系統(tǒng)中的應用,為系統(tǒng)的開發(fā)提供了堅實的基礎。
參考文獻:
[1] HOLLINGSWORIH D.The workflow reference model,TCOO-1003[R].[S.l.]: Workflow Management Colition,1995.
[2] Van der AALST W M P.The application of Petri nets to workflow management[J].Journal of Circuits,Systems and Computers,1998,8(1):21-66.
[3] 袁崇義.Petri網原理與應用[M].北京:電子工業(yè)出版社,2005.
[4] 吳哲輝.Petri網導論[M].北京:機械工業(yè)出版社,2006.
[5] 黃瑜岳,李克清.基于Petri網的工作流合法性驗證綜述[J].計算機應用研究,2013,30(1):26-29.
[6] 周福明,吳斌,顧慶,等.基于Petri網的工作流建模與正確性分析[J].計算機科學,2005,32(2):121-124.
[7] 高捷,吳華瑞.基于矩陣模型的工作流合理性驗證算法研究[J].計算機工程與設計,2010,31(11):2621-2624,2628.
【通聯(lián)編輯:梁書】