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