TIMEOUT.MOD

From Support

Jump to: navigation, search

Back to Model Library

See also: How to read .MOD pages

Contents

Description

Time-constrained processing is where two processes must be performed within a certain interval. Examples of time-constrained processes are common in semiconductor manufacturing, metal foundries, food processing, etc. where priming, pre-heating, or cleaning is required before performing a major processing step.

TIMEOUT.MOD models a heat and press sequence; parts arrive every t_a minutes and must be heated in a furnace (taking t_h minutes) before they can be pressed by a mold press machine (taking t_p minutes). The interarrival times and both processing steps are somewhat random. The sequence is time-constrained because there is a maximum cooling time limit of TC after a part is heated during which the pressing step must start. If a part waits longer than TC minutes after being heated before pressing starts, it must be returned to the furnace for reheating.

TIMEOUTR.MOD models the same system without using any transient entities, using event cancellation instead.

State Variables

State Variables in TIMEOUT.MOD
Variable Name Abbreviation Variable Description Size Type
FURNACE F Status of the furnace (BUSY=0, IDLE=1) 1 Integer
PRESS P Status of the mold press (BUSY=0, IDLE=1) 1 Integer
QUEUEF QF Queue length of parts waiting for the furnace 1 Integer
QUEUEP QP Queue of parts waiting for the mold press 1 Integer
ID ID Part ID for parts waiting in QP, for the press 1 Real
TC TC Maximum cooling time limit 1 Real
ENT ENT Entity data buffer for parts waiting for press 15 Real
FPT FPT Mean furnace processing time 1 Real
MPT MPT Mean mold machine processing time 1 Real

Vertices

Vertices in TIMEOUT.MOD
Vertex Name Vertex Description State Changes
RUN Initialization of the run F=1, P=1
ENTER Part entering the queue for the furnace QF=QF+1
HEAT Start of heating a part F=0, QF=QF-1
READY Completion of part heating, ready for the press F=1, ID=ID+1, ENT[0]=ID, QP=QP+PUT{FIF;1}
REDO Re-routing of a part back to the furnace QP=QP-1, QF=QF+1
COLD Time limit for part ID has run out None
PRESS Start of the mold press operation P=0, QP=QP-GET{FST;1}
DONE Completion of a finished part P=1

Initialization Conditions

Initialization Conditions in TIMEOUT.MOD
Variable Description
TC Maximum cooling time limit
FPT Mean furnace processing time
MPT Mean mold machine processing time

Event Relationship Graph

TIMEOUT.MOD
TIMEOUT.MOD

English Translation

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

The SIGMA Model, TIMEOUT.MOD, is a discrete event simulation. 
It models A TIME-CONSTRAINED PROCESS SEQUENCE (HEAT-PRESS).
I. STATE VARIABLE DEFINITIONS.
For this simulation, the following state variables are defined:
F: STATUS OF THE FURNACE (BUSY=0, IDLE=1)   (integer valued)
P: STATUS OF THE MOLD PRESS (BUSY=0, IDLE=1)   (integer valued)
QF: QUEUE LENGTH OF PARTS WAITING FOR THE FURNACE   (integer valued)
QP: QUEUE OF PARTS WAITING FOR THE MOLD PRESS   (integer valued)
ID: PART ID FOR PARTS WAITING IN QP, FOR THE PRESS  (real valued)
TC: MAXIMUM COOLING TIME LIMIT  (real valued)
ENT[15]: ENTITY DATA BUFFER FOR PARTS WAITING FOR PRESS  (real valued)
FPT: MEAN FURNACE PROCESSING TIME  (real valued)
MPT: MEAN MOLD MACHINE PROCESSING TIME  (real valued)
RNK[25]: NEEDED FOR ENTITY LISTS (NOT USED HERE)  (real 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(TC,FPT,MPT) event occurs when INITIALIZATION OF THE RUN.
   Initial values for, TC,FPT,MPT, are needed for each run.
   This event causes the following state change(s):
   F=1
   P=1
   After every occurrence of the RUN event:
   Unconditionally, THE FIRST PART CAN ENTER;
   that is, schedule the ENTER() event to occur without delay.
2. The ENTER() event occurs when PART ENTERING THE QUEUE FOR THE FURNACE.
   This event causes the following state change(s):
   QF=QF+1
   After every occurrence of the ENTER event:
   Unconditionally, THE NEXT PART CAN ENTER;
   that is, schedule the ENTER() event to occur in 1*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
   If F>0, then THE FURNACE IS IDLE, START HEATING THE PART;
   that is, schedule the HEAT() event to occur without delay.
3. The HEAT() event occurs when START OF HEATING A PART.
   This event causes the following state change(s):
   F=0
   QF=QF-1
   After every occurrence of the HEAT event:
   Unconditionally, AFTER A TIME DELAY, THE PART WILL BE READY;
   that is, schedule the READY() event to occur in FPT*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
4. The READY() event occurs when COMPLETION OF PART HEATING, READY FOR THE PRESS.
   This event causes the following state change(s):
   F=1
   ID=ID+1
   ENT[0]=ID
   QP=QP+PUT{FIF;1}
   After every occurrence of the READY event:
   If QF>0, then THERE IS WORK IN QUEUE, START HEATING NEXT PART;
   that is, schedule the HEAT() event to occur without delay.
   Unconditionally, AFTER THE COOLING PERIOD, THE PART WILL BE COLD;
   that is, schedule the COLD(ENT[0]) event to occur in TC time units...
   using the parameter value(s) of ID.
   (Time ties are broken by an execution priority of 6.)
   If P>0, then THE PRESS IS IDLE, START PRESSING THE PART;
   that is, schedule the PRESS() event to occur without delay.
   (Time ties are broken by an execution priority of 4.)
5. The COLD(ENT[0]) event occurs when TIME LIMIT FOR PART ID HAS RUN OUT.
   After every occurrence of the COLD event:
   If GET{KEY;1}, then A COLD PART WILL NEED TO BE REDONE;
   that is, schedule the REDO() event to occur without delay.
   (Time ties are broken by an execution priority of 4.)
6. The PRESS() event occurs when START OF THE MOLD PRESS OPERATION.
   This event causes the following state change(s):
   P=0
   QP=QP-GET{FST;1}
   After every occurrence of the PRESS event:
   Unconditionally, AFTER A TIME DELAY, THE PART WILL BE DONE;
   that is, schedule the DONE() event to occur in MPT*ERL{1} time units.
   (Time ties are broken by an execution priority of 6.)
7. The DONE() event occurs when COMPLETION OF A FINISHED PART.
   This event causes the following state change(s):
   P=1
   After every occurrence of the DONE event:
   If QP>0, then THERE IS WORK IN QUEUE, START PRESSING NEXT PART;
   that is, schedule the PRESS() event to occur without delay.
8. The REDO() event occurs when RE-ROUTING OF A PART BACK TO THE FURNACE.
   This event causes the following state change(s):
   QP=QP-1
   QF=QF+1
   After every occurrence of the REDO event:
   If F>0, then THE FURNACE IS IDLE, HEAT THE PART TO REDO;
   that is, schedule the HEAT() event to occur without delay.

Comments

Back to top

Back to Model Library

Personal tools
Navigation