Packages

  • package root
    Definition Classes
    root
  • package se
    Definition Classes
    root
  • package sics
    Definition Classes
    se
  • package kompics
    Definition Classes
    sics
  • package sl

    This package contains the Scala DSL for Kompics.

    This package contains the Scala DSL for Kompics.

    It is recommended to import this as import se.sics.kompics.sl._, since it contains a number of implicit conversions and convenience methods that are good to have in scope.

    Definition Classes
    kompics
  • package simulator

    The Kompics Simulator DSL for Scala

    The Kompics Simulator DSL for Scala

    Definition Classes
    sl
    Example:
    1. case object SimpleSimulation {
      
        import Distributions._
        // needed for the distributions, but needs to be initialised after setting the seed
        implicit val random = JSimulationScenario.getRandom();
      
        private def intToAddress(i: Int): Address = {
          try {
            new TAddress(new InetSocketAddress(InetAddress.getByName("192.193.0." + i), 10000));
          } catch {
            case ex: UnknownHostException => throw new RuntimeException(ex);
          }
        }
      
        val startResultSetterOp = Op { (self: Integer) =>
          val selfAddr = intToAddress(self);
          StartNode(selfAddr, Init[ResultSetter](selfAddr))
        };
        val startPongerOp = Op { (self: Integer) =>
          val selfAddr = intToAddress(self)
          StartNode(selfAddr, Init[PongerParent](selfAddr))
        };
        val startPingerOp = Op { (self: Integer, ponger: Integer) =>
          val selfAddr = intToAddress(self);
          val pongerAddr = intToAddress(ponger);
          StartNode(selfAddr, Init[PingerParent](selfAddr, pongerAddr))
        };
      
        val scenario = raise(5, startPongerOp, 1.toN)
          .arrival(constant(1000.millis))
          .andThen(1000.millis)
          .afterTermination(raise(5, startPingerOp, 6.toN, 1.toN).arrival(constant(1000.millis)))
          .inParallel(raise(1, startResultSetterOp, 1.toN).arrival(constant(1000.millis)))
          .andThen(10000.millis)
          .afterTermination(Terminate);
      }
  • ChangeNetwork
  • Distributions
  • IntDistributions
  • KillNode
  • Op
  • Setup
  • SimulationResult
  • StartNode
  • StochasticProcess
  • StochasticProcessBuilder
  • StochasticProcessChain
  • Terminate
c

se.sics.kompics.sl.simulator

StochasticProcess

class StochasticProcess extends AnyRef

A sequence of operations with a distribution of time between them

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StochasticProcess
  2. AnyRef
  3. Any
Implicitly
  1. by stochasticProcessToChain
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new StochasticProcess(operations: Seq[OperationGenerator], eventInterarrivalTime: Distribution[Long])

    operations

    the operations to perform

    eventInterarrivalTime

    the distribution of time between operations

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from StochasticProcess toany2stringadd[StochasticProcess] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (StochasticProcess, B)
    Implicit
    This member is added by an implicit conversion from StochasticProcess toArrowAssoc[StochasticProcess] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def andThen(time: Duration): TimeLink

    Link the next process by time

    Link the next process by time

    time

    the time value to use for the link

    returns

    a DSL object to indicate how interpret the time

    Implicit
    This member is added by an implicit conversion from StochasticProcess toStochasticProcessChain performed by method stochasticProcessToChain in se.sics.kompics.sl.simulator.
    Definition Classes
    StochasticProcessChain
  7. def andThenAt(time: Duration): TimeLink2

    Link the next process at a time time

    Link the next process at a time time

    time

    the time value to use for the link

    returns

    a DSL object to indicate how interpret the time

    Implicit
    This member is added by an implicit conversion from StochasticProcess toStochasticProcessChain performed by method stochasticProcessToChain in se.sics.kompics.sl.simulator.
    Definition Classes
    StochasticProcessChain
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  10. def ensuring(cond: (StochasticProcess) => Boolean, msg: => Any): StochasticProcess
    Implicit
    This member is added by an implicit conversion from StochasticProcess toEnsuring[StochasticProcess] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: (StochasticProcess) => Boolean): StochasticProcess
    Implicit
    This member is added by an implicit conversion from StochasticProcess toEnsuring[StochasticProcess] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean, msg: => Any): StochasticProcess
    Implicit
    This member is added by an implicit conversion from StochasticProcess toEnsuring[StochasticProcess] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean): StochasticProcess
    Implicit
    This member is added by an implicit conversion from StochasticProcess toEnsuring[StochasticProcess] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. val eventInterarrivalTime: Distribution[Long]
  17. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from StochasticProcess toStringFormat[StochasticProcess] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  18. def get(): SimulationScenario

    Produce an actual SimulationScenario from the process chain

    Produce an actual SimulationScenario from the process chain

    Converts the Scala DSL process chain into a Kompics Java SimulationScenario for execution.

    Scenarios can be executed by calling simulate on them.

    returns

    the new scenario

    Implicit
    This member is added by an implicit conversion from StochasticProcess toStochasticProcessChain performed by method stochasticProcessToChain in se.sics.kompics.sl.simulator.
    Definition Classes
    StochasticProcessChain
  19. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def inParallel(parallelProcs: StochasticProcess*): StochasticProcessChain

    Execute multiple processes in parallel

    Execute multiple processes in parallel

    parallelProcs

    the processes to eexecute

    returns

    the process chain itself

    Implicit
    This member is added by an implicit conversion from StochasticProcess toStochasticProcessChain performed by method stochasticProcessToChain in se.sics.kompics.sl.simulator.
    Definition Classes
    StochasticProcessChain
  22. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  26. val operations: Seq[OperationGenerator]
  27. def startWith(sp: StochasticProcess): StochasticProcessChain

    The first process in the chain

    The first process in the chain

    sp

    the process that comes first in the chain

    returns

    the process chain itself

    Implicit
    This member is added by an implicit conversion from StochasticProcess toStochasticProcessChain performed by method stochasticProcessToChain in se.sics.kompics.sl.simulator.
    Definition Classes
    StochasticProcessChain
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated @deprecated
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

  2. def [B](y: B): (StochasticProcess, B)
    Implicit
    This member is added by an implicit conversion from StochasticProcess toArrowAssoc[StochasticProcess] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion stochasticProcessToChain fromStochasticProcess to StochasticProcessChain

Inherited by implicit conversion any2stringadd fromStochasticProcess to any2stringadd[StochasticProcess]

Inherited by implicit conversion StringFormat fromStochasticProcess to StringFormat[StochasticProcess]

Inherited by implicit conversion Ensuring fromStochasticProcess to Ensuring[StochasticProcess]

Inherited by implicit conversion ArrowAssoc fromStochasticProcess to ArrowAssoc[StochasticProcess]

Ungrouped