I’m excited to announce a new package providing some tools to enable asynchronous, concurrent, reactive, “soft real-time” programming in Julia. The target audience of this package consists of roboticists working at the intersection of controls theory and experimental hardware. It should prove useful for single developers or small teams who are not willing or able to implement a full real-time stack just to test their control implementation on benchtop hardware.
ReactiveToolkit provides the type Topic{T}
to represent a time-varying state of type T
that can be shared between concurrently running tasks, and several macros (@on
, @every
, @after
, and @loop
) to transform arbitrary code into a network of concurrent tasks, augmented with some added control flow and error handling machinery which will run in reaction to topic updates, time, or arbitrary events.
For more information, please check out the documentation:
https://narijauskas.github.io/ReactiveToolkit.jl/dev/
or the repository:
Disclaimer: ReactiveToolkit is not suitable for mission- or safety-critical applications.