




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、支持動態(tài)建模與互操作的工作流元模型研究劉博,范玉順(清華大學(xué)自動化系 CIMS 工程研究中心,北京 100084)Research on Workflow Meta-Model Supporting Dynamic Modeling and InteroperationLIU Bo, FAN Yu-shun(CIMS Engineering Research Center, Department of Automation, Tsinghua University, Beijing 100084)摘要:為了提高工作流系統(tǒng)的互操作性、可擴(kuò)展性和柔性,基于 OMG(對象管理組織)發(fā)布的 MOF(元
2、 對象設(shè)施)規(guī)范重新設(shè)計工作流元模型,并在此基礎(chǔ)上構(gòu)建一套集成化企業(yè)建模工具,以實(shí)現(xiàn)建模、仿 真與工作流系統(tǒng)的良好集成。首先介紹了 MOF 的元數(shù)據(jù)結(jié)構(gòu),接著論述了基于 MOF 的工作流元模型 的設(shè)計原理,重點(diǎn)分析了過程元模型及工作流性能。關(guān)鍵詞:工作流;元模型;MOF;柔性 中圖分類號:TP311文獻(xiàn)標(biāo)識碼:AAbstract: To improve the interoperability, expansibility, and flexibility of the workflow system, a new workflow meta-model was designed based
3、on MOF(Meta Object Facility)specification issued by OMG(ObjectManagement Group). Through utilizing this workflow meta-model, a set of integrated enterprise modeling tools was constructed to implement the integration of modeling system, simulation system and workflow system. In this paper, firstly th
4、e MOF metadata architecture is introduced based on which the design principle of workflow meta-model is described. Then the process meta-model and the performance of workflow system are analyzed in detail.Key words: workflow; meta-model; MOF; flexibility0引言工作流系統(tǒng)的元模型是開發(fā)設(shè)計一個工作流管理系統(tǒng)的基礎(chǔ),它描述了構(gòu)成工作流管理系統(tǒng)的實(shí)
5、體、實(shí)體之間的關(guān)系和屬性。然而隨著應(yīng)用的深入發(fā)展,現(xiàn)有的工作流元模型已顯露出明顯的不足: 模型內(nèi)容有限,不能滿足流程多樣的要求;柔性差,主要表現(xiàn)在流程定義缺乏柔性和流程執(zhí)行缺乏柔 性;易使用性、互操作性不高;可擴(kuò)展性不高。在動態(tài)工作流領(lǐng)域面臨的主要挑戰(zhàn)是:業(yè)務(wù)過程無法事先給出每個活動的完整定義以及某些活動之 間的邏輯關(guān)系,只能在過程實(shí)例的運(yùn)行中根據(jù)運(yùn)行時的信息逐步完善;同時,過程實(shí)例的執(zhí)行中常需要 修改其相關(guān)屬性。工作流管理聯(lián)盟(WFMC)雖然給出了基本的工作流參考模型和過程元模型,但這個 元模型并沒有提到動態(tài)變化的諸多因素。從互操作性考慮,現(xiàn)有的工作流系統(tǒng)幾乎彼此都不兼容。近年來的互操作標(biāo)準(zhǔn)
6、中有不少對應(yīng)WFMC參考模型接口一1的標(biāo)準(zhǔn),如WPDL和XPDL、PIF、PSL以及UML等。但由于缺少概念模型,都沒有提 供設(shè)計階段互操作問題的解決方案2。元對象設(shè)施MOF (Meta Model Facility)3是OMG推出的一種元模型 間的通用語言,德國Dresden技術(shù)大學(xué)4和法國的TRIGONE實(shí)驗(yàn)室5已經(jīng)嘗試將工作流整合到MOF的 OMA體系框架中來。但是他們的模型或是過于個性化或是作了太多修改,均未得到廣泛使用。本文在前人的基礎(chǔ)上提出一種基于 MOF 的工作流元模型,它保證了模型語義的一致性,可實(shí)現(xiàn)工 作流模型與其他元模型的相互轉(zhuǎn)換,并提高了工作流系統(tǒng)的柔性與互操作性?;痦?xiàng)
7、目:國家 863/CIMS主題資助項(xiàng)目(編號:2005AA411910)。Foundation item: Project supported by the National High-tech. R&D Program for CIMS, China (Grant No. 2005AA411910)1MOF:元建模機(jī)制MOF是OMG于 2002 年推出的標(biāo)準(zhǔn),它定義了一種描述、創(chuàng)建和管理與技術(shù)無關(guān)的元模型的抽象語 言與框架3。以MOF定義的面向?qū)ο笤P?,可以通過交換元數(shù)據(jù)來實(shí)現(xiàn)互操作,元模型之間可以相互 映射、相互交換元數(shù)據(jù)并相互理解。MOF的核心思想是四層元數(shù)據(jù)體系結(jié)構(gòu)3(圖 1
8、),其中:¾ M3 層為元元模型層,它作為整個框架的最高層,定義了最基本的類、關(guān)聯(lián)等元素。¾ M2 層為元模型層,它是 M3 層的實(shí)例,工作流系統(tǒng)的元模型就定義在這一層。¾ M1 層為模型層,對應(yīng)著用戶使用建模軟件所建立的模型。¾ M0 層為數(shù)據(jù)層(或稱實(shí)例層),表示模型執(zhí)行過程中所產(chǎn)生的實(shí)例。圖 1MOF 的四層元數(shù)據(jù)結(jié)構(gòu)圖 1 中還定義了 MOF(M3 層)對 UML 元模型、IDL 元模型的指導(dǎo)關(guān)系,用戶可以使用這些元構(gòu)成元素設(shè)計各種領(lǐng)域的模型。圖右邊的示例說明了層與層之間的關(guān)系。 可見,采用MOF作為元元模型豐富了模型元素及語義,基于MOF開發(fā)的
9、元模型易于在擴(kuò)展的同時維護(hù)模 型 整體的一 致 性。同時 MOF 已 經(jīng)構(gòu) 造了它與 其 它語言 ( 或模 型 ) 之間 的映射關(guān) 系 (如 MOF-CORBA、MOF-Java)2,這就實(shí)現(xiàn)了不同模型和應(yīng)用之間的互操作。因此,在MOF的基礎(chǔ)上定義 工作流管理系統(tǒng)是合理并且可行的。2工作流元模型在實(shí)際應(yīng)用中,建模、仿真與工作流系統(tǒng)常常是緊密相關(guān)的,因此基于上述MOF的思想開發(fā)了一套 集成化企業(yè)建模工具。它按照模型驅(qū)動(MDA)6的思想,將建模、仿真、工作流納入一個統(tǒng)一的元建模 框架,克服了這三個工具各自為政、最后不能兼容的問題。工作流元模型(見圖 2)采用Rose建模工具 描述,由于篇幅所限,
10、圖中僅列出了部分類的屬性。最核心的兩個類是 ModelElement 和 CIMFlowElement。CIMFlowElement 是系統(tǒng)元模型的公共基類, 它包含三個子類:DiagramElement 用于描述企業(yè)模型顯示的圖形元素;ModelManagement 對模型進(jìn)行管 理、維護(hù);ModelElement 用于描述與業(yè)務(wù)相關(guān)的元素。composeModelLibraryLookUpModel () CopyT o() Merge()CIMFlowElementDi agramEl ementCenter : PointScale : DoubleConf igureColor :
11、ColorFillColor : Color Angle : Double Text : TextcomposeModelModelManagementLookUpElement() LookupEl ementByT ype() NameIsValid() LookUpElementT ype()ProcessReadData() ModifyData()ModelEl ementID : Integer Name : Stri ng Descripti on : String Author : String CreatedDate : Date ModifiedDate : DateTi
12、meVi ewExternalAttributeBusinessRuleBusinessObj ectRelati onship ParticipantAvai lable_status : Bool ean Avai lable_ti me_slot : T ime InputOutputChangePrincipal() ChangeRel atedFiles()Si mul ati onInfo<<reference>> Si mProcess : ProcessCreatedT ime : DateSel ectSi mProcess() SetSimul at
13、ionInfo() GetSi mulati onInfo()圖 2工作流元模型ModelElement(模型元素)又包含以下子類:ModelLibrary(模型庫)用于組織和整理業(yè)務(wù)模型。Model 表示一個完整的業(yè)務(wù)模型,包括過程模型、組織模型、功能模型等。Process 是所有描述業(yè)務(wù)過程 元素的基類。Participant 是組織資源元素的基類,專門用于與組織資源相關(guān)的信息建模。BusinessObject(業(yè)務(wù)對象)是指在業(yè)務(wù)過程中需要處理和操作的各種數(shù)據(jù)對象,包括文檔、表單、產(chǎn)品、數(shù)據(jù)域等幾 個子類。BusinessRule(業(yè)務(wù)規(guī)則)類用來表示業(yè)務(wù)過程中遵循的處理規(guī)則。Simul
14、ationInfo(仿真信息) 類用于實(shí)現(xiàn)與仿真相關(guān)的信息建模。Relationship 類用于表示關(guān)系(業(yè)務(wù)過程、組織資源、業(yè)務(wù)對象等兩 兩之間的關(guān)系)。View 是所有視圖的基類,包括過程視圖、組織視圖、資源視圖、信息視圖、外部視圖 和模型元素池。Time 是與時間管理相關(guān)的基類,便于模型中對時間的統(tǒng)一管理。ExternalAttribute 用于 建模用戶自定義外部屬性。與普通工作流元模型相比,這一元模型擴(kuò)充了模型維護(hù)管理、組織資源管理、仿真及時間管理的功能,同時為用戶提供了自定義外部屬性的機(jī)制。3過程元模型上述的元模型框架涵蓋面較廣,以下重點(diǎn)討論與過程模型相關(guān)的元模型部分,見圖 3。P
15、rocess 類是所有過程模型元素的基類,它是一個抽象類,包括描述過程的基本屬性(ProcID, ProcName 等)和操作(保存數(shù)據(jù)、讀取數(shù)據(jù)等)。過程模型需要相應(yīng)的功能對其模型元素進(jìn)行管理、維護(hù)及擴(kuò)展,這些功能是由 BusinessProcess 類來 完成的。它是 Process 和 Model 類的子類,其屬性 AccessLevel 表示該業(yè)務(wù)過程對其他過程的開放權(quán)限。 同時過程中處理的數(shù)據(jù)要用到 RelatedData 關(guān)聯(lián)。過程模型的核心元素是活動(Activity)和變遷(Transition)。Activity 用于描述與業(yè)務(wù)活動相關(guān)的元素, 它又包括以下子類:連接符(Co
16、nnector)、活動塊(BlockActivity)、模塊(Block)、調(diào)用活動(Subflow)、 路由活動(Route)、自動應(yīng)用(Application)和人工型活動(Implementation)。ModelBusinessObjectSupportImpl ementati onLookUpElement() LookupEl em entByT ype() NameIsVali d()BusinessRule Execution<<reference>> Implementation : Implementation<<reference&g
17、t;> T i me : T imeLookUpElementT ype()RelatedDataParti cipantTime<<reference>> Partici pant : Parti cipant<<reference>> Busi nessObj ect : BusinessObject<<reference>> Busi nessRul e : BusinessRuleRelatedDataJoinSync choice typeSplit typeBusinessProcessAccessLev
18、elConnectorProcess ProcID ProcNameReadData()ModifyData()CIMFl owElementModelElem entID : Integer Name : Stri ng Descri ption : String Author : String CreatedDate : DateModifiedDate : DateCondi ti onTypeContentTransitionToRelati onshi pT ransition<<reference>> Start : Activi ty<<ref
19、erence>> End : Acti vityImpl ementationRequirementsBlockActi vityParentProcIDBlockActID ParentID typeActi vityTransitionFromIm plementation<<reference>> Executi onCondition : ExecutionType InputData OutputData<<reference>> ProT ransi ti on : Transition<<reference&
20、gt;> HostT ransition : T ransitionExecutionSubFl owRouteTypeInputDataAppl ication<<reference>> appli cati on<<reference>> SubProcess : Busi nessProcessOutputData圖 3過程元模型 在WPDL中,匯聚(join)、分支(split)結(jié)構(gòu)和它們的約束(AND,OR,XOR)的說明是與活動集成在一起的,但是實(shí)際業(yè)務(wù)過程中常常需要對結(jié)構(gòu)和約束進(jìn)行動態(tài)的修改,這必然會引起活動定義的變化。 本著
21、軟件工程中問題分離的原則,這里將匯聚、分支結(jié)構(gòu)和它們的約束的說明用“Connector”封裝起來, 以使活動、轉(zhuǎn)移、連接符互不影響,達(dá)到靈活與約束并存的目的。其中Join用于合并多條路徑,Split定 義流出轉(zhuǎn)移的并發(fā),其合并與分支方式都要根據(jù)type(AND,OR,XOR)屬性來決定。連接符之間可以互 連,從而組成更復(fù)雜的工作流模式7??紤]到某些特殊流程的需要,專門設(shè)置了模塊這個類。模塊的概念與子過程相似,可以視作不能重用的子過程,其實(shí)現(xiàn)機(jī)制在后文詳述。變遷(Transition)規(guī)定了活動之間的流轉(zhuǎn),這里的活動是指 Activity 類的所有子類。一般而言,變 遷是以連接符為中心的,如果是
22、兩個同類活動之間的變遷,則可直接看作順序流轉(zhuǎn)?;顒雍妥冞w之間存 在著關(guān)聯(lián)關(guān)系,即 Activity 與 Transition 之間的 TransitionTo/TransitionFrom 關(guān)聯(lián)。變遷與條件(Condition) 又存在著包含關(guān)系,它們都是 Process 的子類。活動的執(zhí)行需要相應(yīng)的資源支持,比如時間、人員、設(shè)備等,這就需要在活動和其他所需的資源之間建立相應(yīng)的關(guān)聯(lián)。比如圖 3 中的調(diào)用活動(Subflow)引用子過程(SubProcess);Implementation 與其所 需的 Time、BusinessRule、BusinessObject 以及 Participan
23、t 之間建立的 Execution 關(guān)聯(lián)類。4工作流性能分析4.1可擴(kuò)展性分析可擴(kuò)展性是評價工作流管理系統(tǒng)的一個重要因素,上述元模型對于工作流可擴(kuò)展性的提高主要體現(xiàn) 在兩個方面:一是在模型層上,External Attribute(ModelElement 的子類,可以為建模元素自定義屬性)和 External View(View 的子類,可以自定義視圖)的引入使用戶可以對相應(yīng)的模型元素進(jìn)行擴(kuò)展,由用戶自己定 制模型元素。二是在元模型層上,基于共同的 MOF 元元模型,用戶可以為非抽象類元素添加繼承元 素,起到用戶自定義模板的效果。例如為“自動應(yīng)用”添加一種繼承元素“Email”,則可以在用戶
24、建模 的模型中重用此類自動應(yīng)用。4.2柔性分析工作流的柔性和動態(tài)性主要表現(xiàn)為:建立階段能夠動態(tài)修改模型,運(yùn)行階段能夠?qū)崟r控制并根據(jù)需 求在線修改模型。在上述過程元模型中,變遷、條件與連接符是彼此分離的,這就為建模人員提供了很 大的靈活性,它體現(xiàn)了建立階段的柔性。運(yùn)行階段的柔性體現(xiàn)在以下兩方面:1、參考文獻(xiàn)8中的思想,對Join元素設(shè)置Sync屬性與choice屬性。Sync屬性用于定義同步合并模式, 當(dāng)Join所定義的多條路徑匯聚到中心任務(wù)時,如果只有一條任務(wù)是活動的,那么中心任務(wù)將被執(zhí)行。如 果不只一條路徑是活動的,進(jìn)入中心任務(wù)的多條路徑將被同步。choice屬性用于定義一個或多個分支到 達(dá)
25、即執(zhí)行任務(wù),從而忽略其他分支的到達(dá),這就實(shí)現(xiàn)了路徑鑒別器和n/m合并模式8。2、模塊元素的引入。定義 1模塊可形式化表示為:Block=<BlkID,ProcID,Type,InputData,OutputData,State,Participant>其中,BlkID 是模塊 ID;ProcID 是過程 ID;Type 是模塊的類型,分為 normal(普通模塊)、cycle(循環(huán)模塊)和 MultiInst(多實(shí)例模塊);InputData 和 OutputData 是模塊的輸入/輸出數(shù)據(jù)列表;State是模塊的狀態(tài),分為運(yùn)行、等待、完成、中止等;Participant 是模塊的
26、執(zhí)行者集合。 普通模塊相當(dāng)于不能重用的子過程,type=normal,InputData 和 OutputData 可根據(jù)實(shí)際需要設(shè)置。 循環(huán)模塊用于描述需要反復(fù)執(zhí)行的多個活動實(shí)例。為了區(qū)分多個活動實(shí)例的執(zhí)行數(shù)據(jù)及相關(guān)信息,又為每個活動實(shí)例添加“活動實(shí)例執(zhí)行次數(shù) ActInstnum”這個屬性,從而避免了活動執(zhí)行數(shù)據(jù)的重寫和 覆蓋。循環(huán)模塊在普通模塊定義基礎(chǔ)上,加入了 Do-While 循環(huán)條件,以動態(tài)決定內(nèi)部過程的運(yùn)行次數(shù)。 例如一個文檔審批過程,文檔初稿作為輸入數(shù)據(jù),經(jīng)過不斷的審查、修改最后形成正式文檔。運(yùn)行時循 環(huán)模塊創(chuàng)建一個文檔作為全局?jǐn)?shù)據(jù),它對于所有的內(nèi)部模塊實(shí)例都是可讀可修改的,直
27、到 Do-While 條 件滿足為止。多實(shí)例模塊用于一個活動需要同時啟動多個實(shí)例的情況,這是工作流進(jìn)行任務(wù)分配時經(jīng)常遇到的問題。例如審批普通文檔時需三位領(lǐng)導(dǎo)通過,則要啟動三個審批活動,而審批重要文檔時需五位領(lǐng)導(dǎo)通過, 則啟動五個審批活動。活動數(shù)目可以由系統(tǒng)根據(jù)前面活動中的數(shù)據(jù)或條件判斷決定,也可由用戶在執(zhí)行 到此環(huán)節(jié)時人為指定。每一位評審員的評審都是這個活動的一個實(shí)例,有時不要求所有評審員都返回意 見,只要返回的意見數(shù)達(dá)到一個閾值(小于等于總?cè)藬?shù))就可以結(jié)束該評審活動。根據(jù)這一思想設(shè)計的多實(shí)例模塊(見圖 4)主要有兩個輸入?yún)?shù):m 表示啟動活動實(shí)例的總數(shù),j 表示結(jié)束條件(閾值)。即如果活動的
28、全部 m 個實(shí)例有 j 個(1 j m)完成后,該活動就執(zhí)行完畢, 繼續(xù)對后繼活動進(jìn)行實(shí)例化。對于那些沒有完成的活動實(shí)例,由系統(tǒng)通知活動執(zhí)行者結(jié)束或者強(qiáng)制結(jié)束。基于上述的工作流元模型所構(gòu)建的工作流管理系統(tǒng)可以實(shí)現(xiàn) 21 種工作流模式7中所有的基本控制 模式及高級分支與同步模式,另外采用多實(shí)例模塊可以實(shí)現(xiàn)多實(shí)例模式中的“具有先驗(yàn)設(shè)計時知識的多 實(shí)例”和“具有先驗(yàn)運(yùn)行時知識的多實(shí)例”,采用循環(huán)模塊可以實(shí)現(xiàn)加限制的循環(huán)模式。圖 4多實(shí)例模塊5結(jié)束語本文在比較分析各種工作流元模型的基礎(chǔ)上,提出一種基于 MOF 的工作流元模型,它具有良好的 柔性、可擴(kuò)展性和互操作性,并能夠?qū)崿F(xiàn)多種工作流處理模式。這一元
29、模型被應(yīng)用于作者所在研究組正 在開發(fā)的集成化企業(yè)建模工具中,它將建模、仿真和工作流納入統(tǒng)一的元建??蚣埽瑥亩鴮?shí)現(xiàn)三者的良 好集成。當(dāng)然在設(shè)計中還有很多不完善的地方,MOF 規(guī)范雖然提供了模型轉(zhuǎn)換的機(jī)制,但是具體的轉(zhuǎn) 換規(guī)則還有待進(jìn)一步的工作。參考文獻(xiàn)1 Workflow Management Coalition. Workflow process definition interfaceXML process definition languageDB/OL,2002-10. 2005-04-08 /standards/docs/TC-1025_10_xpdl_102502.pdf. 2 魏歌. 工作流互操作問題的元模型“活動”包研究J. 航空計算技術(shù), 2005,35(2): 83-86.3 Object Management Group. Meta Object Facility(MOF) SpecificationS. USA:OMG Press, 2002-04.4 Schulze W. Fitting the Work
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳染病防控的試題及答案全解
- 自考行政管理2025年試題及答案分享
- 行政管理環(huán)境適應(yīng)試題及答案
- 不同類型藥物的配伍與禁忌試題及答案
- 行政法學(xué)與社會變革的互動分析試題及答案
- 行政管理學(xué)科試題及答案分享
- 2025年通識教育衛(wèi)生資格考試試題及答案
- 經(jīng)濟(jì)法概論考試簡明框架試題及答案
- 雙向理解2025年護(hù)士試題及答案
- 深入看待自考行政管理的試題與答案
- 施工監(jiān)理投標(biāo)報價單
- 訴訟材料接收表
- 機(jī)動車駕駛員體檢表
- 陽江海上風(fēng)電項(xiàng)目建議書
- 大學(xué)本科畢業(yè)設(shè)計畢業(yè)論文-網(wǎng)上藥店管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)
- DBJ∕T 13-264-2017 福建省石砌體結(jié)構(gòu)加固技術(shù)規(guī)程
- 洞口縣黃橋鎮(zhèn)污水處理廠入河排污口設(shè)置論證報告
- T∕CGMA 081001-2018 整體式高速齒輪傳動裝置通用技術(shù)規(guī)范
- 核事故現(xiàn)場處置中的洗消問題
- FeNO測定及應(yīng)用
- 配電房值班電工技能考核(答案)
評論
0/150
提交評論