《管理系统仿真与GPSSJAVA》第三章课件_第1页
《管理系统仿真与GPSSJAVA》第三章课件_第2页
《管理系统仿真与GPSSJAVA》第三章课件_第3页
《管理系统仿真与GPSSJAVA》第三章课件_第4页
《管理系统仿真与GPSSJAVA》第三章课件_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章从GPSS到GPSS/Java北京市高等教育精品教材《管理系统仿真与GPSS/Java》第三章从GPSS到GPSS/Java北京市高等教育精品1第3章从GPSS到GPSS/Java3.1GPSS建模基础3.2基于GPSS的GPSS/Java第3章从GPSS到GPSS/Java3.1GPS23.1GPSS建模基础3.1.1GPSS处理程序也称为GPSS处理器,它是实现了GPSS算法的计算机解释程序。3.1.2GPSS描述模型的方法模块图:描述模型的逻辑结构,相当于程序框图或流程图,一共有50块左右,不同形状的模块代表不同的模拟功能。模块之间用箭线连接,箭头所指模块表示当前模块执行完后下一个要执行的模块。由箭线及其指向定义了模块执行的顺序,也称为模块图路径。模型程序:由按一定的逻辑排列并遵守一定语法规则的GPSS语句组成的文本文件,可由GPSS解释器执行。

3.1GPSS建模基础3.1.1GPSS处理程序33.1GPSS建模基础

例如:某理发馆只有一位理发师,顾客到达时间间隔平均为18分钟,偏差6分钟,均匀分布。理发师为一个顾客理发平均所需时间为16分钟,偏差4分钟,均匀分布。顾客到达后,若理发师闲,则立刻接受服务,否则按先来先接受服务的规则排队等待,模拟8小时。*Demo3_1.gpsSIMULATEGENERATEQUEUESEIZEDEPARTADVANCERELEASETERMINATEGENERATETERMINATESTARTEND

18,6JOEQJOEJOEQ16,4JOE48011

模块图

模型程序3.1GPSS建模基础例如:某理发馆只有一位理发师,顾43.1.3动态实体、服务实体和辅助实体仿真系统动态实体流动性暂驻性真实系统动态实体代表的实际事物超级市场顾客高速公路汽车货运系统卡车加工车间零件就诊医院病人服务实体固定实体,分为单服务台服务实体多服务台服务实体真实系统服务实体代表的实际事物超级市场收费员高速公路收费站货运系统仓库加工车间加工机床就诊医院医生与化验师辅助实体不对应实际系统的具体事物3.1.3动态实体、服务实体和辅助实体仿动态实体流动性暂驻51、动态实体动态实体在模型中总是试图从一个模块流入另一个模块,具有以下行为特点:1根据需要按一定时刻或一定间隔时间进入模型2在某一时刻可以离开模型3众多动态实体可以同时存在于模型中4在任一时刻,若有多个动态实体都要在模型中向前移动,那么要采取依次处理的机制动态实体在模型中停止运动的条件:动态实体总是试图从一个模块流入另一个模块,只有下列条件之一发生时停止运动。1流入的模块具有使动态实体停留某一事先确定的间隔时间的功能2流入的模块具有拒绝动态实体流入的功能,此时动态实体停留在紧前模块。3动态实体流入TERMINATE模块,便被排出模型之外1、动态实体动态实体在模型中总是试图从一个模块流入另一个模62、服务实体1.服务实体映射为实际系统中能够提供服务的实体,它们通常不会随着时间的变化,而发生移动或消失。2.服务实体有一定的容量。3.服务实体提供的服务要持续一定的时间(可为随机值)4.每个服务实体都有一对与动态实体相耦合的模块语句,代表服务的发生与结束。动态实体到达占用服务实体服务开始服务持续一段时间释放服务实体服务结束动态实体离开与动态实体相耦合的模块2、服务实体1.服务实体映射为实际系统中能够提供服务的实体73、辅助实体GPSS定义了若干不同类型的辅助实体,大都不对应实际系统的具体事物。这类实体有:1.排队实体(简称队列)2.函数实体(简称函数)3.保存值实体(简称保存值或保留值)4.表实体(简称表或统计表)5.逻辑开关实体(简称逻辑开关或开关)6.变量实体(简称变量)7.用户链实体(简称用户链)它们为建模提供逻辑、计算、统计和输出等方面的辅助功能。从定义这些辅助实体的数据结构方面来看,类似于服务实体,因此模型中将服务实体和辅助实体统称为资源实体。3、辅助实体GPSS定义了若干不同类型的辅助实体,大8模拟时钟模拟时钟为一全局变量,初值为0时间单位:由用户隐含定义模拟时间与实际时间:实际系统从一个状态过渡到另一个状态,需要一个较长的时间,在GPSS中,仅仅是对时间变量和一系列有限个状态变量重新赋值所需时间。3.1.4模拟时钟和仿真算法

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

关键事件:在某一未来的确定时刻所发生,只有以下两种情况。1)动态实体由GENERATE模块产生后通过该模块进入模型时,代表接受服务的实体到达服务系统的事件发生了。2)动态实体进入ADVANCE模块滞留一段时间后,代表接受服务的实体接受服务后离开服务实体的事件发生了。普通事件:由关键事件引发的事件为普通事件。事件三要素:1.事件类型,即发生了什么事2.事件发生时间,是否确定3.事件发生的主体,即事件发生在哪一个动态实体上3.1.5动态实体与事件在GPSS中,动态实体进113.1.5动态实体与事件动态实体映射为内存中的一个连续的存储区,动态实体有自己的属性:如编号、当前所在模块编号、下一个要进入的模块编号、未来移动时间等。未来事件链:存放在未来某个确定时刻会发生关键事件的动态实体,按照从小至大的未来发生时间依次从链头至链尾排列。时钟修正:根据未来链前端第一个动态实体的未来移动时间调整时钟,并把未来事件链上移动时间等于当前时刻的动态实体一一移入模型。

时钟修正后,处理器立即启动系统状态修正程序。3.1.5动态实体与事件动态实体映射为内存中的一个连续的存123.1.5动态实体与事件系统状态修正:处理器依次移动在当前时刻每一个可以移动的动态实体,使之在模型中尽可能向前运动。直到以下3个条件之一发生为止:(1)动态实体进入ADVANCE模块,获得未来移动时间后,被重新放到未来事件链。(2)动态实体被类似SEIZE的模块所拒绝时,停留在紧前模块。(3)动态实体进入TERMINATE模块被排除模型。若在当前时刻所有动态实体都停止了运动,则系统状态修正的操作结束;处理器立即启动时钟修正程序。系统状态修正和时钟修正交替进行,直到仿真结束的条件发生。3.1.5动态实体与事件系统状态修正:处理器依次移动在133.1.5动态实体与事件关键事件:在未来一个确定的时间会发放生的事件,如顾客到达理发馆和滞留一段确定的时间后释放理发师事件。发生关键事件触发调整当前时钟触发系统状态修正对应发生普通事件循环,直到普通事件全部发生为止再次发生关键事件普通事件:发生时间不确定,因关键事件的触发而发生。如,顾客到达可以触发排入队列事件、占用理发师事件(可能)、离开队列事件;释放理发师关键事件可以触发当前顾客离开理发馆事件,正在等待的顾客占用理发师、离开队列、开始理发事件等。3.1.5动态实体与事件关键事件:在未来一个确定的时间会发14动态实体由GENERATE模块产生。GENERATE模块每被执行一次,便产生一个动态实体,并为其编号,记录其未来移动时间和下一移入的模块,然后将其放至未来事件链(该动态实体当前所在模块为-1,下一要进入的模块就是该GENERATE模块)。在以后的某个时钟修正时刻(等于该动态实体的未来移动时间),这一动态实体被送入模型。由某GENERATE模块产生的动态实体在模型中开始移动时,首先将进入的是产生它的GENERATE模块,于是,该GENERATE模块又被执行一次,而以上的过程又被重复一次,即又由该GENERATE模块,产生一个新的动态实体,它被标记后,又被放至未来事件链,然后引发这一事件的动态实体进入紧后模块,开始其运动。模型输入的作用就是使模型的所有GENERATE模块按其排列的顺序,各被执行一次,且仅仅一次。于是模型输入完成后,未来事件链依次按未来移动时间的先后从头至尾排列着每个GENERATE模块产生的第一个动态实体。3.1.6.动态实体的产生与模型输入动态实体由GENERATE模块产生。GENERATE模153.2基于GPSS的GPSS/Java3.2.1什么是GPSS/Java

:GPSS/JAVA是用JAVA实现的GPSS专用仿真系统。GPSS/JAVA是使用JAVA来实现建模接口和仿真算法的若干程序模块,并将这些程序模块以类的形式集中封装在一仿真类库(gpssjv)中,以供用户使用。用户在建立仿真模型时,只需引入仿真类库,便可调用仿真类库提供的仿真算法和建模接口,来构建实际系统的仿真模型。

3.2基于GPSS的GPSS/Java3.2.1什么是G163.2.1GPSS/Java的优点(1)仿真系统完全向用户开放,用户可以根据需要任意向仿真类库添加实现某种功能的新接口。(2)GPSS/JAVA类库(gpssjv)结构高度模块化,模块由JAVA类组成。(3)建模语言功能的极大丰富与扩展,用户可以在模型程序中使用JAVA的语言部分的所有功能,并且可以使用JAVA本身提供的标准类库及其他开发人员提供的非标准的类库,来实现任何满足构造复杂模型所需要的操作。仿真类库仿真基础类仿真支持类BlockOp类资源实体类操作模块类动态实体类、仿真调度类、链表操作类、异常处理类、辅助操作符、常量定义接口和公用消息类封装了建模所需的模块语句和标准属性封装了模型程序界面接口和模型控制语句等3.2.1GPSS/Java的优点(1)仿真系统完全向用173.2.2.Java简述(1)对象与类客观存在的具体事物就是对象性质和行为相似的事物的总称为类要先定义类,然后用其产生对象。类含有两种属性:成员变量,描述对象的性质或状态成员方法,描述对象的行为或执行的操作

Java使用关键词class定义一个类,每个类要有一个类名,类名必须是合法的Java标识符。例如,以下定义了一个名为Facility的类,它有3个成员变量和5个成员方法。类公有成员私有成员又称接口,可以通过对象调用仅能被类内部的程序访问成员变量成员方法3.2.2.Java简述类公有成员私有成员又称接口,可以通183.2.2.Java简述//Facility.javapackgegpssjv;publicclassFacility{Stringname;intcurrentState=0;staticintcount=1;publicFacility(){=”FACI”+count;count++;}publicFacility(Stringname){=name;}publicvoidseize(){if(currentState==0){currentState=1;……return;}else{……}}……publicvoidrelease(){currentState=0;……}publicintFNU$(){if(currentState==0)return1;elsereturn0;}……}//定义包//成员变量1设备输出名//成员变量2设备当前状态//成员变量3设备编号//方法1构造方法无参//方法2构造方法有参//方法3占用设备//回到前一模块等待//方法4释放设备//方法5标准属性返回设备是否处于闲置状态3.2.2.Java简述//Facility.java193.2.2.Java简述(2)创建对象使用类,创建对象。例如:Facilityb1=newFacility(“BarberWang”);Facilityb2=newFacility(“BarberZhang”);b1和b2代表使用Facility类创建的两个对象,称为引用变量。对象在创建时会自动调用其构造方法,构造方法与类名相同,且无返回类型,常用以初始化对象的成员变量。一个类中,可以定义多个同名方法,但方法参数的类型或个数不同,这称为方法的重载;构造方法是特殊的方法,也可以重载。(3)this引用关键词this为一引用变量,在某一方法中代表当前对象,即调用该方法的对象。3.2.2.Java简述203.2.2.Java简述(4)继承与覆盖Java使用关键词extends来描述两个类的继承关系,例如:classAextendsB{…}则,A为B的子类。子类继承父类的非私有属性,可以重写(覆盖)父类签名相同的方法。(5)抽象方法与抽象类用关键词abstract修饰的方法和类,分别称为抽象方法和抽象类。BlockOp类封装了抽象方法run()和simulate(),称为模型程序界面接口,模型类必须实现这两个方法。(6)异常及其捕捉GPSS/JAVA提供了异常处理类gpssException.java等,用以处理模型运行时的常见异常。3.2.2.Java简述(4)继承与覆盖213.2.2.Java简述(7)包及其引用一个包中可以含有多个类,但只有公有类能够被该包以外的程序所访问。一个源程序文件可以定义多个类,但只能定义一个类是公有的,该程序文件必须以公有类的类名命名,扩展名为java。使用包语句package包名;将类定义在一个包中。GPSS/JAVA提供的所有类封装在gpssjv包中,仿真模型类必须引入该包,才能引用包中提供的建模接口。在对引用此包的模型程序进行编译和运行时,系统需要通过包的绝对路径访问包中被引用的类。JAVA约定由环境变量CLASSPATH提供此信息,即包路径的直接父目录的绝对路径。

3.2.2.Java简述(7)包及其引用223.2.2.Java简述(7)包及其引用

例如,若包gpssjv的路径为d:\myjava\gpss\gpssjv,则应设置CLASSPATH=.;d:\myjava\gpss在完成包的安装和正确设置后,若要在程序中使用包中的类,可以在程序首部使用包引入语句,例如:importgpssjv.*;(8)主类与主方法含有主方法的类称为主类。一个基于桌面的JAVA应用程序,程序从主类的主方法开始执行,主方法执行完,程序结束。3.2.2.Java简述(7)包及其引用233.2.3GPSS/JAVA描述模型的方式

GPSS/JAVA仍旧使用模块图描述系统模型的逻辑结构。

GPSS/JAVA模型程序是由按一定的逻辑排列,遵守JAVA语法规则的GPSS/JAVA类库接口语句组成的JAVA程序文件,编译后生成模型类文件,由JAVA解释器执行。GPSS/JAVA语句与GPSS模块语句和控制语句几乎一一对应。用GPSS/JAVA(桌面应用完全版)编写的Demo3_1模型的程序具有如下形式:3.2.3GPSS/JAVA描述模型的方式GPS243.2.3GPSS/JAVA描述模型的方式3.2.3GPSS/JAVA描述模型的方式253.2.3GPSS/JAVA描述模型的方式GPSS/JAVA模型程序有如下书写和语法要求:(1)必须引入gpssjv仿真包(类库)(2)定义一个模型公有类(简称模型类),模型程序文件名必须与模型类名相同,扩展名为java(3)模型类必须继承类库中定义的BlockOp类(4)主方法中创建一个模型类对象,通过此对象调用run方法(桌面应用学生版不需要定义主方法)(5)模型类必须实现父类的run方法,在此安排GPSS/JAVA的模型控制语句(6)第一个模型控制语句必须是setModel()语句,该语句创建仿真调度程序对象(7)所有GPSS的资源实体必须作为模型类成员变量,先定义,后使用(8)模型类必须实现父类的simulate方法,在此安排GPSS/JAVA的模块语句(9)模型每一个模块语句必须前导一个case标号,标号可以不连续,但必须为非负递增(10)不允许有case标号,而无模块语句。3.2.3GPSS/JAVA描述模型的方式GPSS/JA26谢谢谢谢27欢迎使用《管理系统仿真与GPSS/JAVA》欢迎使用《管理系统仿真与GPSS/JAVA》28第三章从GPSS到GPSS/Java北京市高等教育精品教材《管理系统仿真与GPSS/Java》第三章从GPSS到GPSS/Java北京市高等教育精品29第3章从GPSS到GPSS/Java3.1GPSS建模基础3.2基于GPSS的GPSS/Java第3章从GPSS到GPSS/Java3.1GPS303.1GPSS建模基础3.1.1GPSS处理程序也称为GPSS处理器,它是实现了GPSS算法的计算机解释程序。3.1.2GPSS描述模型的方法模块图:描述模型的逻辑结构,相当于程序框图或流程图,一共有50块左右,不同形状的模块代表不同的模拟功能。模块之间用箭线连接,箭头所指模块表示当前模块执行完后下一个要执行的模块。由箭线及其指向定义了模块执行的顺序,也称为模块图路径。模型程序:由按一定的逻辑排列并遵守一定语法规则的GPSS语句组成的文本文件,可由GPSS解释器执行。

3.1GPSS建模基础3.1.1GPSS处理程序313.1GPSS建模基础

例如:某理发馆只有一位理发师,顾客到达时间间隔平均为18分钟,偏差6分钟,均匀分布。理发师为一个顾客理发平均所需时间为16分钟,偏差4分钟,均匀分布。顾客到达后,若理发师闲,则立刻接受服务,否则按先来先接受服务的规则排队等待,模拟8小时。*Demo3_1.gpsSIMULATEGENERATEQUEUESEIZEDEPARTADVANCERELEASETERMINATEGENERATETERMINATESTARTEND

18,6JOEQJOEJOEQ16,4JOE48011

模块图

模型程序3.1GPSS建模基础例如:某理发馆只有一位理发师,顾323.1.3动态实体、服务实体和辅助实体仿真系统动态实体流动性暂驻性真实系统动态实体代表的实际事物超级市场顾客高速公路汽车货运系统卡车加工车间零件就诊医院病人服务实体固定实体,分为单服务台服务实体多服务台服务实体真实系统服务实体代表的实际事物超级市场收费员高速公路收费站货运系统仓库加工车间加工机床就诊医院医生与化验师辅助实体不对应实际系统的具体事物3.1.3动态实体、服务实体和辅助实体仿动态实体流动性暂驻331、动态实体动态实体在模型中总是试图从一个模块流入另一个模块,具有以下行为特点:1根据需要按一定时刻或一定间隔时间进入模型2在某一时刻可以离开模型3众多动态实体可以同时存在于模型中4在任一时刻,若有多个动态实体都要在模型中向前移动,那么要采取依次处理的机制动态实体在模型中停止运动的条件:动态实体总是试图从一个模块流入另一个模块,只有下列条件之一发生时停止运动。1流入的模块具有使动态实体停留某一事先确定的间隔时间的功能2流入的模块具有拒绝动态实体流入的功能,此时动态实体停留在紧前模块。3动态实体流入TERMINATE模块,便被排出模型之外1、动态实体动态实体在模型中总是试图从一个模块流入另一个模342、服务实体1.服务实体映射为实际系统中能够提供服务的实体,它们通常不会随着时间的变化,而发生移动或消失。2.服务实体有一定的容量。3.服务实体提供的服务要持续一定的时间(可为随机值)4.每个服务实体都有一对与动态实体相耦合的模块语句,代表服务的发生与结束。动态实体到达占用服务实体服务开始服务持续一段时间释放服务实体服务结束动态实体离开与动态实体相耦合的模块2、服务实体1.服务实体映射为实际系统中能够提供服务的实体353、辅助实体GPSS定义了若干不同类型的辅助实体,大都不对应实际系统的具体事物。这类实体有:1.排队实体(简称队列)2.函数实体(简称函数)3.保存值实体(简称保存值或保留值)4.表实体(简称表或统计表)5.逻辑开关实体(简称逻辑开关或开关)6.变量实体(简称变量)7.用户链实体(简称用户链)它们为建模提供逻辑、计算、统计和输出等方面的辅助功能。从定义这些辅助实体的数据结构方面来看,类似于服务实体,因此模型中将服务实体和辅助实体统称为资源实体。3、辅助实体GPSS定义了若干不同类型的辅助实体,大36模拟时钟模拟时钟为一全局变量,初值为0时间单位:由用户隐含定义模拟时间与实际时间:实际系统从一个状态过渡到另一个状态,需要一个较长的时间,在GPSS中,仅仅是对时间变量和一系列有限个状态变量重新赋值所需时间。3.1.4模拟时钟和仿真算法

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

关键事件:在某一未来的确定时刻所发生,只有以下两种情况。1)动态实体由GENERATE模块产生后通过该模块进入模型时,代表接受服务的实体到达服务系统的事件发生了。2)动态实体进入ADVANCE模块滞留一段时间后,代表接受服务的实体接受服务后离开服务实体的事件发生了。普通事件:由关键事件引发的事件为普通事件。事件三要素:1.事件类型,即发生了什么事2.事件发生时间,是否确定3.事件发生的主体,即事件发生在哪一个动态实体上3.1.5动态实体与事件在GPSS中,动态实体进393.1.5动态实体与事件动态实体映射为内存中的一个连续的存储区,动态实体有自己的属性:如编号、当前所在模块编号、下一个要进入的模块编号、未来移动时间等。未来事件链:存放在未来某个确定时刻会发生关键事件的动态实体,按照从小至大的未来发生时间依次从链头至链尾排列。时钟修正:根据未来链前端第一个动态实体的未来移动时间调整时钟,并把未来事件链上移动时间等于当前时刻的动态实体一一移入模型。

时钟修正后,处理器立即启动系统状态修正程序。3.1.5动态实体与事件动态实体映射为内存中的一个连续的存403.1.5动态实体与事件系统状态修正:处理器依次移动在当前时刻每一个可以移动的动态实体,使之在模型中尽可能向前运动。直到以下3个条件之一发生为止:(1)动态实体进入ADVANCE模块,获得未来移动时间后,被重新放到未来事件链。(2)动态实体被类似SEIZE的模块所拒绝时,停留在紧前模块。(3)动态实体进入TERMINATE模块被排除模型。若在当前时刻所有动态实体都停止了运动,则系统状态修正的操作结束;处理器立即启动时钟修正程序。系统状态修正和时钟修正交替进行,直到仿真结束的条件发生。3.1.5动态实体与事件系统状态修正:处理器依次移动在413.1.5动态实体与事件关键事件:在未来一个确定的时间会发放生的事件,如顾客到达理发馆和滞留一段确定的时间后释放理发师事件。发生关键事件触发调整当前时钟触发系统状态修正对应发生普通事件循环,直到普通事件全部发生为止再次发生关键事件普通事件:发生时间不确定,因关键事件的触发而发生。如,顾客到达可以触发排入队列事件、占用理发师事件(可能)、离开队列事件;释放理发师关键事件可以触发当前顾客离开理发馆事件,正在等待的顾客占用理发师、离开队列、开始理发事件等。3.1.5动态实体与事件关键事件:在未来一个确定的时间会发42动态实体由GENERATE模块产生。GENERATE模块每被执行一次,便产生一个动态实体,并为其编号,记录其未来移动时间和下一移入的模块,然后将其放至未来事件链(该动态实体当前所在模块为-1,下一要进入的模块就是该GENERATE模块)。在以后的某个时钟修正时刻(等于该动态实体的未来移动时间),这一动态实体被送入模型。由某GENERATE模块产生的动态实体在模型中开始移动时,首先将进入的是产生它的GENERATE模块,于是,该GENERATE模块又被执行一次,而以上的过程又被重复一次,即又由该GENERATE模块,产生一个新的动态实体,它被标记后,又被放至未来事件链,然后引发这一事件的动态实体进入紧后模块,开始其运动。模型输入的作用就是使模型的所有GENERATE模块按其排列的顺序,各被执行一次,且仅仅一次。于是模型输入完成后,未来事件链依次按未来移动时间的先后从头至尾排列着每个GENERATE模块产生的第一个动态实体。3.1.6.动态实体的产生与模型输入动态实体由GENERATE模块产生。GENERATE模433.2基于GPSS的GPSS/Java3.2.1什么是GPSS/Java

:GPSS/JAVA是用JAVA实现的GPSS专用仿真系统。GPSS/JAVA是使用JAVA来实现建模接口和仿真算法的若干程序模块,并将这些程序模块以类的形式集中封装在一仿真类库(gpssjv)中,以供用户使用。用户在建立仿真模型时,只需引入仿真类库,便可调用仿真类库提供的仿真算法和建模接口,来构建实际系统的仿真模型。

3.2基于GPSS的GPSS/Java3.2.1什么是G443.2.1GPSS/Java的优点(1)仿真系统完全向用户开放,用户可以根据需要任意向仿真类库添加实现某种功能的新接口。(2)GPSS/JAVA类库(gpssjv)结构高度模块化,模块由JAVA类组成。(3)建模语言功能的极大丰富与扩展,用户可以在模型程序中使用JAVA的语言部分的所有功能,并且可以使用JAVA本身提供的标准类库及其他开发人员提供的非标准的类库,来实现任何满足构造复杂模型所需要的操作。仿真类库仿真基础类仿真支持类BlockOp类资源实体类操作模块类动态实体类、仿真调度类、链表操作类、异常处理类、辅助操作符、常量定义接口和公用消息类封装了建模所需的模块语句和标准属性封装了模型程序界面接口和模型控制语句等3.2.1GPSS/Java的优点(1)仿真系统完全向用453.2.2.Java简述(1)对象与类客观存在的具体事物就是对象性质和行为相似的事物的总称为类要先定义类,然后用其产生对象。类含有两种属性:成员变量,描述对象的性质或状态成员方法,描述对象的行为或执行的操作

Java使用关键词class定义一个类,每个类要有一个类名,类名必须是合法的Java标识符。例如,以下定义了一个名为Facility的类,它有3个成员变量和5个成员方法。类公有成员私有成员又称接口,可以通过对象调用仅能被类内部的程序访问成员变量成员方法3.2.2.Java简述类公有成员私有成员又称接口,可以通463.2.2.Java简述//Facility.javapackgegpssjv;publicclassFacility{Stringname;intcurrentState=0;staticintcount=1;publicFacility(){=”FACI”+count;count++;}publicFacility(Stringname){=name;}publicvoidseize(){if(currentState==0){currentState=1;……return;}else{……}}……publicvoidrelease(){currentState=0;……}publicintFNU$(){if(currentState==0)return1;elsereturn0;}……}//定义包//成员变量1设备输出名//成员变量2设备当前状态//成员变量3设备编号//方法1构造方法无参//方法2构造方法有参//方法3占用设备//回到前一模块等待//方法4释放设备//方法5标准属性返回设备是否处于闲置状态3.2.2.Java简述//Facility.java473.2.2.Java简述(2)创建对象使用类,创建对象。例如:Facilityb1=newFacility(“BarberWang”);Facilityb2=newFacility(“BarberZhang”);b1和b2代表使用Facility类创建的两个对象,称为引用变量。对象在创建时会自动调用其构造方法,构造方法与类名相同,且无返回类型,常用以初始化对象的成员变量。一个类中,可以定义多个同名方法,但方法参数的类型或个数不同,这称为方法的重载;构造方法是特殊的方法,也可以重载。(3)this引用关键词this为一引用变量,在某一方法中代表当前对象,即调用该方法的对象。3.2.2.Java简述483.2.2.Java简述(4)继承与覆盖Java使用关键词extends来描述两个类的继承关系,例如:classAextendsB{…}则,A为B的子类。子类继承父类的非私有属性,可以重写(覆盖)父类签名相同的方法。(5)抽象方法与抽象类用关键词abstract修饰的方法和类,分别称为抽象方法和抽象类。BlockOp类封装了抽象方法run()和simulate(),称为模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论