trait SystemBuilder extends OuterInterfaceBuilder with WithStaticSystem

DSL for constructing systems.

This builder supports step-by-step creation of contact system. At the end one must convert it to StaticSystem.

The builder supports the notion of extensions (much like akka actor system extensions). When we need to store additional information during system construction, we may request an extention instance from the builder. The builder creates the singleton instance if it is not available yet and returns it.

The builder is used in BaseTypedSystem as a DSL for system's construction.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SystemBuilder
  2. WithStaticSystem
  3. OuterInterfaceBuilder
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addComponent[T <: SystemBuilderApi.Component](component: T): T

    Adds a self contained component.

    Adds a self contained component. NB: The state of the component is not managed!

  5. def addLink[T1, T2](link: SystemBuilderApi.Link[T1, T2, T1, T2]): SystemBuilderApi.Contact[T2]

  6. def addLink[T1, T2](from: SystemBuilderApi.Contact[T1], to: SystemBuilderApi.Contact[T2], name: String, info: SystemBuilderApi.LinkInfo[T1, T2]): SystemBuilderApi.Contact[T2]
  7. def addStateHandle[S](sh: SystemBuilderApi.StateHandle[S]): SystemBuilderApi.StateHandle[S]

    Add StateHandle to the system

  8. def addSubsystem[T](system: T, sharedStateHandles: SystemBuilderApi.StateHandle[_]*)(implicit ev: (T) ⇒ SystemBuilderApi.StaticSystem): T

    Subsystem.

    Subsystem. It can have a few input contacts (any number), however, it will process signals by one.

    If the subsystem has output contacts (it usually has), then the result of subsystem processing will appear on the same contacts of the parent system.

    sharedStateHandles

    a collection of state handles that is shared between the parent and the child system. Whenever the system gets a signal, shared state values are copied into it's internal state.

  9. def addSubsystems(subsystems: SystemBuilderApi.StaticSystem*): Unit

    Adds a few subsystems at once.

    Adds a few subsystems at once. Useful for super systems construction.

  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def complete(): components.StaticSystem

    Makes the builder unmodifiable and returns completed static system.

  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def extend[T <: SystemBuilderExtension](implicit extensionId: SystemBuilderExtensionId[T]): T
  16. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def findInput(name: String): Option[SystemBuilderApi.Contact[_]]
  18. def findOutput(name: String): Option[SystemBuilderApi.Contact[_]]
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  20. def handleExceptions(handler: SystemBuilderApi.UnhandledProcessingExceptionHandler): Unit
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  22. def input[T](name: String): components.Contact[T]

    Create contact and add it to the builder as an input

    Create contact and add it to the builder as an input

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  23. def inputs(lc: SystemBuilderApi.Contact[_]*): Unit
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. def minDistance(c1: SystemBuilderApi.Contact[_], c2: SystemBuilderApi.Contact[_]): Int

    Calculates the number of transitions from c1 to that contact.

    Calculates the number of transitions from c1 to that contact. If the contact is not reachable then the distance is equals = -1

  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. def newSubsystem[T](name: String)(implicit outerBuilder: (OuterInterfaceBuilder) ⇒ T, definitionBuilder: (T) ⇒ SystemBuilderApi.StaticSystem): T

    Creates subsystem and adds it to this system as a component.

    Creates subsystem and adds it to this system as a component.

    T

    outer system's interface type

    name

    the name of the component

    outerBuilder

    function that creates outer interface of the system of type T

    definitionBuilder

    function that constructs StaticSystem for type T.

    returns

    outer system's interface

  28. final def notify(): Unit
    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  30. def output[T](name: String): components.Contact[T]

    Create contact and add it to the builder as an output

    Create contact and add it to the builder as an output

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  31. def outputs(lc: SystemBuilderApi.Contact[_]*): Unit
  32. def predecessors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]

    returns one step successors from the given contact

  33. def readOnly(): Unit

    Sets this builder to the read only mode.

    Sets this builder to the read only mode. Subsequent modifications will lead to exceptions.

  34. def setSystemName(name: String): Unit

    Changes the name of the component.

    Changes the name of the component.

    Definition Classes
    SystemBuilderOuterInterfaceBuilder
  35. def state[S](name: String, initialValue: S): SystemBuilderApi.StateHandle[S]

    Create StateHandle and add it to the system

  36. def successors(c: SystemBuilderApi.Contact[_]): List[SystemBuilderApi.Contact[_]]

    returns one step successors from the given contact

  37. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  38. def systemName: String
  39. def systemName_=(name: String): Unit
  40. def toStaticSystem: components.StaticSystem

    Constructs the current version of static system.

    Constructs the current version of static system.

    Definition Classes
    SystemBuilderWithStaticSystem
  41. def toString(): String
    Definition Classes
    AnyRef → Any
  42. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from OuterInterfaceBuilder

Inherited from AnyRef

Inherited from Any

Ungrouped