刘晓东
[摘要]随着社会的发展和技术的更新速度加快,为了达到较好的教学目标,需要对所学理论进行及时的实验教学。应用计算机虚拟实验系统,实验室无需购买昂贵的实验设备,可以再有限经费投入的条件下,实现大规模学生实验的要求。基于此,本文对虚拟实验模拟训练系统进行相关研究。
[关键词]虚拟实验;计算机;创新教育
[中图分类号]F224-39[文献标识码]A [文章编号]1672-5158(2013)06-0071-01
一、技术应用
系统为CS客户端-服务器结构。该结构通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。核心代码均使用C#语言编写。系统的开发环境为Visual Studio2005集成开发环境,用户可以在该环境中使用C++、.NET、VB、C#等编程语言进行算法和系统的实现。系统的后台数据库采用的是SQL2005,它为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应。
二、虚拟实验平台的实现
所有的虚拟设备和虚拟实验项目都建立在一个统一的平台之上。该平台式必须是一个虚拟实验的集成环境,通过该平台,用户可以对多种操作进行结合,完成各种复杂的工作任务。
最上边的是菜单栏,通过菜单栏,用户可以选择文件操作,编辑方式,上传下载等功能;菜单栏主要用来对平台进行管理,方便用户的个性化使用。左边的是虚拟设备栏。该栏目根据虚拟设备的不同,将设备分放在不同的设备类别中,当用户选择某个类别时,可以展开所有的虚拟设备,通过鼠标操作可以方便的选择和拖动虚拟设备。中间的核心区域是编辑区域,所有的虚拟实验的操作都在该区域中实现,包括设备的拖动、连接和电路联通等。右边的栏目是辅助菜单栏。通过它,用户可以了解自己的操作流程历史记录,通过点击可以返回到记录中的任何步骤。用户还可以从该栏目中找到联机帮助,通过帮助,学生可以解决系统中已经记录的相关问题。最下面的栏目是状态信息栏,它主要提供一些额外辅助信息,如登录时间,当前的系统版本号,显示方式,登录方式等。
三、虚拟实验的虚拟设备实现
虚拟设备是计算机虚拟实验系统中的最基本元素,通过对它们的操作可以完成复杂的虚拟计算机实验项目。虚拟实验系统中的虚拟设备,每个设备都具有众多的属性,这些属性对虚拟设备的基本型号以及可执行的操作给出了详细的说明,有重要意义,需要对它们统一管理。采用面向对象的基本思想,本虚拟实验系统统采用JavaBean组件技术开发虚拟设备,从而增加虚拟设别模型的可重用性。
在系统中,所有虚拟设备的公共属性都定义在父类Component中。当构建一个新的元件时,需要从父类Component中继承。因此,当开发或者设计具体设备时,只需要关注组件的特有属性和功能方法,大大提高了组件的开发效率。当需要设定一个新的设备时,需要对该设备的各种属性进行描述。为了方便表达和管理,对于每一个设备,使用XML文档对其相应属性进行存储。XML是一种标记语言,具有可扩展性、结构化的特点。以CPU为例,为其建立的虚拟设备的XML属性描述文件。描述了系统中的某CPU虚拟设备。
四、虚拟实验的设备的多线程运行实现
在一个规模较大的虚拟实验系统中,用户需要使用多个虚拟元件才能完成一个实验项目。这些虚拟元件有各自的独立性又保持着相互联系。在一个完整的实验项目中,为了不影响各元件的独立运行,需要对每个元件分配独立的线程。线程的建立可以通过Java中的Thread类进行实现。
如果该设备需要和其他设备进行通信,则需要为该设备设置监听端口。当学生将所有设备连接到一起时,可以开启实验,这时,各个线程将逐一启动。num为系统中需要启动的所有线程的数量的和,通过代码的循环结构,使得每一个线程都被初始化,这里的线程对象VThread继承了Thread线程类,当线程初始化结束后,可以通过run()方法来对某个线程所要执行的功能进行调用。以时钟信号发生器为例,它是一个特定的虚拟设备元件,它继承自Component父类,和线程父类。当一个类继承了Thread类后,可以在线程中添加特定的执行代码。
五、虚拟实验交互功能实现
在本虚拟实验系统中,交互功能分为两个方面,一是用户和虚拟设备之间的交互。二是虚拟设备之间的交互。这两方面从不同的角度实现了系统的可操作性。
首先是用户和虚拟设备之间的交互。这样的交互过程是用户和计算机软件进行沟通的过程,通过鼠标动作,虚拟实验系统能够识别用户的操作意图,并且根据用户的具体操作,对给定命令做出反应。用户定义的操作有鼠标左键点击、拖拽、鼠标右键点击、鼠标双击等。这几种鼠标操作可以实现全部的对可视化界面中的虚拟设备的管理。为了实现这一个过程,可以设置监听器,对鼠标动作进行监听,当监听器注意到新的鼠标动作时,则通知系统做出合理的反应。对于鼠标时间,首先启动一个监听线程,该线程负责监听鼠标在什么时间发生了什么样的状态改变。当状态改变时,系统会逐一对可能的状态进行判断,当状态为左键单击时,启动选择虚拟设备函数;当状态为右键单击时,启动显示设备信息函数;当状态为鼠标拖拽时,启动移动虚拟设备函数;当状态为鼠标双击时,启动打开虚拟设备属性面板函数。另一种重要的交互式虚拟设备之间的交互,即一个虚拟设备发生改变时,其他的虚拟设备也要发生相应的变化。这种虚拟设备间的触发机制可以被理解为设备之间的交互。
在系统使用中,定义了三类角色,学生用户、教师用户和管理员用户。每类用户均实现了自己的功能。对于学生用户,他们可以完成实验选择、实验操作、实验结果上传和疑难问题提问等功能;对于教师用户,他们可以完成问题解答、班级管理和实验结果评阅等功能;管理员是系统的最高权限拥有者,他们可以对系统的整个运行进行管理,包括学生管理、教师管理和实验模型管理。
六、结论及展望
由于计算机实验设备昂贵、占地较大等因素,相对于传统的实验模式而言,虚拟实验方式有其独特的优势,这些优势包括:虚拟实验只需要创建在普通微机上即可,缩小的占地面积,即使是极其复杂的、需要大量实验设备的实验也可以再微机上通过虚拟系统完成;由于虚拟系统采用了虚拟的方式,不用担心硬件因为误操作而引起的损坏问题,同时这种自由的操作方式大大地提高的学生学习热情和创新能力,更加利于教学活动的开展。今后还需要在以下方面做出努力,以提高系统的性能和发展空间:
(1)系统对3D模型的应用较少,为了达到更好的教学效果和操作便捷性,将考虑使用3D模型对系统的虚拟设备进行构建。
(2)进一步加强系统的可视化操作能力。
参考文献
[1]J.de LaP&,M,Alfonseca,Visual Interactive Simulation for DistanceEducation,SIMULATION,2003,79(1),19-34
[2]刘井利,基于WWW模式的虚拟实验室系统,广东职业技术师范学院学报,2000(4)
[3]易小琳,王鑫,网上计算机系统虚拟实验室的研究,计算机工程,2002,28(11),243-244