[摘 要] 規則的使用為異常處理提供了較大的靈活性,系統介紹了ECAA規則和工作流異常處理機制,提出了結合ECAA規則法來進行工作流異常處理的新策略,構造了基于規則法進行異常處理的工作流參考模型,并研究了應用ECAA方法處理工作流異常的機制。
[關鍵詞] ECAA規則 工作流異常 工作流異常處理
一、工作流異常
如何在適當的時間將適當的信息傳遞給適當的人用適當的工具進行處理。組織機構為了適應動態多變的業務環境和激烈的市場競爭需要經常改變業務流程。工作流中預先定義的參數在執行過程中很難適應前后環境的變化。工作流對異常的處理需求日益迫切。工作流異常指沒有人工干預計算機就不能正確處理的情況,即任何對已有的協同處理過程的偏移。工作流異常處理是指在異常發生后,由工作流系統提供一套機制 ,通過人工和自動處理相結合的方式,使工作流重新回復到正常流程或預測狀態的方法。在業務流程出錯的情況下,異常處理是保證系統能有自我免疫防護功能,保證正常流程的繼續。異常處理包括了工作流中的錯誤處理,但更主要是對工作流執行過程中出現的,各種與原工作流定義不一致的處理。
工作流異常有一種比較廣泛認同的分類:基本故障、應用故障、可預測的異常和不可預測的異常。目前,關于工作流異常處理的相關研究主要集中于三個方面:異常處理的體系結構設計和功能模塊劃分;異常處理的處理策略及其在工作流建模中的描述方式;異常處理的實現方法:事務特性與程序設計結合法、知識庫法、ECA(Event-Condition-Action)規則法和工作流進化法。本文結合ECAA(Event-Codition-ThenAction-Else Action)規則法來進行工作流異常(其中包括可預測異常和不可預測異常)處理的新策略,構造了基于ECAA規則法進行異常處理的工作流參考模型,并結合實例應用驗證此異常處理機制的靈活性別和有效性。
二、ECAA規則
規則在企業中是個靈活多變的因素。文獻中提出了JECA(Justified Event-Condition-Action)規則。我們可以將 ECAA 規則應用到異常處理中來,在ECAA規則中,有action1和action2兩種反應動作,如果滿足condition,則執行action1,否則,執行action2。
為了更好的解決異常:ECAA規則法的action可以根據活動的事務特性來描述;使用ECAA規則法時,某異常發生后,如果找到該異常對應的規則,則直接去規則庫中調用相應的異常;如果沒有找到對應的規則,則找出最相似的一些案例,并根據這些案例的處理方法,按照一定的法則得到本次異常的處理方法,異常處理完成后,將本次異常處理用ECAA規則寫到規則庫中去,這樣,即可用ECAA規則法處理不可預測異常。
三、參考模型
上圖描述了采用ECAA規則進行異常處理的工作流參考模型。由“工作流定義工具”定義的活動和這些活動所依賴或控制的數據存儲在工作流數據庫中;工作流引擎執行工作流定義限制范圍內的活動,該活動由人員通過“人員交互代理”產生或由應用程序通過“應用程序代理”產生;代理機構監視活動執行,必要時向工作流引擎提交活動執行的狀態;當代理檢測到有異常情況發生時就會向工作流引擎報告,工作流引擎與異常處理機構進行交互,根據異常處理機構反饋的信息決定該異常的處理方式。異常處理器由3部分組成:異常案例庫、動態檢索推理模塊和ECAA規則判斷異常分類機制。異常案例庫由處理異常的案例組成,每個案例描述一種特定的異常類型的處理規則。動態檢索推理模塊負責相似案例的檢索。動態生成新的案例后把該不可預測的異常存儲入庫。
四、應用舉例
下面用ECAA規則來模擬異常處理,工作流約束和聲明型異常處理程序都被定義為ECAA規則,ECAA規則判斷異常分類機制通過查看是異常事件的類型來確定異常處理程序。本文中ECAA規則被表為六元組:(Object,Event,Condition) (Executor,Action1,Action2);表示如果可執行對象Object發生了Event異常事件,如果滿足Condition條件,則執行對象Executor就執行Action1所聲明的異常處理措施。如果不滿足Condition條件,則執行對象Executor就執行Action2所聲明的異常處理措施。
以專家門診系統為例,假設,當用戶向系統中輸入某種病所表現出的癥狀時,得不到用藥指導記錄,這時系統拋出異常。該異常屬于預測類的異常,通過判斷異常分類機制直接去調用異常案例庫中的異常即可,此時可以從案例庫中得到疑似病例的案例;但是當發生非預測類的異常時,則要執行動態檢索推理異常模塊,從異常結構中抽象出異常的相關信息,然后檢索案例庫,找到類似的案例后,分析類似案例的解決辦法,并從中派生出異常的處理方法和新案例,最后把動態產生新案例存放到案例庫并使用派生的異常處理方法處理異常。在此過程中可以有人工參與,通過人機交互來處理非預測類異常。在判斷之前,加上與規則對應的異常事件集,將規則引入異常流程的定義,并且在異常角色標識內部引入規則的編號。
通過對工作流異常和ECAA機制進行了研究,提出了一種應用ECAA規則進行工作流異常處理的策略。明顯地提高工作流系統異常處理效率和可適用范圍,縮短處理異常的時間。該方法既適合于可預測的異常,更側重于對不可預測異常的處理。
參考文獻:
[1]丁正國 許 煒 李 冰:工作流異常處理技術和方法[J].計算機與數字工程,2005,33(11):22~25
[2]王 遠 范玉順:工作流系統時間異常處理研究[J].計算機集成制造系統,2007,4(13):807~808
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文