+**
+** Commenting the source: doxygen
+**
+****************************************************
+
+The global structure of the documentation is in doc/modules.doc
+
+The structure of each module (xbt, gras, etc) is in doc/module-<module>.doc
+
+The structure of a module is in its public header. This way, you're sure to
+see all the public interface (and only it). The different parts of the
+interface are grouped using the @name construct, even if it's buggy. Since
+parts often get reordered, it's better to add numbers to the parts (so that
+users can see the intended order).
+
+The documentation of each type and macro are also in the public header since
+this is were they live.
+
+The documentation of each function must be in the C file were it lives.
+
+Any public element (function, type and macro) must have a @brief part.
+
+**
+** XBT virtualization mecanism
+**
+****************************************************
+
+There is some functionnalities that we want to virtualize in XBT. We
+want xbt_time to give the simulated clock when running on top of the
+simulator, and the host clock when running on a real system. This
+could be placed in GRAS (and was, historically), but there is some
+reason to lower it down to XBT.
+
+Here is the used naming scheme:
+
+ - xbt_<module>_<func>(): functions working both in SG and RL
+ - xbt_os_<module>_<func>(): RL functions usable even in simulator
+
+ That way, in libsimgrid, we still can use native functions if we
+ want to. It may for example be useful to get the real time when
+ implementing the simulator. Think of the SIGINT handler, which
+ wants to see if the user pressed the key twice in a 5 seconds
+ interval. This is of little use to check the simulated time here.
+
+Here is the file layout:
+
+ - xbt_rl_<module>.c: native implementation (xbt_<module>_<func>()).
+ Simply call the corresponding xbt_os_<module>_<func>.
+ Part only of libgras.so
+
+ - xbt_sg_<module>.c: SIMIX implementation xbt_<module>_<func>()).
+ Simply call the corresponding SIMIX implementation.
+ Part only of libsimgrid.so
+
+ - xbt_os_<module>.c: body of the functions implementing natively the
+ stuff (xbt_os_<module>_<func>()).
+ Part of both libgras.so and libsimgrid.so
+
+Since there is almost nothing in xbt_rl_module.c and xbt_sg_module.c,
+it'd be better to use symbol aliasing here (to declare in the object
+code that the same function have two names), but I'm still
+investigating the portability of the thing to windows.
+
+
+*
+* SimGrid Hacker Survival Guide (FIXME: should be betterly placed)
+********************************
+
+* If you break the logs (for example while hacking in the dynars), you
+ want to define XBT_LOG_MAYDAY at the beginning of log.h. It will
+ desactivate the whole logging mecanism, switching to printfs
+ instead. SimGrid becomes incredibly verbose when doing so, but it
+ you let you fixing the dynars.
\ No newline at end of file