roby 0.8.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. checksums.yaml +7 -0
  2. data/.deep-cover.rb +3 -0
  3. data/.gitattributes +1 -0
  4. data/.gitignore +24 -0
  5. data/.simplecov +10 -0
  6. data/.travis.yml +17 -0
  7. data/.yardopts +4 -0
  8. data/Gemfile +15 -0
  9. data/README.md +11 -0
  10. data/Rakefile +47 -177
  11. data/benchmark/{alloc_misc.rb → attic/alloc_misc.rb} +2 -2
  12. data/benchmark/{discovery_latency.rb → attic/discovery_latency.rb} +19 -19
  13. data/benchmark/{garbage_collection.rb → attic/garbage_collection.rb} +9 -9
  14. data/benchmark/{genom.rb → attic/genom.rb} +0 -0
  15. data/benchmark/attic/transactions.rb +62 -0
  16. data/benchmark/plan_basic_operations.rb +28 -0
  17. data/benchmark/relations/graph.rb +63 -0
  18. data/benchmark/ruby/identity.rb +18 -0
  19. data/benchmark/ruby/set_intersect_vs_hash_merge.rb +39 -0
  20. data/benchmark/ruby/yield_vs_block.rb +35 -0
  21. data/benchmark/run +5 -0
  22. data/benchmark/synthetic_plan_modifications_with_transactions.rb +79 -0
  23. data/benchmark/transactions.rb +99 -51
  24. data/bin/roby +38 -197
  25. data/bin/roby-display +14 -0
  26. data/bin/roby-log +3 -176
  27. data/doc/guide/{src → attic}/abstraction/achieve_with.page +1 -1
  28. data/doc/guide/{src → attic}/abstraction/forwarding.page +1 -1
  29. data/doc/guide/{src → attic}/abstraction/hierarchy.page +1 -1
  30. data/doc/guide/{src → attic}/abstraction/index.page +1 -1
  31. data/doc/guide/{src → attic}/abstraction/task_models.page +1 -1
  32. data/doc/guide/{overview.rdoc → attic/cycle/api_overview.rdoc} +6 -1
  33. data/doc/guide/{src → attic}/cycle/cycle-overview.png +0 -0
  34. data/doc/guide/{src → attic}/cycle/cycle-overview.svg +0 -0
  35. data/doc/guide/attic/cycle/error_handling.page +98 -0
  36. data/doc/guide/{src → attic}/cycle/error_instantaneous_repair.png +0 -0
  37. data/doc/guide/{src → attic}/cycle/error_instantaneous_repair.svg +0 -0
  38. data/doc/guide/{src/cycle/error_handling.page → attic/cycle/error_sources.page} +46 -89
  39. data/doc/guide/{src → attic}/cycle/garbage_collection.page +1 -1
  40. data/doc/guide/{src → attic}/cycle/index.page +1 -1
  41. data/doc/guide/{src → attic}/cycle/propagation.page +11 -1
  42. data/doc/guide/{src → attic}/cycle/propagation_diamond.png +0 -0
  43. data/doc/guide/{src → attic}/cycle/propagation_diamond.svg +0 -0
  44. data/doc/guide/attic/plans/building_plans.page +89 -0
  45. data/doc/guide/attic/plans/code.page +192 -0
  46. data/doc/guide/{src/basics → attic/plans}/events.page +3 -4
  47. data/doc/guide/attic/plans/index.page +7 -0
  48. data/doc/guide/{plan_modifications.rdoc → attic/plans/plan_modifications.rdoc} +5 -3
  49. data/doc/guide/{src/basics → attic/plans}/plan_objects.page +2 -1
  50. data/doc/guide/attic/plans/querying_plans.page +5 -0
  51. data/doc/guide/{src/basics → attic/plans}/tasks.page +20 -20
  52. data/doc/guide/config.yaml +7 -4
  53. data/doc/guide/ext/extended_menu.rb +29 -0
  54. data/doc/guide/ext/init.rb +6 -0
  55. data/doc/guide/ext/rdoc_links.rb +7 -6
  56. data/doc/guide/src/advanced_concepts/history.page +5 -0
  57. data/doc/guide/src/advanced_concepts/index.page +11 -0
  58. data/doc/guide/src/advanced_concepts/recognizing_patterns.page +83 -0
  59. data/doc/guide/src/advanced_concepts/scheduling.page +87 -0
  60. data/doc/guide/src/advanced_concepts/transactions.page +5 -0
  61. data/doc/guide/src/advanced_concepts/unreachability.page +42 -0
  62. data/doc/guide/src/base.template +96 -0
  63. data/doc/guide/src/basics_shell_header.txt +5 -7
  64. data/doc/guide/src/building/action_coordination.page +96 -0
  65. data/doc/guide/src/building/actions.page +124 -0
  66. data/doc/guide/src/building/file_layout.page +71 -0
  67. data/doc/guide/src/building/index.page +50 -0
  68. data/doc/guide/src/building/patterns.page +86 -0
  69. data/doc/guide/src/building/patterns_forwarding.png +0 -0
  70. data/doc/guide/src/building/patterns_forwarding.svg +277 -0
  71. data/doc/guide/src/building/runtime.page +95 -0
  72. data/doc/guide/src/building/task_models.page +94 -0
  73. data/doc/guide/src/building/tasks.page +284 -0
  74. data/doc/guide/src/concepts/error_handling.page +100 -0
  75. data/doc/guide/src/concepts/exception_propagation.png +0 -0
  76. data/doc/guide/src/concepts/exception_propagation.svg +445 -0
  77. data/doc/guide/src/concepts/execution.page +85 -0
  78. data/doc/guide/src/concepts/execution.png +0 -0
  79. data/doc/guide/src/concepts/execution.svg +573 -0
  80. data/doc/guide/src/concepts/execution_cycle.png +0 -0
  81. data/doc/guide/src/concepts/garbage_collection.page +57 -0
  82. data/doc/guide/src/concepts/index.page +27 -0
  83. data/doc/guide/src/concepts/plans.page +101 -0
  84. data/doc/guide/src/concepts/policy.page +31 -0
  85. data/doc/guide/src/concepts/reactor.page +61 -0
  86. data/doc/guide/src/concepts/simple_plan_example.png +0 -0
  87. data/doc/guide/src/concepts/simple_plan_example.svg +376 -0
  88. data/doc/guide/src/default.template +9 -74
  89. data/doc/guide/src/event_relations/forward.page +71 -0
  90. data/doc/guide/src/event_relations/index.page +12 -0
  91. data/doc/guide/src/event_relations/scheduling_constraints.page +43 -0
  92. data/doc/guide/src/event_relations/signal.page +55 -0
  93. data/doc/guide/src/event_relations/temporal_constraints.page +77 -0
  94. data/doc/guide/src/htmldoc.metainfo +21 -8
  95. data/doc/guide/src/index.page +8 -3
  96. data/doc/guide/src/{introduction/install.page → installation/index.page} +37 -25
  97. data/doc/guide/src/installation/publications.page +14 -0
  98. data/doc/guide/src/{introduction → installation}/videos.page +14 -7
  99. data/doc/guide/src/interacting/index.page +16 -0
  100. data/doc/guide/src/interacting/run.page +33 -0
  101. data/doc/guide/src/interacting/shell.page +95 -0
  102. data/doc/guide/src/plugins/creating_plugins.page +72 -0
  103. data/doc/guide/src/plugins/index.page +27 -5
  104. data/doc/guide/src/plugins/{fault_tolerance.page → standard_plugins/fault_tolerance.page} +2 -2
  105. data/doc/guide/src/plugins/standard_plugins/index.page +11 -0
  106. data/doc/guide/src/plugins/{subsystems.page → standard_plugins/subsystems.page} +2 -2
  107. data/doc/guide/src/style_screen.css +687 -0
  108. data/doc/guide/src/task_relations/dependency.page +107 -0
  109. data/doc/guide/src/task_relations/executed_by.page +77 -0
  110. data/doc/guide/src/task_relations/index.page +12 -0
  111. data/doc/guide/src/task_relations/new_relations.page +119 -0
  112. data/doc/guide/src/task_relations/planned_by.page +46 -0
  113. data/doc/guide/src/tutorial/app.page +117 -0
  114. data/doc/guide/src/{basics → tutorial}/code_examples.page +6 -5
  115. data/doc/guide/src/{basics → tutorial}/dry.page +15 -15
  116. data/doc/guide/src/{basics → tutorial}/errors.page +43 -68
  117. data/doc/guide/src/tutorial/events.page +195 -0
  118. data/doc/guide/src/{basics → tutorial}/hierarchy.page +53 -52
  119. data/doc/guide/src/tutorial/index.page +13 -0
  120. data/doc/guide/src/tutorial/log_replay/goForward_1.png +0 -0
  121. data/doc/guide/src/tutorial/log_replay/goForward_2.png +0 -0
  122. data/doc/guide/src/tutorial/log_replay/goForward_3.png +0 -0
  123. data/doc/guide/src/{basics → tutorial}/log_replay/goForward_4.png +0 -0
  124. data/doc/guide/src/tutorial/log_replay/goForward_5.png +0 -0
  125. data/doc/guide/src/{basics → tutorial}/log_replay/hierarchy_error_1.png +0 -0
  126. data/doc/guide/src/{basics → tutorial}/log_replay/hierarchy_error_2.png +0 -0
  127. data/doc/guide/src/{basics → tutorial}/log_replay/hierarchy_error_3.png +0 -0
  128. data/doc/guide/src/tutorial/log_replay/moveto_code_error.png +0 -0
  129. data/doc/guide/src/{basics → tutorial}/log_replay/plan_repair_1.png +0 -0
  130. data/doc/guide/src/{basics → tutorial}/log_replay/plan_repair_2.png +0 -0
  131. data/doc/guide/src/{basics → tutorial}/log_replay/plan_repair_3.png +0 -0
  132. data/doc/guide/src/tutorial/log_replay/plan_repair_4.png +0 -0
  133. data/doc/guide/src/tutorial/log_replay/roby_log_main_window.png +0 -0
  134. data/doc/guide/src/{basics → tutorial}/log_replay/roby_log_relation_window.png +0 -0
  135. data/doc/guide/src/{basics → tutorial}/log_replay/roby_replay_event_representation.png +0 -0
  136. data/doc/guide/src/tutorial/relations_display.page +153 -0
  137. data/doc/guide/src/{basics → tutorial}/roby_cycle_overview.png +0 -0
  138. data/doc/guide/src/tutorial/shell.page +121 -0
  139. data/doc/guide/src/{basics → tutorial}/summary.page +1 -1
  140. data/doc/guide/src/tutorial/tasks.page +374 -0
  141. data/lib/roby.rb +102 -47
  142. data/lib/roby/actions.rb +17 -0
  143. data/lib/roby/actions/action.rb +80 -0
  144. data/lib/roby/actions/interface.rb +45 -0
  145. data/lib/roby/actions/library.rb +23 -0
  146. data/lib/roby/actions/models/action.rb +224 -0
  147. data/lib/roby/actions/models/coordination_action.rb +58 -0
  148. data/lib/roby/actions/models/interface.rb +22 -0
  149. data/lib/roby/actions/models/interface_base.rb +294 -0
  150. data/lib/roby/actions/models/library.rb +12 -0
  151. data/lib/roby/actions/models/method_action.rb +90 -0
  152. data/lib/roby/actions/task.rb +114 -0
  153. data/lib/roby/and_generator.rb +125 -0
  154. data/lib/roby/app.rb +2795 -829
  155. data/lib/roby/app/autotest_console_reporter.rb +138 -0
  156. data/lib/roby/app/base.rb +21 -0
  157. data/lib/roby/app/cucumber.rb +2 -0
  158. data/lib/roby/app/cucumber/controller.rb +439 -0
  159. data/lib/roby/app/cucumber/helpers.rb +280 -0
  160. data/lib/roby/app/cucumber/world.rb +32 -0
  161. data/lib/roby/app/debug.rb +136 -0
  162. data/lib/roby/app/gen.rb +2 -0
  163. data/lib/roby/app/rake.rb +178 -38
  164. data/lib/roby/app/robot_config.rb +9 -0
  165. data/lib/roby/app/robot_names.rb +115 -0
  166. data/lib/roby/app/run.rb +3 -2
  167. data/lib/roby/app/scripts.rb +72 -0
  168. data/lib/roby/app/scripts/autotest.rb +173 -0
  169. data/lib/roby/app/scripts/display.rb +2 -0
  170. data/lib/roby/app/scripts/restart.rb +52 -0
  171. data/lib/roby/app/scripts/results.rb +17 -8
  172. data/lib/roby/app/scripts/run.rb +155 -24
  173. data/lib/roby/app/scripts/shell.rb +147 -62
  174. data/lib/roby/app/scripts/test.rb +107 -22
  175. data/lib/roby/app/test_reporter.rb +74 -0
  176. data/lib/roby/app/test_server.rb +159 -0
  177. data/lib/roby/app/vagrant.rb +47 -0
  178. data/lib/roby/backports.rb +16 -0
  179. data/lib/roby/cli/display.rb +190 -0
  180. data/lib/roby/cli/exceptions.rb +17 -0
  181. data/lib/roby/cli/gen/actions/class.rb +5 -0
  182. data/lib/roby/cli/gen/actions/test.rb +6 -0
  183. data/lib/roby/cli/gen/app/.yardopts +6 -0
  184. data/lib/roby/cli/gen/app/README.md +28 -0
  185. data/lib/roby/cli/gen/app/Rakefile +15 -0
  186. data/{app → lib/roby/cli/gen/app}/config/app.yml +29 -39
  187. data/lib/roby/cli/gen/app/models/.gitattributes +1 -0
  188. data/{app → lib/roby/cli/gen/app/scripts}/controllers/.gitattributes +0 -0
  189. data/{app/data/.gitattributes → lib/roby/cli/gen/app/test/.gitignore} +0 -0
  190. data/lib/roby/cli/gen/class/class.rb +6 -0
  191. data/lib/roby/cli/gen/class/test.rb +7 -0
  192. data/lib/roby/cli/gen/helpers.rb +203 -0
  193. data/lib/roby/cli/gen/module/module.rb +5 -0
  194. data/lib/roby/cli/gen/module/test.rb +6 -0
  195. data/lib/roby/cli/gen/roby_app/config/init.rb +17 -0
  196. data/lib/roby/cli/gen/roby_app/config/robots/robot.rb +40 -0
  197. data/lib/roby/cli/gen/task/class.rb +44 -0
  198. data/lib/roby/cli/gen/task/test.rb +6 -0
  199. data/lib/roby/cli/gen_main.rb +120 -0
  200. data/lib/roby/cli/log.rb +276 -0
  201. data/lib/roby/cli/log/flamegraph.html +499 -0
  202. data/lib/roby/cli/log/flamegraph_renderer.rb +88 -0
  203. data/lib/roby/cli/main.rb +153 -0
  204. data/lib/roby/coordination.rb +60 -0
  205. data/lib/roby/coordination/action_script.rb +25 -0
  206. data/lib/roby/coordination/action_state_machine.rb +125 -0
  207. data/lib/roby/coordination/actions.rb +106 -0
  208. data/lib/roby/coordination/base.rb +145 -0
  209. data/lib/roby/coordination/calculus.rb +40 -0
  210. data/lib/roby/coordination/child.rb +28 -0
  211. data/lib/roby/coordination/event.rb +29 -0
  212. data/lib/roby/coordination/fault_handler.rb +25 -0
  213. data/lib/roby/coordination/fault_handling_task.rb +13 -0
  214. data/lib/roby/coordination/fault_response_table.rb +110 -0
  215. data/lib/roby/coordination/models/action_script.rb +64 -0
  216. data/lib/roby/coordination/models/action_state_machine.rb +224 -0
  217. data/lib/roby/coordination/models/actions.rb +191 -0
  218. data/lib/roby/coordination/models/arguments.rb +55 -0
  219. data/lib/roby/coordination/models/base.rb +176 -0
  220. data/lib/roby/coordination/models/capture.rb +86 -0
  221. data/lib/roby/coordination/models/child.rb +35 -0
  222. data/lib/roby/coordination/models/event.rb +41 -0
  223. data/lib/roby/coordination/models/exceptions.rb +42 -0
  224. data/lib/roby/coordination/models/fault_handler.rb +219 -0
  225. data/lib/roby/coordination/models/fault_response_table.rb +77 -0
  226. data/lib/roby/coordination/models/root.rb +22 -0
  227. data/lib/roby/coordination/models/script.rb +283 -0
  228. data/lib/roby/coordination/models/task.rb +184 -0
  229. data/lib/roby/coordination/models/task_from_action.rb +50 -0
  230. data/lib/roby/coordination/models/task_from_as_plan.rb +33 -0
  231. data/lib/roby/coordination/models/task_from_instanciation_object.rb +31 -0
  232. data/lib/roby/coordination/models/task_from_variable.rb +27 -0
  233. data/lib/roby/coordination/models/task_with_dependencies.rb +48 -0
  234. data/lib/roby/coordination/models/variable.rb +32 -0
  235. data/lib/roby/coordination/script.rb +200 -0
  236. data/lib/roby/coordination/script_instruction.rb +12 -0
  237. data/lib/roby/coordination/task.rb +45 -0
  238. data/lib/roby/coordination/task_base.rb +69 -0
  239. data/lib/roby/coordination/task_script.rb +293 -0
  240. data/lib/roby/coordination/task_state_machine.rb +308 -0
  241. data/lib/roby/decision_control.rb +33 -21
  242. data/lib/roby/distributed_object.rb +76 -0
  243. data/lib/roby/droby.rb +17 -0
  244. data/lib/roby/droby/droby_id.rb +6 -0
  245. data/lib/roby/droby/enable.rb +153 -0
  246. data/lib/roby/droby/event_logger.rb +189 -0
  247. data/lib/roby/droby/event_logging.rb +57 -0
  248. data/lib/roby/droby/exceptions.rb +14 -0
  249. data/lib/roby/droby/identifiable.rb +22 -0
  250. data/lib/roby/droby/logfile.rb +141 -0
  251. data/lib/roby/droby/logfile/client.rb +176 -0
  252. data/lib/roby/droby/logfile/file_format.md +97 -0
  253. data/lib/roby/droby/logfile/index.rb +117 -0
  254. data/lib/roby/droby/logfile/reader.rb +139 -0
  255. data/lib/roby/droby/logfile/server.rb +199 -0
  256. data/lib/roby/droby/logfile/writer.rb +114 -0
  257. data/lib/roby/droby/marshal.rb +264 -0
  258. data/lib/roby/droby/marshallable.rb +12 -0
  259. data/lib/roby/droby/null_event_logger.rb +25 -0
  260. data/lib/roby/droby/object_manager.rb +205 -0
  261. data/lib/roby/droby/peer_id.rb +6 -0
  262. data/lib/roby/droby/plan_rebuilder.rb +373 -0
  263. data/lib/roby/droby/rebuilt_plan.rb +160 -0
  264. data/lib/roby/droby/remote_droby_id.rb +6 -0
  265. data/lib/roby/droby/timepoints.rb +205 -0
  266. data/lib/roby/droby/timepoints_ctf.metadata.erb +101 -0
  267. data/lib/roby/droby/timepoints_ctf.rb +125 -0
  268. data/lib/roby/droby/v5.rb +14 -0
  269. data/lib/roby/droby/v5/builtin.rb +120 -0
  270. data/lib/roby/droby/v5/droby_class.rb +45 -0
  271. data/lib/roby/droby/v5/droby_constant.rb +81 -0
  272. data/lib/roby/droby/v5/droby_dump.rb +1026 -0
  273. data/lib/roby/droby/v5/droby_id.rb +44 -0
  274. data/lib/roby/droby/v5/droby_model.rb +82 -0
  275. data/lib/roby/droby/v5/peer_id.rb +10 -0
  276. data/lib/roby/droby/v5/remote_droby_id.rb +42 -0
  277. data/lib/roby/event.rb +79 -957
  278. data/lib/roby/event_constraints.rb +835 -0
  279. data/lib/roby/event_generator.rb +1047 -0
  280. data/lib/roby/event_structure/causal_link.rb +6 -0
  281. data/lib/roby/event_structure/forwarding.rb +6 -0
  282. data/lib/roby/event_structure/precedence.rb +7 -0
  283. data/lib/roby/event_structure/signal.rb +8 -0
  284. data/lib/roby/event_structure/temporal_constraints.rb +640 -0
  285. data/lib/roby/exceptions.rb +446 -152
  286. data/lib/roby/executable_plan.rb +549 -0
  287. data/lib/roby/execution_engine.rb +1997 -950
  288. data/lib/roby/filter_generator.rb +26 -0
  289. data/lib/roby/gui/chronicle_view.rb +225 -0
  290. data/lib/roby/gui/chronicle_widget.rb +925 -0
  291. data/lib/roby/gui/dot_id.rb +11 -0
  292. data/lib/roby/gui/exception_view.rb +44 -0
  293. data/lib/roby/gui/log_display.rb +273 -0
  294. data/lib/roby/gui/model_views.rb +2 -0
  295. data/lib/roby/gui/model_views/action_interface.rb +53 -0
  296. data/lib/roby/gui/model_views/task.rb +47 -0
  297. data/lib/roby/gui/model_views/task.rhtml +41 -0
  298. data/lib/roby/gui/object_info_view.rb +89 -0
  299. data/lib/roby/gui/plan_dot_layout.rb +427 -0
  300. data/lib/roby/gui/plan_rebuilder_widget.rb +357 -0
  301. data/lib/roby/gui/qt4_toMSecsSinceEpoch.rb +8 -0
  302. data/lib/roby/gui/relations_view.rb +278 -0
  303. data/lib/roby/gui/relations_view/relations.ui +139 -0
  304. data/lib/roby/gui/relations_view/relations_canvas.rb +1088 -0
  305. data/lib/roby/gui/relations_view/relations_config.rb +292 -0
  306. data/lib/roby/gui/relations_view/relations_view.ui +53 -0
  307. data/lib/roby/gui/scheduler_view.css +24 -0
  308. data/lib/roby/gui/scheduler_view.rb +46 -0
  309. data/lib/roby/gui/scheduler_view.rhtml +53 -0
  310. data/lib/roby/gui/stepping.rb +93 -0
  311. data/lib/roby/gui/stepping.ui +181 -0
  312. data/lib/roby/gui/styles.rb +81 -0
  313. data/lib/roby/gui/task_display_configuration.rb +42 -0
  314. data/lib/roby/gui/task_state_at.rb +38 -0
  315. data/lib/roby/hooks.rb +26 -0
  316. data/lib/roby/interface.rb +136 -469
  317. data/lib/roby/interface/async.rb +20 -0
  318. data/lib/roby/interface/async/action_monitor.rb +188 -0
  319. data/lib/roby/interface/async/interface.rb +498 -0
  320. data/lib/roby/interface/async/job_monitor.rb +213 -0
  321. data/lib/roby/interface/async/log.rb +238 -0
  322. data/lib/roby/interface/async/new_job_listener.rb +79 -0
  323. data/lib/roby/interface/async/ui_connector.rb +183 -0
  324. data/lib/roby/interface/client.rb +553 -0
  325. data/lib/roby/interface/command.rb +24 -0
  326. data/lib/roby/interface/command_argument.rb +16 -0
  327. data/lib/roby/interface/command_library.rb +92 -0
  328. data/lib/roby/interface/droby_channel.rb +174 -0
  329. data/lib/roby/interface/exceptions.rb +22 -0
  330. data/lib/roby/interface/interface.rb +655 -0
  331. data/lib/roby/interface/job.rb +47 -0
  332. data/lib/roby/interface/rest.rb +10 -0
  333. data/lib/roby/interface/rest/api.rb +29 -0
  334. data/lib/roby/interface/rest/helpers.rb +24 -0
  335. data/lib/roby/interface/rest/server.rb +212 -0
  336. data/lib/roby/interface/server.rb +154 -0
  337. data/lib/roby/interface/shell_client.rb +468 -0
  338. data/lib/roby/interface/shell_subcommand.rb +24 -0
  339. data/lib/roby/interface/subcommand_client.rb +35 -0
  340. data/lib/roby/interface/tcp.rb +168 -0
  341. data/lib/roby/models/arguments.rb +112 -0
  342. data/lib/roby/models/plan_object.rb +83 -0
  343. data/lib/roby/models/task.rb +835 -0
  344. data/lib/roby/models/task_event.rb +62 -0
  345. data/lib/roby/models/task_service.rb +78 -0
  346. data/lib/roby/or_generator.rb +88 -0
  347. data/lib/roby/plan.rb +1751 -864
  348. data/lib/roby/plan_object.rb +611 -0
  349. data/lib/roby/plan_service.rb +200 -0
  350. data/lib/roby/promise.rb +332 -0
  351. data/lib/roby/queries.rb +23 -0
  352. data/lib/roby/queries/and_matcher.rb +32 -0
  353. data/lib/roby/queries/any.rb +27 -0
  354. data/lib/roby/queries/code_error_matcher.rb +58 -0
  355. data/lib/roby/queries/event_generator_matcher.rb +9 -0
  356. data/lib/roby/queries/execution_exception_matcher.rb +165 -0
  357. data/lib/roby/queries/index.rb +165 -0
  358. data/lib/roby/queries/localized_error_matcher.rb +149 -0
  359. data/lib/roby/queries/matcher_base.rb +107 -0
  360. data/lib/roby/queries/none.rb +27 -0
  361. data/lib/roby/queries/not_matcher.rb +30 -0
  362. data/lib/roby/queries/op_matcher.rb +8 -0
  363. data/lib/roby/queries/or_matcher.rb +30 -0
  364. data/lib/roby/queries/plan_object_matcher.rb +363 -0
  365. data/lib/roby/queries/query.rb +188 -0
  366. data/lib/roby/queries/task_event_generator_matcher.rb +86 -0
  367. data/lib/roby/queries/task_matcher.rb +344 -0
  368. data/lib/roby/relations.rb +42 -678
  369. data/lib/roby/relations/bidirectional_directed_adjacency_graph.rb +492 -0
  370. data/lib/roby/relations/directed_relation_support.rb +268 -0
  371. data/lib/roby/relations/event_relation_graph.rb +19 -0
  372. data/lib/roby/relations/fork_merge_visitor.rb +154 -0
  373. data/lib/roby/relations/graph.rb +533 -0
  374. data/lib/roby/relations/models/directed_relation_support.rb +11 -0
  375. data/lib/roby/relations/models/graph.rb +75 -0
  376. data/lib/roby/relations/models/task_relation_graph.rb +18 -0
  377. data/lib/roby/relations/space.rb +380 -0
  378. data/lib/roby/relations/task_relation_graph.rb +20 -0
  379. data/lib/roby/robot.rb +85 -38
  380. data/lib/roby/schedulers/basic.rb +155 -25
  381. data/lib/roby/schedulers/null.rb +20 -0
  382. data/lib/roby/schedulers/reporting.rb +31 -0
  383. data/lib/roby/schedulers/state.rb +129 -0
  384. data/lib/roby/schedulers/temporal.rb +91 -0
  385. data/lib/roby/singletons.rb +87 -0
  386. data/lib/roby/standalone.rb +4 -2
  387. data/lib/roby/standard_errors.rb +405 -82
  388. data/lib/roby/state.rb +6 -3
  389. data/lib/roby/state/conf_model.rb +5 -0
  390. data/lib/roby/state/events.rb +181 -95
  391. data/lib/roby/state/goal_model.rb +77 -0
  392. data/lib/roby/state/open_struct.rb +591 -0
  393. data/lib/roby/state/open_struct_model.rb +68 -0
  394. data/lib/roby/state/pos.rb +45 -45
  395. data/lib/roby/state/shapes.rb +11 -11
  396. data/lib/roby/state/state_model.rb +303 -0
  397. data/lib/roby/state/task.rb +43 -0
  398. data/lib/roby/support.rb +88 -148
  399. data/lib/roby/task.rb +1361 -1750
  400. data/lib/roby/task_arguments.rb +428 -0
  401. data/lib/roby/task_event.rb +127 -0
  402. data/lib/roby/task_event_generator.rb +337 -0
  403. data/lib/roby/task_service.rb +6 -0
  404. data/lib/roby/task_structure/conflicts.rb +104 -0
  405. data/lib/roby/task_structure/dependency.rb +932 -0
  406. data/lib/roby/task_structure/error_handling.rb +118 -0
  407. data/lib/roby/task_structure/executed_by.rb +234 -0
  408. data/lib/roby/task_structure/planned_by.rb +90 -0
  409. data/lib/roby/tasks/aggregator.rb +37 -0
  410. data/lib/roby/tasks/external_process.rb +275 -0
  411. data/lib/roby/tasks/group.rb +27 -0
  412. data/lib/roby/tasks/null.rb +19 -0
  413. data/lib/roby/tasks/parallel.rb +43 -0
  414. data/lib/roby/tasks/sequence.rb +88 -0
  415. data/lib/roby/tasks/simple.rb +21 -0
  416. data/lib/roby/{thread_task.rb → tasks/thread.rb} +50 -24
  417. data/lib/roby/tasks/timeout.rb +17 -0
  418. data/lib/roby/tasks/virtual.rb +55 -0
  419. data/lib/roby/template_plan.rb +7 -0
  420. data/lib/roby/test/aruba_minitest.rb +74 -0
  421. data/lib/roby/test/assertion.rb +16 -0
  422. data/lib/roby/test/assertions.rb +490 -0
  423. data/lib/roby/test/common.rb +368 -591
  424. data/lib/roby/test/dsl.rb +149 -0
  425. data/lib/roby/test/error.rb +18 -0
  426. data/lib/roby/test/event_reporter.rb +83 -0
  427. data/lib/roby/test/execution_expectations.rb +1134 -0
  428. data/lib/roby/test/expect_execution.rb +151 -0
  429. data/lib/roby/test/minitest_helpers.rb +166 -0
  430. data/lib/roby/test/roby_app_helpers.rb +200 -0
  431. data/lib/roby/test/run_planners.rb +155 -0
  432. data/lib/roby/test/self.rb +112 -0
  433. data/lib/roby/test/spec.rb +198 -0
  434. data/lib/roby/test/tasks/empty_task.rb +4 -4
  435. data/lib/roby/test/tasks/goto.rb +28 -27
  436. data/lib/roby/test/teardown_plans.rb +100 -0
  437. data/lib/roby/test/testcase.rb +239 -307
  438. data/lib/roby/test/tools.rb +159 -155
  439. data/lib/roby/test/validate_state_machine.rb +75 -0
  440. data/lib/roby/transaction.rb +1125 -0
  441. data/lib/roby/transaction/event_generator_proxy.rb +63 -0
  442. data/lib/roby/transaction/plan_object_proxy.rb +99 -0
  443. data/lib/roby/transaction/plan_service_proxy.rb +43 -0
  444. data/lib/roby/transaction/proxying.rb +120 -0
  445. data/lib/roby/transaction/task_event_generator_proxy.rb +19 -0
  446. data/lib/roby/transaction/task_proxy.rb +135 -0
  447. data/lib/roby/until_generator.rb +30 -0
  448. data/lib/roby/version.rb +5 -0
  449. data/lib/roby/yard.rb +169 -0
  450. data/lib/yard-roby.rb +1 -0
  451. data/manifest.xml +32 -6
  452. data/roby.gemspec +59 -0
  453. metadata +788 -587
  454. data/Manifest.txt +0 -321
  455. data/NOTES +0 -4
  456. data/README.txt +0 -166
  457. data/TODO.txt +0 -146
  458. data/app/README.txt +0 -24
  459. data/app/Rakefile +0 -8
  460. data/app/config/ROBOT.rb +0 -5
  461. data/app/config/init.rb +0 -33
  462. data/app/config/roby.yml +0 -3
  463. data/app/controllers/ROBOT.rb +0 -2
  464. data/app/planners/ROBOT/main.rb +0 -6
  465. data/app/planners/main.rb +0 -5
  466. data/app/scripts/distributed +0 -3
  467. data/app/scripts/generate/bookmarks +0 -3
  468. data/app/scripts/replay +0 -3
  469. data/app/scripts/results +0 -3
  470. data/app/scripts/run +0 -3
  471. data/app/scripts/server +0 -3
  472. data/app/scripts/shell +0 -3
  473. data/app/scripts/test +0 -3
  474. data/app/tasks/.gitattributes +0 -0
  475. data/app/tasks/ROBOT/.gitattributes +0 -0
  476. data/bin/roby-shell +0 -25
  477. data/doc/guide/src/basics/app.page +0 -139
  478. data/doc/guide/src/basics/index.page +0 -11
  479. data/doc/guide/src/basics/log_replay/goForward_1.png +0 -0
  480. data/doc/guide/src/basics/log_replay/goForward_2.png +0 -0
  481. data/doc/guide/src/basics/log_replay/goForward_3.png +0 -0
  482. data/doc/guide/src/basics/log_replay/goForward_5.png +0 -0
  483. data/doc/guide/src/basics/log_replay/plan_repair_4.png +0 -0
  484. data/doc/guide/src/basics/log_replay/roby_log_main_window.png +0 -0
  485. data/doc/guide/src/basics/relations_display.page +0 -203
  486. data/doc/guide/src/basics/shell.page +0 -102
  487. data/doc/guide/src/default.css +0 -319
  488. data/doc/guide/src/introduction/index.page +0 -29
  489. data/doc/guide/src/introduction/publications.page +0 -14
  490. data/doc/guide/src/relations/dependency.page +0 -89
  491. data/doc/guide/src/relations/index.page +0 -12
  492. data/ext/droby/dump.cc +0 -175
  493. data/ext/droby/extconf.rb +0 -3
  494. data/ext/graph/algorithm.cc +0 -746
  495. data/ext/graph/extconf.rb +0 -7
  496. data/ext/graph/graph.cc +0 -575
  497. data/ext/graph/graph.hh +0 -183
  498. data/ext/graph/iterator_sequence.hh +0 -102
  499. data/ext/graph/undirected_dfs.hh +0 -226
  500. data/ext/graph/undirected_graph.hh +0 -421
  501. data/lib/roby/app/scripts/generate/bookmarks.rb +0 -162
  502. data/lib/roby/app/scripts/replay.rb +0 -31
  503. data/lib/roby/app/scripts/server.rb +0 -18
  504. data/lib/roby/basic_object.rb +0 -151
  505. data/lib/roby/config.rb +0 -14
  506. data/lib/roby/distributed.rb +0 -36
  507. data/lib/roby/distributed/base.rb +0 -448
  508. data/lib/roby/distributed/communication.rb +0 -875
  509. data/lib/roby/distributed/connection_space.rb +0 -616
  510. data/lib/roby/distributed/distributed_object.rb +0 -206
  511. data/lib/roby/distributed/drb.rb +0 -62
  512. data/lib/roby/distributed/notifications.rb +0 -531
  513. data/lib/roby/distributed/peer.rb +0 -555
  514. data/lib/roby/distributed/protocol.rb +0 -529
  515. data/lib/roby/distributed/proxy.rb +0 -343
  516. data/lib/roby/distributed/subscription.rb +0 -311
  517. data/lib/roby/distributed/transaction.rb +0 -498
  518. data/lib/roby/external_process_task.rb +0 -225
  519. data/lib/roby/graph.rb +0 -160
  520. data/lib/roby/log.rb +0 -3
  521. data/lib/roby/log/chronicle.rb +0 -303
  522. data/lib/roby/log/console.rb +0 -74
  523. data/lib/roby/log/data_stream.rb +0 -275
  524. data/lib/roby/log/dot.rb +0 -279
  525. data/lib/roby/log/event_stream.rb +0 -161
  526. data/lib/roby/log/file.rb +0 -396
  527. data/lib/roby/log/gui/basic_display.ui +0 -83
  528. data/lib/roby/log/gui/basic_display_ui.rb +0 -89
  529. data/lib/roby/log/gui/chronicle.rb +0 -26
  530. data/lib/roby/log/gui/chronicle_view.rb +0 -40
  531. data/lib/roby/log/gui/chronicle_view.ui +0 -70
  532. data/lib/roby/log/gui/chronicle_view_ui.rb +0 -90
  533. data/lib/roby/log/gui/data_displays.rb +0 -171
  534. data/lib/roby/log/gui/data_displays.ui +0 -155
  535. data/lib/roby/log/gui/data_displays_ui.rb +0 -146
  536. data/lib/roby/log/gui/notifications.rb +0 -26
  537. data/lib/roby/log/gui/relations.rb +0 -269
  538. data/lib/roby/log/gui/relations.ui +0 -123
  539. data/lib/roby/log/gui/relations_ui.rb +0 -120
  540. data/lib/roby/log/gui/relations_view.rb +0 -185
  541. data/lib/roby/log/gui/relations_view.ui +0 -149
  542. data/lib/roby/log/gui/relations_view_ui.rb +0 -144
  543. data/lib/roby/log/gui/replay.rb +0 -366
  544. data/lib/roby/log/gui/replay_controls.rb +0 -206
  545. data/lib/roby/log/gui/replay_controls.ui +0 -282
  546. data/lib/roby/log/gui/replay_controls_ui.rb +0 -249
  547. data/lib/roby/log/gui/runtime.rb +0 -130
  548. data/lib/roby/log/hooks.rb +0 -186
  549. data/lib/roby/log/logger.rb +0 -203
  550. data/lib/roby/log/notifications.rb +0 -244
  551. data/lib/roby/log/plan_rebuilder.rb +0 -468
  552. data/lib/roby/log/relations.rb +0 -1084
  553. data/lib/roby/log/server.rb +0 -547
  554. data/lib/roby/log/sqlite.rb +0 -47
  555. data/lib/roby/log/timings.rb +0 -233
  556. data/lib/roby/plan-object.rb +0 -371
  557. data/lib/roby/planning.rb +0 -13
  558. data/lib/roby/planning/loops.rb +0 -309
  559. data/lib/roby/planning/model.rb +0 -1012
  560. data/lib/roby/planning/task.rb +0 -180
  561. data/lib/roby/query.rb +0 -655
  562. data/lib/roby/relations/conflicts.rb +0 -67
  563. data/lib/roby/relations/dependency.rb +0 -358
  564. data/lib/roby/relations/ensured.rb +0 -19
  565. data/lib/roby/relations/error_handling.rb +0 -22
  566. data/lib/roby/relations/events.rb +0 -7
  567. data/lib/roby/relations/executed_by.rb +0 -208
  568. data/lib/roby/relations/influence.rb +0 -10
  569. data/lib/roby/relations/planned_by.rb +0 -63
  570. data/lib/roby/state/information.rb +0 -55
  571. data/lib/roby/state/state.rb +0 -367
  572. data/lib/roby/task-operations.rb +0 -186
  573. data/lib/roby/task_index.rb +0 -80
  574. data/lib/roby/test/distributed.rb +0 -230
  575. data/lib/roby/test/tasks/simple_task.rb +0 -23
  576. data/lib/roby/transactions.rb +0 -507
  577. data/lib/roby/transactions/proxy.rb +0 -325
  578. data/plugins/fault_injection/History.txt +0 -4
  579. data/plugins/fault_injection/README.txt +0 -34
  580. data/plugins/fault_injection/Rakefile +0 -12
  581. data/plugins/fault_injection/TODO.txt +0 -0
  582. data/plugins/fault_injection/app.rb +0 -52
  583. data/plugins/fault_injection/fault_injection.rb +0 -89
  584. data/plugins/fault_injection/test/test_fault_injection.rb +0 -78
  585. data/plugins/subsystems/README.txt +0 -37
  586. data/plugins/subsystems/Rakefile +0 -13
  587. data/plugins/subsystems/app.rb +0 -182
  588. data/plugins/subsystems/test/app/README +0 -24
  589. data/plugins/subsystems/test/app/Rakefile +0 -8
  590. data/plugins/subsystems/test/app/config/app.yml +0 -71
  591. data/plugins/subsystems/test/app/config/init.rb +0 -12
  592. data/plugins/subsystems/test/app/config/roby.yml +0 -3
  593. data/plugins/subsystems/test/app/planners/main.rb +0 -20
  594. data/plugins/subsystems/test/app/scripts/distributed +0 -3
  595. data/plugins/subsystems/test/app/scripts/replay +0 -3
  596. data/plugins/subsystems/test/app/scripts/results +0 -3
  597. data/plugins/subsystems/test/app/scripts/run +0 -3
  598. data/plugins/subsystems/test/app/scripts/server +0 -3
  599. data/plugins/subsystems/test/app/scripts/shell +0 -3
  600. data/plugins/subsystems/test/app/scripts/test +0 -3
  601. data/plugins/subsystems/test/app/tasks/services.rb +0 -15
  602. data/plugins/subsystems/test/test_subsystems.rb +0 -78
  603. data/test/distributed/test_communication.rb +0 -195
  604. data/test/distributed/test_connection.rb +0 -284
  605. data/test/distributed/test_execution.rb +0 -378
  606. data/test/distributed/test_mixed_plan.rb +0 -341
  607. data/test/distributed/test_plan_notifications.rb +0 -238
  608. data/test/distributed/test_protocol.rb +0 -525
  609. data/test/distributed/test_query.rb +0 -106
  610. data/test/distributed/test_remote_plan.rb +0 -491
  611. data/test/distributed/test_transaction.rb +0 -466
  612. data/test/mockups/external_process +0 -28
  613. data/test/mockups/tasks.rb +0 -27
  614. data/test/planning/test_loops.rb +0 -432
  615. data/test/planning/test_model.rb +0 -427
  616. data/test/planning/test_task.rb +0 -126
  617. data/test/relations/test_conflicts.rb +0 -42
  618. data/test/relations/test_dependency.rb +0 -324
  619. data/test/relations/test_ensured.rb +0 -38
  620. data/test/relations/test_executed_by.rb +0 -224
  621. data/test/relations/test_planned_by.rb +0 -56
  622. data/test/suite_core.rb +0 -29
  623. data/test/suite_distributed.rb +0 -10
  624. data/test/suite_planning.rb +0 -4
  625. data/test/suite_relations.rb +0 -8
  626. data/test/tasks/test_external_process.rb +0 -126
  627. data/test/tasks/test_thread_task.rb +0 -70
  628. data/test/test_bgl.rb +0 -528
  629. data/test/test_event.rb +0 -969
  630. data/test/test_exceptions.rb +0 -591
  631. data/test/test_execution_engine.rb +0 -987
  632. data/test/test_gui.rb +0 -20
  633. data/test/test_interface.rb +0 -43
  634. data/test/test_log.rb +0 -125
  635. data/test/test_log_server.rb +0 -133
  636. data/test/test_plan.rb +0 -418
  637. data/test/test_query.rb +0 -424
  638. data/test/test_relations.rb +0 -260
  639. data/test/test_state.rb +0 -432
  640. data/test/test_support.rb +0 -16
  641. data/test/test_task.rb +0 -1181
  642. data/test/test_testcase.rb +0 -138
  643. data/test/test_transactions.rb +0 -610
  644. data/test/test_transactions_proxy.rb +0 -216
@@ -1,321 +0,0 @@
1
- History.txt
2
- License-fr.txt
3
- License.txt
4
- Manifest.txt
5
- NOTES
6
- README.txt
7
- Rakefile
8
- TODO.txt
9
- app/README.txt
10
- app/Rakefile
11
- app/config/ROBOT.rb
12
- app/config/app.yml
13
- app/config/init.rb
14
- app/config/roby.yml
15
- app/controllers/.gitattributes
16
- app/controllers/ROBOT.rb
17
- app/data/.gitattributes
18
- app/planners/ROBOT/main.rb
19
- app/planners/main.rb
20
- app/scripts/distributed
21
- app/scripts/generate/bookmarks
22
- app/scripts/replay
23
- app/scripts/results
24
- app/scripts/run
25
- app/scripts/server
26
- app/scripts/shell
27
- app/scripts/test
28
- app/tasks/.gitattributes
29
- app/tasks/ROBOT/.gitattributes
30
- benchmark/alloc_misc.rb
31
- benchmark/discovery_latency.rb
32
- benchmark/garbage_collection.rb
33
- benchmark/genom.rb
34
- benchmark/transactions.rb
35
- bin/roby
36
- bin/roby-log
37
- bin/roby-shell
38
- doc/guide/.gitignore
39
- doc/guide/config.yaml
40
- doc/guide/ext/init.rb
41
- doc/guide/ext/previous_next.rb
42
- doc/guide/ext/rdoc_links.rb
43
- doc/guide/index.rdoc
44
- doc/guide/overview.rdoc
45
- doc/guide/plan_modifications.rdoc
46
- doc/guide/src/abstraction/achieve_with.page
47
- doc/guide/src/abstraction/forwarding.page
48
- doc/guide/src/abstraction/hierarchy.page
49
- doc/guide/src/abstraction/index.page
50
- doc/guide/src/abstraction/task_models.page
51
- doc/guide/src/basics.template
52
- doc/guide/src/basics/app.page
53
- doc/guide/src/basics/code_examples.page
54
- doc/guide/src/basics/dry.page
55
- doc/guide/src/basics/errors.page
56
- doc/guide/src/basics/events.page
57
- doc/guide/src/basics/hierarchy.page
58
- doc/guide/src/basics/index.page
59
- doc/guide/src/basics/log_replay/goForward_1.png
60
- doc/guide/src/basics/log_replay/goForward_2.png
61
- doc/guide/src/basics/log_replay/goForward_3.png
62
- doc/guide/src/basics/log_replay/goForward_4.png
63
- doc/guide/src/basics/log_replay/goForward_5.png
64
- doc/guide/src/basics/log_replay/hierarchy_error_1.png
65
- doc/guide/src/basics/log_replay/hierarchy_error_2.png
66
- doc/guide/src/basics/log_replay/hierarchy_error_3.png
67
- doc/guide/src/basics/log_replay/plan_repair_1.png
68
- doc/guide/src/basics/log_replay/plan_repair_2.png
69
- doc/guide/src/basics/log_replay/plan_repair_3.png
70
- doc/guide/src/basics/log_replay/plan_repair_4.png
71
- doc/guide/src/basics/log_replay/roby_log_main_window.png
72
- doc/guide/src/basics/log_replay/roby_log_relation_window.png
73
- doc/guide/src/basics/log_replay/roby_replay_event_representation.png
74
- doc/guide/src/basics/plan_objects.page
75
- doc/guide/src/basics/relations_display.page
76
- doc/guide/src/basics/roby_cycle_overview.png
77
- doc/guide/src/basics/shell.page
78
- doc/guide/src/basics/summary.page
79
- doc/guide/src/basics/tasks.page
80
- doc/guide/src/basics_shell_header.txt
81
- doc/guide/src/cycle/cycle-overview.png
82
- doc/guide/src/cycle/cycle-overview.svg
83
- doc/guide/src/cycle/error_handling.page
84
- doc/guide/src/cycle/error_instantaneous_repair.png
85
- doc/guide/src/cycle/error_instantaneous_repair.svg
86
- doc/guide/src/cycle/garbage_collection.page
87
- doc/guide/src/cycle/index.page
88
- doc/guide/src/cycle/propagation.page
89
- doc/guide/src/cycle/propagation_diamond.png
90
- doc/guide/src/cycle/propagation_diamond.svg
91
- doc/guide/src/default.css
92
- doc/guide/src/default.template
93
- doc/guide/src/htmldoc.metainfo
94
- doc/guide/src/htmldoc.virtual
95
- doc/guide/src/images/bodybg.png
96
- doc/guide/src/images/contbg.png
97
- doc/guide/src/images/footerbg.png
98
- doc/guide/src/images/gradient1.png
99
- doc/guide/src/images/gradient2.png
100
- doc/guide/src/index.page
101
- doc/guide/src/introduction/index.page
102
- doc/guide/src/introduction/install.page
103
- doc/guide/src/introduction/publications.page
104
- doc/guide/src/introduction/videos.page
105
- doc/guide/src/plugins/fault_tolerance.page
106
- doc/guide/src/plugins/index.page
107
- doc/guide/src/plugins/subsystems.page
108
- doc/guide/src/relations/dependency.page
109
- doc/guide/src/relations/index.page
110
- doc/images/event_generalization.png
111
- doc/images/exception_propagation_1.png
112
- doc/images/exception_propagation_2.png
113
- doc/images/exception_propagation_3.png
114
- doc/images/exception_propagation_4.png
115
- doc/images/exception_propagation_5.png
116
- doc/images/replay_handler_error.png
117
- doc/images/replay_handler_error_0.png
118
- doc/images/replay_handler_error_1.png
119
- doc/images/roby_cycle_overview.png
120
- doc/images/roby_replay_02.png
121
- doc/images/roby_replay_03.png
122
- doc/images/roby_replay_04.png
123
- doc/images/roby_replay_event_representation.png
124
- doc/images/roby_replay_first_state.png
125
- doc/images/roby_replay_relations.png
126
- doc/images/roby_replay_startup.png
127
- doc/images/task_event_generalization.png
128
- doc/misc/update_github
129
- doc/tutorials/01-GettingStarted.rdoc
130
- doc/tutorials/02-GoForward.rdoc
131
- doc/tutorials/03-PlannedPath.rdoc
132
- doc/tutorials/04-EventPropagation.rdoc
133
- doc/tutorials/05-ErrorHandling.rdoc
134
- doc/tutorials/06-Overview.rdoc
135
- ext/droby/dump.cc
136
- ext/droby/extconf.rb
137
- ext/graph/algorithm.cc
138
- ext/graph/extconf.rb
139
- ext/graph/graph.cc
140
- ext/graph/graph.hh
141
- ext/graph/iterator_sequence.hh
142
- ext/graph/undirected_dfs.hh
143
- ext/graph/undirected_graph.hh
144
- lib/roby.rb
145
- lib/roby/app.rb
146
- lib/roby/app/plugins/rake.rb
147
- lib/roby/app/rake.rb
148
- lib/roby/app/run.rb
149
- lib/roby/app/scripts/distributed.rb
150
- lib/roby/app/scripts/generate/bookmarks.rb
151
- lib/roby/app/scripts/replay.rb
152
- lib/roby/app/scripts/results.rb
153
- lib/roby/app/scripts/run.rb
154
- lib/roby/app/scripts/server.rb
155
- lib/roby/app/scripts/shell.rb
156
- lib/roby/app/scripts/test.rb
157
- lib/roby/basic_object.rb
158
- lib/roby/config.rb
159
- lib/roby/decision_control.rb
160
- lib/roby/distributed.rb
161
- lib/roby/distributed/base.rb
162
- lib/roby/distributed/communication.rb
163
- lib/roby/distributed/connection_space.rb
164
- lib/roby/distributed/distributed_object.rb
165
- lib/roby/distributed/drb.rb
166
- lib/roby/distributed/notifications.rb
167
- lib/roby/distributed/peer.rb
168
- lib/roby/distributed/protocol.rb
169
- lib/roby/distributed/proxy.rb
170
- lib/roby/distributed/subscription.rb
171
- lib/roby/distributed/transaction.rb
172
- lib/roby/event.rb
173
- lib/roby/exceptions.rb
174
- lib/roby/execution_engine.rb
175
- lib/roby/external_process_task.rb
176
- lib/roby/graph.rb
177
- lib/roby/interface.rb
178
- lib/roby/log.rb
179
- lib/roby/log/chronicle.rb
180
- lib/roby/log/console.rb
181
- lib/roby/log/data_stream.rb
182
- lib/roby/log/dot.rb
183
- lib/roby/log/event_stream.rb
184
- lib/roby/log/file.rb
185
- lib/roby/log/gui/basic_display.ui
186
- lib/roby/log/gui/basic_display_ui.rb
187
- lib/roby/log/gui/chronicle.rb
188
- lib/roby/log/gui/chronicle_view.rb
189
- lib/roby/log/gui/chronicle_view.ui
190
- lib/roby/log/gui/chronicle_view_ui.rb
191
- lib/roby/log/gui/data_displays.rb
192
- lib/roby/log/gui/data_displays.ui
193
- lib/roby/log/gui/data_displays_ui.rb
194
- lib/roby/log/gui/notifications.rb
195
- lib/roby/log/gui/relations.rb
196
- lib/roby/log/gui/relations.ui
197
- lib/roby/log/gui/relations_ui.rb
198
- lib/roby/log/gui/relations_view.rb
199
- lib/roby/log/gui/relations_view.ui
200
- lib/roby/log/gui/relations_view_ui.rb
201
- lib/roby/log/gui/replay.rb
202
- lib/roby/log/gui/replay_controls.rb
203
- lib/roby/log/gui/replay_controls.ui
204
- lib/roby/log/gui/replay_controls_ui.rb
205
- lib/roby/log/gui/runtime.rb
206
- lib/roby/log/hooks.rb
207
- lib/roby/log/logger.rb
208
- lib/roby/log/notifications.rb
209
- lib/roby/log/plan_rebuilder.rb
210
- lib/roby/log/relations.rb
211
- lib/roby/log/server.rb
212
- lib/roby/log/sqlite.rb
213
- lib/roby/log/timings.rb
214
- lib/roby/plan-object.rb
215
- lib/roby/plan.rb
216
- lib/roby/planning.rb
217
- lib/roby/planning/loops.rb
218
- lib/roby/planning/model.rb
219
- lib/roby/planning/task.rb
220
- lib/roby/query.rb
221
- lib/roby/relations.rb
222
- lib/roby/relations/conflicts.rb
223
- lib/roby/relations/dependency.rb
224
- lib/roby/relations/ensured.rb
225
- lib/roby/relations/error_handling.rb
226
- lib/roby/relations/events.rb
227
- lib/roby/relations/executed_by.rb
228
- lib/roby/relations/influence.rb
229
- lib/roby/relations/planned_by.rb
230
- lib/roby/robot.rb
231
- lib/roby/schedulers/basic.rb
232
- lib/roby/standalone.rb
233
- lib/roby/standard_errors.rb
234
- lib/roby/state.rb
235
- lib/roby/state/events.rb
236
- lib/roby/state/information.rb
237
- lib/roby/state/pos.rb
238
- lib/roby/state/shapes.rb
239
- lib/roby/state/state.rb
240
- lib/roby/support.rb
241
- lib/roby/task-operations.rb
242
- lib/roby/task.rb
243
- lib/roby/task_index.rb
244
- lib/roby/test/common.rb
245
- lib/roby/test/distributed.rb
246
- lib/roby/test/tasks/empty_task.rb
247
- lib/roby/test/tasks/goto.rb
248
- lib/roby/test/tasks/simple_task.rb
249
- lib/roby/test/testcase.rb
250
- lib/roby/test/tools.rb
251
- lib/roby/thread_task.rb
252
- lib/roby/transactions.rb
253
- lib/roby/transactions/proxy.rb
254
- manifest.xml
255
- plugins/fault_injection/History.txt
256
- plugins/fault_injection/README.txt
257
- plugins/fault_injection/Rakefile
258
- plugins/fault_injection/TODO.txt
259
- plugins/fault_injection/app.rb
260
- plugins/fault_injection/fault_injection.rb
261
- plugins/fault_injection/test/test_fault_injection.rb
262
- plugins/subsystems/README.txt
263
- plugins/subsystems/Rakefile
264
- plugins/subsystems/app.rb
265
- plugins/subsystems/test/app/README
266
- plugins/subsystems/test/app/Rakefile
267
- plugins/subsystems/test/app/config/app.yml
268
- plugins/subsystems/test/app/config/init.rb
269
- plugins/subsystems/test/app/config/roby.yml
270
- plugins/subsystems/test/app/planners/main.rb
271
- plugins/subsystems/test/app/scripts/distributed
272
- plugins/subsystems/test/app/scripts/replay
273
- plugins/subsystems/test/app/scripts/results
274
- plugins/subsystems/test/app/scripts/run
275
- plugins/subsystems/test/app/scripts/server
276
- plugins/subsystems/test/app/scripts/shell
277
- plugins/subsystems/test/app/scripts/test
278
- plugins/subsystems/test/app/tasks/services.rb
279
- plugins/subsystems/test/test_subsystems.rb
280
- test/distributed/test_communication.rb
281
- test/distributed/test_connection.rb
282
- test/distributed/test_execution.rb
283
- test/distributed/test_mixed_plan.rb
284
- test/distributed/test_plan_notifications.rb
285
- test/distributed/test_protocol.rb
286
- test/distributed/test_query.rb
287
- test/distributed/test_remote_plan.rb
288
- test/distributed/test_transaction.rb
289
- test/mockups/external_process
290
- test/mockups/tasks.rb
291
- test/planning/test_loops.rb
292
- test/planning/test_model.rb
293
- test/planning/test_task.rb
294
- test/relations/test_conflicts.rb
295
- test/relations/test_dependency.rb
296
- test/relations/test_ensured.rb
297
- test/relations/test_executed_by.rb
298
- test/relations/test_planned_by.rb
299
- test/suite_core.rb
300
- test/suite_distributed.rb
301
- test/suite_planning.rb
302
- test/suite_relations.rb
303
- test/tasks/test_external_process.rb
304
- test/tasks/test_thread_task.rb
305
- test/test_bgl.rb
306
- test/test_event.rb
307
- test/test_exceptions.rb
308
- test/test_execution_engine.rb
309
- test/test_gui.rb
310
- test/test_interface.rb
311
- test/test_log.rb
312
- test/test_log_server.rb
313
- test/test_plan.rb
314
- test/test_query.rb
315
- test/test_relations.rb
316
- test/test_state.rb
317
- test/test_support.rb
318
- test/test_task.rb
319
- test/test_testcase.rb
320
- test/test_transactions.rb
321
- test/test_transactions_proxy.rb
data/NOTES DELETED
@@ -1,4 +0,0 @@
1
- * Consistency checking on relations is done in adding_(parent|child)_object. Don't modify any
2
- internal structure before having called add_child_object or remove_child_object as the
3
- task is supposed to behave if one of these hooks raises an exception
4
-
data/README.txt DELETED
@@ -1,166 +0,0 @@
1
- = Roby: a plan manager for robot control in Ruby
2
-
3
- http://sites.google.com/sites/rubyinmotion
4
- http://doudou.github.com/roby
5
- http://github.com/doudou/roby
6
-
7
- <b>Note for Gem users</b> While using the normal RDoc generator, the
8
- documentation generation process of Roby is a bit modified. In particular, the
9
- plugin documentation is separated from the core documentation, and a clearer
10
- template is used instead of the standard one. RubyGems does not support any
11
- kind of customization in that area, so I would _strongly_ suggest that you use
12
- the documentation provided at http://roby.rubyforge.org instead of the
13
- RubyGem-generated one.
14
-
15
- = What is Roby ?
16
-
17
- Roby is a plan manager: it allows to represent, execute and adapt a plan, which
18
- is a representation of the past, present and future activities of a robot along
19
- with the information needed to verify that their executin is going well, and to
20
- manage errors.
21
-
22
- Roby is:
23
- * a task/event model in which one can represent the activities (Roby::Task) and
24
- the noticeable situations during execution (Roby::EventGenerator,
25
- Roby::Task.event).
26
- * a set of task relations describing the interactions between the activities
27
- (Roby::TaskStructure).
28
- * a set of event relations describing the reaction the system should have in
29
- response to some situations (Roby::EventStructure).
30
- * error management tools which allow to catch errors during execution and
31
- repair them (i.e. let the system manage the error).
32
- * a mean to modify the plan as it is being executed (Roby::Transaction)
33
- * (G)UI tools for interacting/controlling the living system.
34
- * all of that in a multi-robot context.
35
-
36
-
37
- Roby is the result of my PhD. As such, my PhD thesis can be considered as a
38
- design document for the system. If you want an overview of the principles, you
39
- can also refer to the two publications I did. See {this
40
- page}[link:files/doc/papers_rdoc.html] for the list of publication and the
41
- associated PDF files.
42
-
43
- {This overview}[link:files/doc/overview_rdoc.html] also provides a more in-depth
44
- overview of the implementation itself.
45
-
46
- == Acknowledgments
47
-
48
- This work has been supported by the DGA (http://www.defense.gouv.fr/dga) which
49
- financed my PhD and the LAAS/CNRS (http://www.laas.fr), where I did it. It is
50
- now supported by the DFKI (http://www.dfki.de) where I currently work and use
51
- this plan manager.
52
-
53
- == Videos
54
-
55
- The videos that are available show some capabilities of the system. Frankly you
56
- will not be able to understand them unless you have already an idea on what is
57
- going on. They are also referenced in other parts of the API documentation,
58
- when it is meaningful.
59
-
60
- See {here}[link:files/doc/videos_rdoc.html] for the available videos.
61
-
62
- == Documentation
63
-
64
- The documentation is split into four parts:
65
- * the API documentation (see left pane on this window)
66
- * the {User's Guide}[link:files/doc/using/index_rdoc.html]
67
- * the {Developer's Guide}[link:files/doc/extending/index_rdoc.html]
68
-
69
- Finally, a set of tutorials describe Roby's main features and let you experiment
70
- with them:
71
- 1. the GettingStarted[link:files/doc/tutorials/01-GettingStarted_rdoc.html] tutorial makes
72
- you start a brand new Roby application and explains its structure.
73
- 2. the GoForward[link:files/doc/tutorials/02-GoForward_rdoc.html] tutorial shows how to create
74
- a simple task, how to start the Roby controller and how to interact with it
75
- using a shell.
76
- 3. the PlannedPath[link:files/doc/tutorials/03-PlannedPath_rdoc.html] tutorial
77
- shows how to create a (slightly) more complex plan, using the plan-generation
78
- capabilities of Roby. It also shows some properties of that plan.
79
- 4. the EventPropagation[link:files/doc/tutorials/04-EventPropagation_rdoc.html]
80
- tutorial describes how the plan execution actually goes, with examples from
81
- Roby's plan execution display (requires to have QtRuby)
82
- 5. the ErrorHandling[link:files/doc/tutorials/05-ErrorHandling_rdoc.html]
83
- tutorial shows how errors are represented in the system, and how it is possible
84
- to handle and repair them.
85
- 6. {not really a tutorial}[link:files/doc/tutorials/06-Overview_rdoc.html], but
86
- an overview of features that have not been presented in the first five
87
- tutorials.
88
-
89
- == License
90
-
91
- Copyright 2006-2007, LAAS/CNRS <openrobots@laas.fr>
92
- Copyright 2006-2008, Sylvain Joyeux <sylvain.joyeux@m4x.org>
93
- Copyright 2008 DFKI <robotik-bremen@dfki.de>
94
-
95
- This work is licensed under the CeCiLL-B license, which is a free software
96
- license with the same spirit than the BSD license. See License.txt for details,
97
- and License-fr.txt for the french version.
98
-
99
- == Plugins
100
-
101
- === Core plugins
102
-
103
- Two plugins are shipped with the Roby core:
104
- fault_injection[link:../plugins/fault_injection/index.html] and
105
- subsystems[link:../plugins/subsystems/index.html]. See their respective
106
- documentation for description and usage.
107
-
108
- Roby::Application#using(plugin_name) must be calledallows to enable the
109
- plugins at initialization time. You can for instance put the following in
110
- <tt>config/init.rb</tt>
111
-
112
- Roby.app.using 'fault_injection'
113
-
114
- === External plugins
115
-
116
- For now, only one plugins exists. This plugin allows to represent and control
117
- seamlessly a Genom[http://softs.laas.fr/openrobots] functional layer in a Roby
118
- plan. This plugin is not yet released, but if you're interested I can give you
119
- directions on how to get it and install it. The documentation is available here[link:../plugins/genom/index.html]
120
-
121
- = Installation
122
-
123
- == External dependencies
124
- * The Roby engine needs
125
- * +utilrb+, which is available on RubyForge[http://utilrb.rubyforge.org] as a gem
126
- * Facets, available on RubyForge[http://rubyforge.org/projects/facets] or as a gem
127
- * ActiveSupport, available on RubyForge[http://rubyforge.org/projects/activesupport] or as a gem
128
- * the Boost C++ library, including Boost/Graph[www.boost.org]
129
-
130
- * the test suite needs also
131
- * FlexMock, available on RubyForge[http://rubyforge.org/projects/flexmock]
132
-
133
- * finally, the GUI requires {QtRuby >=
134
- 1.4.9}[http://rubyforge.org/projects/korundum], SVG export requires QtRuby to
135
- be built with Qt >= 4.3
136
-
137
- == Before installation
138
-
139
- Whatever the way you install Roby, the only dependencies that you really have
140
- to install yourself are boost (including boost/graph) and (optionally) QtRuby
141
- (see above). If boost is not installed in a standard location, you will also
142
- have to use the --with-boost-dir option to build Roby graph's extension.
143
-
144
- Moreover, Roby uses {the jamis
145
- template}[http://weblog.jamisbuck.org/2005/4/8/rdoc-template], which is
146
- provided with the Roby sources (nothing needs to be done). If you want to use
147
- another template, you can define the +ROBY_RDOC_TEMPLATE+ environment variable
148
- before the installation. For instance, to use the standard RDoc HTML template,
149
- do (for Unix-like shells):
150
-
151
- ROBY_RDOC_TEMPLATE=html rake docs
152
-
153
- == Installing the easy way
154
-
155
- Roby is available on RubyForge as a gem. After having installed the C++
156
- dependencies (boost with boost/graph), you can simply install it with
157
-
158
- gem install roby
159
-
160
- == Installing from source
161
-
162
- You can also install from scratch with {this guide}[link:files/doc/install_rdoc.html]
163
-
164
- You may have to first define the BOOST_DIR environment variable to Boost's
165
- installation path if that path is non-standard.
166
-