+ * You can think of an actor as a process in your distributed application, or as a thread in a multithreaded program.
+ * This is the only component in SimGrid that actually does something on its own, executing its own code.
+ * A resource will not get used if you don't schedule activities on them. This is the code of Actors that create and schedule these activities.
+ *
+ * An actor is located on a (simulated) host, but it can interact
+ * with the whole simulated platform.
+ *
+ * The s4u::Actor API is strongly inspired from the C++11 threads.
+ * The <a href="http://en.cppreference.com/w/cpp/thread">documentation
+ * of this standard</a> may help to understand the philosophy of the S4U
+ * Actors.
+ *
+ * @section s4u_actor_def Defining the skeleton of an Actor
+ *
+ * %As in the <a href="http://en.cppreference.com/w/cpp/thread">C++11
+ * standard</a>, you can declare the code of your actor either as a
+ * pure function or as an object. It is very simple with functions:
+ *
+ * @code{.cpp}
+ * #include "s4u/actor.hpp"
+ *
+ * // Declare the code of your worker
+ * void worker() {
+ * printf("Hello s4u");
+ * simgrid::s4u::this_actor::execute(5*1024*1024); // Get the worker executing a task of 5 MFlops
+ * };
+ *
+ * // From your main or from another actor, create your actor on the host Jupiter
+ * // The following line actually creates a new actor, even if there is no "new".
+ * Actor("Alice", simgrid::s4u::Host::by_name("Jupiter"), worker);
+ * @endcode
+ *
+ * But some people prefer to encapsulate their actors in classes and
+ * objects to save the actor state in a cleanly dedicated location.
+ * The syntax is slightly more complicated, but not much.
+ *
+ * @code{.cpp}