Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Improve documentation so that it can be included in manual
[simgrid.git] / doc / module-gras.doc
1 /** \addtogroup GRAS_API
2   
3     \section GRAS_funct Offered functionnalities
4      - <b>Communication facilities</b>: Exchanging messages between peers
5        - \ref GRAS_dd: any data which may transit on the network must be
6          described beforehand so that GRAS can handle the platform
7          heterogeneity and convert them if needed.
8        - \ref GRAS_sock: this is how to open a communication channel to
9          other processes, and retrive information about them.
10        - \ref GRAS_msg: communications are message oriented. You have to
11          describe all possible messages and their payload beforehand, and
12          can then attach callbacks to the arrival of a given kind of message. 
13      - <b>Virtualization</b>: Running both on top of the simulator and on
14        top of real platforms, and portability support.
15        - \ref GRAS_globals: The use of globals is forbidden since the
16          "processes" are threads in simulation mode. \n
17          This is how to let GRAS handle your globals properly.
18        - \ref GRAS_cond: How to declare specific code for the simulation mode
19           or for the real mode.
20        - \ref GRAS_virtu: You naturally don't want to call the
21           gettimeofday(2) function in simulation mode since it would give
22           you the time on the host running the simulation, not the time in
23           the simulated world (you are belonging to).\n
24           This a system call virtualization layer, which also acts as a
25           portability layer.
26           
27     \section GRAS_example Examples
28       
29     There is for now rather few examples of GRAS, but it's better than
30     nothing, isn't it?
31     
32        - \ref GRAS_ex_ping 
33           
34     \section GRAS_todo TODO
35      Documentation related:
36        - Add an example to the \ref GRAS_msg section, at least
37        - Document examples/gras/gras_stub_generator utility and how to deal
38          with the fact that programs must have a main in RL and not in SG.
39        - Document example/gras/ping as it uses almost all of the GRAS
40          features.
41      
42      Code related: too long to be written here. See the TODO file
43      
44     @{
45 */     
46
47        /** \defgroup GRAS_dd      Data description      */       
48        /** \defgroup GRAS_sock    Sockets               */           
49        /** \defgroup GRAS_msg     Messages              */               
50          
51        /** \defgroup GRAS_globals Globals               */ 
52        /** \defgroup GRAS_cond    Conditional execution */ 
53        /** \defgroup GRAS_virtu   Syscalls              */ 
54
55 /** @} */
56
57 /** \page GRAS_ex_ping The classical Ping-Pong in GRAS
58     \include gras/ping/ping.c
59   */
60