Primary end-to-end demonstration of Spanda as an autonomous-systems platform:
Language → Packages → Providers → Runtime → Hardware → Simulation → Verification → Deployment
From the project directory:
cd examples/showcase/autonomous_rover
spanda install # resolve spanda-gps, spanda-mqtt, spanda-wifi, spanda-nav
spanda verify src/rover.sd
spanda verify src/rover.sd --json --target RoverV1
Checks memory, sensors, connectivity, package requirements, and task budgets before deploy.
spanda sim src/rover.sd
spanda sim src/rover.sd --record
Runs patrol logic with simulated lidar/camera, safety stop_if, GPS/connectivity triggers, and AI planning.
spanda run src/rover.sd --trace-providers
spanda run src/rover.sd --trace-realtime --metrics-json
Official packages (spanda-gps, spanda-mqtt, spanda-wifi) bootstrap providers at runtime. Imported module calls (read(), connect(), publish_topic()) dispatch through ProviderRegistry.
spanda replay src/rover.trace
spanda replay src/rover.trace --deterministic
| Capability | How |
|---|---|
| GPS | import positioning.gps → GpsPositioningStub via provider registry |
| MQTT | import communication.mqtt → transport provider publish |
| WiFi | import connectivity.wifi → connectivity provider |
| AI planning | planner.reason() + safety.validate() gate |
| Safety | stop_if, safety.validate(), compile-time ActionProposal gate |
| Hardware verify | requires_hardware, deploy … to RoverV1 |
| Triggers | on gps.lost, on network.disconnected |
| Simulation | simulate_compatibility faults |
| Replay | --record → spanda replay |
| Observability | --trace-providers, --trace-realtime |