Modeling Causality with Event Relationship Graphs 23-7
Now reread the above paragraph without looking at Figure 23.5. You will see that it is a concise
description of the dynamic behavior of this queueing system. A verbal system description can be read
easily from the arcs of very complicated ERGs. Simply define each arc in the graph in a sentence—the
graph itself will connect these sentences into a complete description of the system’s dynamics. This is
an excellent way to communicate the essential features of a simulation model and a good step in model
validation. With experience in reading ERGs, it becomes easier to detect modeling errors.
23.3 Enrichments to Event Relations Graphs
23.3.1 Parametric Event Relationship Graphs
One of the most powerful enrichments of ERGs is parameters for the event nodes. Using event parameters,
a basic ERG can become an element in a multiple-dimensional array of ERGs without increasing the size
or complexity of the graph. For modeling large-scale systems, such as huge networks of queues, the ERG
represents a generic element in an array of ERGs for each component of the system. The events in the ERG
are parameterized (subscripted) with the particular station in the queueing network to which it applies by
using event parameters. For this, the basic definition of an ERG is expanded to allow the values of a string
of expressions computed after an event is executed to be passed to a string of state variables when an event
is scheduled. The values of expressions are included in boxes on the arcs.
To be explicit: define a string of state variables for each event, these are actually arguments for the
state change method for an event object. The values of these parameters are computed by a string of arc
expressions called arc attributes. The definition of a parametric arc in a simulation ERG is in Figure 23.7.
This arc is read as follows: Immediately after executing the state change for Event A, the elements of an
array of expressions, k, are evaluated. Before B is executed, the array of state variables, j, are assigned the
values previously computed for k. The arc condition and delay time, if any, are defined as before. This uses
a “pass-by-value” argument passing convention like in the C and Java programming languages.
Treating event parameters as subscripts, the graph becomes an element in an array of ERGs that model
a network composed of a large number of similar systems (Chan and Schruben, 2005). For example,
Figure 23.8 is an ERG for m parallel server queues in tandem. (The state changes are omitted in Figure 23.8
since these merely increment and decrement state variables Q(k) and R(k) for station k in the obvious
fashions.) The only change to the graph structure to obtain Figure 23.8 from Figure 23.5 is an additional
arc from the Finish(k) event for station k to the Arrival(k) event for the next station, k+1 (and the arc
attributes).
The ERG in Figure 23.8 can be easily extended to model more general queueing network systems. For
example, a generic queueing network can be modeled by adding a parameter, j, to the objects in the graph
that indicates job type. The attribute, k+1, on arc from Finish(k, j) toArrival(k, j) in the resulting ERG can
be replaced by a general routing function. Transportation resources and move times could be added using
conditions and delays on this arc. The ERG then becomes an element of a two-dimensional array (kth
station by jth job type) of ERGs. See Schruben and Schruben (2005) where a general queueing network of
arbitrary size is modeled with an ERG having only two nodes.
We conclude this section with an example of an ERG for a more complex system. This is a model of a tool
commonlyfound in semiconductor manufacturing called a cluster tool (a configuration of isolated process-
ing chambers served by one or more dedicated robots). In recent years, the use of cluster tools in semicon-
ductor manufacturing has increased rapidly, causing the performance of cluster tools to become more and
more important (see Perkinson et al., 1994; Chan and Schruben, 2004; Ding and Yi, 2004). The ERG for this
system is given by Figure 23.9, which is an element in an array of ERGs each of which defines the relation-
ships among events that simulate wafer j as it is processed or moved between chambers m and n byarobot.
Chamber 0 is a load lock for loading or removing wafers from the cluster tool. In Figure 23.9, f is the
next wafer on the robot’s move schedule; x(j) the current location of wafer j, y(j) its next destination,
and z the current location of the robot. The time for the robot to move from chamber n to chamber m is
denoted as t
n,m
and the time for chamber n to process wafer j is p
j,n.