摘要:實現工作流技術的關鍵環節在于工作流的概念模型,而其中的過程建模又是構建工作流管理系統的基礎,因此,對建立工作流模型的研究和應用比較多。近幾年,隨著業務流程建模、工作流概念的出現以及Petri網技術的發展,Petri網也被用于工作流模型的建立。該文在介紹工作流模型和Petri網基本概念的基礎上,介紹工作流的四種基本流程結構,并以工作流的四種基本流程結構為出發點,給出了如何把它們映射成符合工作流網定義的模型的一種方法。
關鍵詞:工作流;Petri網;工作流網
中圖分類號:TM73 文獻標識碼:A 文章編號:1009-3044(2009)15-4077-02
Petri Net Workflow Modeling Study
ZHOU Li-fen
(Qujing Normal University,Qujing 655011,China)
Abstract: Conceptual model is the key to develop its workflow technology and the process of building model is the basic of establishing workflow management system, so research and application about workflow model is so much. In recent years, with establishment of business process model and Petri net technology development, Petric net is also used in building workflow model. This article introduces workflow and the basic concept of Petri net. Introduced the four basic of process workflow structure, and workflow processes of the four basic structure as the starting point, given a way of how they map into compliance with the definition of WF-net model.
Key words:workflow; petri net; workflow
1 引言
工作流技術是90年代初隨業務流程重組對組織機構和運行機制重組的需要而興起的,該技術是近年來迅速發展起來的廣泛應用于過程建模、模型分析和過程管理的一項新興技術,是實現流程執行和控制管理的一條有效途徑。工作流建模就是將現實世界中的業務過程抽象出來,并用一種形式化的、計算機可處理的方式來表示,這種形式化結果就稱為工作流模型[1]。到目前為止,人們提出了不少有意義、有見解的工作流模型,基于Petri網的工作流模型就是其中的一種。Petri網是一種圖形化的建模工具,由于Petri網模型對帶有并發性、異步性、 分布性、非確定性和并行性系統的有力描述[2],使其成為具有廣泛應用前景的建模工具。本文先介紹Petri網及工作流模型的四種基本結構,再利用Petri網對工作流模型運行的決定因素:控制連接、活動、轉移條件、啟動條件和終止條件的重新解釋,實現了對元模型過程定義的映射。
2 Petri網
Petri網在1962年由德國學者C. A .Petri作為一種過程建模和分析的工具提出,它是一種圖形化的描述過程的強有力工具。同時,Petri網是一種經過嚴格定義的數學模型,具有規范的模型語義,完全支持工作流管理聯盟所定義的六種工作流原語[3],可以對業務過程進行精確定義。
經典的Petri網是一個雙重有向圖[4],有兩類節點類型,稱作庫所Place 和變遷 Transition,這些節點通過有向弧相連;在任何時刻,庫所當中包含零個或者多個標記token:相同類型的兩個節點之間不允許相連。Petri 網中的庫所表示條件,變遷表示任務,一個任務可能對應一個或多個變遷,一個工作項對應一個就緒的變遷,一個活動對應一個變遷的實施。
3 基于Petri網的工作流模型建模
3.1 工作流元模型
工作流模型是對工作流的抽象表示,也就是對經營過程的抽象表示,需要保證流程含義的正確、數據一致性和流程的可靠性,所建立的模型不僅有正確的含義,而且還要能提供一個由分析模型到投入實際實施模型的轉換接口,從而使該模型能夠被企業應用到工作流管理系統中執行,為此,工作流管理聯盟定義了描述工作流模型的模型,即工作流元模型。
圖1所示的過程定義元模型的組成核心是活動。工作流定義與活動、工作流相關數據之間是一對多的關系,即一個工作流定義由多個活動與多個工作流相關數據組成。活動、資源、工作流相關數據、需要激活的應用程序、轉換條件之間是多對多的關系。
此外,工作流實例需要某種條件才能夠啟動和終止,一般情況下稱它們為啟動活動和結束活動。
在工作流模型中,活動作為結點通過連接弧連接在一起,在這里解釋成是對工作流活動轉移的控制連接,通過控制連接可以定義活動執行的先后順序。當需要決定后繼活動是否能執行,而且一個活動后面有多個后繼活動可以執行時,實際的路徑選擇就是由活動開始條件、活動終止條件和轉移條件三個附加的路徑選擇條件決定。
現實中的工作流模型是比較復雜的,但是它都可以歸結為以下四種基本結構:
1)順序結構用來定義一系列按固定順序串行執行的活動,由一條無分支的通路構成,如圖2(a)所示。
2)循環結構用來定義需要重復執行多次的活動,其中包含“顯式或分離”執行原語,如圖2(b)所示。
3)并行結構用于定義沒有嚴格執行順序的、可同時進行的分支活動。該結構包含兩個基本的工作流執行原語:“并分離”和“并匯集”。并分離觸發其后繼活動的并發使能,后繼活動可以以異步方式執行。并匯集則實現對后繼活動結束過程的同步,以保證所有后繼活動都完成后才繼續向前推進流程,如圖2(c)所示。
4)條件結構用來定義彼此之間具有相互制約與排斥關系的分支活動。該結構也包含兩個基本的工作流執行原語:“或分離”和“或匯集”。有兩種或分離,分別稱為“隱式或分離”和“顯式或分離”,如圖2(d)所示。
3.2 元模型到基本Petri網的映射
從工作流元模型的闡述中,可以看出,工作流模型的運行由路徑選擇、活動的啟動和終止條件、控制連接的條件選擇共同決定的,控制連接可以構成四種不同的選擇結構,并最終形成了工作流的四種基本流程結構。因此,通過對控制連接、活動和四種選擇結構建模就可以實現對工作流的建模要求。過程建模如下:
1)通過用變遷來表示活動、庫所表示活動的開始狀態和活動終止狀態、托肯表示實例來建立工作流的Petri網模型,而且某個活動終止后的狀態和另一個活動的開始條件是重合的。
2)對于過程的啟動條件相連的活動,活動的開始狀態也是過程的啟動條件,用一個特別的庫所i來表示。
3)對于過程的終止條件相連的活動,活動終止后的狀態也是過程終止后的狀態,用一個特別的庫所o來表示。
4)或分離建模關鍵在于分離點的建模,可以把分離點看出活動B和活動C的共同開始狀態,這個開始狀態也是一個轉移條件,通過它檢查前面執行活動即活動A的輸出數據,判斷與它相連接的活動哪個符合開始條件,從而啟動相應的活動。同理,活動B和活動C的終止條件也可以合并,它同時也是一個轉移條件,用來匯集得到活動B或活動C的數據,決定是否啟動后繼活動即活動A。
5)并分離需要表達兩個活動的并行運行,將處在并分離位置的活動作為分離變遷和實體變遷,即使一個對活動的映射,也將活動完成后得到的數據傳遞給活動A和活動B的開始狀態,保證活動A和活動B的開始狀態是一致的,然后決定能否執行。
6)同理,處在并匯集的活動既是一個對活動的映射,也被用來匯集活動B和活動C完成后得到的數據,將活動B和活動C的終止狀態作為活動A的開始狀態,由這兩個狀態共同決定活動A能否執行。
用上面這幾個基本元素,能夠定義選擇路徑、并行路徑、順序路徑和循環路徑4種基本流程結構,從而形成更為復雜的工作流程。在模型映像方面,Aalst等人通過對四種基本流程結構定義構造基于Petri網的工作流模型。但是,這種定義方式為了對或/并分離和或/并匯集建模,引入了幾種具有特殊意義的庫所和變遷,特別地,他們還為或分離/匯集定義了確定性和不確定性兩種形式,這樣就增加了模型元素,模型與元素的對應關系就比較模糊,也更難于計算機化。本文利用Petri網通過對控制連接、活動、轉移條件、啟動條件和終止條件的重新解釋,實現了對元模型過程定義的映射。這樣所得到的基本Petri網,稱為工作流網(Workflow net,WF_net)。
定義:Petri網PN=(P,T,F)為工作流網當且僅當:
1)PN有一個源庫所(source place)i∈P,使得*i=φ。
2)PN有一個漏庫所(sink place)o∈P,使得o*=φ。
3)每個結點x∈P∪T都是屬于從i到o的一條路徑上。
工作流網準確地區分了活動的使能與活動的執行兩種狀態。被使能的活動要真正的被執行,必須具備相應的觸發機制。觸發機制可以理解為一種使被使能的活動進入執行狀態的外部條件,通常可以分為四種類型:
l)自動觸發:活動被使能的同時就被觸發。這種機制一般用于那些通過應用程序來自動執行、不需要與人進行交互的自動型活動。這類活動一旦被使能,就開始執行。
2)用戶觸發:活動的執行通過執行者從工作流任務管理器提供的工作流任務表中選擇工作項來進行觸發。當執行者選中某一工作項時,此工作項開始執行,被轉換為活動。
3)消息觸發:由系統外部的消息(事件)來觸發活動的執行。
4)時間觸發:由控制時間的定時器來觸發使能的活動。這對于那些需要在預定的時間或給定的時間間隔要求來執行的活動使不可缺少的。
這四種觸發機制將被用于工作流網的定義之中,在每一個活動(變遷)的上方,都標有相應的記號(如圖3所示),以指明該活動使通過哪種觸發機制來執行的。如果模型僅用來描述活動的順序和狀態,可以不詳細描述這四種觸發機制。
4 結束語
作為一種圖形化工具,可以把Petri網看作與數據流圖和網絡相似的方法來描述系統模型;作為一種數學化工具,Petri網可以建立各種狀態方程、代數方程和其它描述系統行為的數學模型。因此,Petri網具有形式化語義定義、圖形表達的直觀性、與數學圖論相支持的理論嚴密性等優點,特別適合工作流建模的研究和應用。本文通過對工作流的闡述,得到工作流的運行由路徑選擇、活動的啟動和終止條件、控制連接的條件共同決定,而控制連接和活動一起可以構成四種不同的選擇結構,最終形成工作流的四種基本流程結構,并以工作流的四種基本流程結構為出發點,給出了如何把它們映射成符合工作流網定義的模型的一種方法。
參考文獻:
[1] Workflow Management Coalition.The Workflow Reference Model.Technical Report[R].WFMC-TC00-1003.Hampshire: Workflow Management Coalition,1995.
[2] 范玉順,王剛,高展.企業建模理論與方法學導論[M].北京:清大學出版社,2001:109-111.
[3] Le Hors A,L e Hegaret P ,Nicol G,et a1.Document Objec Model(DOM)Level 3 Core Specification[EB/OL ]. [2004-04-07]. http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407.
[4] 袁崇義.Petri網原理[M].北京:電子工業出版社,2005.