《管理系统仿真与GPSSJAVA》第三章课件..ppt

上传人(卖家):三亚风情 文档编号:2604952 上传时间:2022-05-10 格式:PPT 页数:28 大小:2.04MB
下载 相关 举报
《管理系统仿真与GPSSJAVA》第三章课件..ppt_第1页
第1页 / 共28页
《管理系统仿真与GPSSJAVA》第三章课件..ppt_第2页
第2页 / 共28页
《管理系统仿真与GPSSJAVA》第三章课件..ppt_第3页
第3页 / 共28页
《管理系统仿真与GPSSJAVA》第三章课件..ppt_第4页
第4页 / 共28页
《管理系统仿真与GPSSJAVA》第三章课件..ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第三章第三章 从从GPSS 到到 GPSS/Java北京市高等教育精品教材北京市高等教育精品教材管理系统仿真与管理系统仿真与GPSS/JavaGPSS/Java第第3 3章章 从从 GPSS GPSS 到到 GPSS/JavaGPSS/Java3.1 GPSS建模基础建模基础3.2 基于基于GPSS的的GPSS/Java3.1 GPSS 3.1 GPSS 建模基础建模基础3.1.1 GPSS处理程序 也称为称为GPSS处理器处理器,它是实现了是实现了GPSS算法的计算法的计算机解释程序算机解释程序。3.1.2 GPSS描述模型的方法 模块图模块图:描述模型的逻辑结构,相当于程序框图或流程描述模

2、型的逻辑结构,相当于程序框图或流程图图,一共有有50块左右,不同形状的模块代表不同的模块左右,不同形状的模块代表不同的模拟功能拟功能。模块之间用箭线连接模块之间用箭线连接,箭头所指模块表示当前模块执行完后下一个要执行的模块。由箭线及其指向定由箭线及其指向定义了模块执行的顺序义了模块执行的顺序,也称为模块图路径。 模型程序模型程序:由按一定的逻辑排列并遵守一定语法规则的GPSS语句组成的文本文件,可由GPSS解释器执行。 3.1 GPSS3.1 GPSS建模基础建模基础 例如: 某理发馆只有一位理发师,顾客到达时间间隔平均为18分钟,偏差 6分钟,均匀分布。理发师为一个顾客理发平均所需时间为16

3、分钟,偏差 4分钟,均匀分布。顾客到达后,若理发师闲,则立刻接受服务,否则按先来先接受服务的规则排队等待,模拟8小时。 * Demo3_1.gpsSIMULATEGENERATEQUEUESEIZEDEPARTADVANCERELEASETERMINATEGENERATETERMINATESTARTEND 18, 6JOEQJOEJOEQ16, 4JOE48011 模块图 模型程序3.1.3 3.1.3 动态实体、服务实体和辅助实体动态实体、服务实体和辅助实体仿仿真真系系统统动态实体流动性暂驻性真实系统 动态实体代表的实际事物超级市场 顾客高速公路 汽车货运系统 卡车加工车间 零件就诊医院 病

4、人服务实体固定实体,分为单服务台服务实体多服务台服务实体真实系统 服务实体代表的实际事物 超级市场 收费员 高速公路 收费站 货运系统 仓库 加工车间 加工机床 就诊医院 医生与化验师辅助实体不对应实际系统的具体事物 1、 动态实体动态实体动态实体在模型中总是试图从一个模块流入另一个模块,具有以下行为特点:1 根据需要按一定时刻或一定间隔时间进入模型2 在某一时刻可以离开模型3 众多动态实体可以同时存在于模型中4 在任一时刻,若有多个动态实体都要在模型中向前移动,那么要采取依次处理的机制动态实体在模型中停止运动的条件: 动态实体总是试图从一个模块流入另一个模块,只有下列条件之一发生时停止运动。

5、1 流入的模块具有使动态实体停留某一事先确定的间隔时间的功能流入的模块具有使动态实体停留某一事先确定的间隔时间的功能2 流入的模块具有拒绝动态实体流入的功能,此时动态实体停留在紧前流入的模块具有拒绝动态实体流入的功能,此时动态实体停留在紧前模块模块。3 动态实体流入动态实体流入TERMINATE模块,便被排出模型之外模块,便被排出模型之外2、服务实体、服务实体1. 服务实体映射为实际系统中能够提供服务的实体, 它们通常不会随着时间的变化,而发生移动或消失 。2. 服务实体有一定的容量。3. 服务实体提供的服务要持续一定的时间(可为随机值)4. 每个服务实体都有一对与动态实体相耦合的模块语句,代

6、表服务的发生与结束。动态实体到达占用服务实占用服务实体服务开始体服务开始服务持续服务持续一段时间一段时间释放服务实释放服务实体服务结束体服务结束动态实体离开与动态实体与动态实体相耦合的模块相耦合的模块3、辅助实体、辅助实体 GPSS定义了若干不同类型的辅助实体辅助实体,大都不对应实际系大都不对应实际系统的具体事物统的具体事物。这类实体有:1. 排队实体(简称队列)2. 函数实体(简称函数)3. 保存值实体(简称保存值或保留值)4. 表实体(简称表或统计表)5. 逻辑开关实体(简称逻辑开关或开关)6. 变量实体(简称变量)7. 用户链实体(简称用户链) 它们为建模提供逻辑、计算、统计和输出等方面

7、的辅助功为建模提供逻辑、计算、统计和输出等方面的辅助功能能。从定义这些辅助实体的数据结构方面来看,类似于服务实体,因此模型中将服务实体和辅助实体统称为资源实体。将服务实体和辅助实体统称为资源实体。模拟时钟模拟时钟 模拟时钟为一全局变量,初值为 0 时间单位:时间单位:由用户隐含定义 模拟时间与实际时间:模拟时间与实际时间:实际系统从一个状态过渡到另一个状态,需要一个较长的时间,在GPSS中,仅仅是对时间变量和一系列有限个状态变量重新赋值所需时间。3.1.4 模拟时钟和仿真算法模拟时钟和仿真算法 - 最短时间步长事件模拟法最短时间步长事件模拟法3.1.4 模拟时钟和仿真算法模拟时钟和仿真算法 -

8、 最短时间步长事件模拟法最短时间步长事件模拟法在某个时间点上,该发生的事件在某个时间点上,该发生的事件依次发生(事件的发生与系统状态修正依次发生(事件的发生与系统状态修正一一对应),全部发生完毕,也就一一对应),全部发生完毕,也就完成了该时刻下系统状态的修正,完成了该时刻下系统状态的修正,于是时钟被调整到下一事件发生的时刻于是时钟被调整到下一事件发生的时刻3.1.5 3.1.5 动态实体与事件动态实体与事件 在在GPSS中,动态实体进入或流出某一模块就意味某一事件(普通中,动态实体进入或流出某一模块就意味某一事件(普通事件或关键事件)的发生或结束,动态实体的流动路径就是一系事件或关键事件)的发

9、生或结束,动态实体的流动路径就是一系列事件发生的顺序。列事件发生的顺序。 关键事件关键事件:在某一未来的确定时刻所发生,只有以下两种情况。1)动态实体由GENERATE模块产生后通过该模块进入模型时,代表 接受服务的实体到达服务系统的事件发生了。2)动态实体进入ADVANCE模块滞留一段时间后,代表接受服务的实体接受服务后离开服务实体的事件发生了。普通事件普通事件:由关键事件引发的事件为普通事件。事件三要素事件三要素: 1. 事件类型,即发生了什么事2. 事件发生时间,是否确定3. 事件发生的主体,即事件发生在哪一个动态实体上3.1.5 3.1.5 动态实体与事件动态实体与事件 动态实体动态实

10、体映射为内存中的一个连续的存储区,动态实体有自己的属性:如编号、当前所在模块编号、下一个要进入的模块编号、未来移动时间等。 未来事件链:未来事件链:存放在未来某个确定时刻会发生关键事件的动态实体,按照从小至大的未来发生时间依次从链头至链尾排列。 时钟修正时钟修正:根据未来链前端第一个动态实体的未来移动时间调整时钟,并把未来事件链上移动时间等于当前时刻的动态实体一一移入模型。 时钟修正后,处理器立即启动系统状态修正程序。3.1.5 3.1.5 动态实体与事件动态实体与事件 系统状态修正系统状态修正:处理器依次移动在当前时刻每一个可以移动的动态实体,使之在模型中尽可能向前运动。直到以下3个条件之一

11、发生为止:(1)动态实体进入ADVANCE模块,获得未来移动时间后,被重新放到未来事件链。(2)动态实体被类似SEIZE的模块所拒绝时,停留在紧前模块。(3)动态实体进入TERMINATE模块被排除模型。 若在当前时刻所有动态实体都停止了运动,则系统状态修正的操作结束;处理器立即启动时钟修正程序。系统状态系统状态修正和时钟修正交替进行,直到仿真结束的条件发生。修正和时钟修正交替进行,直到仿真结束的条件发生。3.1.5 3.1.5 动态实体与事件动态实体与事件关键事件关键事件:在未来一个确定的时间会发放生的事件,如顾客到达理发馆和滞留一段确定的时间后释放理发师事件。发生关键事件触发调整当前时钟触

12、发系统状态修正对应发生普通事件循环,直到普通事件全部发生为止再次发生关键事件普通事件普通事件:发生时间不确定,因关键事件的触发而发生。如,顾客到达可以触发排入队列事件、占用理发师事件(可能)、离开队列事件;释放理发师关键事件可以触发当前顾客离开理发馆事件,正在等待的顾客占用理发师、离开队列、开始理发事件等。l 动态实体由动态实体由 GENERATE GENERATE 模块产生模块产生。 GENERATEGENERATE模块每被执行一次,便模块每被执行一次,便产生一个动态实体产生一个动态实体,并为其编号,记录其未来移动时间和下一移入的模块,然后将其放至未来事件链然后将其放至未来事件链(该动态实体

13、当前所在模块为-1,下一要进入的模块就是该GENERATE 模块)。在以后的某个时钟修正时刻(等于该动态实体的未来移动时间),这一动态实体被送入模型。l 由某由某 GENERATE GENERATE 模块产生的动态实体在模型中开始移动时,首先将进模块产生的动态实体在模型中开始移动时,首先将进入的是产生它的入的是产生它的 GENERATE GENERATE 模块模块,于是,该 GENERATE 模块又被执行一次,而以上的过程又被重复一次,即又由该 GENERATE 模块,产生一个新的动态实体,它被标记后,又被放至未来事件链,然后引发这一事件的动态实体进入紧后模块,开始其运动。 l 模型输入的作用

14、就是使模型的所有模型输入的作用就是使模型的所有GENERATEGENERATE模块按其排列的顺序,各模块按其排列的顺序,各被执行一次,且仅仅一次。于是模型输入完成后,未来事件链依次按被执行一次,且仅仅一次。于是模型输入完成后,未来事件链依次按未来移动时间的先后从头至尾排列着每个未来移动时间的先后从头至尾排列着每个GENERATE GENERATE 模块产生的第一模块产生的第一个动态实体个动态实体。3.1.6.3.1.6.动态实体的产生与模型输入动态实体的产生与模型输入3.2 基于基于GPSS的的GPSS/Java3.2.1 什么是什么是GPSS/Java :l GPSS/JAVA是用 JAVA

15、实现的GPSS专用仿真系统。 l GPSS/JAVA 是使用 JAVA 来实现建模接口和仿真算法的若干程序模块 ,并将这些程序模块以类的形式集中封装在一仿真类库(gpssjv)中,以供用户使用。l 用户在建立仿真模型时,只需引入仿真类库,便可调用仿真类库提供的仿真算法和建模接口,来构建实际系统的仿真模型。 3.2.1 GPSS/Java的优点的优点(1)仿真系统完全向用户开放,用户可以根据需要任意向仿真类库添加实现某种功能的新接口。 (2)GPSS/JAVA类库(gpssjv)结构高度模块化,模块由JAVA类组成。(3)建模语言功能的极大丰富与扩展,用户可以在模型程序中使用JAVA的语言部分的

16、所有功能,并且可以使用JAVA本身提供的标准类库及其他开发人员提供的非标准的类库,来实现任何满足构造复杂模型所需要的操作。仿真类库仿真基础类仿真支持类BlockOp类资源实体类操作模块类动态实体类、仿真调度类、链表操作类、异常处理类、辅助操作符、常量定义接口和公用消息类封装了建模所需的模块语句和标准属性封装了模型程序界面接口和模型控制语句等3.2.2. Java简述简述(1)对象与类 客观存在的具体事物就是对象 性质和行为相似的事物的总称为类 要先定义类,然后用其产生对象。类含有两种属性: 成员变量,描述对象的性质或状态 成员方法,描述对象的行为或执行的操作 Java 使用关键词class定义

17、一个类,每个类要有一个类名,类名必须是合法的Java标识符。 例如,以下定义了一个名为Facility的类,它有3个成员变量和5个成员方法。 类公有成员私有成员又称接口,可以通过对象调用仅能被类内部的程序访问成员变量成员方法3.2.2.Java简述简述/Facility.javapackge gpssjv;public class FacilityString name; int currentState=0; static int count=1; public Facility() this.name=”FACI”+count; count+;public Facility(String

18、name) this.name=name;public void seize() if(currentState=0) currentState=1; return; else public void release() currentState=0; public int FNU$() if(currentState=0) return 1; else return 0;/定义包/成员变量1 设备输出名/成员变量2 设备当前状态/成员变量3 设备编号/方法1 构造方法 无参/方法2 构造方法 有参/方法3 占用设备/回到前一模块等待/方法4 释放设备/方法5 标准属性 返回设备是否处于闲置状

19、态3.2.2. Java简述简述(2)创建对象 使用类,创建对象。例如: Facility b1=new Facility(“Barber Wang”); Facility b2=new Facility(“Barber Zhang”); b1和 b2代表使用 Facility类创建的两个对象,称为引用变量。对象在创建时会自动调用其构造方法,构造方法与类名相同,且无返回类型,常用以初始化对象的成员变量。 一个类中,可以定义多个同名方法,但方法参数的类型或个数不同,这称为方法的重载;构造方法是特殊的方法,也可以重载。(3)this引用 关键词 this 为一引用变量,在某一方法中代表当前对象,即

20、调用该方法的对象。3.2.2. Java简述简述(4)继承与覆盖 Java使用关键词 extends 来描述两个类的继承关系,例如: class A extends B 则,A为B的子类。子类继承父类的非私有属性,可以重写(覆盖)父类签名相同的方法。(5)抽象方法与抽象类 用关键词abstract 修饰的方法和类,分别称为抽象方法和抽象类。BlockOp 类封装了抽象方法run() 和simulate() ,称为模型程序界面接口,模型类必须实现这两个方法。(6)异常及其捕捉 GPSS/JAVA提供了异常处理类gpssException.java等,用以处理模型运行时的常见异常。3.2.2. J

21、ava简述简述(7)包及其引用一个包中可以含有多个类,但只有公有类能够被该包以外的程序所访问。一个源程序文件可以定义多个类,但只能定义一个类是公有的,该程序文件必须以公有类的类名命名,扩展名为java。使用包语句使用包语句 package 包名;将类定包名;将类定义在一个包中义在一个包中。GPSS/JAVA提供的所有类封装在gpssjv包包中,仿真模型类必须引入该包,才能引用包中提供的建模接口。在对引用此包的模型程序进行编译和运行时,系统需要通过包的绝对路径访问包中被引用的类。JAVA约定由环境环境变量变量 CLASSPATH 提供此信息,即包路径的直接父目录的绝对路径。 3.2.2. Jav

22、a简述简述(7)包及其引用 例如,若包gpssjv的路径为 d:myjavagpssgpssjv,则应设置 CLASSPATH=.;d:myjavagpss 在完成包的安装和正确设置后,若要在程序中使用包中的类,可以在程序首部使用包引入语句程序首部使用包引入语句,例如: import gpssjv.*; (8)主类与主方法 含有主方法的类称为主类。 一个基于桌面的JAVA应用程序,程序从主类的主方法开始执行,主方法执行完,程序结束。 3.2.3 GPSS/JAVA描述模型的方式描述模型的方式 GPSS/JAVA仍旧使用模块图描述系统模型的逻仍旧使用模块图描述系统模型的逻辑结构辑结构。 GPSS

23、/JAVA 模型程序是由按一定的逻辑排列,模型程序是由按一定的逻辑排列, 遵守遵守JAVA语法规则的语法规则的GPSS/JAVA类库接口语句组成类库接口语句组成的的 JAVA 程序文件,编译后生成模型类文件,由程序文件,编译后生成模型类文件,由 JAVA解释器执行解释器执行。GPSS/JAVA语句与GPSS模块语句和控制语句几乎一一对应。 用 GPSS/JAVA (桌面应用完全版)编写的 Demo3_1 模型的程序具有如下形式:3.2.3 GPSS/JAVA描述模型的方式描述模型的方式3.2.3 GPSS/JAVA描述模型的方式描述模型的方式GPSS/JAVA模型程序有如下书写和语法要求:模型

24、程序有如下书写和语法要求:(1)必须引入gpssjv仿真包(类库)(2)定义一个模型公有类(简称模型类),模型程序文件名必须与模型类名相同,扩展名为 java(3)模型类必须继承类库中定义的 BlockOp 类(4)主方法中创建一个模型类对象,通过此对象调用 run 方法(桌面应用学生版不需要定义主方法)(5)模型类必须实现父类的run方法,在此安排GPSS/JAVA的模型控制语句(6)第一个模型控制语句必须是 setModel()语句,该语句创建仿真调度程序对象(7)所有GPSS的资源实体必须作为模型类成员变量,先定义,后使用(8)模型类必须实现父类的 simulate方法,在此安排 GPSS/JAVA的模块语句(9)模型每一个模块语句必须前导一个 case 标号,标号可以不连续,但必须为非负递增(10)不允许有case标号,而无模块语句。 谢谢 谢谢 欢迎使用欢迎使用管理系统仿真与管理系统仿真与GPSS/JAVA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(《管理系统仿真与GPSSJAVA》第三章课件..ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|