趙建民 儲孝國
摘要:為解決協(xié)同科技管理平臺業(yè)務(wù)協(xié)同性和動態(tài)性的問題,基于工作流過程元模型的構(gòu)建方法,結(jié)合協(xié)同活動模型和工作流動態(tài)變化的要求,對元模型進(jìn)行了改進(jìn)和擴(kuò)展,將協(xié)同活動元素、連接符及ECA規(guī)則引入其中,并對模型屬性進(jìn)行修改,從根本上解決科技業(yè)務(wù)處理過程中協(xié)同性和工作流動態(tài)性的問題,增強(qiáng)了科技業(yè)務(wù)工作流程的靈活性和自適應(yīng)能力。
關(guān)鍵詞:工作流;元模型;動態(tài)性;協(xié)同性
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A
Abstract:In order to solve the problem of cooperation and dynamics on the collaborative management platform of science and technology, based on the construction method of the workflow process metamodel, we improved and extended the metamodel by combining the cooperation activity model and the requirement of workflow dynamic modification, which imported cooperation activity elements, connector, ECA rules and modified the properties of the model. Fundamentally, it solved the problem of the cooperation and dynamic characteristic of workflow and enhanced the flexibility of workflow and selfadaptation ability in the business process of science and technology.
Key words:workflow;meta model;dynamic;collaborative
1引言
隨著計算機(jī)和協(xié)同技術(shù)的高速發(fā)展,CSCW(計算機(jī)支持的協(xié)同工作)在很多領(lǐng)域都有著大量的應(yīng)用,它能夠為一個群體在計算機(jī)支持的協(xié)同環(huán)境中完成同一項共同的任務(wù)提供有力的支持。而工作流技術(shù)作為CSCW研究方向的一項重要應(yīng)用,在行業(yè)協(xié)同過程管理中起到了越來越重要的作用。
在協(xié)同業(yè)務(wù)平臺的搭建的過程中應(yīng)用了工作流的相關(guān)技術(shù),如何在工作流的基礎(chǔ)上解決多任務(wù)協(xié)同分配并完成相關(guān)任務(wù)是目前遇到的主要問題。為了從根本上解決工作流中動態(tài)性和特定協(xié)同機(jī)制相結(jié)合的問題,很自然想到從工作流元模型的角度入手去擴(kuò)展工作流過程定義的手段,并在運(yùn)行階段去實現(xiàn)其對于靈活性、動態(tài)性的要求是目前解決問題的主要研究方向。
2工作流元模型及相關(guān)研究
元模型通常用來定義語義模型的構(gòu)造和規(guī)則的,通常稱為定義表達(dá)模型的語言的模型。工作流管理聯(lián)盟(WFMC)于1993年成立,WFMC的成立標(biāo)志著工作流技術(shù)開始進(jìn)入相對成熟的階段?;趯ぷ髁髂P蜆?biāo)準(zhǔn)化的考慮,工作流管理聯(lián)盟對工作流模型進(jìn)行了標(biāo)準(zhǔn)化定義。
工作流元模型通常涉及相互關(guān)聯(lián)的3 個子元模型[1],即:
過程定義元模型:模型元素用于定義業(yè)務(wù)過程,控制工作流的執(zhí)行。
組織機(jī)構(gòu)元模型:描述單位、部門、人員的組織關(guān)系以及所擔(dān)當(dāng)?shù)慕巧?/p>
相關(guān)數(shù)據(jù)元模型:工作流“生產(chǎn)”和“消費(fèi)”的數(shù)據(jù)以及它們的流動關(guān)系。
工作流元模型的核心是過程定義元模型,工作流管理聯(lián)盟為過程定義開發(fā)了一個基本的元模型,如圖1所示:
文獻(xiàn)[1]對工作流元模型中各個元素進(jìn)行了詳細(xì)的闡述,出于篇幅考慮,本文不做過多的重復(fù)。過程定義元模型規(guī)約出元素類型的一個基本集合,這些元素類型適合于相對簡單的過程定義,工作流開發(fā)人員根據(jù)需要可以對該元模型進(jìn)行適當(dāng)?shù)臄U(kuò)展。
在文獻(xiàn)[2-5]中,為了確保工作流的動態(tài)性,研究者們采用了多樣性的處理方法,如果在工作流的過程定義中能夠充分考慮動態(tài)特性,配合運(yùn)行階段的處理,可以從更基本的層次解決動態(tài)自適應(yīng)性問題。下面針對WFMC提出的工作流元模型進(jìn)行擴(kuò)展以達(dá)到協(xié)同平臺模型的要求。
3結(jié)合協(xié)同活動模型擴(kuò)展的工作流元模型
針對目前遇到的問題,考慮把協(xié)同活動模型元素引入到工作流元模型中,并引入連接符、ECA規(guī)則等分離角色元素,狀態(tài)元素以實現(xiàn)工作流模型定義階段的協(xié)同機(jī)制和動態(tài)性靈活性相結(jié)合的目的。
3.1協(xié)同活動模型的引入
協(xié)同活動包括一組為了完成某項特定任務(wù)而在一起協(xié)同工作,具有一定組織結(jié)構(gòu)的人,以及他們在協(xié)同工作中所承擔(dān)的職能、角色,協(xié)同工作中的各種信息資源,進(jìn)行信息交流和對信息資源進(jìn)行操作所應(yīng)遵循的協(xié)同規(guī)則及各種協(xié)同機(jī)制。文獻(xiàn)[6]中因此提出協(xié)同活動模型,對協(xié)同模型的相關(guān)元素進(jìn)行抽象,對其中元素需要的屬性進(jìn)行封裝,得到7個子模型,分別為協(xié)同活動對象、協(xié)作成員對象、協(xié)作角色對象、消息對象、規(guī)則對象、資源對象和代理對象。
3.2擴(kuò)展的工作流元模型
本文針對目前對工作流元模型定義階段的需求,對WFMC提出的工作流元模型進(jìn)行改進(jìn),提出一種優(yōu)化的工作流元模型如圖2所示:
改進(jìn)的元模型不僅僅是將過程定義中活動的屬性獨(dú)立成元素,還引入了以下元素:子流程、活動狀態(tài)、事件、觸發(fā)器、規(guī)則以及連接狀態(tài)降低元素的耦合度以達(dá)到定義階段的靈活性和動態(tài)性并且引入?yún)f(xié)同活動模型的全新元素,使工作流元模型在屬性定義方面考慮到了工作流中協(xié)同任務(wù)分配的各個要素。
3.2.1協(xié)同活動模型的引入
通過引入?yún)f(xié)同活動模型,可以從模型定義階段對工作流某個不確定的節(jié)點(diǎn)完成多任務(wù)協(xié)同操作進(jìn)行支持。
3.2.2連接符的引入
連接器主要由連接裝置和轉(zhuǎn)移狀態(tài)兩個部分組成[7]。連接裝置負(fù)責(zé)活動之間的連接機(jī)制,主要包括工作流的主要路由結(jié)構(gòu)和標(biāo)示活動的前驅(qū)和后繼節(jié)點(diǎn)以及轉(zhuǎn)移產(chǎn)生的約束條件,把路由結(jié)構(gòu)類型(orsplit、orjoin、andsplit 以及 andjoin)的說明從活動中提取出來,而轉(zhuǎn)移狀態(tài)表示是目前已連接態(tài)還是未連接態(tài)。當(dāng)需要動態(tài)改變流程實例的時候,我們只需要改變它的前后連接器即可。
3.2.3子流程的分離
在原來工作流元模型中,子流程是活動元素中的一種類型[8],在本文擴(kuò)展的工作流元模型中,將子流程獨(dú)立出來,我們可以使工作流的描述更加的簡潔易懂,增加工作流程的層次性,也可以更加方便的對工作流程進(jìn)行合理性分析。
3.2.4活動狀態(tài)的分離
分離了活動的屬性,活動實例的狀態(tài)可以在就緒、激活、掛起、完成、終止之間靈活改變。
3.2.5角色元素屬性的增加
在角色元素的基礎(chǔ)上,對于角色四元組(Id, Type, Name, Specialty, WFP_Id)中Type集合元素中添加任務(wù)執(zhí)行者和任務(wù)分配者兩個角色,增加對協(xié)同任務(wù)中人員組織分配任務(wù)的支持。
3.2.6事件、觸發(fā)器、規(guī)則的引入
現(xiàn)有的工作流過程定義語言 WPDL是一種靜態(tài)的文本描述語言,給出了一般的模型元素和定義了其相應(yīng)的屬性結(jié)構(gòu)[9]。但是因為它是靜態(tài)的,不能很好的解決工作流中動態(tài)更改實例的要求,所以本文中引入事件、觸發(fā)器、規(guī)則能夠很好的解決此類問題,起到一個動態(tài)自適應(yīng)的作用。通過引入ECA規(guī)則,一個工作流實例傳遞事件能夠自動觸發(fā)設(shè)置的規(guī)則,解決工作流的動態(tài)路由變換的能力。
4工作流模型的形式化
工作流可以表示為一個五元組 WFP=
ID:流程定義的唯一標(biāo)識符,用以區(qū)分不同的流程定義。
D:工作流 WFP的一般信息描述,包括流程定義的流程版本號、創(chuàng)建者、創(chuàng)建日期以及流程基本說明。
D=
A:流程的活動集合,既可以是一般活動,也可以是動態(tài)活動。它可以表示為 A={a1,a2,a3,……,an},每一個活動a都可以表示為一個八元組 a=
E:規(guī)則集合 E={e1,e2,e3,…,en}。ECA 規(guī)則規(guī)定了活動間的轉(zhuǎn)移條件。
R:流程的執(zhí)行結(jié)果,R是集合{Null,Success,F(xiàn)ailure}中的一個值,即{Null,Success,F(xiàn)ailure},并且R的初始值為Null。
基于圖2所示的元模型,可以直接導(dǎo)出工作流的形式化模型。限于篇幅,本文僅對工作流中的活動狀態(tài)集、規(guī)則、角色、協(xié)同活動模型等進(jìn)行介紹并且只介紹其主要屬性。
定義1活動狀態(tài)集
State = {S0,S1,S2,S3,S4,S5},S0表示等待初始狀態(tài),S1表示就緒,S2表示運(yùn)行,S3表示完成,S4表示取消,S5表示異常終止?;顒拥臓顟B(tài)轉(zhuǎn)換和活動間的轉(zhuǎn)移都是由事件和條件觸發(fā)的。當(dāng)活動狀態(tài)到達(dá)終止態(tài)時,觸發(fā)活動完成事件ECA規(guī)則來規(guī)定這些活動。
定義2規(guī)則的表達(dá)形式是[10]:
WHEN Events
IF Conditions THEN
Action
ENDIF
ENDWHEN
定義3角色形式化表示為
Role= < Id, Type, Name Specialty, WFP_Id >,其中Type、Name是角色標(biāo)識和名稱;Specialty是角色能力的集合;WFP_Id是該角色所處的流程實例的ID,這里在Type中添加任務(wù)執(zhí)行者和任務(wù)分配者兩個新屬性。
定義4協(xié)同活動模型元素表示為
Cooperate=
其中Cid代表所屬唯一標(biāo)示符,C_ Activity代表協(xié)同活動元素,C_ Member代表協(xié)同成員元素,C_Role代表角色元素,C_ Information代表信息元素,C_ Rule代表規(guī)則元素,C_ Resource代表資源元素,C_ Agency代表代理元素。
定義5連接器元素表示為
Place=(Id ,Pre_T_Condition ,Pre_T_Ids,Post_T_Condition, Post_T_Ids, Type, Status , WF_P_Id),其中Pre_T_Condition代表前置條件,Pre_T_Ids代表前置id,Post_T_Condition后置條件,Post_T_Ids代表后置id,Type代表路由類型,Status代表連接狀態(tài)。
定義6子流程元素表示為Sub_WFP
表示子流程集合,同時子流程也可以是一個流程過程,其描述和WFP工作流元組具有相同的結(jié)構(gòu),所有說子流程也可以再嵌套一個子流程,增加了流程的層次性。
下面通過科技管理平臺中的項目報表流程對改進(jìn)的工作流元模型進(jìn)行應(yīng)用說明。
5元模型應(yīng)用實例
在簡化的科技項目報表管理流程中,涉及到按照要求格式填報月報表,因為項目報表中處理任務(wù)工作量很大,這樣就在工作流程中涉及到了協(xié)同處理任務(wù)的能力。首先下達(dá)科技項目計劃,然后針對組織項目實施,按照要求填寫報表,然后審查、復(fù)查,形成項目送審稿、審核、復(fù)審,最后進(jìn)行綜合審定。新的審批流程中,我們動態(tài)的加入一個協(xié)同編輯的模塊,分成多個子流程,進(jìn)行匯總之后進(jìn)行審查的環(huán)節(jié),下面是科技項目報表流程的一部分。
可以看到,在原流程中,活動A1代表組織項目實施,A2代表填報日報,A3代表匯總審查,A4代表修改完善報表,P1,P2,P3代表連接器,封裝了相應(yīng)的流轉(zhuǎn)規(guī)則。在修改后的流程中,我們在連接器P2上加入?yún)f(xié)同機(jī)制,并且加入了A5、A6兩個子流程實時協(xié)同地完成報表填報工作,填報完成后根據(jù)連接器P4的規(guī)則流轉(zhuǎn)到活動節(jié)點(diǎn)A3進(jìn)行匯總審查的工作。具體描述轉(zhuǎn)換規(guī)則的ECA建模語言如下:
通過連接器并結(jié)合ECA規(guī)則能提高工作流動態(tài)改變實例的能力,并且通過引入?yún)f(xié)同機(jī)制在工作流定義階段考慮了其協(xié)同編輯,協(xié)同工作的能力,滿足工作流對靈活性和動態(tài)性的要求,實現(xiàn)了軟件自動路由的功能,增強(qiáng)其自適應(yīng)的能力。
6結(jié)論
本文在工作流元模型中引入?yún)f(xié)同活動模型的特征,并且擴(kuò)展了工作流標(biāo)準(zhǔn)元模型,引入連接符,子流程、活動狀態(tài)、事件、觸發(fā)器、規(guī)則來達(dá)到工作流能動態(tài)的改變實例的目的。該元模型從不同的角度對一般活動節(jié)點(diǎn)的動態(tài)屬性和過程修改進(jìn)行了描述,為用戶提供了一種靈活的手段和動態(tài)支持能力,并提供了各種規(guī)則使修改后的工作流在繼續(xù)執(zhí)行中有了保證。通過這種結(jié)合了協(xié)同機(jī)制和工作流動態(tài)變更特性的工作流元模型,為研究協(xié)同平臺的多人協(xié)同任務(wù)操作奠定基礎(chǔ)。
參考文獻(xiàn)
[1]趙文,胡文蕙,張世琨,等.工作流元模型的研究與應(yīng)用[J].軟件學(xué)報,2003,14(6):1052-1059.
[2]FLORES L,WINOGRAD A.Managing Business Processes as an information Resource[J]. IBM Systems Journal, 1994,33(2):326-348.
[3]SADIQS, ORLOWSKAM. Pockets of flexibility in workflow specifications[A]. Proceedings of the 20th International Conference on Conceptual Modeling[C]. Yokohama, Japan: Springer, 2001.513-526.
[4]孫志瑞,史美林. 一個支持動態(tài)變化的工作流元模型[J]. 電子學(xué)報,2002,30(12A):2052-2056.
[5]MENG J,STANLEY Y W.Herman Lam and Abdelsalam Helal.Achieving Dynamic InterOrganizational Workflow Management by Integrating Business Processes,Events and Rules[C].Proceedings of the 35th Annual Hawaii International Conference on System Sciences,pp.10-22,2002.
[6]李敏強(qiáng),王琛CSCW系統(tǒng)中協(xié)同機(jī)制及協(xié)同活動模型[J].系統(tǒng)工程與電子技術(shù)2000(04):190-196.
[7]The Workflow Management Coalition SpecificationDocument Number TC00-1003 Document StatusIssue 1.1, Author: David Hollingsworth, 2005.
[8]于帆,王葉. 工作流元模型改進(jìn)研究[J]. 西安工業(yè)大學(xué)學(xué)報, 2012,11(32):899-903.
[9]胡錦敏,張申生,余新穎.基于ECA規(guī)則和活動分解的工作流模型[J].軟件學(xué)報,2002,13(4):0761-0767.
[10]朱文華,王茜.企業(yè)動態(tài)聯(lián)盟中柔性工作流地研究與實現(xiàn)[J].小型微型計算機(jī)系統(tǒng),2003,24(4):758-762.