33-12 Handbook of Dynamic System Modeling
The circles are used to represent dead states, sometimes known as queues, and these have durations that
cannot be known in advance. Though we know the simulation time at which an entity enters a dead state,
such a state is defined as one in which the entity waits until some event provides a resource or co-operating
entity that allows it to proceed from that dead state. Hence, we do not know the time at which it will end. A
dead state is always preceded by an active state and is always followed by an active state. When simulating
a call center, the time a caller spends waiting for an operator to answer is usually modeled as a dead state;
as is the time that the operator is idle, waiting for another call.
To illustrate the use of activity cycle diagrams, consider the operation of the CallOut response center.
CallOut provides a breakdown and recovery service to car drivers who pay an annual subscription. It
operates several call centers, one of which supports motorists whose car has broken down while on the
road. To use the service, motorists phone the call center—in most cases they do so from their cell phones
using the number for on-road breakdown assistance. When they phone the call center, their call is taken
by the first available operator whose main task is to check that the caller has an up-to-date subscription
to CallOut, to note the precise location of the vehicle, its make and model details, and a summary of the
problem. At the end of the call, the operator checks a real-time location system to find the nearest free
breakdown truck (the trucks carry GPS locators), to whom she allocates the call. The truck driver then
travels to the stricken vehicle, provides whatever aid is required, and, at the end of the job, reports back by
phone that he is free for another job.
There are three important simulation object classes which, at this stage, we can think of as entity classes:
•
Drivers: whose vehicles breakdown and who phone CallOut asking for assistance.
•
Operators: who take the calls from drivers and despatch a breakdown truck to the location of the
stricken car.
•
Trucks: which are despatched by the operator to the scene and offer aid.
Figure 33.3 shows an activity cycle for each of these entity classes.
The operators are initially Idle, they then Talk to a caller, after which they Locate and Despatch appropriate
resources, and return to an Idle state. Three of these are active states (Talk, Locate, and Despatch) and each
is separated by a dead state from the next active state. One such dead state, Idle, is genuine, the others are
there for convenience and to keep the rules of activity cycle diagrams.
The drivers are initially OK, and Drive a working vehicle until they break down (and enter a dead state,
Stopped) and Call the call center and Hang on until they Speak to an operator. They then Wait until
a breakdown truck arrives and then Watch while a repair is executed; after which they are OK again.
Following similar logic to the activity cycle for the operators, Wait is clearly a dead state and Phone is an
active state. Keeping to the alternative live and dead state rule means that OK is a dead state and Watch is
an active state.
Finally, consider the activity cycle of the trucks, which are initially ready for work in an Avail state, from
which they enter a Listen state in which they receive instructions from an operator, after which they are
Briefed. They then Travel to the location of the stricken vehicle, where they execute a Repair, after which
they are then once again in an Avail state. Instruct, Travel, and Repair are all active states and Avail, Briefed,
and Ready are dead states. Applying the alternate active: dead state rule, leads to the third activity cycle in
Figure 33.3.
As independent cycles, these diagrams are of little use. Their power comes when they are combined to
show the interaction of the entity classes; for it is this interaction that causes the dynamic behavior of the
system. An activity cycle diagram that combines the three cycles is shown in Figure 33.3, this is a little
messy, but can be very useful in conceptualizing a possible simulation model. Some of the active states
require the co-operation of two classes of entity: when an operator is in the active state Talk, this is the
same state labeled as Speak in the drivers’ activity cycle. This combined active state is labeled as Talk in
Figure 33.4. The operators’ active state Despatch requires the co-operation of a truck that is previously in
the Avail state. On the truck cycle of Figure 33.3 this is labeled as
Instruct and the operators’ label Despatch
is used for the combined active state. Finally, the active state Repair from the trucks’ cycle is clearly the