General usage: choose an input route
After completing Getting started, use this page to choose the shortest command for a monitoring route. The focused tutorials contain the complete prerequisites, observations, lifetime, and cleanup for each route.
Command shape
The command examples on this page use a POSIX shell on Linux or Unix. Run from the repository root:
cargo run -- <MODEL> <ONE_INPUT_SELECTION> [ONE_OUTPUT_SELECTION]
Exactly one input selection is required. The common selections are:
| Task | Input selection | Process shape |
|---|---|---|
| Replay a checked-in or user-created trace | --input-file PATH | Finite; exits after the file |
| Subscribe to MQTT topics named after model inputs | --mqtt-input | Live; waits for messages |
| Subscribe to Redis Pub/Sub channels | --redis-input | Live; waits for messages |
| Read selected Redis knowledge keys | --redis-knowledge-input | Live; key changes and optional startup snapshot |
| Read ROS 2 topics from a mapping | --input-ros-file PATH | Live; requires --features ros |
| Combine named local sources | --input-config PATH | Usually live; source lifetime applies |
With no output option, results go to stdout. Use --output-stdout to make that
choice explicit, or choose one output route such as --mqtt-output,
--redis-output, --output-ros-file PATH, or --output-config PATH.
The default language is dsrv, with gradually typed untimed semantics, the
dataflow runtime, and buffered execution. See cargo run -- --help for the
complete option set.
Compatibility boundaries
--language mstloselects the MSTLO runtime; do not also provide--runtime. Redis knowledge input is not compatible with MSTLO because it produces ordinaryValueinput. ROS MSTLO input instead requires the generatedMstloTimedValuecodec.--input-fileis finite replay input and cannot carry reconfiguration for a reconfigurable runtime. Use a live, control-capable source when runtime reconfiguration is required.--input-window-modeneeds--input-window-msor--input-window-update-limit.batchpreserves logical ticks;atomic-stepuses last-update-wins within the local window. It is not a transaction.--redis-inputmeans Redis Pub/Sub channels.--redis-knowledge-inputmeans selected keys plus keyspace notifications; it does not derive keys from variable names.
Choose a focused page
- Extended Windows usage — WSL, native PowerShell setup and invocation, Docker Desktop transport examples, and Wine-based testing of a cross-compiled Windows build.
- Write and run DSRV models — typed declarations, timestamped values, simultaneous inputs, ticks, history,
defer, and cautiousdynamicguidance. - Monitor timed signals with MSTLO — STL formulas, embedded dense-time timestamps, delayed and early verdicts, robustness, and synchronization.
- Live MQTT — broker, topics, JSON5 inputs, and wrapped MQTT outputs.
- ROS input/output — ROS 2 features, mappings, live messages, and MSTLO codec separation.
- Redis knowledge input — one-key state and a mixed Redis/MAPLE-K example.
- Input configuration and output configuration — route catalogues and multi-destination schemas.
- Reconfigure a running monitor and run distributed monitoring — live control and graph-localized workflows.