scalation.simulation.event

Members list

Type members

Classlikes

case class CausalLink(label: String, director: Model, condition: () => Boolean, causedEvent: Event) extends Identifiable

The CausalLink class provides casual links between events. A causal link indicates that a "causing event" (from node) conditionally may triggers a "caused event" (to node).

The CausalLink class provides casual links between events. A causal link indicates that a "causing event" (from node) conditionally may triggers a "caused event" (to node).

Value parameters

causedEvent

the event caused by this causal link

condition

the condition under which the link is triggered

director

the controller/scheduler that this causal link is a part of

label

the name/label of the causal link

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Identifiable
class Object
trait Matchable
class Any
Show all
case class Entity(iArrivalT: Double, var serviceT: Double, director: Model) extends Identifiable

The Entity class represents a single simulation entity for event-scheduling simulation.

The Entity class represents a single simulation entity for event-scheduling simulation.

Value parameters

director

the controller/scheduler that this event is a part of

iArrivalT

the time from the last arrival

serviceT

the amount of time required for the entity's next service

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Identifiable
class Object
trait Matchable
class Any
Show all
object Entity

The Entity companion object provides a counter for generating entity ids.

The Entity companion object provides a counter for generating entity ids.

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Entity.type
abstract class Event(val entity: Entity, director: Model, delay: Double, stat: Statistic, val proto: EventNode) extends Identifiable, Ordered[Event]

The Event class provides facilities for defining simulation events. Subclasses of Event provide event-logic in their implementation of the 'occur' method. Note: unique identification is mixed in via the Identifiable trait.

The Event class provides facilities for defining simulation events. Subclasses of Event provide event-logic in their implementation of the 'occur' method. Note: unique identification is mixed in via the Identifiable trait.

Value parameters

delay

the time delay before this event's occurrence

director

the controller/scheduler that this event is a part of

entity

the entity involved in this event

proto

the prototype (serves as node in animation) for this event

stat

the object for collecting statistics about delay times

Attributes

Supertypes
trait Ordered[Event]
trait Comparable[Event]
trait Identifiable
class Object
trait Matchable
class Any
Show all
Known subtypes
class Arrival
class Departure
class Arrival
class Departure
class Arrival
class Departure
class Arrival
class Departure
class Arrival
class Departure
class Arrival
class Departure
class Arrival
class Arrival
class Arrival
class EventNode
class Arrival
Show all
class EventNode(director: Model, at: Array[Double]) extends Event

The EventNode class provides facilities for representing simulation events graphically. It extends the Event class with animation capabilities. Note: unique identification is mixed in via the Identifiable trait in the Event superclass.

The EventNode class provides facilities for representing simulation events graphically. It extends the Event class with animation capabilities. Note: unique identification is mixed in via the Identifiable trait in the Event superclass.

Value parameters

at

the location of this event node

director

the controller/scheduler that this event node is a part of

Attributes

Companion
object
Supertypes
class Event
trait Ordered[Event]
trait Comparable[Event]
trait Identifiable
class Object
trait Matchable
class Any
Show all
object EventNode

The EventNode companion object provides a method for making a prototype entity. A prototype event or entity is thought to exist before the simulation starts.

The EventNode companion object provides a method for making a prototype entity. A prototype event or entity is thought to exist before the simulation starts.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
EventNode.type
class Model(name: String, reps: Int, animating: Boolean) extends Modelable, Identifiable

The Model class schedules events and implements the time advance mechanism for simulation model following the event-scheduling world view.

The Model class schedules events and implements the time advance mechanism for simulation model following the event-scheduling world view.

Value parameters

animating

whether to animate the model (only for Event Graphs)

name

the name of the model

reps

the number of independent replications to run (to be implemented)

Attributes

Supertypes
trait Identifiable
trait Modelable
class Object
trait Matchable
class Any
Known subtypes
class BankModel
class BankModel2
class BankModel3
class MachineModel
class PoissonModel
class SOMEModel
Show all
class SOMEModel(name: String, reps: Int, nStop: Int, stream: Int) extends Model

The SOMEModel class defines a template for eveny-scheduling models.

The SOMEModel class defines a template for eveny-scheduling models.

Value parameters

nStop

the number arrivals before stopping

name

the name of the simulation model

reps

the number of independent replications to run

stream

the base random number stream (0 to 999)

Attributes

Supertypes
class Model
trait Identifiable
trait Modelable
class Object
trait Matchable
class Any
Show all
case class WaitQueue(director: Model, ext: String, cap: Int) extends Queue[Entity]

The WaitQueue class is used to hold entities waiting for service and collect statistics on waiting times. When the queue is full, entities are 'barred' from entering the queue.

The WaitQueue class is used to hold entities waiting for service and collect statistics on waiting times. When the queue is full, entities are 'barred' from entering the queue.

Value parameters

cap

the capacity of the queue (defaults to unbounded)

director

the controller/scheduler that this event is a part of

ext

the extension to distinguish the wait queues

Attributes

Supertypes
trait Product
class Queue[Entity]
class ArrayDeque[Entity]
trait DefaultSerializable
trait Serializable
trait ArrayDequeOps[Entity, Queue, Queue[Entity]]
trait StrictOptimizedSeqOps[Entity, Queue, Queue[Entity]]
trait StrictOptimizedIterableOps[Entity, Queue, Queue[Entity]]
trait IndexedBuffer[Entity]
trait IndexedSeq[Entity]
trait IndexedSeqOps[Entity, Queue, Queue[Entity]]
trait IndexedSeq[Entity]
trait IndexedSeqOps[Entity, Queue, Queue[Entity]]
class AbstractBuffer[Entity]
trait Buffer[Entity]
trait Shrinkable[Entity]
trait Growable[Entity]
trait Clearable
class AbstractSeq[Entity]
trait Seq[Entity]
trait SeqOps[Entity, Queue, Queue[Entity]]
trait Cloneable[Queue[Entity]]
trait Cloneable
trait Iterable[Entity]
class AbstractSeq[Entity]
trait Seq[Entity]
trait Equals
trait SeqOps[Entity, Queue, Queue[Entity]]
trait PartialFunction[Int, Entity]
trait Int => Entity
class AbstractIterable[Entity]
trait Iterable[Entity]
trait IterableFactoryDefaults[Entity, Queue]
trait IterableOps[Entity, Queue, Queue[Entity]]
trait IterableOnceOps[Entity, Queue, Queue[Entity]]
trait IterableOnce[Entity]
class Object
trait Matchable
class Any
Show all
case class WaitQueue_LCFS(director: Model, ext: String, cap: Int) extends Stack[Entity]

The WaitQueue class is used to hold entities waiting for service and collect statistics on waiting times. When the queue is full, entities are 'barred' from entering the queue.

The WaitQueue class is used to hold entities waiting for service and collect statistics on waiting times. When the queue is full, entities are 'barred' from entering the queue.

Value parameters

cap

the capacity of the queue (defaults to unbounded)

director

the controller/scheduler that this event is a part of

ext

the extension to distinguish the wait queues

Attributes

Supertypes
trait Product
class Stack[Entity]
class ArrayDeque[Entity]
trait DefaultSerializable
trait Serializable
trait ArrayDequeOps[Entity, Stack, Stack[Entity]]
trait StrictOptimizedSeqOps[Entity, Stack, Stack[Entity]]
trait StrictOptimizedIterableOps[Entity, Stack, Stack[Entity]]
trait IndexedBuffer[Entity]
trait IndexedSeq[Entity]
trait IndexedSeqOps[Entity, Stack, Stack[Entity]]
trait IndexedSeq[Entity]
trait IndexedSeqOps[Entity, Stack, Stack[Entity]]
class AbstractBuffer[Entity]
trait Buffer[Entity]
trait Shrinkable[Entity]
trait Growable[Entity]
trait Clearable
class AbstractSeq[Entity]
trait Seq[Entity]
trait SeqOps[Entity, Stack, Stack[Entity]]
trait Cloneable[Stack[Entity]]
trait Cloneable
trait Iterable[Entity]
class AbstractSeq[Entity]
trait Seq[Entity]
trait Equals
trait SeqOps[Entity, Stack, Stack[Entity]]
trait PartialFunction[Int, Entity]
trait Int => Entity
class AbstractIterable[Entity]
trait Iterable[Entity]
trait IterableFactoryDefaults[Entity, Stack]
trait IterableOps[Entity, Stack, Stack[Entity]]
trait IterableOnceOps[Entity, Stack, Stack[Entity]]
trait IterableOnce[Entity]
class Object
trait Matchable
class Any
Show all
final class runSOME

Attributes

Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

def runSOME(): Unit

The runSOME function is used to launch the SOMEModel class. The code severs as a template for writing useful simulation models.

The runSOME function is used to launch the SOMEModel class. The code severs as a template for writing useful simulation models.

runMain scalation.simulation.event.runSOME

Attributes