摘 要: 提出基于Agent的集成體系結構AIA(Architecture of Agent-based Integration)實現中小型企業級應用集成" title="應用集成">應用集成,解決目前集成系統" title="集成系統">集成系統出現的被動、靜態和無序狀態。
關鍵詞: Agent AIA 企業級應用集成
隨著分布式人工智能(DAI)研究的深入,Agent以及MAS(Multi Agent System)已經成為研究人員關注的熱點。由于Agent具有自主能力、社交能力、反應能力和行為理性等特點,利用它能為建立企業應用集成平臺提供一條嶄新的途徑。本文提出基于Agent的集成體系結構AIA,采用分層的思想,對企業級應用集成平臺進行分層,每層均由Agent組成。由于該體系結構清晰的層次性以及Agent所具有的特點,不僅使該平臺具有清晰的結構,而且具有良好的開放性、集成性和靈活性,有利于解決目前集成系統出現的被動、靜態和無序狀態,實現中小型企業級應用集成。
1 基于Agent的集成體系結構AIA
充分利用Agent的特性和面向對象技術,提出了基于Agent的集成體系結構AIA,在AIA中,Agent與Object相比,它是一種粗粒度" title="粗粒度">粗粒度的、可重用的、可能包含心智狀態(BDI),并能通過與外界通信進行感知或根據內部狀態的變化獨立地決定和控制自身行為的軟硬件綜合實體。企業級應用集成平臺實際上是一個交互系統,因此能夠抽象為三層:界面層、協調層和模型層。
(1)界面層:界面層由一組個人助理Agent(AssAgent)組成,用戶AssAgent與系統中其他Agent進行通信和協同工作。AssAgent的外在表現形式和功能主要由用戶的業務特征和工作習慣決定。本層的設計重點在于:用戶業務特征和工作習慣的研究、AssAgent學習和訓練方法以及知識來源的確定、人機相互激勵環境的建立等。由于界面層的相對獨立性,已抽象和定義好的界面框架和AssAgent可以方便地運用于其他問題領域。
(2)協調層:協調層中每一個業務處理Agent-BuA對應于企業中的粗粒度的、具有穩定性和原子性的業務處理過程或企業組織結構中的一個部門。協調層是企業經營活動的反映,它位于模型層和界面層之間,用于連接界面層和模型層,負責解釋執行界面層傳來的消息,使模型層的Agent協調運作,完成用戶所要求的動作。本層的設計重點在于:企業經營活動的模型化、BuA之間的層次結構及協調關系、BuA連接的拓撲結構對企業組織結構的自適應調整算法等。其目標在于不僅滿足企業現有業務流程,更適應企業流程再造的需要。
(3)模型層:模型層是企業固有數據模型的反映。模型層的建立是從用戶需求分析入手,將顯示問題空間映射到計算機空間。模型層包括如圖1所示的兩類Agent:DA、SA和LR的結合體。DA是新構筑的數據模型Agent,來實現企業級應用集成。LR是“遺產”信息資源,SA為語義描述Agent,SA是集成異質信息資源的重要橋梁。本層的設計重點在于:分析并獲取問題域模型、SA的設計和抽象、如何將對象模型轉換為Agent模型。其中,OpA為個人助理Agent,BuA為業務處理Agent,DA為數據模型Agent,SA為語義描述Agent,LR為遺產資源。
總之,采用上述的三層結構,不僅能夠有效解決企業級應用集成平臺的開放性問題,而且能夠為支持企業進行業務流程再造提供一條新途徑,提高了平臺的靈活性。界面層是人與系統的結合點;協調層是企業業務的反映,業務流程處理的柔性、技術與組織的融合是本層的核心;模型層是企業級應用集成的基礎,各種異質信息資源在此層進行融合。
2 AIA中各層Agent的設計
2.1 AIA中Agent的一般定義
這里首先給出在本系統中Agent的一般定義:
Agent=<Agent類型,自身模型,社會模型>
Agent類型∈{界面Agent,協調Agent,過程管理" title="過程管理">過程管理Agent,模型Agent}
自身模型=<業務數據,專業能力,專業行為>
業務數據∈{數據1,數據2...}
專業能力∈{專業能力1,專業能力2...}
專業能力=<能力類型,表現形式,相關數據> //其表現形式常常是某種專業行為;
專業行為=<行為類型,行為目標,發生條件,反應>
行為目標∈{目標1,目標2...}
社會模型=<社會知識,社會能力,社會行為>
社會知識∈{社會知識1,社會知識2 ...}
社會能力∈{社會能力1,社會能力2...}
社會能力=<能力類型,表現形式,相關數據> //其表現形式常常是某種社會行為;
社會行為=<行為類型,發生條件,反應>
社會行為類型∈{接受、拒絕、協作、談判、請求}
2.2 界面層Agent結構設計
界面層Agent作為用戶與系統的中介,也是實現人機高度融合的關鍵。界面層Agent主要負責和用戶交互,記錄交互過程并寫入用戶模型,同時將交互信息傳遞給協調層Agent。它的主要組成部分包括:學習方式、用戶操作模型、熟人模型,其結構如圖2所示。
界面層Agent定義如下:
nterfaceAgent=<AgentType,iSelfMode>
AgentType=<InterfaceAgent_ID>
iSelfMode=<iAction>
iAction=<iActionType,iActionGoal,iActionCondition,iResponse>
iActionType∈{Display,Write}
iActionGoal∈{UserMode,ManagerAgent}
iActionCondition∈{Condition1,Condition2……}
iResponse=<Display,Write>
2.3 協調層Agent結構設計
業務Agent群是由協調Agent和多個業務處理Agent組成的一個微社會系統。每個業務Agent具有獨立解決問題所需要的業務數據,負責具體的業務,如增刪改業務數據,進行問題解決,根據用戶的要求提供相應功能,為用戶提出建議或幫助用戶完成部分工作,如圖3所示。
當遇到超出其本身能力范圍的問題時,通過協調Agent,由其他業務Agent完成任務。首先,根據協調Agent傳來的指令信息,一個Agent試圖解決一個問題,當它能夠獨立解決時(符合其能力范圍和業務數據范圍條件),它則獨立解決,否則它向協調Agent發出求助信息,協調Agent的數據庫中存有關于每個Agent能力和數據的數據,通過推理它會選擇一個或多個能夠解決任務的Agent。在業務的過程中,協調Agent還能根據業務過程管理Agent發送的對業務過程的監視數據以及業務策略數據,調整業務過程中的微策略,例如:調整業務信息順序、改變數據呈現方式等。
協調層中Agent網絡的拓撲結構、關聯關系構成企業業務處理模型如圖4所示。
本文設計時受到人類分工合作的啟發,業務Agent群眾的協調Agent就相當于項目經理,業務Agent相當于每一個成員。由協調Agent負責調度和協調工作。業務Agent屬于混合Agent的結構形式,它支持兩類反應:一是不需推理的立即反應,當業務Agent檢測到環境負荷某種行為條件時,行為就被激活。二是需要規劃、預測、分析能力的控制反應,這由協調Agent和業務Agent合作完成,協調Agent會對各種信息進行分析、判斷和推理。
2.4 模型層Agent結構設計
模型層包括兩類Agent:DA、SA和LR的結合體。
模型層中的DA可抽象為兩層,上層為變換器,它由統一格式的本地數據描述、方法、知識組成;下層是傳統意義上的數據庫系統" title="數據庫系統">數據庫系統中的表(Table)。若干表構成數據庫(DB),直觀而言,它是數據庫系統的一種擴展,如圖5所示。
模型層Agent的定義如下:
ModelAgent=<AgentType,mSelfMode,mSocialMode>
AgentType=<ModelAgent_ID>
mSelfMode=<mEntityData,mCapability,mAction>
mEntityData∈{DatabaseColumn}
mCapability=<mCapabilityType,mRepresentation,mRelatedData>
mAction=<mActionType,mActionCondition,mResponse>
mSocialMode=<mSocialCapability,mSocialAction>
2.5 AIA系統的定義
根據以上的分析,本文最后給出AIA系統的簡略定義:
Message=<Sender_ID,Receiver_ID,MessageType,MessageContent>
MessageType∈{Require,Accept,Refuse,Cooperate,Display,Feedback}
3 AIA體系結構的應用
本文將以某個企業的銷售審批流程來說明AIA企業集成結構如何實現動態作業流程。如圖6所示傳統的銷售發貨流程存在部分不增值活動。
在圖6中,為了保證往來單據的正確性,銷售部門和會計部門需要花大量的人力核對許多冗余單據的往來,因此導致對客戶響應速度遲緩。假如企業一方面需要保證來往單據的正確性(保留原流程),另一方面對于信用度好的客戶、重要客戶、緊急合同等情況需要提高交貨速度,從而將財務部門的審核置于發貨之后。這樣,企業銷售發貨流程就需要動態地改變。設圖6中每一個業務處理點對應協調層中的一個BuA。為了支持業務動態調整,每個BuA的知識庫和事務處理描述器中應加入相關的動態業務處理知識和業務描述。如在發貨Agent知識庫和事務處理流程中分別對動態業務處理知識以及快捷、普通發貨流程進行描述,便能實現對銷售發貨業務的動態支持。以下為發貨Agent的知識庫中發貨流程選擇規則,發貨流程選擇:
if 合同數據Agent優先級(合同ID)> xx then 按快捷流程發貨;
if 合同數據Agent優先級(合同ID)<= xx then 按普通流程發貨;
由于每個Agent既有關于它自身信息的統一描述,又有相關聯Agent的接口信息,所以能非常自然、方便地實現Agent之間的方法動態調用。因此能夠較好地支持企業動態業務。
企業級應用集成實際上是一個交互系統,將Agent技術與成熟的對象技術相結合,提出了一個企業應用集成體系結構AIA。不僅具備良好的協調能力,而且具備良好的集成擴展能力。合理的分層設計和清晰的三層結構使得各層的功能和分工非常明確,易于設計實現,提高了平臺的重用性。