SimEvents®可用于在Simulink或任何事件驱动过程中建模基于消息的通信,其离散事件模拟引擎和组件库用于分析事件驱动系统模型和优化性能特征,如延迟、吞吐量和包丢失。队列、服务器、交换机和其他预定义块使您能够为调度和通信建模路由、处理延迟和优先级。
通过SimEvents,您可以研究任务定时和资源使用对分布式控制系统、软件和硬件体系结构以及通信网络性能的影响。您还可以为与预测、产能规划和供应链管理相关的决策进行运筹学研究。
开始:
在这个集成建模和数据分析环境中,您可以:
- 为航空航天、汽车和电子应用设计分布式控制系统、硬件架构、传感器和通信网络
- 为流程建模,执行产能规划,优化制造和运营的供应链
- 分析和优化通信网络的端到端延迟、吞吐量、丢包和其他性能特征
- 自定义队列、路由算法、处理延迟和优先排序方案
- 模拟包含基于时间、基于事件和基于代理组件的混合系统
- 模拟事件驱动的过程,例如带有自主代理的任务计划或制造过程的各个阶段
实体和消息
使用SimEvents,您可以创建实体或消息来表示感兴趣的离散项,例如通信系统中的包或机场滑行道上的飞机。系统中消息或实体的生成、移动和处理会导致一些事件,例如包的到达或飞机的起飞。反过来,这些事件修改系统中的状态以影响系统行为。
属性和资源
您可以使用属性来描述实体,例如目标地址、处理时间或服务器延迟。实体还可以获取和释放资源,这些资源可以表示实体用来完成任务或事件的供应品、机器甚至人员。
您可以通过以下方式以编程方式控制事件操作和消息或实体:
- 为发生在不同块中的实体事件编写MATLAB代码,例如Generator、Queue和Server块。这些事件操作使您能够操作实体属性和优先级。
- 在事件操作中,调用可以修改实体并启动传统时间驱动执行的Simulink函数。
- 使用状态流离散事件图块定义自定义队列、路由实体和创建自定义实体操作算法。
- 使用MATLAB离散事件系统块,为您的离散事件模型编写新的离散事件组件和块。
SimEvents提供块,使您能够在系统中创建、处理、存储和移动消息或实体及其资源。
- 您可以对简单和复杂的队列和服务器网络建模。
- 通过连接门和开关块,可以建立实体响应事件的路径。这些路径可以包括延迟和选择性切换标准。
- SimEvents中的许多参数可以通过编程方式确定,以模拟系统中的概率变化。
- 您还可以使用状态流离散事件图或MATLAB离散事件系统块来构建您自己的特定于域的块。
- 此外,您可以使用Simulink功能,例如屏蔽子系统和创建库,将SimEvents子系统构建为可以被其他人共享和重用的组件块。
SimEvents设计模式库包含了用于通用设计模式的预定义块,比如在生成实体时戳时间戳,或者在Simulink中提取实体的属性作为信号。
动画
您可以通过内置的实体动画观察模型中的实体移动。您还可以通过为模型中的实体和事件创建的自定义观察器来构建自己的MATLAB动画。
统计和范围
大多数SimEvents块生成统计信息,使您能够监视聚合度量,例如平均服务时间、队列长度和服务器利用率。自定义作用域使您能够使用熟悉的阶梯和主干图可视化这些信号。
SimEvents调试器
SimEvents调试器是一个独立的工具,您可以通过在每一步暂停模拟或设置断点来查询模拟行为来调试模型。调试器还创建一个模拟日志,其中包含关于模拟中将要发生的事情或刚刚发生的事情的详细信息。通过检查此日志,您可以调试离散事件模拟和混合模拟。