NOSTATEQ.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

NOSTATEQ.MOD is a variation of CARWASH.MOD that demonstrates how to use edge attributes to assign values to vertex parameters rather than using state changes. At first glance, this might seem like a complicated way to do things, but it is useful. In NOSTATEQ.MOD, the status of the server, S, and length of the waiting line, Q, become parameters of the START and LEAVE vertices.

The values of these parameters are passed as edge attributes. When an entering customer finds the server idle (S>0), the customer will begin service, making the server busy; the value 0 is passed as an attribute of the edge from ENTER to START into the START parameter, S. The result is the same as having the state change S=0 (See CARWASH.MOD) in the START vertex. Similarly, when the server finishes service, its status will change back to idle (S=1). This is done by passing the edge attribute value, 1, along the edge from START to LEAVE into the parameter, S, of the LEAVE vertex. See the Event Relationship Graph for a visual representation of this technique.

State Variables

State Variables in NOSTATEQ.MOD
Variable Name Abbreviation Variable Description Size Type
QUEUE Q Number of customers waiting in line 1 Integer
SERVERS S Server available/busy = 1/0 1 Integer

Vertices

Vertices in NOSTATEQ.MOD
Vertex Name Vertex Description State Changes
RUN The simulation is started None
ARRIVE Arrival of a customer None
ENTER Customer entering the system None
START Start of service None
LEAVE Customer finishing service and leaving None

Initialization Conditions

Initialization Conditions in NOSTATEQ.MOD
Variable Description
SERVER Initial status of the server

Event Relationship Graph

NOSTATEQ.MOD
NOSTATEQ.MOD

English Translation

An English translation is a verbal description of a model, automatically generated by SIGMA.

The SIGMA Model, NOSTATEQ.MOD, is a discrete event simulation. 
It models SINGLE SERVER QUEUE WITHOUT STATE CHANGES.
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
QUEUE: NUMBER OF CUSTOMERS WAITING IN LINE   (integer valued)
SERVER: STATUS OF SINGLE SERVER (1=IDLE/0=BUSY)   (integer valued)
II. EVENT DEFINITIONS.
Simulation state changes are represented by event vertices (nodes or balls) in a SIGMA graph.  
Event vertex parameters, if any, are given in parentheses. Logical and dynamic relationships 
between pairs of events are represented in a SIGMA graph by edges (arrows) between event vertices.  
Unless otherwise stated, vertex execution priorities, to break time ties, are equal to 5.
1. The RUN(SERVER) event occurs when RUN INITIALIZATION.
   Initial values for, SERVER, are needed for each run.
   After every occurrence of the RUN event:
   Unconditionally, INITIATE THE FIRST CUSTOMER ARRIVAL;
   that is, schedule the ARRIV() event to occur without delay.
2. The ARRIV() event occurs when ARRIVAL OF A CUSTOMER.
   After every occurrence of the ARRIV event:
   Unconditionally, SCHEDULE THE NEXT ARRIVAL IN EXP(2) MINUTES;
   that is, schedule the ARRIV() event to occur in 2.0*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
   Unconditionally, THE CUSTOMER CAN ENTER THE SYSTEM;
   that is, schedule the ENTER(QUEUE) event to occur without delay...
   using the parameter value(s) of QUEUE+1.
3. The ENTER(QUEUE) event occurs when CUSTOMER ENTERING THE SYSTEM.
   After every occurrence of the ENTER event:
   If SERVER>0, then THERE IS A FREE SERVER, SO START SERVICE;
   that is, schedule the START(QUEUE,SERVER) event to occur without delay...
   using the parameter value(s) of QUEUE-1,0.
4. The START(QUEUE,SERVER) event occurs when START OF SERVICE.
   After every occurrence of the START event:
   Unconditionally, SERVICE TAKES 5 MINUTES;
   that is, schedule the LEAVE(SERVER) event to occur in 5 time units...
   using the parameter value(s) of 1.
   (Time ties are broken by an execution priority of 6.)
5. The LEAVE(SERVER) event occurs when CUSTOMER FINISHING SERVICE AND LEAVING.
   After every occurrence of the LEAVE event:
   If QUEUE>0, then CUSTOMERS ARE STILL WAITING, SO START SERVICE;
   that is, schedule the START(QUEUE,SERVER) event to occur without delay...
   using the parameter value(s) of QUEUE-1,0.

Comments

Back to top

Back to Model Library

Personal tools
Navigation