在线虚拟仿真实验平台架构设计与实现
2018-01-09蒋伟杰
蒋伟杰
(阳光学院 信息工程学院, 福州 350015)
在线虚拟仿真实验平台架构设计与实现
蒋伟杰
(阳光学院 信息工程学院, 福州 350015)
设计了一种虚拟仿真实验平台架构,该架构基于B/S结构,能够集中管理实验资源,支持灵活扩展实验项目。在平台前端能够进行实验操作,通过在服务器端运行实验逻辑后反馈回前端展示实验的仿真过程和实验现象,支持记录和评定实验操作,并实现了计算机组成原理模型机的虚拟实验实例。
虚拟仿真实验;实验平台;B/S结构;模型机
虚拟仿真实验是在计算机上利用虚拟现实、多媒体、人机交互等技术手段构建高度仿真的虚拟现实环境和实验对象,使用者可以在这个环境中模拟真实的环境并开展实验,完成各种实验项目。虚拟仿真实验可以呈现实验过程中的信息流动、甚至可以将不可见的微观结构以视觉方式展示,相较于传统实验,虚拟仿真实验不受时空限制,并且可以完成真实实验设备不具备或难以实现的教学内容[1]。虚拟仿真实验教学是教育信息化的重要组成部分,高校开展的虚拟仿真实验平台建设与真实实验教学互为补充,有利于提高高校实验教学信息化水平,提升学生参加实验的自主性,为学生开展探究性学习、自主实验和创新实践提供了先进手段、开放平台和优质资源[2]。近年来,教育部陆续建立了数百个国家级虚拟仿真实验教学中心,同时国内多家高校和企业也致力于虚拟实验教学的研究,形成了一系列虚拟实验教学系统和资源[3]。然而,现有的虚拟实验教学仅局限于较小的地域范围,其开放性和实用性都还不够,特别是难以适应当前大规模在线教育的环境和需求,暂无法形成良好的相互促进。针对以上不足,本文提出并实现了一种基于B/S结构的虚拟仿真实验平台,该平台具有良好的可扩展性、交互性以及虚拟实验教学管理功能。
1 虚拟仿真实验平台功能概述
实验平台的主要功能包括实验资源分配、学生完成实验、教师批改实验,可分为3种用户:管理员、教师和学生。管理员用户负责管理虚拟实验的项目,审核教师和学生用户,搭配好实验项目、教师、学生三者之间的对应关系等;教师用户能够在自己负责的实验项目范围内查看相应的学生实验记录,包括完成该实验项目的关键过程、时间,最后给出该学生在这个实验项目上的成绩评定;学生用户可以进入系统选择需要完成的实验项目,根据实验界面上的交互元素进行实验操作,观察实验现象,查看并记录实验数据,逐步完成实验项目,还可以查看以往的实验记录和实验成绩。
2 平台架构与模块实现
2.1 平台架构
本文所实现的网络虚拟实验平台架构如图1所示,由客户端模块、服务器端模块、通信模块及库模块等4部分构成。用户通过客户端即浏览器登录与服务器端进行交互,实现平台功能。
图1 虚拟实验平台架构
2.2 库模块
库模块包括实验界面库、实验运行逻辑库以及数据库,其中实验界面库、实验运行逻辑库使用面向对象的方式抽象了各实验项目中组件的静态属性、动态属性和对应实验过程中的操作,实验界面库由Javascript前端语言实现,服务对象为客户端程序。实验运行逻辑库由服务器端语言实现,采用Webservice方式接入为服务器端程序提供服务,从而灵活挂接不同的实验项目。数据库内主要有用户表、实验记录表、实验分配表等内容,分别存储对应用户类型和权限,学生完成的实验项目、完成时间、实验成绩、批阅教师,以及项目、教师、学生的对应关系。
2.3 客户端模块
客户端模块采用HTML5+Javascript来实现虚拟实验的运行逻辑和实验过程中的数据可视化,可分为数据呈现、过程展示及交互方式3类功能。数据呈现是指通过HTML5中的Canvas来绘制所调用的实验界面库中的对应实验项目组件和相关的数据;过程展示用来表现实验的动态过程,通过将当前实验状态和服务器回发的结果状态进行比较,检查数据产生变化的组件,调用实验界面库中相对应的动画效果,如数据流动、位置移动、颜色渐变等;交互方式提供了学生操作实验的方式,如按钮、拖拽、旋转、连接、文本输入等模拟推动实验进程的方式。
2.4 服务器端模块
服务器端模块由权限审核、项目选择、实验状态判定以及实验记录4个部分组成。权限审核针对用户,为不同类型的用户提供不同的界面和操作;项目选择针对学生用户,判断当前学生所进行的实验项目,选择挂接不同的实验运行逻辑库为其服务;实验状态判定判断学生是否进行了有效的实验操作,判断当前的实验进程;实验记录与数据库部分进行数据交互,存储或提取用户信息、实验状态等内容。
2.5 通信模块
通信模块包含通信协议、数据封装程序、数据解析程序3块内容。通信协议制定和实现了实验操作过程中客户端与服务器端的通信数据内容,规定通信的数据内容包含用户信息、实验项目信息、实验操作信息以及实验项目状态信息等内容;数据封装程序实现通信内容按照协议格式打包和发送;数据解析程序接受通信内容,按协议读取相应的信息和调用对应的程序模块。
3 虚拟实验实现实例
3.1 实验项目概述
以计算机组成原理课程的模型机实验为例。在该实验过程中学生只是按照实验步骤用导线将各单元信号连接起来,然后按要求拨动开关,观察各信号指示灯来完成实验,不能为学生提供计算机内部结构及工作过程的直接感受[4-7]。而在虚拟仿真实验中,学生在指令执行的过程中能够让系统根据要求动态显示指令执行时数据的变化和流动过程,可进一步加深对指令执行过程的理解[4],从而更容易达到实验的目的。本实验中的模型机以文献[8]所提供的模型机为原型,结构如图2所示。
该模型机中ALU为运算器,DR1和DR2为运算数据锁存器;A为累加器,CY是进位标志,ZD是零标志;Ri为寄存器组(共4个8位寄存器);PC为程序计数器,IR1、IR2为指令寄存器;M为内存;uPC、uIR、uM分别为微程序计数器、微指令寄存器及微内存;其他为这些部件的控制和时序信号。
图2 模型机结构
3.2 客户端界面实现
模型机实验要求学生能够根据模型机所提供的硬件逻辑自行设计其微指令、微程序以及指令,实验界面不仅要能显示模型机的部件、各个部件的数据及其控制信号,还需要支持学生自行编辑微指令和指令。因此,本文在实验界面库的模型机实验中提供了模型机各部件的绘制坐标、部件数据的显示位置,同时还支持上传自行编辑的指令和微指令二进制代码。在实验界面上还设置了指令执行的操作方式,具体实现界面如图3所示。
图3 模型机实验界面
3.3 实验运行逻辑
模型机的仿真实际上是硬件逻辑的仿真,是通过检测当前微指令中的微信号,根据微信号的值来控制数据在各个部件的寄存器中进行流动和变化,最终改变寄存器中的数据。若按照6个时序来进行仿真,则各个时序所对应的微操作如图4所示。
图4 各时序对应微操作
当命令中需要执行一条微指令时,硬件逻辑程序自动按照时序1至时序6的顺序检测微指令中对应的微信号并完成相应的微操作。
3.4 实验平台与客户端间的通信实现
本实验项目的通信内容包含3部分,分别是模型机的指令内容、客户端交互操作对应的命令类型和通信内容的结束符。其通信格式按照数据封装和解析模块所制定的格式,即将模型机寄存器和存储器内的数据用“,”号隔开;通信内容的最后部分是操作命令号,分别是0 表示单微操作,1表示指令执行,2表示连续执行。
4 结束语
虚拟仿真实验是现代教育信息化的重要内容,是实验教学改革的必然趋势。本文提出的实验平台架构具有灵活的扩展性、用户友好的交互性以及良好的开放性和实用性,有助于激发学生的学习兴趣,提升学生的学习自主性。同时,实验平台的维护成本低、利用率高,易于整合优质实验教学资源,高效管理实验教学资源,可实现校内外、本地区及更广范围内的实验教学资源共享,满足多地区、多学校和多学科专业的虚拟仿真实验教学的需求。本实验平台基于B/S架构,在实验过程中能够实现跟踪和反馈实验的操作过程,弥补在线教育课程在实践类型课程方面的不足和缺陷,对当今大规模在线教育的发展方面具有重要的意义。
[1] 李林,陈宇峰,李凤霞,等.虚拟实验在大学计算机课程教学改革中的研究[J].中国教育信息化,2017,(8):61-63.
[2] 王卫国,胡今鸿,刘宏.国外高校虚拟仿真实验教学现状与发展[J].实验室研究与探索,2015(5):214-219.
[3] 李林,陈宇峰,李凤霞.开放式虚拟实验教学平台研究与实践[J].中国教育技术装备,2017(10):33-34,39.
[4] 蒋伟杰.基于C/S结构的计算机组成原理模型机仿真系统[J].信息通信,2015(5):72-73.
[5] 马冲,赵勰,范赞.基于C/S架构的小型人力资源管理系统设计与实现[J].信息技术,2010(2):104-107.
[6] 胡怡之.基于C/S模式的工程信息管理系统的设计实现[J].铁道工程学报,2012,29(9):93-97.
[7] 贾珺.基于C/S结构的医院门诊管理信息系统设计与开发[J].计算机与现代化,2011(4):24-28.
[8] 白中英.计算机组成原理[M].4版.北京:科学出版社,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
福建省级实验教学示范中心项目“在线虚拟仿真实验平台架构设计”(2015SJSY02)
蒋伟杰(1981—),男,福建仙游人,硕士,讲师,主要从事智能计算、仿生算法、计算机视觉及图像处理等方面研究,E-mail:2464614552@qq.com。
蒋伟杰.在线虚拟仿真实验平台架构设计与实现[J].重庆理工大学学报(自然科学),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
(责任编辑杨黎丽)