摘 要 提出并讨论了一种基于DEVS形式理论的虚拟实验系统模型。该模型较好地克服了传统虚拟实验系统中因实体缺乏统一的形式化规范而导致的可重用性差,互操作性差,难以适应跨平台和分布式应用需求的困难。
关键词 离散事件系统规范;虚拟实验系统;虚拟实体;Java3D;
0 引言
虚拟实验系统实体模型的构建是实现虚拟实验的关键。多年来,国内外一些研究机构提出多种很好的实体模型[1-2],成功地建立自己的虚拟实验系统,如芝加哥伊利诺伊大学的虚拟有机化学实验室,新墨西哥州大学自动控制工程中心的V-Lab系统,中国科技大学的大学物理仿真实验系统等。但这些系统都是针对特定的应用领域,采用不同的技术实现,难以适应跨平台和分布式应用的需求,其虚拟实验平台和虚拟实验设备也缺乏统一的形式化描述,虚拟设备间的可重用性和互操作性差,难以构建开放的虚拟实验平台。
解决上述问题方法目前主要有两种:一种是利用人工智能的理论和方法构建结构化、智能化的实体模型,如基于Agent的实体模型[3,4];另一种是研究和建立虚拟实验的通用标准[5]。但目前面向Agent的软件工程(Agent-Oriented Software Engineering,AOSE)方法还不完善,缺乏成熟稳定的Agent系统开发平台[6],因而软件开发难度大,Agent系统的稳定性也有待商榷,而对虚拟实验标准化的研究目前也处于探索阶段,标准的完善和广泛认同还需要很长时间,为此,本文提出了一种基于DEVS(Discrete EVent System Specifications,DEVS)的虚拟实验系统模型,从而较好地解决了上述问题。
1 DEVS形式理论
DEVS是美国学者Bernard P. Zeigler提出的一种离散事件系统形式化描述模型[7]。它将每个子系统都看作是一个具有独立内部结构和I/O接口的基本功能模块,负责描述离散事件系统的自治行为,包括系统状态转换、外部输入事件响应和系统输出等,称为DEVS原子模型(atomic DEVS)。
DEVS原子模型通常可用一个七元组描述[8]:
其中,X是输入集;Y是输出集;S是系统的有序状态集;ta为时间推进函数, 表示在没有外部事件输入时系统状态保持为s的时间, 表示静止状态,ta(s)=0为瞬时态,表示不消耗时间的即时运算,该状态的运行中不推进仿真时钟; 是atomicDEVS的全状态集,其中e表示系统在状态s停留的时间; 为内部状态转移函数,若无外部事件输入,系统经ta(s)时间后自动将状态转移到 ,同时将e置0; 为外部状态转移函数,若有外部事件 输入,系统立即转到状态 ,并将e置0; 为输出函数,输出在系统内部状态转移时产生,状态转移前的状态s用于产生输出 ,其它非内部状态转移时不产生输出。
DEVS耦合模型(coupled DEVS)由多个DEVS原子模型通过一定的连接规则构成,它可以作为更大的子系统的原子模型使用,从而形成对整个系统模型的层次模块化描述。DEVS耦合模型的结构描述如下:
其中,M是耦合模型的成员集,每个M都是原子DEVS;EIC为外部输入耦合关系,从耦合模型的输入端连接到内部成员的输入端;EOC为外部输出耦合关系,从内部成员的输出端连接到耦合模型的输出端;IC为内部耦合关系,从内部成员的输出端连接到其它成员的输入端;SELECT为选择函数,当耦合模型中的多个成员同时发生状态转移时,选择优先级最高的成员的状态转移作为耦合模型的状态转移。
在DEVS中,模型的功能执行通过抽象仿真器实现,抽象仿真器是一种算法描述,用以说明如何将指令隐含地传给模型以产生模型的行为,负责收发消息,调用模型的转移函数,修改本地的仿真时钟。抽象仿真器与模型之间是一一对应关系。
2 虚拟实验系统的DEVS形式化模型
2.1 虚拟实验系统中实体的DEVS模型
虚拟实验系统(Virtual Experiment System, VES)中的实体可分为虚拟器件(Virtual Instrument, VI)和虚拟场景(Virtual Scenes, VS)两类[12]:
虚拟器件(VE)是虚拟实验中所用的仪器设备,具有独立的信号输入、输出接口和信号处理功能,有独立的三维图像属性、物理化学特性和操作规则,能及时响应外部事件,接收外部信息,在仿真时钟的推进下独立工作。不失一般性,基于DEVS形式理论,给出图1所示的虚拟器件的DEVS结构模型,其形式化描述如下:
图1 虚拟器件的DEVS结构模型
其中,X为信号输入集;t为仿真时钟;S为抽象仿真器,是虚拟器件的核心,由物理模型抽象而成的一种算法描述, ,S在仿真时钟的推进下,接收信号,响应事件,完成仿真运算,产生仿真输出,控制系统状态的变化;Y为信号输出集, ;P为物理模型(Physical Model),定义虚拟器件的物理化学特性,是建立抽象仿真器的基础;O为交互模型(Operational Model),定义虚拟器件与外界交互的规则和方式,产生交互事件,实现人机交互; 为内部反馈信号,在内部状态转移时产生,其反馈模式由物理模型描述;G为三维图像模型(Graphical Model),采用三维图像仿真虚拟器件的外观特性及其变化规则,产生交互效应,其变化域由输出接口控制;输入接口负责完成外界输入信号(X)、交互事件(O)和内部状态反馈信号 的预处理,包括事件响应和信号变换;输出接口接收S的运算结果,产生 、Y和图像模型变化的控制信号。交互模型与图像模型之间通过输入输出接口实现虚通信。集合X和集合Y可用如下格式描述:
虚拟场景(VS)是对特定实验平台的仿真,其主要功能有:为实验提供可操作的三维虚拟环境图像模型和交互模型,描述实验原理(Principle)及数据分析方法(Analysis),建立实验操作步骤(Step)和决策控制(Decision),确定各虚拟器件间的关联规则(Relation),进而建立虚拟场景的抽象仿真器以提供对整个实验系统的控制。虚拟场景的DEVS结构模型与虚拟器件相同,其形式化描述为:
2.2 虚拟实验系统的DEVS结构化模型
基于上述分析,我们建立了图2所示的虚拟实验系统的DEVS结构化模型。整个系统可以看作由多个DEVS原子模型构成的DEVS复合模型。虚拟场景通过输入输出接口与虚拟器件交换信息,控制虚拟器件的运行,虚拟器件之间也通过输入输出接口建立关联。抽象仿真器是真实实验原理和操作规则的算法描述,通过输入接口感知交互事件,接收与之关联的虚拟器件和虚拟场景的信息输入,仿真真实实验中的信息变换,控制图像模型的变化以产生实验现象和实验数据。在实验过程中,用户通过图形用户界面(Graphical User Interfaces,GUI)与系统交互,交互信息由交互模型接收处理,产生交互事件。虚拟场景和虚拟器件都拥有独立的仿真时钟,整个系统的同步通过输入输出接口之间的信息交换实现,不必设置全局同步时钟,这有利于分布式模式的实现。
2.3 虚拟实验系统的协调机制
作为一个完整的虚拟实验系统,其图像模型、物理模型、交互模型、抽象仿真器和接口之间是紧密结合,协调工作的。当交互模型接受用户操作后,交互事件一方面直接传给图像模型以控制其手动部件模拟相应的交互操作,另一方面由输入接口传给抽象仿真器,抽象仿真器依据所给定的操作参数和物理模型的约束条件进行仿真运算并将结果传给输出接口,信号经输出接口后分为三路:一路直接传给本模块的图像模型的自动部件产生实验现象;一路按特定的反馈模式反馈回输入接口;一路传给与之逻辑连接的其它虚拟器件的抽象仿真器进行处理,进而实现整个实验的虚拟仿真。其工作流程如图3。
3 系统实现
面向对象技术是目前开发复杂系统最可靠而有效的解决方法,对象是现实环境中实体的模型,它集数据抽象、类继承、消息传递、事件触发为一体,有良好的可重用性、扩展性和交互能力。一个虚拟实验系统由一个虚拟场景和多个虚拟器件组成,虚拟场景和虚拟器件是一个个独立的实体,因此,虚拟演示实验系统非常适合采用面向对象技术实现。
利用面向对象方法对虚拟场景和虚拟器件实现模块化,用数值模型建立实验原理、实验规范、实验操作及虚拟器件的物理模型、接口模型及交互模型等功能实体的数学关系,用VRML实现虚拟场景和虚拟器件的三维实体仿真,用JAVA3D编程实现其操作及实验现象的仿真,通过事件驱动实现与用户实时交互。图4展示了用VRML和JAVA3D实现的太阳系仿真模型。
图4 VRML和JAVA3D实现的太阳系仿真模型
4 结束语
本文提出了一种基于DEVS形式理论和面向对象方法学的虚拟实验系统的形式化模型,讨论了该模型的Java3D的建模实现方案及系统实现方法。该模型具有层次化、结构化的特点,较好地解决了传统虚拟实验中虚拟设备可重用性差,难以构建开放的虚拟实验平台的缺点。但就模型及其系统实现而言,虚拟实验中实体的通信、同步和可靠性问题、环境变化的自适应问题、意外故障处理等还需要做进一步的深入研究。
参考文献
1 Aly I. El-Osery, John Burge, Antony Saba. V-Lab-A Virtual Laboratory for Autonomous Agents - SLA Based Controllers[J]. IEEE Transactions on Systems, Man and Cybernetics, 2002,32(6)
2 Huo J Q,Wang X P. the computer simulation experiments system and its practice in college physics educatoin[C].Proceedings of International Conference on New technology in Physics Education,1998,10:19-23
3 Michael Duarte,Brian P.Butz.The virtual laboratory for the disabled[J].International Conference on Engineering Education,August 6-10,2001,Oslo,Norway
4 Ruimin Shen, Liping Shen, Dazheng Wang. An Agent-based model of Virtual Experiment[J]. Proceedings of the International Conference on Computers in Education, ICCE, 2002
5 范新伟,申瑞民,申丽萍.虚拟实验标准化的研究和解决方案[J].计算机仿真,2005,22(1)
6 毛新军,常志明 等.面向Agent的软件工程:现状与挑战[J].计算机研究与发展,2006,43(10):1782-1789
7 Bernard P. Zeigler. Object-Oriented sumulation with Hierachucal, Modular models[J].Orlando,FL:Acadeimc Press,1990
8 Bernard P. Zeigler. DEVS Theory of Quantized Systems[EB/OL].