离散事件系统仿真策略
离散事件系统仿真策略

离散事件系统仿真策略离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
第十三章离散事件系统仿真策略离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
主要术语:(1)成分(Component):相应于系统中的实体,用于构造模型中的各个部分,可分为两大类:主动成分(Active-type Component):可以主动产生活动的成分如排队系统中的顾客,它的到达将产生排队活动或服务活动。
被动成分(Pasive-type Component):本身不能激发活动,只有在主动成分作用下才产生状态变化。
(2)描述变量:成分状态、属性的描述。
(3)成分间的相互关系:描述成分之间相互影响的规则。
在一个模型中,主动成分对被动成分可能产生作用,而主动成分之间也可能产生作用。
C={ 1. 2, , n}成分集合, i是第i个成分分量(1 i n)。
1离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
CA={ 1. 2, , m} 主动成分子集, j是第j个主动成分分量(1 j m,m n)。
CP={ 1. 2, , l} 被动成分子集, k是第k个被动成分分量(1 k l,l n)。
一个模型中,n=m+l S 所有成分的状态变量, 值域为S 。
P={p1, p2, , pn} 参数(属性)集合。
{Rt 成分的状态下一发生变化的时刻, 值域为(0, )}D (S) 成分在状态变量值为S时的条件是否满足,D (S) =true,表示满足,D (S) =false表示不满足。
TIME 模型仿真钟的值,值域为{R(0, )}。
13.1 事件调度法(Event Scheduling)事件调度法基本思想:用事件的观点来分析真实系统,通过定义事件及每个事件发生引起系统状态的变化,按时间顺序确定并执行每个事件发生时有关的逻辑关系。
2离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
离散事件系统动态运行仿真模拟研究

离散事件系统动态运行仿真模拟研究一、概述离散事件系统动态运行仿真模拟是一种重要的技术手段,用于对复杂系统进行模拟,测试和优化。
它的应用范围非常广泛,在制造业、航空航天、电子商务等领域都有着广泛的应用。
本文将围绕离散事件系统动态运行仿真模拟进行探讨。
二、离散事件系统的概念离散事件系统是指在不连续的时间点上,由离散模型描述的系统。
它包括一系列事件和决策,每个事件的发生都可能引起系统状态的变化。
在离散事件系统中,事件是不可预测的,需要根据系统的状态和规则来决定何时进行下一个事件。
例如,在一个工业生产线上,生产速度可能因为故障而减慢,或是因为调整而提高。
这些事件都是不可预测的,并且会影响整个生产线的状态。
三、离散事件系统的运行仿真模拟离散事件系统的动态运行仿真模拟是指对离散事件系统进行模拟,以评估其性能和可靠性。
这种仿真模拟是在计算机上进行的,它可以在更短的时间内完成对系统的测试,同时可以模拟复杂的系统状态和事件,为决策提供支持。
在进行离散事件系统的仿真模拟时,需要对系统进行建模。
建模包括对系统的基本组成部分进行分析,确定系统中的重要事件和决策,并设计相应的概率模型。
在模拟的过程中,在当前状态下,根据之前得到的概率模型和事件规则,做出下一个事件的决策。
随着仿真的进行,系统状态会动态变化,仿真结束时,可以得到各种指标,如系统性能、运行效率和可靠性等。
四、离散事件系统运行仿真模拟的应用离散事件系统的动态运行仿真模拟在许多领域都有着广泛的应用。
在工业制造领域中,通过进行仿真模拟,可以对生产线进行优化,减少成本,提高生产效率。
在航空航天领域,通常以飞机航线模型进行仿真模拟,以评估飞机运行的性能和安全。
在电子商务领域,通过仿真模拟模型,可以分析整个商业流程和系统,优化客户体验,提高系统的可用性和收益。
五、结论离散事件系统动态运行仿真模拟是一种重要的技术手段,可以对复杂的系统进行模拟,测试和优化。
虽然其应用范围广泛,但每个应用领域都需要进行具体的建模和优化工作。
离散事件系统的建模与仿真研究

离散事件系统的建模与仿真研究离散事件系统(Discrete Event System,DES)是指由一系列离散事件组成的系统,其状态随时间点发生离散性的变化。
DES作为一种重要的描述和分析系统的工具,在工业、交通、通讯、金融等领域中得到了广泛的应用。
如何对离散事件系统进行建模和仿真研究,是当前研究的热点和难点之一。
一、离散事件系统建模离散事件系统的建模一般分为三个结构层次:事件层次、状态层次和行为层次。
1.事件层次事件层次是最高层次,定义了系统所有可能的事件和事件发生的时刻。
每个事件都有其自身的类型和时间戳,时间戳确定了事件发生的时刻。
对于同一类型的事件,可以区分其源头和目的地,进而描述事件之间的依赖关系。
2.状态层次在事件层次的基础上,系统的状态层次定义了系统中存在的状态集合,每种状态都有其自身的定义,包括了系统变量的取值,如流量、压力、速度等。
状态的改变是由事件的发生所触发的。
状态层次是描述系统的重要结构层次,不同状态之间可以描述系统运行的不同模式。
3.行为层次行为层次定义了事件与状态之间的关系,描述了事件发生所引起的状态变化。
在行为层次中,可以描述不同事件类型下的状态转移,以及每种状态下的事件类型和发生时间。
行为层次是系统的最底层,包含了所有可观测性质和系统性能的信息。
二、离散事件系统仿真仿真是模拟真实系统行为的过程,在离散事件系统研究中,仿真是验证模型正确性和性能指标的一种有效手段。
1.仿真方法离散事件系统仿真一般分为两种方法:基于事件驱动的仿真和流程中心仿真。
基于事件驱动的仿真是离散事件系统的常用仿真方法。
其基本思想是在仿真的过程中,以事件为驱动条件,在每个事件发生的时刻,进行状态的改变和事件的处理,从而实现系统状态的模拟。
基于事件驱动的仿真具有高效、灵活等优点,在应用中得到了广泛的应用。
流程中心仿真是基于业务逻辑流程的仿真方法。
该方法将流程看作系统的基本单位,通过对流程中各项任务的调度和业务逻辑的处理,得出系统的行为和性能指标。
离散事件系统仿真技术与实例

离散事件系统仿真技术与实例概述离散事件系统仿真是一种模拟离散事件的技术,通过模拟系统中的事件和它们之间的相互作用来分析和优化系统的性能。
在实际应用中,离散事件系统仿真可以用于评估不同策略的效果,预测系统的行为,甚至设计新的系统。
本文将介绍离散事件系统仿真的基本原理和常用方法,并通过实例进行演示,帮助读者深入了解该主题。
离散事件系统仿真的基本原理离散事件系统仿真基于以下几个基本原理进行模拟:1. 离散事件离散事件是指在系统中发生的具体事件,它们可以是系统内部的操作,也可以是外部的输入。
离散事件系统通过跟踪和处理这些事件来模拟系统的运行过程。
2. 事件驱动仿真离散事件系统仿真是一种事件驱动的仿真方法。
系统在仿真过程中,根据当前的状态和已经发生的事件,确定下一个要处理的事件,并执行相应的操作。
这种方法可以更加准确地模拟实际系统的行为。
3. 随机性离散事件系统仿真通常包含一定的随机性。
系统中的事件往往是基于概率模型,具有一定的随机性。
这使得仿真结果更加真实,能够反映系统在不同条件下的不确定性和变化性。
4. 时间推进离散事件系统仿真通过推进时间来模拟系统的运行。
仿真过程中,系统的时间可以是离散的,也可以是连续的。
根据实际系统的特点,选择合适的时间推进策略对系统进行仿真。
离散事件系统仿真的方法和工具1. 事件扩展Petri网方法事件扩展Petri网是一种常用的离散事件系统仿真方法。
它将Petri网模型与离散事件模型结合起来,能够较好地描述事件之间的相互作用和系统的行为变化。
2. Agent-based仿真方法Agent-based仿真是另一种常用的离散事件系统仿真方法。
它将系统的各个组成部分建模为独立的智能体,并模拟它们之间的相互作用和决策过程。
Agent-based仿真在复杂系统的建模和分析中具有较好的灵活性和可扩展性。
3. 常用工具在离散事件系统仿真中,有许多常用的工具可供选择。
例如,Arena是一款功能强大的商业仿真软件,提供了丰富的建模和分析功能。
第四章 离散事件系统仿真方法1

第4章离散事件系统仿真方法4.1离散事件系统仿真一般概念4.1.1 一般概念离散事件系统:系统中的状态只在离散时间点上发生变化,而且这些离散时间点一般是不确定的。
系统状态是离散变化的,而引发状态变化的事件是随机发生的,因此这类系统的模型很难用数学方程来描述。
随着系统科学和管理科学的不断发展及其在军事、航空航天、CIMS和国民经济各领域中应用的不断深入,逐步形成一些与连续系统不同的建模方法:流程图和网络图。
离散事件系统建模与仿真的基本概念:⑴实体:是描述系统的三(四)要素之一,是系统中可单独辨识和刻画的构成要素。
如:工厂中的机器,商店中的服务员,生产线上的工件,道路上的车辆等。
从仿真角度看,实际系统就是由相互间存在一定关系的实体集合组成的,实体间的相互联系和作用产生系统特定的行为。
实体可分为两大类:临时实体和永久实体临时实体——在系统中只存在一段时间的实体。
一般是按一定规律有系统外部到达系统,在系统中接受永久实体的作用,按照一定的流程通过系统,最后离开系统。
临时实体存在一段后即自行消失,消失有时是指实体从屋里意义上退出了系统的边界或自身不存在了;有时仅是逻辑意义上的取消,意味着不必再予以考虑。
如:进入商店的顾客、路口的车辆、生产线上的工件、进入防空火力网的飞机、停车场的汽车等。
永久实体——永久驻留在系统中的实体。
是系统产生功能的必要条件。
系统要对临时实体产生作用,就必须有永久实体的活动,也就必须有永久实体。
可以说临时实体与永久实体共同完成了某项活动,永久实体作为活动的资源而被占用,如:理发店中的理发员、生产线上的加工装配机械、路口的信号灯等。
属性和行为相同或相近的实体可以用类来描述,这样可以简化系统的组成和关系。
如:理发店服务系统可以看成是由“服务员”和“顾客”两类实体组成的,两类实体之间存在服务与被服务的关系。
⑵属性是实体特征的描述,一般是系统所拥有的全部特征的一个子集,用特征参数或变量表示。
选用那些参数作为实体的属性与建模目的有关,一般按以下原则:便于实体分类:如按理发店顾客的性别;便于实体行为的描述:如飞机的速度便于排队规则的确定:如生产线上待处理工件的优先级水平。
离散事件系统仿真与优化研究

离散事件系统仿真与优化研究离散事件系统(Discrete Event System,DES)是研究对象在特定时间发生变化的系统。
离散事件系统的应用非常广泛,比如制造业,交通运输,金融业等等。
随着科技的不断进步,离散事件系统的仿真与优化研究也得到了很大的进展。
一、离散事件系统仿真研究离散事件系统仿真用于模拟系统的运行过程。
仿真可以帮助我们更好的理解系统结构和行为。
仿真器(Simulation Software)是离散事件系统仿真的主要工具,包括各种商用及自主开发的仿真软件。
例如,还有用于仿真离散连续系统(Dynamic Hybrid System),平台Agent-based Simulation及FORCES PRO等。
仿真器可以生成各种不同的输入参数,例如,产品生产速率,设备可用率,故障频率等。
通过模拟各种可能的输入参数,仿真器能够帮助决策者评估系统的潜在性能。
二、离散事件系统优化研究离散事件系统优化可以通过仿真得到系统性能多样性,然后根据系统性能的优化目标,对系统进行建模和可行性分析。
优化的主要目标包括系统效率,生产效率,成本效益,可靠性等。
离散事件系统优化常见的方法包括MATLAB,EZY,Arena和Simulink等等。
优化工具需要制定合适的策略,决策制定,规划和评估。
三、案例分析离散事件系统仿真和优化在实际应用中效果非常好。
比如某一拥堵交通路段,通过仿真和优化建立了合适的车流模型,可以有效地避免路段拥堵和车辆堵塞现象的发生。
另一个例子是在生产领域中,通过仿真和优化模型建立了更科学合理的生产计划方案。
这些例子展现了仿真与优化在离散事件系统中的重要性和效果。
四、结论离散事件系统的仿真和优化是一个非常复杂的问题,因为它涉及到了许多不同的因素。
然而,随着现代技术的发展,仿真和优化工具逐步完善,已经能够解决很多复杂的问题。
要想更好地运用仿真与优化,需要不断地学习和积累相关的理论和实践经验。
只有通过不断地努力和实践,才可以更好地应对未来的挑战和机遇。
离散事件系统仿真方法

离散事件系统仿真方法离散事件系统仿真方法(DES)是一种表达系统行为的数学模型,在计算机科学和工程领域中得到广泛应用。
DES主要用于对系统的离散事件进行建模和模拟,离散事件是系统中可以显著影响系统行为的事件,这些事件的发生时间是离散的,它们之间是分开的。
下面介绍几种常用的离散事件系统仿真方法:1. 事件列表驱动(Event List Driven):事件列表驱动方法是最基本的 DES 方法。
在这种方法中,所有可能发生的事件都被列在一个事件列表中,事件按照发生的时间顺序排列。
仿真器会检查事件列表中最早发生的事件,并将系统状态更新到该事件发生的时间点。
然后仿真器会触发该事件,并处理该事件引发的状态变化。
2. 过程导向(Process Oriented):过程导向方法是一种更高级的DES 方法。
在这种方法中,系统被分解为一系列并发的过程,每个过程负责处理一类事件。
过程之间通过消息传递进行通信和同步。
仿真器会根据系统的当前状态选择一个过程,并将事件分发给该过程进行处理。
过程在处理事件时可以触发其他事件。
3. 状态类(State-based):状态类方法是一种根据系统状态的改变来驱动仿真的方法。
在这种方法中,系统的状态由一组状态变量来表示,仿真器会根据系统当前状态和一组状态转移规则来选择下一个事件的发生时间和类型。
状态类方法更适合描述那些状态随时间变化比较复杂的系统。
在进行离散事件系统仿真之前,需要确定系统中所有可能发生的事件和它们的发生时间。
一般来说,确定事件和发生时间是根据系统的规范和需求来完成的。
此外,仿真器还需要记录和输出仿真结果,以便进行分析和评估。
离散事件系统仿真方法在很多领域都有应用。
例如,在运输领域,可以使用DES方法来优化交通流量和路网规划。
在制造业中,可以使用DES 方法来优化生产线的布局和调度。
在通信领域,可以使用DES方法来评估无线网络的性能和信道分配策略。
综上所述,离散事件系统仿真方法是一种用于模拟和分析系统行为的重要工具。
离散事件系统建模和仿真

离散事件系统建模和仿真一、介绍离散事件系统(DES)是由一些离散事件组成的系统,其中每个事件在时间上单独发生。
相比于连续系统,离散事件系统更适用于那些事件是离散的、不规则的、或者随机发生的系统。
离散事件系统建模和仿真是对这类系统进行分析和设计的过程,通过这些方法可以更好地理解和预测系统的行为,进而通过优化策略来提高系统的效率和性能。
本文将详细介绍离散事件系统建模和仿真的过程,包括系统建模、模拟和结果分析等方面的内容。
二、离散事件系统的建模离散事件系统建模是指将一个复杂的离散事件系统转化为一种简单的数学模型,以便于进一步的分析和设计。
其基本思路是将系统中的各种事件抽象出来,并对它们的相互关系进行建模和描述。
1.系统建模的基本方法离散事件系统的建模可以使用不同的数学工具,其中最常用的是Petri网、时序图和状态转换图。
(1)Petri网Petri网是一种用于描述离散事件系统的数学工具,其基本思想是将系统中的各种事件抽象成为“事务所(Place)”和“变迁(Transition)”两种基本元素,并通过“输入库所”和“输出库所”等逻辑关系来描述它们之间的交互关系。
(2)时序图时序图(Sequence Diagram)是UML中的一种建模工具,它是用于描述系统中对象之间的交互关系和时间顺序的图形。
通过时序图可以清楚地描述系统中各个事件的执行顺序和相互关系。
(3)状态转换图状态转换图是一种用于描述系统状态及其转移关系的图形工具。
通过状态转换图可以清楚地描述系统从一个状态转换到另一个状态时所需的条件和操作,有助于深入理解系统的行为和设计流程。
2.离散事件系统建模的步骤离散事件系统建模通常需要经历下面的几个步骤:(1)定义系统范围确定模型应涵盖的系统范围,并定义所需的资源和参数,以便进行建模和仿真。
(2)设定事件种类将系统中的事件抽象成离散事件,并对每种事件进行详细的定义和描述。
(3)建立转移关系根据系统的事件种类和执行流程,建立各个事件之间的转移关系模型,以便描述它们之间的交互关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
离散事件系统仿真策略离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
第十三章离散事件系统仿真策略离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
主要术语:(1)成分(Component):相应于系统中的实体,用于构造模型中的各个部分,可分为两大类:主动成分(Active-type Component):可以主动产生活动的成分如排队系统中的顾客,它的到达将产生排队活动或服务活动。
被动成分(Pasive-type Component):本身不能激发活动,只有在主动成分作用下才产生状态变化。
(2)描述变量:成分状态、属性的描述。
(3)成分间的相互关系:描述成分之间相互影响的规则。
在一个模型中,主动成分对被动成分可能产生作用,而主动成分之间也可能产生作用。
C={ 1. 2, , n}成分集合, i是第i个成分分量(1 i n)。
1离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
CA={ 1. 2, , m} 主动成分子集, j是第j个主动成分分量(1 j m,m n)。
CP={ 1. 2, , l} 被动成分子集, k是第k个被动成分分量(1 k l,l n)。
一个模型中,n=m+l S 所有成分的状态变量, 值域为S 。
P={p1, p2, , pn} 参数(属性)集合。
{Rt 成分的状态下一发生变化的时刻, 值域为(0, )}D (S) 成分在状态变量值为S时的条件是否满足,D (S) =true,表示满足,D (S) =false表示不满足。
TIME 模型仿真钟的值,值域为{R(0, )}。
13.1 事件调度法(Event Scheduling)事件调度法基本思想:用事件的观点来分析真实系统,通过定义事件及每个事件发生引起系统状态的变化,按时间顺序确定并执行每个事件发生时有关的逻辑关系。
2离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
所有事件均放在事件表中。
模型中设有一个时间控制成分,该成分从事件表中选择具有最早发生时间的事件,并将仿真钟修改到该事件发生的时间,再调用与该事件相应的事件处理模块,该事件处理完后返回时间控制成分。
这样,事件的选择与处理不断地进行,直到仿真终止的条件或程序事件产生为止。
策略的非形式描述:成分集合CA { 1, 2, n}:主动成分集CA { 1, 2, m},被动成分集CP { m 1, m 2, n}描述变量:描述每一主动成分CA的变量,的状态s 值域S,s 下一变化时刻的时间变量t描述每一被动成分CP的变量,的状态s ,值域S(被动成分的状态变化只有在主动成分作用下才能发生,其发生时间由主动成分来确定, 因而不需要时间变量。
) 描述所有成分的属性的变量:参数集合P={p1, p2, , pr}成分间的相互关系3离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
每个主动成分CA的影响受主在作用下其状态变化的描述, 称为事件处理流程; 各成分处理的优先级, 即同时发生时的处理顺序(解结规则)。
注意, 在事件调度法中, 一般主动成分也同时具有被动成分属性, 以便接受其它主动成分的作用。
推进仿真钟TIME=t(s) While(TIME=t )则执行Case 根据事件类型ii=1执行第1类事件处理程序*事件调度法算法如下:执行初始化操作, 包括:置初始时间t=t0, 结束时间tte事件表初始化, 置系统初始事件成分状态初始化(*第i类事件处理程序对成分的状态变化进行建模,而且要进行统计计算)i=2执行第2类事件处理程序。
S ((s 1,t 1), (s m,t m),s m 1, s n)操作事件表, 包括取出具有t(s) min{t 修改事件表CA}事件记录4i=m执行第m类事件处理程序离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
endcase取出具有t(s) min{t CA}事件记录__置仿真时间TIME=t(s) endwhile__(__若具有t(s) min{t 若干个,则按解结规则处理)CA}事件记录有(__该算法中未包括仿真结束后对结果的分析等内容)13. 2 活动扫描法(Activity Scanning)事件调度法中仿真钟的推进仅仅依据t(s) min{tCA}准则,而该事件发生的任何条件的测试必须在该事件处理程序内部去处理。
如果条件满足,该事件发生,否则,则推迟或取消该事件发生。
从本质上来说,事件调度法是一种“预定事件发生时间”的策略。
这样,仿真模型中必须预定系统中下一最先发生的事件。
该策略对于活动持续时间确定性较强(可以是服从某种分布的随机变量)的系统是比较方便的。
当事件的发生不仅与时间有关,而且与其它条件有关,即只有满足某些条件时才会发生。
在这种情况下,事件调度法策略的弱点则表现出来了,由于这类系统的活动持续时间的不确定性,因而无法预定活动的开2离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
始或终止时间。
活动扫描法的基本思想是:用活动的观点建模。
系统由成分组成,而成分包含着活动,这些活动的发生必须满足某些条件;每一个主动成分均有一个相应的活动子例程;仿真过程中,活动的发生时间也做为条件之一,而且是较之其它条件具有更高的优先权。
设D (S)表示成分在系统状态S下的条件是否满足(D (S)=true则表示满足,D (S)=false则表示不满足),t 表示成分的状态下一发生变化的时刻,活动扫描法每一步要对系统中所有主动成分进行扫描,当:(i) t 仿真钟当前值TIME,且(ii) D (S)=true时, 执行该成分的活动子例程。
所有主动成分扫描一遍后,则又按同样顺序继续进行扫描,直到仿真结束。
显然,活动扫描法由于包括了对事件发生时间的扫描,因而它也具有事件调度法的功能。
实现措施:2离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
1.设置系统仿真钟TIME与成分仿真钟t系统仿真钟表示系统的仿真进程的推进时间,而成分仿真钟则记录该成分的活动发生时刻,两者的关系可能有三种情况:(i) (ii) (iii)t TIME 表示该活动在将来某一时刻可能发生; t =TIME 表示该活动如果条件满足则应立即发生;t TIME 表示该活动按预定时间早应发生, 但因条件未满足, 到目前为止实际上仍未发生, 当前是否发生, 则只要判断其发生的条件。
2. 设置条件处理模块该模块用于测定D (S)的值及系统仿真钟与成分仿真钟之间的关系, 记FUTURE(S)={t TIME},*****(S)={ t =TIME},PAST(S)={ t TIME}该模块将满足下列条件: (i) *****(S) PAST(S),且(ii) D (S)=true的成分置于可激活(3离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
*****ABLE)的成分集合中,即*****(S) PAST(S)*****ABLE(S)= D(S) true此时,系统仿真钟不推进,仅仅处理成分活动,包括修改成分仿真钟。
如果可激活的成分集合为空,则将系统仿真钟推进到下一最早发生的活动生成时刻,TIME=min(t FUTURE(S))算法描述:执行初始化操作, 包括: S ((s 1,t 1), (s m,t m),s m 1, s n) 置初始时间t=t0,结束时间t te设置系统仿真钟TIME=t0设置主动成分的仿真钟t (i)(i=1,2, ,m) While(TIMEt ),则执行扫描成分状态初始化:for j=最高优先数到最低优先数将优先数为j的成分置成i4即离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
If(t (i)TIME且D (S) =true)iendif endfor执行活动子例程iTIME=min(t endwhileFUTURE(S))退出,重新开始扫描核心是建立活动子例程模型。
包括此活动发生引起的状态变化(自身的),对其它成分的状态产生的作用等等,而条件处理模块则是这种策略实现的本质,它相应于事件调度法中的定时模块。
13. 3 进程交互法(Process Interactive)进程交互法采用进程(Process)描述系统,它将模型中的主动成分所发生的事件及活动按时间顺序进行组合,从而形成进程表,一个成分一旦进入进程,只要条件满足,它将完成该进程的全部活动。
系统仿真钟的控制程序采用两张事件表,其一是当前事件表(CEL:Current Events List),它包含了从当前时间点开始有资格执行的事件的事件记录,但是该事件是否发生的条件(如果有的话)尚未判断,其二是将来事件表(FEL:Future Events List),它包含在将来某个仿真时刻发生的事件的事件记录。
每一个事2离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
件记录中包括该事件的若干属性,其中必有一个属性,说明该事件在进程中所处位置的指针。
当仿真钟推进时,满足t TIME的所有事件记录从FEL移到CEL中,然后对CEL中的每个事件记录进行扫描,对于从CEL中取出的每一个事件记录,首先判断它属于哪一个进程以及它在该进程中的位置。
该事件是否发生则决定于发生条件是否为真。
若D i(S)=True, 则发生包含该事件的活动,只要条件允许, 该进程要尽可能多地连续推进,直到结束;如果D i(S)=False或仿真钟要求停止,则退出该进程,然后对CEL的下一事件记录进行处理。
当CEL中的所有记录处理完毕后,结束对CEL的扫描,继续推进仿真钟,即把将来事件表中的最早发生的事件记录移到CEL中,直到仿真结束。
算法描述:执行初始化操作,包括成分状态初始化:设置开始时间t=t0,结束时间t 设置初始化事件,并置于FEL中将FEL中有关事件记录置于CEL中2S ((s 1,t 1), (s m,t m),s m 1, s n)设置系统仿真钟TIME=t0离散事件系统仿真策略:介绍三种仿真策略,即事件调度法、活动扫描、进程交互法。
则While (TIME=t ),则执行1. CEL扫描While (CEL中最后一个记录未处理完) 则While (D i(S)=true且当前成分未处理完)以便决定下一活动是否发生。
如果条件不满足,则该进程退出,并记下断点,置于FEL中。
)endwhile endwhile2. 推进仿真钟TIME=FEL中安排的最早时间执行该成分的活动*(*一个进程可能有若干个活动,每一个活动有相应的活动子例程来处理该成分在此活动发生时的状态变化及对其它成分的作用)确定该成分的下一事件__If(TIME=t )则将FEL中TIME时刻发生的事件记录移到CEL中endif endwhile(为确定该进程的下一事件,必须对Dai(S)求值,进程交互法既可预定事件,又可对条件求值,因而它兼有事件调度法及活动扫描法两者的优点。