roby 0.7.3 → 0.8.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 (236) hide show
  1. data/History.txt +7 -5
  2. data/Manifest.txt +91 -16
  3. data/README.txt +24 -24
  4. data/Rakefile +92 -64
  5. data/app/config/app.yml +42 -43
  6. data/app/config/init.rb +26 -0
  7. data/benchmark/alloc_misc.rb +123 -0
  8. data/benchmark/discovery_latency.rb +67 -0
  9. data/benchmark/garbage_collection.rb +48 -0
  10. data/benchmark/genom.rb +31 -0
  11. data/benchmark/transactions.rb +62 -0
  12. data/bin/roby +1 -1
  13. data/bin/roby-log +16 -6
  14. data/doc/guide/.gitignore +2 -0
  15. data/doc/guide/config.yaml +34 -0
  16. data/doc/guide/ext/init.rb +14 -0
  17. data/doc/guide/ext/previous_next.rb +40 -0
  18. data/doc/guide/ext/rdoc_links.rb +33 -0
  19. data/doc/guide/index.rdoc +16 -0
  20. data/doc/guide/overview.rdoc +62 -0
  21. data/doc/guide/plan_modifications.rdoc +67 -0
  22. data/doc/guide/src/abstraction/achieve_with.page +8 -0
  23. data/doc/guide/src/abstraction/forwarding.page +8 -0
  24. data/doc/guide/src/abstraction/hierarchy.page +19 -0
  25. data/doc/guide/src/abstraction/index.page +28 -0
  26. data/doc/guide/src/abstraction/task_models.page +13 -0
  27. data/doc/guide/src/basics.template +6 -0
  28. data/doc/guide/src/basics/app.page +139 -0
  29. data/doc/guide/src/basics/code_examples.page +33 -0
  30. data/doc/guide/src/basics/dry.page +69 -0
  31. data/doc/guide/src/basics/errors.page +443 -0
  32. data/doc/guide/src/basics/events.page +179 -0
  33. data/doc/guide/src/basics/hierarchy.page +275 -0
  34. data/doc/guide/src/basics/index.page +11 -0
  35. data/doc/guide/src/basics/log_replay/goForward_1.png +0 -0
  36. data/doc/guide/src/basics/log_replay/goForward_2.png +0 -0
  37. data/doc/guide/src/basics/log_replay/goForward_3.png +0 -0
  38. data/doc/guide/src/basics/log_replay/goForward_4.png +0 -0
  39. data/doc/guide/src/basics/log_replay/goForward_5.png +0 -0
  40. data/doc/guide/src/basics/log_replay/hierarchy_error_1.png +0 -0
  41. data/doc/guide/src/basics/log_replay/hierarchy_error_2.png +0 -0
  42. data/doc/guide/src/basics/log_replay/hierarchy_error_3.png +0 -0
  43. data/doc/guide/src/basics/log_replay/plan_repair_1.png +0 -0
  44. data/doc/guide/src/basics/log_replay/plan_repair_2.png +0 -0
  45. data/doc/guide/src/basics/log_replay/plan_repair_3.png +0 -0
  46. data/doc/guide/src/basics/log_replay/plan_repair_4.png +0 -0
  47. data/doc/guide/src/basics/log_replay/roby_log_main_window.png +0 -0
  48. data/doc/guide/src/basics/log_replay/roby_log_relation_window.png +0 -0
  49. data/doc/guide/src/basics/log_replay/roby_replay_event_representation.png +0 -0
  50. data/doc/guide/src/basics/plan_objects.page +71 -0
  51. data/doc/guide/src/basics/relations_display.page +203 -0
  52. data/doc/guide/src/basics/roby_cycle_overview.png +0 -0
  53. data/doc/guide/src/basics/shell.page +102 -0
  54. data/doc/guide/src/basics/summary.page +32 -0
  55. data/doc/guide/src/basics/tasks.page +357 -0
  56. data/doc/guide/src/basics_shell_header.txt +16 -0
  57. data/doc/guide/src/cycle/cycle-overview.png +0 -0
  58. data/doc/guide/src/cycle/cycle-overview.svg +208 -0
  59. data/doc/guide/src/cycle/error_handling.page +168 -0
  60. data/doc/guide/src/cycle/error_instantaneous_repair.png +0 -0
  61. data/doc/guide/src/cycle/error_instantaneous_repair.svg +1224 -0
  62. data/doc/guide/src/cycle/garbage_collection.page +10 -0
  63. data/doc/guide/src/cycle/index.page +23 -0
  64. data/doc/guide/src/cycle/propagation.page +154 -0
  65. data/doc/guide/src/cycle/propagation_diamond.png +0 -0
  66. data/doc/guide/src/cycle/propagation_diamond.svg +1279 -0
  67. data/doc/guide/src/default.css +319 -0
  68. data/doc/guide/src/default.template +74 -0
  69. data/doc/guide/src/htmldoc.metainfo +20 -0
  70. data/doc/guide/src/htmldoc.virtual +18 -0
  71. data/doc/guide/src/images/bodybg.png +0 -0
  72. data/doc/guide/src/images/contbg.png +0 -0
  73. data/doc/guide/src/images/footerbg.png +0 -0
  74. data/doc/guide/src/images/gradient1.png +0 -0
  75. data/doc/guide/src/images/gradient2.png +0 -0
  76. data/doc/guide/src/index.page +7 -0
  77. data/doc/guide/src/introduction/index.page +29 -0
  78. data/doc/guide/src/introduction/install.page +133 -0
  79. data/doc/{papers.rdoc → guide/src/introduction/publications.page} +5 -2
  80. data/doc/{videos.rdoc → guide/src/introduction/videos.page} +4 -2
  81. data/doc/guide/src/plugins/fault_tolerance.page +44 -0
  82. data/doc/guide/src/plugins/index.page +11 -0
  83. data/doc/guide/src/plugins/subsystems.page +45 -0
  84. data/doc/guide/src/relations/dependency.page +89 -0
  85. data/doc/guide/src/relations/index.page +12 -0
  86. data/doc/misc/update_github +24 -0
  87. data/doc/tutorials/02-GoForward.rdoc +3 -3
  88. data/ext/graph/graph.cc +46 -0
  89. data/lib/roby.rb +57 -22
  90. data/lib/roby/app.rb +132 -112
  91. data/lib/roby/app/plugins/rake.rb +21 -0
  92. data/lib/roby/app/rake.rb +0 -7
  93. data/lib/roby/app/run.rb +1 -1
  94. data/lib/roby/app/scripts/distributed.rb +1 -2
  95. data/lib/roby/app/scripts/generate/bookmarks.rb +1 -1
  96. data/lib/roby/app/scripts/results.rb +2 -1
  97. data/lib/roby/app/scripts/run.rb +6 -2
  98. data/lib/roby/app/scripts/shell.rb +11 -11
  99. data/lib/roby/config.rb +1 -1
  100. data/lib/roby/decision_control.rb +62 -3
  101. data/lib/roby/distributed.rb +4 -0
  102. data/lib/roby/distributed/base.rb +8 -0
  103. data/lib/roby/distributed/communication.rb +12 -8
  104. data/lib/roby/distributed/connection_space.rb +61 -44
  105. data/lib/roby/distributed/distributed_object.rb +1 -1
  106. data/lib/roby/distributed/notifications.rb +22 -30
  107. data/lib/roby/distributed/peer.rb +13 -8
  108. data/lib/roby/distributed/proxy.rb +5 -5
  109. data/lib/roby/distributed/subscription.rb +4 -4
  110. data/lib/roby/distributed/transaction.rb +3 -3
  111. data/lib/roby/event.rb +176 -110
  112. data/lib/roby/exceptions.rb +12 -4
  113. data/lib/roby/execution_engine.rb +1604 -0
  114. data/lib/roby/external_process_task.rb +225 -0
  115. data/lib/roby/graph.rb +0 -6
  116. data/lib/roby/interface.rb +221 -137
  117. data/lib/roby/log/console.rb +5 -3
  118. data/lib/roby/log/data_stream.rb +94 -16
  119. data/lib/roby/log/dot.rb +8 -8
  120. data/lib/roby/log/event_stream.rb +13 -3
  121. data/lib/roby/log/file.rb +43 -18
  122. data/lib/roby/log/gui/basic_display_ui.rb +89 -0
  123. data/lib/roby/log/gui/chronicle_view_ui.rb +90 -0
  124. data/lib/roby/log/gui/data_displays.rb +4 -5
  125. data/lib/roby/log/gui/data_displays_ui.rb +146 -0
  126. data/lib/roby/log/gui/relations.rb +18 -18
  127. data/lib/roby/log/gui/relations_ui.rb +120 -0
  128. data/lib/roby/log/gui/relations_view_ui.rb +144 -0
  129. data/lib/roby/log/gui/replay.rb +41 -13
  130. data/lib/roby/log/gui/replay_controls.rb +3 -0
  131. data/lib/roby/log/gui/replay_controls.ui +133 -110
  132. data/lib/roby/log/gui/replay_controls_ui.rb +249 -0
  133. data/lib/roby/log/hooks.rb +19 -18
  134. data/lib/roby/log/logger.rb +7 -6
  135. data/lib/roby/log/notifications.rb +4 -4
  136. data/lib/roby/log/plan_rebuilder.rb +20 -22
  137. data/lib/roby/log/relations.rb +44 -16
  138. data/lib/roby/log/server.rb +1 -4
  139. data/lib/roby/log/timings.rb +88 -19
  140. data/lib/roby/plan-object.rb +135 -11
  141. data/lib/roby/plan.rb +408 -224
  142. data/lib/roby/planning/loops.rb +32 -25
  143. data/lib/roby/planning/model.rb +157 -51
  144. data/lib/roby/planning/task.rb +47 -20
  145. data/lib/roby/query.rb +128 -92
  146. data/lib/roby/relations.rb +254 -136
  147. data/lib/roby/relations/conflicts.rb +6 -9
  148. data/lib/roby/relations/dependency.rb +358 -0
  149. data/lib/roby/relations/ensured.rb +0 -1
  150. data/lib/roby/relations/error_handling.rb +0 -1
  151. data/lib/roby/relations/events.rb +0 -2
  152. data/lib/roby/relations/executed_by.rb +26 -11
  153. data/lib/roby/relations/planned_by.rb +14 -14
  154. data/lib/roby/robot.rb +46 -0
  155. data/lib/roby/schedulers/basic.rb +34 -0
  156. data/lib/roby/standalone.rb +4 -0
  157. data/lib/roby/standard_errors.rb +21 -15
  158. data/lib/roby/state/events.rb +5 -4
  159. data/lib/roby/support.rb +107 -6
  160. data/lib/roby/task-operations.rb +23 -19
  161. data/lib/roby/task.rb +522 -148
  162. data/lib/roby/task_index.rb +80 -0
  163. data/lib/roby/test/common.rb +283 -44
  164. data/lib/roby/test/distributed.rb +53 -37
  165. data/lib/roby/test/testcase.rb +9 -204
  166. data/lib/roby/test/tools.rb +3 -3
  167. data/lib/roby/transactions.rb +154 -111
  168. data/lib/roby/transactions/proxy.rb +40 -7
  169. data/manifest.xml +20 -0
  170. data/plugins/fault_injection/README.txt +0 -3
  171. data/plugins/fault_injection/Rakefile +2 -8
  172. data/plugins/fault_injection/app.rb +1 -1
  173. data/plugins/fault_injection/fault_injection.rb +3 -3
  174. data/plugins/fault_injection/test/test_fault_injection.rb +19 -25
  175. data/plugins/subsystems/README.txt +0 -3
  176. data/plugins/subsystems/Rakefile +2 -7
  177. data/plugins/subsystems/app.rb +27 -16
  178. data/plugins/subsystems/test/app/config/init.rb +3 -0
  179. data/plugins/subsystems/test/app/planners/main.rb +1 -1
  180. data/plugins/subsystems/test/app/tasks/services.rb +1 -1
  181. data/plugins/subsystems/test/test_subsystems.rb +23 -16
  182. data/test/distributed/test_communication.rb +32 -15
  183. data/test/distributed/test_connection.rb +28 -26
  184. data/test/distributed/test_execution.rb +59 -54
  185. data/test/distributed/test_mixed_plan.rb +34 -34
  186. data/test/distributed/test_plan_notifications.rb +26 -26
  187. data/test/distributed/test_protocol.rb +57 -48
  188. data/test/distributed/test_query.rb +11 -7
  189. data/test/distributed/test_remote_plan.rb +71 -71
  190. data/test/distributed/test_transaction.rb +50 -47
  191. data/test/mockups/external_process +28 -0
  192. data/test/planning/test_loops.rb +163 -119
  193. data/test/planning/test_model.rb +3 -3
  194. data/test/planning/test_task.rb +27 -7
  195. data/test/relations/test_conflicts.rb +3 -3
  196. data/test/relations/test_dependency.rb +324 -0
  197. data/test/relations/test_ensured.rb +2 -2
  198. data/test/relations/test_executed_by.rb +94 -19
  199. data/test/relations/test_planned_by.rb +11 -9
  200. data/test/suite_core.rb +6 -3
  201. data/test/suite_distributed.rb +1 -0
  202. data/test/suite_planning.rb +1 -0
  203. data/test/suite_relations.rb +2 -2
  204. data/test/tasks/test_external_process.rb +126 -0
  205. data/test/{test_thread_task.rb → tasks/test_thread_task.rb} +17 -20
  206. data/test/test_bgl.rb +21 -1
  207. data/test/test_event.rb +229 -155
  208. data/test/test_exceptions.rb +79 -80
  209. data/test/test_execution_engine.rb +987 -0
  210. data/test/test_gui.rb +1 -1
  211. data/test/test_interface.rb +11 -5
  212. data/test/test_log.rb +18 -7
  213. data/test/test_log_server.rb +1 -0
  214. data/test/test_plan.rb +229 -395
  215. data/test/test_query.rb +193 -35
  216. data/test/test_relations.rb +88 -8
  217. data/test/test_state.rb +55 -37
  218. data/test/test_support.rb +1 -1
  219. data/test/test_task.rb +371 -218
  220. data/test/test_testcase.rb +32 -16
  221. data/test/test_transactions.rb +211 -170
  222. data/test/test_transactions_proxy.rb +37 -19
  223. metadata +169 -71
  224. data/.gitignore +0 -29
  225. data/doc/styles/allison.css +0 -314
  226. data/doc/styles/allison.js +0 -316
  227. data/doc/styles/allison.rb +0 -276
  228. data/doc/styles/jamis.rb +0 -593
  229. data/lib/roby/control.rb +0 -746
  230. data/lib/roby/executives/simple.rb +0 -30
  231. data/lib/roby/propagation.rb +0 -562
  232. data/lib/roby/relations/hierarchy.rb +0 -239
  233. data/lib/roby/transactions/updates.rb +0 -139
  234. data/test/relations/test_hierarchy.rb +0 -158
  235. data/test/test_control.rb +0 -399
  236. data/test/test_propagation.rb +0 -210
@@ -1,4 +1,4 @@
1
- $LOAD_PATH.unshift File.expand_path('..', File.dirname(__FILE__))
1
+ $LOAD_PATH.unshift File.expand_path(File.join('..', 'lib'), File.dirname(__FILE__))
2
2
  require 'roby/test/common'
3
3
  require 'roby/test/tasks/simple_task'
4
4
 
@@ -8,8 +8,8 @@ class TC_TransactionsProxy < Test::Unit::TestCase
8
8
 
9
9
  attr_reader :transaction
10
10
  def setup
11
- @transaction = Roby::Transaction.new(plan)
12
11
  super
12
+ @transaction = Roby::Transaction.new(plan)
13
13
  end
14
14
  def teardown
15
15
  transaction.discard_transaction
@@ -26,7 +26,7 @@ class TC_TransactionsProxy < Test::Unit::TestCase
26
26
  end
27
27
 
28
28
  def test_task_proxy
29
- plan.insert(t = Roby::Task.new)
29
+ plan.add_mission(t = Roby::Task.new)
30
30
  p = transaction[t]
31
31
  assert_equal(p, p.root_object)
32
32
  assert(p.root_object?)
@@ -42,7 +42,7 @@ class TC_TransactionsProxy < Test::Unit::TestCase
42
42
  end
43
43
 
44
44
  def test_event_proxy
45
- plan.discover(ev = EventGenerator.new)
45
+ plan.add(ev = EventGenerator.new)
46
46
  wrapped = transaction[ev]
47
47
  assert_kind_of(Roby::Transactions::EventGenerator, wrapped)
48
48
  assert_equal(plan, ev.plan)
@@ -67,7 +67,7 @@ class TC_TransactionsProxy < Test::Unit::TestCase
67
67
  def clear_vertex; end
68
68
  end
69
69
 
70
- plan.discover(obj = real_klass.new)
70
+ plan.add(obj = real_klass.new)
71
71
  proxy = transaction[obj]
72
72
  assert_is_proxy_of(obj, proxy, proxy_klass)
73
73
  assert_same(proxy, transaction[obj])
@@ -104,7 +104,7 @@ class TC_TransactionsProxy < Test::Unit::TestCase
104
104
 
105
105
  def test_proxy_class_selection
106
106
  task = Roby::Task.new
107
- plan.discover(task)
107
+ plan.add(task)
108
108
  proxy = transaction[task]
109
109
 
110
110
  assert_is_proxy_of(task, proxy, Task)
@@ -123,7 +123,7 @@ class TC_TransactionsProxy < Test::Unit::TestCase
123
123
  task = Class.new(SimpleTask) do
124
124
  event :intermediate, :command => true
125
125
  end.new
126
- plan.discover(task)
126
+ plan.add(task)
127
127
  proxy = transaction[task]
128
128
 
129
129
  assert_nothing_raised { task.event(:start).emit(nil) }
@@ -140,30 +140,48 @@ class TC_TransactionsProxy < Test::Unit::TestCase
140
140
  end
141
141
 
142
142
  def test_proxy_fullfills
143
- t1, t2 = (1..2).map { Roby::Task.new }
144
- p1, p2 = transaction[t1], transaction[t2]
145
- assert(p1.fullfills?(t1))
146
- assert(p1.fullfills?(p2))
143
+ model = Class.new(Roby::Task)
144
+ other_model = Class.new(model)
145
+ tag = Roby::TaskModelTag.new do
146
+ argument :id, :other
147
+ end
148
+ model.include(tag)
149
+
150
+ t = model.new :id => 10
151
+ p = transaction[t]
152
+
153
+ assert(p.fullfills?(model))
154
+ assert(p.fullfills?(tag))
155
+ assert(p.fullfills?(model, :id => 10))
156
+ assert(p.fullfills?(tag, :id => 10))
157
+ assert(!p.fullfills?(other_model))
158
+ assert(!p.fullfills?(model, :id => 5))
159
+ assert(!p.fullfills?(tag, :id => 5))
160
+
161
+ assert(!p.fullfills?(model, :id => 10, :other => 20))
162
+ p.arguments[:other] = 20
163
+ assert(p.fullfills?(model, :id => 10, :other => 20))
164
+
147
165
  end
148
166
 
149
167
  # Tests that the graph of proxys is separated from
150
168
  # the Task and EventGenerator graphs
151
169
  def test_proxy_graph_separation
152
- tasks = prepare_plan :discover => 3
170
+ tasks = prepare_plan :add => 3
153
171
  proxies = tasks.map { |t| transaction[t] }
154
172
 
155
173
  t1, t2, t3 = tasks
156
174
  p1, p2, p3 = proxies
157
- p1.realized_by p2
175
+ p1.depends_on p2
158
176
 
159
177
  assert_equal([], t1.enum_for(:each_child_object, Hierarchy).to_a)
160
- t2.realized_by t3
178
+ t2.depends_on t3
161
179
  assert(! Hierarchy.linked?(p2, p3))
162
180
  end
163
181
 
164
182
  def test_proxy_plan
165
183
  task = Roby::Task.new
166
- plan.insert(task)
184
+ plan.add_mission(task)
167
185
 
168
186
  proxy = transaction[task]
169
187
  assert_equal(plan, task.plan)
@@ -175,8 +193,8 @@ class TC_TransactionsProxy < Test::Unit::TestCase
175
193
  Hierarchy = Roby::TaskStructure::Hierarchy
176
194
 
177
195
  def test_task_relation_copy
178
- t1, t2 = prepare_plan :discover => 2
179
- t1.realized_by t2
196
+ t1, t2 = prepare_plan :add => 2
197
+ t1.depends_on t2
180
198
 
181
199
  p1 = transaction[t1]
182
200
  assert(p1.leaf?, p1.children)
@@ -185,8 +203,8 @@ class TC_TransactionsProxy < Test::Unit::TestCase
185
203
  end
186
204
 
187
205
  def test_task_events
188
- t1, t2 = prepare_plan :discover => 2
189
- t1.on(:success, t2, :start)
206
+ t1, t2 = prepare_plan :add => 2
207
+ t1.signals(:success, t2, :start)
190
208
 
191
209
  p1 = transaction[t1]
192
210
  assert(p1.event(:success).leaf?(EventStructure::Signal))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sylvain Joyeux
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-01 00:00:00 +01:00
12
+ date: 2010-01-25 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -23,44 +23,54 @@ dependencies:
23
23
  version: "2.0"
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
- name: activesupport
26
+ name: utilrb
27
27
  type: :runtime
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: "0"
33
+ version: 1.3.1
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: utilrb
37
- type: :runtime
36
+ name: rubyforge
37
+ type: :development
38
38
  version_requirement:
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ">="
42
42
  - !ruby/object:Gem::Version
43
- version: 1.3.1
43
+ version: 2.0.3
44
44
  version:
45
45
  - !ruby/object:Gem::Dependency
46
- name: rake
47
- type: :runtime
46
+ name: gemcutter
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.3.0
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rdoc
57
+ type: :development
48
58
  version_requirement:
49
59
  version_requirements: !ruby/object:Gem::Requirement
50
60
  requirements:
51
61
  - - ">="
52
62
  - !ruby/object:Gem::Version
53
- version: 0.8.3
63
+ version: "2.4"
54
64
  version:
55
65
  - !ruby/object:Gem::Dependency
56
- name: flexmock
66
+ name: webgen
57
67
  type: :development
58
68
  version_requirement:
59
69
  version_requirements: !ruby/object:Gem::Requirement
60
70
  requirements:
61
71
  - - ">="
62
72
  - !ruby/object:Gem::Version
63
- version: "0"
73
+ version: "0.5"
64
74
  version:
65
75
  - !ruby/object:Gem::Dependency
66
76
  name: hoe
@@ -70,7 +80,7 @@ dependencies:
70
80
  requirements:
71
81
  - - ">="
72
82
  - !ruby/object:Gem::Version
73
- version: 1.9.0
83
+ version: 2.5.0
74
84
  version:
75
85
  description: A plan-based control framework for autonomous systems
76
86
  email:
@@ -95,16 +105,24 @@ extra_rdoc_files:
95
105
  - app/controllers/ROBOT.rb
96
106
  - app/planners/ROBOT/main.rb
97
107
  - app/planners/main.rb
98
- - doc/papers.rdoc
99
- - doc/styles/allison.rb
100
- - doc/styles/jamis.rb
108
+ - benchmark/alloc_misc.rb
109
+ - benchmark/discovery_latency.rb
110
+ - benchmark/garbage_collection.rb
111
+ - benchmark/genom.rb
112
+ - benchmark/transactions.rb
113
+ - doc/guide/ext/init.rb
114
+ - doc/guide/ext/previous_next.rb
115
+ - doc/guide/ext/rdoc_links.rb
116
+ - doc/guide/index.rdoc
117
+ - doc/guide/overview.rdoc
118
+ - doc/guide/plan_modifications.rdoc
119
+ - doc/guide/src/basics_shell_header.txt
101
120
  - doc/tutorials/01-GettingStarted.rdoc
102
121
  - doc/tutorials/02-GoForward.rdoc
103
122
  - doc/tutorials/03-PlannedPath.rdoc
104
123
  - doc/tutorials/04-EventPropagation.rdoc
105
124
  - doc/tutorials/05-ErrorHandling.rdoc
106
125
  - doc/tutorials/06-Overview.rdoc
107
- - doc/videos.rdoc
108
126
  - ext/droby/dump.cc
109
127
  - ext/droby/extconf.rb
110
128
  - ext/graph/algorithm.cc
@@ -116,6 +134,7 @@ extra_rdoc_files:
116
134
  - ext/graph/undirected_graph.hh
117
135
  - lib/roby.rb
118
136
  - lib/roby/app.rb
137
+ - lib/roby/app/plugins/rake.rb
119
138
  - lib/roby/app/rake.rb
120
139
  - lib/roby/app/run.rb
121
140
  - lib/roby/app/scripts/distributed.rb
@@ -128,7 +147,6 @@ extra_rdoc_files:
128
147
  - lib/roby/app/scripts/test.rb
129
148
  - lib/roby/basic_object.rb
130
149
  - lib/roby/config.rb
131
- - lib/roby/control.rb
132
150
  - lib/roby/decision_control.rb
133
151
  - lib/roby/distributed.rb
134
152
  - lib/roby/distributed/base.rb
@@ -144,7 +162,8 @@ extra_rdoc_files:
144
162
  - lib/roby/distributed/transaction.rb
145
163
  - lib/roby/event.rb
146
164
  - lib/roby/exceptions.rb
147
- - lib/roby/executives/simple.rb
165
+ - lib/roby/execution_engine.rb
166
+ - lib/roby/external_process_task.rb
148
167
  - lib/roby/graph.rb
149
168
  - lib/roby/interface.rb
150
169
  - lib/roby/log.rb
@@ -183,18 +202,19 @@ extra_rdoc_files:
183
202
  - lib/roby/planning/loops.rb
184
203
  - lib/roby/planning/model.rb
185
204
  - lib/roby/planning/task.rb
186
- - lib/roby/propagation.rb
187
205
  - lib/roby/query.rb
188
206
  - lib/roby/relations.rb
189
207
  - lib/roby/relations/conflicts.rb
208
+ - lib/roby/relations/dependency.rb
190
209
  - lib/roby/relations/ensured.rb
191
210
  - lib/roby/relations/error_handling.rb
192
211
  - lib/roby/relations/events.rb
193
212
  - lib/roby/relations/executed_by.rb
194
- - lib/roby/relations/hierarchy.rb
195
213
  - lib/roby/relations/influence.rb
196
214
  - lib/roby/relations/planned_by.rb
197
215
  - lib/roby/robot.rb
216
+ - lib/roby/schedulers/basic.rb
217
+ - lib/roby/standalone.rb
198
218
  - lib/roby/standard_errors.rb
199
219
  - lib/roby/state.rb
200
220
  - lib/roby/state/events.rb
@@ -205,6 +225,7 @@ extra_rdoc_files:
205
225
  - lib/roby/support.rb
206
226
  - lib/roby/task-operations.rb
207
227
  - lib/roby/task.rb
228
+ - lib/roby/task_index.rb
208
229
  - lib/roby/test/common.rb
209
230
  - lib/roby/test/distributed.rb
210
231
  - lib/roby/test/tasks/empty_task.rb
@@ -215,7 +236,6 @@ extra_rdoc_files:
215
236
  - lib/roby/thread_task.rb
216
237
  - lib/roby/transactions.rb
217
238
  - lib/roby/transactions/proxy.rb
218
- - lib/roby/transactions/updates.rb
219
239
  - plugins/fault_injection/History.txt
220
240
  - plugins/fault_injection/README.txt
221
241
  - plugins/fault_injection/TODO.txt
@@ -242,35 +262,34 @@ extra_rdoc_files:
242
262
  - test/planning/test_model.rb
243
263
  - test/planning/test_task.rb
244
264
  - test/relations/test_conflicts.rb
265
+ - test/relations/test_dependency.rb
245
266
  - test/relations/test_ensured.rb
246
267
  - test/relations/test_executed_by.rb
247
- - test/relations/test_hierarchy.rb
248
268
  - test/relations/test_planned_by.rb
249
269
  - test/suite_core.rb
250
270
  - test/suite_distributed.rb
251
271
  - test/suite_planning.rb
252
272
  - test/suite_relations.rb
273
+ - test/tasks/test_external_process.rb
274
+ - test/tasks/test_thread_task.rb
253
275
  - test/test_bgl.rb
254
- - test/test_control.rb
255
276
  - test/test_event.rb
256
277
  - test/test_exceptions.rb
278
+ - test/test_execution_engine.rb
257
279
  - test/test_gui.rb
258
280
  - test/test_interface.rb
259
281
  - test/test_log.rb
260
282
  - test/test_log_server.rb
261
283
  - test/test_plan.rb
262
- - test/test_propagation.rb
263
284
  - test/test_query.rb
264
285
  - test/test_relations.rb
265
286
  - test/test_state.rb
266
287
  - test/test_support.rb
267
288
  - test/test_task.rb
268
289
  - test/test_testcase.rb
269
- - test/test_thread_task.rb
270
290
  - test/test_transactions.rb
271
291
  - test/test_transactions_proxy.rb
272
292
  files:
273
- - .gitignore
274
293
  - History.txt
275
294
  - License-fr.txt
276
295
  - License.txt
@@ -300,9 +319,86 @@ files:
300
319
  - app/scripts/test
301
320
  - app/tasks/.gitattributes
302
321
  - app/tasks/ROBOT/.gitattributes
322
+ - benchmark/alloc_misc.rb
323
+ - benchmark/discovery_latency.rb
324
+ - benchmark/garbage_collection.rb
325
+ - benchmark/genom.rb
326
+ - benchmark/transactions.rb
303
327
  - bin/roby
304
328
  - bin/roby-log
305
329
  - bin/roby-shell
330
+ - doc/guide/.gitignore
331
+ - doc/guide/config.yaml
332
+ - doc/guide/ext/init.rb
333
+ - doc/guide/ext/previous_next.rb
334
+ - doc/guide/ext/rdoc_links.rb
335
+ - doc/guide/index.rdoc
336
+ - doc/guide/overview.rdoc
337
+ - doc/guide/plan_modifications.rdoc
338
+ - doc/guide/src/abstraction/achieve_with.page
339
+ - doc/guide/src/abstraction/forwarding.page
340
+ - doc/guide/src/abstraction/hierarchy.page
341
+ - doc/guide/src/abstraction/index.page
342
+ - doc/guide/src/abstraction/task_models.page
343
+ - doc/guide/src/basics.template
344
+ - doc/guide/src/basics/app.page
345
+ - doc/guide/src/basics/code_examples.page
346
+ - doc/guide/src/basics/dry.page
347
+ - doc/guide/src/basics/errors.page
348
+ - doc/guide/src/basics/events.page
349
+ - doc/guide/src/basics/hierarchy.page
350
+ - doc/guide/src/basics/index.page
351
+ - doc/guide/src/basics/log_replay/goForward_1.png
352
+ - doc/guide/src/basics/log_replay/goForward_2.png
353
+ - doc/guide/src/basics/log_replay/goForward_3.png
354
+ - doc/guide/src/basics/log_replay/goForward_4.png
355
+ - doc/guide/src/basics/log_replay/goForward_5.png
356
+ - doc/guide/src/basics/log_replay/hierarchy_error_1.png
357
+ - doc/guide/src/basics/log_replay/hierarchy_error_2.png
358
+ - doc/guide/src/basics/log_replay/hierarchy_error_3.png
359
+ - doc/guide/src/basics/log_replay/plan_repair_1.png
360
+ - doc/guide/src/basics/log_replay/plan_repair_2.png
361
+ - doc/guide/src/basics/log_replay/plan_repair_3.png
362
+ - doc/guide/src/basics/log_replay/plan_repair_4.png
363
+ - doc/guide/src/basics/log_replay/roby_log_main_window.png
364
+ - doc/guide/src/basics/log_replay/roby_log_relation_window.png
365
+ - doc/guide/src/basics/log_replay/roby_replay_event_representation.png
366
+ - doc/guide/src/basics/plan_objects.page
367
+ - doc/guide/src/basics/relations_display.page
368
+ - doc/guide/src/basics/roby_cycle_overview.png
369
+ - doc/guide/src/basics/shell.page
370
+ - doc/guide/src/basics/summary.page
371
+ - doc/guide/src/basics/tasks.page
372
+ - doc/guide/src/basics_shell_header.txt
373
+ - doc/guide/src/cycle/cycle-overview.png
374
+ - doc/guide/src/cycle/cycle-overview.svg
375
+ - doc/guide/src/cycle/error_handling.page
376
+ - doc/guide/src/cycle/error_instantaneous_repair.png
377
+ - doc/guide/src/cycle/error_instantaneous_repair.svg
378
+ - doc/guide/src/cycle/garbage_collection.page
379
+ - doc/guide/src/cycle/index.page
380
+ - doc/guide/src/cycle/propagation.page
381
+ - doc/guide/src/cycle/propagation_diamond.png
382
+ - doc/guide/src/cycle/propagation_diamond.svg
383
+ - doc/guide/src/default.css
384
+ - doc/guide/src/default.template
385
+ - doc/guide/src/htmldoc.metainfo
386
+ - doc/guide/src/htmldoc.virtual
387
+ - doc/guide/src/images/bodybg.png
388
+ - doc/guide/src/images/contbg.png
389
+ - doc/guide/src/images/footerbg.png
390
+ - doc/guide/src/images/gradient1.png
391
+ - doc/guide/src/images/gradient2.png
392
+ - doc/guide/src/index.page
393
+ - doc/guide/src/introduction/index.page
394
+ - doc/guide/src/introduction/install.page
395
+ - doc/guide/src/introduction/publications.page
396
+ - doc/guide/src/introduction/videos.page
397
+ - doc/guide/src/plugins/fault_tolerance.page
398
+ - doc/guide/src/plugins/index.page
399
+ - doc/guide/src/plugins/subsystems.page
400
+ - doc/guide/src/relations/dependency.page
401
+ - doc/guide/src/relations/index.page
306
402
  - doc/images/event_generalization.png
307
403
  - doc/images/exception_propagation_1.png
308
404
  - doc/images/exception_propagation_2.png
@@ -321,18 +417,13 @@ files:
321
417
  - doc/images/roby_replay_relations.png
322
418
  - doc/images/roby_replay_startup.png
323
419
  - doc/images/task_event_generalization.png
324
- - doc/papers.rdoc
325
- - doc/styles/allison.css
326
- - doc/styles/allison.js
327
- - doc/styles/allison.rb
328
- - doc/styles/jamis.rb
420
+ - doc/misc/update_github
329
421
  - doc/tutorials/01-GettingStarted.rdoc
330
422
  - doc/tutorials/02-GoForward.rdoc
331
423
  - doc/tutorials/03-PlannedPath.rdoc
332
424
  - doc/tutorials/04-EventPropagation.rdoc
333
425
  - doc/tutorials/05-ErrorHandling.rdoc
334
426
  - doc/tutorials/06-Overview.rdoc
335
- - doc/videos.rdoc
336
427
  - ext/droby/dump.cc
337
428
  - ext/droby/extconf.rb
338
429
  - ext/graph/algorithm.cc
@@ -344,6 +435,7 @@ files:
344
435
  - ext/graph/undirected_graph.hh
345
436
  - lib/roby.rb
346
437
  - lib/roby/app.rb
438
+ - lib/roby/app/plugins/rake.rb
347
439
  - lib/roby/app/rake.rb
348
440
  - lib/roby/app/run.rb
349
441
  - lib/roby/app/scripts/distributed.rb
@@ -356,7 +448,6 @@ files:
356
448
  - lib/roby/app/scripts/test.rb
357
449
  - lib/roby/basic_object.rb
358
450
  - lib/roby/config.rb
359
- - lib/roby/control.rb
360
451
  - lib/roby/decision_control.rb
361
452
  - lib/roby/distributed.rb
362
453
  - lib/roby/distributed/base.rb
@@ -372,7 +463,8 @@ files:
372
463
  - lib/roby/distributed/transaction.rb
373
464
  - lib/roby/event.rb
374
465
  - lib/roby/exceptions.rb
375
- - lib/roby/executives/simple.rb
466
+ - lib/roby/execution_engine.rb
467
+ - lib/roby/external_process_task.rb
376
468
  - lib/roby/graph.rb
377
469
  - lib/roby/interface.rb
378
470
  - lib/roby/log.rb
@@ -417,18 +509,19 @@ files:
417
509
  - lib/roby/planning/loops.rb
418
510
  - lib/roby/planning/model.rb
419
511
  - lib/roby/planning/task.rb
420
- - lib/roby/propagation.rb
421
512
  - lib/roby/query.rb
422
513
  - lib/roby/relations.rb
423
514
  - lib/roby/relations/conflicts.rb
515
+ - lib/roby/relations/dependency.rb
424
516
  - lib/roby/relations/ensured.rb
425
517
  - lib/roby/relations/error_handling.rb
426
518
  - lib/roby/relations/events.rb
427
519
  - lib/roby/relations/executed_by.rb
428
- - lib/roby/relations/hierarchy.rb
429
520
  - lib/roby/relations/influence.rb
430
521
  - lib/roby/relations/planned_by.rb
431
522
  - lib/roby/robot.rb
523
+ - lib/roby/schedulers/basic.rb
524
+ - lib/roby/standalone.rb
432
525
  - lib/roby/standard_errors.rb
433
526
  - lib/roby/state.rb
434
527
  - lib/roby/state/events.rb
@@ -439,6 +532,7 @@ files:
439
532
  - lib/roby/support.rb
440
533
  - lib/roby/task-operations.rb
441
534
  - lib/roby/task.rb
535
+ - lib/roby/task_index.rb
442
536
  - lib/roby/test/common.rb
443
537
  - lib/roby/test/distributed.rb
444
538
  - lib/roby/test/tasks/empty_task.rb
@@ -449,7 +543,7 @@ files:
449
543
  - lib/roby/thread_task.rb
450
544
  - lib/roby/transactions.rb
451
545
  - lib/roby/transactions/proxy.rb
452
- - lib/roby/transactions/updates.rb
546
+ - manifest.xml
453
547
  - plugins/fault_injection/History.txt
454
548
  - plugins/fault_injection/README.txt
455
549
  - plugins/fault_injection/Rakefile
@@ -484,40 +578,45 @@ files:
484
578
  - test/distributed/test_query.rb
485
579
  - test/distributed/test_remote_plan.rb
486
580
  - test/distributed/test_transaction.rb
581
+ - test/mockups/external_process
487
582
  - test/mockups/tasks.rb
488
583
  - test/planning/test_loops.rb
489
584
  - test/planning/test_model.rb
490
585
  - test/planning/test_task.rb
491
586
  - test/relations/test_conflicts.rb
587
+ - test/relations/test_dependency.rb
492
588
  - test/relations/test_ensured.rb
493
589
  - test/relations/test_executed_by.rb
494
- - test/relations/test_hierarchy.rb
495
590
  - test/relations/test_planned_by.rb
496
591
  - test/suite_core.rb
497
592
  - test/suite_distributed.rb
498
593
  - test/suite_planning.rb
499
594
  - test/suite_relations.rb
595
+ - test/tasks/test_external_process.rb
596
+ - test/tasks/test_thread_task.rb
500
597
  - test/test_bgl.rb
501
- - test/test_control.rb
502
598
  - test/test_event.rb
503
599
  - test/test_exceptions.rb
600
+ - test/test_execution_engine.rb
504
601
  - test/test_gui.rb
505
602
  - test/test_interface.rb
506
603
  - test/test_log.rb
507
604
  - test/test_log_server.rb
508
605
  - test/test_plan.rb
509
- - test/test_propagation.rb
510
606
  - test/test_query.rb
511
607
  - test/test_relations.rb
512
608
  - test/test_state.rb
513
609
  - test/test_support.rb
514
610
  - test/test_task.rb
515
611
  - test/test_testcase.rb
516
- - test/test_thread_task.rb
517
612
  - test/test_transactions.rb
518
613
  - test/test_transactions_proxy.rb
519
614
  has_rdoc: true
520
- homepage: " http://roby.rubyforge.org\n"
615
+ homepage: |
616
+ http://sites.google.com/sites/rubyinmotion
617
+
618
+ licenses: []
619
+
521
620
  post_install_message: |-
522
621
  <b>Note for Gem users</b> While using the normal RDoc generator, the
523
622
  documentation generation process of Roby is a bit modified. In particular, the
@@ -531,7 +630,6 @@ rdoc_options:
531
630
  - README.txt
532
631
  - --main
533
632
  - README.txt
534
- - --inline-source
535
633
  - --accessor
536
634
  - attribute
537
635
  - --accessor
@@ -554,44 +652,44 @@ required_rubygems_version: !ruby/object:Gem::Requirement
554
652
  requirements: []
555
653
 
556
654
  rubyforge_project: roby
557
- rubygems_version: 1.2.0
655
+ rubygems_version: 1.3.5
558
656
  signing_key:
559
- specification_version: 2
657
+ specification_version: 3
560
658
  summary: A plan-based control framework for autonomous systems
561
659
  test_files:
562
- - test/distributed/test_communication.rb
563
- - test/distributed/test_connection.rb
564
- - test/distributed/test_execution.rb
565
- - test/distributed/test_mixed_plan.rb
660
+ - test/test_transactions_proxy.rb
661
+ - test/test_gui.rb
662
+ - test/tasks/test_thread_task.rb
663
+ - test/tasks/test_external_process.rb
664
+ - test/test_bgl.rb
665
+ - test/test_event.rb
666
+ - test/test_testcase.rb
667
+ - test/test_execution_engine.rb
668
+ - test/planning/test_model.rb
669
+ - test/planning/test_loops.rb
670
+ - test/planning/test_task.rb
671
+ - test/test_query.rb
672
+ - test/test_log_server.rb
566
673
  - test/distributed/test_plan_notifications.rb
674
+ - test/distributed/test_execution.rb
567
675
  - test/distributed/test_protocol.rb
568
- - test/distributed/test_query.rb
676
+ - test/distributed/test_mixed_plan.rb
677
+ - test/distributed/test_connection.rb
569
678
  - test/distributed/test_remote_plan.rb
679
+ - test/distributed/test_query.rb
570
680
  - test/distributed/test_transaction.rb
571
- - test/planning/test_loops.rb
572
- - test/planning/test_model.rb
573
- - test/planning/test_task.rb
681
+ - test/distributed/test_communication.rb
574
682
  - test/relations/test_conflicts.rb
683
+ - test/relations/test_dependency.rb
575
684
  - test/relations/test_ensured.rb
576
- - test/relations/test_executed_by.rb
577
- - test/relations/test_hierarchy.rb
578
685
  - test/relations/test_planned_by.rb
579
- - test/test_bgl.rb
580
- - test/test_control.rb
581
- - test/test_event.rb
582
- - test/test_exceptions.rb
583
- - test/test_gui.rb
584
- - test/test_interface.rb
686
+ - test/relations/test_executed_by.rb
585
687
  - test/test_log.rb
586
- - test/test_log_server.rb
587
- - test/test_plan.rb
588
- - test/test_propagation.rb
589
- - test/test_query.rb
590
- - test/test_relations.rb
688
+ - test/test_interface.rb
689
+ - test/test_exceptions.rb
591
690
  - test/test_state.rb
691
+ - test/test_plan.rb
692
+ - test/test_transactions.rb
592
693
  - test/test_support.rb
694
+ - test/test_relations.rb
593
695
  - test/test_task.rb
594
- - test/test_testcase.rb
595
- - test/test_thread_task.rb
596
- - test/test_transactions.rb
597
- - test/test_transactions_proxy.rb