SimGrid  3.15
Versatile Simulation of Distributed Systems
Coding Standard and Technical Considerations

There is two main things you want to know about the internals of SimGrid. First, you need to understand the component organization, as SimGrid is heavily layered, with each level being rather highly specialized and optimized toward a task. For that, please head to Project Architecture Overview.

Then, if you work actively on the SimGrid project, the second point you need to understand is about the infrastructure of the SimGrid project, ie how to extend the framework in any way, how the automatic tests are run, and so on. These informations are split on several pages, as follows:

Coding Standard

If you plan to commit code to the SimGrid project, you definitely need to install the relevant tool to ensure that your changes follow our coding standards:

sudo apt-get install clang-format-3.8
ln -s $PWD/tools/git-hooks/clang-format.pre-commit .git/hooks/pre-commit

This will add an extra verification before integrating any commit that you could prepare. If your code does not respects our formating code, git will say so, and provide a ready to use patch that you can apply to improve your commit. Just carefully read the error message you get to find the exact command with git-apply to fix your formating.