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