第三章理论模型建模方法
(4)状态(State)
对实体活动的特征状况或性态的划分,其表征量称为状态变量。在理 发店服务系统模型中,“顾客”有“等待服务”、“接受服务”等状态, “服务员”有“忙”和“闲’’等状态。活动总是与一个或几个实体的状 态相对应。状态可作为动态属性进行描述。
(5)事件(Event)
导致系统状态产生变化的瞬间操作或行为。事件发生的时刻称为事件 点。不关心事件所代表的操作和行为意义时,事件与事件点是同义语。若 事件的发生是有前提的.则称为条件事件。 活动、状态和事件三者间的联系:由子事件的发生会导致状态的变化,而 实体的活动可以与一定的状态相对应,因此可以用事件来标识活动的开始 和结束。其间的关系如图3.1所示,图中S表示状态,A表示活动,E表示事 件,P表示进程。
模型参数包括:终端数量,时间片长度、辅助操作时间(若一个作业在 一个时间片内执行不完,CPU为完成该作业重新入队并从队列中取出下 一作业所需要的时间)。 模型属性变量有:作业输入时间(随机变量)、作业所需执行的时间(随 机变量)等
排队规则同例3.1。
开始
NO
前一作业执行完毕
YES
用户等待
电话拨入
No 电话进入队列 售票员闲 YES
购票者到达
No
售票员闲 YES 有电话同时接入 No
购票者进入队列
售票员完成一个服务
No 排在队首 YES
售票员完成一个服务
YES No 电话队列为空 YES 排在队首 No
置售票员为忙
YES No 电话拨入 YES
开始电话服务 电话服务完毕
开始售票服务
售票服务完毕
置售票员为闲
图3.5 售票窗口服务系统实体流图
模型属性变量有“购票者到达时间”、“电话问讯者到达时间”、
“售票服务时间”和“电话服务时间”,均为随机变量。排队规则为
FIFO,服务规则是“窗口购票者和电话问讯者分别排队,优先进行电 话服务”。 注意,图3.5中有二处是与服务规则有关的判断相特殊操作。当“电 话问讯者”和“窗口购票音”同时到达而售票员处于“闲”状态时, 前者接受服务,后者加入购票者队列;当服务完毕而购票队列和电话 队列均不为空时,先进行电话服务。
活动结束事件 作业执行完毕 输入完毕 执行完毕或执行了一 个时间片 接到作业请求 前一作业执行完毕 作业执行完毕 输入完毕
CPU
闲 忙
作业
接受输入 等待执行 接受处理
假定作业“输入完毕”到CPU“接到执行请求”之间无时间延迟。则可将 二者看成同一事件。根据与例3.1同样的理由,“开始输入”和“作业 结柬排队”均为条件事件,且均可并入“执行完毕”事件处理。另外, “作业执行了一个时间片”与“执行完毕”标志着同样的事件处理—只 是前者发生时需将作业送去重新排队,因此可看作同一类事件。这样模 型中只需考虑“输入完毕”和“执行完毕或执行了一个时间片”两种类 型的事件即可。要注意作业的输入(到达)是有条件的且需耗费一定的时 间;而且,执行作业的结束(离去)可能是暂时的,也可能是永久的,需 要加以判断。
(1)辨识组成系统的实体及属性。将队列作为一种特殊的实体来考虑。 (2)分析各种实体的状态和活动,及其相互间影响,队列实体的状态是 队列的长度。 (3)考察有哪些事件导致了活动的开始或结束,或者可以作为活动开始或 结束的标志,以确定引起实体状态变化的事件,并合并条件事件。 (4)分析各种事件发生时,实体状态的变化规律。 (5)在一定的服务流程下,分析与队列实体有关的特殊操作(如换队等)。 (6)通过以上分析,以临时实体的流动为主线,用约定的图示符号画出镇 仿真系统的实体流程图。 (7)给出模型参数的取值、参变量的计算方法及属性描述变量的取值方法。 属性描述变量,例如顾客到达时间、服务时间等,可以取一组固定值,可以 由某一计算公式取值.还可以是一个随机变量。属性描述变量是随机变量时, 应给出其分布函数。 (8)给出队列的排队规则。有多个队列存在时,还应给出其服务规则.包 括队列的优先序、换队规则等。
本系统的实体为计算机用户、计算机的CPU及用户请求执行的作业, 其中前二类实体是水久实体。 作业是临时实体。
分时计算机系统实体列表 实 体 活 动 状 态
用
户
输入作业 等待输入
执行作业 等待作业
输入 等候
忙 闲
CPU
作 业
输入作业 进入队列 执行作业
接受输入 等待执行 接受处理 队列长度
队 列
分时计算机系统活动与事件关系
3.1 基本概念和术语
(1)实体(Entity) 实体是构成系统的可单独辨识和描述的功能单元。
例如.工厂中的机器,商店中的服务员,生产线上的工件,交通道路上 的车辆等。
属性和行为相同或相近的实体可以用一类来描述,这样做可 以简化系统的组成和关系。例如,理发店服务系统可以看成 是由“服务员”和“顾客”两类实体组成的.而两类实体之 间存在服务与被服务的关系。
开始输入 输入完毕 CPU闲
YES NO
作业等待 其他作业执行完 一个时间片
置CPU为忙
开始执行作业
执行完一个时间片
NO
作业排在队首
作业执行完
YES
置CPU为闲
例3.3
剧院雇佣一名售票员同时负责剧票的窗口销售和对电话问讯者
的咨询服务。购票者按先到先服务的原则在窗口排队买票,问讯者打来 的电话由电话系统存储后按先来先服务的原则一一予以答复,电话服务 比窗口服务有更高的优先级。售票员正在售票时若有电话打入,则售票 员必须完成本次售票活动后再接听电话。系统建模的目的是研究售票员 的忙闲率。
(2)属性(Attribute)
属性是实体特征的描述.一般是实体所拥有的全部特征的 一个子集,用特征参数或变量表示。选用哪些特征参数作 为实体的属性与建模目的有关,可参照下述原则选取: ①便于实体的分类:
例如将理发店顾客的性别(“男”或“女”)作为属性考虑,可将“顾 客”实体分为二类.每类顾客占用不同的服务台。
建立实际系统的实体流图模型一是要对实际系统的工 作过程有深刻的理解和认识,二是要将事件、状态变化、 活动和队列等概念贯穿于建模过程中。 常用的图示符号只有菱形框(表示判断)、矩形框(表 示事件、状态、活动等中间过程)、圆端矩形框(表示开 始和结束)及箭头线(表示逻辑关系)等。
建模时可按照以下思路进行:
有其他顾客离开
No
接受理发服务
顾客理完离去
置理发员为闲
顾客排在 队首
(6)确定模型参变量
需给出的模型属性变量有:顾客的到达时间(随机变量)、 理发员为一个顾客理发所需的服务时间(随机变量)等,它 们的值可分别从不同的分布函数中抽取。 (7)给出排队规则 队列的排队规则是先到先服务(FIFO),即每到一名顾 客就排在队尾,服务员先为排在队首的顾客服务.
状态变化 实 体 用户
变化前
输入 等候
变化后
等候 输入 忙 闲 等待执行 接受处理 接受输入 长度1+1 长度-1
对应的活动 等待输入 输入作业 执行作业 等待作业 进入队列 执行作业 输入作业
活动开始事件 输入完毕 前一作业执行完毕 接到作业请求 执行完毕或执行了 一个时间片 输入完毕 前一作业执行完毕 作业执行完毕 作业进入队列 队首作业开始执行
本系统有—个永久实体,即售票员、售祟员有“窗口售票”和“电
话服务”两种活动,状态包括‘空闲”、“回电话”和“售票”。电话 问讯者和购票者为两类临时实体,其行为模式均与例3.1中的顾客实体
类似。本例与前二个例子的主要区别是Байду номын сангаас两条服务途径,因此可同时存
在二个队列,但顾客不可能换队。实体流图模型如图3.5所示。
第三章 理论模型建模方法
本章内容要求:
1、掌握实体流图法、活动周期法、Petri网法、Euler网法 建模的基本原理。 2、能够应用所学建模方法建立并分析实际系统模型 重点:实体流图法、Petri网法
本章介绍几种典型的离散事件建模方法。
实体流图法与计算机程序流程图的方法类似,可以描述临时 实体产生、流动、消 亡及其被永久实体加工、处理的过程和 逻辑关系。 活动周期图法针对实体的行为模式进行建模,可以直观地表 示出某类实体生命周期中的活动和状况、具有规范化的特点。 Petri网方法适于建立加工系统等多种离散事件系统的模型, 并可对网系统的特性进行比较严密的数学分析,得到对并发、 冲突、死锁等现象的深刻认识,应用也比较广泛。 Euler网方法以图论和网论为数学描述语言,贯穿了面向对象 的建模思想,描述方法比较规范,可以建立连续—离散事件混 合系统模型,方法的通用性较强。
(4)分析队列实体的操作
由于本问题中只有一个队列,面且顾客不会因排队人数太多而离去、 因此队列规则很简单,没有特殊的队列操作。
(5)画出系统实体流程图
通过以上分析,以顾客活动为主线画出理发店服务系统的实体流图。 顾客到达 进入理发店
No
理发员闲
YES
顾客进入队列
置理发员为忙 顾客开始理发
YES
顾客排队等待
3.2.2 模型的人工运行
建立实体流图模型后,选取有代表性的例子将流图全部走一遍,即 所谓人工运行。人工运行模型要求遍历流图的各个分支和实体的各种 可能状态,在时间逐步变化的动态条件下,分析事件的发生及状态的 变化过程、以检查模型酌组成和逻辑关系是否正确。 例3.1中假定: (1)系统的初始状态 永久实体“理发员”的状态及特殊实体“队列”的状态。所谓初始时 刻是指仿真开始的时刻,可以对应为实际系统(理发店)开门营业的时 间。此时,理发员为“闲”,队列长度是o。 (2)模型参数及变量的取值 本模型的变量包括第i个顾客与第i-1个顾客到达的时间间隔Ai.以及 理发员为第i个顾客的理发时间Si。一般说来,Ai , Si均为随机变量, 应根据其分布函数来产生。这里,为了便于解释.取其样本值为 A1=15 A2=32 A3=24 A4=40 A5=22, …