NOTE: Development in this repo has moved to ssm-lang/ssm-runtime.
The Sparse Synchronous Model: A deterministic real-time execution technique that allows explicit, precise timing control.
An early version of this system is described in our FDL 2021 paper http://www.cs.columbia.edu/~sedwards/papers/edwards2020sparse.pdf. The artifact accompanying that paper may be found here.
Documentation: http://sedwards-lab.github.io/ssm-doc
To build and test the runtime system on your host,
make
To run the examples on embedded hardware,
-
Install the PlatformIO Core (CLI) build system from https://platformio.org/
-
Under Linux, you may need to install the
99-platformio-udev.rules
file to enable permissions to access your debugging probe. See https://docs.platformio.org/en/latest/faq.html#platformio-udev-rules -
cd into, e.g., examples/blink-platformio-zephyr
-
E.g., for the Nordic nrf82840 discovery kit,
pio run --environment nrf52840_dk --target upload --target monitor
will compile, upload, and display the serial output of the example. The monitor target is optional. See theplatformio.ini
file for details about other targets.Note that PlatformIO will download and compile a separate copy of this (ssm runtime) library from github, not the one a few directories above the examples. `