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);
      }
  • AnyPort
  • ComponentAndPort
  • ComponentDefinition
  • Config
  • Init
  • Kompics
  • NegativePort
  • NegativeWrapper
  • Port
  • PortAndComponent
  • PortAndPort
  • PositivePort
  • PositiveWrapper
  • PrimitiveConverters
  • SConv
  • ScalaComponent
  • ScalaComponentWrapper
  • ScalaPort

abstract class Port extends PortType

The base class for a port type.

To declare a new port type, extend this class in an object and then define the signature for the port, for example:

object TestPort extends Port {
  request[TestEventClass];
  request(TestEventObject);
  indication[TestEventClass2];
  indication(TestEventObject2);
}
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Port
  2. PortType
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Port()

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 Port toany2stringadd[Port] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Port, B)
    Implicit
    This member is added by an implicit conversion from Port toArrowAssoc[Port] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. def ensuring(cond: (Port) => Boolean, msg: => Any): Port
    Implicit
    This member is added by an implicit conversion from Port toEnsuring[Port] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  9. def ensuring(cond: (Port) => Boolean): Port
    Implicit
    This member is added by an implicit conversion from Port toEnsuring[Port] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: Boolean, msg: => Any): Port
    Implicit
    This member is added by an implicit conversion from Port toEnsuring[Port] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean): Port
    Implicit
    This member is added by an implicit conversion from Port toEnsuring[Port] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  14. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Port toStringFormat[Port] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def hasEvent(arg0: Boolean, arg1: Class[_ <: kompics.KompicsEvent]): Boolean
    Definition Classes
    PortType
  17. final def hasNegative(arg0: Class[_ <: kompics.KompicsEvent]): Boolean
    Definition Classes
    PortType
  18. final def hasPositive(arg0: Class[_ <: kompics.KompicsEvent]): Boolean
    Definition Classes
    PortType
  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. def indication(event: KompicsEvent): Unit

    Declate the given event object as an indication on this port.

    Declate the given event object as an indication on this port.

    event

    the event object to be declared

  21. def indication[E <: KompicsEvent](implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[E]): Unit

    Declate the given event type as an indication on this port.

    Declate the given event type as an indication on this port.

    E

    the event type to be declared

  22. final def indication(arg0: Class[_ <: kompics.KompicsEvent]): Unit
    Attributes
    protected[kompics]
    Definition Classes
    PortType
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def negative(arg0: Class[_ <: kompics.KompicsEvent]): Unit
    Attributes
    protected[kompics]
    Definition Classes
    PortType
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  28. final def positive(arg0: Class[_ <: kompics.KompicsEvent]): Unit
    Attributes
    protected[kompics]
    Definition Classes
    PortType
  29. def request(event: KompicsEvent): Unit

    Declate the given event object as a request on this port.

    Declate the given event object as a request on this port.

    event

    the event object to be declared

  30. def request[E <: KompicsEvent](implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[E]): Unit

    Declate the given event type as a request on this port.

    Declate the given event type as a request on this port.

    E

    the event type to be declared

  31. final def request(arg0: Class[_ <: kompics.KompicsEvent]): Unit
    Attributes
    protected[kompics]
    Definition Classes
    PortType
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. final def toString(): String
    Definition Classes
    PortType → AnyRef → Any
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. 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): (Port, B)
    Implicit
    This member is added by an implicit conversion from Port toArrowAssoc[Port] 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 PortType

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromPort to any2stringadd[Port]

Inherited by implicit conversion StringFormat fromPort to StringFormat[Port]

Inherited by implicit conversion Ensuring fromPort to Ensuring[Port]

Inherited by implicit conversion ArrowAssoc fromPort to ArrowAssoc[Port]

Ungrouped