任懷慶,王巧玲
(通化師范學院 計算機學院,吉林 通化 134001)
計算機支持的協同工作CSCW(Computer Supported Cooperative Work)是一種全新的辦公模式,其本質是在計算機和網絡等現代通訊技術及設備的支持下,分布式的個體共同協作以完成一項工作[1],在當今發達的網絡背景下,CSCW突破了傳統的計算機應用概念,為時空上相互隔離的個體提供了“面對面”和“你所見即我見”的分布式協同工作環境[2].但是,正是由于CSCW任務的對象是分布的,資源是分布的,主體是分布的,給協同辦公系統平臺的設計帶來了巨大的挑戰,一個通用的CSCW系統是相當復雜的,必須滿足基本的分布式協同特征,一般應具備以下幾點:①協作性.CSCW系統的目的就是要支持分布式的個體以通過協作方式更好地完成任務.②整合性.由于CSCW系統的對象是分布的,包括各種硬件資源、信息資源、數據庫資源等,在分布式網絡服務的支持下,所有的資源對于分布在不同地理位置的個體來講應該是透明的,CSCW系統能夠透明地整合這些資源,這也是現代網絡系統、分布式計算的目標之一.③時效性與時序性.CSCW系統協作的任務都是有時效的,并且對于協作的個體的操作順序是有要求的,通常要在有效的時間內完成,并且要遵循一定的時序規則.④定制性.包括對操作人等主體的定制,也包括對業務流程、任務功能、時效、監督機制等的定制.⑤易修改性.CSCW系統始終以人為主體,而人員是易變動的,且環境、時效等都是易變的因素,因此CSCW系統必須能夠滿足這種特性,具有易于修改、易于維護的特征,以滿足對業務變動、人員變動、時間進度變動等的修改.由此可知,CSCW系統是相當復雜的,設計一個通用的CSCW系統模型更具有一定的挑戰性.
Petri網是一種圖形化的建模工具,與其它建模方法相比,Petri網具有更嚴格的數學理論基礎和直觀易懂的圖形表示[3],并且具有嚴格的系統分析技術,其優勢是能更充分地描述系統的分布式并發性、異步性、不確定性等特點,適于建模分布式離散事件系統,而分布式協同辦公正是這樣一種分布式離散工作流.本文旨在利用Petri網技術及面向對象技術對通用CSCW系統進行建模,為設計一個結構良好、業務無關的集通訊、信息整合、應用整合和定制開發為一體的CSCW系統平臺提供可靠的理論依據.
Petri網是一種抽象的信息流模型,可以形式化地表示信息流、工作流系統的模型.經典的Petri網由庫所、變遷、有向弧、令牌等元素組成,可以用來模擬系統的事件、條件以及它們之間的關系[4,5].庫所在Petri網的圖形表示中用圓形節點表示,變遷用方形節點表示,庫所和變遷之間的有向弧表示庫所和變遷之間的轉化關系,通常稱有向弧前端的庫所或變遷為輸入,后端的庫所或變遷為輸出,為了表示動態的信息轉化特性,引入了令牌標志,如果一個變遷的所有輸入都有令牌標志,則該變遷滿足激發條件,結果是變遷可以發生,并且該輸出會獲得令牌標志.圖1為處理機作業處理的Petri網描述模型[4],從中可以看出Petri網可以描述動態的分布式工作流處理過程,圖中的圓點表示令牌.

圖1 處理機作業處理的Petri網描述模型
根據WfMC(工作流管理聯盟)的定義,工作流可以分為四種流程結構,分別為順序結構、并行結構、選擇結構、并行結構以及循環結構[6],圖2為Petri網表示的四種流程結構

圖2 工作流四種流程的Petri網描述
根據以上四種流程結構,以及綜合考慮協同辦公工作流的分布式特點,給出以下適合于描述協同辦公工作流的Petri網定義.
定義1 一個Petri網N是一個三元組[7],N=(P,T,F),其中,P是庫所的非空有限集,T是變遷的非空有限集,并且滿足:P∩T=?,F是N的有向弧集,F?(P×T)∪(T×P).
定義2 變遷集T是一個二元組T=(N,M),可以表示工作流中的活動或任務,其中N為子Petri網,M為當前變遷的狀態,M可以有三種取值,分別表示未執行、正在執行、執行完畢,如此定義的好處是滿足面向對象程序設計以及模塊化程序設計的需要,易于將Petri網直接映射至面向對象語言的類、結構中.
由定義2可以看出,Petri網的定義滿足循環、嵌套關系,即Petri網中可以包含Petri網,對應至工作流系統中即代表工作流中可以包含工作流,滿足了程序設計中模塊化以及分層的概念,大任務可以化簡為多個小任務完成,更符合現代面向對象程序設計技術.
基于上述定義以及對工作流特征的分析給出了文檔審批工作流的簡化模型,如圖3,模型中沒有考慮審批權限驗證、角色處理等問題,也沒有考慮審批人無法在規定時間內審批等問題,這些問題都可以通過在Petri網模型中添加庫所條件、變遷(任務)循環等完成.本文中只給出簡化模型以供參考.

圖3 文檔審批工作流的Petri網模型
由圖3可知,文檔審批工作流由Petri網模型描述非常適合,從文檔制定開始至文檔審批結束,每一步都可以用Petri網的元素準確地描述,其中變遷T2、T3為選擇結構的任務變遷,表示審批人1和審批人2是可選的,即只要有一個人審閱通過,任務即為完成;變遷T2、T3、T4是有次序的,只有T2或T3完成后才能進入下一任務T4,T5與T2、T3、T4是并行的,即審批人4與審批人1、2、3可以對文檔進行并行性審批.
本文主要介紹了Petri網的基本理論,并結合基于網絡服務的分布式協同辦公工作流的特點,提出了用Petri網理論進行協同辦公的建模方法,使用Petri網建模具有明確的語義、清晰的圖形表達方式,使得對工作流的處理更加明確,便于修改,能夠更有效地對協同辦公工作流邏輯進行驗證,對應用程序的開發具有一定的指導意義.