摘 要: 針對傳統(tǒng)工作流靈活性和適應(yīng)性差的問題,在WfMS參考模型的基礎(chǔ)上,,提出了一個基于Agent的,、易于擴展和移植的工作流管理模型。實例分析表明,,將Agent與傳統(tǒng)工作流模型相結(jié)合,,提高了工作流的學(xué)習(xí)能力,解決了工作流的資源沖突問題,。
關(guān)鍵詞: 工作流,;Agent;活動Agent,;訂單
隨著互聯(lián)網(wǎng)的發(fā)展,,企業(yè)對辦公自動化的要求越來越高,傳統(tǒng)工作流系統(tǒng)的資源沖突,、適應(yīng)性以及靈活性差等問題越來越明顯。為了解決這個問題,,本文將智能Agent和工作流結(jié)合起來,,借用智能Agent的自主性、社會性,、協(xié)作性等性能提高工作流系統(tǒng)的靈活性,,并實現(xiàn)工作流系統(tǒng)的可遷移性。
1 基本知識
1.1 工作流的概念
工作流的概念目前尚無統(tǒng)一,、明確的定義,。工作流管理聯(lián)盟(WfMC)將之定義為:業(yè)務(wù)流程的全部或部分自動化,在此過程中,,文檔,、信息或者任務(wù)按照一定的規(guī)則流轉(zhuǎn),實現(xiàn)組織成員間的協(xié)調(diào)工作,,以期達到業(yè)務(wù)的整體目標(biāo)[1],。在WfMC提出的工作流參考模型中,具有五個接口,,分別是流程定義工具,、工作流客戶端應(yīng)用、調(diào)用的應(yīng)用,、其他工作流執(zhí)行服務(wù),、管理及監(jiān)控工具,。
1.2 智能Agent
智能Agent作為人工智能領(lǐng)域發(fā)展起來的新型計算模型Agent,可以連續(xù)不斷地感知外界發(fā)生的以及自身狀態(tài)的變化,,并自主產(chǎn)生相應(yīng)的動作,。對Agent更高的要求是讓其具有人之功能,以達到高度智能化的效果,,即智能Agent[2],。智能Agent具有如:自主性、主動性,、持續(xù)性,、交互性和適應(yīng)性等特性。協(xié)作,、協(xié)調(diào)與協(xié)商是智能Agent工作的基礎(chǔ),。協(xié)作是指構(gòu)成系統(tǒng)的個體之間通過相互配合完成共同承擔(dān)的任務(wù)的方式[3-5]。協(xié)調(diào)是指為了與變化的環(huán)境保持一致性,,實現(xiàn)預(yù)期目標(biāo)或變化的目標(biāo),,對原有資源、知識及內(nèi)部組成個體的分布進行重新部署的過程[6-8],。協(xié)商是指在協(xié)調(diào)或協(xié)作過程中,,由于系統(tǒng)內(nèi)部或外部的變化,引起個體之間無法按預(yù)期計劃實現(xiàn)系統(tǒng)目標(biāo),,為了保證目標(biāo)的實現(xiàn)而進行的相互交流達成共識的過程,,這種相互交流的過程就是通信。
2 工作流系統(tǒng)存在的主要問題
(1)適應(yīng)性差:企業(yè)業(yè)務(wù)流程通常由大量的活動組成,,且有大量的人員參與,。這些活動和人員部分是可預(yù)知,部分則是不可預(yù)知的,。因此在工作流的定義階段,,無法全部描述各種活動以及相應(yīng)的處理措施,即使是一個定義好的工作流流程在執(zhí)行時也可能發(fā)生變化,。同時,,由于流程模型的不完善、執(zhí)行過程中發(fā)生變化等原因所導(dǎo)致的異常事件出現(xiàn)也是不可避免的,。上述這些都要求工作流管理系統(tǒng)具有較好的自適應(yīng)性:
?、僭诓恢袛鄨?zhí)行的情況下,把某條事先沒有放入模型的執(zhí)行路徑加入模型,,并按該路徑繼續(xù)執(zhí)行,。
②自動識別不同類型的例外情形,,并對其做出適當(dāng)處理,,保證工作流繼續(xù)正常運行,。
(2)缺少自學(xué)習(xí)能力:目前的工作流系統(tǒng)能力有限,或是適用面很窄,,或是只能解決較簡單的問題,,其重要原因之一是不具有學(xué)習(xí)能力,系統(tǒng)不能從解題實踐或用戶提供的實例中自動獲取問題求解所需的知識,。
(3)分布式網(wǎng)絡(luò)環(huán)境的異構(gòu)性,,阻礙了工作流管理系統(tǒng)中任務(wù)進程簡單的協(xié)調(diào)和互操作。
3 基于Agent的工作流系統(tǒng)及其實現(xiàn)
工作流管理系統(tǒng)作為一種群件系統(tǒng)與多Agent系統(tǒng)有著某種相似的特點,,它們都是分布式的協(xié)同工作系統(tǒng),,因此,多Agent系統(tǒng)非常適合應(yīng)用于工作流管理系統(tǒng),,尤其是設(shè)計分布式工作流控制結(jié)構(gòu),。
Agent的活動狀態(tài)轉(zhuǎn)換如圖1所示。
針對當(dāng)前工作流中普遍存在的資源沖突,、執(zhí)行過程中模式僵化以及缺乏用戶參與協(xié)作的主動性等問題,,在參考WfMS模型基礎(chǔ)上,結(jié)合多Agent理論,,提出了一種基于Agent的工作流系統(tǒng)的體系結(jié)構(gòu),,其主要部分的功能和關(guān)系如圖2所示。
(1)用戶界面
工作流系統(tǒng)的界面采用環(huán)球網(wǎng)瀏覽器,,用來顯示等待本崗位處理的任務(wù),、用戶輸入信息和系統(tǒng)的反饋信息等。當(dāng)用戶以用戶名和密碼通過瀏覽器登錄工作流系統(tǒng)后,,系統(tǒng)數(shù)據(jù)庫服務(wù)器根據(jù)用戶名查詢對應(yīng)的崗位號,任務(wù)隊列管理器根據(jù)該信息更新界面,。
(2)Agent服務(wù)器
作為系統(tǒng)的核心部件,,Agent服務(wù)器保存有企業(yè)的商業(yè)規(guī)則、流程描述等信息,,負責(zé)協(xié)調(diào),、控制整個系統(tǒng)的正常運轉(zhuǎn),同時為Agent提供信息查詢,、異常處理等服務(wù),。在Agent的整個生命周期中,需要許多不同的Agent服務(wù)器來提供信息支持,,最主要的是系統(tǒng)服務(wù)器和跟蹤服務(wù)器,。
①系統(tǒng)服務(wù)器:存放基本的工作流信息和企業(yè)的結(jié)構(gòu)信息,。每一個新生成的Agent都要通過系統(tǒng)服務(wù)器來獲得對應(yīng)類型工作流流程的基本流程信息,,包括流程圖和初始狀態(tài)等,。
②跟蹤服務(wù)器:保存并跟蹤系統(tǒng)中所有活動的工作流Agent,,當(dāng)任何一個Agent服務(wù)器中的信息發(fā)生變化時,,通過任務(wù)隊列服務(wù)器通知相應(yīng)的活動Agent到對應(yīng)的Agent服務(wù)器去更新數(shù)據(jù)。
(3)活動Agent
活動Agent是系統(tǒng)的工作部件,,企業(yè)中的一切活動都是通過活動Agent完成的,。每個Agent都對應(yīng)著一個流程,在Agent服務(wù)器和任務(wù)隊列管理器的幫助下自主地完成整個流程,。
(4)任務(wù)隊列管理器
管理一個任務(wù)隊列,,更新系統(tǒng)中活動Agent處理結(jié)果信息,通知活動Agent到相應(yīng)的Agent服務(wù)器更新數(shù)據(jù),,以及根據(jù)活動Agent的處理結(jié)果更新相應(yīng)崗位用戶界面的信息,。Agent的每個崗位處理完后都要訪問任務(wù)隊列管理器,用Agent的當(dāng)前狀態(tài)更新任務(wù)隊列管理器保存的信息,,然后由任務(wù)隊列管理器更新此Agent下一個崗位的界面,。
4 實例分析
應(yīng)用上述的工作流系統(tǒng)的體系結(jié)構(gòu),以一個訂單處理流程為例進行分析,。訂單流程如圖3所示,。其過程如下:首先接收用戶訂單,進行庫存檢查和信用卡檢查,,然后將訂單以及檢查結(jié)果交由主管進行審批,。若主管決定接受訂單,則進行發(fā)貨,、收費,;否則取消訂單,過程結(jié)束,。
首先,,用戶通過用戶界面登錄,登錄工作流系統(tǒng),,進入訂單工作流,。活動Agent將流程類型(即訂單)和工作流的開始位置送至Agent服務(wù)器,。服務(wù)器返回工作流的流程圖和初始狀態(tài),,活動Agent在跟蹤服務(wù)器上進行登記,。在該工作流結(jié)束接收訂單的工作之后,,通知任務(wù)隊列管理器。管理器更新用戶界面。用戶提交數(shù)據(jù),。再根據(jù)用戶提交的數(shù)據(jù),,選擇是進入檢查庫存還是檢查信用卡。如果選擇檢查庫存,,則由活動Agent在跟蹤服務(wù)器上進行登記,,檢查庫存工作結(jié)束之后,通知任務(wù)隊列管理器,,并由之更新用戶界面信息,,由用戶提交下一步的數(shù)據(jù),流程進入會計主管審批,。同樣由活動Agent在跟蹤服務(wù)器上進行登記,,在審批工作結(jié)束之后,通知任務(wù)隊列管理器,,由它更新用戶界面,,并由用戶選擇下一步流程,并提供下一步的數(shù)據(jù),。例如選擇取消流程,,則由活動Agent在跟蹤服務(wù)器上進行登記,并在取消工作結(jié)束之后,,通知任務(wù)隊列管理器,,由它更新用戶界面信息。由于取消是訂單流程的最后一步,,所以,,無需用戶提交數(shù)據(jù),結(jié)束該訂單流程,。
本文通過對工作流技術(shù)和Agent技術(shù)的分析,,在WfMS參考模型的基礎(chǔ)上,提出了一個基于Agent的,、易于擴展和移植的的工作流管理模型,。該模型中Agent服務(wù)器根據(jù)工作流服務(wù)器對于工作流程中各個活動的定義和描述,來創(chuàng)建相應(yīng)的活動Agent并協(xié)調(diào)和管理各個活動Agent的工作,,使不同的活動Agent相互協(xié)作、共同完成整個工作流程,,從而解決了普通工作流管理系統(tǒng)存在的靈活性和適應(yīng)性不足的缺點,。
參考文獻
[1] 吳朝暉,鄧水光.工作流系統(tǒng)設(shè)計與關(guān)鍵實現(xiàn)[M].杭州:浙江大學(xué)出版社,,2006.
[2] 賈利民,,劉剛,秦勇.基于智能Agent的動態(tài)協(xié)作任務(wù)求解[M].北京:科學(xué)出版社,2007:9.
[3] HAUGENEDER H,, STEINER D. Co-operation agent:concepts and applications[M]. Agent Techology-Foundatons,,Applications, and Markets,, Springer,, 1998:175-202.
[4] Cooperative distributed problem sloving[R]. AI Handbook IV,1990.
[5] 任明,,王成道.基于聯(lián)邦結(jié)構(gòu)的多Agent協(xié)作[J].華東理工大學(xué)學(xué)報,2004,,30(3):311-314.
[6] MALONE T,, CORWSTONE K. The interdisciplinaty study of coordination[J]. ACM Computings Surveys, 1994,, 26(1):87-119.
[7] OMICINI A,, ZAMBONELLI R, KLUSCH M,, et al. Coodination of internet agents. Springer-Verlag Berlin Heidelberg,, New York, 2001.
[8] OSSOWSKI S. co-ordination in Artificial Agent Societies volume 1535 of LNAI. Springer-Verlag Berlin Heidlberg New York Tokyo,, 1999.