仿真1. 什么是仿真系统

背景:2019年,在我司某部门某承载网相关项目任开发SE。有兄弟项目组,专做通信网络仿真,每年投资数亿美元,虽然产品性能极差(只能仿真6000节点),且消耗资源甚巨(多台32U128G物理机部署),却自以为是,目中无人。遂决心,自己搞一套仿真平台和相关应用出来,一则丰富学识,一则羞辱众人。

  仿真指的是利用模型模仿实际行为进行实验研究。而仿真软件,就是用代码对现实世界中的事物进行建模,并模仿其行为的软件系统。

  仿真软件的应用范围广泛,小到对银行排队叫号的模拟,大到对城市交通、城市通信网络的研究,甚至在军事、航空航天等科技领域也都有仿真软件的身影。

  一个仿真系统,通常由“实体(Entity)”、“事件(Event)”、“活动(Activity)”、“进程(Process)”、“仿真时钟(Simulation Clock)”、“统计计数器(Statistic Counter)”组成,这也叫做仿真系统的基本要素。

  “实体(Entity)”一般包含“临时实体”和“永久实体”。“临时实体”只存在一段时间,由系统外部到达和进入系统。而“永久实体”则是永久驻留在系统内的实体。仿真系统的状态变化就是由实体的状态变化引起的。

  比如在一个通信基站的仿真中,手机等移动终端就是“临时实体”,它们只在基站信号覆盖范围内短暂的停留,而通信基站则是“永久实体”,它不可移动,永久存在于系统中的固定位置。还比如道路交通仿真,车辆和行人是“临时实体”,道路和红绿灯是“永久实体”,等等。

  “事件(Event)”指的是引起系统状态变化的行为。“手机进入基站覆盖范围事件”会引起系统状态的变化:基站由“空闲”,变成了“使用”;“红灯变成绿灯事件”也会引起系统状态变化:车辆由“停止”,变成了“前进”,等等。

  一个系统中往往有许多种事件,事件的发生与某一实体相联系,并可能引起其他事件的发生。仿真模型中必须建立事件表,记录已经发生或者将要发生的事件的类型、时间、关联的实体等属性。

  事件又常分为“离散事件”和“连续事件”,对于二者的区别我们将在下一篇文章详述。

  “活动(Activity)”通常用于表示两个可以区分的事件之间的过程,是实体在两个事件之间保持某一状态的持续过程,它标志着系统状态之间的转移。一般两个相邻且有先后顺序和逻辑关系的事件可以看做一个活动。

  大部分系统靠事件即可驱动,但有时还是需要明确活动,活动并不是必须的。

  比如“红灯变成绿灯事件”和“绿灯变成红灯事件”可以组合成“红绿灯的变化活动”。

  “进程(Process)”由若干个事件和活动组成,它描述了事件和活动之间的逻辑和时序关系。进程是对事件和活动的更高层次抽象,通常代表更粗粒度的现实行为。

  比如“车辆通过红绿灯进程”可以看成是车辆和红绿灯的事件和活动的组合。

  “仿真时钟(Simulation Clock)”用于描述仿真时间的变化。在连续系统中,仿真时间的变化基于仿真时钟步长的确定,比如CPU按固定的步长持续推进时间。在离散事件系统中,引起系统状态变化的事件是随机发生的,因而仿真时钟的步长也是随机的,从一个事件发生时刻推进到另一个事件发生时刻具有跳跃性和随机性。

  “统计计数器(Statistic Counter)”用来记录实体的每一次事件或活动,并对所有的记录进行分析,使得所有的仿真具有相关的统计意义,进而指导现实决策。

  通过以上了解,我们熟悉了仿真的概念和意义,以及仿真系统的基本要素。在我们日后仿真系统的开发设计过程中,将作为重要的参考。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bestaier

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值