CAF is an open source C++11 actor model implementation featuring lightweight & fast actor implementations, pattern matching for messages, network transparent messaging, and more.
[] (https://gitter.im/actor-framework/chat) [] (https://jenkins.inet.haw-hamburg.de/view/CAF%20Dashboard) [] (http://actor-framework.readthedocs.io/en/latest/?badge=latest) [] (https://scan.coverity.com/projects/5555) [] (https://waffle.io/actor-framework/actor-framework) [] (https://waffle.io/actor-framework/actor-framework)
- Chat: https://gitter.im/actor-framework/chat
- Mailing List: https://groups.google.com/d/forum/actor-framework
- Twitter: https://twitter.com/actor_framework
- Homepage: http://www.actor-framework.org
- Developer Blog: http://blog.actor-framework.org
- Doxygen: http://www.actor-framework.org/doc
- HTML Manual: https://actor-framework.readthedocs.io
- PDF Manual (stable): http://www.actor-framework.org/pdf/manual.pdf
- PDF Manual (latest): http://www.actor-framework.org/develop/pdf/manual.pdf
- Open Issues on GitHub: https://github.com/actor-framework/actor-framework/issues/new
- Ask Questions on StackOverflow: https://stackoverflow.com/questions/ask?tags=c%2b%2b-actor-framework
We provide binary packages for several Linux distributions using the openSUSE Build Service. Please follow the linked installation guides below or alternatively visit our OBS project homepage: https://build.opensuse.org/package/show/devel:libraries:caf/caf
package | description | link |
---|---|---|
caf | binaries only | stable nightly |
caf-devel | binaries and headers | stable nightly |
We maintain a port for CAF, which you can install as follows:
pkg install caf
Alternatively, you can go to /usr/ports/devel/caf
and tweak a few
configuration options before installing the port:
make config
make install clean
You can install the latest stable release with:
brew install caf
Alternatively, you can use the development branch by using:
brew install caf --HEAD
- git clone https://github.com/actor-framework/actor-framework.git
- cd actor-framework
The easiest way to build CAF is to use the configure
script. Other available
options are using CMake directly or
SNocs.
The script is a convenient frontend for CMake
. See configure -h
for a list of available options or read the
[online documentation]
(https://github.com/actor-framework/actor-framework/wiki/Configure-Options).
./configure
make
make test
make install [as root, optional]
All available CMake variables are available
online.
CAF also can be included as CMake submodule or added as dependency to other
CMake-based projects using the file cmake/FindCAF.cmake
.
A SNocs workspace is provided by GitHub user osblinnikov and documented online.
- CMake
- Pthread (until C++11 compilers support the new
thread_local
keyword)
- GCC >= 4.8
- Clang >= 3.2
- Linux
- Mac OS X
- FreeBSD 10
- Note for MS Windows: CAF relies on C++11 features such as variadic templates and unrestricted unions. We will support Visual Studio as soon as Microsoft's compiler implements all required C++11 features. In the meantime, you can use CAF via MinGW.
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.1145/2541329.2541336 and http://dx.doi.org/10.1016/j.cl.2016.01.002.