Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix the bug on MSG_task_put_bounded raised by Fredo, Henri and Matthieu.
[simgrid.git] / doc / module-msg.doc
index 9770083..2a35441 100644 (file)
@@ -1,4 +1,48 @@
-/** \addtogroup MSG_API 
+/** \defgroup MSG_JAVA      jMSG
+    \ingroup MSG_API
+    \brief Java bindings to MSG (\ref MSG_API)
+
+    \htmlonly <!-- 
+      DOXYGEN_NAVBAR_LABEL="JAVA bindings" 
+      DOXYGEN_NAVBAR_CHILD "Simulation functions"=classsimgrid_1_1msg_1_1Msg.html
+      DOXYGEN_NAVBAR_CHILD "Host"=classsimgrid_1_1msg_1_1Host.html
+      DOXYGEN_NAVBAR_CHILD "Process"=classsimgrid_1_1msg_1_1Process.html
+      DOXYGEN_NAVBAR_CHILD "Task"=classsimgrid_1_1msg_1_1Task.html      
+      DOXYGEN_NAVBAR_CHILD "MsgException"=classsimgrid_1_1msg_1_1MsgException.html
+    --> \endhtmlonly 
+         
+      MSG was the first distributed programming environment provided within
+      SimGrid. While almost realistic, it remains quite simple (simplistic?).
+      This describes the Java bindings to this interface.
+
+      \section jMSG_who Who should use this (and who shouldn't)
+      
+      You should use MSG if you want to study some heuristics for a
+      given problem you don't really want to implement. If you want to
+      use the Java programming language, your are in the right
+      section. To use the C interface, please refer to \ref MSG_C.
+*/
+
+/** \defgroup MSG_C      MSG native
+    \ingroup MSG_API
+    \brief Native interface to MSG (\ref MSG_API)
+
+    \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Native interface" --> \endhtmlonly 
+         
+      MSG was the first distributed programming environment provided within
+      SimGrid. While almost realistic, it remains quite simple (simplistic?).
+      This describes the native to MSG.
+
+      \section jMSG_who Who should use this (and who shouldn't)
+      
+      You should use MSG if you want to study some heuristics for a
+      given problem you don't really want to implement. If you want to
+      use the C programming language, your are in the right
+      section. To use the Java programming interface, please refer to
+      \ref MSG_JAVA.
+*/
+
+/** @addtogroup MSG_C
 
   \section MSG_funct Offered functionnalities
    - \ref m_process_management
 
   \section MSG_funct Offered functionnalities
    - \ref m_process_management
    - \ref msg_easier_life
    - \ref msg_simulation
 
    - \ref msg_easier_life
    - \ref msg_simulation
 
-  \section MSG_examples Examples of use
+  \section MSG_examples Examples of MSG
  
    - \ref MSG_ex_master_slave
 */
 
  
    - \ref MSG_ex_master_slave
 */
 
-/**     \addtogroup m_datatypes_management
-        \ingroup MSG_API  */
+/** @defgroup m_datatypes_management MSG Data Types 
+    @ingroup MSG_C
+    @brief This section describes the different datatypes provided by MSG.
+    
+    \htmlonly <!-- DOXYGEN_NAVBAR_LABEL="Data types" --> \endhtmlonly
+*/
 /**     \addtogroup m_process_management
 /**     \addtogroup m_process_management
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup m_host_management
 /**     \addtogroup m_host_management
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup m_task_management
 /**     \addtogroup m_task_management
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup msg_gos_functions
 /**     \addtogroup msg_gos_functions
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup m_channel_management
 /**     \addtogroup m_channel_management
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup msg_easier_life
 /**     \addtogroup msg_easier_life
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 /**     \addtogroup msg_simulation
 /**     \addtogroup msg_simulation
-        \ingroup MSG_API  */
+        \ingroup MSG_C  */
 
 /** \page MSG_ex_master_slave Master/slave application
 
 /** \page MSG_ex_master_slave Master/slave application
-
-    <center>[\ref MSG_API]</center>
     
     Simulation of a master-slave application using a realistic platform and
     an external description of the deployment. 
     
     Simulation of a master-slave application using a realistic platform and
     an external description of the deployment. 
      
     <hr> 
     
      
     <hr> 
     
-    \dontinclude msg/msg_test.c
+    \dontinclude msg/masterslave/masterslave_forwarder.c
     
     \section MSG_ext_ms_code Code of the application
     
     
     \section MSG_ext_ms_code Code of the application
     
     \subsection MSG_ext_ms_slave Slave code
     
       This function has to be assigned to a #m_process_t that has to behave as a slave.
     \subsection MSG_ext_ms_slave Slave code
     
       This function has to be assigned to a #m_process_t that has to behave as a slave.
-      Just like #master(), it should not be called directly.
+      Just like the master fuction (described in \ref MSG_ext_ms_master), it should not be called directly.
 
       This function keeps waiting for tasks and executes them as it receives them.
       
 
       This function keeps waiting for tasks and executes them as it receives them.
       
    \subsection MSG_ext_ms_forwarder Forwarder code
    
       This function has to be assigned to a #m_process_t that has to behave as a forwarder.
    \subsection MSG_ext_ms_forwarder Forwarder code
    
       This function has to be assigned to a #m_process_t that has to behave as a forwarder.
-      Just like #master(), it should not be called directly.
+      Just like the master fuction (described in \ref MSG_ext_ms_master), it should not be called directly.
 
       C style arguments (argc/argv) are interpreted as a list of host
       that will accept those tasks.
 
       This function keeps waiting for tasks and dispathes them to its slaves.
 
 
       C style arguments (argc/argv) are interpreted as a list of host
       that will accept those tasks.
 
       This function keeps waiting for tasks and dispathes them to its slaves.
 
+      \until end_of_forwarder
+
    \subsection MSG_ext_ms_core Simulation core
 
       This function is the core of the simulation and is divided only into 3 parts
    \subsection MSG_ext_ms_core Simulation core
 
       This function is the core of the simulation and is divided only into 3 parts
 
    \subsection MSG_ext_ms_application Example of application file
 
 
    \subsection MSG_ext_ms_application Example of application file
 
-   \include msg/small_deployment.xml
+   \include msg/masterslave/deployment_masterslave.xml
 
    \subsection MSG_ext_ms_platform Example of platform file
    
 
    \subsection MSG_ext_ms_platform Example of platform file