黃紅梅
(1.廣東水利電力職業(yè)技術(shù)學(xué)院計算機信息工程系 2.廣東工業(yè)大學(xué)自動化學(xué)院)
工作流管理技術(shù)對于提高企業(yè)敏捷性,特別是提高企業(yè)內(nèi)部的自我調(diào)整能力、適應(yīng)變化的能力和組織結(jié)構(gòu)的靈活變化能力起到了極其重要的作用。因而,如何使工作流管理系統(tǒng)(Workflow Management System,WfMS)具備自動適應(yīng)環(huán)境變化的能力成為近幾年工作流管理技術(shù)研究領(lǐng)域的一個熱點。工作流過程模型作為整個工作流管理系統(tǒng)的基礎(chǔ),其柔性程度直接影響工作流管理系統(tǒng)的應(yīng)用范圍和對環(huán)境變化的適應(yīng)能力。過程元模型是描述過程模型的模型,一套能夠描述動態(tài)特性的元模型有利于過程模型對動態(tài)、靈活性問題的解決。
為了支持工作流的動態(tài)變化,文獻[1]引入了活動實例、過程實例等運行期元素,重新設(shè)計了動態(tài)工作流元模型。其動態(tài)過程模型能較好的描述新增和刪除活動的變化,但對活動結(jié)構(gòu)的改變?nèi)狈γ枋?;文獻[2]將活動中的結(jié)構(gòu)描述及約束分離出去,引入了連接符,并對工作流過程定義語言(Workflow Process Definition Language,WPDL)進行了相應(yīng)的擴展;文獻[3]、[4]改進和擴展了工作流元模型,將各工作流管理聯(lián)盟 WfMC過程定義元模型中的轉(zhuǎn)換條件分解為活動的狀態(tài)轉(zhuǎn)換規(guī)則和活動間的轉(zhuǎn)換規(guī)則,并將活動間的轉(zhuǎn)換規(guī)則單獨封裝。這些封裝使得WfMS對過程定義進行動態(tài)修改變得更加容易和靈活,增強了WfMS對各種變化的適應(yīng)性。本文在此基礎(chǔ)上對工作流過程元模型進行改進和擴展。
支持動態(tài)特性的過程模型除了要描述并解決工作流中各種活動的具體語義和活動之間的依賴關(guān)系以外,還要體現(xiàn)動態(tài)特性的兩個方面:① 在工作流定義階段能夠定義過程的動態(tài)行為,能夠表達在建立階段有語義不確定的活動以及不確定的活動與活動之間的關(guān)系、不確定的子過程;② 允許在運行階段修改預(yù)先定義的流程。比如,能夠進行動態(tài)增加或減少活動、能夠動態(tài)改變執(zhí)行的路徑。
下面從模型建立及運行階段來分析過程級和活動級的動態(tài)特性。
過程中可能存在的活動以及活動間連接的邏輯關(guān)系的變化如下:
(1)過程中增加或減少某個活動
過程中增加或者減少活動導(dǎo)致過程中活動間的邏輯關(guān)系發(fā)生變化,影響了整個過程控制的變化??赡艿那闆r如下:
① 串行的任務(wù)增加或者刪除;
② 串-并行增加:串行任務(wù)分解為并行任務(wù);
③ 并-串行增加:增加一個任務(wù)與某個任務(wù)為并行關(guān)系;
④ 并-串減:并行任務(wù)刪除其中一個或者多個任務(wù)合并為一個。
(2)過程中業(yè)務(wù)規(guī)則的變化導(dǎo)致活動間的邏輯關(guān)系發(fā)生變化,可能的情況包括:
① 任務(wù)間的串行關(guān)系變?yōu)椴⑿嘘P(guān)系;
② 任務(wù)間的并行關(guān)系變?yōu)榇嘘P(guān)系;
③ 任務(wù)間的分叉選擇關(guān)系變?yōu)榉植娌⑿嘘P(guān)系;
④ 任務(wù)間的分叉并行關(guān)系變?yōu)榉植孢x擇關(guān)系。
(3)過程中業(yè)務(wù)規(guī)則的變化導(dǎo)致轉(zhuǎn)換條件的變化,執(zhí)行條件的變化將影響過程控制發(fā)生變化。
過程中業(yè)務(wù)規(guī)則的變化將導(dǎo)致轉(zhuǎn)換條件的變化,包括活動的前置條件或者后置條件的變化以及執(zhí)行條件的變化,這些變化可能會導(dǎo)致活動屬性的變化。在傳統(tǒng)的工作流中,一個活動出現(xiàn)在一個流程中意味著當(dāng)流程到達該活動時,活動就要執(zhí)行,活動之間分不出哪些是關(guān)鍵的,哪些是可以變通的。在流程執(zhí)行過程中,有些活動是可以選擇執(zhí)行、可被替代執(zhí)行、可以被取消、可以被忽略、可以被合并、可以被分解等等。而 WfMC僅對活動的一般屬性進行了基本定義,無法支持工作流的動態(tài)性。為使流程定義具有靈活性,現(xiàn)采用以下做法:
(1)將活動分為幾類:必須的、可選的、可重復(fù)的,這與文獻[5]是一致的。
(2)通過規(guī)則靈活定義活動的行為,將活動的執(zhí)行劃分為維護原來的行為和可以改變原來的行為兩類。維護行為又可以分為必須執(zhí)行、可重復(fù)執(zhí)行、可等待執(zhí)行,這與文獻[1]的劃分一致。可改變行為又分為可被替代、可被忽略、可被取消、可被分解、可被合并、需要人工干預(yù)等。
在 WfMC提供的過程定義元模型中,工作流定義的主要對象是活動和轉(zhuǎn)換。WfMC通過工作流過程定義語言(WPDL)描述和解釋工作流。在WPDL中,活動間的結(jié)構(gòu)(匯聚(join)、分支(Split))和約束關(guān)系(AND、OR、XOR)在活動中加以說明。由于這些結(jié)構(gòu)和約束是活動說明的一部分,因此當(dāng)業(yè)務(wù)過程發(fā)生動態(tài)變化導(dǎo)致結(jié)構(gòu)和約束變化時必然引起活動定義隨之變化。把匯聚、分支結(jié)構(gòu)以及它們的約束說明從活動中提取出來,引入一種新的元模型元素“同步器(synchr-onizer)”。引入同步器將所有的控制信息說明從活動說明中獨立出來,分別封裝,可以使變化的影響局部化,有利于工作流模型的動態(tài)修改。
業(yè)務(wù)過程的動態(tài)變化體現(xiàn)在過程中活動的增減、活動間邏輯關(guān)系的變化以及轉(zhuǎn)換規(guī)則的變化。在過程模型動態(tài)性的分析基礎(chǔ)上,對 WfMC提供的工作流過程定義模型進行抽象和擴展,得到擴展的工作流過程定義元模型如圖1所示。
圖1 擴展的過程定義元模型
圖1 中引入了新的元素:柔性工作流過程定義、同步器、變換器、活動執(zhí)行類型、同步器類型。
(1)柔性工作流過程定義:柔性工作流過程定義類似于黑盒,其結(jié)構(gòu)和語義是在流程執(zhí)行階段才能確定。在工作流執(zhí)行中需等待一些結(jié)果明朗后才能確定其具體的意義。在這個階段,黑盒可以變?yōu)榘缀?,它可能是一個空節(jié)點、原子活動、子過程。子過程由活動、同步器以及轉(zhuǎn)換組成,它還可以包括黑盒。
(2)同步器:把匯聚、分支結(jié)構(gòu)以及約束(AND、OR、XOR)等分離出來產(chǎn)生新的元模型元素“同步器”??赏ㄟ^改變同步器或者重定義對工作流流轉(zhuǎn)類型進行變更。當(dāng)增加和刪除一個活動時,只需要增加和刪除同步器以及修改轉(zhuǎn)換條件。
(3)變換器:對于柔性的工作過程,只有在工作流執(zhí)行過程中,根據(jù)實際的執(zhí)行結(jié)果來明確流程的結(jié)構(gòu)和語義。另外,根據(jù)對活動的靈活性分析,活動可以被替代、可被組合、可被分解、可被忽略、可被取消?;顒娱g的邏輯關(guān)系也可能隨之改變,通過變換器,可以知道在什么規(guī)則下哪些活動和邏輯關(guān)系被轉(zhuǎn)換,如何轉(zhuǎn)換。引入轉(zhuǎn)換和轉(zhuǎn)換規(guī)則,還可以自動對活動、同步器、轉(zhuǎn)換條件按照一定的變換推理規(guī)則[6]提供可供選擇的流程模型進行人工選擇,提供系統(tǒng)的柔性和智能性。
(4)活動執(zhí)行類型:把活動分為維護執(zhí)行、可改變執(zhí)行兩大類,在此基礎(chǔ)上再細(xì)分為必須執(zhí)行、可等待執(zhí)行、可重復(fù)執(zhí)行、可取消、可替代、可忽略、可分解、可組合等類型。
(5)同步器類型:把同步器分為順序型、并行分叉-匯聚、選擇分叉-匯聚、多并行選擇分叉-匯聚、異或分叉-匯聚等類型。對同步器的靈活性描述增加了對復(fù)雜工作流模式的描述能力,同時為同步器在流程執(zhí)行時發(fā)生動態(tài)變化提供了具體的指導(dǎo)。
圖1中其它的元素的語義與WfMC提供的過程定義元模型相同。改進的工作流過程定義元模型具有更大的柔性和可重構(gòu)性。
工作流過程定義語言WPDL是基于WfMC提出的過程定義元模型而定義的文本描述語言。由于本文對工作流過程定義元模型進行了改進和擴展,相應(yīng)的必須對工作流過程定義語言進行修改和擴展。在此給出引入的新元素的定義。
工作流過程定義構(gòu)成了工作流模型的主題部分,它包含了組成模型的所有活動和轉(zhuǎn)換信息。針對改進和擴展后的過程元模型,工作流過程定義主要包含了兩個主要的部分:常規(guī)過程定義和柔性過程定義。其中柔性過程定義的格式如下:
柔性過程定義中加入了變換器列表。
在常規(guī)過程以及柔性過程定義中,有部分內(nèi)容是描述過程中所包含的全部活動的信息,它構(gòu)成了活動列表
普通活動的定義格式如下:
執(zhí)行類型說明了活動在流程執(zhí)行過程中具有的一些執(zhí)行特征,根據(jù)其屬性動態(tài)選擇執(zhí)行活動。
同步器是活動之間的連接機制,例如:順序、與匯聚/分支、或匯聚/分支、異或匯聚/分支等。同步器的定義格式如下:
轉(zhuǎn)換(transition)信息規(guī)約的是活動與同步器之間的流轉(zhuǎn)。轉(zhuǎn)換以同步器為中心,分為兩種形式:活動到同步器的轉(zhuǎn)換、同步器到節(jié)點的轉(zhuǎn)換,其中節(jié)點可以是同步器,也可以是活動。條件(condition)是附著在活動到同步器的轉(zhuǎn)換以及連接符到節(jié)點的轉(zhuǎn)換上,用來決定工作流執(zhí)行的路徑。條件是由運算符與狀態(tài)組成的邏輯表達式。因此把過程或者活動轉(zhuǎn)換所涉及到的狀態(tài)、同步器、條件三個要素之間的關(guān)系定義為轉(zhuǎn)換信息[4]。
轉(zhuǎn)換信息的定義格式分為兩種:一個是活動到同步器的定義格式:
另一個是同步器到節(jié)點的定義格式:
狀態(tài)是過程實例或活動實例變遷觸發(fā)的一個條件,可作為轉(zhuǎn)換路由的一個輸入?yún)?shù),部分決定了過程實例或者活動實例的轉(zhuǎn)換路徑。狀態(tài)的具體內(nèi)容由具體業(yè)務(wù)流程決定,如:運行、終止、等待、已提交、已處理、未處理等。狀態(tài)的定義格式如下:
變換器規(guī)約了活動、同步器和轉(zhuǎn)換條件的變換信息。包括變換前后的類型、ID、變換的詳細(xì)內(nèi)容。變換的對象可以是活動、同步器和轉(zhuǎn)換條件。變換器的定義格式如下:
本節(jié)應(yīng)用實例說明改進的過程定義元模型所具備的動態(tài)支持能力并使用擴展后的 WPDL描述變更后的流程。
某網(wǎng)絡(luò)運營部門故障工單處理簡化的工作流程為:客服中心接受申請派單,一種情況是客服中心處理派單然后結(jié)單;另一種情況是將單派送到運維部門。運維部門對故障申請單做處理后有兩種可能:一是處理完成結(jié)單;二是故障單派送到寬帶部,運維部門結(jié)單,之后寬帶部處理故障單完成后結(jié)單。為了提高服務(wù)質(zhì)量和效率,對原有的流程進行了調(diào)整和優(yōu)化。客服中心根據(jù)故障單的情況派送給故障處理部門,根據(jù)流程動態(tài)執(zhí)行情況來決定由哪個部門或者部門間合作處理故障。
故障處理流程使用活動、同步器和有向弧表示流程模型如圖2 所示。
圖2 (b)中黑盒是流程變換部分。黑盒中的具體流程按照實例執(zhí)行時動態(tài)的選擇活動和活動的因果關(guān)系(由業(yè)務(wù)規(guī)則決定)執(zhí)行。如圖2 (c)、圖2 (d)、圖2 (e)、圖2 (f)所示,一旦黑盒變成白盒就確定了相應(yīng)的流程。從圖2 中可知,圖(a)和圖(c)是一樣的,也就是柔性過程與原來相比沒有變化。比較圖(a)和圖(d),圖(d)的柔性過程僅包含任務(wù)t6、t7和同步器p4。與原流程相比只需要對同步器p1做修改變換,采用的變換為表1中的CV1。由于改進后的元模型將活動、同步器分離封裝,流程的調(diào)整和組合只需要使用變換器對同步器或轉(zhuǎn)換信息進行修改和變換,無需修改活動本身的具體事務(wù)處理,從而使得元模型具備了柔性和可復(fù)用性。變換器還可以在變換引擎、規(guī)則庫的支持下,利用變換推理規(guī)則變換出多個柔性過程,提供給用戶選擇適當(dāng)?shù)牧鞒?,使元模型具備智能性?/p>
圖2 故障處理流程
表1 柔性流程的WPDL描述
本文分析了過程模型和過程元模型對動態(tài)適應(yīng)性的支持能力。討論了過程模型的動態(tài)特性以及WfMC的過程元模型,對該模型進行了改進和擴展。將柔性工作流定義、同步器、變換器等新的元素引入到過程定義元模型。改進和擴展后的過程元模型具有更大的柔性和重構(gòu)性,由于引入了變換器,還為提高過程元模型的智能性做了基礎(chǔ)工作。另外,對描述過程元模型的定義語言 WPDL也做了改進和擴展。最后通過一個實例分析表明改進的過程定義元模型具備柔性和可復(fù)用性,證明了模型的動態(tài)支持能力。
[1]孫瑞志,史美林.支持動態(tài)變化的工作流過程元模型[J].軟件學(xué)報.2003,14(1):62-67.
[2]趙文,胡文蕙,張世琨,等.工作流元模型的研究與應(yīng)用[J].軟件學(xué)報,2003,14(6):1052-1059.
[3]余陽,湯庸.柔性工作流元模型及應(yīng)用[J].中山大學(xué)學(xué)報(自然科學(xué)版),2004,43(2):21-24.
[4]徐勁松,等.一種改進的柔性工作流過程定義元模型研究[J].計算機工程與應(yīng)用,2008,44(4):77-79.
[5]Chiu DKW,Li Q,Karlapalem K. A mata modeling approach to workflow management system supporting exception handling[J].Information System,1999,24(2):159-184.
[6]黃紅梅,章云.可拓推理的Petri網(wǎng)表示[J].哈爾濱工業(yè)大學(xué)學(xué)報,2006.38(7):1115-1119.