劉麗杰 (黑龍江八一農墾大學信息技術學院,黑龍江 大慶 163319)
田云云 (西安中興軟件有限責任公司,陜西 西安 710068)
基于多主體協作的主動式工作流的研究
劉麗杰 (黑龍江八一農墾大學信息技術學院,黑龍江 大慶 163319)
田云云 (西安中興軟件有限責任公司,陜西 西安 710068)
針對在業務流程的管理中工作流業務過程存在不可預見性、工作流過程不能自主能動的組織人員進行事務操作等問題,提出了一種在多主體協作的基礎上建立主動式工作流的概念模型。在改進的合同網中引入了評價值的概念,將其應用到主動式工作流任務分配中,使主動式工作流在資源分配過程中綜合考慮各種條件的約束以選擇資源,最后通過系統的運行,用實際應用驗證了設計的正確性。
主動式工作流;多主體協作;合同網
工作流是針對日常工作中具有固定程序的活動而提出的一個概念,它主要是將工作分解成定義良好的任務、角色,按照一定的規則和過程來執行這些任務,并對它們進行監控,以此來提高辦事效率、降低生產成本、提高企業生產經營管理水平和企業的競爭力。傳統的工作流大多需要工作者定義所有工作過程,這樣在流程發生變化時不能自動改變,當流程發生異常時會使工作停止不前,不能主動的改變流程執行的方向,使工作流不具有主動性和智能性[1]。為此,筆者提出一種新的主動式的工作流業務過程的管理方法,其中各種智能Agent[2]在一個自主和合作的方式下一起靈活的執行任務分配、資源管理、流程引擎過程,使工作流的業務活動可以靈活和有效地執行。
1.1工作流技術
1)工作流模型 工作流模型是對工作流業務流程的抽象描述,是現實世界的業務流程向計算機內部表示轉換的工具,它是用簡單直觀的形式對復雜的業務流程進行抽象,工作流模型除了提供描述業務流程結構的流程元素外,還需要提供流程執行邏輯和流程業務功能的遷移。現在許多研究機構把 Agent技術引入到工作流中。主要有2個研究方向,一種是基于 Agent的過程模型(Agent-based process model),它是從根本上引入Agent的主動性、社會性、自適應性等特點,使用Agent對業務過程元素及其相互關系直接描述。另一種是基于Agent的增強型過程模型(Agent-Enhanced process model),它是指在管理層面上如業務過程的變更或分布式協同上由 Agent去完成,這樣不僅能夠對原有的系統進行重用,而且通過引入多主體系統來實現工作流的智能性特點,為原有的工作流過程增加了新的功能。
2)工作流管理系統 工作流管理系統是經由計算機進行信息處理的過程,它是由一定活動的人和資源按照一定的序列執行任務的過程[3]。一個業務過程的周期根據其活動的復雜性,可能從幾分鐘到數天(有的甚至幾個月或幾年) ,所有的工作流管理系統具有的基本功能包括以下3個方面:建立階段的功能包括完成工作流業務過程的流程定義、建立工作流模型;工作流業務過程的實例化和控制功能,包括工作流活動的排序和調度過程;在運行階段用戶和應用軟件在各個活動的執行過程中的交互過程。
1.2Agent技術
Agent(也叫主體)是指在某一環境中能夠根據環境的變化,可以靈活、自主的做出決策來適應目標主體的需求。宏觀上來說,主體表示一個具有智能特性的抽象的一個實體。一般來說,Agent運行于動態環境中,具有智能性,能夠根據傳感器感知環境的變化,并能根據自身的資源、狀態、規則、行為能力獲取外部環境信息等知識,根據知識庫中的知識進行推理,得出問題答案的求解過程,最后能夠自主地完成特定任務的實體。Agent可以被看作是一個封裝的主體,總結起來具有自主性、主動性、社會性和適應性等幾個方面的屬性,基于Agent的工作流方法可以提供基于組件的高度可重用的工作流程架構以及協商能力和適應環境動態變化的能力[4],因此應用Agent的工作流管理的優勢包括分布式系統架構、易于交互,便于資源管理,具有自適應性和智能決策能力等。
1.3多主體協作技術
在多主體系統中需要多個主體共同分析問題、解決問題,這樣能夠提高整個系統分析問題、解決問題的能力,增強系統的靈活性,而且對于單個主體來說性能也會增強。現在多主體之間的協作有2個研究方向,一種是從目標、意圖等內部機制出發研究多主體之間的交互,另一種是采用經典力學和博弈理論研究多主體的技術和行為方法。多主體協作的方式分為6種,分別為成組與增加、通信、專業化、通過任務和資源共享、行為的協調、仲裁的協商。MAS(Multi-AgentSystem)是一種分布式的自主系統,由多個主體組成,具有個體行為獨立、信息抽象、數據分散、計算異步等特點,它是由多主體系統協商來求解并將各個子問題分散開來求解問題的答案。多主體協作技術的理論研究主要是在MAS的系統結構上的協調和學習能力上,應用上的研究主要在計算機網絡、科學計算、機器人和交通控制等領域中。
在主動式工作流系統中工作流的核心任務是工作流引擎,它用來保證工作流程正常的運行,其中重要的任務之一是工作流的任務分配,為了實現任務的分配過程需要對資源進行選擇,然后決定哪個資源執行該活動。因此在選擇資源的時候需要考慮資源的分類,職能分離和案例管理等多個方面。筆者采用的多主體協作方式是合同網方式,它是根據協商機制建立起來的在分布式條件下Agent自主協作的實現模型,Agent由多個節點構成,同時每個節點表示一個Agent,Agent的種類包括招標方、投標方、合同者3類[5]。合同網方式的任務分配是招標方負責將當前該完成的任務通過交互的方式分配給其他的Agent,共同協作完成任務;投標方表示具有任務完成能力的Agent,它會等待其他任務Agent的請求;合同者是中了投標的投標者,它將完成招標者分配的任務。
3.1評價值概念
1)評價值定義 主體A對主體B完成任務t的能力稱為主體B在主體A中的評價值,記為V(A,B,t),評價值越高則被其他主體請求完成任務的可能性就越大,例如主體A向主體B發出協作邀請時,主體B能夠順利完成任務并使主體A滿意,那么主體A對主體B的評價值將提高,以后主體A再請求協作時會優先選擇評價值較高的主體B,相反,如果這次協作的任務沒有令主體A滿意,主體B的評價值就會降低,下次協作時就會盡量避免請求與主體B協作類似的任務。
2)評價值的計算 評價值的計算公式如下:
V(A,B,t)=V(A,B,t)+ηaward(完成任務信任度增加)
(1)
V(A,B,t)=V(A,B,t)-ηpenalty(任務未完成或不滿意)
(2)
其中式(1)表示主體A在完成任務t時向主體B發出協作要求,主體B順利完成并使A滿意,則主體A對主體B的評價值將提高ηaward;否則在式(2)中則表示主體B未完成或A不滿意,則主體A對B的評價值將降低ηpenalty。
3)主體能力表示 為了表示每個主體執行任務的能力,在數據庫中存儲著主體的ID和主體的評價值,表示為Agent-Value=〈AID,V〉,其中,AID表示主體標識符;V表示評價值。
4)主體選擇策略 評價值是主體之間進行協作的重要因素,如果一個主體的評價值很低,即使其他條件再合適,其他主體也不愿與其合作,在這里將主體的評價值由高到低進行排序,請求協作的主體不會對所有的主體發送協作請求,只會根據需求選取評價值比較高的n個對其發送協作請求,當任務完成后要對相應的主體評價值數據進行更新。
3.2算法流程
假設當前主體A需要其他主體協作完成任務,當前有其他多個主體對象,主體A在任務執行期間,充當系統的發起者。
1)選擇協作對象 普通合同網會向所有的主體發起招標請求,改進的合同網只選擇向評價值高的n個主體發送招標請求。
2)請求協作 主體A向選中的主體發送招標請求,主體之間信息的傳輸采用統一的格式:
Agent-communication = 〈TID,Asend,Areceive,Tdescription,Tconstraint,ResponseLine〉
其中,TID 表示任務ID;Asend表示請求招標的主體標識;Areceive表示接受招標的主體標識;Tdescription表示請求招標的主體對任務信息的描述;Tconstraint 表示請求招標的主體規定投標方應滿足的條件;ResponseLine表示響應截止時間。
3)同意協作 當主體A收到其他主體的請求信息時,首先查看其Tdescription、Tconstraint 2項,然后查看自己的能力信息,判斷是否有能力完成任務,如果判斷能夠完成任務,再查看自己當前的資源使用情況、任務負載情況和任務約束規定決定是否同意本次招標,若接受還需要對約束條件給出承諾值,投標者則向招標方發送標書。
4)拒絕協作 若被請求的主體發現自己沒有解決該任務的能力,就會向請求招標的主體發送拒絕通知。
5)選擇協作主體 主體A會收到多個同意協作的主體的標書,主體A會選擇其中的一個作為合同者,選擇的標準是根據該主體的綜合指標值。綜合指標值計算方法如式(3)所示:
E=β1f(X1)+β2f(X2)+…+βnf(Xn)
(3)
式中,β1,β2,…,βn為每一項的系數值;f(X1),f(X2),…,f(Xn)為各個指標的函數。
根據綜合指標確定最好的任務投標者為中標對象,如果選擇的協作者為主體B,則向主體B發送中標通知,主體B收到通知后,決定是否執行該任務,如果執行則向主體A發送接受該任務通知,主體B成為合同者,兩者建立了合同關系。
6)協作完成 協作完成后,主體A會根據任務完成的滿意程度修改主體B的評價值。

圖1 網上訂貨流程圖
流程實例如圖1所示,客戶創建一個新的訂單,銷售人員對訂單信息進行評估,如果評估通過,流程自動通知倉庫發貨,同時記錄訂單信息,運送商品和付款操作并發執行,2個工作完成后,流程執行路徑合并,將信息存檔,執行結束;如果評估沒有通過,執行流程結束[6]。
過程Agent開始執行工作,首先激活任務創建訂單的狀態,根據任務的定義、任務的執行對資源的需求,過程Agent向LeadAgent請求任務執行所需要的資源,LeadAgent通過多個Agent協商分配所需的資源,并將該資源的名稱返回給過程Agent,協商過程采用多主體系統中改進的合同網算法。資源執行任務完成后返回任務的結果,流程引擎得到消息后通知創建訂單任務已成功執行,根據ECA規則激活流程的下一個任務,重復上述過程執行流程的每一項任務。
表1給出了通過實際應用仿真得到的性能評價數據。通過獲得的數據可以看出,在多主體協作下流程的效率提高了,工作量減少了,但業務流程的完成時間減少不明顯。在引入了評價值的概念后,主體協商的個數有了限制,使協商過程加快,整個流程的完成時間明顯降低,工作流程的整體效率提高了。

表1 流程仿真評價數據表
注:所有業務過程完成時間表示整個流程執行從開始到結束的所有時間;工作量表示在整個流程中所有活動的工作量總和;流程效率表示活動消耗有效時間與活動總消耗時間的比值;總成本表示人力和資源成本的總和。
針對當前工作流存在的問題,結合當前工作流在國內外的研究成果,將多主體協作技術引入到主動式工作流系統中,建立了基于多主體協作的主動式工作流模型,對工作流引擎的資源分配等過程進行了詳細設計,提出了改進的合同網算法,實現了多主體協作的主動式工作流管理系統。
[1]張猛,侯秀萍,王燁,等.工作流失敗恢復的研究[J].計算機技術與發展,2009(4):65-68.
[2]吉亞力,吳雋,胡冠月.基于Agent的供應鏈協調系統研究[J].商業時代,2007(24):80-102.
[3]范玉順.工作流管理技術基礎——實現企業業務過程重組、過程管理與過程自動化的核心技術[M].第2版.北京:清華大學出版社,2001:28-75.
[4]John McDowall,Larry Kerschberg.A Multi-Agent Approach for Generating Ontologies and Composing Services into Executable Workflows[J].In Proc of EDBT’03,2010:8-33.
[5]JianFeng Cui,Heung Seok Chae.Mobile Agent based Load Balancing for RFID Middlewares[J].Digital Object Identifier,2007,2(12):973-978.
[6]張瑾.WWF開發指南[M].北京:機械工業出版社,2008:160-173.
10.3969/j.issn.1673-1409(N).2012.09.034
TP311
A
1673-1409(2012)09-N095-04
2012-06-27
劉麗杰(1982-),女,2004年大學畢業,碩士,講師,現主要從事計算機科學與技術方面的教學與研究工作。
[編輯] 洪云飛