摘要:對基于Petri網的建模對象進行分析,并提出將具有強大的圖形建模、可視化操作和空間數據分析功能的GIS技術應用到工作流建模之中,建立一個基于空間對象的工作流建模與模型檢驗的可視化建模系統,為解決傳統建模軟件開發中的關鍵問題提出了一種新的解決方案。
關鍵詞:工作流建模;地理信息系統;Petri網;模型檢驗
中圖分類號:TP391 文獻標志碼:A 文章編號:1001—3695(2007)09—0201—04
工作流建模是工作流管理系統應用的初始環節,同時也是最重要的環節。工作流建模就是用模型表達的方法對企業和組織的工作流程進行的形式化或非形式化的描述,實現業務流程到計算機定義的映射,是工作流管理系統中build-time階段的核心任務。目前在工作流建模理論方面已經提出了很多方法,比較典型的包括流程圖、狀態圖、活動網絡圖、IDEF系列、ECA(事件—條件—動作規則)、EPC(事件驅動的過程鏈模型)、Petri網等建模方法。其中圖形化建模方法是應用中的主流。在目前主要的工作流應用軟件中,如MQSefies work—flow(IBM)、action workflow(actlon technologies)以及Visualworkflow(filenet)等,均在系統中集成了圖形化的建模工具。其中模型對象的可擴展功能、對象及結構數據的自定義功能、建模結果的檢驗功能是工作流軟件開發商強調的重點。從技術角度上來說,就是要設計和實現一個具有高效的圖形管理、數據存儲和模型檢驗的建模工具。
1 圖形化建模軟件開發中的關鍵問題分析
由于圖形化建模在用戶交互方面的突出優勢,圖形化建模軟件已成為工作流軟件開發商的主要選擇,然而以下的四個關鍵問題一直是系統開發中所不能忽視的。
1)開發圖形化建模軟件需要有完善的建模理論予以支持
為了適應不同復雜度的業務流程,模型對象需要有很強的代表性,建模結果需要有很好的可檢驗性和通用性。
2)開發圖形化建模軟件需要有強大的圖形組件予以支持
由于模型對象和業務流程的復雜性和多變性,圖形組件需要具有很強的繪圖功能及對圖形對象的分類管理功能。
3)開發圖形化建模軟件需要有高效的工作流數據存儲模式予以支持
工作流模板不僅要存儲模型對象的圖形數據,同時更重要的是要存儲其相關的業務和邏輯信息,以通過工作流引擎實現過程的自動化運行。這就要求設計的數據存儲模式可以對模型對象的圖形數據和屬性數據進行統一管理,并建立它們之間的對應關系。
4)開發圖形化建模軟件需要有良好的模型檢驗方法和工具予以支持
為了保證建模結果的正確性和高教性,需要利用模型檢驗工具對工作流模板及其運行結果進行分析,從而實現工作流程的結構和效率的改進與優化。同時考慮到一般的模型檢驗方法和過程是相對復雜的,因此對于普通用戶來說,模型檢驗工具必須具備易操作、易分析和可視化的特點。
這幾個方面是設計和開發圖形化工作流建模軟件的重點也是難點所在,從很大程度上限制了許多非工作流專業軟件開發商對工作流技術的應用。隨著工作流建模語言如WPDL和XPDL的發展和統一,工作流引擎越來越面向于通用化的需求,滿足企業不同業務流程需求的任務逐漸轉移到作為客戶端的工作流建模軟件上來,必須要設計一種高教的解決方案以滿足不同用戶的應用和開發需求。本文提出采用Petri網的建模理論,引入GIS空間對象的建模和模型檢驗方法所設計的圖形化建模軟件可就以很好地解決上述問題。
2 GIS及基于空間對象的Perri網建模方法概述
地理信息系統(geographic information system,GIS)是一種以地理空間實體及其空間拓撲關系。包含空間數據和非空間數據為管理對象的計算機應用系統,具有強大的圖形建模、存儲和管理功能。GIS的一個重要特點是利用空間數據庫的存儲方法和對空間元數據的操作,實現對空間實體對象的建模和管理。
在空間模型中,一般所有的空間對象(features)均被歸結為三類簡單基本對象,即點對象、線對象和面對象。這三種類型可以作為所有空間對象的超類。空間對象不僅與數據庫中的屬性數據相關聯,同時還包括對象的空間位置和拓撲信息,通過空間查詢語句和空間操作方法,可以得到對象之間的連接、包含以及可達性和連通性等關系。目前GIS系統中普遍采用統一型的空間數據庫管理模式,空間對象的圖形數據和其屬性數據通過索引關聯,存儲在集中的空間數據庫中,從而很好地保證空間與非空間數據的一致性以及空間查詢和分析的高效性。
本文基于的Petri網理論是一種圖形化建模語言,可以直觀地反映活動的路由結構和節點間的邏輯關系。它具有精確的語義和嚴格的數學基礎,避免了許多建模方法的模糊性、不確定性和矛盾性。很多學者都認為Petri網將是工作流建模的最終趨勢。傳統的Petri網建模理論主要包括三個模型對象,即標記、庫所和變遷。為了增強Petri網的描述能力和分析能力,本文把連接弧,和觸發也作為建模的基本對象。
標記(token)表示工作流中的運行對象;庫所(place)表示工作流中的工作單元;變遷(transition)表示工作流中的邏輯和判斷條件;連接弧(rink)是工作流中連接庫所與變遷的對象,它描述了工作流的結構;觸發(trigger)是工作流系統所處外部環境發出的對工作流執行產生影響的信號,主要包括三種類型,即資源主導、外部事件和時間信號。
要將Petri網模型建立在CIS的圖形組件建模和管理功能之上,就必須對Petri網的基本模型對象進行空間分類。按照簡單空間對象的分類方法對Petri網建模對象進行分析得到的分類結果是,標記:點對象;庫所:面對象(可以包含標記);變遷:點對象;連接弧:線對象;觸發:點對象。下面結合面向對象的GIS開發理論,討論系統核心對象的屬性和方法。
3 系統設計與開發
3.1 系統開發平臺及框架
筆者設計開發的系統是一個集工作流建模和工作流檢驗功能為一體的圖形化建模軟件。系統開發采用目前主流的基于NET的WebGIS開發模式,主要工具采用MicrosoftVisual StudioNET開發平臺,MapInfo公司基于,NET的MapXtreme控件。后臺數據庫采用支持空間數據模型的Oracle 9i和MapInfo公司的空間數據中間件spmialWare。系統采用B/S模式,無須下載客戶端控件,用戶可以直接利用瀏覽器在Web頁面中進行工作流建模操作,同時可以應用圖形化模型分析工具對工作流的正確性和有效性進行分析。建模完成后系統支持用戶直接將工作流模板轉換成標準的WPDL文件,通過Web提交給工作流引擎執行,實現了分布式工作流系統的建模。系統框架如圖1所示。

3.2 系統核心對象的方法和屬性設計
基于GIS的建模系統,其設計思想是在充分繼承空間對象的屬性和方法的基礎上集成工作流模型的特點,建立具有空間對象性質的工作流建模對象。本文將空間對象的超類feature和工作流模型對象的超類process進行融合與擴展,得到基于GIS的工作流模型對象的超類processFeature。它是五個主要工作流模型對象token、place、transition、link和trigger的共同父類。具有空間對象和工作流模型對象的基本屬性和方法。圖2是核心建模對象的模型圖。系統中的頂層對象是workFlowTemplate(工作流模板)。它是圖形化工作流建模最后得到的結果。(點對象)、featureCurve(線對象)和featurePolygon(面對象)。Feature類主要定義和實現了建模對象在圖形結構、定位信息、拓撲信息等方面的描述和控制,為圖形化建模在工作流路由和工作流模型對象的圖形定義和空間操作方面提供了實現基礎。Process是工作流模型對象的超類,其子類包括工作流模型的主要建模對象。Process類主要定義和實現了建模對象在工作流運行中要涉及的時間、數據、約束條件、調用資源和參與者等方面的描述和控制,為建模得到的workFlowTemplate的實際運行提供了所需的內外部數據資源、服務資源以及運行所需的知識。

對象featureCoUeetion是feature對象的集合。該方法的一個重要應用在于它支持將常用的工作流模塊作為一個集合進行存儲。通過將and-split、and-join、or-split、or-join等基本結構以及用戶自定義的customModule和subPmeess等常用的業務工作流模塊進行存儲,充分利用這些結構安全的buildingblock來提高工作流建模的效率和合理性。
對象templateToWPDL的功能是將工作流模板轉換成標準的WPDL文件。為了實現建模的通用性,一般建模系統采取的方式都是將工作流模板這種圖形化的非結構化描述語言轉換成結構化語言描述的文件,實際上就是對一系列原模型實體進行描述。實現方法可以描述為:首先建立一個基本的WPDL描述文件的標準框架,包括文件聲明信息和基本的類型元素聲明;接下來將工作流模板中各個模型對象的相關數據從數據庫中取出,以屬性值的形式填寫到文檔中相關元素的位置,如(workflow participation specification>、(worktlow application list>、(workflow relevant data list)、 Feature類為工作流建模完成了圖形化的工作,可以類比數據庫建模中建立的業務流程圖,是外部的表現形式;而pmcess類則是完成了內部數據資源和控制信息的建模工作,可以類比建立的數據流程圖,是內部的實際聯系。在基于CIS的工作流建模方法中,筆者設計了一個新類processFeatur,繼承和擴展了feature和process類的屬性與方法,集成兩者的圖形化和數據化建模功能,并引入空間對象建模和模型檢驗的思想和方法。 ProeessFeature主要包括五個子類,即按照擴展Petri網建模思想建立的token、place、transition、link和trigger。這五個子類是工作流建模的主要模型對象,它們的組合可以完成傳統Petri網和擴展的高級Petri(顏色擴展、時間擴展、層次擴展)的建模工作,具有很強的建模和描述能力。表1所示是processFeature類的主要屬性;表2所示是其方法的列表。由于篇幅的限制,僅對其中具有代表性的一些對象及其屬性和方法進行闡述。 屬性table返回對象所在的表格信息。在空間數據庫中為了提高對象的操作和分析效率,不同類型的空間對象是存儲在不同表格之中的。原因在于點、線、面存儲的數據復雜度是不同的,點可以只有一對XY值,而線則至少需要兩對,面則由多線組成。 屬性inParameters和outParameters是工作流對象的輸入和輸出數據,它返回的是一個數組或者指針對象。屬性applica—fionSet是參與活動的可被調用的應用集合。RoleSet返回的是活動參與角色的集合。ObjecteDitor返回的是工作流模型的編輯界面,它繼承了空間對象編輯和工作流模型編輯的功能,既可以對模型的圖形顯示進行設置,同時可以對工作流模型的相關數據進行修改。屬性template返回的是對象所在的工作流模板的標志。 方法done是對模型對象進行的克隆(完全復制),是對模型對象的圖形信息和工作流數據以及運行狀態的同步復制,doue生成的對象是其父對象的動態投影。而方法copy只是對模型對象進行一般意義上的復制,可以只拷貝圖形信息而不關聯數據。 對工作流運行的控制主要通過以下三個方法:a)方法ac-tlvate是激活過程并加載所需的數據信息;b)方法halt是掛起當前的操作,并同時保留和存儲當前的運行狀態數據,等待條件滿足后再繼續執行;c)方法terminate是對當前對象的完全注銷,清除與對象相關的所有信息。 方法attach、join等是對模型對象的關聯操作,通過這些操作將建立起標記與庫所之間、連接弧與庫所之間、連接弧與變遷之間、觸發和變遷之間等模型對象間的連接關系。這些操作對應的是模型之間的空間拓撲關系的變化,并通過這些操作建立起工作流的路由。方法contains是返回包含對象的集合,如庫所中包含的標記對象的集合。 3.3 基于GIS的圖形化模型檢驗方法的設計 完成了工作流程的建模之后,需要對得到的工作流模板進行檢驗。這對保證工作流運行的效率是非常重要的。基于本文的分析和設計,將GIS的圖形操作和分析方法應用到工作流檢驗中,主要包括以下三個方面: a)將GIS中drilldown圖層的概念和方法應用到工作流父子過程的顯示中。 在GIS中經常要用到driHdown圖層的概念,以實現在不同比例尺的地圖之間進行切換瀏覽。而在工作流建模中經常會出現某些子業務環節異常復雜的情況。為了便于建模和分析,筆者對Petri網進行了層次擴展,引人可以循環嵌套的子過程的概念。將父過程和子過程視為不同比例尺下的工作流模板,利用GIS中drilldown和rollup方法進行圖層細化和基層綜合,可以將復雜的工作流模板變得結構清晰和易于觀察,從而有利于直觀有效地對工作流的整體和局部結構進行分析。 b)將GIS中的animationLayer(動態圖層)的概念和方法應用到工作流動態仿真中。 動態圖層支持圖層的快速刷新,是為了顯示具有動態實時更新數據的對象而建立的應用方法。這種方法在基于GPS的車輛監控系統中是最常用的,表示實際車輛的動態圖元其定位信息來自數據庫中不斷更新的GPS衛星定位數據,這樣在圖層上就可以看出不斷變化位置的車輛圖元。在工作流模型仿真中,可以將token視為其中的動態圖元。Token作為點對象具有XY的定位數據,可以根據工作流的路由和控制條件,按照一定的概率進行路徑選擇。如果工作流結構正確,那么token可以從起始庫所最終移動到終止庫所。通過這種仿真模擬,可以很容易地檢驗出工作流的結構性錯誤。同時在仿真運行過程中記錄下token在運行中耗費的時間成本、資源成本和選擇概率等數據,利用排隊論和馬爾可夫鏈等數學方法對工作流的性能進行分析,以對工作流的路由和資源的分配進行優化。 c)將GIS的圖形操作方法應用到工作流檢驗方法中。 有些學者提出了簡易直觀的基于圖形操作的工作流結構分析方法。其基本思想是利用圖形操作工具,在一定的規則之下直接對工作流進行化簡。Wosim Sadlq等人提出了五個基于結構正確性的模型刪除規則,開發基于這五個規則的圖形操作工具,可以直接在工作流模板上進行分析。按照刪除理論,如果最終得到的工作流是結構正確的。那么整個工作流也是結構正確的,因此可直觀地分析出工作流模型是否存在死鎖(deadlock)和非同步(lack 0f synchronization)類型的結構錯誤。 4 結束語 本文設計了一個基于GIS的圖形化工作流建模系統,引入了空間對象的建模方法、GIS數據存儲模式以及GIS圖形操作方法,很好地解決了圖形化建模軟件開發中的關鍵問題,為圖形化的工作流建模和模型檢驗提供了新的思路和方法。該系統的原型被作為Web客戶端功能的一部分集成到安徽省輸變電地理信息系統(ADGIS)中進行應用,以實現電力企業業務流程的建模和模型分析功能。初步實驗結果證明取得了較好的應用效果。 下一步的工作將圍繞著如何更好地提高系統在模型檢驗和分析方面的功能來展開。其中空間分析理論中的空間拓撲分析和空間統計方法將是研究的重點。