Execution Modules (Adapters)
Module contract
- Base:
VModuleimplementsModule. - Map I/O:
MapIOModulefor modules that read/write state maps. - Branching:
BranchingModulereturns an outcome to drive control flow.
Loading modules
- Each
ExecModule.classNameis resolved to a Spring bean or reflectively instantiated. - Properties are copied from
ExecModuleinto the module instance before execution.
Parallel groups
- Add
{ "parallel": true, "parallelGroup": "A" }inmoduleDatato run as a group. - Outcomes are aggregated with priority: FAILURE > CONDITIONAL > DEFAULT.
Authoring new modules
- Annotate with
@Componentand@VModuleAware. - Implement
MapIOModuleto participate in state passing and branching. - Keep side effects idempotent and log meaningful metrics.