排队系统和离散事件系统
3离散事件系统仿真基础和建模

24
模型的人工运行(续)
2020/8/10
25
示例2-窗口售票系统
剧院雇一名售票员同时负责窗口销售和对电 话问讯者的咨询服务。
窗口服务比电话服务有更高的优先级。 问讯者打来的电话由电话系统存储后按先来
先服务的原则一一予以答复 建模的目的是研究售票员的忙闲率。2020/8/Fra bibliotek026
实体 流程图分析
常用图示符号
菱形框(表示判断) 矩形框(表示事件、状态、活动等中间过程) 圆端矩形框(表示开始和结束) 箭头线(表示逻辑关系)
2020/8/10
开始 结束
15
建模步骤-八个步骤
2020/8/10
16
示例1
理发店系统
有一个小理发店只有一个理发员。顾客来到理发店 后,如果有人正在理发就坐在一 旁等候。理发员按 先来先理的原则为每一位顾客服务,而且只要有顾 客就不停歇。
库所
变迁
输入
输出
函数
函数
2020/8/10
29
Petri网的变迁
2020/8/10
30
变迁实例
t1
t4
2020/8/10
t2 t3
31
应用举例
一条工业生产线,完成两项工业操作,第一 个操作将传入生产线的半成品S1和部件S2用 2个螺丝钉S3固定在一起,变成半成品S4。 第二个操作再将S4和部件S5用3个螺 丝钉S3 固定在一起,得到新的半成品S6。完成两项 工业操作时都要用到工具S7。假定由于存放 空间的限制,停放在生产线上的半成品S4最 多不能超过5件。
考察目的
建立实体流程图模型; 在假定顾客到达间隔和理发时间服从一定的概率分
布时,考察理发员的忙闲情况。
队列的应用——单服务台排队系统的模拟

队列的应用:单服务台排队系统的模拟一、三个模拟1.离散事件模拟系统在排队系统中,主要有两类事件:顾客的到达事件和服务完毕后顾客的离去事件,整个系统就是不断有到达事件和离开事件的发生,这些事件并不是连续发生的,因此这样的系统被称为离散事件模拟系统。
(1)事件处理过程如果服务员没空,就去队列中排队;否则就为这个顾客生成服务所需的时间t,表示服务员开始为它服务,所需的服务时间是t。
每当一个离开事件发生,就检查有没有顾客在排队,如果有顾客在排队,则让队头顾客离队,为它提供服务,如果没有顾客排队,则服务员可以休息。
(2)如何产生顾客到达事件和离开事件在一个排队系统中,顾客的到达时间和为每个顾客服务的时间并不一定是固定的。
但从统计上来看是服从一定的概率分布。
假设到达的间隔时间和服务时间都满足均匀分布,则可以用随机数产生器产生的随机数。
①以生成顾客到达事件为例子如顾客到达的间隔时间服从[a,b]之间的均匀分布,则可以生成一个[a,b]之间的随机数x,表示前一个顾客到达后,经过了x的时间后又有一个顾客到达。
[a,b]之间的随机数可以按照下面的过程产生:假如系统的随机数生成器生成的随机数是均匀分布在0到RAND_MAX之间,可以把0到RAND_MAX之间的区间等分成b-a+1个,当生成的随机数落在第一个区间,则表示生成的是a,当落在第二个区间,则表示生成的是a+1…当落在最后一个区间,则表示生成的是b。
这个转换可以用rand()*(b-a+1)/( RAND_MAX+1)+a实现,rand 表示系统的随机数生成函数。
2.离散的时间驱动模拟在得到了在x秒后有一个事件生成的信息时,并不真正需要让系统等待x秒再处理该事件。
在模拟系统中,一般不需要使用真实的精确事件,只要用一个时间单位即可,这个时间单位是嘀嗒tick,可以表示1秒,也可以表示1min\1h.沿着时间轴,模拟每一个嘀嗒中发生了什么事件并处理该事件。
模拟开始时时钟是0嘀嗒,随后每一步都把时钟加1嘀嗒,并检查这个时间内是否有事件发生,如果有,则处理并生成统计信息。
排队系统的模拟

随机数乘1000 存款类型:【0,6】之间的随机数,分别
对应六种存款类型
totalWaitTime = 0; 设置顾客开始到达的时间currentTime = 0; for (i=0; i<customNum; ++i)
{ 生成下一顾客到达的间隔时间; 下一顾客的到达时间currentTime += 下一顾客到达的间隔时间; 生成存款类型、金额、服务完成时间; 将下一顾客的到达时间入队;
} while (顾客队列非空)
{ 取队头顾客; 输出顾客信息;}
如何产生均匀分布的随机值
均匀分布可以通过随机数产生器产生。 如某个随机过程产生的值服从[a,b]之间
的均匀分布,则可以生成一个[a,b]之间 的一个随机值,把此随机值作为随机过程 产生的值 [a,b]之间的随机值:rand() * (b-a+1) /(RAND_MAX + 1)
几个重要的随机值的生成
解决这个问题的关键就是在每一步跳到下一个 事件发生的时刻,这就是所谓的事件驱动模拟 (event-driven simulation) 。
事件驱动的模拟
在任何时刻,下一个事件只有两种情况:一种是 输入流中下一个顾客的到达或者出纳柜台前某一 个顾客的离开。事件发生的时刻都可获知,所以 我们只需要找出最先发生的事件并处理该事件 (并把当前时间设置成该事件发生的时间)。
事件驱动模拟(event-dHale Waihona Puke iven simulation)直接
把当前时间跳到下一个事件发生的时刻。 如果在连续事件之间的滴嗒间隔很大时,用事件
离散事件动态系统建模与仿真技术研究

离散事件动态系统建模与仿真技术研究离散事件动态系统(Discrete Event Dynamic System,DEDS)是一种用来描述离散事件的数学模型,其在集成电路设计、制造业、物流管理、网络通信等领域中得到了广泛应用。
离散事件动态系统建模和仿真技术是研究这一领域的关键问题之一。
I. 离散事件动态系统简介离散事件动态系统是一种将时间分为离散事件的模型,该模型针对每个事件进行计算,以决定模型的下一个状态。
每个事件的时间戳都是不同的,一次模拟可以包含大量的事件,事件之间可能会有多种关系,这是离散事件模拟的特点。
常见的离散事件动态系统包括排队系统、自动控制系统、网络系统、供应链系统、交通系统等,可以应用于机器人系统、智能交通、虚拟现实等领域。
II. 离散事件动态系统建模离散事件动态系统的建模是指将动态的系统描述成一个离散事件模型的过程,常用的建模框架包括Petri网、DEVS和CTPN等。
Petri网是描述离散事件模型的一种图形化建模语言,其由Petri网元素和变迁组成。
当一个Petri网达到一个使变迁操作成为可能的状态时,变迁将被激活。
Petri网允许对分布式系统进行实时分析和检验,并允许通过变形分析系统行为的改变。
DEVS是离散事件系统建模技术的一种形式化表达,其通过定义系统组件之间的输入输出以及它们之间的转移逻辑来描述系统行为。
DEVS模型一般包含四个部分,输入信号、状态、事件响应函数和状态转移函数。
CTPN是一种图形化建模语言,它通过两个主要元素,控制流程和时间约束,来建模系统的动态行为。
控制流程用于表示系统中的活动和控制流,时间约束表示活动之间的时间上限和下限。
III. 离散事件动态系统仿真离散事件动态系统仿真技术是为了模拟离散事件系统的行为,以便分析和预测其性能。
通常,离散事件动态系统仿真需要从实际系统的模型出发,将系统的模型转换成计算机程序,利用程序模拟实际系统不同的状态和事件,并通过这些状态和事件来推断系统的行为。
第4章 离散事件仿真基础

(一)离散事件系统的仿真模型
1.仿真程序的主要成分 采用步长法仿真的程序主要由以下部分组 成:
– ①仿真时钟:提供仿真时间的当前值; – ②事件表:由策划和事件调度生成事件名称, 时间的二维表,即有关未来事件的表; – ③系统的状态变量:描述系统状态的变量; – ④初始化子程序:用于模型初始化; – ⑤事件子程序:每一类事件的服务子程序; – ⑥调度子程序:将未来事件插入事件表中的子 程序;
顾客到达
忙
理发员忙否
排队等待
否 服务 服务完毕 (顾客离去) 置理发员闲
(1)实体(Entity) 实体是描述系统的三个基本要素之一.连 续系统一样,离散事件也是由实体组成的. 在离散事件系统中的实体可以分为两大类: 临时实体和永久实体.
– 临时实体:在系统中只存在一段时间的实体称为 临时实体.这类实体是由系统的外部到达并进 人系统的,然后通过系统,并最终离开系统. 例4-1中的顾客显然是临时实体. – 永久性地驻留在系统中的实体称为永久实体. 例4-1中的服务员就是永久实体.
(3)活动(activity) 离散事件中的活动,通常用于表示两个可 以区分的事件之间的过程,它标志着系统 状态之间的转移.把实体所做的,或对实 体施加的事件称为活动,它是实体在两个 事件之间保持某一个状态的持续过程. 在例4-1中,顾客的到达事件与顾客的开始 接受服务事件之间的过程可以称为一个活 动,该活动使系统的状态(队长)发生变化, 从顾客开始接受服务到对该顾客服务完毕 后离去的过程也可以被看成是一个活动, 它可能使队长减1或使服务员由忙转闲.
(二)离散事件系统仿真策略
因为离散事件模型的特点,实体活动,进 程都是以事件为基础构成的,所以从事件, 活动,进程三个层次来组织事件构成了处 理离散事件模型的三种典型的处理方法: 事件调度法,活动扫描法和进程交互法, 相应地要采用三种不同的仿真策略,在复 杂系统仿真中,按进程来组织事件可以使 众多的事件条理清晰,因而成为最通用的 仿真方法.
单服务排队系统的仿真

仿真钟:仿真中是离散事件系统仿真中的基 本组成部分,是随仿真的进程而不断更新的 时间推进机构,用来表示仿真时间的变化。
连续系统的仿真和离散系统仿真的区别:
1.在连续系统仿真中,仿真时间的变化是基于仿真步长 确定的;在离散事件系统仿真中,引起状态变化的事件 发生时间是随机的,仿真钟的推进步长完全是随机的。 2.连续系统仿真的模型一般由表征系统变量之间的关 系的方程来描述,如微分方程、差分方程等。离散事 件系统中的变量是反映系统各部分之间相互作用的一 些事件,系统模型则是反映这些事件状态的集合。
单服务排队系统的仿真
永久实体:永久驻留在系统中,是系统处 于活动状态的必要条件,如理发师; 临时实体:仅在系统中存在一段时间,按 一定规律到达,如顾客; 临时实体按一定规律不断产生,在永久实 体作用下通过系统,最后离开系统,整个系 统呈现出动态过程。
属性:每一实体所具有的有效特征。
事件:引起系统状态发生变化的行为;离 散事件系统本质是由事件驱动的(例: 顾客到达事件使服务员状态由闲到忙, 或使队列长度加1 );
Ë ¿ ¹ Í µ ½ ´ ï
Å ¶ Ó ½ á ¹
Å ¶ Ó ¹ æ Ô ò
· þ Î ñ ¹ æ Ô ò
þ Î · ñ » ú ¹
ë È À ¥
¼ 1 Å ¶ Í Ó Ï µ Í ³ Ê ¾ Ò â Í ¼
理发馆排队系统仿真
• • • • • • • •
一.仿真问题 理发馆一天的工作情况如下: 理发馆有1名理发员,同一时刻只能为1位顾客理发。 当顾客进门时,只要理发员状态为闲,就可坐下理发,否则需排队 等候。 一旦顾客理发完离去,排在对头的顾客便可开始理发。 若理发馆每天营业T分钟,求: 一天内顾客在理发馆内平均逗留的时间; 顾客排队等候理发的队列长度平均值; 二.基本要求 1) 模拟理发馆一天的工作过程:必须采用事件驱动的离散模型; 2) 每个顾客到达和下个顾客到达的时间间隔是随机的; 3) 每个顾客进门时都将生成两个随机数: 1>durtime:进门顾客理发所需服务时间(简称理发时间) 2>intertime:下个顾客将到达的时间间隔(简称间隔时间)
离散事件动态系统

表 顾客的到达间隔时间及服务时间
顾客 到达间 隔时间 服务时 间 1 4 2 8 1 3 6 4 4 1 3 5 8 2 6 3 4 7 8 5 8 7 4 9 2 5 10 3 3
Clock=t时 出现的到达事件 是 服务台忙 (LST=1)吗? 置出纳员为忙态 LST=1 Clock=t时 出现的离开事件 队列非空 (LQT1)吗? 是 队列个数-1. LQT=LQT-1 产生服务时间, 在 clock+ 安 排 新 的 离 开 事 件 FEL[2] 否
离散事件动态系统所研究的主要问题
6) 为了统计目的,需要运行多少次不同的 仿真? 7) 为了分析仿真结果,需要采用什么样的 统计技术? 上面这种较小计算量的仿真是可以通过手 动仿真实现的,但这种方式解决的问题的复杂 性是极为有限的。通常需要仿真的顾客数是远 远大于10的,为了进行统计,需要运行的仿真 次数也将是很多的,因此应用计算机进行离散 事件仿真是必须的。
事件调度法程序框图
初始化
1. 仿真时钟CLOCK=0; 2. 产生初始FEL; 3. 累计统计量置初值; 4 给定初始状态。
推进仿真时钟
1. 从FEL中搜索下一事件; 2. 将仿真时钟推进到该事件的发生。
调用相应的事件 子程序
1. 修改系统状态变量; 2. 收集、计算累积计量; 3. 产生未来事件并将其放入FEL中 。
第四章 离散事件动态系统
东北大学信息学院 郝培锋
一、离散事件系统简介
离散事件系统是指系统状态由事件驱 动的一类系统。银行服务系统是一种简单 的离散事件系统,属于排队论。特别是近 年来涌现出了一大批反映现代科学技术成 果的人造系统,如计算机通信网络、柔性 制造系统(FMS)、 计算机集成制造系统 (CIMS)、现代城市交通网络、军事指挥中 的C3I系统等等,是一类非常复杂的系统。
离散事件系统基本概念教学课件

控制策略定义
控制策略是离散事件系统中的决策规则,用于确定在某一状态下应采取的行动。
控制策略分类
根据控制策略的性质,可以分为确定型控制策略和随机型控制策略,其中确定型控制策略 是指在某一状态下只有一种行动可以选择,而随机型控制策略是指在某一状态下有多种行 动可以选择。
控制策略实现
控制策略的实现需要基于系统的状态信息和历史信息,通过一定的逻辑判断和决策算法来 确定。
06
离散事件系统研究展望
当前研究热点与挑战
实时控制
安全性验证
离散事件系统在实时控制领域的应用 ,如智能制造、交通控制等,是目前 研究的热点之一。
如何确保离散事件系统的安全性和稳 定性,防止系统故障或崩溃,是当前 研究的重点问题。
混杂系统
混杂系统是离散事件系统的一种扩展 ,涉及连续动态和离散事件之间的相 互作用,是当前研究的难点之一。
未来研究方向与趋势
自主智能
随着人工智能技术的不断发展,离散事件系统将 更加智能化,能够自主进行决策和控制。
数据驱动
利用大数据和机器学习技术,对离散事件系统进 行数据分析和优化,提高系统的性能和效率。
实时优化
进一步研究实时控制算法和优化技术,以实现离 散事件系统的实时优化和控制。
感谢您的观看
THANKS
排队论模型
总结词
排队论模型是一种数学模型,用于描述离散事件系统中的排队现象和性能指标,如等待时间、队长等 。
详细描述
排队论模型通常由一系列顾客、服务台和服务规则组成。顾客表示需要服务的对象,服务台表示提供 服务的设施,服务规则则描述了服务台的服务方式和顾客的排队规则。通过排队论模型,可以分析离 散事件系统中的排队现象和性能指标,为系统优化提供理论支持。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
事件调度法的算法流程:
置初始时间t=t0,结束时间t=te; 事件表初始化,置系统初始事件; 成分状态初始化:S=((s1,t 1 ), …,(sm,t m ), sm+1,…, sn); 操作事件表: 取出具有t(s)=min{t| CA}事件记录; 修改事件表; 推进仿真时钟:TIME=t(s); While(TIME<= t )则执行 case 根据事件类型i: i=1 执行第1类事件处理程序; i=2 执行第2类事件处理程序; … i=m 执行第m类事件处理程序; end case 取出具有t(s)=min{t| CA}事件记录; 修改事件表; 推进仿真时钟:TIME=t(s); end while
描述变量:成分的状态与属性 S为所有成分的状态变量,值域为S; P={p1, p2,… ,pK}为系统中的参数(属性)集合; t 为成分的状态的下一变化时刻,值域为{R+} D (S)表示成分在状态S时的条件是否满足, True/False TIME为模型仿真时钟的值,值域为{R+}成分间的 相互关系
6)模型验证(verification)
系统模型是否由准确地仿真模型(计算机程 序)表示。 方法:程序调试、程序逻辑流程图
7)模型确认(Validation)
是否模型代Βιβλιοθήκη 实际系统?仿真钟
用于表示仿真事件的变化 离散事件系统仿真中,由于系统状态变 化是不连续的,在相邻两个事件发生之 间,系统状态不发生变化,因而仿真钟 可以跨越这些“不活动”区域。从一个 事件发生时刻,推进到下一个事件发生 时刻。 仿真钟的推进呈跳跃性,推进速度具有 随机性。
仿真时钟推进:
事件调度法:主动成分的下一事件时间保存在事件表中, 定时模块不断从中取出最早发生的事件,推进仿真时钟到 该事件的发生时间,并中心该事件例程。 活动扫描法:每一主动成分设一个成分时钟,定时模块选 择那些成分时钟大于当前系统仿真时钟的主动成分中成分 时钟最小的成分时钟,然后推进系统仿真时钟到该时刻, 并开始活动扫描。 进程交互法:采用CEL与FEL,CEL扫描完后,取FEL中最早 发生事件置于CEL,仿真时钟推进到该时刻。一旦某进程被 执行,就尽量继续执行但并步改变系统仿真时钟,直至条 件或仿真时刻不满足进程中断或进程完成,若进程未完成 而终止,记下中断事件记入FEL。
进程交互法(Process Interactive)
策略思想:采用进程描述系统,他将模型中的主动成 分所发生的事件及活动按事件顺序进行组合,从而形 成表,一个成分一旦进入进程,他将该进程可执行的 全部活动。 实现方法:系统仿真时钟的控制程序采用两张事件表, 其一是当前事件表(CEL),它包含了从当前时间点开 始有资格执行的事件的记录,但是该事件是否发生的 条件尚未判断;其二是将来事件表(FEL),它包含在 将来某仿真时刻发生的事件的事件记录。当仿真时钟 推进时,满足t<=TIME的所有事件记录FEL转移到 CEL中,然后对CEL中的每一事件进行扫描,若 D(S)=True,则发生该事件,只要条件允许该进程尽 可能推进直至进程结束;若D(S)=False或仿真时钟 要求其停止,则退出该进程。然后处理下一CEL中的 事件,直至CEL扫描完毕。继续推进仿真时钟,直至 仿真结束。
事件调度法(Event Scheduling)
基本思想:将事件作为仿真模型的基本单元, 按事件发生的先后顺序不间断地执行相应的 事件,每一事件可预先知其发生时间的确定 事件都带有一个例程。 实现方法:模型中所有待发生的事件都放于 事件表中,模型中设一个时间控制成分,从 事件表选择最早发生的事件,并将仿真时钟 推进到该事件发生的时刻;这样事件的选择 与处理不断进行直至仿真终止。
进程交互法的一般算法:
置初始时间t=t0,结束时间t=te; 设置初始化事件,并置于FEL中; 将FEL中有关的事件记录置于CEL中, 成分状态初始化:S=((s1,t 1 ), …,(sm,t m ), sm+1,…, sn); 设置系统仿真时钟TIME=t0; While(TIME<= t )则执行 1. CEL扫描 while (CEL中最后一个记录未处理完) 则 while (Di(S)= True有关成分未处理完) 则 执行该成分的活动 确定该成分的下一事件 end while end while 2. 推进仿真时钟 TIME = FEL 中安排的最早时间 if (TIME<= t )则 将FEL中所有在TIME时刻发生的事件记录转移到CEL 中 end if end while
思考:
1)文件处理系统是否属于DES系统? 分析其实体、状态、事件、活动。 2)银行系统是否属于DES系统?分析其 实体、状态、事件、活动。
排队系统
排队系统的基础
四、离散事件系统仿真步骤
1)问题提出 2)系统分析与描述:边界、约束、目标 3)建立系统的数学模型 4)数据收集 5)建模仿真模型:
活动扫描措施:
设置系统仿真时钟TIME与成分仿真时钟t;显然有:
t>TIME 表示该活动将在将来某一时刻发生; t=TIME 表示该活动如果条件满足,则应立即发生; t<TIME 表示该活动按预定时刻早应发生,但因条件未满足,到目 前为止仍未发生;当前是否发生则要判断其发生条件; 令FUTURE(S)= {|t>TIME}, PRESENT(S)= {|t=TIME},PAST(S)= {|t<TIME};将满足下列条件: PRESENT(S)U PAST(S),且 D(S)=True的成分置于可激活(Activable)的成分集合中,此时仿真时 钟不推进,仅仅处理成分活动,修改成分仿真时钟;
三、DES系统举例
理发店: 分析其实体、状态、事件、活动 Answer: 实体:顾客、服务员 状态:服务员个数、顾客数、服务员忙 闲 事件:顾客到达、服务完毕 活动:顾客等待、理发员服务
柔性制造系统:
请分析其实体、状态、事件
缓冲区 加工中心 缓冲区 加工中心
自动物料系统
自动仓库
Answer: 实体:工件、加工中心 事件:(待加工工件)到达 机床完成加工 状态:各加工中心的繁忙程度 各加工中心的等待队列 活动:工件等待 加工
第二讲 排队系统、离散事件 系统基本概念
系统根据其模型表示可以分为: 连续系统 离散事件系统
连续系统
连续系统:其服从于物理学定律(电学、 力学、热学),其数学模型可表示为传 统意义上的微分方程或差分方程。 其系统的状态变量随时间而发生连续变 化。
例如:
?
离散事件系统
离散事件系统(Discrete Event
仿真钟一般是仿真的主要自变量,仿真钟的推 进是系统仿真程序的核心部分。 仿真钟所显示的是仿真系统对应实际系统的运 行时间,而不是计算机运行仿真模型的时间。 仿真时间与真实时间将设定成一定比例关系, 使得复杂的系统,真实系统运行若干天、若干 月,计算机仿真只需要几分钟可以完成。
仿真钟推进方法
固定增量推进方法 按下一最早发生事件的发生时间推进-事 件调度法
固定步长时间推进机制的特点:
每次步长推进,都要进行事件检查,占用计算 和判断的时间,影响仿真效率。步长△t越小, 问题越严重。 该机制将发生在同一步长内的事件都视为发生 在该步长的末尾,即认为它们是同步的。由此 产生误差,影响仿真精度。步长△t越大,误差 越严重。 合理确定△t ,是固定步长时间推进机制中 的重要问题。
下次事件时间推进机制:
仿真时钟按照下一个事件预计将要发生的时刻, 以不等的时间间隔向前推进。即仿真时钟每次 都要跳跃性地推进到下一个事件发生的时刻上 去。 该推进机制中,仿真时钟的增量不定,取决于 被仿真系统。 仿真时,需将事件按发生时间的先后次序排列, 仿真时钟时间则按事件顺序发生的时刻推进。 当某一事件发生时,需立即计算下一事件发生 的时刻,以便推进仿真时钟,直到仿真运行结 束。
事件:使系统状态发生变化的、实体的 瞬间行为。注:事件还可能触发新的事 件
DES中的事件具有三个特征:
1)离散事件是导致DES状态发生跃变和触发新 的离散事件的唯一因素。 2)事件交互影响系统状态的变化。 3)事件的发生时刻是异步的和不确定的。
状态:反映某一特定时间点的系统状态,如顾 客的等待状态,机器的当前状态(忙或闲)等 活动:实体在一段时间内持续进行的操作或过 程。通常表示两个可以区分的事件之间的过程。 标志着系统状态的转移。顾客的到达事件与该 顾客开始接受服务事件之间可称为一个活动。 如等待活动。 进程:由若干个有序事件及若干有序活动组成, 描述了它所包括的事件及活动的相互逻辑关系 及时序关系。
事件调度方法-手工仿真
活动扫描法(Activity Scanning)
策略思想:系统由成分构成,而成分包含活动,这些 活动必须满足某些条件;每一主动成分均有一个活动 子例程;活动的发生时间也作为条件之一,而是较之 其他条件具有更高的优先权。 实现方法:设D(S)表示成分在系统状态S的条件是 否满足,t表示成分的状态下一发生变化的时刻。 活动扫描每一步要对系统中所有的主动成分进行扫描, 当t<=TIME且D(S)=True时执行该成分的子例程。 所有主动成分扫描一遍后,右按相同顺序继续扫描直 至仿真结束。
离散事件系统仿真策略的比较
系统描述: 所有策略均描述主动成分与被动成分。在事件调度法中只有 主动成分CA才能施加作用;而其他策略中主动成分CA与被动 成分CP都可以施加作用。 事件调度法:事件;活动扫描法:活动;进程交互法:进程 建模要点: 事件调度法:只对无条件执行事件建模,条件测试与执行包 含于无条件事件执行例程中; 活动扫描法:对所有活动建模,专设条件初始模块; 进程交互法:将进程分若干步,每一步包括条件测试于执行 两部分;