TEST: "bloque IF del GPSS".

Anuncio
75.26 – Simulación
Bloque TEST
TEST: "bloque IF del GPSS".
TEST operador de relación A,B[,C]
Operador de relación:
Operador
Significado
L
<
LE
<=
G
>
GE
>=
E
=
NE
Distinto
A es un SNA cualquiera,
B es otro SNA cualquiera,
C es el rótulo al que bifurca si la proposición:
A operador de relación B es falsa.
Si no se coloca el rótulo C la transacción queda bloqueada si la proposición es
falsa (hasta que sea verdadera).
Ejemplo:
....
TEST LE P$QUIERO,S$PAN
LEAVE
PAN,P$QUIERO
....
En el ejemplo anterior suponemos que la transacción tiene almacenada en el
parámetro cuyo nombre es QUIERO la cantidad de panes que quiere.
La cantidad de panes que hay se almacenan en el STORAGE PAN.
Se supone que la panadería tiene un lugar donde se hace el pan, es decir, en ese
subsistema se coloca:
....
ENTER
PAN,P$PROD
....
Suponemos que en el parámetro PROD de la transacción que representa que se
acaba de hacer pan hemos puesto la cantidad de panes que se acaban de producir.
Si quisiéramos agregar una eventual compra de pan a otra panadería
representaríamos esa compra con:
ENTER
PAN,P$COMPR
Suponiendo que la transacción que representa la compra tiene en su parámetro
COMPR la cantidad de pan comprada por la panadería.
MUY IMPORTANTE ENTENDER QUE:
I) EN EL SUBSISTEMA de COMPRAS ó PRODUCCIÓN:
Se coloca el ENTER
II) En el subsistema de ventas/entrega de producto:
Se coloca el LEAVE
El TEST está puesto para no cometer el error de querer entregar mercadería que
no tengo en STOCK.
En ese caso, la simulación terminaría con el mensaje de error de que se ha
intentado tener "capacidad ocupada del STORAGE" negativa.
Si el cliente aguarda a que traigan el pan se coloca el TEST sin rótulo alternativo.
Si el cliente se va cuando no hay pan, se coloca el TEST con rótulo alternativo
(rótulo del TERMINATE).
Para terminar supondremos un caso "mixto".
Un % de los clientes se queda, el resto se va.
Por ejemplo, si el 30% se va si no hay PAN lo representaré mediante:
SUBSISTEMA Compradores de pan:
....
TEST LE
P$QUIERO,S$PAN,VEO
TRANSFER
,LLEVO
VEO
TRANSFER .3,,SEVA
TEST LE
P$QUIERO,S$PAN
LLEVO
LEAVE
PAN,P$QUIERO
SEVA
TERMINATE
Para el ejemplo propuesto, el subsistema de producción/compras queda
inalterable (por enunciado hemos supuesto que lo único que cambió fue la
conducta de los clientes de la panadería).
Descargar