Traits
State traits are verified for all Runnable
objects that inherit
from StateTraits
or its subclasses. Verification includes:
Minimal checks of workflow construction (composition of Runnable
classes)
Runtime checks
All built-in Runnable
classes declare state traits requirements that are
either independent (for simple ones) or derived from a child workflow. Traits of a new
Runnable
must be expressed and modified at construction time by its parent.
When developing new Runnable
classes, constructing composite traits can be
nontrivial for some advanced flow-control runnables.
State traits validation base class and related state validation mixins (i/o
validation toggle, i/o dimensionality, state structure).
When subclassing (combining with Runnable
), list them in
the following order, left to right:
structure mixins (e.g. SubsamplesIntaking and SubproblemSampler)
dimensionality mixins (e.g. MultiInputStates and MISO)
validation toggles (e.g. InputValidated and NotValidated)
StateTraits base class (not required if any of the above is used)
Runnable base class
For example:
- class MyRunnable(hybrid.traits.SubsamplesIntaking, hybrid.traits.MISO, hybid.Runnable):
pass
-
class EmbeddingIntaking[source]
-
class EmbeddingProducing[source]
-
class InputNotValidated[source]
-
class InputValidated[source]
-
class MIMO[source]
Multiple Inputs, Multiple Outputs.
-
class MISO[source]
Multiple Inputs, Single Output.
-
class MultiInputStates[source]
-
class MultiOutputStates[source]
-
class NotValidated[source]
Input state(s) and output state(s) are not validated.
-
class OutputNotValidated[source]
-
class OutputValidated[source]
-
class ProblemDecomposer[source]
-
class ProblemIntaking[source]
-
class ProblemProducing[source]
-
class ProblemSampler[source]
-
class SIMO[source]
Single Input, Multiple Outputs.
-
class SISO[source]
Single Input, Single Output.
-
class SamplesIntaking[source]
-
class SamplesProcessor[source]
-
class SamplesProducing[source]
-
class SingleInputState[source]
-
class SingleOutputState[source]
-
class StateTraits[source]
Set of traits imposed on State. By default, not validated.
-
validate_state_trait(state, trait, io)[source]
Validate single input/output (io) state trait.
-
class SubproblemIntaking[source]
-
class SubproblemProducing[source]
-
class SubproblemSampler[source]
-
class SubsamplesComposer[source]
-
class SubsamplesIntaking[source]
-
class SubsamplesProcessor[source]
-
class SubsamplesProducing[source]
-
class Validated[source]
Validated input state(s) and output state(s).