Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
regenerate on valnure (dynar exchange)
[simgrid.git] / doc / modules.doc
1 /** 
2   \defgroup SimGrid_API  API of SimGrid */
3
4 /** \defgroup XBT_API      XBT
5        \ingroup SimGrid_API
6        \brief The core toolbox of SimGrid, containing usefull datatypes,
7        portability support and so on.
8 */
9
10 /** \defgroup SURF_API       SURF
11     \ingroup SimGrid_API
12     \brief Kernel of all the simulators used in SimGrid, and associated models.
13  
14       SURF provides the core functionnalities to simulate a virtual
15       platform. It is very low-level and is not intended to be used as
16       such but rather to serve as a basis for higher-level simulators.
17       We're still working on it and the structure is a little bit
18       complex. So we'll document it only when we'll be completely satisfied of 
19       the way it is organized.
20
21       It is where platform models are encoded. If you need a model that is not 
22       encoded yet, please tell me (<arnaud.legrand@imag.fr>) and we'll
23       see if it is feasible or not (hopefully it should be but who knows).
24
25       Please note that as it is not really intended for public use,
26       this module is only partially documented.
27 */
28
29 /** \defgroup MSG_API      MSG
30     \ingroup SimGrid_API
31     \brief Simple programming environment 
32   
33       MSG was the first distributed programming environment provided within
34       SimGrid. While almost realistic, it remains quite simple (simplistic?).
35
36       \section MSG_who Who should use this (and who shouldn't)
37       
38       You should use this model if you want to study some heuristics for a
39       given problem you don't really want to implement. If you want to get a
40       real implementation of your solution, have a look at the \ref GRAS_API 
41       programming environment. If you want to study an existing MPI program,
42       have a look at the \ref SMPI_API one. If none of those programming
43       environments fits your needs, you may consider implementing your own 
44       directly on top of \ref SURF_API (but you probably want to contact us
45       before). 
46 */
47
48 /** \defgroup GRAS_API      GRAS
49     \ingroup SimGrid_API
50     \brief Realistic programming environment (Grid Reality And Simulation)
51   
52     GRAS provide a complete API to implement distributed application on top
53     of heterogeneous plateforms. In addition to the SimGrid implementation
54     of this interface (allowing you to work on your application within the
55     comfort of the simulator), an implementation suited to real platforms is
56     also provided (allowing you to really use your application once you're
57     done with developing it).
58   
59     GRAS thus constitute a complete grid application developement framework,
60     encompassing both developer helping tools (the simulator and associated
61     tools) and an efficient while portable execution runtime.
62   
63     \section GRAS_who Who should use this (and who shouldn't)
64     
65     You should use this programming environment if you want to develop real
66     applications, ie if the final result of your work is a program which 
67     may eventually be distributed. 
68     If you just want to study some heuristics for a given problem you don't
69     want to implement really (ie, if your result would be a theorem), have a
70     look at the \ref MSG_API one.
71     If you want to study an existing MPI program, have a look at the 
72     \ref SMPI_API one. 
73     If none of those programming environments fits your needs, you may
74     consider implementing your own directly on top of \ref SURF_API (but you
75     probably want to contact us before).
76 */
77
78 /** \defgroup SMPI_API      SMPI
79     \ingroup SimGrid_API
80     \brief Programming environment for the simulation of MPI applications
81   
82     Once implemented, this programming environment will allow you to study
83     within the simulator any MPI application without having to modify them
84     for that. In other words, it will constitute an emulation solution for
85     parallel codes.
86     
87     \section SMPI_who Who should use this (and who shouldn't)
88     
89     You should use this programming environment of the SimGrid suite if you
90     want to study existing MPI applications.
91     If you want to work on a distributed application, have a look at the 
92     \ref GRAS_API environment. 
93     If you want to study some heuristics for a given problem (and if your
94     goal is to produce theorems, not code), have a look at the \ref MSG_API
95     environment.
96     If none of those programming environments fits your needs, you may
97     consider implementing your own directly on top of \ref SURF_API (but you
98     probably want to contact us before).
99   
100  */