SimActor

scalation.simulation.process.SimActor
See theSimActor companion object
abstract class SimActor(label: String, director: Model, val prop: Map[String, Double]) extends Coroutine, Temporal, Ordered[SimActor], Locatable

The SimActor abstract class represents entities that are active in the model. The act abstract method, which specifies entity behavior, must be defined for each subclass. Each SimActor extends ScalaTion's Coroutine class and may be roughly thought of as running in its own thread.

Value parameters

director

the director controlling the model

label

the label/name of the entity (SimActor)

prop

the properties (Map) for this actor, e.g., speed, color, weight

Attributes

Companion
object
Graph
Supertypes
trait Locatable
trait Ordered[SimActor]
trait Comparable[SimActor]
trait Temporal
trait Identifiable
class Coroutine
trait Runnable
class Object
trait Matchable
class Any
Show all
Known subtypes
class Customer
class Call
class Patient
class Car1
class Car2
class Part
class Car
class Car1
class Car2
class Car
class Car
class Car
class Car
class Rider
class Customer
class Customer
class Bus
class UGA_Bus
class Gate
class Source
class VSource
class Vehicle
class Car
Show all

Members list

Value members

Concrete methods

def act(): Unit

The abstract method, 'act', is defined in each subclass to provide specific behavior.

The abstract method, 'act', is defined in each subclass to provide specific behavior.

Attributes

def compare(actor2: SimActor): Int

Compare the activation times of the two actors, this and actor2. Their activation times are used to order them in the director's agenda (a time-based priority queue).

Compare the activation times of the two actors, this and actor2. Their activation times are used to order them in the director's agenda (a time-based priority queue).

Value parameters

actor2

the other actor to compare with this

Attributes

def schedule(delay: Double): Unit

Schedule a reactivation of this SimActor delay time units in the future.

Schedule a reactivation of this SimActor delay time units in the future.

Value parameters

delay

the time delay before reactivation

Attributes

override def toString: String

Show the SimActors full name and activation time.

Show the SimActors full name and activation time.

Attributes

Definition Classes
Temporal -> Any
def trajectory: Double

Get the current trajectory (along the QCurve) of this SimActor.

Get the current trajectory (along the QCurve) of this SimActor.

Attributes

def trajectory_=(trajectory: Double): Unit

Set the value of the trajectory along the QCurve for this SimActor.

Set the value of the trajectory along the QCurve for this SimActor.

Value parameters

t

the new trajectory for the SimActor

Attributes

def yieldToDirector(quit: Boolean): Unit

Yield control to the director so the director can take the next action.

Yield control to the director so the director can take the next action.

Value parameters

quit

the flag indicating whether this actor is done

Attributes

Inherited methods

def <(that: SimActor): Boolean

Attributes

Inherited from:
Ordered
def <=(that: SimActor): Boolean

Attributes

Inherited from:
Ordered
def >(that: SimActor): Boolean

Attributes

Inherited from:
Ordered
def >=(that: SimActor): Boolean

Attributes

Inherited from:
Ordered
def at: Array[Double]

Get the location where this object is currently at.

Get the location where this object is currently at.

Attributes

Inherited from:
Locatable
def at_=(at: Array[Double]): Unit

Set the location of this object.

Set the location of this object.

Value parameters

at

the location of this object

Attributes

Inherited from:
Locatable
def compare(other: Temporal): Int

Compare two temporal objects based on their actTime.

Compare two temporal objects based on their actTime.

Value parameters

other

the other item to compare with this item

Attributes

Inherited from:
Temporal
def compareTo(that: SimActor): Int

Attributes

Inherited from:
Ordered
def counts: (Int, Int, Int)

Return the Coroutine counts.

Return the Coroutine counts.

Attributes

Inherited from:
Coroutine
override def equals(that: Any): Boolean

Determine whether Identifiable object 'this' equals Identifiable object 'that'. Works since 'id' is unique for all Identifiable objects.

Determine whether Identifiable object 'this' equals Identifiable object 'that'. Works since 'id' is unique for all Identifiable objects.

Attributes

Definition Classes
Identifiable -> Any
Inherited from:
Identifiable
override def hashCode: Int

Return the hashCode as the unique id.

Return the hashCode as the unique id.

Attributes

Definition Classes
Identifiable -> Any
Inherited from:
Identifiable
def interrupt(): Unit

Interrupt this waiting coroutine.

Interrupt this waiting coroutine.

Attributes

Inherited from:
Coroutine
def isVirtual: Boolean

Check this thread to see if it is virtual.

Check this thread to see if it is virtual.

Attributes

Inherited from:
Coroutine
def me: String

Return the full identity.

Return the full identity.

Attributes

Inherited from:
Identifiable
def name: String

Get the name.

Get the name.

Attributes

Inherited from:
Identifiable
def name_=(name: String): Unit

Set the name.

Set the name.

Value parameters

name

the name to assign

Attributes

Inherited from:
Identifiable
def resetStart(): Unit

For multiple sources and more than one replication otherwise, after one replication, all the sources are already started the first source from agenda will be invoked by the yield to null but the second resource from the won't so needs to be reset

For multiple sources and more than one replication otherwise, after one replication, all the sources are already started the first source from agenda will be invoked by the yield to null but the second resource from the won't so needs to be reset

Attributes

Inherited from:
Coroutine
def run(): Unit

Thread's 'run' method delegates to the 'act' method. Upon interruption the 'act' method is run again from the beginning.

Thread's 'run' method delegates to the 'act' method. Upon interruption the 'act' method is run again from the beginning.

Attributes

Inherited from:
Coroutine
def simType: String

Get the type of the simulation object.

Get the type of the simulation object.

Attributes

Inherited from:
Identifiable
def start(): Unit

Start this coroutine, i.e., invoke its 'run' -> 'act' method.

Start this coroutine, i.e., invoke its 'run' -> 'act' method.

Attributes

Inherited from:
Coroutine
def yyield(that: Coroutine, quit: Boolean): Unit

Yield control from 'this' to 'that' coroutine.

Yield control from 'this' to 'that' coroutine.

Value parameters

quit

whether 'this' coroutine is to terminate (true) or wait to be resumed (false)

that

the other coroutine to yield control to

Attributes

Inherited from:
Coroutine

Concrete fields

val prop: Map[String, Double]
var subtype: Int

Inherited fields

var actTime: Double

The activation time for the temporal object

The activation time for the temporal object

Attributes

Inherited from:
Temporal
val id: Int

The globally unique integer identifier

The globally unique integer identifier

Attributes

Inherited from:
Identifiable