3 @page GRAS_tut_tour GRAS initiatic tour
5 During this tour, you will learn all you need to write your own GRAS
6 applications, from the installation of the framework to the use of (almost)
7 all features available in GRAS.
10 DOXYGEN_NAVBAR_CHILD "0: Installing"=GRAS_tut_tour_install.html
11 DOXYGEN_NAVBAR_CHILD "1: Setup a project"=GRAS_tut_tour_setup.html
12 DOXYGEN_NAVBAR_CHILD "2: Simple messaging"=GRAS_tut_tour_simpleexchange.html
13 DOXYGEN_NAVBAR_CHILD "3: Process args"=GRAS_tut_tour_args.html
14 DOXYGEN_NAVBAR_CHILD "4: Callbacks"=GRAS_tut_tour_callbacks.html
15 DOXYGEN_NAVBAR_CHILD "5: Globals"=GRAS_tut_tour_globals.html
16 DOXYGEN_NAVBAR_CHILD "6: Logs"=GRAS_tut_tour_logs.html
17 DOXYGEN_NAVBAR_CHILD "7: Timers"=GRAS_tut_tour_timers.html
18 DOXYGEN_NAVBAR_CHILD "8: Exceptions"=GRAS_tut_tour_exceptions.html
19 DOXYGEN_NAVBAR_CHILD "9: Data exchange"=GRAS_tut_tour_simpledata.html
20 DOXYGEN_NAVBAR_CHILD "10: RPC"=GRAS_tut_tour_rpc.html
21 DOXYGEN_NAVBAR_CHILD "Recapping part 1"=GRAS_tut_tour_message_recaping.html
22 DOXYGEN_NAVBAR_CHILD "12: Static data definition"=GRAS_tut_tour_staticstruct.html
23 DOXYGEN_NAVBAR_CHILD "13: Pointers definition"=GRAS_tut_tour_pointers.html
24 DOXYGEN_NAVBAR_CHILD "14: Dynars definition"=GRAS_tut_tour_dynars.html
25 DOXYGEN_NAVBAR_CHILD "15: Manual data definition"=GRAS_tut_tour_manualdatadef.html
26 DOXYGEN_NAVBAR_CHILD "16: Advanced data definition"=GRAS_tut_tour_exchangecb.html
31 - \ref GRAS_tut_tour_install
33 - \ref GRAS_tut_tour_setup
34 - \ref GRAS_tut_tour_setup_C
35 - \ref GRAS_tut_tour_setup_plat
36 - \ref GRAS_tut_tour_setup_deploy
37 - \ref GRAS_tut_tour_setup_glue
38 - \ref GRAS_tut_tour_setup_make
39 - \ref GRAS_tut_tour_setup_start
41 <b>Part 2: Message passing</b>
43 - \ref GRAS_tut_tour_simpleexchange
44 - \ref GRAS_tut_tour_simpleexchange_msgtype
45 - \ref GRAS_tut_tour_simpleexchange_socks
46 - \ref GRAS_tut_tour_simpleexchange_exchange
47 - \ref GRAS_tut_tour_simpleexchange_recaping
49 - \ref GRAS_tut_tour_args
50 - \ref GRAS_tut_tour_args_use
51 - \ref GRAS_tut_tour_args_sg
52 - \ref GRAS_tut_tour_args_recap
54 - \ref GRAS_tut_tour_callbacks
55 - \ref GRAS_tut_tour_callbacks_declare
56 - \ref GRAS_tut_tour_callbacks_attach
57 - \ref GRAS_tut_tour_callbacks_handle
58 - \ref GRAS_tut_tour_callback_recap
60 - \ref GRAS_tut_tour_globals
61 - \ref GRAS_tut_tour_globals_intro
62 - \ref GRAS_tut_tour_globals_use
63 - \ref GRAS_tut_tour_callback_pitfall
64 - \ref GRAS_tut_tour_callback_recap
66 - \ref GRAS_tut_tour_logs
67 - \ref GRAS_tut_tour_logs_intro
68 - \ref GRAS_tut_tour_logs_practice
69 - \ref GRAS_tut_tour_logs_recap
70 - \ref GRAS_tut_tour_logs_config
72 - \ref GRAS_tut_tour_timers
73 - \ref GRAS_tut_tour_timers_intro
74 - \ref GRAS_tut_tour_timers_use
75 - \ref GRAS_tut_tour_timers_recap
77 - \ref GRAS_tut_tour_exceptions
78 - \ref GRAS_tut_tour_exceptions_intro
79 - \ref GRAS_tut_tour_exceptions_use
80 - \ref GRAS_tut_tour_exceptions_recap
82 - \ref GRAS_tut_tour_simpledata
83 - \ref GRAS_tut_tour_simpledata_intro
84 - \ref GRAS_tut_tour_simpledata_intro_conv
85 - \ref GRAS_tut_tour_simpledata_intro_gras
86 - \ref GRAS_tut_tour_simpledata_use
87 - \ref GRAS_tut_tour_simpledata_example
88 - \ref GRAS_tut_tour_simpledata_recap
90 - \ref GRAS_tut_tour_rpc
91 - \ref GRAS_tut_tour_rpc_intro
92 - \ref GRAS_tut_tour_rpc_use
93 - \ref GRAS_tut_tour_rpc_use_declare
94 - \ref GRAS_tut_tour_rpc_use_i2a_cb
95 - \ref GRAS_tut_tour_rpc_use_a2i_cb
96 - \ref GRAS_tut_tour_rpc_use_rest
97 - \ref GRAS_tut_tour_rpc_recap
99 <b>Part 3: Data description</b>
101 - \ref GRAS_tut_tour_staticstruct Automatic parsing of static data types
102 - \ref GRAS_tut_tour_staticstruct_intro
103 - \ref GRAS_tut_tour_staticstruct_use
104 - \ref GRAS_tut_tour_staticstruct_recap
106 - \ref GRAS_tut_tour_pointers Automatic parsing of datatypes containing pointers
107 - \ref GRAS_tut_tour_pointers_intro
108 - \ref GRAS_tut_tour_pointers_use
109 - \ref GRAS_tut_tour_pointers_recap
111 - \ref GRAS_tut_tour_dynar Exchanging dynars (and matrices)
112 - \ref GRAS_tut_tour_dynar_intro
113 - \ref GRAS_tut_tour_dynar_use
114 - \ref GRAS_tut_tour_dynar_recap
116 - \ref GRAS_tut_tour_manualdatadef Manual data description: the full power
117 - \ref GRAS_tut_tour_manualdatadef_intro
118 - \ref GRAS_tut_tour_manualdatadef_use
119 - \ref GRAS_tut_tour_manualdatadef_recap
121 - \ref GRAS_tut_tour_exchangecb Exchange callbacks: yes you can
122 - \ref GRAS_tut_tour_exchangecb_intro
123 - \ref GRAS_tut_tour_exchangecb_use
124 - \ref GRAS_tut_tour_exchangecb_recap
126 <b>Part 4: Advanced topics</b>
128 Unfortunately, the tour is not terminated yet, but I already know the kind
129 of missi^W lessons I want to add:
131 - Computation virtualization
132 - Splitting in several files (logs, datadesc)
133 - Debugging GRAS programs
134 - Doing proper GRAS modules
143 @page GRAS_tut_tour_install Lesson 0: Installing GRAS
145 Since GRAS is technically part of the SimGrid project, you have to install
146 SimGrid to install GRAS. Doing so is explained in the relevant FAQ section
147 (\ref faq_installation).
149 Newcommers should install the stable release from the tarball, since the cvs
150 snapshots may suffer from (additionnal;) stability issues. Only go for the
151 CVS if you really need features not present in the stable releases yet (or
152 if you plan to help us improving the tool, what is always welcomed).