版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、工作流系統(tǒng)的異常處理*李偉平,范玉順(清華大學(xué) 國(guó)家CIMS 工程研究中心,北京 100084 Exception Handling in Workflow Management Systems-An OverviewLI Weiping, FAN Yushun(National CIMS Engineering & Research Center, Tsinghua University, Beijing 100084, ChinaCorresponding author: 86-10-62789636-1059, E-mail: wpliAbstract: Workflow managem
2、ent system deals with the modeling and coordinated execution of business processes. These processes are often of long duration and may involving many executors, software and distributed resources. So there may exist potential exception when the workflow is running. After the Workflow Management Syst
3、em (WfMS is deployed in a certain enterprise, the enterprise become increasingly dependent on it to carry on their daily business activities. Thus some kinds of exception handling method will be introduced into the WfMS to resolve the exception when the workflow is running. While the exception handl
4、ing of workflow has received increasing attention in recent years. This paper first introduces the question of exception handing in WfMS with the definition, classification and resolution of exception handling. Based on the evaluation of existing research methods, we indicate the developing trends o
5、f exception handling in WfMS and some key issue is put forward.Key words: workflow, workflow exception, exception handling, ECA rules, knowledge management, transaction, pattern摘 要:工作流系統(tǒng)負(fù)責(zé)業(yè)務(wù)過(guò)程的建模和執(zhí)行,這些業(yè)務(wù)過(guò)程往往涉及到多個(gè)參與者,需要使用分布的資源,調(diào)用多個(gè)軟件系統(tǒng),而且時(shí)間跨度很長(zhǎng),因此在工作流執(zhí)行時(shí)可能存在多種潛在的工作流異常。隨著工作流技術(shù)的實(shí)施,企業(yè)越來(lái)越依賴于工作流系統(tǒng)來(lái)開(kāi)展日常的工作
6、,這也對(duì)工作流的異常處理提出了更高的要求。對(duì)工作流執(zhí)行中出現(xiàn)的異常進(jìn)行預(yù)測(cè)并及時(shí)處理已經(jīng)成為當(dāng)前學(xué)者和軟件開(kāi)發(fā)商密切關(guān)注的課題。本文介紹了工作流系統(tǒng)的異常處理問(wèn)題,綜述了國(guó)內(nèi)外的研究現(xiàn)狀,明確了異常處理的概念和相關(guān)處理方法,并基于對(duì)現(xiàn)有研究方法的分析與評(píng)價(jià),指出了工作流異常處理研究的發(fā)展方向。關(guān) 鍵 詞 工作流;工作流異常;異常處理;ECA 規(guī)則;知識(shí)管理;事務(wù)處理;模式中圖法分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:隨著工作流技術(shù)的飛速發(fā)展,市場(chǎng)上出現(xiàn)了很多工作流產(chǎn)品1,2,3??墒?,由于大規(guī)模、分布式信息系統(tǒng)的復(fù)雜性增強(qiáng)、業(yè)務(wù)過(guò)程的動(dòng)態(tài)變化以及工作流執(zhí)行時(shí)各種不確定因素的存在,使得工作流在執(zhí)行時(shí)經(jīng)常
7、出現(xiàn)各種錯(cuò)誤和異常。而現(xiàn)有的工作流管理系統(tǒng)還缺乏對(duì)各種異常處理的有效支持或只是簡(jiǎn)單的支持4,28-29,遠(yuǎn)遠(yuǎn)不能滿足企業(yè)應(yīng)用的需要。工作流異常已經(jīng)成為困擾當(dāng)今工作流應(yīng)用實(shí)施的重大難題。通過(guò)對(duì)工作流執(zhí)行 Supported by the National High-Technology Research and Development plan of China under Grant No.2003AA4Z2020(國(guó)家高技術(shù)研究發(fā)展計(jì)劃(863;the National Natural Science Foundation of China under Grant No.60274046(國(guó)
8、家自然科學(xué)基金項(xiàng)目. 第一作者簡(jiǎn)介: 李偉平(1973, 男, 遼寧凌源人, 博士后, 主要研究領(lǐng)域?yàn)榫W(wǎng)絡(luò)化制造, 工作流, 企業(yè)建模. *時(shí)出現(xiàn)的異常進(jìn)行有效處理,可幫助建立正確、可靠的工作流模型,并保證工作流的順利、正確執(zhí)行以完成過(guò)程的目標(biāo)??梢?jiàn),研究工作流異常處理,對(duì)于增強(qiáng)工作流管理系統(tǒng)的功能、推動(dòng)工作流技術(shù)的實(shí)際應(yīng)用具有重要意義。工作流異常處理是研究在工作流執(zhí)行時(shí)所遇到的異常,通過(guò)適當(dāng)?shù)姆椒▽?duì)異常進(jìn)行有效的處理來(lái)保證工作流順利執(zhí)行。異常處理需要在工作流建模階段就進(jìn)行很好地預(yù)測(cè)與建模,并在工作流執(zhí)行階段進(jìn)行正確的處理,這是一個(gè)具有挑戰(zhàn)性的課題,近幾年國(guó)外已經(jīng)開(kāi)展了一些研究工作5-10,2
9、0-22,27。最近國(guó)內(nèi)也有學(xué)者進(jìn)行了初步地研究,如史美林等試圖對(duì)工作流異常處理進(jìn)行形式化描述11,朱錦泉等研究了基于ECA 規(guī)則的異常處理策略13,賴耀東等對(duì)基于agent 的工作流的異常處理進(jìn)行了研究23,但所考慮的問(wèn)題相對(duì)簡(jiǎn)單,應(yīng)用局限性較大。本文立足于工作流管理系統(tǒng)對(duì)異常處理的實(shí)際需求,對(duì)工作流異常處理問(wèn)題進(jìn)行了初步探討。首先系統(tǒng)地介紹了工作流異常處理的概念、異常的分類、常見(jiàn)的異常處理方法和異常處理機(jī)制,然后通過(guò)對(duì)現(xiàn)有異常處理方法的比較、分析與評(píng)價(jià),指出了工作流異常處理的新方向。1工作流異常的概念工作流異常指工作流執(zhí)行偏離正常的執(zhí)行路線,但不一定就是錯(cuò)誤30。按照Mark Klein的
10、定義,工作流異常是指對(duì)“理想”業(yè)務(wù)過(guò)程的任何偏離,包括活動(dòng)執(zhí)行時(shí)遇到的錯(cuò)誤、活動(dòng)參與者之間的通訊錯(cuò)誤、對(duì)活動(dòng)和資源的變化缺少支持等等14。這只是一個(gè)籠統(tǒng)的定義,實(shí)際上,可以定義工作流異常為:定義1:工作流異常是指由于工作流系統(tǒng)外部異常、工作流系統(tǒng)異常或活動(dòng)執(zhí)行異常所引起的工作流活動(dòng)失敗和/或工作流程失敗,導(dǎo)致工作流不能按照預(yù)定義的工作流模型正常執(zhí)行的情況。其中系統(tǒng)外部異常指操作系統(tǒng)、網(wǎng)絡(luò)、通訊、基礎(chǔ)組件平臺(tái)等工作流系統(tǒng)之外的因素所產(chǎn)生的異常,這些系統(tǒng)都是與工作流管理系統(tǒng)密切相關(guān)的;工作流系統(tǒng)異常是指如工作流相關(guān)數(shù)據(jù)對(duì)其約束條件的違反、無(wú)法為任務(wù)分配人員或資源等;活動(dòng)執(zhí)行異常是指每個(gè)活動(dòng)在執(zhí)行時(shí)
11、出現(xiàn)的如執(zhí)行程序失敗、執(zhí)行者操作異常等。需要指出的是,工作流異常不一定就是錯(cuò)誤。例如,任務(wù)分配異常不是執(zhí)行錯(cuò)誤但屬于工作流異常。而工作流異常處理可定義為:定義2:工作流異常處理是指通過(guò)一定的技術(shù)手段,按照某種處理機(jī)制和一定的處理方法去解決工作流異常,以保證工作流的順利、正確執(zhí)行。工作流異常處理要針對(duì)具體的異常情況,采用一定的處理方法,按照一定的處理機(jī)制進(jìn)行,這也是異常處理研究的重點(diǎn)。1.1 工作流異常的原因Claus Hagen認(rèn)為引起工作流異常的原因有技術(shù)原因和用戶原因,技術(shù)原因包括通訊問(wèn)題、計(jì)算機(jī)斷電、程序失敗等;用戶原因包括工作流模型錯(cuò)誤、系統(tǒng)變化、缺少雇員等15。G . Alonso
12、認(rèn)為工作流異常包括系統(tǒng)失敗和語(yǔ)義失敗,系統(tǒng)失敗是指工作流管理系統(tǒng)自身的失敗,語(yǔ)義失敗是指工作流中某個(gè)活動(dòng)的執(zhí)行所遇到的失敗,如發(fā)送沒(méi)有庫(kù)存的物品或者從空的銀行帳號(hào)上提款等5。實(shí)際上,產(chǎn)生工作流異常的原因很多,只要與工作流的執(zhí)行相關(guān)的因素,包括硬件、軟件、通訊、工作流模型、工作流系統(tǒng)(主要是工作流引擎和應(yīng)用程序接口)、工作流執(zhí)行者、相關(guān)應(yīng)用程序、過(guò)程邏輯約束、工作流相關(guān)數(shù)據(jù)約束、時(shí)間約束以及執(zhí)行算法(資源分配算法、活動(dòng)執(zhí)行調(diào)度算法)等都可以引起不同種類的工作流異常。1.2 工作流異常的分類通過(guò)對(duì)工作流異常進(jìn)行分類,可幫助我們認(rèn)清工作流異常的本質(zhì),為異常處理做好準(zhǔn)備。目前的研究一般按對(duì)異常的知曉程
13、度和異常的激發(fā)源不同這兩種方法對(duì)工作流異常進(jìn)行分類:(1 按對(duì)異常的知曉程度分類16:z 可預(yù)測(cè)異常(Expected Exception):可以預(yù)見(jiàn)的并且已經(jīng)定義好異常處理器的工作流異常。通常對(duì)出現(xiàn)的異常情況有充分的了解,并明確的定義了異常處理過(guò)程。這類異常經(jīng)常用來(lái)描述正常工作流模型中很少發(fā)生的情況,將這類情況定義為工作流異常而不在模型中表示出來(lái),可以避免流程復(fù)雜化,從而增強(qiáng)模型的可讀性,提高工作流過(guò)程的執(zhí)行效率。z 不可預(yù)測(cè)異常(Unexpected Exception):在模型定義階段無(wú)法預(yù)知的異常情況,通常需要在異常發(fā)生時(shí)通過(guò)人工參與處理該類異常。某些情況下,對(duì)于工作流實(shí)例異常的處理可
14、能導(dǎo)致對(duì)整個(gè)工作流模型的修改,這就涉及到工作流模型進(jìn)化問(wèn)題。(2 按異常的激發(fā)源分類4:z 外部異常(External Exception):由參與工作流執(zhí)行的外部構(gòu)件所引起的異常,如操作系統(tǒng)、數(shù)據(jù)庫(kù)、應(yīng)用軟件、機(jī)器和設(shè)備等,或者由外部組織操作引起的異常。而工作流管理系統(tǒng)對(duì)這些“黑箱”構(gòu)件的內(nèi)部細(xì)節(jié)是不清楚的。z 工作流異常(Internal Exception):由工作流管理系統(tǒng)自身引發(fā)的異常,如不能為活動(dòng)指定執(zhí)行者,不能獲取活動(dòng)執(zhí)行所需的資源,活動(dòng)錯(cuò)過(guò)截止期,超過(guò)預(yù)算等。D. Worah 把工作流中可能的錯(cuò)誤分成三類,即基礎(chǔ)結(jié)構(gòu)錯(cuò)誤、工作流系統(tǒng)錯(cuò)誤和應(yīng)用錯(cuò)誤 29。實(shí)際上由于工作流的異常不
15、一定就是錯(cuò)誤,Z. Luo 進(jìn)一步把工作流異常定義為一個(gè)三層異常結(jié)構(gòu),即基礎(chǔ)結(jié)構(gòu)異常、工作流異常和應(yīng)用異常8。綜合以上研究,可以根據(jù)異常出現(xiàn)的位置和激發(fā)源的不同,將工作流異常分為三種,這三種異常包含了所有可能出現(xiàn)的工作流異常。(1 外部異常(External Exception):由參與工作流執(zhí)行的系統(tǒng)外部因素所引起的異常,如操作系統(tǒng)、網(wǎng)絡(luò)、通訊、數(shù)據(jù)庫(kù)、應(yīng)用軟件、機(jī)器和設(shè)備等故障所產(chǎn)生的異常;(2 系統(tǒng)異常(System Exception):系統(tǒng)異常指在工作流執(zhí)行過(guò)程中,由工作流系統(tǒng)直接激發(fā)的異常。這類異常又可以分為:時(shí)間異常(Time Exception),工作流實(shí)例對(duì)時(shí)間限制的違反,如
16、任務(wù)運(yùn)行時(shí)間超過(guò)給定期限;數(shù)據(jù)異常(Data Exception),工作流相關(guān)數(shù)據(jù)對(duì)其約束條件的違反;資源異常(Resource Exception),無(wú)法為任務(wù)分配人員或資源;啟動(dòng)異常(Application Exception),無(wú)法激活所要調(diào)用的自動(dòng)應(yīng)用,如所定義自動(dòng)應(yīng)用的位置錯(cuò)誤等。一般的,對(duì)于工作流管理系統(tǒng)實(shí)現(xiàn)層次的錯(cuò)誤情況,并不歸類到工作流異常中,這類錯(cuò)誤應(yīng)該在程序?qū)崿F(xiàn)時(shí)得到解決。但某些情況下,這類錯(cuò)誤可以由工作流管理系統(tǒng)映射為某種系統(tǒng)異常,如由于網(wǎng)絡(luò)連接中斷導(dǎo)致的自動(dòng)應(yīng)用激活錯(cuò)誤可以映射為系統(tǒng)異常。(3 任務(wù)異常(Task Exception):由任務(wù)的執(zhí)行者或執(zhí)行程序激發(fā)的異常
17、。這類異常主要是由于任務(wù)輸入?yún)?shù)錯(cuò)誤或其他外部原因而導(dǎo)致執(zhí)行者或執(zhí)行程序無(wú)法正確完成任務(wù)功能而產(chǎn)生。2工作流異常處理方法針對(duì)以上給出的異常情況,在具體技術(shù)上,可以有不同的異常處理方法和方式。這些異常處理方法和異常處理方式可以單獨(dú)使用,也可以組合使用,要針對(duì)具體的異常分別對(duì)待。根據(jù)異常處理的難度,可以把異常處理的方式分為五類4:z 細(xì)微(Trivial ):異常(通常是外部異常和可預(yù)測(cè)異常)很小,可以由相關(guān)系統(tǒng)組件“透明地”處理,工作流管理系統(tǒng)甚至可以不知道該異常的存在。z 自動(dòng)(Automatic ):工作流管理系統(tǒng)通過(guò)找到相應(yīng)的異常處理器來(lái)自動(dòng)處理異常。z 人機(jī)合作(Cooperative
18、):通過(guò)把異常通知專家,由專家給出指令或建議,然后由工作流系統(tǒng)處理異常。 z 人工(Manual ):由人工專家來(lái)處理異常,期間工作流活動(dòng)處于掛起狀態(tài)直到異常解決。z 失?。‵ailures ):工作流系統(tǒng)和專家都不能處理該異常,宣告失敗。通常工作流系統(tǒng)都試圖自動(dòng)處理異常,如果不能確定使用哪個(gè)異常處理器,則需要人機(jī)結(jié)合或人工模式。異常處理器需要在建模時(shí)由建模人員根據(jù)已往的經(jīng)驗(yàn)和對(duì)模型執(zhí)行情況的預(yù)測(cè)來(lái)指定,當(dāng)然,也可以在異常出現(xiàn)后由執(zhí)行人員根據(jù)具體異常情況動(dòng)態(tài)指定。處理工作流執(zhí)行時(shí)出現(xiàn)的異常可以有具體的處理方法,對(duì)應(yīng)的異常處理過(guò)程可能采用的操作方法包括取消一個(gè)活動(dòng)或活動(dòng)塊,以及忽略、重試、替代、
19、補(bǔ)償?shù)?。z 取消(Critical ):一旦一個(gè)任務(wù)執(zhí)行失敗,不能重新執(zhí)行或者選擇其它方法處理。z 忽略(Optional ):活動(dòng)是否成功執(zhí)行對(duì)后續(xù)活動(dòng)沒(méi)有影響,此時(shí)可以對(duì)該活動(dòng)出現(xiàn)的異常選擇忽略。 z 重試(Repeatable ):可以通過(guò)重新指定執(zhí)行條件來(lái)重試該活動(dòng)。z 替代(Replaceable ):如果活動(dòng)失敗,可以選擇重試,如果必要可以選擇備用路徑來(lái)替代當(dāng)前活動(dòng)。 z 補(bǔ)償(Compensable ):給工作流任務(wù)設(shè)置相應(yīng)的補(bǔ)償任務(wù),以保證在異常發(fā)生時(shí)通過(guò)補(bǔ)償任務(wù)的執(zhí)行來(lái)消除原任務(wù)所產(chǎn)生的影響。使用該方法能夠使過(guò)程實(shí)例的狀態(tài)恢復(fù)到一個(gè)可以重新執(zhí)行的正常狀態(tài)。 3工作流異常處理機(jī)
20、制上述處理方式和方法只是一般的方法,如何使用這些方法或這些方法的有機(jī)組合來(lái)解決異常處理問(wèn)題是工作流異常處理的關(guān)鍵,這也是異常處理機(jī)制要解決的問(wèn)題。異常處理機(jī)制應(yīng)根據(jù)異常的類型不同、出現(xiàn)的時(shí)機(jī)不同采用不同的處理方式和方法。目前常見(jiàn)的異常處理機(jī)制包括Saga 方法和柔性事務(wù)方法、基于ECA 規(guī)則的方法、基于模式的方法、基于知識(shí)的方法、基于多層日志的方法、基于過(guò)程原子性的方法等。3.1 Saga方法和柔性事務(wù)方法Saga 方法是基于補(bǔ)償?shù)奶幚矸椒ㄔO(shè)計(jì)的。線性Saga 是Garcia-Molina 和Salem 提出用來(lái)解決長(zhǎng)時(shí)間事務(wù)的方法24。其基本思想是放松事務(wù)的原子性使得事務(wù)可以在全部結(jié)束之前釋
21、放某些占用的資源,這樣可以提高資源的利用率,而且有利于對(duì)事務(wù)進(jìn)行補(bǔ)償。這可通過(guò)把長(zhǎng)事務(wù)(Saga )分成一系列子事務(wù)(subtransaction )來(lái)實(shí)現(xiàn),而每個(gè)子事務(wù)都有一個(gè)與之相應(yīng)的補(bǔ)償事務(wù),每個(gè)子事務(wù)都具有ACID 屬性。在失敗時(shí)可通過(guò)補(bǔ)償事務(wù)來(lái)消除已經(jīng)執(zhí)行的事務(wù)所產(chǎn)生的結(jié)果。令T 1,T 2, Tn 是Saga T 的子事務(wù),C 1, C 2,C n 是與每個(gè)子事務(wù)相對(duì)應(yīng)的補(bǔ)償事務(wù),保證T 1,T 2, Tn 被執(zhí)行或者T 1,T 2, T j ; C j ; , C 2, C1被執(zhí)行,0 j n 。前者是無(wú)異常出現(xiàn)的情況,各個(gè)子事務(wù)正常執(zhí)行;后者是在第j 個(gè)子事務(wù)處出現(xiàn)異常,通過(guò)逆
22、向執(zhí)行補(bǔ)償子事務(wù)來(lái)消除執(zhí)行異常所帶來(lái)的影響。G . Alonso 把工作流中的活動(dòng)塊(Block )看作為這種Saga ,于是活動(dòng)塊的執(zhí)行就可以用這種機(jī)制實(shí)現(xiàn)對(duì)工作流異常的處理5。柔性事務(wù)(Flexible Transaction)的關(guān)鍵是提供備用執(zhí)行路徑。如果一個(gè)子事務(wù)被取消,那么提交另外一個(gè)子事務(wù)并希望它成功執(zhí)行以完成指定的任務(wù)。如果一個(gè)柔性事務(wù)的主子事務(wù)提交或者備用子事務(wù)提交,都可看作是柔性事務(wù)的提交。G . Alonso用這種備用路徑的方法實(shí)現(xiàn)對(duì)工作流異常的處理5。3.2 基于ECA 規(guī)則的方法基于ECA 規(guī)則的方法是一個(gè)綜合的方法,可以全面考慮各種異常處理方式和方法,根據(jù)不同的情況通
23、過(guò)定義規(guī)則來(lái)處理異常。ECA 規(guī)則由事件條件活動(dòng)組成,事件(Event )表示可能出現(xiàn)的異常情況,條件(Condition )決定所出現(xiàn)的事件是否是一個(gè)異常情況,活動(dòng)(Action )定義處理異常所要執(zhí)行的操作33。Dickson K. W. 在ADOME-WfMS 中用ECA 規(guī)則的形式定義了工作流異常處理器,認(rèn)為事件對(duì)應(yīng)著工作流異常,而條件活動(dòng)對(duì)應(yīng)著異常處理器20。TREX 定義了一個(gè)基于規(guī)則的異常處理方法,通過(guò)定義如下形式的規(guī)則來(lái)處理工作流異常:task exception exception handler,通過(guò)為每一對(duì)task ,exception situation提供一個(gè)異常處理
24、器實(shí)現(xiàn)對(duì)異常的處理25?;贓CA 規(guī)則,ADOME-WfMS 中定義了三個(gè)層次的異常處理機(jī)制4,即維持工作流執(zhí)行行為的方法、改變工作流執(zhí)行行為的方法以及工作流模型進(jìn)化的方法。在每個(gè)層次上,綜合使用第2節(jié)給出的各種異常處理方式和方法。(1 維持工作流執(zhí)行行為的方法:通過(guò)更新相關(guān)的數(shù)據(jù)對(duì)象包括活動(dòng)角色和資源以及改變活動(dòng)的約束如成本預(yù)算和截止期等方法,可以簡(jiǎn)單地解決一些基本的工作流異常。這種方法不需要改變工作流的執(zhí)行行為,只在局部進(jìn)行修改,它的實(shí)現(xiàn)不需要用戶了解工作流的每一個(gè)細(xì)節(jié),只要對(duì)他所負(fù)責(zé)的活動(dòng)清楚就可以做到。(2 改變工作流執(zhí)行行為的方法:在某些情況下,可以通過(guò)改變工作流實(shí)例的某些設(shè)置來(lái)解
25、決異常。如重試一個(gè)活動(dòng)、執(zhí)行備用路徑、跳過(guò)當(dāng)前的活動(dòng)、取消其它相關(guān)活動(dòng)等。這種方法要求用戶充分了解工作流實(shí)例的每個(gè)細(xì)節(jié)。(3 工作流模型進(jìn)化方法:對(duì)于重復(fù)出現(xiàn)的工作流異常,通常為建模錯(cuò)誤造成的。此時(shí)常規(guī)的異常處理方法不能從根本上解決,需要通過(guò)在工作流執(zhí)行時(shí)動(dòng)態(tài)修改工作流模型來(lái)實(shí)現(xiàn)異常處理。動(dòng)態(tài)修改工作流模型也是工作流研究中一個(gè)重要課題,感興趣的讀者可以參閱文獻(xiàn)17,26。工作流模型進(jìn)化的方法可保證避免類似的異?;蛘咤e(cuò)誤重復(fù)出現(xiàn)。常用的方法有改變一個(gè)活動(dòng)的資源需求、組織需求或者組織結(jié)構(gòu)、改變活動(dòng)的前置條件、去掉有問(wèn)題的分支或添加新的分支、為活動(dòng)添加程序化異常處理分支、添加補(bǔ)償活動(dòng)等,這些方法要根
26、據(jù)多次運(yùn)行的經(jīng)驗(yàn)來(lái)進(jìn)行。3.3 基于模式的方法為了通過(guò)對(duì)ECA 規(guī)則的重用來(lái)更好地支持工作流的設(shè)計(jì),F(xiàn). Casati在WIDE 項(xiàng)目中引入了模式(pattern )的方法,并建立了支持和管理模式的環(huán)境WERDE 7。設(shè)計(jì)模式(design pattern)是支持面向?qū)ο筌浖到y(tǒng)開(kāi)發(fā)、提高組件重用的一個(gè)有效方法31,規(guī)則模式(rule pattern)是設(shè)計(jì)面向?qū)ο髷?shù)據(jù)庫(kù)應(yīng)用的方法,可看作是設(shè)計(jì)模式在數(shù)據(jù)庫(kù)設(shè)計(jì)中的擴(kuò)展,用以解決業(yè)務(wù)策略問(wèn)題32。WIDE 中借用了設(shè)計(jì)模式和規(guī)則模式的概念和相關(guān)處理方法來(lái)管理ECA 規(guī)則,實(shí)現(xiàn)ECA 規(guī)則的重用,從而支持工作流異常處理的設(shè)計(jì)和重用。在WIDE 項(xiàng)
27、目中,ECA 規(guī)則又稱為觸發(fā)器(trigger ),觸發(fā)器用來(lái)對(duì)異常情況進(jìn)行建模,通過(guò)ECA 規(guī)則來(lái)描述異常發(fā)生的事件、異常條件和異常處理器。模式對(duì)異常處理的行為進(jìn)行建模,這些行為可以被重用。模式中描述觸發(fā)器以及觸發(fā)器之間的關(guān)系,為工作流設(shè)計(jì)中重用以前的設(shè)計(jì)經(jīng)驗(yàn)提供保證。目前模式中只有關(guān)于可預(yù)測(cè)異常的處理,對(duì)于不可預(yù)測(cè)異常,由于主要由工作流設(shè)計(jì)錯(cuò)誤引起,還沒(méi)有相應(yīng)的觸發(fā)器。WIDE 中支持和管理模式的環(huán)境是WERDE ,它的核心組件是模式目錄,目錄集中保存著事先建立的模式。在工作流設(shè)計(jì)時(shí),可以重用這些模式,也就是重用以前的經(jīng)驗(yàn)來(lái)幫助設(shè)計(jì)者更好的設(shè)計(jì)。模式目錄分三類,內(nèi)置模式、一般任務(wù)和一般面向
28、應(yīng)用的結(jié)構(gòu),如圖1所示。內(nèi)置模式描述關(guān)于基本異常情況的相關(guān)知識(shí),它獨(dú)立于所有可能應(yīng)用的具體語(yǔ)義。一般任務(wù)用“任務(wù)”的形式描述工作流設(shè)計(jì)中經(jīng)常出現(xiàn)的活動(dòng),這些任務(wù)的描述與它們執(zhí)行時(shí)所需的信息無(wú)關(guān)。一般面向應(yīng)用的結(jié)構(gòu)包括一些工作流模型片段和相關(guān)的異常,用以描述在工作流應(yīng)用中經(jīng)常出現(xiàn)的情況。resource poachingOne or more high-priority tasks are unable to accessneeded subcontractors because they already have beengrabbed by lower priority tasksThis
29、exception can have a high impact when there is a Criticalitysignificant variation in task priority and the availablesubcontractors population can be oversubscribed.Anticipationpopulation is currently busy with low priority tasks, and processesa set of high-priority tasks is expected Detection Proces
30、ses Detection-Process-1 (The priority of the tasks that havethe resources they need is less than the priority of thosethat do notDetection-Process-2 (A contractor does not get anybids for an offered task within time-out periodAvoidance ProcessesAvoidance-Process-1 (Require that subcontractorscollect
31、 several request-for-bids before bidding, andrespond preferentially to higher-priority bidsResolution-Process-1 (Allow subcontractors to suspend Resolutionlower priority tasks and bid on later higher-priority Processestasks Exception For Process Definition Fig. 2 The knowledge base entry for the res
32、ource poaching exception 圖2 資源獲取異常的知識(shí)庫(kù)入口3.4 基于知識(shí)的方法14針對(duì)系統(tǒng)異常,Mark Klein提出了一個(gè)基于知識(shí)的方法來(lái)處理。在知識(shí)庫(kù)中將異常檢測(cè)、異常處理都表示成知識(shí)。在異常發(fā)生后通過(guò)知識(shí)匹配,選擇合適的異常處理器來(lái)消除異常。每一個(gè)異常都有一個(gè)對(duì)應(yīng)的知識(shí)庫(kù)入口,圖2是資源獲取異常的知識(shí)庫(kù)入口的例子,其中給出了異常的名稱、定義以及對(duì)預(yù)測(cè)的異常和檢測(cè)到的異常的定義和相應(yīng)處理方法。通過(guò)將異常分類,形成了一個(gè)樹(shù)狀的異常分類結(jié)構(gòu),這個(gè)異常分類樹(shù)可用于知識(shí)庫(kù)的搜索和異常的匹配。Mark Klein目前建立了大約100個(gè)異常類型和200個(gè)異常處理器。基于知識(shí)的
33、異常處理方法分為三步:異常處理的準(zhǔn)備、異常檢測(cè)和異常處理。異常處理的準(zhǔn)備:在工作流建模階段就需要進(jìn)行異常處理的準(zhǔn)備工作。設(shè)計(jì)者預(yù)測(cè)可能的異常并為過(guò)程指定可能的異常處理器。Mark Klein認(rèn)為過(guò)程是一個(gè)由總過(guò)程分解到子過(guò)程一直到活動(dòng)的樹(shù)狀結(jié)構(gòu),而處于下層結(jié)構(gòu)的節(jié)點(diǎn)可以繼承上層結(jié)構(gòu)的某些特性,包括異常特性,于是工作流設(shè)計(jì)者可以根據(jù)從這些繼承來(lái)的特性以及過(guò)程的結(jié)構(gòu)來(lái)判斷可能出現(xiàn)的工作流異常,如資源競(jìng)爭(zhēng)、角色分配、時(shí)間延遲等。異常檢測(cè):在工作流執(zhí)行階段,基于啟發(fā)式分類方法檢測(cè)工作流異常。在檢測(cè)異常時(shí),根據(jù)出現(xiàn)的異常情況從上至下遍歷異常分類樹(shù),通過(guò)與當(dāng)前發(fā)生的情況進(jìn)行匹配找到相應(yīng)的異常。異常處理:根
34、據(jù)檢測(cè)到的異常,在知識(shí)庫(kù)中匹配相應(yīng)的處理器,進(jìn)行異常處理。3.5 基于多層日志的方法基于“多層日志”的方法是在工作流管理系統(tǒng)原有的結(jié)構(gòu)上,加進(jìn)了多層日志,保證工作流能夠恢復(fù)到失敗前的“最近一致?tīng)顟B(tài)”12。此方法在處理方式上屬于自動(dòng)處理,并使用了重試方法。該方法通過(guò)建立工作流失敗模型,提出了四種外部失敗,F(xiàn) = E, M, A, C,其中,F(xiàn) 工作流基本失?。籈 引擎失敗,指構(gòu)成工作流管理系統(tǒng)的核心組件工作流執(zhí)行引擎失敗,從而導(dǎo)致不能正常進(jìn)行工作流的調(diào)度和工作流實(shí)例的推進(jìn);M 應(yīng)用管理器失敗,指那些造成應(yīng)用管理器不能與工作流引擎、應(yīng)用(封裝器)進(jìn)行正常交互的失敗。它可能是由于操作系統(tǒng)出錯(cuò),以及應(yīng)
35、用管理器本身程序異常,如內(nèi)存泄漏等,不能激活應(yīng)用、用戶任務(wù)列表錯(cuò)誤,以及輸入、輸出的錯(cuò)誤等;A 應(yīng)用agent 失敗,指的是工作流所激活的外部應(yīng)用,由于操作系統(tǒng)、網(wǎng)絡(luò)、外部數(shù)據(jù)庫(kù)等所出現(xiàn)的錯(cuò)誤而失?。籆 通信失敗,分離的工作流系統(tǒng)各部件之間的通信失?。òㄒ妗?yīng)用管理器、應(yīng)用)。通過(guò)在工作流數(shù)據(jù)庫(kù)、應(yīng)用管理器、應(yīng)用封裝器建立日志,針對(duì)每種失敗提出了相應(yīng)的基于日志的工作流異常處理方法:(1 工作流引擎失敗可能是由于基本平臺(tái)(數(shù)據(jù)庫(kù)、ORB/DCOM、通信)錯(cuò)誤或引擎在強(qiáng)制執(zhí)行依賴(控制依賴和數(shù)據(jù)依賴)出現(xiàn)錯(cuò)誤而引起的失敗。引擎失敗后能從工作流數(shù)據(jù)庫(kù)中獲得當(dāng)前進(jìn)展中的工作流實(shí)例狀態(tài)。然后根據(jù)觸發(fā)
36、規(guī)則進(jìn)行導(dǎo)航,激活相應(yīng)的使能活動(dòng)。從工作流數(shù)據(jù)庫(kù)中獲得的工作流狀態(tài)就是失敗前的“最近一致?tīng)顟B(tài)”。這樣,通過(guò)工作流數(shù)據(jù)庫(kù)類似“活動(dòng)日志”的作用,它就能在引擎失敗下取得前向進(jìn)展,避免了工作損失。(2 應(yīng)用管理器負(fù)責(zé)與工作流引擎、應(yīng)用(封裝器)進(jìn)行交互,根據(jù)引擎的調(diào)度指令激活相應(yīng)的應(yīng)用(封裝器),待應(yīng)用成功執(zhí)行活動(dòng)后,應(yīng)用管理器將應(yīng)用封裝器送回的活動(dòng)執(zhí)行結(jié)果傳遞給引擎。當(dāng)應(yīng)用管理器失敗時(shí),應(yīng)用管理器可能處于以下幾種情況:當(dāng)它在激活應(yīng)用時(shí)發(fā)生失敗,在它再次激活時(shí), 它就可以從引擎處獲得先前需激活的活動(dòng)輸入、輸出參數(shù),重新啟動(dòng)應(yīng)用;在接受應(yīng)用執(zhí)行活動(dòng)所返回的結(jié)果時(shí)發(fā)生失敗,可以從應(yīng)用封裝器的日志中獲得活
37、動(dòng)的執(zhí)行結(jié)果;在將結(jié)果傳遞到引擎時(shí)發(fā)生失敗,當(dāng)應(yīng)用管理器恢復(fù)后,可以從應(yīng)用封裝器處獲取,或直接在本地日志獲取。(3 應(yīng)用agent 失敗:應(yīng)用agent 失敗通常由應(yīng)用系統(tǒng)的本身機(jī)制處理。對(duì)于應(yīng)用所執(zhí)行的活動(dòng),可分成事務(wù)活動(dòng)和非事務(wù)活動(dòng)兩種。事務(wù)活動(dòng)具有ACID 屬性,活動(dòng)的失敗對(duì)整個(gè)工作流系統(tǒng)并沒(méi)有什么影響,應(yīng)用管理器只是負(fù)責(zé)重試。對(duì)于非事務(wù)活動(dòng)(如用戶任務(wù)等)以及l(fā)egacy 應(yīng)用,可以通過(guò)在應(yīng)用封裝器建立日志,保存任務(wù)執(zhí)行的階段性結(jié)果。在失敗發(fā)生后,工作流系統(tǒng)通知用戶參與,用戶根據(jù)日志決定采取適當(dāng)?shù)男袨椤?4 通訊失敗指連接WfMS 各組成部分的通信失敗,將導(dǎo)致工作流系統(tǒng)各組成部分不能協(xié)
38、調(diào)工作。這種情況可以通過(guò)日志來(lái)恢復(fù)到前一個(gè)狀態(tài)。3.6 基于過(guò)程原子性的方法C. Hagen考慮了工作流過(guò)程的原子性,在過(guò)程發(fā)生異常或失敗時(shí)利用恢復(fù)機(jī)制,回滾到活動(dòng)執(zhí)行前的狀態(tài)。他把工作流系統(tǒng)看作是一個(gè)編程環(huán)境,用高級(jí)編程語(yǔ)言中的異常處理方法(如C+、JA V A 、C#等)來(lái)處理工作流異常,把異常處理與正常的程序執(zhí)行流程分開(kāi),以此來(lái)減少因?yàn)樵黾恿藗溆寐窂蕉黾拥南到y(tǒng)復(fù)雜性,并通過(guò)提供前向恢復(fù)和補(bǔ)償活動(dòng)來(lái)保證過(guò)程的原子性。按照該思想,基于可補(bǔ)償、可重試和關(guān)鍵活動(dòng)(不可重試,而且一旦執(zhí)行就不可補(bǔ)償?shù)母拍?,分析了過(guò)程、活動(dòng)塊和程序的執(zhí)行特性,定義了原子活動(dòng)、準(zhǔn)原子活動(dòng)和非原子活動(dòng):z 原子活動(dòng)(A
39、tomic task )是指具有事務(wù)語(yǔ)義的活動(dòng),即如果它失敗不會(huì)產(chǎn)生負(fù)面影響。z 準(zhǔn)原子活動(dòng)(Quasi-atomic task是指在事務(wù)語(yǔ)義上沒(méi)有原子性的活動(dòng),但是通過(guò)工作流系統(tǒng)的幫助可以保證其原子性,如設(shè)法消除活動(dòng)的影響(此時(shí)需要回滾方法)。每個(gè)準(zhǔn)原子活動(dòng)必須定義一個(gè)相應(yīng)的補(bǔ)償活動(dòng)。z 非原子活動(dòng)(Nonatomic task )是指關(guān)鍵活動(dòng),不可重試,也不能補(bǔ)償。在活動(dòng)原子性的基礎(chǔ)上,給出了過(guò)程的原子性的概念,指出只有具有原子性的過(guò)程才能夠補(bǔ)償,給出了相關(guān)的回滾算法,并通過(guò)定義異常處理器在過(guò)程出現(xiàn)異常時(shí)處理異常。在此基礎(chǔ)上,C. Hagen還研究了在引入了備用路徑以后“新過(guò)程”保持原子性
40、的問(wèn)題,指出了幾種可能的情況15。C. Hagen 給出的這種方法借鑒了編程語(yǔ)言中異常處理的方法,提供了研究工作流異常處理的一個(gè)新思路?,F(xiàn)有的這些工作流異常處理機(jī)制都側(cè)重于某一方面,沒(méi)有完全覆蓋所有出現(xiàn)的異常。有的偏重于補(bǔ)償,有的偏重于重試,ECA 規(guī)則雖然涉及到各種處理方法但目前所能夠處理的異常情況不完整,只是針對(duì)部分異常,有的偏重于系統(tǒng)異常,有的適合于任務(wù)異常。可見(jiàn),對(duì)工作流異常處理機(jī)制還需要進(jìn)一步研究,需要考慮各種異常情況,并綜合運(yùn)用各種處理方法給出符合工作流執(zhí)行實(shí)際情況的一整套機(jī)制。4 工作流異常處理器在工作流管理聯(lián)盟給出的工作流參考模型中,沒(méi)有給出關(guān)于工作流異常處理的處理器18,19
41、。但為了加強(qiáng)對(duì)工作流異常處理的支持,幫助在工作流執(zhí)行時(shí)及時(shí)、準(zhǔn)確地處理各種異常,需要在WfMS 中引入工作流異常處理器。在工作流參考模型中,異常處理器應(yīng)該是管理監(jiān)視器的一部分,通過(guò)第5接口與工作流引擎交互,實(shí)現(xiàn)對(duì)異常的監(jiān)視、檢測(cè)和處理。異常處理器應(yīng)該采用某種異常處理機(jī)制,綜合運(yùn)用相應(yīng)的異常處理方法(如ECA 規(guī)則、模式、知識(shí)庫(kù)等),必要時(shí)在人工的幫助下,完成對(duì)工作流異常的處理。在工作流異常處理器的研究方面,ADOME 工作流系統(tǒng)中定義了一個(gè)異常處理器4,負(fù)責(zé)對(duì)工作流執(zhí)行所產(chǎn)生的異常進(jìn)行處理。在異常出現(xiàn)時(shí),通知處理器,處理器根據(jù)工作流定義中異常處理的ECA 規(guī)則來(lái)確定處理的策略。如果沒(méi)有匹配的處
42、理器則需要人工的參與,然后通過(guò)與工作流執(zhí)行者的交互來(lái)確定處理策略,其詳細(xì)的工作流程見(jiàn)圖3。Fig. 3 Meta-Activity for ADOME-WFMS exception Manager 圖3 ADOME工作流中異常處理器的操作流程ADOME 對(duì)異常處理器進(jìn)行了初步的嘗試,但這個(gè)處理器只是“處理”,即它沒(méi)有相應(yīng)的異常檢測(cè)部分, 也沒(méi)有處理器與工作流引擎的交互策略,是一個(gè)不完整的異常處理器,要實(shí)現(xiàn)完整的異常處理器尚需進(jìn)一步的研究,包括異常檢測(cè)、異常匹配、異常處理、與工作流引擎的交互等。5 結(jié)論自90年代中期以來(lái)逐漸有學(xué)者注意到工作流異常處理的重要性,并進(jìn)行了初步的研究,在工作流異常的原
43、因、工作流異常處理方式和方法、處理機(jī)制等方面展開(kāi)了研究。本文從工作流應(yīng)用對(duì)工作流異常處理的實(shí)際需求出發(fā),對(duì)工作流異常處理問(wèn)題進(jìn)行綜述,指出了當(dāng)前研究存在的問(wèn)題和進(jìn)一步研究的方向。目前關(guān)于工作流異常處理的研究還比較片面,存在以下一些問(wèn)題:(1 目前的各種異常處理方法存在片面性,都從某一個(gè)側(cè)面去展開(kāi)研究,缺乏一個(gè)統(tǒng)一的異常分類方法和處理方法;(2 在這些方法的使用上,沒(méi)有一個(gè)統(tǒng)一的、涵蓋所有異常情況的有效異常處理機(jī)制,這為異常處理帶來(lái)了混亂,尤其給軟件實(shí)現(xiàn)增加了難度;(3 在定義工作流過(guò)程實(shí)例和活動(dòng)實(shí)例的狀態(tài)時(shí)沒(méi)有考慮到異常情況,導(dǎo)致出現(xiàn)異常時(shí)工作流的執(zhí)行進(jìn)入混亂狀態(tài),不能進(jìn)行有效處理,難以保證繼
44、續(xù)正確執(zhí)行;(4 現(xiàn)有工作流管理系統(tǒng)對(duì)異常處理缺乏支持,一般只進(jìn)行簡(jiǎn)單的異常處理,對(duì)復(fù)雜情況還沒(méi)有考慮,難以保證工作流的順利執(zhí)行。為了保證工作流應(yīng)用的順利執(zhí)行,需要工作流管理系統(tǒng)提供良好的異常處理措施。相關(guān)的研究需要從以下幾個(gè)方面展開(kāi):(1 異常處理機(jī)制:對(duì)異常發(fā)生的原因進(jìn)行系統(tǒng)研究,對(duì)異常進(jìn)行科學(xué)的分類,制訂出相關(guān)的異常處理方法,并最終建立一套綜合運(yùn)用各種異常處理方法的有效異常處理機(jī)制供WfMS 使用;(2 異常狀態(tài)與其它狀態(tài)的轉(zhuǎn)換關(guān)系:考慮異常處理時(shí)工作流過(guò)程和活動(dòng)的狀態(tài)是異常狀態(tài),考慮對(duì)該狀態(tài)進(jìn)行分解,并建立異常狀態(tài)與其它工作流狀態(tài)的相互轉(zhuǎn)換關(guān)系;(3 研究異常處理時(shí)工作流相關(guān)數(shù)據(jù)的一致
45、性問(wèn)題和數(shù)據(jù)保護(hù)問(wèn)題,研究解決工作流過(guò)程及活動(dòng)改變時(shí)的數(shù)據(jù)訪問(wèn)機(jī)制;(4 知識(shí)庫(kù)的建立:把相關(guān)異常處理方法按照一定的方式組織起來(lái),形成可供重復(fù)使用的智能化異常處理知識(shí)庫(kù)。并通過(guò)人工智能的計(jì)算手段,提高異常處理的智能性和可靠性;(5 積極的異常處理策略:對(duì)于工作流系統(tǒng)異常,尤其是由于工作流語(yǔ)義造成的異常,如資源短缺、角色分配問(wèn)題、時(shí)間約束違反等,可通過(guò)積極的調(diào)度策略去進(jìn)行調(diào)度,避免可能發(fā)生的語(yǔ)義異常。研究如何對(duì)資源進(jìn)行管理和動(dòng)態(tài)分配,如何通過(guò)調(diào)度來(lái)協(xié)調(diào)過(guò)程之間的資源分配,減少由此出現(xiàn)的語(yǔ)義異常;(6 工作流異常引擎:研究在工作流管理系統(tǒng)中對(duì)工作流異常處理的實(shí)現(xiàn)技術(shù),包括工作流異常探測(cè)器、異常處理
46、器、異常引擎與工作流系統(tǒng)的接口等。Reference:1 Ultimus company, .2 Eugene Deborin, et al. Continuous Business Process Management with HOLOSOFX BPM Suite and IBM MQSeries Workflow,IBMRedbook, May 2002.3 Fan, Yu-shun, et al. Fundamentals of Workflow Management Technology. Beijing: Tsinghua University Press, Springer, 2
47、001(inChinese4 Dickson K.W. Chiu, Qing Li and K. Karlapalem, A Meta Modeling Approach To Workflow Management Systems SupportingException Handling, Information Systems, 1999, 24(2: 159-184.5 G. Alonso, et al. Failure Handling in Large Scale Workflow Management Systems. IBM Research Report RJ9913. Nov
48、ember, 1994.6 D.K.W. Chiu, K. Karlapalem and Q. Li. Exception handling with workflow evolution in ADOME-WFMS: a taxonomy and resolutiontechniques. In Proceedings of CSCW-98 Workshop: Towards Adaptive Workflow Systems, Seattle, Washington. 1998.7 F. Casati, M. G. Fugini and I. Mirbel. An environment
49、for designing exceptions in workflows. Information systems, 1999,24(3:255-2738 Z. LUO, A. Sheth, K. Kochut et al. Exception Handling in Workflow Systems. Applied Intelligence, 2000, 13: 125147.9 J.Eder and W. Liebhart. Contributions to exception handling in workflow management. In Proceedings of the
50、 EDBT Workshop onWorkflow Management Systems, Valencia, Spain, 1998.10 C. Hagen and G. Alonso. Flexible exception handling in the OPERA process support system. In Proceedings of the 18thInternational Conference on Distributed Computing Systems, Amsterdam, Netherlands, 1998, 526-533.11 Ruizhi Sun and
51、 Meilin Shi, Formal Presentation of Exception Handling in a Workflow System, Journal of Computer Research andDevelopment, 2003, 40(3: 393-397 (in Chinese.12 Dong Yang, Shensheng Zhang, Multi - level Log Policy - based Handling Failure in Workflow Management System, ComputerIntegrated Manufacturing S
52、ystems, 2003, 9(4: 299-304 (in Chinese.13 Jinquan Zhu and Senmiao Yuan, Study on transaction-based workflow exception handling models and methods. Journal of JilinUniversity(Engineering and Technology Edition, 2003, 33(3: 46-50 (in Chinese.14 Mark Klein and C. Dellarocas, A Knowledge-based Approach
53、to Handling Exceptions in Workflow Systems. Computer SupportedCooperative Work, 2000, 9: 399412.15 Claus Hagen and Gustavo Alonso. Exception Handling in Workflow Management Systems. IEEE Transactions on SoftwareEngineering, 2000, 26(10: 943-958.16 J Eder , W Liebhart. The workflow activity model WAM
54、O. In: Proc. of the 3rd International Conference on Cooperative InformationSystems (Coop Is 95 , Wien, Austria : University of Toronto Press , 1995, 8798.17 M. Reichert, Peter Dadam. ADEPTflex Supporting Dynamic Changes of Workflows Without Losing Control. Journal ofIntelligent Information Systems,
55、1998,10: 93129.18 Workflow Management Coalition, Terminology and Glossary, Document Number WFMC-TC-1011, Issue 3.0, 1999.19 Lawrence, P. (Ed. Workflow Handbook, Wiley, New York, 1997.20 Dickson K.W. Chiu, Qing Li, and K. KARLAPALEM, Web Interface-driven Cooperative Exception Handling in ADOME Workfl
56、owManagement System, Information Systems, 2001, 26(2: 93-120.21 S. Panzarasa, S. Madde, S. Quaglini, C. Pistarini, and M. Stefanelli, Evidence-based careflow management systems: the case ofpost-stroke rehabilitation, Journal of Biomedical Informatics, 2002, 35: 123139.22 Silvana Quaglini, M Stefanel
57、li, G. Lanzola, et al. Flexible guideline-based patient careflow systems, Artificial Intelligence inMedicine, 2001, 22: 65-80.23 Yaodong Lai,Jianxin Zhu, Exception Handling of Workflow Management System Based on Multi-agent Virtual Organization,Computer Engineering, 2003, 29(2: 68-124 (in Chinese.24 H. Garcia-Molina and K. Salem. Sagas. In Proceedings 1987 SIGMOD International Conference on Management of Data, 1987,249-259.25 R. van Stiphout, T. Dirk Meijler, A. Aerts, et al. TREX: workflow transaction
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 32151.37-2024溫室氣體排放核算與報(bào)告要求第37部分:燒結(jié)類墻體屋面及道路用建筑材料生產(chǎn)企業(yè)
- 農(nóng)村產(chǎn)業(yè)融合風(fēng)險(xiǎn)應(yīng)對(duì)策略
- 商場(chǎng)工作人員工作總結(jié)范文
- 商學(xué)院畢業(yè)典禮致辭(5篇)
- 冶金與材料(中級(jí))專項(xiàng)測(cè)試題及答案(一)
- 專題11.2 立方根【七大題型】(舉一反三)(華東師大版)(原卷版)
- 56.學(xué)校心理健康教育工作計(jì)劃和目標(biāo)
- 語(yǔ)文統(tǒng)編版(2024)一年級(jí)上冊(cè)識(shí)字6日月明 教案
- 廣東高考高三英語(yǔ)復(fù)習(xí)系列-語(yǔ)法填空專練
- 高中英語(yǔ) 課文語(yǔ)法填空(一) 新人教版必修
- 基礎(chǔ)工程施工月進(jìn)度計(jì)劃表
- 10000中國(guó)普通人名大全
- 六年級(jí)上冊(cè)數(shù)學(xué)教學(xué)設(shè)計(jì)-比的基本性質(zhì) 人教版
- 2022國(guó)家基層糖尿病防治管理指南(完整版)
- 工程傳熱學(xué):08 對(duì)流換熱計(jì)算
- 中國(guó)當(dāng)代政治制度
- 小學(xué)生優(yōu)秀事跡材料第三人稱8篇
- 實(shí)驗(yàn)-計(jì)算機(jī)中的數(shù)據(jù)表示與計(jì)算
- 逆向思維-PPT課件(PPT 43頁(yè))
- 勞動(dòng)合同書(shū)(人社局)
- 3-拉維娜式行星齒輪自動(dòng)變速器的認(rèn)識(shí)與拆裝PPT課件
評(píng)論
0/150
提交評(píng)論