摘要:Agent技術為分布式開放系統的分析、設計和實現提供了一種新方法。針對傳統考試系統的局限性,引入Agent技術,設計了基于Agent的考試系統,并給出了各Agent功能結構。
關鍵詞:Agent;考試系統;模型;構建
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)35-2515-02
Construction of Examination Model Based on Agent
WANG Chun-mei
(Bengbu Naval Petty Officer Academy,Bengbu 233012,China)
Abstract: Agent technology has offered a kind of new method for realization,design and the analysis of distribution type open system.According to the limitation of the examination system of tradition,lead into Agent technology,have designed the examination system based on Agent,and have given each Agent function structure.
Key words:agent;examination system;model;construction
1 引言
伴隨著網絡技術、多媒體技術的發展和廣泛應用,網絡教學蓬勃發展,技術手段也日新月異,如今新的教學觀念、教學手段等方面已有了長足的應用和發展??荚囎鳛榻虒W過程中的重要環節,其作用日益被重視,采用計算機實現考試無紙化是必然的趨勢。然而,現在的網上考試系統在考試內容和考試形式上,大大滯后于教學的其他環節。
現有的網上考試系統大多基于C/S結構,在C/S模式下的考試系統中,題庫放在服務器端,考生在客戶端進行考試。在考試過程中,需要在網絡上來回傳輸包括試題內容在內的許多信息,客戶端和服務器端要進行很多次的交互,而在交互期間,基本上都要求保持通信連接。這種模式對網絡的帶寬和穩定性要求較高。當系統的應用量越來越大時,客戶機和服務器的頻繁交互使帶寬浪費很多。而且,系統的可靠性和響應的及時性在很大程度上將依賴于網絡的連通性。因此,現有的基于C/S結構的網上考試系統,存在著網絡流量大、網絡性能差、難以很好地實現人機交互等問題。
而Agent理論與技術作為開發軟件系統的新方法已經得到了學術界的廣泛關注。Agent模式擺脫了傳統C/S模式的框架,能夠將發出服務請求的客戶端代碼動態地移動到服務器端執行,使得Agent不經過網絡傳輸這一中間環節而直接同服務器進行交互,這將顯著地降低對網絡帶寬要求。對網絡的依賴性更小,不需要保持網絡的始終連通,提高了網絡的利用率。可以實現并行求解,為完成某項任務,用戶可以創建多個Agent,同時在相同或不同的節點上運行,移動Agent的并行性可將單一節點的負荷分散到網絡的多個節點上,這將使得小系統擁有處理大規模、復雜問題的能力,打破了網絡通訊的傳統模式,在計算機考試中引入Agent技術,可以在硬件上緩解網絡壓力,軟件上提高交互性,實現智能化。
2 Agent技術
Agent理論與技術研究最早源于分布式人工智能,從80年代末開始從中拓展開來,并與其它領域相互借鑒和融合,得到了廣泛的發展??捎脕斫鉀Q復雜分布式現實世界問題,開發處于動態的、不確定環境中的、健壯的、大規模的軟件系統?,F在已廣泛應用于網絡管理、信息搜索、分布式協同計算、電子商務等領域,成為計算機科學領域的研究熱點問題。它主要有以下一些屬性:
自主性,具有獨立完成用戶所賦予任務的能力。Agent一經初始化后,可不受干預直接執行。Agent控制著自己的外部行為和內部狀態,可以被授權去做某種決定,完成具體任務。
反應性,是指Agent能夠感知操作環境的變化,對環境中發生的相關事件能及時作出理智的反應。
協作性,Agent具有相互協作的能力,可通過協商解決Agent間存在的各種影響和沖突,這是MAS(Multi Agent System)系統順利工作的關鍵。
學習性,Agent是一個開放的系統,在實際工作中能夠主動適應環境,擴充自身的知識。
通信性,是指Agent之間能夠進行信息交換,既保證Agent個體的獨立性,又可根據環境形成Agent群。Agent可以以最小的代價加入系統或從系統中移出。
移動性,是指Agent有能力從一個節點移動到另一個節點。Agent將數據封裝在執行的一個線程中,每個Agent獨立于其他Agent。
安全性,Agent的通訊內容從不涉及假的信息。可避免惡意的Agent對計算機環境造成破壞。
一個系統中的Agent都服務于同一個目標,他們總是愿意與其他Agent合作,有意避免沖突發生,Agent模型/語言用于定義和構造Agent,Agent關系模型通過Agent間的相互依賴和關系來實現。
與傳統的計算機軟件相比,Agent根據環境和目標而改變自身狀態,而且,這一改變是自身做出的。
3 基于Agent技術的網上考試系統模型
在基于Agent技術的考試系統模型中,引入了Agent的概念,用Agent來定義系統中的各個部件的需求和實現,在考試系統中,Agent既是系統的基本構成單位,又是系統的獨立運行實體?;贏gent考試系統的模型如圖1所示。
3.1基于Agent的網上考試系統工作流程
考生啟動驗證Agent進行身份認證,正確認證后,與試卷Agent進行交互發送考試信息。試卷Agent根據登錄信息中的課程信息,從中心數據庫中抽取相關試題,生成試卷,并為每一套試卷生成相應的標準答案,生成的試卷和標準答案以加密文本文件的方式傳送給考試Agent??荚嘇gent收到試卷后開始計時,考生開始考試,考試時鐘從客戶機獲得時間,每一臺客戶機的時鐘不一定完全相同,但考試時鐘運行時間是相同的,這就避免了在C/S模式下由于網絡擁塞而造成考生的有效考試時間長短不一的情況??忌诳荚嚻陂g,試卷Agent還負責把評分Agent發送到考生所在機器指定的目錄??忌荚囃戤吿峤辉嚲砘蚩荚嚂r鐘終止系統自動交卷。交卷后啟動評分Agent進行評分工作,并對試卷進行分析。評分工作完成后將考生的考試成績和試卷分析結果進行上傳,所有考生的成績和試卷分析結果上傳后激活題庫管理Agent,題庫管理Agent可根據試卷分析結果可適當對題庫進行維護,以便試題庫更趨于合理。
從上述步驟可以看出,各Agent分工明確,各負其責,同時又相互協作,在滿足條件時激發相關的Agent進行工作,構成了一個有機的整體,實現考試順利進行的共同目標。
3.2 各Agent部件的結構和功能
驗證Agent:提供登錄界面,收集、驗證考生登錄信息,并與試卷Agent通信發送考試信息。驗證完畢如果成功則退出驗證Agent,不成功則提示出錯信息。驗證Agent的結構圖如圖2。
試卷Agent:按照不同的組卷策略,從題庫中隨機抽取符合總體難度系數控制要求的試卷,生成的試卷以加密文本文件的方式提交給考試Agent。其結構如圖3。
考試Agent:接受試卷Agent發送的試題信息,進行分析后發布到考試頁面;在考試過程中負責記錄考生答題情況與結果,負責定期報告剩余考試時間,考生結束考試或考試時間到,則啟動評分Agent進行評分。
評分Agent:對考生的考試結果進行評閱,并將結果傳送回服務器。同時根據考生答題的正確性,對各考題的難易程度作出評估,并把評估結果發送給試卷Agent,作為下次出卷的依據。
用戶管理Agent:可對中心數據庫中的用戶信息進行增加、刪除、查詢及密碼修改等,實現對用戶的有效管理。
題庫管理Agent:可對題庫進行有效的管理,可以增加、刪除和修改題庫中的題目。可設定組卷時需要包括的知識點、難度、題目類型、題目數量以及考試的完成時間等??商峁︻}目進行有條件的查詢。
整個系統中還有一個管理Agent,它負責從系統總體上協調各Agent。
4 結束語
文中結合Agent技術提出了一種基于Agent的網上考試系統模型,利用Agent構建的考試系統模型,Agent既是系統的基本構成單位,又是系統的獨立運行實體。這種新的模型能夠有效地減少網絡連接時間,減少對網絡帶寬的占用,大大提高了系統的健壯性、可靠性,充分地發揮網絡的作用進行考試。
參考文獻:
[1] 毛新軍.面向主體的軟件開發[M].北京:清華大學出版社,2005.
[2] 王益軍,趙建民.基于多Agent的網上教學系統模型的研究[J].計算機技術與發展,2006,(8).
[3] 馬傳寶.構建基于智能Agent的網上教學系統模型[J].廣東廣播電視大學學報,2003,(2).
[4] 喬善平.基于智能移動Agent的C語言考試系統[J].計算機工程與科學,2004,(4).