概述
采用通用性的高级语言(如C,FORTRAN,PASCAL等)进行仿真程序设计一直是一些仿真工作者经常选择的方法,其主要好处在于通用性和灵活性,以及较快的运行速度(与专用的仿真语言相比),当仿真只是对某一个较大系统的某一部分进行处理时,这种方法可能会是最好的选择。其主要缺点是编程工作量大,仿真者需要成功地实现仿真中的各细节。
通用仿真语言可以用于通用的离散事件系统仿真,包括SIMAN,SIMSCRIPT,GPSS,COMNET,SimPack等。其主要优点为自动提供了大多数仿真模型所需要的功能,对仿真建摸提供了自然框架,使用方便,有足够的查错与诊断功能。
专用仿真语言是为了解决某一领域的仿真工作而设计的,有时又称为仿真器。如用于制造系统及物料处理系统的常用仿真语言有SimFactory,ProModel,AutoMod,Witness等,用于商业过程研究的仿真语言有BPSimulator,ProcessModel,SIMPROCESS等,以及用于通讯网络的仿真语言等。专用仿真语言通常只用于某一专一领域,通用性较差。1
发展仿真软件发展的早期,主要是开发和研制各类仿真程序包和仿真语言,仿真语言是一种面向问题的高级语言,通常由模型与实验描述语言、翻译程序、实用程序、算法库以及运行控制程序组成。仿真语言可以分为三类:
(1)连续系统仿真语言,如C、C++、Java等:
(2)离散事件仿真语言,如SIMULA、ECSL、GASP等;
(3)混合系统仿真语言,如SIMAN、SLAN、IHSL等。2
功能虽然这些语言在语法、使用范围、结构等各个方面不尽一致,但作为面向仿真的专用语言,一般都有以下适应仿真特点的功能:
(1)数据结构及内存的管理,能提供一定的数据结构和子程序来描述仿真模型的静态与动态结构。
(2)仿真时间管理,能存储仿真事件和按时间顺序选取仿真事件,从而向前推进仿真时间。
(3)随机数与随机变量产生。
(4)数据收集、分析和显示。
(5)仿真运行监控。3