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.
- data/History.txt +7 -5
- data/Manifest.txt +91 -16
- data/README.txt +24 -24
- data/Rakefile +92 -64
- data/app/config/app.yml +42 -43
- data/app/config/init.rb +26 -0
- data/benchmark/alloc_misc.rb +123 -0
- data/benchmark/discovery_latency.rb +67 -0
- data/benchmark/garbage_collection.rb +48 -0
- data/benchmark/genom.rb +31 -0
- data/benchmark/transactions.rb +62 -0
- data/bin/roby +1 -1
- data/bin/roby-log +16 -6
- data/doc/guide/.gitignore +2 -0
- data/doc/guide/config.yaml +34 -0
- data/doc/guide/ext/init.rb +14 -0
- data/doc/guide/ext/previous_next.rb +40 -0
- data/doc/guide/ext/rdoc_links.rb +33 -0
- data/doc/guide/index.rdoc +16 -0
- data/doc/guide/overview.rdoc +62 -0
- data/doc/guide/plan_modifications.rdoc +67 -0
- data/doc/guide/src/abstraction/achieve_with.page +8 -0
- data/doc/guide/src/abstraction/forwarding.page +8 -0
- data/doc/guide/src/abstraction/hierarchy.page +19 -0
- data/doc/guide/src/abstraction/index.page +28 -0
- data/doc/guide/src/abstraction/task_models.page +13 -0
- data/doc/guide/src/basics.template +6 -0
- data/doc/guide/src/basics/app.page +139 -0
- data/doc/guide/src/basics/code_examples.page +33 -0
- data/doc/guide/src/basics/dry.page +69 -0
- data/doc/guide/src/basics/errors.page +443 -0
- data/doc/guide/src/basics/events.page +179 -0
- data/doc/guide/src/basics/hierarchy.page +275 -0
- data/doc/guide/src/basics/index.page +11 -0
- data/doc/guide/src/basics/log_replay/goForward_1.png +0 -0
- data/doc/guide/src/basics/log_replay/goForward_2.png +0 -0
- data/doc/guide/src/basics/log_replay/goForward_3.png +0 -0
- data/doc/guide/src/basics/log_replay/goForward_4.png +0 -0
- data/doc/guide/src/basics/log_replay/goForward_5.png +0 -0
- data/doc/guide/src/basics/log_replay/hierarchy_error_1.png +0 -0
- data/doc/guide/src/basics/log_replay/hierarchy_error_2.png +0 -0
- data/doc/guide/src/basics/log_replay/hierarchy_error_3.png +0 -0
- data/doc/guide/src/basics/log_replay/plan_repair_1.png +0 -0
- data/doc/guide/src/basics/log_replay/plan_repair_2.png +0 -0
- data/doc/guide/src/basics/log_replay/plan_repair_3.png +0 -0
- data/doc/guide/src/basics/log_replay/plan_repair_4.png +0 -0
- data/doc/guide/src/basics/log_replay/roby_log_main_window.png +0 -0
- data/doc/guide/src/basics/log_replay/roby_log_relation_window.png +0 -0
- data/doc/guide/src/basics/log_replay/roby_replay_event_representation.png +0 -0
- data/doc/guide/src/basics/plan_objects.page +71 -0
- data/doc/guide/src/basics/relations_display.page +203 -0
- data/doc/guide/src/basics/roby_cycle_overview.png +0 -0
- data/doc/guide/src/basics/shell.page +102 -0
- data/doc/guide/src/basics/summary.page +32 -0
- data/doc/guide/src/basics/tasks.page +357 -0
- data/doc/guide/src/basics_shell_header.txt +16 -0
- data/doc/guide/src/cycle/cycle-overview.png +0 -0
- data/doc/guide/src/cycle/cycle-overview.svg +208 -0
- data/doc/guide/src/cycle/error_handling.page +168 -0
- data/doc/guide/src/cycle/error_instantaneous_repair.png +0 -0
- data/doc/guide/src/cycle/error_instantaneous_repair.svg +1224 -0
- data/doc/guide/src/cycle/garbage_collection.page +10 -0
- data/doc/guide/src/cycle/index.page +23 -0
- data/doc/guide/src/cycle/propagation.page +154 -0
- data/doc/guide/src/cycle/propagation_diamond.png +0 -0
- data/doc/guide/src/cycle/propagation_diamond.svg +1279 -0
- data/doc/guide/src/default.css +319 -0
- data/doc/guide/src/default.template +74 -0
- data/doc/guide/src/htmldoc.metainfo +20 -0
- data/doc/guide/src/htmldoc.virtual +18 -0
- data/doc/guide/src/images/bodybg.png +0 -0
- data/doc/guide/src/images/contbg.png +0 -0
- data/doc/guide/src/images/footerbg.png +0 -0
- data/doc/guide/src/images/gradient1.png +0 -0
- data/doc/guide/src/images/gradient2.png +0 -0
- data/doc/guide/src/index.page +7 -0
- data/doc/guide/src/introduction/index.page +29 -0
- data/doc/guide/src/introduction/install.page +133 -0
- data/doc/{papers.rdoc → guide/src/introduction/publications.page} +5 -2
- data/doc/{videos.rdoc → guide/src/introduction/videos.page} +4 -2
- data/doc/guide/src/plugins/fault_tolerance.page +44 -0
- data/doc/guide/src/plugins/index.page +11 -0
- data/doc/guide/src/plugins/subsystems.page +45 -0
- data/doc/guide/src/relations/dependency.page +89 -0
- data/doc/guide/src/relations/index.page +12 -0
- data/doc/misc/update_github +24 -0
- data/doc/tutorials/02-GoForward.rdoc +3 -3
- data/ext/graph/graph.cc +46 -0
- data/lib/roby.rb +57 -22
- data/lib/roby/app.rb +132 -112
- data/lib/roby/app/plugins/rake.rb +21 -0
- data/lib/roby/app/rake.rb +0 -7
- data/lib/roby/app/run.rb +1 -1
- data/lib/roby/app/scripts/distributed.rb +1 -2
- data/lib/roby/app/scripts/generate/bookmarks.rb +1 -1
- data/lib/roby/app/scripts/results.rb +2 -1
- data/lib/roby/app/scripts/run.rb +6 -2
- data/lib/roby/app/scripts/shell.rb +11 -11
- data/lib/roby/config.rb +1 -1
- data/lib/roby/decision_control.rb +62 -3
- data/lib/roby/distributed.rb +4 -0
- data/lib/roby/distributed/base.rb +8 -0
- data/lib/roby/distributed/communication.rb +12 -8
- data/lib/roby/distributed/connection_space.rb +61 -44
- data/lib/roby/distributed/distributed_object.rb +1 -1
- data/lib/roby/distributed/notifications.rb +22 -30
- data/lib/roby/distributed/peer.rb +13 -8
- data/lib/roby/distributed/proxy.rb +5 -5
- data/lib/roby/distributed/subscription.rb +4 -4
- data/lib/roby/distributed/transaction.rb +3 -3
- data/lib/roby/event.rb +176 -110
- data/lib/roby/exceptions.rb +12 -4
- data/lib/roby/execution_engine.rb +1604 -0
- data/lib/roby/external_process_task.rb +225 -0
- data/lib/roby/graph.rb +0 -6
- data/lib/roby/interface.rb +221 -137
- data/lib/roby/log/console.rb +5 -3
- data/lib/roby/log/data_stream.rb +94 -16
- data/lib/roby/log/dot.rb +8 -8
- data/lib/roby/log/event_stream.rb +13 -3
- data/lib/roby/log/file.rb +43 -18
- data/lib/roby/log/gui/basic_display_ui.rb +89 -0
- data/lib/roby/log/gui/chronicle_view_ui.rb +90 -0
- data/lib/roby/log/gui/data_displays.rb +4 -5
- data/lib/roby/log/gui/data_displays_ui.rb +146 -0
- data/lib/roby/log/gui/relations.rb +18 -18
- data/lib/roby/log/gui/relations_ui.rb +120 -0
- data/lib/roby/log/gui/relations_view_ui.rb +144 -0
- data/lib/roby/log/gui/replay.rb +41 -13
- data/lib/roby/log/gui/replay_controls.rb +3 -0
- data/lib/roby/log/gui/replay_controls.ui +133 -110
- data/lib/roby/log/gui/replay_controls_ui.rb +249 -0
- data/lib/roby/log/hooks.rb +19 -18
- data/lib/roby/log/logger.rb +7 -6
- data/lib/roby/log/notifications.rb +4 -4
- data/lib/roby/log/plan_rebuilder.rb +20 -22
- data/lib/roby/log/relations.rb +44 -16
- data/lib/roby/log/server.rb +1 -4
- data/lib/roby/log/timings.rb +88 -19
- data/lib/roby/plan-object.rb +135 -11
- data/lib/roby/plan.rb +408 -224
- data/lib/roby/planning/loops.rb +32 -25
- data/lib/roby/planning/model.rb +157 -51
- data/lib/roby/planning/task.rb +47 -20
- data/lib/roby/query.rb +128 -92
- data/lib/roby/relations.rb +254 -136
- data/lib/roby/relations/conflicts.rb +6 -9
- data/lib/roby/relations/dependency.rb +358 -0
- data/lib/roby/relations/ensured.rb +0 -1
- data/lib/roby/relations/error_handling.rb +0 -1
- data/lib/roby/relations/events.rb +0 -2
- data/lib/roby/relations/executed_by.rb +26 -11
- data/lib/roby/relations/planned_by.rb +14 -14
- data/lib/roby/robot.rb +46 -0
- data/lib/roby/schedulers/basic.rb +34 -0
- data/lib/roby/standalone.rb +4 -0
- data/lib/roby/standard_errors.rb +21 -15
- data/lib/roby/state/events.rb +5 -4
- data/lib/roby/support.rb +107 -6
- data/lib/roby/task-operations.rb +23 -19
- data/lib/roby/task.rb +522 -148
- data/lib/roby/task_index.rb +80 -0
- data/lib/roby/test/common.rb +283 -44
- data/lib/roby/test/distributed.rb +53 -37
- data/lib/roby/test/testcase.rb +9 -204
- data/lib/roby/test/tools.rb +3 -3
- data/lib/roby/transactions.rb +154 -111
- data/lib/roby/transactions/proxy.rb +40 -7
- data/manifest.xml +20 -0
- data/plugins/fault_injection/README.txt +0 -3
- data/plugins/fault_injection/Rakefile +2 -8
- data/plugins/fault_injection/app.rb +1 -1
- data/plugins/fault_injection/fault_injection.rb +3 -3
- data/plugins/fault_injection/test/test_fault_injection.rb +19 -25
- data/plugins/subsystems/README.txt +0 -3
- data/plugins/subsystems/Rakefile +2 -7
- data/plugins/subsystems/app.rb +27 -16
- data/plugins/subsystems/test/app/config/init.rb +3 -0
- data/plugins/subsystems/test/app/planners/main.rb +1 -1
- data/plugins/subsystems/test/app/tasks/services.rb +1 -1
- data/plugins/subsystems/test/test_subsystems.rb +23 -16
- data/test/distributed/test_communication.rb +32 -15
- data/test/distributed/test_connection.rb +28 -26
- data/test/distributed/test_execution.rb +59 -54
- data/test/distributed/test_mixed_plan.rb +34 -34
- data/test/distributed/test_plan_notifications.rb +26 -26
- data/test/distributed/test_protocol.rb +57 -48
- data/test/distributed/test_query.rb +11 -7
- data/test/distributed/test_remote_plan.rb +71 -71
- data/test/distributed/test_transaction.rb +50 -47
- data/test/mockups/external_process +28 -0
- data/test/planning/test_loops.rb +163 -119
- data/test/planning/test_model.rb +3 -3
- data/test/planning/test_task.rb +27 -7
- data/test/relations/test_conflicts.rb +3 -3
- data/test/relations/test_dependency.rb +324 -0
- data/test/relations/test_ensured.rb +2 -2
- data/test/relations/test_executed_by.rb +94 -19
- data/test/relations/test_planned_by.rb +11 -9
- data/test/suite_core.rb +6 -3
- data/test/suite_distributed.rb +1 -0
- data/test/suite_planning.rb +1 -0
- data/test/suite_relations.rb +2 -2
- data/test/tasks/test_external_process.rb +126 -0
- data/test/{test_thread_task.rb → tasks/test_thread_task.rb} +17 -20
- data/test/test_bgl.rb +21 -1
- data/test/test_event.rb +229 -155
- data/test/test_exceptions.rb +79 -80
- data/test/test_execution_engine.rb +987 -0
- data/test/test_gui.rb +1 -1
- data/test/test_interface.rb +11 -5
- data/test/test_log.rb +18 -7
- data/test/test_log_server.rb +1 -0
- data/test/test_plan.rb +229 -395
- data/test/test_query.rb +193 -35
- data/test/test_relations.rb +88 -8
- data/test/test_state.rb +55 -37
- data/test/test_support.rb +1 -1
- data/test/test_task.rb +371 -218
- data/test/test_testcase.rb +32 -16
- data/test/test_transactions.rb +211 -170
- data/test/test_transactions_proxy.rb +37 -19
- metadata +169 -71
- data/.gitignore +0 -29
- data/doc/styles/allison.css +0 -314
- data/doc/styles/allison.js +0 -316
- data/doc/styles/allison.rb +0 -276
- data/doc/styles/jamis.rb +0 -593
- data/lib/roby/control.rb +0 -746
- data/lib/roby/executives/simple.rb +0 -30
- data/lib/roby/propagation.rb +0 -562
- data/lib/roby/relations/hierarchy.rb +0 -239
- data/lib/roby/transactions/updates.rb +0 -139
- data/test/relations/test_hierarchy.rb +0 -158
- data/test/test_control.rb +0 -399
- data/test/test_propagation.rb +0 -210
data/History.txt
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
=== 0.
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
=== 0.8.0
|
|
2
|
+
* major refactoring of the core code, to make it easier to reuse parts of the
|
|
3
|
+
framework
|
|
4
|
+
* some major usability improvements in the shell. In particular, planning
|
|
5
|
+
methods can now be properly documented.
|
|
6
|
+
* a lot of small changes
|
|
7
|
+
* tested during the Sauc-E competition in 2009 ... and working well !
|
|
6
8
|
|
|
7
9
|
=== 0.7.2
|
|
8
10
|
|
data/Manifest.txt
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
.gitignore
|
|
2
1
|
History.txt
|
|
3
2
|
License-fr.txt
|
|
4
3
|
License.txt
|
|
@@ -28,9 +27,86 @@ app/scripts/shell
|
|
|
28
27
|
app/scripts/test
|
|
29
28
|
app/tasks/.gitattributes
|
|
30
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
|
|
31
35
|
bin/roby
|
|
32
36
|
bin/roby-log
|
|
33
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
|
|
34
110
|
doc/images/event_generalization.png
|
|
35
111
|
doc/images/exception_propagation_1.png
|
|
36
112
|
doc/images/exception_propagation_2.png
|
|
@@ -49,18 +125,13 @@ doc/images/roby_replay_first_state.png
|
|
|
49
125
|
doc/images/roby_replay_relations.png
|
|
50
126
|
doc/images/roby_replay_startup.png
|
|
51
127
|
doc/images/task_event_generalization.png
|
|
52
|
-
doc/
|
|
53
|
-
doc/styles/allison.css
|
|
54
|
-
doc/styles/allison.js
|
|
55
|
-
doc/styles/allison.rb
|
|
56
|
-
doc/styles/jamis.rb
|
|
128
|
+
doc/misc/update_github
|
|
57
129
|
doc/tutorials/01-GettingStarted.rdoc
|
|
58
130
|
doc/tutorials/02-GoForward.rdoc
|
|
59
131
|
doc/tutorials/03-PlannedPath.rdoc
|
|
60
132
|
doc/tutorials/04-EventPropagation.rdoc
|
|
61
133
|
doc/tutorials/05-ErrorHandling.rdoc
|
|
62
134
|
doc/tutorials/06-Overview.rdoc
|
|
63
|
-
doc/videos.rdoc
|
|
64
135
|
ext/droby/dump.cc
|
|
65
136
|
ext/droby/extconf.rb
|
|
66
137
|
ext/graph/algorithm.cc
|
|
@@ -72,6 +143,7 @@ ext/graph/undirected_dfs.hh
|
|
|
72
143
|
ext/graph/undirected_graph.hh
|
|
73
144
|
lib/roby.rb
|
|
74
145
|
lib/roby/app.rb
|
|
146
|
+
lib/roby/app/plugins/rake.rb
|
|
75
147
|
lib/roby/app/rake.rb
|
|
76
148
|
lib/roby/app/run.rb
|
|
77
149
|
lib/roby/app/scripts/distributed.rb
|
|
@@ -84,7 +156,6 @@ lib/roby/app/scripts/shell.rb
|
|
|
84
156
|
lib/roby/app/scripts/test.rb
|
|
85
157
|
lib/roby/basic_object.rb
|
|
86
158
|
lib/roby/config.rb
|
|
87
|
-
lib/roby/control.rb
|
|
88
159
|
lib/roby/decision_control.rb
|
|
89
160
|
lib/roby/distributed.rb
|
|
90
161
|
lib/roby/distributed/base.rb
|
|
@@ -100,7 +171,8 @@ lib/roby/distributed/subscription.rb
|
|
|
100
171
|
lib/roby/distributed/transaction.rb
|
|
101
172
|
lib/roby/event.rb
|
|
102
173
|
lib/roby/exceptions.rb
|
|
103
|
-
lib/roby/
|
|
174
|
+
lib/roby/execution_engine.rb
|
|
175
|
+
lib/roby/external_process_task.rb
|
|
104
176
|
lib/roby/graph.rb
|
|
105
177
|
lib/roby/interface.rb
|
|
106
178
|
lib/roby/log.rb
|
|
@@ -145,18 +217,19 @@ lib/roby/planning.rb
|
|
|
145
217
|
lib/roby/planning/loops.rb
|
|
146
218
|
lib/roby/planning/model.rb
|
|
147
219
|
lib/roby/planning/task.rb
|
|
148
|
-
lib/roby/propagation.rb
|
|
149
220
|
lib/roby/query.rb
|
|
150
221
|
lib/roby/relations.rb
|
|
151
222
|
lib/roby/relations/conflicts.rb
|
|
223
|
+
lib/roby/relations/dependency.rb
|
|
152
224
|
lib/roby/relations/ensured.rb
|
|
153
225
|
lib/roby/relations/error_handling.rb
|
|
154
226
|
lib/roby/relations/events.rb
|
|
155
227
|
lib/roby/relations/executed_by.rb
|
|
156
|
-
lib/roby/relations/hierarchy.rb
|
|
157
228
|
lib/roby/relations/influence.rb
|
|
158
229
|
lib/roby/relations/planned_by.rb
|
|
159
230
|
lib/roby/robot.rb
|
|
231
|
+
lib/roby/schedulers/basic.rb
|
|
232
|
+
lib/roby/standalone.rb
|
|
160
233
|
lib/roby/standard_errors.rb
|
|
161
234
|
lib/roby/state.rb
|
|
162
235
|
lib/roby/state/events.rb
|
|
@@ -167,6 +240,7 @@ lib/roby/state/state.rb
|
|
|
167
240
|
lib/roby/support.rb
|
|
168
241
|
lib/roby/task-operations.rb
|
|
169
242
|
lib/roby/task.rb
|
|
243
|
+
lib/roby/task_index.rb
|
|
170
244
|
lib/roby/test/common.rb
|
|
171
245
|
lib/roby/test/distributed.rb
|
|
172
246
|
lib/roby/test/tasks/empty_task.rb
|
|
@@ -177,7 +251,7 @@ lib/roby/test/tools.rb
|
|
|
177
251
|
lib/roby/thread_task.rb
|
|
178
252
|
lib/roby/transactions.rb
|
|
179
253
|
lib/roby/transactions/proxy.rb
|
|
180
|
-
|
|
254
|
+
manifest.xml
|
|
181
255
|
plugins/fault_injection/History.txt
|
|
182
256
|
plugins/fault_injection/README.txt
|
|
183
257
|
plugins/fault_injection/Rakefile
|
|
@@ -212,35 +286,36 @@ test/distributed/test_protocol.rb
|
|
|
212
286
|
test/distributed/test_query.rb
|
|
213
287
|
test/distributed/test_remote_plan.rb
|
|
214
288
|
test/distributed/test_transaction.rb
|
|
289
|
+
test/mockups/external_process
|
|
215
290
|
test/mockups/tasks.rb
|
|
216
291
|
test/planning/test_loops.rb
|
|
217
292
|
test/planning/test_model.rb
|
|
218
293
|
test/planning/test_task.rb
|
|
219
294
|
test/relations/test_conflicts.rb
|
|
295
|
+
test/relations/test_dependency.rb
|
|
220
296
|
test/relations/test_ensured.rb
|
|
221
297
|
test/relations/test_executed_by.rb
|
|
222
|
-
test/relations/test_hierarchy.rb
|
|
223
298
|
test/relations/test_planned_by.rb
|
|
224
299
|
test/suite_core.rb
|
|
225
300
|
test/suite_distributed.rb
|
|
226
301
|
test/suite_planning.rb
|
|
227
302
|
test/suite_relations.rb
|
|
303
|
+
test/tasks/test_external_process.rb
|
|
304
|
+
test/tasks/test_thread_task.rb
|
|
228
305
|
test/test_bgl.rb
|
|
229
|
-
test/test_control.rb
|
|
230
306
|
test/test_event.rb
|
|
231
307
|
test/test_exceptions.rb
|
|
308
|
+
test/test_execution_engine.rb
|
|
232
309
|
test/test_gui.rb
|
|
233
310
|
test/test_interface.rb
|
|
234
311
|
test/test_log.rb
|
|
235
312
|
test/test_log_server.rb
|
|
236
313
|
test/test_plan.rb
|
|
237
|
-
test/test_propagation.rb
|
|
238
314
|
test/test_query.rb
|
|
239
315
|
test/test_relations.rb
|
|
240
316
|
test/test_state.rb
|
|
241
317
|
test/test_support.rb
|
|
242
318
|
test/test_task.rb
|
|
243
319
|
test/test_testcase.rb
|
|
244
|
-
test/test_thread_task.rb
|
|
245
320
|
test/test_transactions.rb
|
|
246
321
|
test/test_transactions_proxy.rb
|
data/README.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
= Roby: a plan manager for robot control in Ruby
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
http://sites.google.com/sites/rubyinmotion
|
|
4
|
+
http://doudou.github.com/roby
|
|
5
|
+
http://github.com/doudou/roby
|
|
6
6
|
|
|
7
7
|
<b>Note for Gem users</b> While using the normal RDoc generator, the
|
|
8
8
|
documentation generation process of Roby is a bit modified. In particular, the
|
|
@@ -33,6 +33,16 @@ Roby is:
|
|
|
33
33
|
* (G)UI tools for interacting/controlling the living system.
|
|
34
34
|
* all of that in a multi-robot context.
|
|
35
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
|
+
|
|
36
46
|
== Acknowledgments
|
|
37
47
|
|
|
38
48
|
This work has been supported by the DGA (http://www.defense.gouv.fr/dga) which
|
|
@@ -40,15 +50,6 @@ financed my PhD and the LAAS/CNRS (http://www.laas.fr), where I did it. It is
|
|
|
40
50
|
now supported by the DFKI (http://www.dfki.de) where I currently work and use
|
|
41
51
|
this plan manager.
|
|
42
52
|
|
|
43
|
-
== Related publications
|
|
44
|
-
|
|
45
|
-
Roby is the result of my PhD. As such, my PhD thesis can be considered as a
|
|
46
|
-
design document for the system. If you want an overview of the principles, you
|
|
47
|
-
can also refer to the two publications I did.
|
|
48
|
-
|
|
49
|
-
See {this page}[link:files/doc/papers_rdoc.html] for the list of publication
|
|
50
|
-
and the associated PDF files.
|
|
51
|
-
|
|
52
53
|
== Videos
|
|
53
54
|
|
|
54
55
|
The videos that are available show some capabilities of the system. Frankly you
|
|
@@ -58,10 +59,15 @@ when it is meaningful.
|
|
|
58
59
|
|
|
59
60
|
See {here}[link:files/doc/videos_rdoc.html] for the available videos.
|
|
60
61
|
|
|
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]
|
|
62
68
|
|
|
63
|
-
|
|
64
|
-
them:
|
|
69
|
+
Finally, a set of tutorials describe Roby's main features and let you experiment
|
|
70
|
+
with them:
|
|
65
71
|
1. the GettingStarted[link:files/doc/tutorials/01-GettingStarted_rdoc.html] tutorial makes
|
|
66
72
|
you start a brand new Roby application and explains its structure.
|
|
67
73
|
2. the GoForward[link:files/doc/tutorials/02-GoForward_rdoc.html] tutorial shows how to create
|
|
@@ -153,14 +159,8 @@ dependencies (boost with boost/graph), you can simply install it with
|
|
|
153
159
|
|
|
154
160
|
== Installing from source
|
|
155
161
|
|
|
156
|
-
|
|
157
|
-
from a release tarball or the RubyForge git
|
|
158
|
-
repository[http://rubyforge.org/projects/roby], or from the development
|
|
159
|
-
one[http://github.com/doudou/roby].
|
|
160
|
-
|
|
161
|
-
Once the source is installed, run
|
|
162
|
-
rake setup
|
|
162
|
+
You can also install from scratch with {this guide}[link:files/doc/install_rdoc.html]
|
|
163
163
|
|
|
164
|
-
|
|
165
|
-
that path is non-standard.
|
|
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
166
|
|
data/Rakefile
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
$LOAD_PATH.unshift File.expand_path('lib', File.dirname(__FILE__))
|
|
2
2
|
require 'enumerator'
|
|
3
|
+
require 'hoe'
|
|
3
4
|
require 'roby/config'
|
|
4
5
|
|
|
5
6
|
begin
|
|
6
7
|
require 'hoe'
|
|
7
8
|
namespace 'dist' do
|
|
8
|
-
hoe = Hoe.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
"\n\nSee
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
['
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
hoe = Hoe.spec 'roby' do
|
|
10
|
+
self.developer 'Sylvain Joyeux', 'sylvain.joyeux@m4x.org'
|
|
11
|
+
|
|
12
|
+
self.summary = 'A plan-based control framework for autonomous systems'
|
|
13
|
+
self.url = paragraphs_of('README.txt', 1).join("\n\n")
|
|
14
|
+
self.description = paragraphs_of('README.txt', 3..5).join("\n\n")
|
|
15
|
+
self.description +=
|
|
16
|
+
"\n\nSee doudou.github.com/roby for more informations, including links to
|
|
17
|
+
tutorials and demonstration videos"
|
|
18
|
+
self.changes = paragraphs_of('History.txt', 0..1).join("\n\n")
|
|
19
|
+
self.post_install_message = paragraphs_of('README.txt', 2).join("\n\n")
|
|
20
|
+
|
|
21
|
+
self.extra_deps <<
|
|
22
|
+
['facets', '>= 2.0'] <<
|
|
23
|
+
['utilrb', '>= 1.3.1']
|
|
24
|
+
|
|
25
|
+
self.extra_dev_deps <<
|
|
26
|
+
['rdoc', '>= 2.4'] <<
|
|
27
|
+
['webgen', '>= 0.5']
|
|
28
|
+
|
|
29
|
+
self.need_rdoc = false
|
|
26
30
|
end
|
|
27
31
|
hoe.spec.extensions <<
|
|
28
32
|
'ext/droby/extconf.rb' <<
|
|
@@ -35,19 +39,22 @@ informations, including links to tutorials and demonstration videos"
|
|
|
35
39
|
|
|
36
40
|
hoe.spec.rdoc_options <<
|
|
37
41
|
'--main' << 'README.txt' <<
|
|
38
|
-
"--inline-source" <<
|
|
39
42
|
"--accessor" << "attribute" <<
|
|
40
43
|
"--accessor" << "attr_predicate"
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
task 'dist:package' => 'uic'
|
|
46
|
+
Rake.clear_tasks(/doc/)
|
|
47
|
+
|
|
48
|
+
desc 'update the pages that are displayed on doudou.github.com/roby'
|
|
49
|
+
task "publish_docs" => "doc:all" do
|
|
50
|
+
if !system( File.join("doc", "misc", "update_github") )
|
|
51
|
+
raise "cannot update the gh-pages branch"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
48
54
|
end
|
|
49
|
-
rescue
|
|
55
|
+
rescue Exception => e
|
|
50
56
|
puts "cannot setup Hoe, distribution is disabled"
|
|
57
|
+
puts "error is: #{e.message}"
|
|
51
58
|
end
|
|
52
59
|
|
|
53
60
|
def build_extension(name, soname = name)
|
|
@@ -68,7 +75,7 @@ def clean_extension(name, soname = name)
|
|
|
68
75
|
end
|
|
69
76
|
end
|
|
70
77
|
|
|
71
|
-
task :cruise => [:setup, :
|
|
78
|
+
task :cruise => [:setup, 'doc:recore', :test]
|
|
72
79
|
|
|
73
80
|
#########
|
|
74
81
|
# Test-related targets
|
|
@@ -106,6 +113,10 @@ task :clean => 'dist:clean' do
|
|
|
106
113
|
end
|
|
107
114
|
|
|
108
115
|
UIFILES = %w{relations.ui relations_view.ui data_displays.ui replay_controls.ui basic_display.ui chronicle_view.ui}
|
|
116
|
+
UIFILES.each do |file|
|
|
117
|
+
file "lib/roby/log/gui/#{file}" => 'uic'
|
|
118
|
+
end
|
|
119
|
+
|
|
109
120
|
desc 'generate all Qt UI files using rbuic4'
|
|
110
121
|
task :uic do
|
|
111
122
|
rbuic = 'rbuic4'
|
|
@@ -126,45 +137,62 @@ end
|
|
|
126
137
|
#
|
|
127
138
|
# This redefines Hoe's targets for documentation, as the documentation
|
|
128
139
|
# generation is not flexible enough for us
|
|
129
|
-
namespace 'doc' do
|
|
130
|
-
require 'roby/app/rake'
|
|
131
|
-
Rake::RDocTask.new("core") do |rdoc|
|
|
132
|
-
rdoc.options << "--inline-source" << "--accessor" << "attribute" << "--accessor" << "attr_predicate"
|
|
133
|
-
rdoc.rdoc_dir = 'doc/rdoc/core'
|
|
134
|
-
rdoc.title = "Roby Core"
|
|
135
|
-
rdoc.template = Roby::Rake.rdoc_template
|
|
136
|
-
rdoc.options << '--main' << 'README.txt'
|
|
137
|
-
rdoc.rdoc_files.include('README.txt', 'TODO.txt', 'History.txt')
|
|
138
|
-
rdoc.rdoc_files.include('lib/**/*.rb', 'ext/**/*.cc')
|
|
139
|
-
rdoc.rdoc_files.include('doc/videos.rdoc', 'doc/papers.rdoc')
|
|
140
|
-
rdoc.rdoc_files.include('doc/tutorials/**/*')
|
|
141
|
-
rdoc.rdoc_files.exclude('lib/roby/test/**/*', 'lib/roby/app/**/*', 'lib/roby/log/gui/*')
|
|
142
|
-
end
|
|
143
140
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
end
|
|
141
|
+
# This is for the user's guide
|
|
142
|
+
begin
|
|
143
|
+
require 'webgen/webgentask'
|
|
144
|
+
require 'rdoc/task'
|
|
145
|
+
do_doc = true
|
|
146
|
+
rescue LoadError => e
|
|
147
|
+
STDERR.puts "webgen and/or the rdoc Gem are not available, documentation generation disabled"
|
|
148
|
+
STDERR.puts " Ruby reported the following load error: #{e.message}"
|
|
149
|
+
end
|
|
154
150
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
151
|
+
if do_doc
|
|
152
|
+
namespace 'doc' do
|
|
153
|
+
require 'roby/app/rake'
|
|
154
|
+
RDoc::Task.new("api") do |rdoc|
|
|
155
|
+
rdoc.rdoc_dir = 'doc/html/api'
|
|
156
|
+
rdoc.title = "Roby Core"
|
|
157
|
+
rdoc.options << '--show-hash'
|
|
158
|
+
rdoc.rdoc_files.include('lib/**/*.rb', 'ext/**/*.cc')
|
|
159
|
+
rdoc.rdoc_files.exclude('lib/roby/test/**/*', 'lib/roby/app/**/*', 'lib/roby/log/gui/*')
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
Webgen::WebgenTask.new('guide') do |website|
|
|
163
|
+
website.clobber_outdir = true
|
|
164
|
+
website.directory = File.join(Dir.pwd, 'doc', 'guide')
|
|
165
|
+
website.config_block = lambda do |config|
|
|
166
|
+
config['output'] = ['Webgen::Output::FileSystem', File.join(Dir.pwd, 'doc', 'html')]
|
|
167
|
+
end
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def plugins_documentation_generation(target_prefix)
|
|
171
|
+
task "plugins_#{target_prefix}docs" do
|
|
172
|
+
Roby::Rake.invoke_plugin_target("#{target_prefix}docs")
|
|
173
|
+
end
|
|
174
|
+
end
|
|
175
|
+
desc 'generate the documentation for all installed plugins'
|
|
176
|
+
plugins_documentation_generation ''
|
|
177
|
+
desc 'remove the documentation for all installed plugins'
|
|
178
|
+
plugins_documentation_generation 'clobber_'
|
|
179
|
+
desc 'regenerate the documentation for all installed plugins'
|
|
180
|
+
plugins_documentation_generation 're'
|
|
181
|
+
|
|
182
|
+
desc 'generate all documentation'
|
|
183
|
+
task 'all' => ['doc:guide', 'doc:api', 'doc:plugins_docs']
|
|
184
|
+
desc 'removes all documentation'
|
|
185
|
+
task 'clobber' do
|
|
186
|
+
FileUtils.rm_rf File.join('doc', 'html')
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
desc 'regenerate all documentation'
|
|
190
|
+
task 'redocs' do
|
|
191
|
+
FileUtils.rm_rf File.join('doc', 'html')
|
|
192
|
+
if !system('rake', 'doc:all')
|
|
193
|
+
raise "failed to regenerate documentation"
|
|
194
|
+
end
|
|
158
195
|
end
|
|
159
196
|
end
|
|
160
|
-
desc 'generate the documentation for all installed plugins'
|
|
161
|
-
plugins_documentation_generation ''
|
|
162
|
-
desc 'remove the documentation for all installed plugins'
|
|
163
|
-
plugins_documentation_generation 'clobber_'
|
|
164
|
-
desc 'regenerate the documentation for all installed plugins'
|
|
165
|
-
plugins_documentation_generation 're'
|
|
166
197
|
end
|
|
167
|
-
|
|
168
|
-
task 'docs' => ['doc:core', 'doc:plugins_docs']
|
|
169
|
-
task 'clobber_docs' => ['doc:clobber_core', 'doc:plugins_clobber_docs']
|
|
170
|
-
task 'redocs' => ['doc:recore', 'doc:replugins_docs']
|
|
198
|
+
task 'clobber_docs' => 'doc:clobber'
|