scalation.process

Model

class Model extends Coroutine with Modelable with Component

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.

Linear Supertypes
Component, Locatable, Identifiable, Error, Modelable, Coroutine, Actor, ReplyReactor, InternalActor, Serializable, Serializable, InputChannel[Any], ActorCanReply, InternalReplyReactor, ReactorCanReply, Reactor[Any], Combinators, AbstractActor, CanReply[Any, Any], OutputChannel[Any], AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Model
  2. Component
  3. Locatable
  4. Identifiable
  5. Error
  6. Modelable
  7. Coroutine
  8. Actor
  9. ReplyReactor
  10. InternalActor
  11. Serializable
  12. Serializable
  13. InputChannel
  14. ActorCanReply
  15. InternalReplyReactor
  16. ReactorCanReply
  17. Reactor
  18. Combinators
  19. AbstractActor
  20. CanReply
  21. OutputChannel
  22. AnyRef
  23. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Model(name: String, aniRatio: Double = 1.0, animating: Boolean = true, full: Boolean = true)

    name

    the name of the model

    aniRatio

    the ratio of simulation speed vs. animation speed

    animating

    whether to animate the model

    full

    generate a full report with both sample and time-persistent statistics

Type Members

  1. type Future[+P] = scala.actors.Future[P]

    Definition Classes
    ReactorCanReply → CanReply

Value Members

  1. def !(msg: Any): Unit

    Definition Classes
    InternalReplyReactor → Reactor → OutputChannel
  2. def !!(msg: Any): Future[Any]

    Definition Classes
    ActorCanReply → ReactorCanReply → CanReply
  3. def !![A](msg: Any, handler: PartialFunction[Any, A]): Future[A]

    Definition Classes
    ActorCanReply → ReactorCanReply → CanReply
  4. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. def !?(msec: Long, msg: Any): Option[Any]

    Definition Classes
    ActorCanReply → ReactorCanReply → CanReply
  6. def !?(msg: Any): Any

    Definition Classes
    ActorCanReply → ReactorCanReply → CanReply
  7. final def ##(): Int

    Definition Classes
    AnyRef → Any
  8. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  9. def ?: Any

    Definition Classes
    InternalActor → InputChannel
  10. val DIAM: Double

    Diameter of a token (for animating entities)

    Diameter of a token (for animating entities)

    Definition Classes
    Component
  11. val HOUR: Double

    The number of seconds in one hour

    The number of seconds in one hour

    Attributes
    protected
    Definition Classes
    Modelable
  12. val MINUTE: Double

    The number of seconds in one minute

    The number of seconds in one minute

    Attributes
    protected
    Definition Classes
    Modelable
  13. val RAD: Double

    Radius of a token (for animating entities)

    Radius of a token (for animating entities)

    Definition Classes
    Component
  14. var _clock: Double

    The clock that keep track of the current simulation time

    The clock that keep track of the current simulation time

    Attributes
    protected
    Definition Classes
    Modelable
  15. def accum(value: Double): Unit

    Accumulate the value (e.

    Accumulate the value (e.g., number in queue) weighted by its time duration.

    value

    the value to accumulate

    Definition Classes
    Component
  16. def act(): Unit

    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.

    Definition Classes
    Model → Reactor
  17. def addComponent(_parts: Component*): Unit

    Add component parts to the model.

    Add component parts to the model.

    _parts

    the component parts

  18. def addComponents(_parts: List[Component]*): Unit

    Add lists of component parts to the model.

    Add lists of component parts to the model.

    _parts

    the lists of component parts

  19. def aggregate(): Unit

    Aggregate the statistics of this component's subparts.

    Aggregate the statistics of this component's subparts.

    Definition Classes
    Component
  20. def animate(who: Identifiable, what: animation.CommandType.Value, color: Color, shape: Shape, from: Component, to: Component, at: Array[Double] = Array ()): Unit

    Put a edge command on the animation queue.

    Put a edge command on the animation queue.

    who

    who is being animated

    what

    what animation command

    color

    the color the edge

    shape

    the shape of the edge

    from

    the location of the origination node

    to

    the location of the destination node

    at

    the location of the edge (empty array => implicitly determined)

  21. def animate(who: Identifiable, what: animation.CommandType.Value, color: Color, shape: Shape, at: Array[Double]): Unit

    Put a node/token command on the animation queue.

    Put a node/token command on the animation queue.

    who

    who is being animated

    what

    what animation command

    color

    the color the node/token

    shape

    the shape of the node/token

    at

    the location of the node/token

  22. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  23. def at: Array[Double]

    Return where this object is at (its location).

    Return where this object is at (its location).

    Definition Classes
    Locatable
  24. def clock: Double

    Return the current value of the director's clock.

    Return the current value of the director's clock.

    Definition Classes
    Modelable
  25. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def composite: Boolean

    Indicate whether this component is composite, i.

    Indicate whether this component is composite, i.e., has subparts.

    Definition Classes
    Component
  27. def continue(): Unit

    Definition Classes
    Combinators
  28. def director: Model

    Return the director who controls the play/simulation this component is in.

    Return the director who controls the play/simulation this component is in.

    Definition Classes
    Component
  29. def display(): Unit

    Put the components on the animation engine's queue.

    Put the components on the animation engine's queue.

    Definition Classes
    ModelComponent
  30. def durationStat: Statistic

    Return sample statistics for durations for this component (e.

    Return sample statistics for durations for this component (e.g., Time in queue).

    Definition Classes
    Component
  31. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  32. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  33. def exceptionHandler: PartialFunction[Exception, Unit]

    Attributes
    protected[scala.actors]
    Definition Classes
    Reactor
  34. def exit(): Nothing

    Attributes
    protected[scala.actors]
    Definition Classes
    InternalActor → Reactor
  35. def exit(reason: AnyRef): Nothing

    Attributes
    protected[scala.actors]
    Definition Classes
    InternalActor
  36. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  37. def fini(): Unit

    Finish by producing statistical reports and optionally animation.

  38. def flaw(method: String, message: String): Unit

    Show the flaw by printing the error message.

    Show the flaw by printing the error message.

    method

    the method where the error occurred

    message

    the error message

    Definition Classes
    Error
  39. def forward(msg: Any): Unit

    Definition Classes
    InternalReplyReactor → Reactor → OutputChannel
  40. val full: Boolean

    generate a full report with both sample and time-persistent statistics

  41. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  42. def getState: scala.actors.Actor.State.Value

    Definition Classes
    InternalActor → InternalReplyReactor → Reactor
  43. def getStatistics: ListBuffer[Statistic]

    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.

  44. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  45. def id: Int

    Get the id (unique identifier).

    Get the id (unique identifier).

    Definition Classes
    Identifiable
  46. def initComponent(label: String, loc: Array[Double]): Unit

    Initialize this component (all of its vars).

    Initialize this component (all of its vars).

    label

    the name of this component

    loc

    the location of this component

    Definition Classes
    Component
  47. def initStats(label: String): Unit

    Initialize this component's statistical collectors.

    Initialize this component's statistical collectors. Sample statistics: all Components. Time-persistent statistics: all except Gate, Source and Sink.

    label

    the name of this component

    Definition Classes
    Component
  48. def internalSender: OutputChannel[Any]

    Attributes
    protected[scala.actors]
    Definition Classes
    InternalReplyReactor
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. def link(body: ⇒ Unit): Actor

    Definition Classes
    InternalActor
  51. def link(to: ActorRef): ActorRef

    Definition Classes
    InternalActor
  52. def link(to: AbstractActor): AbstractActor

    Definition Classes
    InternalActor
  53. def loop(body: ⇒ Unit): Unit

    Definition Classes
    Combinators
  54. def loopWhile(cond: ⇒ Boolean)(body: ⇒ Unit): Unit

    Definition Classes
    Combinators
  55. def mailboxSize: Int

    Attributes
    protected[scala.actors]
    Definition Classes
    Reactor
  56. def me: String

    Return the full identity.

    Return the full identity.

    Definition Classes
    Identifiable
  57. implicit def mkBody[A](body: ⇒ A): Body[A]

    Definition Classes
    Reactor → Combinators
  58. def name: String

    Get the name.

    Get the name.

    Definition Classes
    Identifiable
  59. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  60. final def notify(): Unit

    Definition Classes
    AnyRef
  61. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  62. def persistentStat: TimeStatistic

    Return time persistent statistics for value for this component (e.

    Return time persistent statistics for value for this component (e.g. Number in queue).

    Definition Classes
    Component
  63. def react(handler: PartialFunction[Any, Unit]): Nothing

    Definition Classes
    InternalActor → InputChannel → InternalReplyReactor → Reactor
  64. def reactWithin(msec: Long)(handler: PartialFunction[Any, Unit]): Nothing

    Definition Classes
    InternalActor → InputChannel → InternalReplyReactor
  65. def receive[R](f: PartialFunction[Any, R]): R

    Definition Classes
    InternalActor → InputChannel
  66. def receiveWithin[R](msec: Long)(f: PartialFunction[Any, R]): R

    Definition Classes
    InternalActor → InputChannel
  67. def receiver: Actor

    Definition Classes
    Reactor → OutputChannel
  68. def reply(msg: Any): Unit

    Attributes
    protected[scala.actors]
    Definition Classes
    InternalReplyReactor
  69. def report: Unit

    Report on the statistical results of the simulation.

  70. def reportf: Unit

    Report on the statistical results of the simulation in a new frame.

  71. def reschedule(actor: SimActor): Unit

    Schedule (first time) or reschedule (subsequent times) an actor to act.

    Schedule (first time) or reschedule (subsequent times) an actor to act.

    actor

    the actor to be scheduled

  72. def restart(): Unit

    Definition Classes
    Reactor
  73. def scheduler: IScheduler

    Attributes
    protected[scala.actors]
    Definition Classes
    InternalActor → Reactor
  74. def send(msg: Any, replyTo: OutputChannel[Any]): Unit

    Definition Classes
    Reactor → OutputChannel
  75. def sender: OutputChannel[Any]

    Attributes
    protected[scala.actors]
    Definition Classes
    ReplyReactor
  76. def setAt(loc: Array[Double]): Unit

    Set the location of this object.

    Set the location of this object.

    loc

    the location of this object

    Definition Classes
    Locatable
  77. def setDirector(dir: Model): Unit

    Set this component's director (the controller of the simulation model).

    Set this component's director (the controller of the simulation model).

    dir

    the director of the play/simulation

    Definition Classes
    Component
  78. def setName(label: String): Unit

    Set the name.

    Set the name.

    label

    the name to assign

    Definition Classes
    Identifiable
  79. def simType: String

    Get the type of the simulation object.

    Get the type of the simulation object.

    Definition Classes
    Identifiable
  80. def simulate(startTime: Double = 0.0): Unit

    Execute the simulation (includes scheduling all Sources) returning summary statistics.

    Execute the simulation (includes scheduling all Sources) returning summary statistics.

    startTime

    the time at which the simulation is to begin

    Definition Classes
    ModelModelable
  81. var simulating: Boolean

    Simulation execution/termination flag

    Simulation execution/termination flag

    Attributes
    protected
    Definition Classes
    Modelable
  82. def start(): Coroutine

    Start this coroutine, i.

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

    Definition Classes
    Coroutine → Actor → InternalActor → Reactor
  83. val subpart: ListBuffer[Component]

    List of subparts of the Component (empty for atomics, nonempty for composites)

    List of subparts of the Component (empty for atomics, nonempty for composites)

    Definition Classes
    Component
  84. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  85. def tally(duration: Double): Unit

    Tally the duration (e.

    Tally the duration (e.g., waiting time) of an activity or delay.

    duration

    the time duration

    Definition Classes
    Component
  86. def theActor: SimActor

    Return the current acting actor.

  87. def toString(): String

    Definition Classes
    AnyRef → Any
  88. def trapExit: Boolean

    Definition Classes
    InternalActor
  89. def trapExit_=(value: Boolean): Unit

    Definition Classes
    InternalActor
  90. def unlink(from: ActorRef): Unit

    Definition Classes
    InternalActor
  91. def unlink(from: AbstractActor): Unit

    Definition Classes
    InternalActor
  92. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  93. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  94. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  95. def yyield(other: Coroutine, quit: Boolean = false): Unit

    Yield control to the 'other' coroutine.

    Yield control to the 'other' coroutine.

    other

    the other coroutine to yield control to

    quit

    whether to wait via a receive or quit via exit

    Definition Classes
    Coroutine

Inherited from Component

Inherited from Locatable

Inherited from Identifiable

Inherited from Error

Inherited from Modelable

Inherited from Coroutine

Inherited from Actor

Inherited from ReplyReactor

Inherited from InternalActor

Inherited from Serializable

Inherited from Serializable

Inherited from InputChannel[Any]

Inherited from ActorCanReply

Inherited from InternalReplyReactor

Inherited from ReactorCanReply

Inherited from Reactor[Any]

Inherited from Combinators

Inherited from AbstractActor

Inherited from CanReply[Any, Any]

Inherited from OutputChannel[Any]

Inherited from AnyRef

Inherited from Any

Ungrouped