王朝百科
分享
 
 
 

仿真语言

王朝百科·作者佚名  2010-01-04  
宽屏版  字体: |||超大  

仿真语言

simulation language

专门用于仿真研究的计算机高级语言,是一种面向问题的非顺序性的计算机语言。仿真语言是一类重要的仿真软件。在系统仿真时应用仿真语言,不要求用户深入掌握通用高级语言编程的细节和技巧,因此用户可用原来习惯的表达方式来描述仿真模型,而把主要精力集中在仿真研究上。

简史 仿真语言是随着数字计算机的发展而发展起来的。在连续系统仿真方面,1955年出现第一个框图式仿真语言,称为数字模拟仿真语言 DAS(英文 DigitalAnalog Simulator的缩写)。这种仿真软件配有一整套对应于模拟计算机中各种标准运算部件的程序模块,用这种仿真语言编写的源程序分为结构、参数和控制三部分,分别用来指定程序模块间的连接、模块的参数和模块的运行方式。用户书写源程序语句的顺序则是任意的。源程序经编译程序翻译成机器码,或经解释程序解释后执行。因为源程序的编制方法与模拟计算机的编排方式相类似,所以很受仿真界的欢迎,盛行于1955~1965年间。但模型的表达内容要受预先编制好的模块类型的限制。DAS语言吸取了早期许多仿真语言的特点,在仿真语言的发展中起过重要的作用。60年代初还在 DAS语言的基础上作了改进,出现改进型数字模拟仿真语言 MIDAS(英文 Modified Digital Analog Simulator的缩写)。1959年出现系统动力学建模语言DYNAMO(英文 DynamicModels的缩写)。1967年美国计算机仿真学会提出一种兼有框图表示功能的面向方程的仿真语言,称为连续系统仿真语言CSSL(英文Continuous System SimulationLanguage的缩写),成为连续系统仿真语言的规范。此后又出现了许多符合CSSL规范的仿真语言。其中应用较广的有连续系统建模语言CSMP(英文Continuous SystemModeling Program的缩写)和微分分析器置换语言 DARE(英文Differential Analyzer Replacen ent的缩写)。由于近代公式翻译语言 FORTRAN的编译程序对某些小型计算机也能产生高效率的目标代码,所以面向方程的仿真语言都是先翻译成FORTRAN语言,再通过编译程序生成目标代码。现在符合CSSL规范的仿真语言有许多版本。

在离散系统仿真方面,1959年出现第一个离散系统仿真程序包MONTECONE。1961年提出进程型仿真语言──通用系统仿真语言GPSS(英文General Purpose SystemsSimulator的缩写)。1963年出现事件型仿真语言 SIMS-CRIPT。1967年又提出另一种进程型仿真语言SIMULA67。后来又出现另一种事件型仿真语言:一般活动仿真语言GASP(英文General Activity Simulation Program的缩写)。70年代以后,仿真语言开始向多功能的方向发展。在离散系统仿真语言中引入连续系统仿真语言, 产生混合系统仿真语言。 其中应用最广的是GASP语言的两个新版本GASPⅣ和GASP-PL/1, 和交替建模仿真语言SLAM(英文Simulation Language for Alternative Modeling的缩写)。混合仿真语言 HL1(英文Hybrid Language 1的缩写)可用于设计并行计算模块的程序,适用于高速仿真和实时仿真。将仿真语言与控制系统计算机辅助设计软件包配合使用,使计算机仿真系统成为控制系统设计研究的有力工具。近年来出现的仿真软件系统和仿真专家系统进一步扩展了仿真语言的功能,成为仿真语言发展的新方向。

分类 仿真语言按被仿真系统的特点分为连续系统仿真语言、离散系统仿真语言和连续离散混合系统仿真语言。按数学模型的型式分为面向框图的仿真语言和面向方程的仿真语言。按运行方式分为交互式仿真语言和批处理式仿真语言。

组成 仿真语言是一类重要的仿真软件,市售商品均以文本和软磁盘的形式提供。它由以下四个部分组成:①模型定义语言:用以定义模型和仿真实验的语言。②翻译程序(用于连续系统仿真)或处理程序(用于离散系统仿真):翻译程序是将用模型定义语言书写的源程序翻译成宿主语言。处理程序是将源程序连接实用程序库和运行支持程序,形成机器码。③实用程序库:包括算法、专用函数、随机采样函数、各种框图和绘图程序。④运行控制程序:供用户以人机交互的方式控制仿真运行、改变参数、收集数据和显示数据的程序。

特点 仿真语言不同于一般通用的高级语言,具有以下几个特点:①仿真语言使用户可以采用习惯的表达方式来描述仿真模型。②仿真语言具有良好的并行性。在实际的连续系统中,过程都是并行发生的,而一般数字计算机都是串行计算的。因此,用仿真语言编写的源程序都有自动分选排序的功能,通过编译程序将源程序排列成正确的计算顺序,供计算机按顺序进行计算。③仿真语言与顺序性的通用编程语言(如 FORTRAN语言)有兼容性,以扩展仿真语言的功能。④仿真语言备有多种积分方法可供用户选用。⑤仿真语言配有常用输入和输出子程序。⑥用仿真语言编制的源程序,便于实现多次运行仿真的研究。⑦用仿真语言编制的源程序,在程序运行的不同阶段,可给出诊断程序错误的信息,帮助用户查找程序错误。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有