《事件调度法及仿真示例.ppt》由会员分享,可在线阅读,更多相关《事件调度法及仿真示例.ppt(17页珍藏版)》请在金锄头文库上搜索。
1、Chapter4事件调度法及仿真示例 IE 2 主要内容 事件调度法剧院系统逻辑流程图剧院系统仿真程序设计 IE 3 1 1事件调度法 事件调度法最早出现在1963年兰德公司的Markowtz等人推出的SIMSCRIPT语言的早期版本中 它的基本思想是 将事件例程作为仿真模型的基本模型单元 按照事件发生的先后顺序不断执行相应的事件例程 每一事先可预知其发生时间的确定事件都带有一个事件例程 用以处理事件发生后对实体状态所产生的影响 并安排后续事件 条件事件不具有事件例程 对它的处理隐含在某一确定事件的例程中 因此 事件调度法中听说的事件是指确定事件 对实体流程法建立的概念模型 一般可采用事件调度
2、法建立其仿真模型 IE 4 1 2事件调度法的仿真策略 IE 5 1 3事件调度法仿真模型设计 层次1一总控程序 层次2一基本模型单元的处理程序层次3一公共子程序 仿真模型的最高层是它的总控程序 或执行机制 仿真模型的总控程序负责安排下一事件的发生时间 并确保在下一事件发生的时候完成正确的操作 即第一层对第2层实施控制 对于专用的仿真软件 总控程序已经隐含在程序的执行机制当中 而使用C Fortran等通用语言 就要自己编写一段仿真模型的总控程序 仿真模型的第2层是基本模型单元 描述事件与实体状态之间的影响关系及实体间的相互作用关系 是建模者所关心的主要内容 采用不同的仿真策略时 仿真模型的第
3、2层具有不同的构造 也就是说组成仿真模型的基本单元各不相同 在事件调度法中 仿真模型的基本模型单元是事件例程 因此其第2层由一系列事件例程组成 仿真模型的第3层是一组供第2层使用的公共子程序 用于生成随机变量 产生仿真结果报告 收集统计数据等用途 IE 6 1 4面向事件的仿真模型 其总控程序完成如下工作 1 时间扫描 确定下 事件发生时间并将仿真时钟推进到该时刻 2 事件辨识 正确地辨识当前要发生的事件 3 事件执行 正确地执行当前发生的事件 面向事件仿真模型的主控程序使用事件表 EventList 来完成上述任务 事件表可以想象为记录将来事件的 笔记 在仿真运行中 事件的记录不断被列入或移
4、出事件表 例如 在单服务台排队服务系统中 顾客的到达可能会导致一个服务完毕事件的记录被列人事件表 每一事件记录至少应由两部分组成 事件的发生时间 事件的标识 有时 事件记录中还会有参与事件的实体名称等信息 使用事件表后 面向事件仿真模型总控程序的算法结构如下 1 时间扫描扫描事件表 确定下一事件发生时间 推进仿真时钟至下一事件发生时间 从事件表中产生当前事件表CEL CEL中包含了所有当前发生事件的事件记录 2 事件执行依次安排CEL中的各个事件的发生 调用相应的事件例程 某一事件一旦发生 将其从事件表中移出 IE 7 IE 8 2 0剧院售票电话服务系统分析 1 该系统的事件 E1 购票顾客到达事件 E2 购票顾客服务完毕事件 E3 电话到达事件 E4 电话服务完毕事件 IE 9 E1购票者到达事件例程 IE 10 E2售票结束事件例程 IE 11 E3电话到达事件例程 IE 12 E4电话服务完毕事件例程 IE 13 模型实现过程示例 IE 14 模型实现过程示例 IE 15 模型实现过程示例 IE 16 模型实现过程示例 此课件下载可自行编辑修改 此课件供参考 部分内容来源于网络 如有侵权请与我联系删除