摘要:Agent技術是近年來備受人們關注的軟件開發技術。由于它的眾多有用屬性如自治性、自主性、自適應性等特性,使得人們對它的研究越來越多?;贏gent的這些技術和理論優勢,結合作者單位管理系統的實際需求,提出了“應用多Agent技術于高校教研資源管理的設想”研究題目。
關鍵詞:Agent;調度;協作
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)35-2190-02
On the Application of the Multi-agent Technique in Higher Education Resource Management
TAO Wen-lin
(Electrical Engineering, Suzhou Vocational University, Suzhou 215104, China)
Abstract: The agent technique has received a lot of attention in the software development area in recent years. It is self-orgnized, autonomous and adaptive. Therefore, there has been more and more research on it. Based on the technical and theoretical advantages of the agent technique as well as the practical needs in the resource management system in the author’s college, a system has been proposed to manage the resources in higher education based on the multi-agent technique.
Key words: Agent; allocation; cooperation
1 引言
高校的教研資源,包括師資、教學場地、用具、教學時間、實驗室、研究室、研討室、會議室等等,對這些資源的管理和調度,可以說是一所高校所有工作的核心,其管理效率的高低也是體現高校實力的重要標志。
資源調度和分配的核心問題是在避免資源的沖突的基礎上盡可能滿足對各類教研資源的申請,其牽涉到的因素相當多,尤其如申請者的特定要求,某資源的特殊使用方式和時段,再加上學校本身的其它相關行政規定所構成的特殊使用規則,其復雜性很難以量化描述而難將其以計算機化來處理,因此會耗費大量的人力與時間來處理該項業務。
目前高校普遍配有計算機輔助排課系統,但這類系統的智能程度不高,且多屬教務處單機封閉作業,其調度策略大多只求排出滿足若干限制條件的排課方案,少有提供教師直接對系統表達特殊需求的途徑。最重要的是排課問題僅涉及的資源只是高校教研資源的一部分,這類系統并不能很好地管理。
基于上述理由,本文提出了一種應用多Agent技術,對學校的各類教研資源進行統一調度的管理系統架構。
該架構的設計理念如下:
1) 由特殊的Agent代替管理人員實現自動,高效的資源管理。
通過特別設計的調度Agent,將代表管理人員全權處理所有管理事宜,包括選擇最適合的資源使用者,完成分配所有資源的任務,并能和管理人員實現互動。
2) 由相應的Agent完成各資源申請者之間,及其和管理人員之間的溝通協調。
資源使用者分別將其請求委托對應的Agent處理,該Agent為了達成委托人的任務而與其它相關的資源使用者Agent溝通協調,資源使用者Agent間只傳遞溝通協調所需的相關信息給相關的資源使用者Agent,再將協調結果通知管理員的Agent。
2 理論基礎
2.1 Agent的概念
Agent是一個實際或虛擬的軟件或硬件,利用感應器接收從環境中傳來的信息,并產生動作來作出回應,且有能力在這個環境中自主移動以實現其設計目標。綜合來說,Agent具有下列特征:
1) 能夠在系統環境中活動。
2) 有直接與其它Agent溝通的能力。
3) 由一些特定的目標或生存函數來驅動。
4) 擁有自己的資源。
5) 能夠有限度地感知與響應它所處的環境。
6) 擁有某些技能并提供特定的服務。
7) 可以自我復制。
2.2 IBM Aglets
Aglets是由IBM Tokyo Research Laboratory開發出來的軟件,全名為Aglets Software Development Kit(ASDK),是一個用來研究和開發移動Agent的執行平臺(framework)和環境。
一個Aglet是一個Java object,能夠在網絡中從一臺主機移至另一臺主機,即一個Aglet可以在一部主機瞬間停止執行,將自己發送至遠程的另一部主機,并在那兒還原執行,此意并非從頭開始重新執行,而是從中斷執行之處再開始執行,當Aglet移動時,它是程序代碼和數據一起移動。
The Java Aglet Application Programming Interface(JAAPI)或稱The Aglet API是一組Java的類別與接口可以讓你產生mobile Java Agents,同時也是Aglet與其環境的一種接口標準。本文涉及的資源管理系統采用Agelets平臺設計。
3 分析和設計
本文以我校目前的管理業務做為研究的對象,以它原先的業務邏輯做為基礎模型,運用Agent的技術來解決資源管理問題,并運用多重Agent(multi-Agent)的技術來促進系統中各個參與者之間的溝通協調的機制,并達成資源分配方案的終極目標。
3.1 系統架構中的Agent
系統架構中首先包含一個使用者接口Agent(User Interface Agent, UIA),提供和資源使用者溝通的人機接口;由于管理系統的實際參與者包括管理人員和資源使用者,故系統包含兩個分別代表管理人員和資源使用者的參與者Agent(Participant Agents),分別是調度Agent(Allocating Agent, AA)和資源使用者助理Agent(Allocatee Assistant Agent, AAA),調度Agent為一個移動Agent,在調度期間代表管理員去和分散在各地區代表資源使用者的資源使用者助理Agent們逐一溝通協調,調度Agent從中選擇一適當的資源使用者人選來分配資源。
各種Agent如表1所示。
3.2 系統架構用到的數據格式
實際資源管理業務中用到的數據牽涉到的因素非常的繁雜,數據表格種類也十分眾多,且每個表格中的字段也十分繁瑣,本文重在分析,故只列出三個數據關系作示例,并加以簡化,簡化后各個數據表格及字段如表所示。
3.3 Agent之間的協作設計
各Agent與Agent之間,以及Agent與業務數據之間的協作過程大致如下:
步驟1:管理員運行使用者接口Agent(UIA)想要分配資源,UIA生成輸入界面;
步驟2:UIA載入管理數據;
步驟3:UIA取得資源及資源申請者數據,由管理員輸入欲分配的資源信息;
步驟4:管理員輸入確認后,UIA產生調度Agent(AA),可與UIA運行在同一部主機或發送至另一主機處理所有管理事宜 ;
步驟5:AA載入資源數據;
步驟6:AA取得空余資源數,篩選應先分配資源,并篩選資源使用者;
步驟7:AA和資源使用者助理Agent(AAA)協商,AAA代表的資源使用者響應使用此資源的用途和時段;
步驟8:AAA將是否有臨時變動的結果傳回給AA,若資源使用者在此時間段有變化,AA則隨機方式另選一時間段,直到沒問題為止;
步驟9:AA繼續載入資源數據,AA將所有資源分配完;
步驟10:AA將調度結果傳回UIA ;
步驟11:UIA將管理結果顯示在管理員的主機上。
3.4 Agent詳細設計
3.4.1 使用者接口Agent詳細設計
使用者接口Agent(UIA)用來產生輸入畫面以及調度結果輸出畫面的Agent,UIA載入資源數據,管理員從輸入界面
選擇欲管理的資源代號以及調度Agent欲前往的主機地址,產生調度Agent(AA),并將資源代號傳給AA,發送AA至所選擇的主機去處理管理相關事宜。
AA處理完后將調度結果(資源分配成功與否)回傳給UIA,若出現調度完成的畫面,UIA至資源數據庫中將時間分配表取出,并處理輸出格式;若管理有問題,則立刻停止管理,并顯示那里出現問題的信息,且改由人工來處理。
3.4.2 調度Agent詳細設計
調度Agent(AA)則負責處理管理事宜,首先AA載入所有資源數據,AA依照資源的可使用時段及時數長短來選擇資源使用者(先比較時段,時段在前比在后的優先,時段相同者再比較時數,時數長者優先),AA再以資源和申請使用者隸屬同一部門優于非同一部門,且專職教職工優于兼職教職工的優先級來篩選適當的資源使用者人選,產生資源使用者人選后,AA和代表此資源使用者的資源使用者助理Agent(AAA)協商,AA并將調度的相關信息傳給AAA,AAA代表資源使用者響應是否能接受的信息給AA,AAA若能接受,則AA開始分配,AAA若拒絕,則再依前述原則選擇次等優先級的資源使用者,再和代表此資源使用者的AAA協商,直到找到合適的資源使用者為止,若找不到適合的資源使用者,回傳至使用者接口Agent(UIA),輸出警告信息。
AA首先以隨機的方式選擇一空余時間段來分配,隨后檢查資源使用者是否在此時段是否有空,若資源使用者沒空或請假則再隨機選擇另一時間段,重復上述步驟直至資源使用者沒有問題為止,將此分配完的資源信息存入資源使用表中,再選擇下一資源來分配,重復上述步驟,直到這本次資源分配任務結束為止,并響應給使用者接口Agent(UIA)是否成功。
3.4.3 資源使用者助理Agent詳細設計
資源使用者助理Agent(AAA)從接到調度Agent(AA)詢問是否能在某時段使用該資源的詢問信息后,AAA先判斷其所代表的資源使用者是專職教職工還是兼職教職工;若AAA所代表的是專職教職工,AAA判斷資源使用率是否超過限制,若超過限制,則AAA響應給AA拒絕的信息;若專職教職工沒超過限制,或AAA所代表的兼職教職工,則判斷其它狀態,再給予AA適當的響應信息。
4 結論
對各類教研資源的管理是構成高校教學秩序的核心環節。本文提出借助計算機,引入Agent技術,構建不同功能的Agent,利用Agent的自主性,自適應性等特性。模擬測試表明,該系統架構通過相應的Agent自身的活動及相互之間的協作,能初步達到模擬資源使用者之間,資源使用者和管理人員之間的溝通協調,并代替管理人員實現自動,高效的管理。
參考文獻
[1] Jennings N R,Sycara K,WooldridgeM.A Roadmap of Agent Research and Development[J].Journal of Autonomous Agents and Multi-Agent Systems,1998,1(1).
[2] Ferber J.Multi-Agent Systems-An Introduction to Distributed Artificial Intelligence[M].Addison-Wesley,1999.
[3] Nwana H S.Software agents:An Overview[J].The Knowledge Engineering Review,1996,11(3):205-244.
[4] Wooldridge M,Jennings N R.Agent Theories,Architectures,and Languages,a Survey[M]//Wooldridge,Jennings.Intelligent Agents.Berlin:Springer-Verlag,1995:1-22.
[5] Jennings N R,Wooldridge M,Agent-oriented software engineering[M]//Bradshaw J.Hand book of Agent Technology.AAAI/MIT Press,2001.
[6] 楊鯤.Agent 特性與分類[J].計算機科學,1999,26(9):30-34.
[7] 蔡自興,徐光佑.人工智能及其應用[M].北京:清華大學出版社,1996.
[8] Luger G F.Artificial Intelligence:Structures and Strategies for Complex Problem Solving[M].5th ed.Addison Wesley,2004.
[9] Luger G F.人工智能 復雜問題求解的結構和策略[M].史忠植,張銀奎,趙志崑,譯.北京:機械工業出版社,2006.
[10] 石純一,黃昌寧,王家.人工智能原理[M].北京:清華大學出版社.