- \section MSG_funct Offered functionnalities
- - \ref m_process_management
- - \ref m_datatypes_management
- - \ref m_host_management
- - \ref m_task_management
- - \ref msg_gos_functions
- - \ref m_channel_management
- - \ref msg_easier_life
- - \ref msg_simulation
+/** @defgroup m_process_management Process Management Functions
+ * @ingroup MSG_API
+ * @brief This section describes the process structure of MSG
+ * (#m_process_t) and the functions for managing it.
+ */
+
+/** @defgroup m_host_management Host Management Functions
+ * @ingroup MSG_API
+ * @brief This section describes the host structure of MSG
+ */
+
+/** @defgroup m_task_management Task Management Functions
+ * @ingroup MSG_API
+ * @brief This section describes the task structure of MSG
+ * (#m_task_t) and the functions for managing it. See
+ * \ref msg_task_usage to see how to put the tasks in action.
+ *
+ * \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Tasks" --> \endhtmlonly
+ */
+
+/** @defgroup msg_task_usage Task Actions
+ * @ingroup MSG_API
+ * @brief This section describes the functions that can be used
+ * by a process to execute, communicate or otherwise handle some task.
+ */
+
+/** @defgroup msg_file_management File Management Functions
+ * @ingroup MSG_API
+ * @brief This section describes the file structure of MSG
+ * (#msg_file_t) and the functions for managing it. It
+ * is based on POSIX functions.
+ */
+
+
+/**
+@defgroup msg_trace_driven Trace-driven simulations
+@ingroup MSG_API
+@brief This section describes the functions allowing to build trace-driven simulations.
+
+\htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Trace-Driven" --> \endhtmlonly
+
+This is very handy when you want to test an algorithm or protocol that
+does nothing unless it receives some events from outside. For example,
+a P2P protocol reacts to requests from the user, but does nothing if
+there is no such event.
+
+In such situations, SimGrid allows to write your protocol in your C
+file, and the events to react to in a separate text file. Declare a
+function handling each of the events that you want to accept in your
+trace files, register them using #MSG_action_register in your main,
+and then use #MSG_action_trace_run to launch the simulation. You can
+either have one trace file containing all your events, or a file per
+simulated process.
+
+Check the examples in <b>examples/msg/actions/actions.c</b> for details.
+
+ */