Diameter of a token (for animating entities)
Diameter of a token (for animating entities)
The number of seconds in one hour
The number of seconds in one hour
The number of seconds in one minute
The number of seconds in one minute
Radius of a token (for animating entities)
Radius of a token (for animating entities)
The clock that keep track of the current simulation time
The clock that keep track of the current simulation time
Accumulate the value (e.g., number in queue) weighted by its time duration.
Accumulate the value (e.g., number in queue) weighted by its time duration.
the value to accumulate
The model itself is an Actor (not an ordinary SimActor) and may be thought of as the director.
Add component parts to the model.
Add lists of component parts to the model.
Add lists of component parts to the model.
the lists of component parts
Aggregate the statistics of this component's subparts.
Aggregate the statistics of this component's subparts.
Put a edge command on the animation queue.
Put a edge command on the animation queue.
who is being animated
what animation command
the color the edge
the shape of the edge
the location of the origination node
the location of the destination node
the location of the edge (empty array => implicitly determined)
Put a node/token command on the animation queue.
Put a node/token command on the animation queue.
who is being animated
what animation command
the color the node/token
the shape of the node/token
the location of the node/token
Return where this object is at (its location).
Return where this object is at (its location).
Cleanup the agenda and any stateful components.
Cleanup the agenda and any stateful components. Any actors left in the agenda or a wait queue must be terminated. The model (i.e., the director) must be terminated as well.
Return the current value of the director's clock.
Return the current value of the director's clock.
Wait for the main simulation Coroutine to complete.
Wait for the main simulation Coroutine to complete.
Indicate whether this component is composite, i.e., has subparts.
Indicate whether this component is composite, i.e., has subparts.
Return the Coroutine counts.
Return the Coroutine counts.
Return the director who controls the play/simulation this component is in.
Return the director who controls the play/simulation this component is in.
Put the components on the animation engine's queue.
Return sample statistics for durations for this component (e.g., Time in queue).
Return sample statistics for durations for this component (e.g., Time in queue).
Determine whether Identifiable object 'this' equals Identifiable object 'that'.
Determine whether Identifiable object 'this' equals Identifiable object 'that'. Works since 'id' is unique for all Identifiable objects.
Show the flaw by printing the error message.
Show the flaw by printing the error message.
the method where the error occurred
the error message
generate a full report with both sample and time-persistent statistics
generate a full report with both sample and time-persistent statistics
Return the statistical results of the simulation (statistics for each part).
Return the statistical results of the simulation (statistics for each part). This includes the sample/duration statistics and if 'full', time persistent statistics as well.
Return the hashCode as the unique id.
Return the hashCode as the unique id.
Get the id (unique identifier).
Get the id (unique identifier).
Initialize this component (all of its vars).
Initialize this component (all of its vars).
the name of this component
the location of this component
Initialize this component's statistical collectors.
Initialize this component's statistical collectors.
Sample statistics: all Component
s.
Time-persistent statistics: all except Gate
, Source
and Sink
.
the name of this component
Interrupt this waiting zombie coroutine.
Interrupt this waiting zombie coroutine.
Return whether this coroutine is a zombie.
Return whether this coroutine is a zombie.
Return the full identity.
Return the full identity.
Get the name.
Get the name.
Return time persistent statistics for value for this component (e.g.
Return time persistent statistics for value for this component (e.g. Number in queue).
the number of independent replications to run
the number of independent replications to run
Schedule (first time) or reschedule (subsequent times) an actor to act.
Schedule (first time) or reschedule (subsequent times) an actor to act.
the actor to be scheduled
Reset the agenda and stateful components for next replication.
Reset the agenda and stateful components for next replication.
Reset and aggregate all statistics.
Thread's 'run' method delegates to the 'act' method.
Thread's 'run' method delegates to the 'act' method. Upon interruption the 'act' method is run again from the beginning.
Set the location of this object.
Set this component's director (the controller of the simulation model).
Set this component's director (the controller of the simulation model).
the director of the play/simulation
Set the name.
Get the type of the simulation object.
Get the type of the simulation object.
Execute the simulation (includes scheduling all Sources) returning summary statistics.
Simulation execution/termination flag
Simulation execution/termination flag
Start this coroutine, i.e., invoke its 'run' -> 'act' method.
Start this coroutine, i.e., invoke its 'run' -> 'act' method.
List of subparts of the Component (empty for atomics, nonempty for composites)
List of subparts of the Component (empty for atomics, nonempty for composites)
Tally the duration (e.g., waiting time) of an activity or delay.
Tally the duration (e.g., waiting time) of an activity or delay.
the time duration
Return the current acting actor.
Return the current acting actor.
Yield control from 'this' to 'that' coroutine.
Yield control from 'this' to 'that' coroutine.
the other coroutine to yield control to
whether 'this' coroutine is to terminate (true) or wait to be resumed (false)
Zombify this coroutine.
Zombify this coroutine.
The
RoadModel
class simulates a two-lane road in two directions, i.e., it has 2 West-bound lanes and 2 East-bound lanes. It used a composite class calledRoute
, which will have aTransport
for each lane.