|
Modeler's Corner
Using the Status Element to Track Boolean
State Variables
Rick Kossik
Principal
GoldSim Technology Group
rkossik@goldsim.com
Most real-world models involve tracking the status of
various aspects of a system that are Boolean; that is,
always in one of two possible states or conditions (e.g.,
on/off; yes/no, true/false). For example:
·
If modeling a water supply system, at any point in time, you may
need to track whether or not a particular pump is on or off.
·
If modeling a project, at any point in time, you may need to track
whether you are above or below a particular spend limit.
·
If modeling a complex machine, at any point in time, you may need
to know whether or not certain parts of the system have
failed, and if so, the manner in which it has failed.
GoldSim provides a powerful element to easily facilitate
this - the Status element. Status elements allow you to
monitor the status of something that is changed
instantaneously (i.e., is triggered) by events. The
single output of a Status element is a
condition
(True or False). The element has an initial condition (True
or False) and two triggers: one that sets the Status to
True, and another that sets the Status to False.
The dialog for a Status element looks like this:

Within the Status dialog, you should first specify the
Initial Condition for the element (True or False). This can
be entered as a condition (e.g., False) or a
conditional expression. By default, it is False.
You must then specify the triggering event(s) which cause
the element to be set to True and False. These are both
defined via Trigger… buttons, which provide access to
standard Trigger dialogs:

You would use a Status element to track the status or state
of processes or objects in your model. For example, if you
were modeling a material handling facility, you could use a
Status element to signify whether or not a particular
storage area could accept any more
material
(i.e., is it full?). You might then reference the output of
the Status element in a Selector element or a Decision
element to determine the flow of material in your model.
To understand how a Status element works, consider the
following simple example. Assume that a Status element
defaults to False. A triggering event is defined which sets
the element to True whenever
Timed
Event A occurs (every 13 days). Similarly, a
triggering event is defined which sets the element to False
whenever Timed Event B occurs (every 15 days).
The output of this simulation would look like this (note
that in a chart, 1 corresponds to True, and 0 corresponds to
False):

This functionality allows you to track the status or state
of processes or objects in your model. For example, if you
were modeling a material handling facility, you could use a
Status element to signify whether or not a particular
storage area could accept any more
material
(i.e., is it full?). You might then reference the output of
the Status element in a Selector element or a Splitter
element to appropriately control the flow of material in
your model.
Suggestions?
Do you have any suggestions for future Modeler's Corner articles? If so, I'd love to hear from you. Please contact me directly at rkossik@goldsim.com.
|