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.
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.
The model itself is an Actor (not an ordinary SimActor) and may be thought of as the director. The director iteratively manages the clock and the agenda of actors until the simulation flag becomes false or the agenda becomes empty.
Add component parts to the model.
Add component parts to the model.
the component parts
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).
Return the current value of the director's clock.
Return the current value of the director's clock.
Indicate whether this component is composite, i.
Indicate whether this component is composite, i.e., has subparts.
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.
Return sample statistics for durations for this component (e.g., Time in queue).
Finish by producing statistical reports and optionally animation.
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
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.
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
Return the full identity.
Return the full identity.
Get the name.
Get the name.
Return time persistent statistics for value for this component (e.
Return time persistent statistics for value for this component (e.g. Number in queue).
Report on the statistical results of the simulation.
Report on the statistical results of the simulation in a new frame.
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
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.
Start this coroutine, i.e., invoke its '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.
Tally the duration (e.g., waiting time) of an activity or delay.
the time duration
Return the current acting actor.
Yield control to the 'other' coroutine.
Yield control to the 'other' coroutine.
the other coroutine to yield control to
whether to wait via a receive or quit via exit
The
Model
class maintains a list of components making up the model and controls the flow of entities (SimActors) through the model, following the process-interaction world-view. It maintains a time-ordered priority queue to activate/re-activate each of the entities. Each entity (SimActor) is implemeneted as a Scala Actor and may be thought of as running in its own thread.