Trait

ru.primetalk.synapse.core.subsystems

EncapsulationApi

Related Doc: package subsystems

Permalink

trait EncapsulationApi extends SystemBuilderApi

An API for creating an envelope around a subsystem while preserving outer interface. This is useful when we have a few similar systems.

One may also create encapsulation from a StaticSystem.encapsulate. However, it will not have the same outer interface.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EncapsulationApi
  2. SystemBuilderApi
  3. ExceptionHandlingExt
  4. TrellisApi
  5. SignalsApi
  6. ContactsDsl
  7. ComponentsApi
  8. AnyRef
  9. 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. class EmbeddedOuterInterfaceBuilder extends OuterInterfaceBuilder

    Permalink
  7. abstract class EncapsulationBuilder[Outer] extends AnyRef

    Permalink

    Usage: see defineEncapsulation

  8. type FlatMapLink[-T1, +T2] = components.FlatMapLink[T1, T2]

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

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

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

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

    Permalink
    Definition Classes
    ComponentsApi
  13. trait OuterInterfaceBuilder extends AnyRef

    Permalink

    An interface of some object that can collect information about outer interface of a system.

    An interface of some object that can collect information about outer interface of a system. Not only it create contact instances, but it usually transforms and collect them.

    Definition Classes
    SystemBuilderApi
  14. type RedMapLink[-T1, +T2] = components.RedMapLink[T1, T2]

    Permalink
    Definition Classes
    ComponentsApi
  15. implicit class RichSignalList extends AnyRef

    Permalink
    Definition Classes
    SignalsApi
  16. implicit class RichSimpleSignalProcessor extends AnyRef

    Permalink
    Definition Classes
    TrellisApi
  17. implicit class RichTotalTrellisProducer extends AnyRef

    Permalink
    Definition Classes
    TrellisApi
  18. type Signal[T] = components.Signal[T]

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

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

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

    Permalink

    The simplest signal processor.

    The simplest signal processor. Corresponds to FlatMap.

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

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

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

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

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

    Permalink
    Definition Classes
    ComponentsApi
  27. implicit class StaticSystemWithUnhandledExceptionHandler extends AnyRef

    Permalink
    Definition Classes
    ExceptionHandlingExt
  28. 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
  29. sealed trait SubsystemDirectSignal0 extends AnyRef

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

    Permalink
    Definition Classes
    SignalsApi
  31. trait SystemBuilder extends OuterInterfaceBuilder with WithStaticSystem

    Permalink

    DSL for constructing systems.

    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.

    Definition Classes
    SystemBuilderApi
  32. class SystemBuilderC extends SystemBuilder

    Permalink
    Definition Classes
    SystemBuilderApi
  33. trait SystemBuilderExtension extends AnyRef

    Permalink

    An extension that adds some additional state to SystemBuilder.

    An extension that adds some additional state to SystemBuilder. It also has an opportunity to adjust the generated StaticSystem via hook #postProcess

    Definition Classes
    SystemBuilderApi
  34. final class SystemBuilderExtensionId[T <: SystemBuilderExtension] extends AnyRef

    Permalink

    ExtensionId for a system builder.

    ExtensionId for a system builder. Every extension can be installed only once on the same SystemBuilder. An instance of the extension is created by the extend method.

    Definition Classes
    SystemBuilderApi
  35. 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
  36. 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
  37. 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
  38. type UnhandledProcessingExceptionHandler = (Throwable, String, Signal[_], Context) ⇒ Context

    Permalink

    The type of a handler that will handle exceptions during signal processing.

    The type of a handler that will handle exceptions during signal processing. If the exception is recoverable, then the handler should provide a new Context for further processing. If not recoverable - throw some exception (or rethrow the original one).

    Definition Classes
    ExceptionHandlingExt
  39. 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. object SimpleOuterInterfaceBuilder extends OuterInterfaceBuilder

    Permalink
  13. val StateHandle: components.StateHandle.type

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

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

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

    Permalink
    Definition Classes
    ComponentsApi
  17. object SubsystemDirectSignal0

    Permalink
    Definition Classes
    SignalsApi
  18. 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
  19. 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
  20. implicit object UnhandledExceptionHandlerExtensionId extends StaticSystemExtensionId[UnhandledProcessingExceptionHandler]

    Permalink
    Definition Classes
    ExceptionHandlingExt
  21. val WithStaticSystem: components.WithStaticSystem.type

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. 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
  25. val defaultUnhandledExceptionHandler: UnhandledProcessingExceptionHandler

    Permalink
    Definition Classes
    ExceptionHandlingExt
  26. def defineEncapsulation[Outer](en: EncapsulationBuilder[Outer])(implicit sb: SystemBuilder): Outer

    Permalink

    Usage: class OuterInterface(b:OuterInterfaceBuilder){ def in1 = b.input[Int]("in1") def out1 = b.output[Int]("out1") } class OuterImplementation(name:String) extends EncapsulationBuilder(name)(new OuterInterface){ in1 >> out1 } defineEncapsulation(new OuterImplementation("mySystem1"))

  27. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  29. def extension[T <: SystemBuilderExtension](implicit sb: SystemBuilder, extensionInstance: SystemBuilderExtensionId[T]): T

    Permalink

    Usage: extension[LabellingExt].methodInExtension

    Usage: extension[LabellingExt].methodInExtension

    Definition Classes
    SystemBuilderApi
  30. def finalize(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  33. implicit def implicitExtendBasicSystemBuilder[T <: SystemBuilderExtension](sb: SystemBuilder)(implicit extensionInstanceId: SystemBuilderExtensionId[T]): T

    Permalink

    Automatic usage of extensions when an implicit extension id is present in the scope.

    Automatic usage of extensions when an implicit extension id is present in the scope.

    Definition Classes
    SystemBuilderApi
  34. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  35. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  38. 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
  39. val rethrowUnhandledExceptionHandler: UnhandledProcessingExceptionHandler

    Permalink
    Definition Classes
    ExceptionHandlingExt
  40. def setSystemName(name: String)(implicit sb: SystemBuilder): Unit

    Permalink
    Definition Classes
    SystemBuilderApi
  41. def state[T](name: String, s0: T)(implicit sb: SystemBuilder): StateHandle[T]

    Permalink
    Definition Classes
    SystemBuilderApi
  42. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from SystemBuilderApi

Inherited from ExceptionHandlingExt

Inherited from TrellisApi

Inherited from SignalsApi

Inherited from ContactsDsl

Inherited from ComponentsApi

Inherited from AnyRef

Inherited from Any

Ungrouped