README
🚀 离散事件仿真模块:Text2Sim MCP 服务器组件
本模块为 Text2Sim MCP 服务器增添了离散事件仿真(DES)功能,借助 SimPy 构建而成,能有效助力服务器进行相关的仿真操作。
📦 安装指南
文档未提及安装步骤,暂无法提供。
✨ 主要特性
- 为 Text2Sim MCP 服务器添加离散事件仿真功能。
- 支持多种概率分布用于过程步骤处理时间的设定。
- 具备完善的指标收集和汇总功能,可清晰呈现仿真性能。
- 采用正则表达式解析配置,保障安全且避免任意代码执行。
📚 详细文档
🔍 结构
des_simulator.py:包含核心的 SimPy 基于仿真的模型、实体和指标收集代码。des_utils.py:用于分布解析、配置验证和仿真执行的实用函数。
🧩 模块组件
实体类
表示在仿真系统中流动的单位。实体可以具有自定义属性,并在整个过程中跟踪自身状态。
过程步骤类
封装单个过程步骤的逻辑。主要功能包括:
- 资源管理,带容量限制。
- 由概率分布决定的处理时间。
- 等待时间和吞吐量指标收集。
指标收集器
在仿真运行期间收集和汇总性能指标:
- 每个过程步骤的等待时间。
- 吞吐量计数。
- 平均值和计数的自动计算。
仿真模型
将所有组件整合到完整的离散事件仿真中:
- SimPy 环境配置。
- 具有可配置间隔到达时间的实体生成。
- 多个步骤的顺序处理。
- 指标收集和报告。
📊 支持的分布
在任何步骤的 distribution 字段中使用:
| 格式 | 描述 | 示例 |
|------|------|------|
| "uniform(min, max)" | 在 min 和 max 之间的均匀分布 | "uniform(1, 3)" |
| "normal(mean, std)" 或 "gaussian(mean, std)" | 均值为 mean,标准差为 std 的正态分布 | "normal(10, 2)" |
| "exponential(lambd)" | 波长为 lambd 的指数分布 | "exponential(0.5)" |
⚙️ 配置方案
仿真引擎通过正则表达式解析输入配置,执行 SimPy 基于仿真的运行,并返回性能指标供解释。
⚠️ 安全注意事项
- 无
eval()使用:基于正则表达式的解析防止了任意代码执行。 - 输入验证:在执行之前对分布类型和参数进行验证。
- 健壮的错误处理:干净地报告错误而不会泄露内部状态。
Scan to join WeChat group