蔣偉杰
(陽(yáng)光學(xué)院 信息工程學(xué)院, 福州 350015)
在線(xiàn)虛擬仿真實(shí)驗(yàn)平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
蔣偉杰
(陽(yáng)光學(xué)院 信息工程學(xué)院, 福州 350015)
設(shè)計(jì)了一種虛擬仿真實(shí)驗(yàn)平臺(tái)架構(gòu),該架構(gòu)基于B/S結(jié)構(gòu),能夠集中管理實(shí)驗(yàn)資源,支持靈活擴(kuò)展實(shí)驗(yàn)項(xiàng)目。在平臺(tái)前端能夠進(jìn)行實(shí)驗(yàn)操作,通過(guò)在服務(wù)器端運(yùn)行實(shí)驗(yàn)邏輯后反饋回前端展示實(shí)驗(yàn)的仿真過(guò)程和實(shí)驗(yàn)現(xiàn)象,支持記錄和評(píng)定實(shí)驗(yàn)操作,并實(shí)現(xiàn)了計(jì)算機(jī)組成原理模型機(jī)的虛擬實(shí)驗(yàn)實(shí)例。
虛擬仿真實(shí)驗(yàn);實(shí)驗(yàn)平臺(tái);B/S結(jié)構(gòu);模型機(jī)
虛擬仿真實(shí)驗(yàn)是在計(jì)算機(jī)上利用虛擬現(xiàn)實(shí)、多媒體、人機(jī)交互等技術(shù)手段構(gòu)建高度仿真的虛擬現(xiàn)實(shí)環(huán)境和實(shí)驗(yàn)對(duì)象,使用者可以在這個(gè)環(huán)境中模擬真實(shí)的環(huán)境并開(kāi)展實(shí)驗(yàn),完成各種實(shí)驗(yàn)項(xiàng)目。虛擬仿真實(shí)驗(yàn)可以呈現(xiàn)實(shí)驗(yàn)過(guò)程中的信息流動(dòng)、甚至可以將不可見(jiàn)的微觀(guān)結(jié)構(gòu)以視覺(jué)方式展示,相較于傳統(tǒng)實(shí)驗(yàn),虛擬仿真實(shí)驗(yàn)不受時(shí)空限制,并且可以完成真實(shí)實(shí)驗(yàn)設(shè)備不具備或難以實(shí)現(xiàn)的教學(xué)內(nèi)容[1]。虛擬仿真實(shí)驗(yàn)教學(xué)是教育信息化的重要組成部分,高校開(kāi)展的虛擬仿真實(shí)驗(yàn)平臺(tái)建設(shè)與真實(shí)實(shí)驗(yàn)教學(xué)互為補(bǔ)充,有利于提高高校實(shí)驗(yàn)教學(xué)信息化水平,提升學(xué)生參加實(shí)驗(yàn)的自主性,為學(xué)生開(kāi)展探究性學(xué)習(xí)、自主實(shí)驗(yàn)和創(chuàng)新實(shí)踐提供了先進(jìn)手段、開(kāi)放平臺(tái)和優(yōu)質(zhì)資源[2]。近年來(lái),教育部陸續(xù)建立了數(shù)百個(gè)國(guó)家級(jí)虛擬仿真實(shí)驗(yàn)教學(xué)中心,同時(shí)國(guó)內(nèi)多家高校和企業(yè)也致力于虛擬實(shí)驗(yàn)教學(xué)的研究,形成了一系列虛擬實(shí)驗(yàn)教學(xué)系統(tǒng)和資源[3]。然而,現(xiàn)有的虛擬實(shí)驗(yàn)教學(xué)僅局限于較小的地域范圍,其開(kāi)放性和實(shí)用性都還不夠,特別是難以適應(yīng)當(dāng)前大規(guī)模在線(xiàn)教育的環(huán)境和需求,暫無(wú)法形成良好的相互促進(jìn)。針對(duì)以上不足,本文提出并實(shí)現(xiàn)了一種基于B/S結(jié)構(gòu)的虛擬仿真實(shí)驗(yàn)平臺(tái),該平臺(tái)具有良好的可擴(kuò)展性、交互性以及虛擬實(shí)驗(yàn)教學(xué)管理功能。
實(shí)驗(yàn)平臺(tái)的主要功能包括實(shí)驗(yàn)資源分配、學(xué)生完成實(shí)驗(yàn)、教師批改實(shí)驗(yàn),可分為3種用戶(hù):管理員、教師和學(xué)生。管理員用戶(hù)負(fù)責(zé)管理虛擬實(shí)驗(yàn)的項(xiàng)目,審核教師和學(xué)生用戶(hù),搭配好實(shí)驗(yàn)項(xiàng)目、教師、學(xué)生三者之間的對(duì)應(yīng)關(guān)系等;教師用戶(hù)能夠在自己負(fù)責(zé)的實(shí)驗(yàn)項(xiàng)目范圍內(nèi)查看相應(yīng)的學(xué)生實(shí)驗(yàn)記錄,包括完成該實(shí)驗(yàn)項(xiàng)目的關(guān)鍵過(guò)程、時(shí)間,最后給出該學(xué)生在這個(gè)實(shí)驗(yàn)項(xiàng)目上的成績(jī)?cè)u(píng)定;學(xué)生用戶(hù)可以進(jìn)入系統(tǒng)選擇需要完成的實(shí)驗(yàn)項(xiàng)目,根據(jù)實(shí)驗(yàn)界面上的交互元素進(jìn)行實(shí)驗(yàn)操作,觀(guān)察實(shí)驗(yàn)現(xiàn)象,查看并記錄實(shí)驗(yàn)數(shù)據(jù),逐步完成實(shí)驗(yàn)項(xiàng)目,還可以查看以往的實(shí)驗(yàn)記錄和實(shí)驗(yàn)成績(jī)。
本文所實(shí)現(xiàn)的網(wǎng)絡(luò)虛擬實(shí)驗(yàn)平臺(tái)架構(gòu)如圖1所示,由客戶(hù)端模塊、服務(wù)器端模塊、通信模塊及庫(kù)模塊等4部分構(gòu)成。用戶(hù)通過(guò)客戶(hù)端即瀏覽器登錄與服務(wù)器端進(jìn)行交互,實(shí)現(xiàn)平臺(tái)功能。
圖1 虛擬實(shí)驗(yàn)平臺(tái)架構(gòu)
庫(kù)模塊包括實(shí)驗(yàn)界面庫(kù)、實(shí)驗(yàn)運(yùn)行邏輯庫(kù)以及數(shù)據(jù)庫(kù),其中實(shí)驗(yàn)界面庫(kù)、實(shí)驗(yàn)運(yùn)行邏輯庫(kù)使用面向?qū)ο蟮姆绞匠橄罅烁鲗?shí)驗(yàn)項(xiàng)目中組件的靜態(tài)屬性、動(dòng)態(tài)屬性和對(duì)應(yīng)實(shí)驗(yàn)過(guò)程中的操作,實(shí)驗(yàn)界面庫(kù)由Javascript前端語(yǔ)言實(shí)現(xiàn),服務(wù)對(duì)象為客戶(hù)端程序。實(shí)驗(yàn)運(yùn)行邏輯庫(kù)由服務(wù)器端語(yǔ)言實(shí)現(xiàn),采用Webservice方式接入為服務(wù)器端程序提供服務(wù),從而靈活掛接不同的實(shí)驗(yàn)項(xiàng)目。數(shù)據(jù)庫(kù)內(nèi)主要有用戶(hù)表、實(shí)驗(yàn)記錄表、實(shí)驗(yàn)分配表等內(nèi)容,分別存儲(chǔ)對(duì)應(yīng)用戶(hù)類(lèi)型和權(quán)限,學(xué)生完成的實(shí)驗(yàn)項(xiàng)目、完成時(shí)間、實(shí)驗(yàn)成績(jī)、批閱教師,以及項(xiàng)目、教師、學(xué)生的對(duì)應(yīng)關(guān)系。
客戶(hù)端模塊采用HTML5+Javascript來(lái)實(shí)現(xiàn)虛擬實(shí)驗(yàn)的運(yùn)行邏輯和實(shí)驗(yàn)過(guò)程中的數(shù)據(jù)可視化,可分為數(shù)據(jù)呈現(xiàn)、過(guò)程展示及交互方式3類(lèi)功能。數(shù)據(jù)呈現(xiàn)是指通過(guò)HTML5中的Canvas來(lái)繪制所調(diào)用的實(shí)驗(yàn)界面庫(kù)中的對(duì)應(yīng)實(shí)驗(yàn)項(xiàng)目組件和相關(guān)的數(shù)據(jù);過(guò)程展示用來(lái)表現(xiàn)實(shí)驗(yàn)的動(dòng)態(tài)過(guò)程,通過(guò)將當(dāng)前實(shí)驗(yàn)狀態(tài)和服務(wù)器回發(fā)的結(jié)果狀態(tài)進(jìn)行比較,檢查數(shù)據(jù)產(chǎn)生變化的組件,調(diào)用實(shí)驗(yàn)界面庫(kù)中相對(duì)應(yīng)的動(dòng)畫(huà)效果,如數(shù)據(jù)流動(dòng)、位置移動(dòng)、顏色漸變等;交互方式提供了學(xué)生操作實(shí)驗(yàn)的方式,如按鈕、拖拽、旋轉(zhuǎn)、連接、文本輸入等模擬推動(dòng)實(shí)驗(yàn)進(jìn)程的方式。
服務(wù)器端模塊由權(quán)限審核、項(xiàng)目選擇、實(shí)驗(yàn)狀態(tài)判定以及實(shí)驗(yàn)記錄4個(gè)部分組成。權(quán)限審核針對(duì)用戶(hù),為不同類(lèi)型的用戶(hù)提供不同的界面和操作;項(xiàng)目選擇針對(duì)學(xué)生用戶(hù),判斷當(dāng)前學(xué)生所進(jìn)行的實(shí)驗(yàn)項(xiàng)目,選擇掛接不同的實(shí)驗(yàn)運(yùn)行邏輯庫(kù)為其服務(wù);實(shí)驗(yàn)狀態(tài)判定判斷學(xué)生是否進(jìn)行了有效的實(shí)驗(yàn)操作,判斷當(dāng)前的實(shí)驗(yàn)進(jìn)程;實(shí)驗(yàn)記錄與數(shù)據(jù)庫(kù)部分進(jìn)行數(shù)據(jù)交互,存儲(chǔ)或提取用戶(hù)信息、實(shí)驗(yàn)狀態(tài)等內(nèi)容。
通信模塊包含通信協(xié)議、數(shù)據(jù)封裝程序、數(shù)據(jù)解析程序3塊內(nèi)容。通信協(xié)議制定和實(shí)現(xiàn)了實(shí)驗(yàn)操作過(guò)程中客戶(hù)端與服務(wù)器端的通信數(shù)據(jù)內(nèi)容,規(guī)定通信的數(shù)據(jù)內(nèi)容包含用戶(hù)信息、實(shí)驗(yàn)項(xiàng)目信息、實(shí)驗(yàn)操作信息以及實(shí)驗(yàn)項(xiàng)目狀態(tài)信息等內(nèi)容;數(shù)據(jù)封裝程序?qū)崿F(xiàn)通信內(nèi)容按照協(xié)議格式打包和發(fā)送;數(shù)據(jù)解析程序接受通信內(nèi)容,按協(xié)議讀取相應(yīng)的信息和調(diào)用對(duì)應(yīng)的程序模塊。
以計(jì)算機(jī)組成原理課程的模型機(jī)實(shí)驗(yàn)為例。在該實(shí)驗(yàn)過(guò)程中學(xué)生只是按照實(shí)驗(yàn)步驟用導(dǎo)線(xiàn)將各單元信號(hào)連接起來(lái),然后按要求撥動(dòng)開(kāi)關(guān),觀(guān)察各信號(hào)指示燈來(lái)完成實(shí)驗(yàn),不能為學(xué)生提供計(jì)算機(jī)內(nèi)部結(jié)構(gòu)及工作過(guò)程的直接感受[4-7]。而在虛擬仿真實(shí)驗(yàn)中,學(xué)生在指令執(zhí)行的過(guò)程中能夠讓系統(tǒng)根據(jù)要求動(dòng)態(tài)顯示指令執(zhí)行時(shí)數(shù)據(jù)的變化和流動(dòng)過(guò)程,可進(jìn)一步加深對(duì)指令執(zhí)行過(guò)程的理解[4],從而更容易達(dá)到實(shí)驗(yàn)的目的。本實(shí)驗(yàn)中的模型機(jī)以文獻(xiàn)[8]所提供的模型機(jī)為原型,結(jié)構(gòu)如圖2所示。
該模型機(jī)中ALU為運(yùn)算器,DR1和DR2為運(yùn)算數(shù)據(jù)鎖存器;A為累加器,CY是進(jìn)位標(biāo)志,ZD是零標(biāo)志;Ri為寄存器組(共4個(gè)8位寄存器);PC為程序計(jì)數(shù)器,IR1、IR2為指令寄存器;M為內(nèi)存;uPC、uIR、uM分別為微程序計(jì)數(shù)器、微指令寄存器及微內(nèi)存;其他為這些部件的控制和時(shí)序信號(hào)。
圖2 模型機(jī)結(jié)構(gòu)
模型機(jī)實(shí)驗(yàn)要求學(xué)生能夠根據(jù)模型機(jī)所提供的硬件邏輯自行設(shè)計(jì)其微指令、微程序以及指令,實(shí)驗(yàn)界面不僅要能顯示模型機(jī)的部件、各個(gè)部件的數(shù)據(jù)及其控制信號(hào),還需要支持學(xué)生自行編輯微指令和指令。因此,本文在實(shí)驗(yàn)界面庫(kù)的模型機(jī)實(shí)驗(yàn)中提供了模型機(jī)各部件的繪制坐標(biāo)、部件數(shù)據(jù)的顯示位置,同時(shí)還支持上傳自行編輯的指令和微指令二進(jìn)制代碼。在實(shí)驗(yàn)界面上還設(shè)置了指令執(zhí)行的操作方式,具體實(shí)現(xiàn)界面如圖3所示。
圖3 模型機(jī)實(shí)驗(yàn)界面
模型機(jī)的仿真實(shí)際上是硬件邏輯的仿真,是通過(guò)檢測(cè)當(dāng)前微指令中的微信號(hào),根據(jù)微信號(hào)的值來(lái)控制數(shù)據(jù)在各個(gè)部件的寄存器中進(jìn)行流動(dòng)和變化,最終改變寄存器中的數(shù)據(jù)。若按照6個(gè)時(shí)序來(lái)進(jìn)行仿真,則各個(gè)時(shí)序所對(duì)應(yīng)的微操作如圖4所示。
圖4 各時(shí)序?qū)?yīng)微操作
當(dāng)命令中需要執(zhí)行一條微指令時(shí),硬件邏輯程序自動(dòng)按照時(shí)序1至?xí)r序6的順序檢測(cè)微指令中對(duì)應(yīng)的微信號(hào)并完成相應(yīng)的微操作。
本實(shí)驗(yàn)項(xiàng)目的通信內(nèi)容包含3部分,分別是模型機(jī)的指令內(nèi)容、客戶(hù)端交互操作對(duì)應(yīng)的命令類(lèi)型和通信內(nèi)容的結(jié)束符。其通信格式按照數(shù)據(jù)封裝和解析模塊所制定的格式,即將模型機(jī)寄存器和存儲(chǔ)器內(nèi)的數(shù)據(jù)用“,”號(hào)隔開(kāi);通信內(nèi)容的最后部分是操作命令號(hào),分別是0 表示單微操作,1表示指令執(zhí)行,2表示連續(xù)執(zhí)行。
虛擬仿真實(shí)驗(yàn)是現(xiàn)代教育信息化的重要內(nèi)容,是實(shí)驗(yàn)教學(xué)改革的必然趨勢(shì)。本文提出的實(shí)驗(yàn)平臺(tái)架構(gòu)具有靈活的擴(kuò)展性、用戶(hù)友好的交互性以及良好的開(kāi)放性和實(shí)用性,有助于激發(fā)學(xué)生的學(xué)習(xí)興趣,提升學(xué)生的學(xué)習(xí)自主性。同時(shí),實(shí)驗(yàn)平臺(tái)的維護(hù)成本低、利用率高,易于整合優(yōu)質(zhì)實(shí)驗(yàn)教學(xué)資源,高效管理實(shí)驗(yàn)教學(xué)資源,可實(shí)現(xiàn)校內(nèi)外、本地區(qū)及更廣范圍內(nèi)的實(shí)驗(yàn)教學(xué)資源共享,滿(mǎn)足多地區(qū)、多學(xué)校和多學(xué)科專(zhuān)業(yè)的虛擬仿真實(shí)驗(yàn)教學(xué)的需求。本實(shí)驗(yàn)平臺(tái)基于B/S架構(gòu),在實(shí)驗(yàn)過(guò)程中能夠?qū)崿F(xiàn)跟蹤和反饋實(shí)驗(yàn)的操作過(guò)程,彌補(bǔ)在線(xiàn)教育課程在實(shí)踐類(lèi)型課程方面的不足和缺陷,對(duì)當(dāng)今大規(guī)模在線(xiàn)教育的發(fā)展方面具有重要的意義。
[1] 李林,陳宇峰,李鳳霞,等.虛擬實(shí)驗(yàn)在大學(xué)計(jì)算機(jī)課程教學(xué)改革中的研究[J].中國(guó)教育信息化,2017,(8):61-63.
[2] 王衛(wèi)國(guó),胡今鴻,劉宏.國(guó)外高校虛擬仿真實(shí)驗(yàn)教學(xué)現(xiàn)狀與發(fā)展[J].實(shí)驗(yàn)室研究與探索,2015(5):214-219.
[3] 李林,陳宇峰,李鳳霞.開(kāi)放式虛擬實(shí)驗(yàn)教學(xué)平臺(tái)研究與實(shí)踐[J].中國(guó)教育技術(shù)裝備,2017(10):33-34,39.
[4] 蔣偉杰.基于C/S結(jié)構(gòu)的計(jì)算機(jī)組成原理模型機(jī)仿真系統(tǒng)[J].信息通信,2015(5):72-73.
[5] 馬沖,趙勰,范贊.基于C/S架構(gòu)的小型人力資源管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù),2010(2):104-107.
[6] 胡怡之.基于C/S模式的工程信息管理系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)[J].鐵道工程學(xué)報(bào),2012,29(9):93-97.
[7] 賈珺.基于C/S結(jié)構(gòu)的醫(yī)院門(mén)診管理信息系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)與現(xiàn)代化,2011(4):24-28.
[8] 白中英.計(jì)算機(jī)組成原理[M].4版.北京:科學(xué)出版社,2010.
DesignandImplementationofaOnlineVirtualSimulationExperimentPlatform
JIANG Weijie
(School of Information Engineering, Sunshine College, Fuzhou 350015, China)
A virtual simulation experiment platform architecture is designed. This architecture is based on the B/S structure, and it can centrally manage lab resources, and support flexible extension experiment project. Experimental operation can be carried out at the front end of the platform, by running after experimental logic on the server side, back to the front to show the experiment simulation process and the experimental phenomena, and it also supports recording and evaluation of experimental operations. Finally, the paper realizes the virtual experiment example of computer component principle model machine.
virtual simulation experiment; experiment platform; B/S structure; model machine
2017-09-22
福建省級(jí)實(shí)驗(yàn)教學(xué)示范中心項(xiàng)目“在線(xiàn)虛擬仿真實(shí)驗(yàn)平臺(tái)架構(gòu)設(shè)計(jì)”(2015SJSY02)
蔣偉杰(1981—),男,福建仙游人,碩士,講師,主要從事智能計(jì)算、仿生算法、計(jì)算機(jī)視覺(jué)及圖像處理等方面研究,E-mail:2464614552@qq.com。
蔣偉杰.在線(xiàn)虛擬仿真實(shí)驗(yàn)平臺(tái)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)),2017(12):156-159.
formatJIANG Weijie.Design and Implementation of a Online Virtual Simulation Experiment Platform[J].Journal of Chongqing University of Technology(Natural Science),2017(12):156-159.
10.3969/j.issn.1674-8425(z).2017.12.027
TP216
A
1674-8425(2017)12-0156-04
(責(zé)任編輯楊黎麗)
重慶理工大學(xué)學(xué)報(bào)(自然科學(xué))2017年12期