关键词 离散事件系统规范;虚拟实验系统;虚拟实体;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用于产生输出
,其它非内部状态转移时不产生输出。
表示在没有外部事件输入时系统状态保持为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可用如下格式描述:
,S在仿真时钟的推进下,接收信号,响应事件,完成仿真运算,产生仿真输出,控制系统状态的变化;Y为信号输出集,
;P为物理模型(Physical Model),定义虚拟器件的物理化学特性,是建立抽象仿真器的基础;O为交互模型(Operational Model),定义虚拟器件与外界交互的规则和方式,产生交互事件,实现人机交互;
为内部反馈信号,在内部状态转移时产生,其反馈模式由物理模型描述;G为三维图像模型(Graphical Model),采用三维图像仿真虚拟器件的外观特性及其变化规则,产生交互效应,其变化域由输出接口控制;输入接口负责完成外界输入信号(X)、交互事件(O)和内部状态反馈信号
的预处理,包括事件响应和信号变换;输出接口接收S的运算结果,产生
、Y和图像模型变化的控制信号。交互模型与图像模型之间通过输入输出接口实现虚通信。集合X和集合Y可用如下格式描述:
虚拟场景(VS)是对特定实验平台的仿真,其主要功能有:为实验提供可操作的三维虚拟环境图像模型和交互模型,描述实验原理(Principle)及数据 分析 方法(Analysis),建立实验操作步骤(Step)和决策控制(Decision),确定各虚拟器件间的关联规则(Relation),进而建立虚拟场景的抽象仿真器以提供对整个实验系统的控制。虚拟场景的DEVS结构模型与虚拟器件相同,其形式化描述为:





