Trait

ru.primetalk.synapse.core.runtime

RuntimeComponentApi

Related Doc: package runtime

Permalink

trait RuntimeComponentApi extends SignalsApi with TrellisApi

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RuntimeComponentApi
  2. TrellisApi
  3. SignalsApi
  4. ContactsDsl
  5. ComponentsApi
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Component = components.Component

    Permalink
    Definition Classes
    ComponentsApi
  2. type ComponentWithInternalStructure = components.ComponentWithInternalStructure

    Permalink
    Definition Classes
    ComponentsApi
  3. type Contact[T] = components.Contact[T]

    Permalink
    Definition Classes
    ComponentsApi
  4. implicit class ContactExtractor[T] extends AnyRef

    Permalink

    Extractor of contacts' data from result.

    Extractor of contacts' data from result.

    Definition Classes
    SignalsApi
  5. type Context = Map[Contact[_], _]

    Permalink

    The context for system is a map from state handles to values.

    The context for system is a map from state handles to values.

    Definition Classes
    TrellisApi
  6. type FlatMapLink[-T1, +T2] = components.FlatMapLink[T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  7. type Link[T1, T2, -TL1 >: T1, +TL2 <: T2] = components.Link[T1, T2, TL1, TL2]

    Permalink
    Definition Classes
    ComponentsApi
  8. type LinkInfo[-T1, +T2] = components.LinkInfo[T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  9. type Named = components.Named

    Permalink
    Definition Classes
    ComponentsApi
  10. type NopLink[-T1, +T2 >: T1] = components.NopLink[T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  11. type RedMapLink[-T1, +T2] = components.RedMapLink[T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  12. implicit class RichSignalList extends AnyRef

    Permalink
    Definition Classes
    SignalsApi
  13. implicit class RichSimpleSignalProcessor extends AnyRef

    Permalink
    Definition Classes
    TrellisApi
  14. implicit class RichTotalTrellisProducer extends AnyRef

    Permalink
    Definition Classes
    TrellisApi
  15. sealed trait RuntimeComponent extends Named

    Permalink

    A runtime component that should be processed with pattern matching.

  16. case class RuntimeComponentFlatMap(name: String, input: RuntimeComponentApi.Contact[_], output: RuntimeComponentApi.Contact[_], f: (RuntimeComponentApi.Signal[_]) ⇒ RuntimeComponentApi.SignalCollection[RuntimeComponentApi.Signal[_]]) extends RuntimeComponentTransparent with Product with Serializable

    Permalink

    The most popular runtime component.

    The most popular runtime component. Transforms a signal into other signals. This component is not only FlatMap link. It can represent almost any stateless part of a system.

    f

    - the actual transformation

  17. case class RuntimeComponentMultiState(name: String, stateHandles: List[RuntimeComponentApi.Contact[_]], f: RuntimeComponentApi.TotalTrellisProducer) extends RuntimeComponent with Product with Serializable

    Permalink

    The most general processing element.

    The most general processing element. Can depend on a few states.

  18. case class RuntimeComponentStateFlatMap[S](name: String, inputContacts: List[RuntimeComponentApi.Contact[_]], outputContacts: List[RuntimeComponentApi.Contact[_]], stateHandle: RuntimeComponentApi.Contact[S], f: (S, RuntimeComponentApi.Signal[_]) ⇒ (S, RuntimeComponentApi.SignalCollection[RuntimeComponentApi.Signal[_]])) extends RuntimeComponentTransparent with Product with Serializable

    Permalink

    Is very similar to the most generic link — StateFlatMap.

    Is very similar to the most generic link — StateFlatMap. This component refers a single stateHandle.

  19. sealed trait RuntimeComponentTransparent extends RuntimeComponent

    Permalink
  20. type Signal[T] = components.Signal[T]

    Permalink
    Definition Classes
    ComponentsApi
  21. type SignalCollection[+T] = Iterable[T]

    Permalink
    Definition Classes
    ComponentsApi
  22. type SignalDist = components.SignalDist

    Permalink
    Definition Classes
    ComponentsApi
  23. type SimpleSignalProcessor = (Signal[_]) ⇒ SignalCollection[Signal[_]]

    Permalink

    The simplest signal processor.

    The simplest signal processor. Corresponds to FlatMap.

    Definition Classes
    TrellisApi
  24. type StateHandle[T] = components.StateHandle[T]

    Permalink
    Definition Classes
    ComponentsApi
  25. type StateZipLink[S, -T1, +T2 >: T1] = components.StateZipLink[S, T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  26. type StatefulFlatMapLink[S, -T1, +T2] = components.StatefulFlatMapLink[S, T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  27. type StaticSystem = components.StaticSystem

    Permalink
    Definition Classes
    ComponentsApi
  28. type StaticSystemExtensionId[+T] = components.StaticSystemExtensionId[T]

    Permalink
    Definition Classes
    ComponentsApi
  29. case class SubsystemDirectSignal[T](subsystemName: String, signal: SignalsApi.Signal[T]) extends SubsystemDirectSignal0 with Product with Serializable

    Permalink

    An encapsulation of the signal that targets a subsystem's internal contact.

    An encapsulation of the signal that targets a subsystem's internal contact.

    Definition Classes
    SignalsApi
  30. sealed trait SubsystemDirectSignal0 extends AnyRef

    Permalink
    Definition Classes
    SignalsApi
  31. case class SubsystemDirectSignalDist(subsystemName: String, signal: SignalsApi.SignalDist) extends SubsystemDirectSignal0 with Product with Serializable

    Permalink
    Definition Classes
    SignalsApi
  32. type TotalTrellisProducer = (Context, Signal[_]) ⇒ TrellisElement

    Permalink

    A function that takes a single signal on input and returns the last trellis element.

    A function that takes a single signal on input and returns the last trellis element. This producer does not store managed state in it.

    Definition Classes
    TrellisApi
  33. case class Trace(signalsReversed: List[RuntimeComponentApi.Signal[_]], processorsReversed: List[RuntimeComponent] = Nil) extends Product with Serializable

    Permalink

    The trace of a signal towards the original one.

    The trace of a signal towards the original one. This class is intended for debug purposes. It can also be used in pattern matching and back tracking algorithm.

    signalsReversed

    a list of signals starting from the last produced one and collecting the signals that have lead to the production of the last signal.

    processorsReversed

    a list of processors that have worked for the production of the current signal. The length of the processors list is usually by one shorter than the length of the signals. However if it is a "lost trace" (the one that didn't produce output), then the last processor is added but the signal is not added. Thus the lengths are the same.

  34. type TrellisElement = (Context, SignalCollection[Signal[_]])

    Permalink

    A snapshot of a running system at some discrete time moment.

    A snapshot of a running system at some discrete time moment.

    Definition Classes
    TrellisApi
  35. type TrellisProducer = (TrellisElement) ⇒ TrellisElement

    Permalink

    A function that makes single step (or a few steps) over time.

    A function that makes single step (or a few steps) over time.

    Definition Classes
    TrellisApi
  36. type WithStaticSystem = components.WithStaticSystem

    Permalink
    Definition Classes
    ComponentsApi

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. val Contact: components.Contact.type

    Permalink
    Definition Classes
    ComponentsApi
  5. val FlatMapLink: components.FlatMapLink.type

    Permalink
    Definition Classes
    ComponentsApi
  6. val Link: components.Link.type

    Permalink
    Definition Classes
    ComponentsApi
  7. val NopLink: components.NopLink.type

    Permalink
    Definition Classes
    ComponentsApi
  8. val RedMapLink: components.RedMapLink.type

    Permalink
    Definition Classes
    ComponentsApi
  9. val Signal: components.Signal.type

    Permalink
    Definition Classes
    ComponentsApi
  10. val SignalCollection: Iterable.type

    Permalink
    Definition Classes
    ComponentsApi
  11. val SignalDist: components.SignalDist.type

    Permalink
    Definition Classes
    ComponentsApi
  12. val StateHandle: components.StateHandle.type

    Permalink
    Definition Classes
    ComponentsApi
  13. val StateZipLink: components.StateZipLink.type

    Permalink
    Definition Classes
    ComponentsApi
  14. val StatefulFlatMapLink: components.StatefulFlatMapLink.type

    Permalink
    Definition Classes
    ComponentsApi
  15. val StaticSystem: components.StaticSystem.type

    Permalink
    Definition Classes
    ComponentsApi
  16. object SubsystemDirectSignal0

    Permalink
    Definition Classes
    SignalsApi
  17. object SubsystemSpecialAnswerContact extends Contact[SubsystemDirectSignal0]

    Permalink

    This contact is used to process answers of internal system.

    This contact is used to process answers of internal system.

    Definition Classes
    SignalsApi
  18. object SubsystemSpecialContact extends Contact[SubsystemDirectSignal0]

    Permalink

    This contact is used to process signals of internal system.

    This contact is used to process signals of internal system.

    In asynchronous execution the resulting signal should come at the same level of "call stack". However as far as we usually get the signal asynchronously it is processed at top level. So in order to run it in inside the subsystem, we package asynchronous result into Signal(SubsystemSpecialContact, SubsystemDirectSignal( name, actual resulting signal))

    Definition Classes
    SignalsApi
  19. val WithStaticSystem: components.WithStaticSystem.type

    Permalink
    Definition Classes
    ComponentsApi
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. def contact[T](name: String): components.Contact[T]

    Permalink

    Create a contact with the given name.

    Create a contact with the given name.

    Definition Classes
    ContactsDsl
  23. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  25. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  27. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  28. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  29. val linkToRuntimeComponent: PartialFunction[Component, RuntimeComponent]

    Permalink
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. implicit def pairToSignal[T](p: (Contact[T], T)): Signal[T]

    Permalink

    One may use notation (contact -> data) to represent a signal

    One may use notation (contact -> data) to represent a signal

    Definition Classes
    SignalsApi
  34. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  35. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  36. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from TrellisApi

Inherited from SignalsApi

Inherited from ContactsDsl

Inherited from ComponentsApi

Inherited from AnyRef

Inherited from Any

Ungrouped