Skip to content

lf-lang/reactor-cpp

 
 

Repository files navigation

A Reactor-Oriented Programming Framework in C++

CI

While reactor-cpp can be used as a standalone framework, it is designed to work in conjunction with Lingua Franca, a polyglot metaprogramming language. Have a look at the Lingua Franca wiki to get an overview of the Reactor model. If you are working with AUTOSAR Adaptive Platform (AP), also have a look at the DEAR framework, which in conjunction with reactor-cpp allows to implement AP Services using the reactor model.

Build

mkdir build
cd build
cmake ..
make

The examples need to be built explicitly.

make examples

Alternatively take a look at the CONTRIBUTING.md for building with nix package manager.

Extras

reactor-cpp can be build with tracing support. This provides a powerful tool for analyzing and debugging reactor applications.

Contributing

For general guidelines about contributing, see CONTRIBUTING.md.

Documentation

A live version of the latest commit on master is automatically deployed and available online. For tests and other purposes, you can also build the documentation locally.

First doxygen needs to be installed. On Ubuntu or Debian, run:

sudo apt-get install doxygen

Further we need several python packages. Assuming that both python3 and pip3 are set up, run

pip3 --user install -r doc/requirements.txt

If python3 is the default on your system, run:

pip --user install -r doc/requirements.txt

Now we can build the documentation with:

make html

This will output the project documentaion in doc/build/html.

Publications

  • DATE'20: Christian Menard, Andrés Goens, Marten Lohstroh, Jeronimo Castrillon, Achieving Determinism in Adaptive AUTOSAR, Proceedings of the 2020 Design, Automation and Test in Europe Conference (DATE), EDA Consortium, Mar 2020.

Also see the Lingua Franca publications.

About

A C++ framework for writing reactor programs

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6