仿真4. 仿真平台架构设计

背景:

1. 业务背景:我司对仿真系统的需求日渐增加,比如道路交通的仿真、船舶港口仿真、车联网(ad hoc)仿真、以及运营商承载网的仿真等;

2. 回顾“什么是仿真时钟”:用于描述仿真时间的变化。在连续系统中,仿真时间的变化基于仿真时钟步长的确定,比如CPU按固定的步长持续推进时间。在离散事件系统中,引起系统状态变化的事件是随机发生的,因而仿真时钟的步长也是随机的,从一个事件发生时刻推进到另一个事件发生时刻具有跳跃性和随机性(比如短信协议的解析,不同的网络环境、不同运营商、不同的设备解析同一条短信息的耗时是不同的,且具有随机性);

目的:

基于事件调度法,设计一个仿真事件(仿真任务的基本模型单元)的调度和运行平台(简称“平台”),以支撑上层仿真任务的开发。

目标用户:

基于该“平台”,开发仿真任务的开发者。

“平台”需要具备的能力:

1. 提供仿真内核的基本能力:仿真事件的调度和执行能力、仿真时钟(区别于CPU时钟和实际时间)、仿真时钟的推进能力(每次仿真事件的执行消耗一定长的仿真时间);

2. 支持目标用户使用原生java语言编码,不改变用户编程习惯(面向对象),对用户编程基本无约束,运行于标准JVM上;

3. 客户程序中,用户设计的java对象(代表了真实世界中的某个待仿真的实际存在)即为仿真实体。仿真实体间的每一次方法调用对应着“平台”内一个待处理的仿真事件。“平台”需要具备将“客户程序的方法调用”转换为平台内“仿真事件”的能力,且用户程序可以设置该方法调用(事件执行)需要消耗的时间(这里的时间是仿真时间,不是实际时间);

4. 16U32G配置下,支持百万节点仿真,百万节点单个步长推进(即百万个事件处理)耗时不超过1s;

5. 当前版本不支持单个仿真任务拆分执行,后续考虑单个仿真任务分布式在多个仿真平台上拆分执行,提高执行效率;

6. 后续版本待完善:随机事件发生器,用于模拟真实世界的随机事件(比如网络仿真中的丢包事件、道路交通仿真中的随机车祸事件等);

约束:

1. 对于客户程序的约束:基于仿真平台开发仿真任务,需要区分普通的java类和作为仿真实体的java类,属于仿真实体的java类均需要实现“平台”提供的接口(“平台”会据此识别是否需要将方法调用转化为仿真事件);

2. 当前版本客户程序和仿真平台的代码需要在同一服务内编译运行,后续版本考虑分开;

上下文:

仿真平台是仿真任务的执行底座,其关系可以类比于“操作系统”和“系统应用”。

仿真平台只与仿真任务存在相互调用关系,如下图。

关键用例:

1. 仿真平台对外暴露“启动仿真”接口,即仿真任务的运行入口。启动仿真后,调用方同步等待仿真执行的返回结果(后续版本可以增加异步执行能力),并进行后续处理;仿真任务启动后,在平台内部,先将仿真任务内部实体间的方法调用转换成仿真事件,再调度&执行转换而来的仿真事件;

2. 仿真平台对外暴露“终止仿真”接口,可以终止正在进行的仿真任务;

3. 仿真平台提供对仿真时钟进行操作的接口,客户程序可以通过调用该接口推进仿真时钟(模拟执行某方法消耗了X秒时间);

4. 产生随机事件(后续版本完成),随机增加或删除仿真事件,模拟现实中随机发生的事件;

领域建模:

如下图,根据“事件风暴法”,罗列出仿真平台相关事件,并根据事件间的相关性做聚合,抽象出仿真平台应包含的子领域。

由于整个仿真平台是一个服务,故下图中的每个子领域的存在形式是“包”或者“模块”。

逻辑视图: 

根据以上子领域的划分,可以初步确定仿真平台的逻辑视图,如下:

至此,仿真平台的逻辑架构已经基本清晰,每个模块内部的细粒度设计&开发运行部署等视图待后续更新。

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
HLA RTI仿真平台是基于联邦体系仿真平台,其中HLA代表高级联合体架构(High Level Architecture),RTI代表运行时基础设施(Run-Time Infrastructure)。 HLA RTI仿真平台的基本原则是实现不同仿真系统之间的互操作性和互通性。它提供了一种标准化的框架,使得不同厂商开发的仿真系统能够在同一个平台上进行协同工作。这意味着不同的仿真系统可以共享数据、交换消息、协同执行任务,以实现更复杂的仿真场景。 HLA RTI仿真平台的实现需要使用HLA软件框架以及RTI运行时基础设施。HLA软件框架定义了一些标准化的接口和协议,用于描述仿真系统之间的交互方式。RTI运行时基础设施提供了具体的支持代码和工具,用于实际部署和运行仿真系统。 使用HLA RTI仿真平台可以带来一些重要的好处。首先,它可以降低各个仿真系统之间的集成难度,减少了在不同系统之间进行数据转换和接口开发的工作量。其次,它提供了一种分布式的仿真环境,使得不同的系统可以在不同的计算机上进行运行,提高了仿真的效率和性能。此外,HLA RTI仿真平台还支持多平台、多模型和多尺度的仿真,可以应对复杂多样的仿真需求。 总之,通过使用HLA RTI仿真平台,可以实现不同仿真系统之间的互操作性和协同工作,提高仿真的效率和性能,满足复杂场景下的仿真需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

liuqiker

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

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

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

打赏作者

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

抵扣说明:

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

余额充值