Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git] / doc / doxygen / getting_started.doc
1 /*! @page getting_started Getting started with SimGrid
2
3 \tableofcontents
4
5 Welcome to the SimGrid's documentation! %As you may know, SimGrid is an actively
6 developed research software and has a lot of different features. This documentation is a
7 \c "work in progress" (and we need the help of the user community to improve it! 
8 If you're ready to step up and help us, see Section \ref
9 contributing "Contributing"), but many features are already well described.
10
11 %As for many projects, our documentation mostly consists in separate sections 
12 for \ref gs_new_users "new" and \ref gs_experienced_users "experienced" users. 
13 We also have several specific pages and a technical documentation. Finally, we provide users
14 with many \ref gs_examples "examples" that can easily be adapted to your
15 own needs. This page gives you a brief overview of the available resources.
16
17 \section gs_introduction Introduction, Installation, and how to get help
18
19 | Document name   | Description                                       |
20 | --------------- | ------------------------------------------------- |
21 | \ref install    | Explains how SimGrid can be installed on Linux, Windows, and MacOS. This installation can be done from a package or from source. |
22 | \ref tutorial   | Introduces the user to basic features of SimGrid. |
23 | \ref FAQ        | Our FAQ                                           |
24 | \ref help       | There are many ways to find answers to your questions. This page lists them all. |
25
26 \section gs_new_users Documentation for new users
27
28 | Document name     | Description                                       |
29 | ----------------- | ------------------------------------------------- |
30 | \ref install      | Explains how SimGrid can be installed on Linux, Windows, and MacOS. This installation can be done from a package or from source. |
31 | \ref tutorial     | Introduces the user to basic features of SimGrid. |
32 | [Online Tutorials](http://simgrid.gforge.inria.fr/tutorials.html) | These tutorials cover most of the basics and might be valuable for what you want to do, especially the [SimGrid User 101](http://simgrid.gforge.inria.fr/tutorials/simgrid-use-101.pdf). |
33 | \ref MSG_examples | This page details several examples that we wrote for the MSG API. They are working simulations and you may learn something by looking at them. |
34 | \ref bindings     | You can write your simulator in Java, if you prefer. |
35
36 In order to actually use SimGrid, three steps are necessary:
37
38 \li Step 1: \ref platform
39 \li Step 2: \ref options
40 \li Step 3: \ref deployment
41
42 \section gs_experienced_users Documentation for experienced users
43
44 | Document name     | Description                                       |
45 | ----------------- | ------------------------------------------------- |
46 | \ref tracing      | Shows how the behavior of a program can be written to a file so that it can be analyzed. |
47 | \ref pls          | You can use the NS3 simulation models instead of our own. |
48 | \ref inside       | If you want to contribute or obtain a deeper understanding of SimGrid, this is the right location. |
49
50 \section gs_examples Examples shipped with SimGrid
51
52 SimGrid ships with many examples. Those using the MSG API are detailed in Section \ref
53 MSG_examples. You can find them in the folder \c examples/. Especially
54 when you're looking for examples on how to use a specific XML-tag,
55 this will prove valuable, as you can easily search through all the
56 files with tools like \c grep.
57
58
59 Here is the output of a quick search for examples for \ref pf_trace "trace_connect":
60
61 \verbatim
62 % grep -R -i -n --include="*.xml" "trace_connect" .
63 ./platforms/two_hosts.xml:17:  <trace_connect trace="Tremblay_power" element="Tremblay" kind="SPEED"/>
64 ./platforms/two_hosts_platform_with_availability_included.xml:26:<trace_connect kind="SPEED" trace="A" element="Cpu A"/>
65 ./platforms/two_hosts_platform_with_availability_included.xml:27:<trace_connect kind="HOST_AVAIL" trace="A_failure" element="Cpu A"/>
66 ./platforms/two_hosts_platform_with_availability_included.xml:28:<trace_connect kind="SPEED" trace="B" element="Cpu B"/>
67 \endverbatim
68
69 */