XUtils

C++ Actor Framework

An Open Source Implementation of the Actor Model in C++. [BSD-3-Clause] [website](http://actor-framework.org/)


Online Resources

Report Bugs and Get Help

Community

Get CAF

We do not officially maintain packages for CAF. However, some of our community members made packages available for these package managers:

Get the Sources

git clone https://github.com/actor-framework/actor-framework.git
cd actor-framework

Build CAF from Source

CAF uses CMake as its build system of choice. To make building CAF more convenient from the command line, we provide a configure script that wraps the CMake invocation. The script only works on UNIX systems. On Windows, we recommend generating an MSVC project file via CMake for native builds.

Using the configure Script

The script is a convenient frontend for CMake. See configure -h for a list of available options. By default, the script creates a build directory and asks CMake to generate a Makefile. A build with default settings generally follows these steps:

./configure
cd build
make
make test [optional]
make install [as root, optional]

Using CMake

To generate a Makefile for building CAF with default settings, either use a CMake GUI or perform this step on the command line:

cmake -S <path-to-caf-sources> -B build

After this step, cmake -LH prints the most useful configuration options for CAF, their default value, and a helptext.

Other CMake projects can add CAF as a dependency by using find_package and listing the required modules (e.g., core or net) . When installing CAF to a non-standard location, set CAF_ROOT prior to calling find_package.

Dependencies

  • CMake (for building CAF)
  • OpenSSL (when building the openssl or net module)

Build Documentation Locally

  • Building an offline version of the manual requires Sphinx:
    
    cd manual
    sphinx-build . html
    
  • Building an offline version of the API reference documentation requires Doxygen (simply run the doxygen command at the root directory of the repository).

Scientific Use

If you use CAF in a scientific context, please use one of the following citations:

@inproceedings{cshw-nassp-13,
  author = {Dominik Charousset and Thomas C. Schmidt and Raphael Hiesgen and Matthias W{\"a}hlisch},
  title = {{Native Actors -- A Scalable Software Platform for Distributed, Heterogeneous Environments}},
  booktitle = {Proc. of the 4rd ACM SIGPLAN Conference on Systems, Programming, and Applications (SPLASH '13), Workshop AGERE!},
  pages = {87--96},
  month = {Oct.},
  year = {2013},
  publisher = {ACM},
  address = {New York, NY, USA}
}

@article{chs-rapc-16,
  author = {Dominik Charousset and Raphael Hiesgen and Thomas C. Schmidt},
  title = {{Revisiting Actor Programming in C++}},
  journal = {Computer Languages, Systems \& Structures},
  volume = {45},
  year = {2016},
  month = {April},
  pages = {105--131},
  publisher = {Elsevier}
}

You can find the papers online at http://dx.doi.org/10.11452541329.2541336 and http://dx.doi.org/10.1016/j.cl.2016.01.002.


Articles

  • coming soon...