fathom 0.3.7 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. data/.autotest +7 -5
  2. data/.document +2 -2
  3. data/Gemfile +9 -10
  4. data/{LICENSE → LICENSE.txt} +1 -1
  5. data/README.md +29 -90
  6. data/Rakefile +34 -32
  7. data/VERSION +1 -1
  8. data/fathom.gemspec +105 -0
  9. data/features/fathom.feature +26 -0
  10. data/features/step_definitions/fathom_steps.rb +23 -0
  11. data/features/support/env.rb +13 -0
  12. data/lib/ext/array.rb +6 -2
  13. data/lib/ext/string.rb +86 -7
  14. data/lib/fathom.rb +51 -88
  15. data/lib/fathom/behaviors/attribute_system.rb +91 -0
  16. data/lib/fathom/behaviors/context_behavior.rb +28 -0
  17. data/lib/fathom/behaviors/plugins.rb +16 -0
  18. data/lib/fathom/contexts/network_population.rb +47 -0
  19. data/lib/fathom/contexts/network_traversal.rb +4 -0
  20. data/lib/fathom/data/adjacency_matrix.rb +27 -0
  21. data/lib/fathom/data/definition.rb +22 -0
  22. data/lib/fathom/data/edge.rb +58 -0
  23. data/lib/fathom/data/network.rb +35 -0
  24. data/lib/fathom/data/outcome.rb +30 -0
  25. data/lib/fathom/data/property.rb +31 -0
  26. data/lib/fathom/data/variable.rb +59 -0
  27. data/lib/fathom/roles/general_graph_tools.rb +87 -0
  28. data/lib/fathom/roles/network_builder.rb +61 -0
  29. data/spec/fathom/behaviors/attribute_system_spec.rb +141 -0
  30. data/spec/fathom/behaviors/context_behavior_spec.rb +15 -0
  31. data/spec/fathom/behaviors/plugins_spec.rb +80 -0
  32. data/spec/fathom/contexts/network_population_spec.rb +55 -0
  33. data/spec/fathom/contexts/network_traversal_spec.rb +11 -0
  34. data/spec/fathom/data/adjacency_matrix_spec.rb +42 -0
  35. data/spec/fathom/data/definition_spec.rb +19 -0
  36. data/spec/fathom/data/edge_spec.rb +77 -0
  37. data/spec/fathom/data/network_spec.rb +72 -0
  38. data/spec/fathom/data/outcome_spec.rb +17 -0
  39. data/spec/fathom/data/property_spec.rb +17 -0
  40. data/spec/fathom/data/variable_spec.rb +101 -0
  41. data/spec/fathom/ext/array_spec.rb +17 -0
  42. data/spec/fathom/ext/string_spec.rb +90 -0
  43. data/spec/fathom/roles/general_graph_tools_spec.rb +95 -0
  44. data/spec/fathom/roles/network_builder_spec.rb +90 -0
  45. data/spec/fathom_spec.rb +28 -49
  46. data/spec/spec_helper.rb +7 -11
  47. data/spec/support/context_behavior.rb +14 -0
  48. data/spec/support/custom_matchers.rb +12 -0
  49. data/spec/support/files.rb +8 -0
  50. data/spec/support/network.yml +42 -0
  51. metadata +133 -174
  52. data/.bundle/config +0 -2
  53. data/.gitignore +0 -6
  54. data/Gemfile.lock +0 -42
  55. data/TODO.md +0 -127
  56. data/autotest/discover.rb +0 -1
  57. data/lib/ext/faster_csv.rb +0 -1
  58. data/lib/ext/open_struct.rb +0 -17
  59. data/lib/fathom/agent.rb +0 -48
  60. data/lib/fathom/agent/agent_cluster.rb +0 -23
  61. data/lib/fathom/agent/properties.rb +0 -48
  62. data/lib/fathom/archive/causal_graph.rb +0 -12
  63. data/lib/fathom/archive/concept.rb +0 -83
  64. data/lib/fathom/archive/conditional_probability_matrix.rb +0 -119
  65. data/lib/fathom/archive/inverter.rb +0 -20
  66. data/lib/fathom/archive/n2.rb +0 -198
  67. data/lib/fathom/archive/n3.rb +0 -119
  68. data/lib/fathom/archive/node.rb +0 -97
  69. data/lib/fathom/archive/noodle.rb +0 -136
  70. data/lib/fathom/archive/scratch.rb +0 -45
  71. data/lib/fathom/distributions.rb +0 -8
  72. data/lib/fathom/distributions/discrete_gaussian.rb +0 -44
  73. data/lib/fathom/distributions/discrete_uniform.rb +0 -25
  74. data/lib/fathom/distributions/gaussian.rb +0 -46
  75. data/lib/fathom/distributions/uniform.rb +0 -35
  76. data/lib/fathom/import.rb +0 -85
  77. data/lib/fathom/import/csv_import.rb +0 -59
  78. data/lib/fathom/import/import_node.rb +0 -17
  79. data/lib/fathom/import/yaml_import.rb +0 -74
  80. data/lib/fathom/knowledge_base.rb +0 -46
  81. data/lib/fathom/knowledge_base/search.rb +0 -19
  82. data/lib/fathom/monte_carlo_set.rb +0 -152
  83. data/lib/fathom/node.rb +0 -139
  84. data/lib/fathom/node/belief_node.rb +0 -121
  85. data/lib/fathom/node/cpm_node.rb +0 -100
  86. data/lib/fathom/node/data_collection.rb +0 -97
  87. data/lib/fathom/node/data_node.rb +0 -22
  88. data/lib/fathom/node/decision.rb +0 -11
  89. data/lib/fathom/node/discrete_node.rb +0 -41
  90. data/lib/fathom/node/fact.rb +0 -24
  91. data/lib/fathom/node/mc_node.rb +0 -70
  92. data/lib/fathom/node/node_extensions/enforced_name.rb +0 -12
  93. data/lib/fathom/node/node_extensions/numeric_methods.rb +0 -68
  94. data/lib/fathom/node/plausible_range.rb +0 -98
  95. data/lib/fathom/simulation.rb +0 -59
  96. data/lib/fathom/simulation/tick_methods.rb +0 -25
  97. data/lib/fathom/simulation/tick_simulation.rb +0 -12
  98. data/lib/fathom/value_description.rb +0 -79
  99. data/lib/options_hash.rb +0 -186
  100. data/spec/ext/array_spec.rb +0 -10
  101. data/spec/ext/faster_csv_spec.rb +0 -10
  102. data/spec/ext/open_struct_spec.rb +0 -20
  103. data/spec/ext/string_spec.rb +0 -7
  104. data/spec/fathom/agent/agent_cluster_spec.rb +0 -17
  105. data/spec/fathom/agent_spec.rb +0 -51
  106. data/spec/fathom/distributions/discrete_gaussian_spec.rb +0 -64
  107. data/spec/fathom/distributions/discrete_uniform_spec.rb +0 -0
  108. data/spec/fathom/distributions/gaussian_spec.rb +0 -64
  109. data/spec/fathom/distributions/uniform_spec.rb +0 -0
  110. data/spec/fathom/import/csv_import_spec.rb +0 -52
  111. data/spec/fathom/import/import_node_spec.rb +0 -10
  112. data/spec/fathom/import/yaml_import_spec.rb +0 -73
  113. data/spec/fathom/import_spec.rb +0 -36
  114. data/spec/fathom/knowledge_base_spec.rb +0 -20
  115. data/spec/fathom/monte_carlo_set_spec.rb +0 -149
  116. data/spec/fathom/node/belief_node_spec.rb +0 -180
  117. data/spec/fathom/node/cpm_node_spec.rb +0 -144
  118. data/spec/fathom/node/data_collection_spec.rb +0 -26
  119. data/spec/fathom/node/data_node_spec.rb +0 -102
  120. data/spec/fathom/node/decision_spec.rb +0 -15
  121. data/spec/fathom/node/discrete_node_spec.rb +0 -56
  122. data/spec/fathom/node/fact_spec.rb +0 -33
  123. data/spec/fathom/node/mc_node_spec.rb +0 -66
  124. data/spec/fathom/node/node_extensions/enforced_name_spec.rb +0 -15
  125. data/spec/fathom/node/node_extensions/numeric_methods_spec.rb +0 -124
  126. data/spec/fathom/node/plausible_range_spec.rb +0 -151
  127. data/spec/fathom/node_spec.rb +0 -172
  128. data/spec/fathom/simulation/tick_simulation_spec.rb +0 -32
  129. data/spec/fathom/simulation_spec.rb +0 -24
  130. data/spec/fathom/value_description_spec.rb +0 -70
  131. data/spec/support/demo.yml +0 -17
  132. data/spec/support/demo_agent.rb +0 -8
  133. data/spec/support/dummy_numeric_node.rb +0 -8
  134. data/spec/support/fact.yml +0 -11
metadata CHANGED
@@ -1,210 +1,169 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: fathom
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 7
10
- version: 0.3.7
11
6
  platform: ruby
12
- authors:
13
- - David
7
+ authors:
8
+ - David Richards
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-02-10 00:00:00 -07:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2011-10-31 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: uuid
16
+ requirement: &2161853260 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2161853260
25
+ - !ruby/object:Gem::Dependency
22
26
  name: rspec
27
+ requirement: &2161852480 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ~>
31
+ - !ruby/object:Gem::Version
32
+ version: 2.3.0
33
+ type: :development
23
34
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
35
+ version_requirements: *2161852480
36
+ - !ruby/object:Gem::Dependency
37
+ name: cucumber
38
+ requirement: &2161774060 !ruby/object:Gem::Requirement
25
39
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
33
44
  type: :development
34
- version_requirements: *id001
35
- description: Collecting some decision support tools in a decoupled Ruby library.
45
+ prerelease: false
46
+ version_requirements: *2161774060
47
+ - !ruby/object:Gem::Dependency
48
+ name: jeweler
49
+ requirement: &2161772220 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.6.4
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *2161772220
58
+ - !ruby/object:Gem::Dependency
59
+ name: rcov
60
+ requirement: &2161770200 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *2161770200
69
+ - !ruby/object:Gem::Dependency
70
+ name: ruby-debug19
71
+ requirement: &2161767800 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ! '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: *2161767800
80
+ description: A framework for building analytical models in Ruby and supporting systems. This
81
+ is meant to be a flexible tool for many kinds of models, and should grow gently
82
+ over time.
36
83
  email: davidlamontrichards@gmail.com
37
84
  executables: []
38
-
39
85
  extensions: []
40
-
41
- extra_rdoc_files:
42
- - LICENSE
86
+ extra_rdoc_files:
87
+ - LICENSE.txt
43
88
  - README.md
44
- files:
89
+ files:
45
90
  - .autotest
46
- - .bundle/config
47
91
  - .document
48
- - .gitignore
49
92
  - .rspec
50
93
  - Gemfile
51
- - Gemfile.lock
52
- - LICENSE
94
+ - LICENSE.txt
53
95
  - README.md
54
96
  - Rakefile
55
- - TODO.md
56
97
  - VERSION
57
- - autotest/discover.rb
98
+ - fathom.gemspec
99
+ - features/fathom.feature
100
+ - features/step_definitions/fathom_steps.rb
101
+ - features/support/env.rb
58
102
  - lib/ext/array.rb
59
- - lib/ext/faster_csv.rb
60
- - lib/ext/open_struct.rb
61
103
  - lib/ext/string.rb
62
104
  - lib/fathom.rb
63
- - lib/fathom/agent.rb
64
- - lib/fathom/agent/agent_cluster.rb
65
- - lib/fathom/agent/properties.rb
66
- - lib/fathom/archive/causal_graph.rb
67
- - lib/fathom/archive/concept.rb
68
- - lib/fathom/archive/conditional_probability_matrix.rb
69
- - lib/fathom/archive/inverter.rb
70
- - lib/fathom/archive/n2.rb
71
- - lib/fathom/archive/n3.rb
72
- - lib/fathom/archive/node.rb
73
- - lib/fathom/archive/noodle.rb
74
- - lib/fathom/archive/scratch.rb
75
- - lib/fathom/distributions.rb
76
- - lib/fathom/distributions/discrete_gaussian.rb
77
- - lib/fathom/distributions/discrete_uniform.rb
78
- - lib/fathom/distributions/gaussian.rb
79
- - lib/fathom/distributions/uniform.rb
80
- - lib/fathom/import.rb
81
- - lib/fathom/import/csv_import.rb
82
- - lib/fathom/import/import_node.rb
83
- - lib/fathom/import/yaml_import.rb
84
- - lib/fathom/knowledge_base.rb
85
- - lib/fathom/knowledge_base/search.rb
86
- - lib/fathom/monte_carlo_set.rb
87
- - lib/fathom/node.rb
88
- - lib/fathom/node/belief_node.rb
89
- - lib/fathom/node/cpm_node.rb
90
- - lib/fathom/node/data_collection.rb
91
- - lib/fathom/node/data_node.rb
92
- - lib/fathom/node/decision.rb
93
- - lib/fathom/node/discrete_node.rb
94
- - lib/fathom/node/fact.rb
95
- - lib/fathom/node/mc_node.rb
96
- - lib/fathom/node/node_extensions/enforced_name.rb
97
- - lib/fathom/node/node_extensions/numeric_methods.rb
98
- - lib/fathom/node/plausible_range.rb
99
- - lib/fathom/simulation.rb
100
- - lib/fathom/simulation/tick_methods.rb
101
- - lib/fathom/simulation/tick_simulation.rb
102
- - lib/fathom/value_description.rb
103
- - lib/options_hash.rb
104
- - spec/ext/array_spec.rb
105
- - spec/ext/faster_csv_spec.rb
106
- - spec/ext/open_struct_spec.rb
107
- - spec/ext/string_spec.rb
108
- - spec/fathom/agent/agent_cluster_spec.rb
109
- - spec/fathom/agent_spec.rb
110
- - spec/fathom/distributions/discrete_gaussian_spec.rb
111
- - spec/fathom/distributions/discrete_uniform_spec.rb
112
- - spec/fathom/distributions/gaussian_spec.rb
113
- - spec/fathom/distributions/uniform_spec.rb
114
- - spec/fathom/import/csv_import_spec.rb
115
- - spec/fathom/import/import_node_spec.rb
116
- - spec/fathom/import/yaml_import_spec.rb
117
- - spec/fathom/import_spec.rb
118
- - spec/fathom/knowledge_base_spec.rb
119
- - spec/fathom/monte_carlo_set_spec.rb
120
- - spec/fathom/node/belief_node_spec.rb
121
- - spec/fathom/node/cpm_node_spec.rb
122
- - spec/fathom/node/data_collection_spec.rb
123
- - spec/fathom/node/data_node_spec.rb
124
- - spec/fathom/node/decision_spec.rb
125
- - spec/fathom/node/discrete_node_spec.rb
126
- - spec/fathom/node/fact_spec.rb
127
- - spec/fathom/node/mc_node_spec.rb
128
- - spec/fathom/node/node_extensions/enforced_name_spec.rb
129
- - spec/fathom/node/node_extensions/numeric_methods_spec.rb
130
- - spec/fathom/node/plausible_range_spec.rb
131
- - spec/fathom/node_spec.rb
132
- - spec/fathom/simulation/tick_simulation_spec.rb
133
- - spec/fathom/simulation_spec.rb
134
- - spec/fathom/value_description_spec.rb
105
+ - lib/fathom/behaviors/attribute_system.rb
106
+ - lib/fathom/behaviors/context_behavior.rb
107
+ - lib/fathom/behaviors/plugins.rb
108
+ - lib/fathom/contexts/network_population.rb
109
+ - lib/fathom/contexts/network_traversal.rb
110
+ - lib/fathom/data/adjacency_matrix.rb
111
+ - lib/fathom/data/definition.rb
112
+ - lib/fathom/data/edge.rb
113
+ - lib/fathom/data/network.rb
114
+ - lib/fathom/data/outcome.rb
115
+ - lib/fathom/data/property.rb
116
+ - lib/fathom/data/variable.rb
117
+ - lib/fathom/roles/general_graph_tools.rb
118
+ - lib/fathom/roles/network_builder.rb
119
+ - spec/fathom/behaviors/attribute_system_spec.rb
120
+ - spec/fathom/behaviors/context_behavior_spec.rb
121
+ - spec/fathom/behaviors/plugins_spec.rb
122
+ - spec/fathom/contexts/network_population_spec.rb
123
+ - spec/fathom/contexts/network_traversal_spec.rb
124
+ - spec/fathom/data/adjacency_matrix_spec.rb
125
+ - spec/fathom/data/definition_spec.rb
126
+ - spec/fathom/data/edge_spec.rb
127
+ - spec/fathom/data/network_spec.rb
128
+ - spec/fathom/data/outcome_spec.rb
129
+ - spec/fathom/data/property_spec.rb
130
+ - spec/fathom/data/variable_spec.rb
131
+ - spec/fathom/ext/array_spec.rb
132
+ - spec/fathom/ext/string_spec.rb
133
+ - spec/fathom/roles/general_graph_tools_spec.rb
134
+ - spec/fathom/roles/network_builder_spec.rb
135
135
  - spec/fathom_spec.rb
136
136
  - spec/spec_helper.rb
137
- - spec/support/demo.yml
138
- - spec/support/demo_agent.rb
139
- - spec/support/dummy_numeric_node.rb
140
- - spec/support/fact.yml
141
- has_rdoc: true
137
+ - spec/support/context_behavior.rb
138
+ - spec/support/custom_matchers.rb
139
+ - spec/support/files.rb
140
+ - spec/support/network.yml
142
141
  homepage: http://github.com/davidrichards/fathom
143
- licenses: []
144
-
142
+ licenses:
143
+ - MIT
145
144
  post_install_message:
146
- rdoc_options:
147
- - --charset=UTF-8
148
- require_paths:
145
+ rdoc_options: []
146
+ require_paths:
149
147
  - lib
150
- required_ruby_version: !ruby/object:Gem::Requirement
148
+ required_ruby_version: !ruby/object:Gem::Requirement
151
149
  none: false
152
- requirements:
153
- - - ">="
154
- - !ruby/object:Gem::Version
155
- hash: 3
156
- segments:
150
+ requirements:
151
+ - - ! '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ segments:
157
155
  - 0
158
- version: "0"
159
- required_rubygems_version: !ruby/object:Gem::Requirement
156
+ hash: -3046749523075729937
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
158
  none: false
161
- requirements:
162
- - - ">="
163
- - !ruby/object:Gem::Version
164
- hash: 3
165
- segments:
166
- - 0
167
- version: "0"
159
+ requirements:
160
+ - - ! '>='
161
+ - !ruby/object:Gem::Version
162
+ version: '0'
168
163
  requirements: []
169
-
170
164
  rubyforge_project:
171
- rubygems_version: 1.5.0
165
+ rubygems_version: 1.8.11
172
166
  signing_key:
173
167
  specification_version: 3
174
- summary: Decision Support in Ruby
175
- test_files:
176
- - spec/ext/array_spec.rb
177
- - spec/ext/faster_csv_spec.rb
178
- - spec/ext/open_struct_spec.rb
179
- - spec/ext/string_spec.rb
180
- - spec/fathom/agent/agent_cluster_spec.rb
181
- - spec/fathom/agent_spec.rb
182
- - spec/fathom/distributions/discrete_gaussian_spec.rb
183
- - spec/fathom/distributions/discrete_uniform_spec.rb
184
- - spec/fathom/distributions/gaussian_spec.rb
185
- - spec/fathom/distributions/uniform_spec.rb
186
- - spec/fathom/import/csv_import_spec.rb
187
- - spec/fathom/import/import_node_spec.rb
188
- - spec/fathom/import/yaml_import_spec.rb
189
- - spec/fathom/import_spec.rb
190
- - spec/fathom/knowledge_base_spec.rb
191
- - spec/fathom/monte_carlo_set_spec.rb
192
- - spec/fathom/node/belief_node_spec.rb
193
- - spec/fathom/node/cpm_node_spec.rb
194
- - spec/fathom/node/data_collection_spec.rb
195
- - spec/fathom/node/data_node_spec.rb
196
- - spec/fathom/node/decision_spec.rb
197
- - spec/fathom/node/discrete_node_spec.rb
198
- - spec/fathom/node/fact_spec.rb
199
- - spec/fathom/node/mc_node_spec.rb
200
- - spec/fathom/node/node_extensions/enforced_name_spec.rb
201
- - spec/fathom/node/node_extensions/numeric_methods_spec.rb
202
- - spec/fathom/node/plausible_range_spec.rb
203
- - spec/fathom/node_spec.rb
204
- - spec/fathom/simulation/tick_simulation_spec.rb
205
- - spec/fathom/simulation_spec.rb
206
- - spec/fathom/value_description_spec.rb
207
- - spec/fathom_spec.rb
208
- - spec/spec_helper.rb
209
- - spec/support/demo_agent.rb
210
- - spec/support/dummy_numeric_node.rb
168
+ summary: Decision support in Ruby
169
+ test_files: []
@@ -1,2 +0,0 @@
1
- ---
2
- BUNDLE_DISABLE_SHARED_GEMS: "1"
data/.gitignore DELETED
@@ -1,6 +0,0 @@
1
- *.sw?
2
- .DS_Store
3
- coverage
4
- rdoc
5
- pkg
6
- *.gemspec
@@ -1,42 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- ZenTest (4.4.0)
5
- addressable (2.2.2)
6
- columnize (0.3.1)
7
- diff-lcs (1.1.2)
8
- fastercsv (1.5.3)
9
- linecache (0.43)
10
- macaddr (1.0.0)
11
- rdf (0.3.0.pre)
12
- addressable (>= 2.2)
13
- rspec (2.0.1)
14
- rspec-core (~> 2.0.1)
15
- rspec-expectations (~> 2.0.1)
16
- rspec-mocks (~> 2.0.1)
17
- rspec-core (2.0.1)
18
- rspec-expectations (2.0.1)
19
- diff-lcs (>= 1.1.2)
20
- rspec-mocks (2.0.1)
21
- rspec-core (~> 2.0.1)
22
- rspec-expectations (~> 2.0.1)
23
- ruby-debug (0.10.3)
24
- columnize (>= 0.1)
25
- ruby-debug-base (~> 0.10.3.0)
26
- ruby-debug-base (0.10.3)
27
- linecache (>= 0.3)
28
- sparql-algebra (0.0.1)
29
- rdf (= 0.3.0.pre)
30
- uuid (2.3.1)
31
- macaddr (~> 1.0)
32
-
33
- PLATFORMS
34
- ruby
35
-
36
- DEPENDENCIES
37
- ZenTest
38
- fastercsv
39
- rspec
40
- ruby-debug
41
- sparql-algebra
42
- uuid
data/TODO.md DELETED
@@ -1,127 +0,0 @@
1
- TODO
2
- ====
3
-
4
- Belief Networks (0.3.1)
5
- ---------------
6
-
7
- To get these delivered, I need to revisit the edge logic, to make sure it's easy to extend each edge with an object.
8
-
9
- Then:
10
-
11
- * CPM brought back from the archive
12
- * Network propagation
13
- * Network testing (polytree)
14
-
15
- Reorganizing (0.3.2)
16
- ------------
17
-
18
- I've just made some big refactoring steps regarding the organization of the system and the distributions. To make sure we're there:
19
-
20
- * Fix the inheritance structure
21
- * Go back and test the 4 distributions I decided on
22
- * Add SQLite3 for in-memory set operations for a labeled, multinomial node
23
-
24
- Agent Based Modeling (0.3.3)
25
- --------------------
26
-
27
- * Add parameter-passing standards for callbacks
28
- * Add EventMachine and async capabilities (Including the cluster idea)
29
- * Make sure the scope of dynamic methods defined are correct (class, object, singleton) (on properties and simulation)
30
-
31
- Knowledge Base (0.4)
32
- --------------
33
-
34
- Probably around here I'll be able to start looking at a persistent knowledge base. I am not sure which way I'll go, but things I'm considering:
35
-
36
- * RDF markup
37
- * Riak/Redis/Mongo/Couch backend
38
- * Backend adapters
39
- * tabular data in an RDBMS (think Apophenia)
40
-
41
- One of the key features needs to be search:
42
-
43
- * possibly a Xapian search index for full-text searching
44
- * still need a standard query language, depending on what I choose above
45
-
46
- Apophenia (0.5)
47
- ---------
48
-
49
- I'd like to get Apophenia integrated so that any data model generated there could be combined with the work done here. That means that most of the "hard" data crunching is using some fairly fast tools: C, SQLite3 in memory, Apophenia and the GSL.
50
-
51
- That would mean that you generally come to Fathom to:
52
-
53
- * coordinate the elements of a decision or information discovery project
54
- * run simulations across their collective knowledge
55
- * maintain consistent information between information nodes
56
-
57
- You would go to Apophenia to:
58
-
59
- * build data models from statistical methods
60
- * generate new sets from grouping, sorting, merging, and dealing with multiple imputation
61
-
62
- Fathom could feed the information to Apophenia data models. Given a fairly robust knowledge base, this makes a lot of sense.
63
-
64
- Import (0.6)
65
- ------
66
-
67
- * More robust support for CSV and YAML
68
- * OpenERP
69
- * RDF
70
- * Apophenia
71
- * Web Crawlers
72
-
73
- Value of Information (0.7)
74
- --------------------
75
-
76
- * Shannon's Entropy
77
- * Integration of nodes with the decisions they support
78
- * Economic value of the decision
79
- * Economic value of the measurement
80
- * Guidance for areas where reduced uncertainty would have the highest ROI
81
-
82
- Publication (1.0)
83
- -----------
84
-
85
- Turning Fathom into a better tool for publishing knowledge, there are a few major parts to add:
86
-
87
- Support for Reports:
88
-
89
- * Template-based system (possibly MVC as part of the Web Service)
90
- * Latex-enabled
91
- * Graphs and PDFs through Prawn
92
- * PDFs, CSVs through Ruport
93
-
94
- Web Service:
95
-
96
- * Basic CRUD for every node type
97
- * Traversal of the graph with good search semantics
98
- * Authentication and Authorization
99
- * HTML-based interface with strong input capabilities (mind map js, auto-build forms, dynamic forms, etc.)
100
- * Survey system
101
-
102
- Meta Data:
103
-
104
- * ontological support for systems approach to research (7 nodes / article)
105
- * ontological support for references (auto generate citations)
106
- * cleaner approach to the decision framework
107
-
108
- Causal Graphs
109
- -------------
110
-
111
- * Add the "DO" operator to a belief network
112
- * Add the tests for causality using the DO operator
113
-
114
- This stuff gets into things I haven't finished reading yet, but it would be very interesting/important to finish that work and bring it into Fathom. This is all Judea Pearl stuff.
115
-
116
- Information Service
117
- -------------------
118
-
119
- Using Seaside, Fathom (through the Web Service), and OpenERP, there are several products I could create using this framework:
120
-
121
- * Decision support could become custom integrated to a hosted OpenERP instance, for example.
122
- * General domain information could culled and organized and verified so that others could tie in and build only their parts of their decision support framework
123
- * Think tank support would be a very interesting place to work
124
-
125
- All of this could also be coupled with consulting and hosting services.
126
-
127
-