roby 0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (240) hide show
  1. data/.gitignore +29 -0
  2. data/History.txt +4 -0
  3. data/License-fr.txt +519 -0
  4. data/License.txt +515 -0
  5. data/Manifest.txt +245 -0
  6. data/NOTES +4 -0
  7. data/README.txt +163 -0
  8. data/Rakefile +161 -0
  9. data/TODO.txt +146 -0
  10. data/app/README.txt +24 -0
  11. data/app/Rakefile +8 -0
  12. data/app/config/ROBOT.rb +5 -0
  13. data/app/config/app.yml +91 -0
  14. data/app/config/init.rb +7 -0
  15. data/app/config/roby.yml +3 -0
  16. data/app/controllers/.gitattributes +0 -0
  17. data/app/controllers/ROBOT.rb +2 -0
  18. data/app/data/.gitattributes +0 -0
  19. data/app/planners/ROBOT/main.rb +6 -0
  20. data/app/planners/main.rb +5 -0
  21. data/app/scripts/distributed +3 -0
  22. data/app/scripts/generate/bookmarks +3 -0
  23. data/app/scripts/replay +3 -0
  24. data/app/scripts/results +3 -0
  25. data/app/scripts/run +3 -0
  26. data/app/scripts/server +3 -0
  27. data/app/scripts/shell +3 -0
  28. data/app/scripts/test +3 -0
  29. data/app/tasks/.gitattributes +0 -0
  30. data/app/tasks/ROBOT/.gitattributes +0 -0
  31. data/bin/roby +210 -0
  32. data/bin/roby-log +168 -0
  33. data/bin/roby-shell +25 -0
  34. data/doc/images/event_generalization.png +0 -0
  35. data/doc/images/exception_propagation_1.png +0 -0
  36. data/doc/images/exception_propagation_2.png +0 -0
  37. data/doc/images/exception_propagation_3.png +0 -0
  38. data/doc/images/exception_propagation_4.png +0 -0
  39. data/doc/images/exception_propagation_5.png +0 -0
  40. data/doc/images/replay_handler_error.png +0 -0
  41. data/doc/images/replay_handler_error_0.png +0 -0
  42. data/doc/images/replay_handler_error_1.png +0 -0
  43. data/doc/images/roby_cycle_overview.png +0 -0
  44. data/doc/images/roby_replay_02.png +0 -0
  45. data/doc/images/roby_replay_03.png +0 -0
  46. data/doc/images/roby_replay_04.png +0 -0
  47. data/doc/images/roby_replay_event_representation.png +0 -0
  48. data/doc/images/roby_replay_first_state.png +0 -0
  49. data/doc/images/roby_replay_relations.png +0 -0
  50. data/doc/images/roby_replay_startup.png +0 -0
  51. data/doc/images/task_event_generalization.png +0 -0
  52. data/doc/papers.rdoc +11 -0
  53. data/doc/styles/allison.css +314 -0
  54. data/doc/styles/allison.js +316 -0
  55. data/doc/styles/allison.rb +276 -0
  56. data/doc/styles/jamis.rb +593 -0
  57. data/doc/tutorials/01-GettingStarted.rdoc +86 -0
  58. data/doc/tutorials/02-GoForward.rdoc +220 -0
  59. data/doc/tutorials/03-PlannedPath.rdoc +268 -0
  60. data/doc/tutorials/04-EventPropagation.rdoc +236 -0
  61. data/doc/tutorials/05-ErrorHandling.rdoc +319 -0
  62. data/doc/tutorials/06-Overview.rdoc +40 -0
  63. data/doc/videos.rdoc +69 -0
  64. data/ext/droby/dump.cc +175 -0
  65. data/ext/droby/extconf.rb +3 -0
  66. data/ext/graph/algorithm.cc +746 -0
  67. data/ext/graph/extconf.rb +7 -0
  68. data/ext/graph/graph.cc +529 -0
  69. data/ext/graph/graph.hh +183 -0
  70. data/ext/graph/iterator_sequence.hh +102 -0
  71. data/ext/graph/undirected_dfs.hh +226 -0
  72. data/ext/graph/undirected_graph.hh +421 -0
  73. data/lib/roby.rb +41 -0
  74. data/lib/roby/app.rb +870 -0
  75. data/lib/roby/app/rake.rb +56 -0
  76. data/lib/roby/app/run.rb +14 -0
  77. data/lib/roby/app/scripts/distributed.rb +13 -0
  78. data/lib/roby/app/scripts/generate/bookmarks.rb +162 -0
  79. data/lib/roby/app/scripts/replay.rb +31 -0
  80. data/lib/roby/app/scripts/results.rb +15 -0
  81. data/lib/roby/app/scripts/run.rb +26 -0
  82. data/lib/roby/app/scripts/server.rb +18 -0
  83. data/lib/roby/app/scripts/shell.rb +88 -0
  84. data/lib/roby/app/scripts/test.rb +40 -0
  85. data/lib/roby/basic_object.rb +151 -0
  86. data/lib/roby/config.rb +5 -0
  87. data/lib/roby/control.rb +747 -0
  88. data/lib/roby/decision_control.rb +17 -0
  89. data/lib/roby/distributed.rb +32 -0
  90. data/lib/roby/distributed/base.rb +440 -0
  91. data/lib/roby/distributed/communication.rb +871 -0
  92. data/lib/roby/distributed/connection_space.rb +592 -0
  93. data/lib/roby/distributed/distributed_object.rb +206 -0
  94. data/lib/roby/distributed/drb.rb +62 -0
  95. data/lib/roby/distributed/notifications.rb +539 -0
  96. data/lib/roby/distributed/peer.rb +550 -0
  97. data/lib/roby/distributed/protocol.rb +529 -0
  98. data/lib/roby/distributed/proxy.rb +343 -0
  99. data/lib/roby/distributed/subscription.rb +311 -0
  100. data/lib/roby/distributed/transaction.rb +498 -0
  101. data/lib/roby/event.rb +897 -0
  102. data/lib/roby/exceptions.rb +234 -0
  103. data/lib/roby/executives/simple.rb +30 -0
  104. data/lib/roby/graph.rb +166 -0
  105. data/lib/roby/interface.rb +390 -0
  106. data/lib/roby/log.rb +3 -0
  107. data/lib/roby/log/chronicle.rb +303 -0
  108. data/lib/roby/log/console.rb +72 -0
  109. data/lib/roby/log/data_stream.rb +197 -0
  110. data/lib/roby/log/dot.rb +279 -0
  111. data/lib/roby/log/event_stream.rb +151 -0
  112. data/lib/roby/log/file.rb +340 -0
  113. data/lib/roby/log/gui/basic_display.ui +83 -0
  114. data/lib/roby/log/gui/chronicle.rb +26 -0
  115. data/lib/roby/log/gui/chronicle_view.rb +40 -0
  116. data/lib/roby/log/gui/chronicle_view.ui +70 -0
  117. data/lib/roby/log/gui/data_displays.rb +172 -0
  118. data/lib/roby/log/gui/data_displays.ui +155 -0
  119. data/lib/roby/log/gui/notifications.rb +26 -0
  120. data/lib/roby/log/gui/relations.rb +248 -0
  121. data/lib/roby/log/gui/relations.ui +123 -0
  122. data/lib/roby/log/gui/relations_view.rb +185 -0
  123. data/lib/roby/log/gui/relations_view.ui +149 -0
  124. data/lib/roby/log/gui/replay.rb +327 -0
  125. data/lib/roby/log/gui/replay_controls.rb +200 -0
  126. data/lib/roby/log/gui/replay_controls.ui +259 -0
  127. data/lib/roby/log/gui/runtime.rb +130 -0
  128. data/lib/roby/log/hooks.rb +185 -0
  129. data/lib/roby/log/logger.rb +202 -0
  130. data/lib/roby/log/notifications.rb +244 -0
  131. data/lib/roby/log/plan_rebuilder.rb +470 -0
  132. data/lib/roby/log/relations.rb +1056 -0
  133. data/lib/roby/log/server.rb +550 -0
  134. data/lib/roby/log/sqlite.rb +47 -0
  135. data/lib/roby/log/timings.rb +164 -0
  136. data/lib/roby/plan-object.rb +247 -0
  137. data/lib/roby/plan.rb +762 -0
  138. data/lib/roby/planning.rb +13 -0
  139. data/lib/roby/planning/loops.rb +302 -0
  140. data/lib/roby/planning/model.rb +906 -0
  141. data/lib/roby/planning/task.rb +151 -0
  142. data/lib/roby/propagation.rb +562 -0
  143. data/lib/roby/query.rb +619 -0
  144. data/lib/roby/relations.rb +583 -0
  145. data/lib/roby/relations/conflicts.rb +70 -0
  146. data/lib/roby/relations/ensured.rb +20 -0
  147. data/lib/roby/relations/error_handling.rb +23 -0
  148. data/lib/roby/relations/events.rb +9 -0
  149. data/lib/roby/relations/executed_by.rb +193 -0
  150. data/lib/roby/relations/hierarchy.rb +239 -0
  151. data/lib/roby/relations/influence.rb +10 -0
  152. data/lib/roby/relations/planned_by.rb +63 -0
  153. data/lib/roby/robot.rb +7 -0
  154. data/lib/roby/standard_errors.rb +218 -0
  155. data/lib/roby/state.rb +5 -0
  156. data/lib/roby/state/events.rb +221 -0
  157. data/lib/roby/state/information.rb +55 -0
  158. data/lib/roby/state/pos.rb +110 -0
  159. data/lib/roby/state/shapes.rb +32 -0
  160. data/lib/roby/state/state.rb +353 -0
  161. data/lib/roby/support.rb +92 -0
  162. data/lib/roby/task-operations.rb +182 -0
  163. data/lib/roby/task.rb +1618 -0
  164. data/lib/roby/test/common.rb +399 -0
  165. data/lib/roby/test/distributed.rb +214 -0
  166. data/lib/roby/test/tasks/empty_task.rb +9 -0
  167. data/lib/roby/test/tasks/goto.rb +36 -0
  168. data/lib/roby/test/tasks/simple_task.rb +23 -0
  169. data/lib/roby/test/testcase.rb +519 -0
  170. data/lib/roby/test/tools.rb +160 -0
  171. data/lib/roby/thread_task.rb +87 -0
  172. data/lib/roby/transactions.rb +462 -0
  173. data/lib/roby/transactions/proxy.rb +292 -0
  174. data/lib/roby/transactions/updates.rb +139 -0
  175. data/plugins/fault_injection/History.txt +4 -0
  176. data/plugins/fault_injection/README.txt +37 -0
  177. data/plugins/fault_injection/Rakefile +18 -0
  178. data/plugins/fault_injection/TODO.txt +0 -0
  179. data/plugins/fault_injection/app.rb +52 -0
  180. data/plugins/fault_injection/fault_injection.rb +89 -0
  181. data/plugins/fault_injection/test/test_fault_injection.rb +84 -0
  182. data/plugins/subsystems/README.txt +40 -0
  183. data/plugins/subsystems/Rakefile +18 -0
  184. data/plugins/subsystems/app.rb +171 -0
  185. data/plugins/subsystems/test/app/README +24 -0
  186. data/plugins/subsystems/test/app/Rakefile +8 -0
  187. data/plugins/subsystems/test/app/config/app.yml +71 -0
  188. data/plugins/subsystems/test/app/config/init.rb +9 -0
  189. data/plugins/subsystems/test/app/config/roby.yml +3 -0
  190. data/plugins/subsystems/test/app/planners/main.rb +20 -0
  191. data/plugins/subsystems/test/app/scripts/distributed +3 -0
  192. data/plugins/subsystems/test/app/scripts/replay +3 -0
  193. data/plugins/subsystems/test/app/scripts/results +3 -0
  194. data/plugins/subsystems/test/app/scripts/run +3 -0
  195. data/plugins/subsystems/test/app/scripts/server +3 -0
  196. data/plugins/subsystems/test/app/scripts/shell +3 -0
  197. data/plugins/subsystems/test/app/scripts/test +3 -0
  198. data/plugins/subsystems/test/app/tasks/services.rb +15 -0
  199. data/plugins/subsystems/test/test_subsystems.rb +71 -0
  200. data/test/distributed/test_communication.rb +178 -0
  201. data/test/distributed/test_connection.rb +282 -0
  202. data/test/distributed/test_execution.rb +373 -0
  203. data/test/distributed/test_mixed_plan.rb +341 -0
  204. data/test/distributed/test_plan_notifications.rb +238 -0
  205. data/test/distributed/test_protocol.rb +516 -0
  206. data/test/distributed/test_query.rb +102 -0
  207. data/test/distributed/test_remote_plan.rb +491 -0
  208. data/test/distributed/test_transaction.rb +463 -0
  209. data/test/mockups/tasks.rb +27 -0
  210. data/test/planning/test_loops.rb +380 -0
  211. data/test/planning/test_model.rb +427 -0
  212. data/test/planning/test_task.rb +106 -0
  213. data/test/relations/test_conflicts.rb +42 -0
  214. data/test/relations/test_ensured.rb +38 -0
  215. data/test/relations/test_executed_by.rb +149 -0
  216. data/test/relations/test_hierarchy.rb +158 -0
  217. data/test/relations/test_planned_by.rb +54 -0
  218. data/test/suite_core.rb +24 -0
  219. data/test/suite_distributed.rb +9 -0
  220. data/test/suite_planning.rb +3 -0
  221. data/test/suite_relations.rb +8 -0
  222. data/test/test_bgl.rb +508 -0
  223. data/test/test_control.rb +399 -0
  224. data/test/test_event.rb +894 -0
  225. data/test/test_exceptions.rb +592 -0
  226. data/test/test_interface.rb +37 -0
  227. data/test/test_log.rb +114 -0
  228. data/test/test_log_server.rb +132 -0
  229. data/test/test_plan.rb +584 -0
  230. data/test/test_propagation.rb +210 -0
  231. data/test/test_query.rb +266 -0
  232. data/test/test_relations.rb +180 -0
  233. data/test/test_state.rb +414 -0
  234. data/test/test_support.rb +16 -0
  235. data/test/test_task.rb +938 -0
  236. data/test/test_testcase.rb +122 -0
  237. data/test/test_thread_task.rb +73 -0
  238. data/test/test_transactions.rb +569 -0
  239. data/test/test_transactions_proxy.rb +198 -0
  240. metadata +570 -0
data/.gitignore ADDED
@@ -0,0 +1,29 @@
1
+ Makefile
2
+ ext/*/*.o
3
+ ext/*/*.so
4
+ ext/*/mkmf.log
5
+ lib/roby/*.so
6
+ *_ui.rb
7
+
8
+ doc/rdoc
9
+ doc/cache
10
+
11
+ .*.swp
12
+
13
+ plugins/genom/test/prefix.init
14
+ plugins/genom/test/prefix.mockup
15
+ plugins/genom/test/modules/*/*.pc
16
+ plugins/genom/test/modules/*/Makefile.in
17
+ plugins/genom/test/modules/*/config.status
18
+ plugins/genom/test/modules/*/configure
19
+ plugins/genom/test/modules/*/config.log
20
+ plugins/genom/test/modules/*/.genom
21
+ plugins/genom/test/modules/*/local.mk
22
+ plugins/genom/test/modules/*/server
23
+ plugins/genom/test/modules/*/*/posix-obj
24
+ plugins/genom/test/modules/*/libtool
25
+ plugins/genom/test/modules/*/autoconf
26
+ plugins/genom/test/modules/*/libtool
27
+ plugins/genom/test/modules/*/config.mk
28
+ plugins/genom/test/modules/*/autogen
29
+
data/History.txt ADDED
@@ -0,0 +1,4 @@
1
+ === 0.7
2
+
3
+ * First public release. This release is still not compatible with Ruby 1.9, as
4
+ too many bugs remain in 1.9.0
data/License-fr.txt ADDED
@@ -0,0 +1,519 @@
1
+
2
+ CONTRAT DE LICENCE DE LOGICIEL LIBRE CeCILL-B
3
+
4
+
5
+ Avertissement
6
+
7
+ Ce contrat est une licence de logiciel libre issue d'une concertation
8
+ entre ses auteurs afin que le respect de deux grands principes pr�side �
9
+ sa r�daction:
10
+
11
+ * d'une part, le respect des principes de diffusion des logiciels
12
+ libres: acc�s au code source, droits �tendus conf�r�s aux
13
+ utilisateurs,
14
+ * d'autre part, la d�signation d'un droit applicable, le droit
15
+ fran�ais, auquel elle est conforme, tant au regard du droit de la
16
+ responsabilit� civile que du droit de la propri�t� intellectuelle
17
+ et de la protection qu'il offre aux auteurs et titulaires des
18
+ droits patrimoniaux sur un logiciel.
19
+
20
+ Les auteurs de la licence CeCILL-B (pour Ce[a] C[nrs] I[nria] L[ogiciel]
21
+ L[ibre]) sont:
22
+
23
+ Commissariat � l'Energie Atomique - CEA, �tablissement public de
24
+ recherche � caract�re scientifique, technique et industriel, dont le
25
+ si�ge est situ� 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris.
26
+
27
+ Centre National de la Recherche Scientifique - CNRS, �tablissement
28
+ public � caract�re scientifique et technologique, dont le si�ge est
29
+ situ� 3 rue Michel-Ange, 75794 Paris cedex 16.
30
+
31
+ Institut National de Recherche en Informatique et en Automatique -
32
+ INRIA, �tablissement public � caract�re scientifique et technologique,
33
+ dont le si�ge est situ� Domaine de Voluceau, Rocquencourt, BP 105, 78153
34
+ Le Chesnay cedex.
35
+
36
+
37
+ Pr�ambule
38
+
39
+ Ce contrat est une licence de logiciel libre dont l'objectif est de
40
+ conf�rer aux utilisateurs une tr�s large libert� de modification et de
41
+ redistribution du logiciel r�gi par cette licence.
42
+
43
+ L'exercice de cette libert� est assorti d'une obligation forte de
44
+ citation � la charge de ceux qui distribueraient un logiciel incorporant
45
+ un logiciel r�gi par la pr�sente licence afin d'assurer que les
46
+ contributions de tous soient correctement identifi�es et reconnues.
47
+
48
+ L'accessibilit� au code source et les droits de copie, de modification
49
+ et de redistribution qui d�coulent de ce contrat ont pour contrepartie
50
+ de n'offrir aux utilisateurs qu'une garantie limit�e et de ne faire
51
+ peser sur l'auteur du logiciel, le titulaire des droits patrimoniaux et
52
+ les conc�dants successifs qu'une responsabilit� restreinte.
53
+
54
+ A cet �gard l'attention de l'utilisateur est attir�e sur les risques
55
+ associ�s au chargement, � l'utilisation, � la modification et/ou au
56
+ d�veloppement et � la reproduction du logiciel par l'utilisateur �tant
57
+ donn� sa sp�cificit� de logiciel libre, qui peut le rendre complexe �
58
+ manipuler et qui le r�serve donc � des d�veloppeurs ou des
59
+ professionnels avertis poss�dant des connaissances informatiques
60
+ approfondies. Les utilisateurs sont donc invit�s � charger et tester
61
+ l'ad�quation du logiciel � leurs besoins dans des conditions permettant
62
+ d'assurer la s�curit� de leurs syst�mes et/ou de leurs donn�es et, plus
63
+ g�n�ralement, � l'utiliser et l'exploiter dans les m�mes conditions de
64
+ s�curit�. Ce contrat peut �tre reproduit et diffus� librement, sous
65
+ r�serve de le conserver en l'�tat, sans ajout ni suppression de clauses.
66
+
67
+ Ce contrat est susceptible de s'appliquer � tout logiciel dont le
68
+ titulaire des droits patrimoniaux d�cide de soumettre l'exploitation aux
69
+ dispositions qu'il contient.
70
+
71
+
72
+ Article 1 - DEFINITIONS
73
+
74
+ Dans ce contrat, les termes suivants, lorsqu'ils seront �crits avec une
75
+ lettre capitale, auront la signification suivante:
76
+
77
+ Contrat: d�signe le pr�sent contrat de licence, ses �ventuelles versions
78
+ post�rieures et annexes.
79
+
80
+ Logiciel: d�signe le logiciel sous sa forme de Code Objet et/ou de Code
81
+ Source et le cas �ch�ant sa documentation, dans leur �tat au moment de
82
+ l'acceptation du Contrat par le Licenci�.
83
+
84
+ Logiciel Initial: d�signe le Logiciel sous sa forme de Code Source et
85
+ �ventuellement de Code Objet et le cas �ch�ant sa documentation, dans
86
+ leur �tat au moment de leur premi�re diffusion sous les termes du Contrat.
87
+
88
+ Logiciel Modifi�: d�signe le Logiciel modifi� par au moins une
89
+ Contribution.
90
+
91
+ Code Source: d�signe l'ensemble des instructions et des lignes de
92
+ programme du Logiciel et auquel l'acc�s est n�cessaire en vue de
93
+ modifier le Logiciel.
94
+
95
+ Code Objet: d�signe les fichiers binaires issus de la compilation du
96
+ Code Source.
97
+
98
+ Titulaire: d�signe le ou les d�tenteurs des droits patrimoniaux d'auteur
99
+ sur le Logiciel Initial.
100
+
101
+ Licenci�: d�signe le ou les utilisateurs du Logiciel ayant accept� le
102
+ Contrat.
103
+
104
+ Contributeur: d�signe le Licenci� auteur d'au moins une Contribution.
105
+
106
+ Conc�dant: d�signe le Titulaire ou toute personne physique ou morale
107
+ distribuant le Logiciel sous le Contrat.
108
+
109
+ Contribution: d�signe l'ensemble des modifications, corrections,
110
+ traductions, adaptations et/ou nouvelles fonctionnalit�s int�gr�es dans
111
+ le Logiciel par tout Contributeur, ainsi que tout Module Interne.
112
+
113
+ Module: d�signe un ensemble de fichiers sources y compris leur
114
+ documentation qui permet de r�aliser des fonctionnalit�s ou services
115
+ suppl�mentaires � ceux fournis par le Logiciel.
116
+
117
+ Module Externe: d�signe tout Module, non d�riv� du Logiciel, tel que ce
118
+ Module et le Logiciel s'ex�cutent dans des espaces d'adressage
119
+ diff�rents, l'un appelant l'autre au moment de leur ex�cution.
120
+
121
+ Module Interne: d�signe tout Module li� au Logiciel de telle sorte
122
+ qu'ils s'ex�cutent dans le m�me espace d'adressage.
123
+
124
+ Parties: d�signe collectivement le Licenci� et le Conc�dant.
125
+
126
+ Ces termes s'entendent au singulier comme au pluriel.
127
+
128
+
129
+ Article 2 - OBJET
130
+
131
+ Le Contrat a pour objet la concession par le Conc�dant au Licenci� d'une
132
+ licence non exclusive, cessible et mondiale du Logiciel telle que
133
+ d�finie ci-apr�s � l'article 5 pour toute la dur�e de protection des droits
134
+ portant sur ce Logiciel.
135
+
136
+
137
+ Article 3 - ACCEPTATION
138
+
139
+ 3.1 L'acceptation par le Licenci� des termes du Contrat est r�put�e
140
+ acquise du fait du premier des faits suivants:
141
+
142
+ * (i) le chargement du Logiciel par tout moyen notamment par
143
+ t�l�chargement � partir d'un serveur distant ou par chargement �
144
+ partir d'un support physique;
145
+ * (ii) le premier exercice par le Licenci� de l'un quelconque des
146
+ droits conc�d�s par le Contrat.
147
+
148
+ 3.2 Un exemplaire du Contrat, contenant notamment un avertissement
149
+ relatif aux sp�cificit�s du Logiciel, � la restriction de garantie et �
150
+ la limitation � un usage par des utilisateurs exp�riment�s a �t� mis �
151
+ disposition du Licenci� pr�alablement � son acceptation telle que
152
+ d�finie � l'article 3.1 ci dessus et le Licenci� reconna�t en avoir pris
153
+ connaissance.
154
+
155
+
156
+ Article 4 - ENTREE EN VIGUEUR ET DUREE
157
+
158
+
159
+ 4.1 ENTREE EN VIGUEUR
160
+
161
+ Le Contrat entre en vigueur � la date de son acceptation par le Licenci�
162
+ telle que d�finie en 3.1.
163
+
164
+
165
+ 4.2 DUREE
166
+
167
+ Le Contrat produira ses effets pendant toute la dur�e l�gale de
168
+ protection des droits patrimoniaux portant sur le Logiciel.
169
+
170
+
171
+ Article 5 - ETENDUE DES DROITS CONCEDES
172
+
173
+ Le Conc�dant conc�de au Licenci�, qui accepte, les droits suivants sur
174
+ le Logiciel pour toutes destinations et pour la dur�e du Contrat dans
175
+ les conditions ci-apr�s d�taill�es.
176
+
177
+ Par ailleurs, si le Conc�dant d�tient ou venait � d�tenir un ou
178
+ plusieurs brevets d'invention prot�geant tout ou partie des
179
+ fonctionnalit�s du Logiciel ou de ses composants, il s'engage � ne pas
180
+ opposer les �ventuels droits conf�r�s par ces brevets aux Licenci�s
181
+ successifs qui utiliseraient, exploiteraient ou modifieraient le
182
+ Logiciel. En cas de cession de ces brevets, le Conc�dant s'engage �
183
+ faire reprendre les obligations du pr�sent alin�a aux cessionnaires.
184
+
185
+
186
+ 5.1 DROIT D'UTILISATION
187
+
188
+ Le Licenci� est autoris� � utiliser le Logiciel, sans restriction quant
189
+ aux domaines d'application, �tant ci-apr�s pr�cis� que cela comporte:
190
+
191
+ 1. la reproduction permanente ou provisoire du Logiciel en tout ou
192
+ partie par tout moyen et sous toute forme.
193
+
194
+ 2. le chargement, l'affichage, l'ex�cution, ou le stockage du
195
+ Logiciel sur tout support.
196
+
197
+ 3. la possibilit� d'en observer, d'en �tudier, ou d'en tester le
198
+ fonctionnement afin de d�terminer les id�es et principes qui sont
199
+ � la base de n'importe quel �l�ment de ce Logiciel; et ceci,
200
+ lorsque le Licenci� effectue toute op�ration de chargement,
201
+ d'affichage, d'ex�cution, de transmission ou de stockage du
202
+ Logiciel qu'il est en droit d'effectuer en vertu du Contrat.
203
+
204
+
205
+ 5.2 DROIT D'APPORTER DES CONTRIBUTIONS
206
+
207
+ Le droit d'apporter des Contributions comporte le droit de traduire,
208
+ d'adapter, d'arranger ou d'apporter toute autre modification au Logiciel
209
+ et le droit de reproduire le logiciel en r�sultant.
210
+
211
+ Le Licenci� est autoris� � apporter toute Contribution au Logiciel sous
212
+ r�serve de mentionner, de fa�on explicite, son nom en tant qu'auteur de
213
+ cette Contribution et la date de cr�ation de celle-ci.
214
+
215
+
216
+ 5.3 DROIT DE DISTRIBUTION
217
+
218
+ Le droit de distribution comporte notamment le droit de diffuser, de
219
+ transmettre et de communiquer le Logiciel au public sur tout support et
220
+ par tout moyen ainsi que le droit de mettre sur le march� � titre
221
+ on�reux ou gratuit, un ou des exemplaires du Logiciel par tout proc�d�.
222
+
223
+ Le Licenci� est autoris� � distribuer des copies du Logiciel, modifi� ou
224
+ non, � des tiers dans les conditions ci-apr�s d�taill�es.
225
+
226
+
227
+ 5.3.1 DISTRIBUTION DU LOGICIEL SANS MODIFICATION
228
+
229
+ Le Licenci� est autoris� � distribuer des copies conformes du Logiciel,
230
+ sous forme de Code Source ou de Code Objet, � condition que cette
231
+ distribution respecte les dispositions du Contrat dans leur totalit� et
232
+ soit accompagn�e:
233
+
234
+ 1. d'un exemplaire du Contrat,
235
+
236
+ 2. d'un avertissement relatif � la restriction de garantie et de
237
+ responsabilit� du Conc�dant telle que pr�vue aux articles 8
238
+ et 9,
239
+
240
+ et que, dans le cas o� seul le Code Objet du Logiciel est redistribu�,
241
+ le Licenci� permette un acc�s effectif au Code Source complet du
242
+ Logiciel pendant au moins toute la dur�e de sa distribution du Logiciel,
243
+ �tant entendu que le co�t additionnel d'acquisition du Code Source ne
244
+ devra pas exc�der le simple co�t de transfert des donn�es.
245
+
246
+
247
+ 5.3.2 DISTRIBUTION DU LOGICIEL MODIFIE
248
+
249
+ Lorsque le Licenci� apporte une Contribution au Logiciel, le Logiciel
250
+ Modifi� peut �tre distribu� sous un contrat de licence autre que le
251
+ pr�sent Contrat sous r�serve du respect des dispositions de l'article
252
+ 5.3.4.
253
+
254
+
255
+ 5.3.3 DISTRIBUTION DES MODULES EXTERNES
256
+
257
+ Lorsque le Licenci� a d�velopp� un Module Externe les conditions du
258
+ Contrat ne s'appliquent pas � ce Module Externe, qui peut �tre distribu�
259
+ sous un contrat de licence diff�rent.
260
+
261
+
262
+ 5.3.4 CITATIONS
263
+
264
+ Le Licenci� qui distribue un Logiciel Modifi� s'engage express�ment:
265
+
266
+ 1. � indiquer dans sa documentation qu'il a �t� r�alis� � partir du
267
+ Logiciel r�gi par le Contrat, en reproduisant les mentions de
268
+ propri�t� intellectuelle du Logiciel,
269
+
270
+ 2. � faire en sorte que l'utilisation du Logiciel, ses mentions de
271
+ propri�t� intellectuelle et le fait qu'il est r�gi par le Contrat
272
+ soient indiqu�s dans un texte facilement accessible depuis
273
+ l'interface du Logiciel Modifi�,
274
+
275
+ 3. � mentionner, sur un site Web librement accessible d�crivant le
276
+ Logiciel Modifi�, et pendant au moins toute la dur�e de sa
277
+ distribution, qu'il a �t� r�alis� � partir du Logiciel r�gi par le
278
+ Contrat, en reproduisant les mentions de propri�t� intellectuelle
279
+ du Logiciel,
280
+
281
+ 4. lorsqu'il le distribue � un tiers susceptible de distribuer
282
+ lui-m�me un Logiciel Modifi�, sans avoir � en distribuer le code
283
+ source, � faire ses meilleurs efforts pour que les obligations du
284
+ pr�sent article 5.3.4 soient reprises par le dit tiers.
285
+
286
+ Lorsque le Logiciel modifi� ou non est distribu� avec un Module Externe
287
+ qui a �t� con�u pour l'utiliser, le Licenci� doit soumettre le dit
288
+ Module Externe aux obligations pr�c�dentes.
289
+
290
+
291
+ 5.3.5 COMPATIBILITE AVEC LES LICENCES CeCILL et CeCILL-C
292
+
293
+ Lorsqu'un Logiciel Modifi� contient une Contribution soumise au contrat
294
+ de licence CeCILL, les stipulations pr�vues � l'article 5.3.4 sont
295
+ facultatives.
296
+
297
+ Un Logiciel Modifi� peut �tre distribu� sous le contrat de licence
298
+ CeCILL-C. Les stipulations pr�vues � l'article 5.3.4 sont alors
299
+ facultatives.
300
+
301
+
302
+ Article 6 - PROPRIETE INTELLECTUELLE
303
+
304
+
305
+ 6.1 SUR LE LOGICIEL INITIAL
306
+
307
+ Le Titulaire est d�tenteur des droits patrimoniaux sur le Logiciel
308
+ Initial. Toute utilisation du Logiciel Initial est soumise au respect
309
+ des conditions dans lesquelles le Titulaire a choisi de diffuser son
310
+ oeuvre et nul autre n'a la facult� de modifier les conditions de
311
+ diffusion de ce Logiciel Initial.
312
+
313
+ Le Titulaire s'engage � ce que le Logiciel Initial reste au moins r�gi
314
+ par le Contrat et ce, pour la dur�e vis�e � l'article 4.2.
315
+
316
+
317
+ 6.2 SUR LES CONTRIBUTIONS
318
+
319
+ Le Licenci� qui a d�velopp� une Contribution est titulaire sur celle-ci
320
+ des droits de propri�t� intellectuelle dans les conditions d�finies par
321
+ la l�gislation applicable.
322
+
323
+
324
+ 6.3 SUR LES MODULES EXTERNES
325
+
326
+ Le Licenci� qui a d�velopp� un Module Externe est titulaire sur celui-ci
327
+ des droits de propri�t� intellectuelle dans les conditions d�finies par
328
+ la l�gislation applicable et reste libre du choix du contrat r�gissant
329
+ sa diffusion.
330
+
331
+
332
+ 6.4 DISPOSITIONS COMMUNES
333
+
334
+ Le Licenci� s'engage express�ment:
335
+
336
+ 1. � ne pas supprimer ou modifier de quelque mani�re que ce soit les
337
+ mentions de propri�t� intellectuelle appos�es sur le Logiciel;
338
+
339
+ 2. � reproduire � l'identique lesdites mentions de propri�t�
340
+ intellectuelle sur les copies du Logiciel modifi� ou non.
341
+
342
+ Le Licenci� s'engage � ne pas porter atteinte, directement ou
343
+ indirectement, aux droits de propri�t� intellectuelle du Titulaire et/ou
344
+ des Contributeurs sur le Logiciel et � prendre, le cas �ch�ant, �
345
+ l'�gard de son personnel toutes les mesures n�cessaires pour assurer le
346
+ respect des dits droits de propri�t� intellectuelle du Titulaire et/ou
347
+ des Contributeurs.
348
+
349
+
350
+ Article 7 - SERVICES ASSOCIES
351
+
352
+ 7.1 Le Contrat n'oblige en aucun cas le Conc�dant � la r�alisation de
353
+ prestations d'assistance technique ou de maintenance du Logiciel.
354
+
355
+ Cependant le Conc�dant reste libre de proposer ce type de services. Les
356
+ termes et conditions d'une telle assistance technique et/ou d'une telle
357
+ maintenance seront alors d�termin�s dans un acte s�par�. Ces actes de
358
+ maintenance et/ou assistance technique n'engageront que la seule
359
+ responsabilit� du Conc�dant qui les propose.
360
+
361
+ 7.2 De m�me, tout Conc�dant est libre de proposer, sous sa seule
362
+ responsabilit�, � ses licenci�s une garantie, qui n'engagera que lui,
363
+ lors de la redistribution du Logiciel et/ou du Logiciel Modifi� et ce,
364
+ dans les conditions qu'il souhaite. Cette garantie et les modalit�s
365
+ financi�res de son application feront l'objet d'un acte s�par� entre le
366
+ Conc�dant et le Licenci�.
367
+
368
+
369
+ Article 8 - RESPONSABILITE
370
+
371
+ 8.1 Sous r�serve des dispositions de l'article 8.2, le Licenci� a la
372
+ facult�, sous r�serve de prouver la faute du Conc�dant concern�, de
373
+ solliciter la r�paration du pr�judice direct qu'il subirait du fait du
374
+ Logiciel et dont il apportera la preuve.
375
+
376
+ 8.2 La responsabilit� du Conc�dant est limit�e aux engagements pris en
377
+ application du Contrat et ne saurait �tre engag�e en raison notamment:
378
+ (i) des dommages dus � l'inex�cution, totale ou partielle, de ses
379
+ obligations par le Licenci�, (ii) des dommages directs ou indirects
380
+ d�coulant de l'utilisation ou des performances du Logiciel subis par le
381
+ Licenci� et (iii) plus g�n�ralement d'un quelconque dommage indirect. En
382
+ particulier, les Parties conviennent express�ment que tout pr�judice
383
+ financier ou commercial (par exemple perte de donn�es, perte de
384
+ b�n�fices, perte d'exploitation, perte de client�le ou de commandes,
385
+ manque � gagner, trouble commercial quelconque) ou toute action dirig�e
386
+ contre le Licenci� par un tiers, constitue un dommage indirect et
387
+ n'ouvre pas droit � r�paration par le Conc�dant.
388
+
389
+
390
+ Article 9 - GARANTIE
391
+
392
+ 9.1 Le Licenci� reconna�t que l'�tat actuel des connaissances
393
+ scientifiques et techniques au moment de la mise en circulation du
394
+ Logiciel ne permet pas d'en tester et d'en v�rifier toutes les
395
+ utilisations ni de d�tecter l'existence d'�ventuels d�fauts. L'attention
396
+ du Licenci� a �t� attir�e sur ce point sur les risques associ�s au
397
+ chargement, � l'utilisation, la modification et/ou au d�veloppement et �
398
+ la reproduction du Logiciel qui sont r�serv�s � des utilisateurs avertis.
399
+
400
+ Il rel�ve de la responsabilit� du Licenci� de contr�ler, par tous
401
+ moyens, l'ad�quation du produit � ses besoins, son bon fonctionnement et
402
+ de s'assurer qu'il ne causera pas de dommages aux personnes et aux biens.
403
+
404
+ 9.2 Le Conc�dant d�clare de bonne foi �tre en droit de conc�der
405
+ l'ensemble des droits attach�s au Logiciel (comprenant notamment les
406
+ droits vis�s � l'article 5).
407
+
408
+ 9.3 Le Licenci� reconna�t que le Logiciel est fourni "en l'�tat" par le
409
+ Conc�dant sans autre garantie, expresse ou tacite, que celle pr�vue �
410
+ l'article 9.2 et notamment sans aucune garantie sur sa valeur commerciale,
411
+ son caract�re s�curis�, innovant ou pertinent.
412
+
413
+ En particulier, le Conc�dant ne garantit pas que le Logiciel est exempt
414
+ d'erreur, qu'il fonctionnera sans interruption, qu'il sera compatible
415
+ avec l'�quipement du Licenci� et sa configuration logicielle ni qu'il
416
+ remplira les besoins du Licenci�.
417
+
418
+ 9.4 Le Conc�dant ne garantit pas, de mani�re expresse ou tacite, que le
419
+ Logiciel ne porte pas atteinte � un quelconque droit de propri�t�
420
+ intellectuelle d'un tiers portant sur un brevet, un logiciel ou sur tout
421
+ autre droit de propri�t�. Ainsi, le Conc�dant exclut toute garantie au
422
+ profit du Licenci� contre les actions en contrefa�on qui pourraient �tre
423
+ diligent�es au titre de l'utilisation, de la modification, et de la
424
+ redistribution du Logiciel. N�anmoins, si de telles actions sont
425
+ exerc�es contre le Licenci�, le Conc�dant lui apportera son aide
426
+ technique et juridique pour sa d�fense. Cette aide technique et
427
+ juridique est d�termin�e au cas par cas entre le Conc�dant concern� et
428
+ le Licenci� dans le cadre d'un protocole d'accord. Le Conc�dant d�gage
429
+ toute responsabilit� quant � l'utilisation de la d�nomination du
430
+ Logiciel par le Licenci�. Aucune garantie n'est apport�e quant �
431
+ l'existence de droits ant�rieurs sur le nom du Logiciel et sur
432
+ l'existence d'une marque.
433
+
434
+
435
+ Article 10 - RESILIATION
436
+
437
+ 10.1 En cas de manquement par le Licenci� aux obligations mises � sa
438
+ charge par le Contrat, le Conc�dant pourra r�silier de plein droit le
439
+ Contrat trente (30) jours apr�s notification adress�e au Licenci� et
440
+ rest�e sans effet.
441
+
442
+ 10.2 Le Licenci� dont le Contrat est r�sili� n'est plus autoris� �
443
+ utiliser, modifier ou distribuer le Logiciel. Cependant, toutes les
444
+ licences qu'il aura conc�d�es ant�rieurement � la r�siliation du Contrat
445
+ resteront valides sous r�serve qu'elles aient �t� effectu�es en
446
+ conformit� avec le Contrat.
447
+
448
+
449
+ Article 11 - DISPOSITIONS DIVERSES
450
+
451
+
452
+ 11.1 CAUSE EXTERIEURE
453
+
454
+ Aucune des Parties ne sera responsable d'un retard ou d'une d�faillance
455
+ d'ex�cution du Contrat qui serait d� � un cas de force majeure, un cas
456
+ fortuit ou une cause ext�rieure, telle que, notamment, le mauvais
457
+ fonctionnement ou les interruptions du r�seau �lectrique ou de
458
+ t�l�communication, la paralysie du r�seau li�e � une attaque
459
+ informatique, l'intervention des autorit�s gouvernementales, les
460
+ catastrophes naturelles, les d�g�ts des eaux, les tremblements de terre,
461
+ le feu, les explosions, les gr�ves et les conflits sociaux, l'�tat de
462
+ guerre...
463
+
464
+ 11.2 Le fait, par l'une ou l'autre des Parties, d'omettre en une ou
465
+ plusieurs occasions de se pr�valoir d'une ou plusieurs dispositions du
466
+ Contrat, ne pourra en aucun cas impliquer renonciation par la Partie
467
+ int�ress�e � s'en pr�valoir ult�rieurement.
468
+
469
+ 11.3 Le Contrat annule et remplace toute convention ant�rieure, �crite
470
+ ou orale, entre les Parties sur le m�me objet et constitue l'accord
471
+ entier entre les Parties sur cet objet. Aucune addition ou modification
472
+ aux termes du Contrat n'aura d'effet � l'�gard des Parties � moins
473
+ d'�tre faite par �crit et sign�e par leurs repr�sentants d�ment habilit�s.
474
+
475
+ 11.4 Dans l'hypoth�se o� une ou plusieurs des dispositions du Contrat
476
+ s'av�rerait contraire � une loi ou � un texte applicable, existants ou
477
+ futurs, cette loi ou ce texte pr�vaudrait, et les Parties feraient les
478
+ amendements n�cessaires pour se conformer � cette loi ou � ce texte.
479
+ Toutes les autres dispositions resteront en vigueur. De m�me, la
480
+ nullit�, pour quelque raison que ce soit, d'une des dispositions du
481
+ Contrat ne saurait entra�ner la nullit� de l'ensemble du Contrat.
482
+
483
+
484
+ 11.5 LANGUE
485
+
486
+ Le Contrat est r�dig� en langue fran�aise et en langue anglaise, ces
487
+ deux versions faisant �galement foi.
488
+
489
+
490
+ Article 12 - NOUVELLES VERSIONS DU CONTRAT
491
+
492
+ 12.1 Toute personne est autoris�e � copier et distribuer des copies de
493
+ ce Contrat.
494
+
495
+ 12.2 Afin d'en pr�server la coh�rence, le texte du Contrat est prot�g�
496
+ et ne peut �tre modifi� que par les auteurs de la licence, lesquels se
497
+ r�servent le droit de publier p�riodiquement des mises � jour ou de
498
+ nouvelles versions du Contrat, qui poss�deront chacune un num�ro
499
+ distinct. Ces versions ult�rieures seront susceptibles de prendre en
500
+ compte de nouvelles probl�matiques rencontr�es par les logiciels libres.
501
+
502
+ 12.3 Tout Logiciel diffus� sous une version donn�e du Contrat ne pourra
503
+ faire l'objet d'une diffusion ult�rieure que sous la m�me version du
504
+ Contrat ou une version post�rieure.
505
+
506
+
507
+ Article 13 - LOI APPLICABLE ET COMPETENCE TERRITORIALE
508
+
509
+ 13.1 Le Contrat est r�gi par la loi fran�aise. Les Parties conviennent
510
+ de tenter de r�gler � l'amiable les diff�rends ou litiges qui
511
+ viendraient � se produire par suite ou � l'occasion du Contrat.
512
+
513
+ 13.2 A d�faut d'accord amiable dans un d�lai de deux (2) mois � compter
514
+ de leur survenance et sauf situation relevant d'une proc�dure d'urgence,
515
+ les diff�rends ou litiges seront port�s par la Partie la plus diligente
516
+ devant les Tribunaux comp�tents de Paris.
517
+
518
+
519
+ Version 1.0 du 2006-09-05.