trait RuntimeComponentApi extends SignalsApi with TrellisApi
- Alphabetic
- By Inheritance
- RuntimeComponentApi
- TrellisApi
- SignalsApi
- ContactsDsl
- ComponentsApi
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class ContactExtractor[T] extends AnyRef
Extractor of contacts' data from result.
Extractor of contacts' data from result.
- Definition Classes
- SignalsApi
- implicit class RichSignalList extends AnyRef
- Definition Classes
- SignalsApi
- case class SubsystemDirectSignal[T](subsystemName: String, signal: SignalsApi.Signal[T]) extends SubsystemDirectSignal0 with Product with Serializable
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
- sealed trait SubsystemDirectSignal0 extends AnyRef
- Definition Classes
- SignalsApi
- case class SubsystemDirectSignalDist(subsystemName: String, signal: SignalsApi.SignalDist) extends SubsystemDirectSignal0 with Product with Serializable
- Definition Classes
- SignalsApi
- case class BlackBoxRuntimeComponent(name: String, inputContacts: List[RuntimeComponentApi.Contact[_]], outputContacts: List[RuntimeComponentApi.Contact[_]], runtimeStatelessInterpreter: (RuntimeComponentApi.Signal[_]) => Iterable[RuntimeComponentApi.Signal[_]]) extends RuntimeComponentTransparent with Product with Serializable
- type Component = components.Component
- Definition Classes
- ComponentsApi
- type ComponentWithInternalStructure = components.ComponentWithInternalStructure
- Definition Classes
- ComponentsApi
- type Contact[T] = components.Contact[T]
- Definition Classes
- ComponentsApi
- type Context = Map[Contact[_], _]
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
- type FlatMapLink[-T1, +T2] = components.FlatMapLink[T1, T2]
- Definition Classes
- ComponentsApi
- type Link[T1, T2, -TL1 >: T1, +TL2 <: T2] = components.Link[T1, T2, TL1, TL2]
- Definition Classes
- ComponentsApi
- type LinkInfo[-T1, +T2] = components.LinkInfo[T1, T2]
- Definition Classes
- ComponentsApi
- type Named = components.Named
- Definition Classes
- ComponentsApi
- type NopLink[-T1, +T2 >: T1] = components.NopLink[T1, T2]
- Definition Classes
- ComponentsApi
- type RedMapLink[-T1, +T2] = components.RedMapLink[T1, T2]
- Definition Classes
- ComponentsApi
- sealed trait RuntimeComponent extends Named
A runtime component that should be processed with pattern matching.
- case class RuntimeComponentFlatMap(name: String, input: RuntimeComponentApi.Contact[_], output: RuntimeComponentApi.Contact[_], f: (RuntimeComponentApi.Signal[_]) => RuntimeComponentApi.SignalCollection[RuntimeComponentApi.Signal[_]]) extends RuntimeComponentTransparent with Product with Serializable
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
- case class RuntimeComponentMultiState(name: String, stateHandles: List[RuntimeComponentApi.Contact[_]], f: RuntimeComponentApi.TotalTrellisProducer) extends RuntimeComponent with Product with Serializable
The most general processing element.
The most general processing element. Can depend on a few states.
- 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
Is very similar to the most generic link — StateFlatMap.
Is very similar to the most generic link — StateFlatMap. This component refers a single stateHandle.
- sealed trait RuntimeComponentTransparent extends RuntimeComponent
- type Signal[T] = components.Signal[T]
- Definition Classes
- ComponentsApi
- type SignalCollection[+T] = Iterable[T]
- Definition Classes
- ComponentsApi
- type SignalDist = components.SignalDist
- Definition Classes
- ComponentsApi
- type SimpleSignalProcessor = (Signal[_]) => SignalCollection[Signal[_]]
The simplest signal processor.
The simplest signal processor. Corresponds to FlatMap.
- Definition Classes
- TrellisApi
- type StateHandle[T] = components.StateHandle[T]
- Definition Classes
- ComponentsApi
- type StateZipLink[S, -T1, +T2 >: T1] = components.StateZipLink[S, T1, T2]
- Definition Classes
- ComponentsApi
- type StatefulFlatMapLink[S, -T1, +T2] = components.StatefulFlatMapLink[S, T1, T2]
- Definition Classes
- ComponentsApi
- type StaticSystem = components.StaticSystem
- Definition Classes
- ComponentsApi
- type StaticSystemExtensionId[+T] = components.StaticSystemExtensionId[T]
- Definition Classes
- ComponentsApi
- type TotalTrellisProducer = (Context, Signal[_]) => TrellisElement
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
- case class Trace(signalsReversed: List[RuntimeComponentApi.Signal[_]], processorsReversed: List[RuntimeComponent] = Nil) extends Product with Serializable
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.
- type TrellisElement = (Context, SignalCollection[Signal[_]])
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
- type TrellisProducer = (TrellisElement) => TrellisElement
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
- type WithStaticSystem = components.WithStaticSystem
- Definition Classes
- ComponentsApi
- implicit class RichSimpleSignalProcessor extends AnyRef
- Definition Classes
- TrellisApi
- implicit class RichTotalTrellisProducer extends AnyRef
- Definition Classes
- TrellisApi
Value Members
- object SubsystemDirectSignal0
- Definition Classes
- SignalsApi
- object SubsystemSpecialAnswerContact extends Contact[SubsystemDirectSignal0]
This contact is used to process answers of internal system.
This contact is used to process answers of internal system.
- Definition Classes
- SignalsApi
- object SubsystemSpecialContact extends Contact[SubsystemDirectSignal0]
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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val Contact: components.Contact.type
- Definition Classes
- ComponentsApi
- val FlatMapLink: components.FlatMapLink.type
- Definition Classes
- ComponentsApi
- val Link: components.Link.type
- Definition Classes
- ComponentsApi
- val NopLink: components.NopLink.type
- Definition Classes
- ComponentsApi
- val RedMapLink: components.RedMapLink.type
- Definition Classes
- ComponentsApi
- val Signal: components.Signal.type
- Definition Classes
- ComponentsApi
- val SignalCollection: Iterable.type
- Definition Classes
- ComponentsApi
- val SignalDist: components.SignalDist.type
- Definition Classes
- ComponentsApi
- val StateHandle: components.StateHandle.type
- Definition Classes
- ComponentsApi
- val StateZipLink: components.StateZipLink.type
- Definition Classes
- ComponentsApi
- val StatefulFlatMapLink: components.StatefulFlatMapLink.type
- Definition Classes
- ComponentsApi
- val StaticSystem: components.StaticSystem.type
- Definition Classes
- ComponentsApi
- val WithStaticSystem: components.WithStaticSystem.type
- Definition Classes
- ComponentsApi
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def contact[T](name: String): components.Contact[T]
Create a contact with the given name.
Create a contact with the given name.
- Definition Classes
- ContactsDsl
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val linkToRuntimeComponent: PartialFunction[Component, RuntimeComponent]
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit def pairToSignal[T](p: (Contact[T], T)): Signal[T]
One may use notation (contact -> data) to represent a signal
One may use notation (contact -> data) to represent a signal
- Definition Classes
- SignalsApi
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated