java实现物理仿真平台介绍,基于JavaBeans的分布式仿真构架

软件技术与数据库系统仿真就是建立系统的模型,在模型上进行试验研究的过程,它的研究对象是具有独立行为的系统。根据系统状态与时间的关系来分,可以分为连续系统仿真和离散事件系统仿真。在连续系统仿真中,系统状态随时间连续的变化,比如导弹飞行的轨迹,流体的压力和流量等。而在离散事件仿真DES(DiscreteEventSimulation)中,将连续的时间离散化,只在离散的时间点上观察系统的行为,以在离散的时间点上发生的事件来描述系统的行为。离散事件系统仿真是当前在科技、经济、军事等领域广泛得到应用的方法之一。并行离散事件仿真PDES(Paralleldiscreteeventsimulation),一般也称为分布式仿真。PDES的应用有两个方面的原因,一是希望开发仿真系统的内在并行性,利用并行或分布系统的计算和资源优势,以求系统比原来的顺序(sequential)仿真得到更好的加速比(speedup)。另外一个原因是一些大型仿真系统由于空间分布的原因,必须分布构建和运行。长期以来PDES的基础研究在国内比较少。其中一个原因是,PDES的硬件平台是在并行机或高速网互联的工作站上,前一段时期国内有这类条件的并不多。另外,PDES算法是仿真界公认的难题,如果要获得比较好的运行效果,要在DES的基础上引入较多概念和算法。整个系统的运行机制比顺序仿真有很大的变化。1分布式仿真概念和架构1.1基本概念和算法PDES的基础是离散事件仿真。事件是引起系统状态发生改变的行为,它是在某一个时间点上的瞬间行为。离散事件系统可以看作是由事件驱动的。一个事件包括如下内容:事件类型:指明发生的事件类型。以排队系统为例,其主要事件可以包括顾客到达和顾客离开两种。时间戳(timestamp):事件发生的瞬间(仿真时间)。参数:事件的具体内容。整个系统有一个未来事件表FEL(FutureEventList),用于储存将要发生的事件。系统按事件的时间戳先后顺序依次取出事件执行,事件的执行将改变系统的一些状态,同时也可能引起新的未来事件,插入到事件表中。离散事件仿真的基本方法是按照实体工作流程,确定导致状态改变的事件,按事件发生时刻的先后进行排序,随着仿真时钟的推进,发展不同事件发生时的系统状态改变的逻辑关系,直至仿真结束。而在分布式仿真系统中,整个仿真系统由一组逻辑过程LP(LogicalProcess)组成。一个LP用于描述仿真系统中的一个或一些子系统,是一个准独立的运行系统。每个LP都有自己的局部仿真时间LVT(LocalVirtualTime)和自己的未来事件表。LP之间靠发送消息(Message)通信,这里的消息在内容上就是事件,当事件要发送给另外的LP时,它就变成了消息。每个LP都有输入通道和输出通道用于以FIFO(先进先出)次序缓存消息,见图1。图1LP的结构图因为各个LP的运行不是同步的,系统中并没有一个可以参照的全局时钟,所以LP之间的协调和同步机制非常重要。系统运行必须服从局部因果律(localcausalityconstraint),即每个LP都以非减时序处理事件,当一个LP收到一个时间戳小于LVT(发生在"过去")的消息,说明系统发生了错误。分布和并行仿真的同步算法有很多,但大体上可以分为两类,即保守法和乐观法。保守法基于严格的时间同步,只处理确切认为是安全的事件,任何时候都不会导致因果模型破坏。主要问题是可能由于若干个LP互相间等待消息,形成一个等待循环而导致系统死锁。一般的解决办法是LP之间发送空消息(Null-message),向相邻的LP说明自己的LVT和运行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值