Trigger Model
Every node in Cerulion has an explicit trigger that determines when it runs. There are no implicit callback queues or racing threads. The scheduler evaluates triggers deterministically — given the same inputs, nodes always execute in the same order.Trigger Types
Periodic triggers
Periodic triggers
Nodes run on a fixed interval. Ideal for sensors and data sources that produce at a known rate.The scheduler guarantees the period is respected regardless of system load. If a node overruns its period, the scheduler logs the overrun rather than silently skipping or double-firing.
Input triggers
Input triggers
Nodes run when a specific input receives new data. The trigger names the input explicitly — no ambiguity about which message caused execution.When multiple inputs have data, the scheduler processes triggers in a deterministic order based on the graph topology, not arrival time.
Synchronized triggers
Synchronized triggers
Nodes wait for multiple inputs to arrive within specified time windows. Essential for sensor fusion where timing alignment matters.The time windows (in milliseconds) define how close inputs must arrive to be considered synchronized. If inputs don’t align within the window, the scheduler waits rather than processing mismatched data.
External triggers
External triggers
Nodes run when a custom function returns true. For hardware interrupts, button presses, or any event outside the data flow.
Why This Enables Determinism
The scheduler’s explicit trigger model means execution order is a function of the graph topology and input data — not of OS thread scheduling, system load, or timing jitter. Given the same graph and the same input sequence:- The same nodes fire in the same order
- Synchronized triggers align on the same input pairs
- Periodic nodes maintain their phase relationships
For the complete API reference on trigger patterns, including code examples for each trigger type, see Publisher & Subscriber.
Next Steps
Determinism
How scheduling, logging, and runtime combine for deterministic execution
Pub/Sub Patterns
Complete API reference for all trigger patterns