Introduction
Boomerang is built around a Rust-first implementation of the "Reactors" Deterministic Actor Model, described by M. Lohstroh, A. Lee, et al U.C. Berlekely, Link to paper.
Comparison to Lingua-Franca
The Lingua-Franca
project (https://github.com/icyphy/lingua-franca/wiki) serves as a point of reference for Boomerang
.
The Boomerang
scheduler started out as a direct Rust port of the Lingua-Franca
Discrete-Event scheduler runtime. Instead of using a distinct "compositional language" like Lingua-Franca, Boomerang leverages the power of Rust derive-macros to directly annotate the Reactor semantics and composition. The resultant DAG is analyzed and used to generate implementation primitives for the Scheduler.
This project is still in the very early stages, but intends to implement as much of the language specification and features from Lingua-Franca
as possible.
See also Reactor Cpp