中级GPSSWorld语言-理论知识

1 常用的系统数字属性码

分类属性码含义
模拟钟AC1模拟钟的绝对时钟值,返回一个实数
C1模拟钟的相对时钟值,返回一个实数
活动实体Pj返回活动实体所携带的j号参数的值
PR返回活动实体的优先级
队列Qj返回指定队列的当前长度
QCj返回指定队列的总排队人数
QTj返回指定队列中活动实体的平均等待时间
设施Fj返回设施的状态,若在使用中则返回1,否则返回0
存储器Sj返回指定存储器的当前含量
Rj返回指定存储器的剩余容量
SEj返回指定存储器的状态,若为空则返回1,否则返回0
SFj返回指定存储器的状态,若已满则返回1,否则返回0
SRj返回指定存储器的利用率
逻辑开关LSj若逻辑开关的状态为SET则返回1,否则返回0
保存值Xj返回指定保存值中的数值
变量Vj返回指定自定义变量的值
函数FNj返回指定函数的值
模块Nj返回进入指定模块的活动实体的总数
Wj返回指定模块中当前进入的活动实体数

2 表达式

>= GE

<= LE

3 定义语句

进行事先说明或初始化,应放在整个程序的前面,也就是GENERATE前面

3.1 EQU语句

NAME        EQU        X(不能用SNA码)

Q_1        EQU        1+2        ;  Q_1代表数值3

ABC        EQU        RN1        ;ABC代表的数值将在一开始仿真时调用RN1确定

3.2 VARIABLE变量定义语句

提前将表达式定义为变量

NAME        VARIABLE        X(合法表达式)

V_1        VARIABLE        10+RN1@11        ;服从10—20之间离散均匀分布的一个随机整数

3.3 FUNCTION 函数定义语句

NAME        FUNCTION        A,B

X1,Y1 / X2,Y2 /...

(1)离散值型函数(D)

FN_BAR        FUNCTION        RN1,D5

0.15,3/0.4,4/0.7,5/0.9,6/1,7

(2)连续值型函数(C)

FN_BAR        FUNCTION        RN1,C6

0,0 /0.15,3 /0.4,4/ 0.7,5 /0.9,6 /1,7

(3)属性值型函数(E)
(4)列表值型函数(L)
(5)属性列表值型函数(M)
内置函数

(1)Exponential——指数分布函数

 GENTERATE        ( Exponential(1,0,10))        ;到达时间间隔服从均值为10的指数分布

ADVANCE        (Exponential(2,0,20))        ;服务时间服从均值为20的指数分布

(2)Normal——正态分布函数

ADVANCE        Normal(1,500,15)        ;以500个时间单位为均值,225个时间单位为方差的正态分布的服务时间

(3)Poisson——泊松分布函数

3.4 RMULT设定随机数种子

RMULT        A,B,C,D,E,F,G

RMULT        ,,234,,456        ;将系统中3号随机数发生器的种子改为234,5号的改为456

4 中级模块语言及其相关的INITIAL初始化语句

4.1 LOGIC逻辑开关

LOGIC O        A

O:辅助码:R(关闭)S(打开)I(置为相反)

无条件进入

LOGIC S        L_BAR        ;将名字为L_BAR的逻辑开关的状态设为打开

4.2 SAVEVALUE保存值模块

SAVEVALUE        1,2        ;将数值2保存入1号保存值中

SAVEVALUE       1+,P2        ;将活动实体2号参数的值加入1号保存值中

4.3 INITIAL初始化语句

INITIAL        A,B

A:若为初始化开关,必须为LSj或LS$Name,表示逻辑开关的状态置为1

      若是初始化保存值,则必须为Xj或X$Name

INITIAL        LS1        ;将1号逻辑开关的初始值设置为1

INITIAL       LS$BAR        ;将BAR的逻辑开关的初值置为1

INITIAL       X$BAR,10        ;将BAR的保存值的初值置为10

4.4 TEST比较测试模块

通过测试比较两个数据的大小,并按照比较的结果来控制活动实体的运行

TEST O        A,B,C

O:E(相等)NE(不等于)L(小于)LE(小于等于)G(大于)GE(大于等于)

若比较结果为真则通过此模块,进入下一模块;若为假,则去C域的地址;若C缺省,则停留在上一模块等候

TEST E        Q2,3,ADD_BAR

测试2号队列队长与3是否相等,若是则通过此模块进入下一模块,若不等就去ADD_BAR

4.5 GATE测试模块

TEST E        LS1,1        ;用逻辑开关控制大门,需要不停地测试大门的状态

不停地去测试,效率较低

GATE用来测试系统中各类实体的当前状态,包括设施、存储器、逻辑开关等,只有在测试的实体发生变化时才会去测试

GATE O        A,B

实体状态代码和含义:

实体分类状态代码代码含义
设施NU制定设施现处于非使用状态
U制定设施现处于使用状态
存储器SE指定存储器处于空状态
SF满状态
SNE不空状态
SNF

不满状态

逻辑开关LS指定逻辑开关处于打开状态(1)
LR关闭(0)

GATE模块的功能是测试A操作数所指定的实体状态是否和辅助码所示的状态吻合,是则通过;否则去B域的地址码;B省略,则等待

4.6 SELECT测试模块

SELECT O        A,B,C,D,E,F

(1)关系模式

B:要扫描的那类固定实体的最小编号

C:要扫描的那类固定实体的最大编号

D:进行比较的数值

E:需要考察的系统数字属性的族名

F:程序块地址

SELECT LE        1,4,7,10,S,ADD

依次检查4-7号实体中是否有小于等于10的,有就将此存储器的编号记录到活动实体的1号参数中,进入下一模块;如果没有,则活动实体1号参数不做任何改动,活动实体转去ADD模块

(2)极值模式

O 为MAX或MIN

SELECT MAX        SMAX,2,4,,S

依次检查2-4号存储器的含量选出最大值,并将其号码存入活动实体SMAX的参数中

(3)逻辑模式

O为FNV FV I LS LR NI NU SE SF SNE SNF SNV SV U

SELECT SF        4,3,7,,,ADD_1

依次检查3-7号存储器是否有满的,有就将满足条件的最小的存储器号码保存到活动实体的4号参数中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值