Reactor Model of Computation
The reactor model is a way to structure concurrent, event-driven systems so that their behavior is deterministic, understandable, and predictable even in the presence of real-time interaction, distribution, and parallelism.
Subscribe to our mailing list by joining the reactor-model Google Group for announcements and discussion.
At a glance
The reactor model is a way to build concurrent, real-time software whose behavior is deterministic by construction. The same program can run unchanged on a microcontroller, on a multicore machine, or across a network of nodes — making systems built this way easier to test, deploy, and verify.
The model is especially well-suited for cyber-physical systems, real-time control, and autonomous robotics.
Distinguishing features
- Causal reactivity: code executes in an order that respects declared dependencies.
- Logical time: events carry time tags that fix order and simultaneity, independent of physical timing.
- Real-time built in: deadlines and periodic behavior are explicit; deviations are detectable.
- Platform versatility: the same model spans embedded, multicore, and distributed systems.
For more details about the reactor model, see the Background page.
Projects using the reactor model
Lingua Franca
Lingua Franca is a coordination language and toolchain for specifying reactor-based systems and generating efficient code for a variety of platforms and targets.
Xronos
A production-grade SDK built on the reactor model by its originators. Python and C++ APIs for deterministic, real-time control, with built-in observability. Its AI layer enables agentic software development.
Reactor µC
reactor-uc is a C-based task scheduling runtime that uses Lingua Franca to target distributed, resource-constrained embedded systems, supporting platforms such as Zephyr, RIOT, Raspberry Pi Pico, and POSIX.
Rosia
Rosia is a Python framework for building reactive systems, drawing on ideas from the reactor model. It aims to provide a more reproducible alternative to ROS.