||Transactions or Xacts are dynamic, active,
universally usable model elements. Transactions are created by
||Facilities are used to emulate Single-Channel Queueing Systems or Single Servers.|
||Queues are used to statistically record waiting times
of entering Transactions and to calculate attributes related to waiting:
average and maximum length of the Queue, number of Transactions passing through
without waiting and others.|
||Storages are used for models with multiple servers,
service stations or -channels, working parallelly.
A multi-channel Queueing System can serve multiple demands at the same time.
A Storage has a defined capacity. If it is reached, entering
Transactions must wait until room becomes available in the Storage. |
||Logic Switches are model elements, that can take on two states: On (Set) or Off (Reset).
A state can be assigned before the simulation run starts using the |
INITIAL control statement.
During a simulation run the state can be change by a
||Savevalues are Storage places for numerical values.
They are similar to variables in classic programming languages and are
rarely used in GPSS/H since the Amper-Variable concept has been introduced|
||Matrices are two-dimensional arrays of these values.
They are often useful because with Amper Variables only one-dimensional arrays can be used.|
||Tables are model elements, used to classify observed
values and to calculate frequencies, mean values and standard deviations.|
||A Function in GPSS/H - just like in mathematical applications - is an assignment rule,
that describes how an element from a set is assigned exactly one element of another set.|
||Variables can be compared to formula functions in BASIC:
They are expressions or formulas with a name. When they are called they return
a current value. In the modern GPSS/H they have become almost obsolete:
Expressions can appear almost anywhere. If multiple occurences of the same
expression are used, it is still advisable to use the "old-fashioned"
Variables as abbreviations.|
||Groups are sets of values that can be subject to various set operators.
Groups of Transactions facilitate a communication between them that is otherwise prohibited.|
|Future Event Chain
||The Future-Event-Chain (FEC) contains all Transactions, that are waiting for a future value of the simulation clock.
A Transaction enters the FEC, when it is created by a |
GENERATE-Block, or when it enters
ADVANCE-Block. In the FEC, Transactions are ordered by their Move-Time.
|Current Event Chain
||The CEC contains all Transactions, that are currently
active and could be moved. They could be blocked though, because they
are waiting for a certain condition. Whenever the Simulation clock
moves from on event time to the next, the internal control of GPSS/H tries
to move all Transactions in the CEC. It starts at the head of the CEC
and moves the first Transaction from Block to Block, until it is
||The Internal Control of GPSS/H manages the course of
Transaction using a fixed algorithm. To emulate specific courses, it
is possible to withdraw Transactions from the Internal Control,
by putting them into a User Chain. They remain there, until
they are released by another Transaction. This way it is possible,
to model real processes of interaction.|
||Using the |
PREEMPT-Block, a Transaction can edge out
another Transaction that is in a Facility, and temporarily put it into
an Interrupt Chain. This preemption can be reversed by
||Transactions can copy themselves. Every Transaction forms
an Assembly Set with its copies. Transactions of the same Assembly
Set can wait for each other. There course can be synchronized. After
running sperately they can be rejoined again.|