genie 0.1

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 (313) hide show
  1. data/genie-0.1.gem +0 -0
  2. data/genie-0.1/docs/classes/BasicCommand.html +249 -0
  3. data/genie-0.1/docs/classes/BasicCommand.src/M000070.html +18 -0
  4. data/genie-0.1/docs/classes/BasicCommand.src/M000071.html +18 -0
  5. data/genie-0.1/docs/classes/BasicCommand.src/M000072.html +18 -0
  6. data/genie-0.1/docs/classes/BasicCommand.src/M000073.html +18 -0
  7. data/genie-0.1/docs/classes/BasicCommand.src/M000074.html +16 -0
  8. data/genie-0.1/docs/classes/Command.html +277 -0
  9. data/genie-0.1/docs/classes/Command.src/M000052.html +20 -0
  10. data/genie-0.1/docs/classes/Command.src/M000053.html +18 -0
  11. data/genie-0.1/docs/classes/Command.src/M000054.html +20 -0
  12. data/genie-0.1/docs/classes/Command.src/M000055.html +20 -0
  13. data/genie-0.1/docs/classes/Command.src/M000056.html +18 -0
  14. data/genie-0.1/docs/classes/Command.src/M000057.html +18 -0
  15. data/genie-0.1/docs/classes/Command.src/M000058.html +23 -0
  16. data/genie-0.1/docs/classes/CommandMetainfo.html +362 -0
  17. data/genie-0.1/docs/classes/CommandMetainfo.src/M000042.html +18 -0
  18. data/genie-0.1/docs/classes/CommandMetainfo.src/M000043.html +18 -0
  19. data/genie-0.1/docs/classes/CommandMetainfo.src/M000044.html +19 -0
  20. data/genie-0.1/docs/classes/CommandMetainfo.src/M000045.html +25 -0
  21. data/genie-0.1/docs/classes/CommandMetainfo.src/M000046.html +21 -0
  22. data/genie-0.1/docs/classes/CommandMetainfo.src/M000047.html +21 -0
  23. data/genie-0.1/docs/classes/CompoundResult.html +359 -0
  24. data/genie-0.1/docs/classes/CompoundResult.src/M000075.html +18 -0
  25. data/genie-0.1/docs/classes/CompoundResult.src/M000076.html +18 -0
  26. data/genie-0.1/docs/classes/CompoundResult.src/M000078.html +18 -0
  27. data/genie-0.1/docs/classes/CompoundResult.src/M000079.html +18 -0
  28. data/genie-0.1/docs/classes/CompoundResult.src/M000080.html +18 -0
  29. data/genie-0.1/docs/classes/CompoundResult.src/M000082.html +18 -0
  30. data/genie-0.1/docs/classes/CompoundResult.src/M000084.html +20 -0
  31. data/genie-0.1/docs/classes/CompoundResult.src/M000085.html +18 -0
  32. data/genie-0.1/docs/classes/CompoundResult.src/M000086.html +18 -0
  33. data/genie-0.1/docs/classes/CompoundResult.src/M000087.html +20 -0
  34. data/genie-0.1/docs/classes/EntryProcessor.html +223 -0
  35. data/genie-0.1/docs/classes/EntryProcessor.src/M000008.html +18 -0
  36. data/genie-0.1/docs/classes/EntryProcessor.src/M000009.html +20 -0
  37. data/genie-0.1/docs/classes/EntryProcessor.src/M000010.html +18 -0
  38. data/genie-0.1/docs/classes/EntryProcessor.src/M000011.html +23 -0
  39. data/genie-0.1/docs/classes/Log4r.html +114 -0
  40. data/genie-0.1/docs/classes/Log4r/LogEvent.html +153 -0
  41. data/genie-0.1/docs/classes/Log4r/LogEvent.src/M000123.html +16 -0
  42. data/genie-0.1/docs/classes/NotifiedProcessor.html +155 -0
  43. data/genie-0.1/docs/classes/NotifiedProcessor.src/M000094.html +22 -0
  44. data/genie-0.1/docs/classes/NullTransactionController.html +191 -0
  45. data/genie-0.1/docs/classes/NullTransactionController.src/M000030.html +16 -0
  46. data/genie-0.1/docs/classes/NullTransactionController.src/M000031.html +16 -0
  47. data/genie-0.1/docs/classes/Object.html +154 -0
  48. data/genie-0.1/docs/classes/Object.src/M000103.html +16 -0
  49. data/genie-0.1/docs/classes/Periodic.html +564 -0
  50. data/genie-0.1/docs/classes/Periodic.src/M000124.html +26 -0
  51. data/genie-0.1/docs/classes/Periodic.src/M000125.html +21 -0
  52. data/genie-0.1/docs/classes/Periodic.src/M000126.html +18 -0
  53. data/genie-0.1/docs/classes/Periodic.src/M000127.html +18 -0
  54. data/genie-0.1/docs/classes/Periodic.src/M000128.html +31 -0
  55. data/genie-0.1/docs/classes/Periodic.src/M000129.html +30 -0
  56. data/genie-0.1/docs/classes/Periodic.src/M000130.html +18 -0
  57. data/genie-0.1/docs/classes/Periodic.src/M000131.html +18 -0
  58. data/genie-0.1/docs/classes/Periodic.src/M000132.html +16 -0
  59. data/genie-0.1/docs/classes/PollingProcessor.html +303 -0
  60. data/genie-0.1/docs/classes/PollingProcessor.src/M000088.html +23 -0
  61. data/genie-0.1/docs/classes/PollingProcessor.src/M000089.html +19 -0
  62. data/genie-0.1/docs/classes/PollingProcessor.src/M000091.html +22 -0
  63. data/genie-0.1/docs/classes/PollingProcessor.src/M000092.html +18 -0
  64. data/genie-0.1/docs/classes/PollingProcessor.src/M000093.html +18 -0
  65. data/genie-0.1/docs/classes/Queue.html +562 -0
  66. data/genie-0.1/docs/classes/Queue.src/M000104.html +22 -0
  67. data/genie-0.1/docs/classes/Queue.src/M000105.html +18 -0
  68. data/genie-0.1/docs/classes/Queue.src/M000106.html +18 -0
  69. data/genie-0.1/docs/classes/Queue.src/M000107.html +18 -0
  70. data/genie-0.1/docs/classes/Queue.src/M000108.html +21 -0
  71. data/genie-0.1/docs/classes/Queue.src/M000109.html +21 -0
  72. data/genie-0.1/docs/classes/Queue.src/M000110.html +22 -0
  73. data/genie-0.1/docs/classes/Queue.src/M000111.html +16 -0
  74. data/genie-0.1/docs/classes/Queue.src/M000112.html +18 -0
  75. data/genie-0.1/docs/classes/Queue.src/M000113.html +19 -0
  76. data/genie-0.1/docs/classes/Queue.src/M000114.html +23 -0
  77. data/genie-0.1/docs/classes/Queue.src/M000115.html +21 -0
  78. data/genie-0.1/docs/classes/Queue.src/M000116.html +19 -0
  79. data/genie-0.1/docs/classes/Queue.src/M000117.html +20 -0
  80. data/genie-0.1/docs/classes/Queue.src/M000118.html +25 -0
  81. data/genie-0.1/docs/classes/Queue.src/M000119.html +18 -0
  82. data/genie-0.1/docs/classes/Queue.src/M000120.html +22 -0
  83. data/genie-0.1/docs/classes/Queue.src/M000121.html +22 -0
  84. data/genie-0.1/docs/classes/Queue.src/M000122.html +20 -0
  85. data/genie-0.1/docs/classes/QueueDispatcher.html +247 -0
  86. data/genie-0.1/docs/classes/QueueDispatcher.src/M000048.html +18 -0
  87. data/genie-0.1/docs/classes/QueueDispatcher.src/M000049.html +21 -0
  88. data/genie-0.1/docs/classes/QueueDispatcher.src/M000050.html +18 -0
  89. data/genie-0.1/docs/classes/QueueDispatcher.src/M000051.html +32 -0
  90. data/genie-0.1/docs/classes/QueueEntry.html +522 -0
  91. data/genie-0.1/docs/classes/QueueEntry.src/M000012.html +21 -0
  92. data/genie-0.1/docs/classes/QueueEntry.src/M000013.html +18 -0
  93. data/genie-0.1/docs/classes/QueueEntry.src/M000014.html +18 -0
  94. data/genie-0.1/docs/classes/QueueEntry.src/M000015.html +18 -0
  95. data/genie-0.1/docs/classes/QueueEntry.src/M000017.html +16 -0
  96. data/genie-0.1/docs/classes/QueueEntry.src/M000018.html +19 -0
  97. data/genie-0.1/docs/classes/QueueEntry.src/M000020.html +19 -0
  98. data/genie-0.1/docs/classes/QueueEntry.src/M000022.html +19 -0
  99. data/genie-0.1/docs/classes/QueueEntry.src/M000023.html +21 -0
  100. data/genie-0.1/docs/classes/QueueEntry.src/M000024.html +19 -0
  101. data/genie-0.1/docs/classes/QueueEntry.src/M000025.html +18 -0
  102. data/genie-0.1/docs/classes/QueueEntry.src/M000026.html +18 -0
  103. data/genie-0.1/docs/classes/QueueEntry.src/M000028.html +18 -0
  104. data/genie-0.1/docs/classes/Result.html +289 -0
  105. data/genie-0.1/docs/classes/Result.src/M000063.html +20 -0
  106. data/genie-0.1/docs/classes/Result.src/M000064.html +18 -0
  107. data/genie-0.1/docs/classes/Result.src/M000066.html +18 -0
  108. data/genie-0.1/docs/classes/Result.src/M000068.html +18 -0
  109. data/genie-0.1/docs/classes/Result.src/M000069.html +19 -0
  110. data/genie-0.1/docs/classes/SemanticCommand.html +229 -0
  111. data/genie-0.1/docs/classes/SemanticCommand.src/M000059.html +19 -0
  112. data/genie-0.1/docs/classes/SemanticCommand.src/M000060.html +18 -0
  113. data/genie-0.1/docs/classes/SemanticCommand.src/M000061.html +18 -0
  114. data/genie-0.1/docs/classes/TransactionBundle.html +260 -0
  115. data/genie-0.1/docs/classes/TransactionBundle.src/M000001.html +18 -0
  116. data/genie-0.1/docs/classes/TransactionBundle.src/M000002.html +20 -0
  117. data/genie-0.1/docs/classes/TransactionBundle.src/M000003.html +20 -0
  118. data/genie-0.1/docs/classes/TransactionBundle.src/M000004.html +18 -0
  119. data/genie-0.1/docs/classes/TransactionBundle.src/M000005.html +18 -0
  120. data/genie-0.1/docs/classes/TransactionBundle.src/M000007.html +19 -0
  121. data/genie-0.1/docs/classes/UndoRedoCommand.html +308 -0
  122. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000095.html +19 -0
  123. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000096.html +16 -0
  124. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000097.html +16 -0
  125. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000098.html +16 -0
  126. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000099.html +18 -0
  127. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000101.html +18 -0
  128. data/genie-0.1/docs/classes/UndoRedoCommand.src/M000102.html +18 -0
  129. data/genie-0.1/docs/classes/UnitOfWork.html +322 -0
  130. data/genie-0.1/docs/classes/UnitOfWork.src/M000032.html +19 -0
  131. data/genie-0.1/docs/classes/UnitOfWork.src/M000033.html +18 -0
  132. data/genie-0.1/docs/classes/UnitOfWork.src/M000034.html +18 -0
  133. data/genie-0.1/docs/classes/UnitOfWork.src/M000035.html +18 -0
  134. data/genie-0.1/docs/classes/UnitOfWork.src/M000036.html +18 -0
  135. data/genie-0.1/docs/classes/UnitOfWork.src/M000037.html +18 -0
  136. data/genie-0.1/docs/classes/UnitOfWork.src/M000038.html +18 -0
  137. data/genie-0.1/docs/classes/UnitOfWork.src/M000039.html +18 -0
  138. data/genie-0.1/docs/classes/UnitOfWork.src/M000040.html +18 -0
  139. data/genie-0.1/docs/created.rid +1 -0
  140. data/genie-0.1/docs/dot/f_0.dot +14 -0
  141. data/genie-0.1/docs/dot/f_0.png +0 -0
  142. data/genie-0.1/docs/dot/f_1.dot +14 -0
  143. data/genie-0.1/docs/dot/f_1.png +0 -0
  144. data/genie-0.1/docs/dot/f_2.dot +14 -0
  145. data/genie-0.1/docs/dot/f_2.png +0 -0
  146. data/genie-0.1/docs/dot/f_3.dot +84 -0
  147. data/genie-0.1/docs/dot/f_3.png +0 -0
  148. data/genie-0.1/docs/dot/f_4.dot +14 -0
  149. data/genie-0.1/docs/dot/f_4.png +0 -0
  150. data/genie-0.1/docs/dot/f_5.dot +78 -0
  151. data/genie-0.1/docs/dot/f_5.png +0 -0
  152. data/genie-0.1/docs/dot/f_6.dot +50 -0
  153. data/genie-0.1/docs/dot/f_6.png +0 -0
  154. data/genie-0.1/docs/dot/f_7.dot +57 -0
  155. data/genie-0.1/docs/dot/f_7.png +0 -0
  156. data/genie-0.1/docs/dot/m_5_0.dot +30 -0
  157. data/genie-0.1/docs/dot/m_5_0.png +0 -0
  158. data/genie-0.1/docs/dot/m_7_0.dot +39 -0
  159. data/genie-0.1/docs/dot/m_7_0.png +0 -0
  160. data/genie-0.1/docs/files/License_txt.html +161 -0
  161. data/genie-0.1/docs/files/ReadMe_Amber_txt.html +491 -0
  162. data/genie-0.1/docs/files/ReadMe_txt.html +444 -0
  163. data/genie-0.1/docs/files/nist/genie/commands_rb.html +121 -0
  164. data/genie-0.1/docs/files/nist/genie/genie_rb.html +116 -0
  165. data/genie-0.1/docs/files/nist/genie/processors_rb.html +111 -0
  166. data/genie-0.1/docs/files/nist/genie/queues_rb.html +118 -0
  167. data/genie-0.1/docs/files/nist/genie/results_rb.html +117 -0
  168. data/genie-0.1/docs/fr_class_index.html +46 -0
  169. data/genie-0.1/docs/fr_file_index.html +34 -0
  170. data/genie-0.1/docs/fr_method_index.html +160 -0
  171. data/genie-0.1/docs/images/overview.jpg +0 -0
  172. data/genie-0.1/docs/index.html +24 -0
  173. data/genie-0.1/docs/rdoc-style.css +208 -0
  174. data/genie-0.1/lib/nist/genie/commands.rb +413 -0
  175. data/genie-0.1/lib/nist/genie/genie.rb +4 -0
  176. data/genie-0.1/lib/nist/genie/processors.rb +382 -0
  177. data/genie-0.1/lib/nist/genie/queues.rb +435 -0
  178. data/genie-0.1/lib/nist/genie/results.rb +113 -0
  179. data/genie-0.1/tests/helpers.rb +45 -0
  180. data/genie-0.1/tests/test_commands.rb +338 -0
  181. data/genie-0.1/tests/test_processors.rb +17 -0
  182. data/genie-0.1/tests/test_queues.rb +288 -0
  183. data/genie-0.1/tests/test_results.rb +37 -0
  184. data/trimurti-0.1.gem +0 -0
  185. data/trimurti-0.1/docs/classes/Array.html +176 -0
  186. data/trimurti-0.1/docs/classes/Array.src/M000005.html +19 -0
  187. data/trimurti-0.1/docs/classes/Array.src/M000006.html +19 -0
  188. data/trimurti-0.1/docs/classes/Asserter.html +136 -0
  189. data/trimurti-0.1/docs/classes/Brahma.html +360 -0
  190. data/trimurti-0.1/docs/classes/Brahma.src/M000029.html +21 -0
  191. data/trimurti-0.1/docs/classes/Brahma.src/M000030.html +20 -0
  192. data/trimurti-0.1/docs/classes/Brahma.src/M000031.html +36 -0
  193. data/trimurti-0.1/docs/classes/Brahma.src/M000032.html +18 -0
  194. data/trimurti-0.1/docs/classes/Brahma.src/M000033.html +20 -0
  195. data/trimurti-0.1/docs/classes/Brahma.src/M000034.html +21 -0
  196. data/trimurti-0.1/docs/classes/Brahma.src/M000035.html +25 -0
  197. data/trimurti-0.1/docs/classes/Brahma.src/M000036.html +22 -0
  198. data/trimurti-0.1/docs/classes/Brahma.src/M000037.html +22 -0
  199. data/trimurti-0.1/docs/classes/ComponentSpec.html +275 -0
  200. data/trimurti-0.1/docs/classes/ComponentSpec.src/M000001.html +21 -0
  201. data/trimurti-0.1/docs/classes/ComponentSpec.src/M000002.html +18 -0
  202. data/trimurti-0.1/docs/classes/DRb.html +165 -0
  203. data/trimurti-0.1/docs/classes/DRb.src/M000062.html +18 -0
  204. data/trimurti-0.1/docs/classes/DRb.src/M000063.html +18 -0
  205. data/trimurti-0.1/docs/classes/GUID.html +129 -0
  206. data/trimurti-0.1/docs/classes/Linda.html +444 -0
  207. data/trimurti-0.1/docs/classes/Linda.src/M000007.html +16 -0
  208. data/trimurti-0.1/docs/classes/Linda.src/M000008.html +16 -0
  209. data/trimurti-0.1/docs/classes/Linda.src/M000009.html +20 -0
  210. data/trimurti-0.1/docs/classes/Linda.src/M000010.html +16 -0
  211. data/trimurti-0.1/docs/classes/Linda.src/M000011.html +18 -0
  212. data/trimurti-0.1/docs/classes/Linda.src/M000012.html +21 -0
  213. data/trimurti-0.1/docs/classes/Linda.src/M000013.html +18 -0
  214. data/trimurti-0.1/docs/classes/Linda.src/M000014.html +18 -0
  215. data/trimurti-0.1/docs/classes/Linda.src/M000015.html +18 -0
  216. data/trimurti-0.1/docs/classes/Linda.src/M000016.html +18 -0
  217. data/trimurti-0.1/docs/classes/Linda.src/M000017.html +20 -0
  218. data/trimurti-0.1/docs/classes/Linda.src/M000018.html +20 -0
  219. data/trimurti-0.1/docs/classes/Object.html +153 -0
  220. data/trimurti-0.1/docs/classes/Object.src/M000021.html +18 -0
  221. data/trimurti-0.1/docs/classes/Plugins.html +174 -0
  222. data/trimurti-0.1/docs/classes/Plugins.src/M000024.html +32 -0
  223. data/trimurti-0.1/docs/classes/Plugins.src/M000025.html +32 -0
  224. data/trimurti-0.1/docs/classes/Plugins/Spec.html +267 -0
  225. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000026.html +22 -0
  226. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000027.html +18 -0
  227. data/trimurti-0.1/docs/classes/Plugins/Spec.src/M000028.html +20 -0
  228. data/trimurti-0.1/docs/classes/QBE_ID.html +147 -0
  229. data/trimurti-0.1/docs/classes/QBE_ID.src/M000059.html +18 -0
  230. data/trimurti-0.1/docs/classes/QueryByExample.html +270 -0
  231. data/trimurti-0.1/docs/classes/QueryByExample.src/M000054.html +17 -0
  232. data/trimurti-0.1/docs/classes/QueryByExample.src/M000055.html +17 -0
  233. data/trimurti-0.1/docs/classes/QueryByExample.src/M000056.html +17 -0
  234. data/trimurti-0.1/docs/classes/QueryByExample.src/M000057.html +17 -0
  235. data/trimurti-0.1/docs/classes/QueryByExample.src/M000058.html +17 -0
  236. data/trimurti-0.1/docs/classes/Shiva.html +159 -0
  237. data/trimurti-0.1/docs/classes/Shiva.src/M000060.html +18 -0
  238. data/trimurti-0.1/docs/classes/Shiva.src/M000061.html +19 -0
  239. data/trimurti-0.1/docs/classes/String.html +176 -0
  240. data/trimurti-0.1/docs/classes/String.src/M000022.html +16 -0
  241. data/trimurti-0.1/docs/classes/String.src/M000023.html +16 -0
  242. data/trimurti-0.1/docs/classes/Symbol.html +176 -0
  243. data/trimurti-0.1/docs/classes/Symbol.src/M000003.html +16 -0
  244. data/trimurti-0.1/docs/classes/Symbol.src/M000004.html +16 -0
  245. data/trimurti-0.1/docs/classes/Trimurti.html +189 -0
  246. data/trimurti-0.1/docs/classes/Trimurti.src/M000019.html +16 -0
  247. data/trimurti-0.1/docs/classes/Trimurti.src/M000020.html +16 -0
  248. data/trimurti-0.1/docs/classes/Vishnu.html +563 -0
  249. data/trimurti-0.1/docs/classes/Vishnu.src/M000038.html +18 -0
  250. data/trimurti-0.1/docs/classes/Vishnu.src/M000039.html +18 -0
  251. data/trimurti-0.1/docs/classes/Vishnu.src/M000040.html +18 -0
  252. data/trimurti-0.1/docs/classes/Vishnu.src/M000041.html +22 -0
  253. data/trimurti-0.1/docs/classes/Vishnu.src/M000042.html +23 -0
  254. data/trimurti-0.1/docs/classes/Vishnu.src/M000043.html +24 -0
  255. data/trimurti-0.1/docs/classes/Vishnu.src/M000044.html +24 -0
  256. data/trimurti-0.1/docs/classes/Vishnu.src/M000045.html +18 -0
  257. data/trimurti-0.1/docs/classes/Vishnu.src/M000046.html +22 -0
  258. data/trimurti-0.1/docs/classes/Vishnu.src/M000047.html +20 -0
  259. data/trimurti-0.1/docs/classes/Vishnu.src/M000048.html +18 -0
  260. data/trimurti-0.1/docs/classes/Vishnu.src/M000049.html +22 -0
  261. data/trimurti-0.1/docs/classes/Vishnu.src/M000050.html +20 -0
  262. data/trimurti-0.1/docs/classes/Vishnu.src/M000051.html +19 -0
  263. data/trimurti-0.1/docs/classes/Vishnu.src/M000052.html +30 -0
  264. data/trimurti-0.1/docs/classes/Vishnu.src/M000053.html +21 -0
  265. data/trimurti-0.1/docs/created.rid +1 -0
  266. data/trimurti-0.1/docs/dot/f_0.dot +14 -0
  267. data/trimurti-0.1/docs/dot/f_0.png +0 -0
  268. data/trimurti-0.1/docs/dot/f_1.dot +14 -0
  269. data/trimurti-0.1/docs/dot/f_1.png +0 -0
  270. data/trimurti-0.1/docs/dot/f_2.dot +14 -0
  271. data/trimurti-0.1/docs/dot/f_2.png +0 -0
  272. data/trimurti-0.1/docs/dot/f_3.dot +39 -0
  273. data/trimurti-0.1/docs/dot/f_3.png +0 -0
  274. data/trimurti-0.1/docs/dot/f_4.dot +39 -0
  275. data/trimurti-0.1/docs/dot/f_4.png +0 -0
  276. data/trimurti-0.1/docs/dot/f_5.dot +69 -0
  277. data/trimurti-0.1/docs/dot/f_5.png +0 -0
  278. data/trimurti-0.1/docs/dot/f_6.dot +149 -0
  279. data/trimurti-0.1/docs/dot/f_6.png +0 -0
  280. data/trimurti-0.1/docs/dot/m_3_0.dot +30 -0
  281. data/trimurti-0.1/docs/dot/m_3_0.png +0 -0
  282. data/trimurti-0.1/docs/dot/m_4_0.dot +39 -0
  283. data/trimurti-0.1/docs/dot/m_4_0.png +0 -0
  284. data/trimurti-0.1/docs/dot/m_5_0.dot +40 -0
  285. data/trimurti-0.1/docs/dot/m_5_0.png +0 -0
  286. data/trimurti-0.1/docs/dot/m_5_1.dot +30 -0
  287. data/trimurti-0.1/docs/dot/m_5_1.png +0 -0
  288. data/trimurti-0.1/docs/dot/m_6_0.dot +40 -0
  289. data/trimurti-0.1/docs/dot/m_6_0.png +0 -0
  290. data/trimurti-0.1/docs/dot/m_6_1.dot +30 -0
  291. data/trimurti-0.1/docs/dot/m_6_1.png +0 -0
  292. data/trimurti-0.1/docs/dot/m_6_2.dot +30 -0
  293. data/trimurti-0.1/docs/dot/m_6_2.png +0 -0
  294. data/trimurti-0.1/docs/files/License_txt.html +132 -0
  295. data/trimurti-0.1/docs/files/ReadMe_Amber_txt.html +491 -0
  296. data/trimurti-0.1/docs/files/ReadMe_txt.html +694 -0
  297. data/trimurti-0.1/docs/files/nist/trimurti/linda_rb.html +129 -0
  298. data/trimurti-0.1/docs/files/nist/trimurti/plugins_rb.html +129 -0
  299. data/trimurti-0.1/docs/files/nist/trimurti/queryByExample_rb.html +128 -0
  300. data/trimurti-0.1/docs/files/nist/trimurti/trimurti_rb.html +151 -0
  301. data/trimurti-0.1/docs/fr_class_index.html +43 -0
  302. data/trimurti-0.1/docs/fr_file_index.html +33 -0
  303. data/trimurti-0.1/docs/fr_method_index.html +89 -0
  304. data/trimurti-0.1/docs/images/overview.jpg +0 -0
  305. data/trimurti-0.1/docs/index.html +24 -0
  306. data/trimurti-0.1/docs/rdoc-style.css +208 -0
  307. data/trimurti-0.1/lib/nist/trimurti/linda.rb +163 -0
  308. data/trimurti-0.1/lib/nist/trimurti/plugins.rb +107 -0
  309. data/trimurti-0.1/lib/nist/trimurti/queryByExample.rb +81 -0
  310. data/trimurti-0.1/lib/nist/trimurti/trimurti.rb +433 -0
  311. data/trimurti-0.1/tests/test_linda.rb +111 -0
  312. data/trimurti-0.1/tests/test_trimurti.rb +247 -0
  313. metadata +467 -0
@@ -0,0 +1,444 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: ReadMe.txt</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>ReadMe.txt</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>ReadMe.txt
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Jan 16 14:06:09 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ </map>
73
+ <img src="../dot/f_1.png" usemap="#map" border=0 alt="TopLevel">
74
+ </div>
75
+
76
+ <div id="description">
77
+ <h1>Genie</h1>
78
+ <p>
79
+ Genie is an implementation of the command pattern, offering:
80
+ </p>
81
+ <ul>
82
+ <li><a href="../classes/Command.html">Command</a> history tracking
83
+
84
+ </li>
85
+ <li>Support for undo/redo
86
+
87
+ </li>
88
+ <li>Transaction bundling
89
+
90
+ </li>
91
+ <li>Load balancing
92
+
93
+ </li>
94
+ <li>Execution time estimates
95
+
96
+ </li>
97
+ <li>Synchronous or asynchronous command execution
98
+
99
+ </li>
100
+ <li>Any number of worker threads
101
+
102
+ </li>
103
+ </ul>
104
+ <p>
105
+ The basic idea of the command pattern is to represent a request for a
106
+ behavior by an object. The command pattern can be useful for implementing:
107
+ </p>
108
+ <ul>
109
+ <li>Glue between a GUI and its underlying processing
110
+
111
+ </li>
112
+ <li>Wizards
113
+
114
+ </li>
115
+ <li>Progress bars
116
+
117
+ </li>
118
+ <li>Macros
119
+
120
+ </li>
121
+ <li>Facades
122
+
123
+ </li>
124
+ </ul>
125
+ <h3>Model</h3>
126
+ <p>
127
+ <img src="../images/overview.jpg">
128
+ </p>
129
+ <h3>Walk though the Model</h3>
130
+ <p>
131
+ SemanticCommands (either Commands or UnitsOfWork built from Commands) are
132
+ constructed and submitted to a <a href="../classes/Queue.html">Queue</a>
133
+ via either:
134
+ </p>
135
+ <ul>
136
+ <li>enqueue (which returns immediately)
137
+
138
+ </li>
139
+ <li>do (which sleeps until a result is available).
140
+
141
+ </li>
142
+ </ul>
143
+ <p>
144
+ If the command is submitted to a <a
145
+ href="../classes/QueueDispatcher.html">QueueDispatcher</a>, the dispatcher
146
+ invokes the selection_proc to examine the command and decide which <a
147
+ href="../classes/Queue.html">Queue</a>(s) to submit the command to.
148
+ </p>
149
+ <p>
150
+ The <a href="../classes/Queue.html">Queue</a> wraps the command in a <a
151
+ href="../classes/QueueEntry.html">QueueEntry</a>, and notifies all of its
152
+ QueueWatchers (if any). Eventually (depending on configuration) an <a
153
+ href="../classes/EntryProcessor.html">EntryProcessor</a> requests one or
154
+ more QueueEntries. If multiple entries are requested (on the basis of
155
+ execution time or number of commands), they are returned in the form of a
156
+ transaction bundle. The <a
157
+ href="../classes/EntryProcessor.html">EntryProcessor</a> asks the <a
158
+ href="../classes/QueueEntry.html">QueueEntry</a> to perform its :do
159
+ behavior. Depending on the success of the result, the <a
160
+ href="../classes/EntryProcessor.html">EntryProcessor</a> asks the
161
+ TransactionController to either commit or rollback the Transaction. You
162
+ need to provide your own TransactionController: Genie provides only a <a
163
+ href="../classes/NullTransactionController.html">NullTransactionController</a>
164
+ whose methods are no-ops. For real transactions, it should be easy to adapt
165
+ one of these:
166
+ </p>
167
+ <ul>
168
+ <li>DBI <a href="http://ruby-dbi.sourceforge.net">ruby-dbi.sourceforge.net</a>/
169
+
170
+ </li>
171
+ <li>MySQL/Ruby <a
172
+ href="http://www.tmtm.org/mysql/ruby/README.html">www.tmtm.org/mysql/ruby/README.html</a>
173
+
174
+ </li>
175
+ <li>ODB <a href="http://brian.imxcc.com/odb">brian.imxcc.com/odb</a>/
176
+
177
+ </li>
178
+ <li>Trans-simple <a
179
+ href="http://raa.ruby-lang.org/project/trans-simple">raa.ruby-lang.org/project/trans-simple</a>/
180
+
181
+ </li>
182
+ <li>RDBC <a
183
+ href="http://raa.ruby-lang.org/project/rdbc">raa.ruby-lang.org/project/rdbc</a>/
184
+
185
+ </li>
186
+ </ul>
187
+ <p>
188
+ When the :do message is sent to the <a
189
+ href="../classes/QueueEntry.html">QueueEntry</a>, it forwards the request
190
+ to the <a href="../classes/SemanticCommand.html">SemanticCommand</a>. If
191
+ the <a href="../classes/SemanticCommand.html">SemanticCommand</a> is a <a
192
+ href="../classes/UnitOfWork.html">UnitOfWork</a>, it passes the request
193
+ onto its component Commands. Commands use their semantics attribute to look
194
+ up a <a href="../classes/CommandMetainfo.html">CommandMetainfo</a> instance
195
+ that has the same semantics. The <a
196
+ href="../classes/Command.html">Command</a> obtains the do_proc from the
197
+ metainfo, and calls it with its target, arg Hash, and undo_data Hash as
198
+ arguments. The developer can put anything in the do_proc, or rely on the
199
+ default Proc which sends do_&lt;semantics&gt; to the target with the arg
200
+ Hash and undo_data Hash as arguments.
201
+ </p>
202
+ <p>
203
+ The return value from the do_proc is wrapped into a <a
204
+ href="../classes/Result.html">Result</a> object, together with a
205
+ measurement of execution time, and any Log4r::LogEvents generated while the
206
+ do_proc was executing.
207
+ </p>
208
+ <p>
209
+ If the command failed, and retries are possible, the <a
210
+ href="../classes/QueueEntry.html">QueueEntry</a> might be returned to the
211
+ <a href="../classes/Queue.html">Queue</a>&#8217;s available collection for
212
+ another try. If the command was successful, or if retries are not possible,
213
+ <a href="../classes/QueueEntry.html">QueueEntry</a> is instead transferred
214
+ to the <a href="../classes/Queue.html">Queue</a>&#8217;s history.
215
+ </p>
216
+ <p>
217
+ To undo a command, first ask its <a
218
+ href="../classes/QueueEntry.html">QueueEntry</a> if the command can be
219
+ undone. If it can, ask the command for its inverse, which will be an
220
+ instance of <a href="../classes/UndoRedoCommand.html">UndoRedoCommand</a>.
221
+ Then submit the <a
222
+ href="../classes/UndoRedoCommand.html">UndoRedoCommand</a> to the <a
223
+ href="../classes/Queue.html">Queue</a>. When the <a
224
+ href="../classes/QueueEntry.html">QueueEntry</a> asks the <a
225
+ href="../classes/UndoRedoCommand.html">UndoRedoCommand</a> to :do, the <a
226
+ href="../classes/UndoRedoCommand.html">UndoRedoCommand</a> sends an :undo
227
+ request to the original <a href="../classes/Command.html">Command</a>,
228
+ which in turn calls the undo_proc obtained from the corresponding <a
229
+ href="../classes/CommandMetainfo.html">CommandMetainfo</a> instance.
230
+ Commands that can not be undone have metainfo with a nil undo_proc.
231
+ </p>
232
+ <h2>Status</h2>
233
+ <p>
234
+ Genie is currently pre-release software, which has not yet undergone
235
+ internal reviews. Genie is actively being used on the large Focus project
236
+ to build an augmented reality UML modeling tool. The regression tests do
237
+ not yet cover <a href="../classes/Periodic.html">Periodic</a>, <a
238
+ href="../classes/PollingProcessor.html">PollingProcessor</a>, and <a
239
+ href="../classes/TransactionBundle.html">TransactionBundle</a> (although
240
+ these classes are thought to be fully coded).
241
+ </p>
242
+ <h2>Installation</h2>
243
+ <p>
244
+ Genie can be downloaded in several forms:
245
+ </p>
246
+ <ul>
247
+ <li>A RubyGem, containing only Genie. Due to lack of resources, the RubyGem is
248
+ untested.
249
+
250
+ </li>
251
+ <li>A development snapshot containing Genie and nearly everything it depends
252
+ on, in a .tgz or .zip archive. The snapshot contains a complete Amber
253
+ development environment. Before using the development snapshot, you need
254
+ to:
255
+
256
+ <ol>
257
+ <li>Setup Amber (included in the snapshot): see <a
258
+ href="ReadMe_Amber_txt.html">ReadMe_Amber.txt</a>
259
+
260
+ </li>
261
+ <li>Install libraries required by Genie:
262
+
263
+ <pre>
264
+ cd $DevRoot/Projects/genie
265
+ rake install_lib
266
+ </pre>
267
+ </li>
268
+ </ol>
269
+ </li>
270
+ </ul>
271
+ <h2>Example</h2>
272
+ <p>
273
+ The following three Rake tasks are provided in Rakefile.rb (in the
274
+ development snapshot, but not the RubyGem):
275
+ </p>
276
+ <pre>
277
+ task :shared_preparation do
278
+ PHB.add_paths
279
+ require 'nist/genie/genie'
280
+ require 'drb/drb'
281
+ require 'nist/common/treeDump'
282
+ class String
283
+ # The default CommandMetainfo do_proc
284
+ # sends the target:
285
+ # do_&lt;semantics&gt;(argumentHash, undoDataHash)
286
+ # This silly example concatenates the target with
287
+ # an argument to obtain a complete URL: it then asks
288
+ # OS X to open the URL.
289
+ # Some undoData is saved, and a Symbol is returned:
290
+ # both of these should appear in the Result.
291
+ def do_open(args, undoData)
292
+ complete = self + args[:remainder]
293
+ system(&quot;open #{complete}&quot;) # Change this if you run Windows
294
+ undoData[:splendid]=:Mugwump
295
+ :Wombat
296
+ end
297
+ end # String
298
+ end
299
+
300
+ task :client =&gt; [:shared_preparation] do
301
+ # Get a proxy to the Queue
302
+ server_ip = '' # If the server is on a different host, replace this with the server's IP
303
+ proxy = DRbObject.new(nil, &quot;druby://#{server_ip}:8090&quot;)
304
+ # Build a Command
305
+ cmnd = Command.new(:open)
306
+ cmnd.target = 'http://www.dilbert'
307
+ cmnd.args[:remainder]='.com/comics/dilbert/archive/index.html'
308
+ # Submit the Command to the Queue proxy
309
+ proxy.do(cmnd).treeDump
310
+ end
311
+
312
+ task :server =&gt; [:shared_preparation] do
313
+ q = Queue.new
314
+ q.add_processor(NotifiedProcessor.new)
315
+ # Build the database of Command metainformation
316
+ CommandMetainfo.new(:open)
317
+ # Serve up the Queue
318
+ DRb.start_service(&quot;druby://:8090&quot;, q)
319
+ # Sleep until done.
320
+ # Wait for a QueueEntry to appear in the history.
321
+ sleep(1.0) until !q.history.empty?
322
+ q.history[0].treeDump
323
+ end
324
+ </pre>
325
+ <p>
326
+ To run this example on a single OS X computer:
327
+ </p>
328
+ <ol>
329
+ <li>Open a terminal
330
+
331
+ <pre>
332
+ cd $DevBase/Projects/genie
333
+ rake server
334
+ </pre>
335
+ </li>
336
+ <li>Not much will happen until step 3.
337
+
338
+ </li>
339
+ <li>Open another terminal
340
+
341
+ <pre>
342
+ cd $DevBase/Projects/genie
343
+ rake client
344
+ </pre>
345
+ </li>
346
+ <li>When you run the client task, it builds and submits a command which is
347
+ executed by the server task. When the server task executes the command, it
348
+ opens a URL in the Safari browser.
349
+
350
+ </li>
351
+ <li>Printout in the client terminal:
352
+
353
+ <pre>
354
+ Result id=3594788
355
+ @execution_seconds 0.341192
356
+ @result :Wombat
357
+ @notices Array id=3594738
358
+ @undo_data Hash id=3594698
359
+ :splendid =&gt; :Mugwump
360
+ </pre>
361
+ </li>
362
+ <li>Printout in the server terminal:
363
+
364
+ <pre>
365
+ QueueEntry id=3596198
366
+ @num_attempts 1
367
+ @when_added Sun Jan 15 22:34:06 EST 2006
368
+ @when_finished Sun Jan 15 22:34:07 EST 2006
369
+ @command Command id=3596388
370
+ @command_id 'f92b0e2d-b024-1039-8c3d-5d48e1efc918'
371
+ @semantics :open
372
+ @target 'http://www.dilbert'
373
+ @args Hash id=3596368
374
+ :remainder =&gt; '.com/comics/dilbert/archive/index.html'
375
+ @undo_data Hash id=3596248
376
+ :splendid =&gt; :Mugwump
377
+ @results Array id=3596168
378
+ [0] = Result id=3596008
379
+ @execution_seconds 0.341192
380
+ @result :Wombat
381
+ @notices Array id=3595988
382
+ @undo_data Hash id=3596248
383
+ :splendid =&gt; :Mugwump
384
+ @thread Thread id=3596918
385
+ </pre>
386
+ </li>
387
+ </ol>
388
+ <p>
389
+ To run the example with a client on a different computer than the server:
390
+ </p>
391
+ <ol>
392
+ <li>Open port 8090 on the server
393
+
394
+ </li>
395
+ <li>Modify the server_ip address in the :client task on the client
396
+
397
+ </li>
398
+ </ol>
399
+ <p>
400
+ This example is expected to work on Windows or Linux as well as OS X, if
401
+ you modify the command sent to the system to open the URL (in the :server
402
+ task).
403
+ </p>
404
+ <h2>Room For Improvement</h2>
405
+ <p>
406
+ Network traffic could probably be reduced with a few changes to
407
+ PollingProecessor.
408
+ </p>
409
+ <p>
410
+ Author: A. Griesser
411
+ </p>
412
+
413
+ </div>
414
+
415
+
416
+ </div>
417
+
418
+
419
+ </div>
420
+
421
+
422
+ <!-- if includes -->
423
+
424
+ <div id="section">
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+ <!-- if method_list -->
434
+
435
+
436
+ </div>
437
+
438
+
439
+ <div id="validator-badges">
440
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
441
+ </div>
442
+
443
+ </body>
444
+ </html>
@@ -0,0 +1,121 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>File: commands.rb</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="fileHeader">
50
+ <h1>commands.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>nist/genie/commands.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Mon Jan 16 14:06:09 EST 2006</td>
60
+ </tr>
61
+ </table>
62
+ </div>
63
+ <!-- banner header -->
64
+
65
+ <div id="bodyContent">
66
+
67
+
68
+
69
+ <div id="contextContent">
70
+ <div id="diagram">
71
+ <map id="map" name="map">
72
+ <area shape="RECT" coords="8,200,93,248" href="../../../classes/UnitOfWork.html" alt="UnitOfWork">
73
+ <area shape="RECT" coords="256,8,376,56" href="../../../classes/CommandMetainfo.html" alt="CommandMetainfo">
74
+ <area shape="RECT" coords="117,200,197,248" href="../../../classes/Command.html" alt="Command">
75
+ <area shape="RECT" coords="42,104,165,152" href="../../../classes/SemanticCommand.html" alt="SemanticCommand">
76
+ <area shape="RECT" coords="125,8,232,56" href="../../../classes/BasicCommand.html" alt="BasicCommand">
77
+ <area shape="RECT" coords="189,104,320,152" href="../../../classes/UndoRedoCommand.html" alt="UndoRedoCommand">
78
+ </map>
79
+ <img src="../../../dot/f_3.png" usemap="#map" border=0 alt="TopLevel">
80
+ </div>
81
+
82
+
83
+ <div id="requires-list">
84
+ <h3 class="section-bar">Required files</h3>
85
+
86
+ <div class="name-list">
87
+ nist/common/guid&nbsp;&nbsp;
88
+ nist/common/log&nbsp;&nbsp;
89
+ nist/common/singletonReflection&nbsp;&nbsp;
90
+ </div>
91
+ </div>
92
+
93
+ </div>
94
+
95
+
96
+ </div>
97
+
98
+
99
+ <!-- if includes -->
100
+
101
+ <div id="section">
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <!-- if method_list -->
111
+
112
+
113
+ </div>
114
+
115
+
116
+ <div id="validator-badges">
117
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
118
+ </div>
119
+
120
+ </body>
121
+ </html>