X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5db520d83cf2b68f786439ff7ff3e30dbb40e789..930154323b19b9eaf6a0798306f57063089c7b0e:/doc/module-gras.doc
diff --git a/doc/module-gras.doc b/doc/module-gras.doc
index a6e54bb60f..2bf717ed3d 100644
--- a/doc/module-gras.doc
+++ b/doc/module-gras.doc
@@ -5,7 +5,7 @@
/** \addtogroup GRAS_API
\section GRAS_funct Offered functionnalities
- - Communication facilities: Exchanging messages between peers
+ - \ref GRAS_comm: Exchanging messages between peers
- \ref GRAS_dd : any data which may transit on the network must be
described beforehand so that GRAS can handle the platform
heterogeneity and convert them if needed.
@@ -17,7 +17,7 @@
- \ref GRAS_timer : this is how to program repetitive and delayed
tasks, not unlike cron(8) and at(1). This cannot be used to timeout
a function (like setitimer(2) or signal(2) games could do).
- - Virtualization: Running both on top of the simulator and on
+ - \ref GRAS_run: Running both on top of the simulator and on
top of real platforms, and portability support.
- \ref GRAS_virtu : You naturally don't want to call the
gettimeofday(2) function in simulation mode since it would give
@@ -31,7 +31,7 @@
- \ref GRAS_emul : Support to emulate code excution (ie, reporting
execution time into the simulator and having code sections specific
to simulation or to real mode).
- - Project management tools: Here are some tools which may help
+ - \ref GRAS_code: Here are some tools which may help
you setting up a GRAS project.\n
Setting up and building a GRAS application is complicated by the
library schizoid. The code to setup the environment differs
@@ -52,12 +52,40 @@
- \ref GRAS_ex_ping
- \ref GRAS_ex_mmrpc
- \ref GRAS_ex_timer
-
+
+ @{ */
+ /** @defgroup GRAS_comm Communication facilities */
+ /** @defgroup GRAS_run Virtualization */
+ /** @defgroup GRAS_code Project and code management */
+ /** @defgroup GRAS_ex Examples */
+/** @} */
+#####################################################################
+/** @addtogroup GRAS_comm
+
+ Here are the communication facilities. GRAS allows you to exchange
+ messages on sockets (which can be seen as pipes between
+ processes). On reception, messages start callbacks (that's the
+ default communication mode, not the only one). All messages of a given
+ type convey the same kind of data, and you have to describe it
+ beforehand.
+
+ Timers are also seen as a mean of communication (with yourself). It
+ allows you to run a repetitive task ("do this every N second until I tell
+ you to stop"), or to deffer a treatment ("do this in 3 sec").
+
@{ */
/** @defgroup GRAS_dd Data description */
/** @defgroup GRAS_sock Sockets */
/** @defgroup GRAS_msg Messages */
/** @defgroup GRAS_timer Timers */
+
+/** @} */
+#####################################################################
+/** @addtogroup GRAS_run
+
+ Virtualization facilities allow your code to run both on top of the simulator or in real setting.
+
+ @{ */
/** @defgroup GRAS_globals Globals */
/** @defgroup GRAS_emul Emulation support */
@@ -65,6 +93,42 @@
/** @} */
+#####################################################################
+/** @addtogroup GRAS_code
+
+ Here is how to setup your code when you want to use GRAS. You will also
+ learn how to get the most repetitive parts of your code generated
+ automatically.
+
+ (use the tabs on top of the page to navigate)
+
+ \htmlonly \endhtmlonly
+*/
+
+#####################################################################
+/** @addtogroup GRAS_ex
+
+ There is for now rather few examples of GRAS, but it's better than
+ nothing, isn't it?
+
+ - \ref GRAS_ex_ping
+ - \ref GRAS_ex_mmrpc
+ - \ref GRAS_ex_timer
+
+ \htmlonly \endhtmlonly
+
+ There is some more examples in the distribution, under the directory
+ examples/gras.
+*/
+
#####################################################################
######################### EXTRA PAGES ##############################
#####################################################################
@@ -73,12 +137,7 @@
--------------------- main() generation -----------------------------
---------------------------------------------------------------------
-/** \page GRAS_main_generation main() and GRAS
-
-
Top | [\ref index]::[\ref GRAS_API]
- |
Prev | [\ref GRAS_emul]
- |
Next | [\ref GRAS_compile] |
-
+/** \page GRAS_main_generation main function
\section GRAS_maingen_toc Table of content
@@ -154,11 +213,7 @@
------------------------- Compiling ---------------------------------
---------------------------------------------------------------------
-/** \page GRAS_compile Compiling your GRAS project
-
- Top | [\ref index]::[\ref GRAS_API]
- |
Prev | [\ref GRAS_main_generation]
- |
Next | [\ref GRAS_ex_ping] |
+/** \page GRAS_compile Compiling your project
As explained in section \ref GRAS_main_generation, the
gras_stub_generator tool can be used to generate the system
@@ -256,10 +311,6 @@
/** \page GRAS_ex_ping The classical Ping-Pong in GRAS
- Top | [\ref index]::[\ref GRAS_API]
- |
Prev | [\ref GRAS_compile]
- |
Next | [\ref GRAS_ex_mmrpc] |
-
This example implements the very classical ping-pong in GRAS. It
involves a client (initiating the ping-pong) and a server (answering to
client's requests).
@@ -364,10 +415,6 @@
/** \page GRAS_ex_mmrpc A simple RPC for matrix multiplication
- Top | [\ref index]::[\ref GRAS_API]
- |
Prev | [\ref GRAS_ex_ping]
- |
Next | [\ref GRAS_ex_timer] |
-
This example implements a remote matrix multiplication. It involves a client
(creating the matrices and sending the multiplications requests) and a server
(computing the multiplication on client's behalf).
@@ -495,10 +542,6 @@
/** \page GRAS_ex_timer Some timer games
- Top | [\ref index]::[\ref GRAS_API]
- |
Prev | [\ref GRAS_ex_mmrpc]
- |
Next | |
-
This example fools around with the GRAS timers (\ref GRAS_timer). It is
mainly a regression test, since it uses almost all timer features.