虚拟实验系统的分类研究


  [摘要]虚拟实验系统的分类是一项基础工作。近二十年来,众多的虚拟实验系统得到了广泛使用,但学术界尚未研究出一套有效的分类方法,影响了虚拟实验系统的研究。文章从虚拟实验的流程出发,给出了基于实验对象、实验设计和实验控制的三维的分类方法。
  [关键词]虚拟实验;分类;实验对象;实验设计;实验控制
  [中图分类号]G420
  [文献标识码]A
  [论文编号]1009-8097(2011)10-0117-04
  
  一 引言
  
  自从1989年Gentral Florida大学教育训练研究院建立了第一个虚拟系统实验室以来,国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特别是在一些著名的大学和重点实验室中,已经建好并投入使用的虚拟实验系统也不少,下面仅列出一些比较有代表性的虚拟实验系统。
  第一类,根据仪器设备的真实性来划分:基于软件模拟的虚拟实验系统,有单机版的,也有基于网络的虚拟实验系统。软件仿真虚拟实验通常由一组仿真引擎模块组成,通过对实验数据的建模和数学求解对实验过程、结果进行计算机仿真。基于虚拟仪器的虚拟实验系统,也称为远程控制实验,这类虚拟实验系统一般都是基于网络的。远程控制实验核心部件是可以接受数字控制的实验装置和同时连接实验装置和网络的控制器,用户通过网络访问控制器,调节实验装置的算法、参数等要素,通过数据反馈、视频直播等方式实时得到实验结果。
  第二类,根据虚拟实验系统的开发技术来划分:基于VRML-JAVA的网上协同虚拟实验系统、基于J2EE的网络虚拟实验室、基于NS2的虚拟实验系统、基于Flash的虚拟实验系统、基于MATLABWeb的虚拟实验系统,等等。
  第三类,根据学科门类划分:机械工程虚拟实验系统、机械制造虚拟实验系统、机械设计虚拟实验系统、电子电工虚拟实验系统、大学物理虚拟实验系统,等等。
  第四类,根据虚拟实验的类型来划分:演示型虚拟实验、验证型虚拟实验、测量型虚拟实验、设计型虚拟实验等。
  这些分类是一个好的开端,但却没有一个成熟的分类标准,因而不能回答虚拟实验系统开发与应用中出现的一些基本问题。从计算机科学角度来看,一类系统的分类一旦形成,就会促进该类系统的程序设计、应用开发、系统设计、系统优化。同时,好的分类也有利于知识的积累、传播和重用。我们的研究工作首先说明什么是虚拟实验系统,并分析其分类的需求和难点,进而提出一种有效的分类方法,直接为虚拟实验系统的开发与应用服务。
  
  二 虚拟实验系统及其分类问题
  
  分类首先需要界定分类的对象,即什么是虚拟实验系统。为了明确什么是虚拟实验系统,我们必须考察真实的实验教学系统,真实的教学实验系统有很多共同特征:首先,明确实验内容和实验目的;在实验过程中需要实验者按一定次序给予一定的操作;在实验过程中和实验结束时,实验者将得到一定的实验结果信息;实验过程中都有一定的物理实体:仪器仪表、元件、药品等。这些实体在虚拟实验系统中需要用各种技术手段来实现(称为虚拟实体对象或简称实验对象)。可见,一个虚拟实验系统应该有:实验对象、实验操作、实验过程、实验内容。
  ①“实验对象”:真实实验中的实验设备、实验物质和实验仪器等实体,在虚拟实验中都以实验对象的形式来建模。实验对象需要像现实的物理实体一样具有大小、颜色、质量、容量、管脚等各种属性,同时,实验对象还要能够感知环境和其它实体的作用,并对不同的要求作出不同的反应。即是说,实验对象即封装了实体的静态属性,也封装了实体的各种动态行为即方法,因而,实验对象是这样的一个二元组:(属性集,方法集)。
  ②“实验操作”:(实验对象,实验结果)。实验操作通过对实验对象的方法的适当调用来实现,实验操作还需要包含实验对象之间的关系。当一个实验操作被执行时,就意味着相应的实验对象能够接受用户的操作,或者完成某项动作。实验操作通常由用户通过实验引擎来启动,或者由实验操作的前置条件来启动,该实验操作的执行导致一定的实验结果,可以向实验者返回一定的数据或者状态等,也可以向下一个实验操作送入输入条件。
  ③“实验过程”:(实验操作,实验操作的顺序)。之所以要考虑实验操作的顺序,是因为对于同一个实验,不同的操作者可能采用不同的流程或顺序,也可能得到不同的结果。实验过程决定了虚拟实验过程执行时所经过的操作和它们的时序关系,各个实验操作通过实验过程关联起来。
  ④“实验内容”:每一个虚拟实验都有它特定的实验内容,实验内容用来描述虚拟实验所需要的实验对象、虚拟实验的实验操作和实验过程。
  研究领域确定后,下面的工作就是将其合理分类。分类可以借鉴的标准很多,但实际分类工作中发现现有的分类标准中没有一个可以直接照搬来用的,主要原因是虚拟实验是新的领域,而且近年来发展迅速。一般而言,分类越粗则概括性越高,分类越细则精确度越高,分类的最终结果总是在概括度和精确度这两个相互矛盾的指标中寻求平衡。一个好的分类应该有利于虚拟实验系统的建设和发展,为此,我们提出以下几个判别条件,它们也是虚拟实验系统分类工作的研究目标。
  条件1:划分。一个好的分类应是所有虚拟实验系统集合的一个划分(partition),即互不相交的子集,这些子集之并集就是虚拟实验系统的全集。条件1在自然科学领域分类工作中比较普遍。例如,“柳树”是一种植物,就不会是动物、微生物,也不存在40%植物60%动物的物种。但在虚拟实验系统领域,这样完美的划分有时难以达到。
  条件2:简单。分类应该足够简单。尽管划分性是一个理想的目标,不一定强求,但我们还是应该尽量使分类简单,比如尽量使子类互不相交,尽管我们不一定能排除实际系统是混合系统。另外,最初的几个大类应该严格控制它们的数量。
  条件3:编程。一个好的分类应该有利于虚拟实验系统的程序设计和开发使用。一个类别的虚拟实验系统,其应用软件和应用服务的开发应具有共同的特点,人们可以利用这些特点发展出一套编程模式,甚至使得开发出的软件与服务可以在本类别的任一系统上运行。
  条件4:优化。一个好的分类应该有利于虚拟实验系统本身的优化设计、实现与维护。同类系统有共同的难点,一个系统的成功经验、技术、体系结构与部件可以用于同类系统中。
  
  三 一种虚拟实验系统分类法
  
  对于虚拟实验系统可以一般性描述为:实验者为了完成某个实验内容,选择一定的实验操作对象,在实验过程中按一定次序给予一定的实验操作,实验对象将根据实验操作做出相应的反应,得到某种形式的实验结果。由于实验内容决定实验对象、实验活动(实验过程、实验操作),而实验活动又决定着实验结果,因此,为了从中抽取出关键特征来做为归类的特征值,我们观察几种典型实验的流程。
  (1)装配实验。装配是产品设计与开发过程中至关重