MINT-core 1.0.1 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. data/Gemfile +22 -3
  2. data/Gemfile.lock +98 -22
  3. data/History.txt +262 -0
  4. data/LICENSE +30 -0
  5. data/MINT-core.gemspec +25 -80
  6. data/Manifest.txt +145 -30
  7. data/README.rdoc +6 -163
  8. data/Rakefile +16 -17
  9. data/bin/mint-aui +3 -3
  10. data/bin/mint-cui-gfx +3 -2
  11. data/bin/mint-juggernaut.sh +0 -0
  12. data/bin/mint-tuplespace +0 -0
  13. data/lib/MINT-core.rb +53 -15
  14. data/lib/MINT-core/agent/agent.rb +1 -1
  15. data/lib/MINT-core/agent/aui.rb +0 -14
  16. data/lib/MINT-core/agent/auicontrol.rb +91 -38
  17. data/lib/MINT-core/agent/cui-gfx.rb +3 -3
  18. data/lib/MINT-core/agent/cuicontrol.rb +94 -24
  19. data/lib/MINT-core/connector/redis_connector.rb +16 -0
  20. data/lib/MINT-core/manager/mapping_manager.rb +101 -0
  21. data/lib/MINT-core/manager/mapping_parser.rb +89 -0
  22. data/lib/MINT-core/manager/mapping_server.rb +99 -0
  23. data/lib/MINT-core/manager/position_updater.rb +33 -0
  24. data/lib/MINT-core/manager/scxml_client.rb +118 -0
  25. data/lib/MINT-core/manager/scxml_server.rb +86 -0
  26. data/lib/MINT-core/mapping/action/action.rb +32 -0
  27. data/lib/MINT-core/mapping/action/backend_action.rb +32 -0
  28. data/lib/MINT-core/mapping/action/bind_action.rb +88 -0
  29. data/lib/MINT-core/mapping/action/event_action.rb +40 -0
  30. data/lib/MINT-core/mapping/complementary_mapping.rb +31 -0
  31. data/lib/MINT-core/mapping/mapping.rb +170 -34
  32. data/lib/MINT-core/mapping/observation/negation_observation.rb +64 -0
  33. data/lib/MINT-core/mapping/observation/observation.rb +219 -0
  34. data/lib/MINT-core/mapping/sequential.rb +1 -2
  35. data/lib/MINT-core/mapping/sequential_mapping.rb +60 -0
  36. data/lib/MINT-core/model/aui/AIChoiceElement.rb +17 -0
  37. data/lib/MINT-core/model/aui/AICommand.rb +7 -0
  38. data/lib/MINT-core/model/aui/AIContainer.rb +73 -0
  39. data/lib/MINT-core/model/aui/AIContext.rb +12 -0
  40. data/lib/MINT-core/model/aui/AIIN.rb +8 -0
  41. data/lib/MINT-core/model/aui/AIINContinuous.rb +56 -0
  42. data/lib/MINT-core/model/aui/AIINDiscrete.rb +8 -0
  43. data/lib/MINT-core/model/aui/AIMultiChoice.rb +1 -2
  44. data/lib/MINT-core/model/aui/AIMultiChoiceElement.rb +4 -51
  45. data/lib/MINT-core/model/aui/AIO.rb +76 -123
  46. data/lib/MINT-core/model/aui/AIOUT.rb +8 -0
  47. data/lib/MINT-core/model/aui/AIOUTContinuous.rb +61 -0
  48. data/lib/MINT-core/model/aui/AIReference.rb +16 -0
  49. data/lib/MINT-core/model/aui/AISingleChoice.rb +18 -1
  50. data/lib/MINT-core/model/aui/AISingleChoiceElement.rb +10 -56
  51. data/lib/MINT-core/model/aui/AISinglePresence.rb +39 -71
  52. data/lib/MINT-core/model/aui/aicommand.scxml +47 -0
  53. data/lib/MINT-core/model/aui/aicontainer.scxml +41 -0
  54. data/lib/MINT-core/model/aui/aicontext.scxml +34 -0
  55. data/lib/MINT-core/model/aui/aiincontinuous.scxml +59 -0
  56. data/lib/MINT-core/model/aui/aiinrange.scxml +86 -0
  57. data/lib/MINT-core/model/aui/aimultichoice.scxml +67 -0
  58. data/lib/MINT-core/model/aui/aimultichoiceelement.scxml +51 -0
  59. data/lib/MINT-core/model/aui/aio.scxml +18 -27
  60. data/lib/MINT-core/model/aui/aioutcontinuous.scxml +66 -0
  61. data/lib/MINT-core/model/aui/aireference.scxml +28 -0
  62. data/lib/MINT-core/model/aui/aisinglechoice.scxml +60 -0
  63. data/lib/MINT-core/model/aui/aisinglechoiceelement.scxml +45 -60
  64. data/lib/MINT-core/model/aui/aisinglepresence.scxml +15 -24
  65. data/lib/MINT-core/model/aui/model.rb +15 -38
  66. data/lib/MINT-core/model/cui/gfx/CIC.rb +34 -10
  67. data/lib/MINT-core/model/cui/gfx/CIO.rb +66 -115
  68. data/lib/MINT-core/model/cui/gfx/CarouFredSel.scxml +58 -0
  69. data/lib/MINT-core/model/cui/gfx/MarkableRadioButton.rb +8 -0
  70. data/lib/MINT-core/model/cui/gfx/RadioButton.rb +8 -0
  71. data/lib/MINT-core/model/cui/gfx/RadioButtonGroup.rb +6 -0
  72. data/lib/MINT-core/model/cui/gfx/button.rb +16 -0
  73. data/lib/MINT-core/model/cui/gfx/button.scxml +58 -0
  74. data/lib/MINT-core/model/cui/gfx/caroufredsel.rb +48 -0
  75. data/lib/MINT-core/model/cui/gfx/cic.scxml +57 -0
  76. data/lib/MINT-core/model/cui/gfx/cio.scxml +54 -0
  77. data/lib/MINT-core/model/cui/gfx/markableradiobutton.scxml +67 -0
  78. data/lib/MINT-core/model/cui/gfx/model.rb +39 -176
  79. data/lib/MINT-core/model/cui/gfx/radiobutton.scxml +59 -0
  80. data/lib/MINT-core/model/interactor.rb +167 -46
  81. data/lib/MINT-core/model/interactor.scxml +3 -0
  82. data/lib/MINT-core/model/interactor_helpers.rb +25 -0
  83. data/lib/MINT-core/model/ir/body/OneHandPoseNavigation.rb +15 -0
  84. data/lib/MINT-core/model/ir/body/body.rb +5 -0
  85. data/lib/MINT-core/model/ir/body/fingertip.rb +114 -0
  86. data/lib/MINT-core/model/ir/body/fingertip.scxml +43 -0
  87. data/lib/MINT-core/model/{body → ir/body}/gesture_button.rb +0 -0
  88. data/lib/MINT-core/model/ir/body/hand.rb +5 -0
  89. data/lib/MINT-core/model/ir/body/head.rb +102 -0
  90. data/lib/MINT-core/model/ir/body/head.scxml +92 -0
  91. data/lib/MINT-core/model/ir/body/onehandposenavigation.scxml +53 -0
  92. data/lib/MINT-core/model/ir/body/pose.rb +99 -0
  93. data/lib/MINT-core/model/ir/browserscreen.rb +27 -0
  94. data/lib/MINT-core/model/ir/browserscreen.scxml +14 -0
  95. data/lib/MINT-core/model/{device → ir}/button.rb +1 -1
  96. data/lib/MINT-core/model/ir/ir.rb +5 -0
  97. data/lib/MINT-core/model/ir/irmedia.rb +5 -0
  98. data/lib/MINT-core/model/ir/irmode.rb +5 -0
  99. data/lib/MINT-core/model/{device → ir}/joypad.rb +1 -1
  100. data/lib/MINT-core/model/ir/mouse.rb +44 -0
  101. data/lib/MINT-core/model/ir/mouse.scxml +35 -0
  102. data/lib/MINT-core/model/{device/mouse.rb → ir/mouse_old.rb} +2 -2
  103. data/lib/MINT-core/model/{device → ir}/pointer.rb +20 -22
  104. data/lib/MINT-core/model/ir/pointer.scxml +19 -0
  105. data/lib/MINT-core/model/ir/screen.rb +5 -0
  106. data/lib/MINT-core/model/{device → ir}/wheel.rb +1 -1
  107. data/lib/MINT-core/model/mim/aicommand_activate_to_button_press.xml +13 -0
  108. data/lib/MINT-core/model/mim/aicommand_deactivate_to_button_release.xml +13 -0
  109. data/lib/MINT-core/model/mim/aio_defocus_to_cio_unhighlight.xml +13 -0
  110. data/lib/MINT-core/model/mim/aio_focus_to_cio_highlight.xml +14 -0
  111. data/lib/MINT-core/model/mim/aio_present_to_cio_display.xml +14 -0
  112. data/lib/MINT-core/model/mim/aio_suspend_to_cio_hide.xml +13 -0
  113. data/lib/MINT-core/model/mim/aisinglechoice_present_to_child_present.xml +14 -0
  114. data/lib/MINT-core/model/mim/aisinglechoiceelement_chosen_to_radiobutton_select.xml +13 -0
  115. data/lib/MINT-core/model/mim/aisinglechoiceelement_unchosen_to_radiobutton_unselect.xml +13 -0
  116. data/lib/MINT-core/model/mim/aisinglepresence_children_finished_to_caroufredsel_init_js.xml +14 -0
  117. data/lib/MINT-core/model/mim/aisinglepresence_present_to_child_present.xml +15 -0
  118. data/lib/MINT-core/model/mim/browserscreen_reload_to_cuicontrol_refresh_all.xml +12 -0
  119. data/lib/MINT-core/model/mim/button_press_to_aicommand_activate.xml +12 -0
  120. data/lib/MINT-core/model/mim/button_release_to_aicommand_deactivate.xml +12 -0
  121. data/lib/MINT-core/model/mim/caroufredsel_refreshing_to_caroufredsel_init_js.xml +14 -0
  122. data/lib/MINT-core/model/mim/cio_display_to_aio_defocus.xml +13 -0
  123. data/lib/MINT-core/model/mim/cio_display_to_aio_present.xml +12 -0
  124. data/lib/MINT-core/model/mim/cio_display_to_cio_display_cache_add.xml +11 -0
  125. data/lib/MINT-core/model/mim/cio_hide_to_aio_suspend.xml +12 -0
  126. data/lib/MINT-core/model/mim/cio_hide_to_cio_display_cache_remove.xml +12 -0
  127. data/lib/MINT-core/model/mim/cio_highlight_to_aio_focus.xml +13 -0
  128. data/lib/MINT-core/model/mim/head_looking_left_to_aisinglepresence_prev.xml +14 -0
  129. data/lib/MINT-core/model/mim/head_looking_right_to_aisinglepresence_next.xml +15 -0
  130. data/lib/MINT-core/model/mim/head_nodding_to_aisinglepresence_next.xml +15 -0
  131. data/lib/MINT-core/model/mim/head_tilting_left_to_aisinglepresence_prev.xml +14 -0
  132. data/lib/MINT-core/model/mim/head_tilting_right_to_aisinglepresence_next.xml +15 -0
  133. data/lib/MINT-core/model/mim/left_button_aisinglepresence_enter.xml +15 -0
  134. data/lib/MINT-core/model/mim/left_button_aisinglepresence_next.xml +15 -0
  135. data/lib/MINT-core/model/mim/mim_default.xml +52 -0
  136. data/lib/MINT-core/model/mim/mint-mappings.xsd +127 -0
  137. data/lib/MINT-core/model/mim/mouse_press_to_aicommand_activate.xml +17 -0
  138. data/lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_choose.xml +17 -0
  139. data/lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_unchoose.xml +17 -0
  140. data/lib/MINT-core/model/mim/mouse_release_to_aicommand_deactivate.xml +16 -0
  141. data/lib/MINT-core/model/mim/mouse_stop_to_cio_highlight.xml +13 -0
  142. data/lib/MINT-core/model/mim/onehandposnav_confirm_to_aichoiceelement_choose.xml +14 -0
  143. data/lib/MINT-core/model/mim/onehandposnav_next_to_aio_next.xml +14 -0
  144. data/lib/MINT-core/model/mim/onehandposnav_previous_to_aio_prev.xml +14 -0
  145. data/lib/MINT-core/model/mim/radiobutton_selected_to_aisinglechoiceelement_choose.xml +13 -0
  146. data/lib/MINT-core/model/mim/radiobutton_unselected_to_aisinglechoiceelement_unchoose.xml +13 -0
  147. data/lib/MINT-core/model/mim/right_button_aisinglepresence_prev.xml +15 -0
  148. data/lib/MINT-core/model/task.rb +6 -6
  149. data/script/console +0 -0
  150. data/script/destroy +0 -0
  151. data/script/generate +0 -0
  152. data/spec/AICommand_spec.rb +20 -0
  153. data/spec/AIContainer_spec.rb +161 -0
  154. data/spec/AIINContinuous_spec.rb +92 -0
  155. data/spec/AIOUTContinuous_spec.rb +93 -0
  156. data/spec/AIO_spec.rb +73 -0
  157. data/spec/AIReference_spec.rb +105 -0
  158. data/spec/AISinglePresence_spec.rb +204 -60
  159. data/spec/Button_spec.rb +114 -0
  160. data/spec/CIO_spec.rb +145 -0
  161. data/spec/Interactor_spec.rb +95 -0
  162. data/spec/MappingManager_spec.rb +126 -0
  163. data/spec/Spontaneous_spec.rb +53 -0
  164. data/spec/aio_agent_spec.rb +215 -186
  165. data/spec/aisinglechoice_spec.rb +147 -88
  166. data/spec/aisinglechoiceelement_spec.rb +154 -70
  167. data/spec/complementary_mapping_spec.rb +158 -0
  168. data/spec/core_spec.rb +27 -15
  169. data/spec/cui_helper.rb +100 -0
  170. data/spec/examples/browserscreen_reload_to_cuicontrol_refresh_all.xml +12 -0
  171. data/spec/examples/mim_streaming_example.xml +9 -0
  172. data/spec/examples/mouse_highlight.xml +22 -0
  173. data/spec/examples/performance_mapping.xml +15 -0
  174. data/spec/examples/reset_click.xml +24 -0
  175. data/spec/interactor_test.scxml +32 -0
  176. data/spec/interactor_test_2.scxml +16 -0
  177. data/spec/mapping_performance_spec.rb +118 -0
  178. data/spec/mapping_server_spec.rb +161 -0
  179. data/spec/mapping_spec.rb +307 -0
  180. data/spec/music_spec.rb +301 -135
  181. data/spec/performance_counter.scxml +9 -0
  182. data/spec/sequential_mappings_spec.rb +69 -0
  183. data/spec/shared/aio_shared.rb +144 -0
  184. data/spec/spec_helper.rb +22 -3
  185. data/spec/spontaneous.scxml +11 -0
  186. data/spec/support/connection_helper.rb +19 -0
  187. data/spec/support/redis_connector_monkey_patch.rb +1 -0
  188. data/spec/support/statemachine_helper.rb +84 -0
  189. data/spec/sync_mappings_spec.rb +96 -0
  190. metadata +219 -354
  191. data/lib/MINT-core/mapping/complementary.rb +0 -100
  192. data/lib/MINT-core/mapping/on_state_change.rb +0 -65
  193. data/lib/MINT-core/model/aui/AIC.rb +0 -86
  194. data/lib/MINT-core/model/aui/AIChoice.rb +0 -65
  195. data/lib/MINT-core/model/aui/AIINChoose.rb +0 -54
  196. data/lib/MINT-core/model/aui/AIOUTDiscrete.rb +0 -43
  197. data/lib/MINT-core/model/aui/aic.png +0 -0
  198. data/lib/MINT-core/model/aui/aic.scxml +0 -50
  199. data/lib/MINT-core/model/aui/aichoice.png +0 -0
  200. data/lib/MINT-core/model/aui/aichoice.scxml +0 -60
  201. data/lib/MINT-core/model/aui/aio.png +0 -0
  202. data/lib/MINT-core/model/aui/aisinglechoiceelement.png +0 -0
  203. data/lib/MINT-core/model/aui/aisinglepresence.png +0 -0
  204. data/lib/MINT-core/model/body/handgesture.rb +0 -279
  205. data/lib/MINT-core/model/body/head.png +0 -0
  206. data/lib/MINT-core/model/body/head.rb +0 -51
  207. data/lib/MINT-core/model/body/head.scxml +0 -28
  208. data/lib/MINT-core/model/cui/gfx/screen.rb +0 -18
  209. data/lib/MINT-core/overrides/rinda.rb +0 -34
  210. data/spec/AIC_spec.rb +0 -69
  211. data/spec/MINT-core_spec.rb +0 -11
  212. data/spec/aio_spec.rb +0 -144
  213. data/spec/cio_spec.rb +0 -369
  214. data/tasks/rspec.rake +0 -21
@@ -1,95 +1,40 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  Gem::Specification.new do |s|
4
- s.name = %q{MINT-core}
5
- s.version = "1.0.0"
4
+ s.name = "MINT-core"
5
+ s.version = "2.0.0"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = [%q{Sebastian Feuerstack}]
9
- s.date = %q{2011-11-08}
10
- s.description = %q{Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.
11
-
12
- Examples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.
13
-
14
- This framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.
15
-
16
- Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
17
-
18
- The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. Please note that you need at least a CUI adapter gem to be able to actually run a system, e.g. the MINT-rails gem. But for initial experiements ist enough to follow the installation instructions of this document.
19
-
20
- There is still no documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .}
21
- s.email = [%q{Sebastian@Feuerstack.org}]
22
- s.executables = [%q{mint-aui}, %q{mint-cui-gfx}, %q{mint-juggernaut.sh}, %q{mint-tuplespace}]
23
- s.extra_rdoc_files = [%q{History.txt}, %q{Manifest.txt}, %q{PostInstall.txt}]
24
- s.files = [%q{Gemfile}, %q{Gemfile.lock}, %q{History.txt}, %q{MINT-core.gemspec}, %q{Manifest.txt}, %q{PostInstall.txt}, %q{README.rdoc}, %q{Rakefile}, %q{bin/mint-aui}, %q{bin/mint-cui-gfx}, %q{bin/mint-juggernaut.sh}, %q{bin/mint-tuplespace}, %q{lib/MINT-core.rb}, %q{lib/MINT-core/agent/agent.rb}, %q{lib/MINT-core/agent/aui.rb}, %q{lib/MINT-core/agent/auicontrol.rb}, %q{lib/MINT-core/agent/cui-gfx.rb}, %q{lib/MINT-core/agent/cuicontrol.rb}, %q{lib/MINT-core/mapping/complementary.rb}, %q{lib/MINT-core/mapping/mapping.rb}, %q{lib/MINT-core/mapping/on_state_change.rb}, %q{lib/MINT-core/mapping/sequential.rb}, %q{lib/MINT-core/model/aui/AIC.rb}, %q{lib/MINT-core/model/aui/AIChoice.rb}, %q{lib/MINT-core/model/aui/AIINChoose.rb}, %q{lib/MINT-core/model/aui/AIMultiChoice.rb}, %q{lib/MINT-core/model/aui/AIMultiChoiceElement.rb}, %q{lib/MINT-core/model/aui/AIO.rb}, %q{lib/MINT-core/model/aui/AIOUTDiscrete.rb}, %q{lib/MINT-core/model/aui/AISingleChoice.rb}, %q{lib/MINT-core/model/aui/AISingleChoiceElement.rb}, %q{lib/MINT-core/model/aui/AISinglePresence.rb}, %q{lib/MINT-core/model/aui/aic.png}, %q{lib/MINT-core/model/aui/aic.scxml}, %q{lib/MINT-core/model/aui/aichoice.png}, %q{lib/MINT-core/model/aui/aichoice.scxml}, %q{lib/MINT-core/model/aui/aio.png}, %q{lib/MINT-core/model/aui/aio.scxml}, %q{lib/MINT-core/model/aui/aisinglechoiceelement.png}, %q{lib/MINT-core/model/aui/aisinglechoiceelement.scxml}, %q{lib/MINT-core/model/aui/aisinglepresence.png}, %q{lib/MINT-core/model/aui/aisinglepresence.scxml}, %q{lib/MINT-core/model/aui/model.rb}, %q{lib/MINT-core/model/body/gesture_button.rb}, %q{lib/MINT-core/model/body/handgesture.rb}, %q{lib/MINT-core/model/body/head.png}, %q{lib/MINT-core/model/body/head.rb}, %q{lib/MINT-core/model/body/head.scxml}, %q{lib/MINT-core/model/cui/gfx/CIC.rb}, %q{lib/MINT-core/model/cui/gfx/CIO.rb}, %q{lib/MINT-core/model/cui/gfx/model.rb}, %q{lib/MINT-core/model/cui/gfx/screen.rb}, %q{lib/MINT-core/model/device/button.rb}, %q{lib/MINT-core/model/device/joypad.rb}, %q{lib/MINT-core/model/device/mouse.rb}, %q{lib/MINT-core/model/device/pointer.rb}, %q{lib/MINT-core/model/device/wheel.rb}, %q{lib/MINT-core/model/interactor.rb}, %q{lib/MINT-core/model/task.rb}, %q{lib/MINT-core/overrides/rinda.rb}, %q{script/console}, %q{script/destroy}, %q{script/generate}, %q{spec/AIC_spec.rb}, %q{spec/AISinglePresence_spec.rb}, %q{spec/MINT-core_spec.rb}, %q{spec/aio_agent_spec.rb}, %q{spec/aio_spec.rb}, %q{spec/aisinglechoice_spec.rb}, %q{spec/aisinglechoiceelement_spec.rb}, %q{spec/cio_spec.rb}, %q{spec/core_spec.rb}, %q{spec/music_spec.rb}, %q{spec/rcov.opts}, %q{spec/spec.opts}, %q{spec/spec_helper.rb}, %q{tasks/rspec.rake}, %q{.gemtest}]
25
- s.homepage = %q{http://www.multi-access.de}
26
- s.post_install_message = %q{PostInstall.txt}
27
- s.rdoc_options = [%q{--main}, %q{README.rdoc}]
28
- s.require_paths = [%q{lib}]
29
- s.rubyforge_project = %q{MINT-core}
30
- s.rubygems_version = %q{1.8.5}
31
- s.summary = %q{Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life}
8
+ s.authors = ["Sebastian Feuerstack"]
9
+ s.date = "2012-11-21"
10
+ s.description = "Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life.\n\nExamples are in-car assistance systems or recent game consoles. Future interaction will be embedded into smart environments offering the user to choose and to combine a heterogeneous set of interaction devices and modalities based on his preferences realizing an ubiquitous and multimodal access.\n\nThis framework enables the modeling and execution of multimodal interaction interfaces for the web based on ruby and implements a server-sided synchronisation of all connected modes and media. Currenlty the framework considers gestures, head movements, multi touch and the mouse as principle input modes. The priciple output media is a web application based on a rails frontend as well as sound support based on the SDL libraries.\n\nBuilding this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification. \n\nThe MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. For presenting the user interface on a specific platform a \"frontend framework\" is required. For the first MINT version (2010) we used Rails 2.3 (See http://github.com/sfeu/MINT-rails). The current version uses nodeJS and socketstream as the frontend framework (See http://github.com/sfeu/MINT-platform). The MINT-platform project contains installation instructions.\n\nThere is still no further documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de ."
11
+ s.email = ["Sebastian@Feuerstack.org"]
12
+ s.executables = ["mint-aui", "mint-cui-gfx", "mint-juggernaut.sh", "mint-tuplespace"]
13
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc"]
14
+ s.files = ["Gemfile", "Gemfile.lock", "History.txt", "LICENSE", "MINT-core.gemspec", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "bin/mint-aui", "bin/mint-cui-gfx", "bin/mint-juggernaut.sh", "bin/mint-tuplespace", "lib/MINT-core.rb", "lib/MINT-core/agent/agent.rb", "lib/MINT-core/agent/aui.rb", "lib/MINT-core/agent/auicontrol.rb", "lib/MINT-core/agent/cui-gfx.rb", "lib/MINT-core/agent/cuicontrol.rb", "lib/MINT-core/connector/redis_connector.rb", "lib/MINT-core/manager/mapping_manager.rb", "lib/MINT-core/manager/mapping_parser.rb", "lib/MINT-core/manager/mapping_server.rb", "lib/MINT-core/manager/position_updater.rb", "lib/MINT-core/manager/scxml_client.rb", "lib/MINT-core/manager/scxml_server.rb", "lib/MINT-core/mapping/action/action.rb", "lib/MINT-core/mapping/action/backend_action.rb", "lib/MINT-core/mapping/action/bind_action.rb", "lib/MINT-core/mapping/action/event_action.rb", "lib/MINT-core/mapping/complementary_mapping.rb", "lib/MINT-core/mapping/mapping.rb", "lib/MINT-core/mapping/observation/negation_observation.rb", "lib/MINT-core/mapping/observation/observation.rb", "lib/MINT-core/mapping/sequential.rb", "lib/MINT-core/mapping/sequential_mapping.rb", "lib/MINT-core/model/aui/AIChoiceElement.rb", "lib/MINT-core/model/aui/AICommand.rb", "lib/MINT-core/model/aui/AIContainer.rb", "lib/MINT-core/model/aui/AIContext.rb", "lib/MINT-core/model/aui/AIIN.rb", "lib/MINT-core/model/aui/AIINContinuous.rb", "lib/MINT-core/model/aui/AIINDiscrete.rb", "lib/MINT-core/model/aui/AIMultiChoice.rb", "lib/MINT-core/model/aui/AIMultiChoiceElement.rb", "lib/MINT-core/model/aui/AIO.rb", "lib/MINT-core/model/aui/AIOUT.rb", "lib/MINT-core/model/aui/AIOUTContinuous.rb", "lib/MINT-core/model/aui/AIReference.rb", "lib/MINT-core/model/aui/AISingleChoice.rb", "lib/MINT-core/model/aui/AISingleChoiceElement.rb", "lib/MINT-core/model/aui/AISinglePresence.rb", "lib/MINT-core/model/aui/aicommand.scxml", "lib/MINT-core/model/aui/aicontainer.scxml", "lib/MINT-core/model/aui/aicontext.scxml", "lib/MINT-core/model/aui/aiincontinuous.scxml", "lib/MINT-core/model/aui/aiinrange.scxml", "lib/MINT-core/model/aui/aimultichoice.scxml", "lib/MINT-core/model/aui/aimultichoiceelement.scxml", "lib/MINT-core/model/aui/aio.scxml", "lib/MINT-core/model/aui/aioutcontinuous.scxml", "lib/MINT-core/model/aui/aireference.scxml", "lib/MINT-core/model/aui/aisinglechoice.scxml", "lib/MINT-core/model/aui/aisinglechoiceelement.scxml", "lib/MINT-core/model/aui/aisinglepresence.scxml", "lib/MINT-core/model/aui/model.rb", "lib/MINT-core/model/cui/gfx/CIC.rb", "lib/MINT-core/model/cui/gfx/CIO.rb", "lib/MINT-core/model/cui/gfx/CarouFredSel.scxml", "lib/MINT-core/model/cui/gfx/MarkableRadioButton.rb", "lib/MINT-core/model/cui/gfx/RadioButton.rb", "lib/MINT-core/model/cui/gfx/RadioButtonGroup.rb", "lib/MINT-core/model/cui/gfx/button.rb", "lib/MINT-core/model/cui/gfx/button.scxml", "lib/MINT-core/model/cui/gfx/caroufredsel.rb", "lib/MINT-core/model/cui/gfx/cic.scxml", "lib/MINT-core/model/cui/gfx/cio.scxml", "lib/MINT-core/model/cui/gfx/markableradiobutton.scxml", "lib/MINT-core/model/cui/gfx/model.rb", "lib/MINT-core/model/cui/gfx/radiobutton.scxml", "lib/MINT-core/model/interactor.rb", "lib/MINT-core/model/interactor.scxml", "lib/MINT-core/model/interactor_helpers.rb", "lib/MINT-core/model/ir/body/OneHandPoseNavigation.rb", "lib/MINT-core/model/ir/body/body.rb", "lib/MINT-core/model/ir/body/fingertip.rb", "lib/MINT-core/model/ir/body/fingertip.scxml", "lib/MINT-core/model/ir/body/gesture_button.rb", "lib/MINT-core/model/ir/body/hand.rb", "lib/MINT-core/model/ir/body/head.rb", "lib/MINT-core/model/ir/body/head.scxml", "lib/MINT-core/model/ir/body/onehandposenavigation.scxml", "lib/MINT-core/model/ir/body/pose.rb", "lib/MINT-core/model/ir/browserscreen.rb", "lib/MINT-core/model/ir/browserscreen.scxml", "lib/MINT-core/model/ir/button.rb", "lib/MINT-core/model/ir/ir.rb", "lib/MINT-core/model/ir/irmedia.rb", "lib/MINT-core/model/ir/irmode.rb", "lib/MINT-core/model/ir/joypad.rb", "lib/MINT-core/model/ir/mouse.rb", "lib/MINT-core/model/ir/mouse.scxml", "lib/MINT-core/model/ir/mouse_old.rb", "lib/MINT-core/model/ir/pointer.rb", "lib/MINT-core/model/ir/pointer.scxml", "lib/MINT-core/model/ir/screen.rb", "lib/MINT-core/model/ir/wheel.rb", "lib/MINT-core/model/mim/aicommand_activate_to_button_press.xml", "lib/MINT-core/model/mim/aicommand_deactivate_to_button_release.xml", "lib/MINT-core/model/mim/aio_defocus_to_cio_unhighlight.xml", "lib/MINT-core/model/mim/aio_focus_to_cio_highlight.xml", "lib/MINT-core/model/mim/aio_present_to_cio_display.xml", "lib/MINT-core/model/mim/aio_suspend_to_cio_hide.xml", "lib/MINT-core/model/mim/aisinglechoice_present_to_child_present.xml", "lib/MINT-core/model/mim/aisinglechoiceelement_chosen_to_radiobutton_select.xml", "lib/MINT-core/model/mim/aisinglechoiceelement_unchosen_to_radiobutton_unselect.xml", "lib/MINT-core/model/mim/aisinglepresence_children_finished_to_caroufredsel_init_js.xml", "lib/MINT-core/model/mim/aisinglepresence_present_to_child_present.xml", "lib/MINT-core/model/mim/browserscreen_reload_to_cuicontrol_refresh_all.xml", "lib/MINT-core/model/mim/button_press_to_aicommand_activate.xml", "lib/MINT-core/model/mim/button_release_to_aicommand_deactivate.xml", "lib/MINT-core/model/mim/caroufredsel_refreshing_to_caroufredsel_init_js.xml", "lib/MINT-core/model/mim/cio_display_to_aio_defocus.xml", "lib/MINT-core/model/mim/cio_display_to_aio_present.xml", "lib/MINT-core/model/mim/cio_display_to_cio_display_cache_add.xml", "lib/MINT-core/model/mim/cio_hide_to_aio_suspend.xml", "lib/MINT-core/model/mim/cio_hide_to_cio_display_cache_remove.xml", "lib/MINT-core/model/mim/cio_highlight_to_aio_focus.xml", "lib/MINT-core/model/mim/head_looking_left_to_aisinglepresence_prev.xml", "lib/MINT-core/model/mim/head_looking_right_to_aisinglepresence_next.xml", "lib/MINT-core/model/mim/head_nodding_to_aisinglepresence_next.xml", "lib/MINT-core/model/mim/head_tilting_left_to_aisinglepresence_prev.xml", "lib/MINT-core/model/mim/head_tilting_right_to_aisinglepresence_next.xml", "lib/MINT-core/model/mim/left_button_aisinglepresence_enter.xml", "lib/MINT-core/model/mim/left_button_aisinglepresence_next.xml", "lib/MINT-core/model/mim/mim_default.xml", "lib/MINT-core/model/mim/mint-mappings.xsd", "lib/MINT-core/model/mim/mouse_press_to_aicommand_activate.xml", "lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_choose.xml", "lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_unchoose.xml", "lib/MINT-core/model/mim/mouse_release_to_aicommand_deactivate.xml", "lib/MINT-core/model/mim/mouse_stop_to_cio_highlight.xml", "lib/MINT-core/model/mim/onehandposnav_confirm_to_aichoiceelement_choose.xml", "lib/MINT-core/model/mim/onehandposnav_next_to_aio_next.xml", "lib/MINT-core/model/mim/onehandposnav_previous_to_aio_prev.xml", "lib/MINT-core/model/mim/radiobutton_selected_to_aisinglechoiceelement_choose.xml", "lib/MINT-core/model/mim/radiobutton_unselected_to_aisinglechoiceelement_unchoose.xml", "lib/MINT-core/model/mim/right_button_aisinglepresence_prev.xml", "lib/MINT-core/model/task.rb", "script/console", "script/destroy", "script/generate", "spec/AICommand_spec.rb", "spec/AIContainer_spec.rb", "spec/AIINContinuous_spec.rb", "spec/AIOUTContinuous_spec.rb", "spec/AIO_spec.rb", "spec/AIReference_spec.rb", "spec/AISinglePresence_spec.rb", "spec/Button_spec.rb", "spec/CIO_spec.rb", "spec/Interactor_spec.rb", "spec/MappingManager_spec.rb", "spec/Spontaneous_spec.rb", "spec/aio_agent_spec.rb", "spec/aisinglechoice_spec.rb", "spec/aisinglechoiceelement_spec.rb", "spec/complementary_mapping_spec.rb", "spec/core_spec.rb", "spec/cui_helper.rb", "spec/examples/browserscreen_reload_to_cuicontrol_refresh_all.xml", "spec/examples/mim_streaming_example.xml", "spec/examples/mouse_highlight.xml", "spec/examples/performance_mapping.xml", "spec/examples/reset_click.xml", "spec/interactor_test.scxml", "spec/interactor_test_2.scxml", "spec/mapping_performance_spec.rb", "spec/mapping_server_spec.rb", "spec/mapping_spec.rb", "spec/music_spec.rb", "spec/performance_counter.scxml", "spec/rcov.opts", "spec/sequential_mappings_spec.rb", "spec/shared/aio_shared.rb", "spec/spec.opts", "spec/spec_helper.rb", "spec/spontaneous.scxml", "spec/support/connection_helper.rb", "spec/support/redis_connector_monkey_patch.rb", "spec/support/statemachine_helper.rb", "spec/sync_mappings_spec.rb", ".gemtest"]
15
+ s.homepage = "http://www.multi-access.de"
16
+ s.post_install_message = "PostInstall.txt"
17
+ s.rdoc_options = ["--main", "README.rdoc"]
18
+ s.require_paths = ["lib"]
19
+ s.rubyforge_project = "MINT-core"
20
+ s.rubygems_version = "1.8.15"
21
+ s.summary = "Multimodal systems realizing a combination of speech, gesture and graphical-driven interaction are getting part of our everyday life"
32
22
 
33
23
  if s.respond_to? :specification_version then
34
24
  s.specification_version = 3
35
25
 
36
26
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
37
- s.add_runtime_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
38
- s.add_runtime_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
39
- s.add_runtime_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
40
- s.add_runtime_dependency(%q<cassowary>, ["~> 1.0.0"])
41
- s.add_runtime_dependency(%q<dm-core>, ["~> 0.10.2"])
42
- s.add_runtime_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
43
- s.add_runtime_dependency(%q<cassowary>, ["~> 1.0.0"])
44
- s.add_runtime_dependency(%q<eventmachine>, ["~> 0.12.10"])
45
- s.add_runtime_dependency(%q<rake>, ["= 0.9.2.2"])
46
- s.add_runtime_dependency(%q<rmagick>, ["~> 2.12.2"])
47
- s.add_runtime_dependency(%q<json>, ["~> 1.5.1"])
48
- s.add_runtime_dependency(%q<redis>, ["~> 2.2.1"])
49
- s.add_runtime_dependency(%q<dm-types>, ["~> 0.10.2"])
50
- s.add_development_dependency(%q<rspec>, ["= 1.3.1"])
51
- s.add_development_dependency(%q<hoe>, ["~> 2.9.6"])
52
- s.add_development_dependency(%q<newgem>, ["~> 1.5.3"])
53
- s.add_development_dependency(%q<rdoc>, ["~> 3.11"])
54
- s.add_development_dependency(%q<hoe>, ["~> 2.9"])
27
+ s.add_development_dependency(%q<rdoc>, ["~> 3.10"])
28
+ s.add_development_dependency(%q<newgem>, [">= 1.5.3"])
29
+ s.add_development_dependency(%q<hoe>, ["~> 3.3"])
55
30
  else
56
- s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
57
- s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
58
- s.add_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
59
- s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
60
- s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
61
- s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
62
- s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
63
- s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
64
- s.add_dependency(%q<rake>, ["= 0.9.2.2"])
65
- s.add_dependency(%q<rmagick>, ["~> 2.12.2"])
66
- s.add_dependency(%q<json>, ["~> 1.5.1"])
67
- s.add_dependency(%q<redis>, ["~> 2.2.1"])
68
- s.add_dependency(%q<dm-types>, ["~> 0.10.2"])
69
- s.add_dependency(%q<rspec>, ["= 1.3.1"])
70
- s.add_dependency(%q<hoe>, ["~> 2.9.6"])
71
- s.add_dependency(%q<newgem>, ["~> 1.5.3"])
72
- s.add_dependency(%q<rdoc>, ["~> 3.11"])
73
- s.add_dependency(%q<hoe>, ["~> 2.9"])
31
+ s.add_dependency(%q<rdoc>, ["~> 3.10"])
32
+ s.add_dependency(%q<newgem>, [">= 1.5.3"])
33
+ s.add_dependency(%q<hoe>, ["~> 3.3"])
74
34
  end
75
35
  else
76
- s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.0"])
77
- s.add_dependency(%q<MINT-statemachine>, ["~> 1.2.3"])
78
- s.add_dependency(%q<MINT-scxml>, ["~> 1.0.0"])
79
- s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
80
- s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
81
- s.add_dependency(%q<dm-rinda-adapter>, ["~> 0.1.2"])
82
- s.add_dependency(%q<cassowary>, ["~> 1.0.0"])
83
- s.add_dependency(%q<eventmachine>, ["~> 0.12.10"])
84
- s.add_dependency(%q<rake>, ["= 0.9.2.2"])
85
- s.add_dependency(%q<rmagick>, ["~> 2.12.2"])
86
- s.add_dependency(%q<json>, ["~> 1.5.1"])
87
- s.add_dependency(%q<redis>, ["~> 2.2.1"])
88
- s.add_dependency(%q<dm-types>, ["~> 0.10.2"])
89
- s.add_dependency(%q<rspec>, ["= 1.3.1"])
90
- s.add_dependency(%q<hoe>, ["~> 2.9.6"])
91
- s.add_dependency(%q<newgem>, ["~> 1.5.3"])
92
- s.add_dependency(%q<rdoc>, ["~> 3.11"])
93
- s.add_dependency(%q<hoe>, ["~> 2.9"])
36
+ s.add_dependency(%q<rdoc>, ["~> 3.10"])
37
+ s.add_dependency(%q<newgem>, [">= 1.5.3"])
38
+ s.add_dependency(%q<hoe>, ["~> 3.3"])
94
39
  end
95
40
  end
@@ -1,6 +1,7 @@
1
1
  Gemfile
2
2
  Gemfile.lock
3
3
  History.txt
4
+ LICENSE
4
5
  MINT-core.gemspec
5
6
  Manifest.txt
6
7
  PostInstall.txt
@@ -16,62 +17,176 @@ lib/MINT-core/agent/aui.rb
16
17
  lib/MINT-core/agent/auicontrol.rb
17
18
  lib/MINT-core/agent/cui-gfx.rb
18
19
  lib/MINT-core/agent/cuicontrol.rb
19
- lib/MINT-core/mapping/complementary.rb
20
+ lib/MINT-core/connector/redis_connector.rb
21
+ lib/MINT-core/manager/mapping_manager.rb
22
+ lib/MINT-core/manager/mapping_parser.rb
23
+ lib/MINT-core/manager/mapping_server.rb
24
+ lib/MINT-core/manager/position_updater.rb
25
+ lib/MINT-core/manager/scxml_client.rb
26
+ lib/MINT-core/manager/scxml_server.rb
27
+ lib/MINT-core/mapping/action/action.rb
28
+ lib/MINT-core/mapping/action/backend_action.rb
29
+ lib/MINT-core/mapping/action/bind_action.rb
30
+ lib/MINT-core/mapping/action/event_action.rb
31
+ lib/MINT-core/mapping/complementary_mapping.rb
20
32
  lib/MINT-core/mapping/mapping.rb
21
- lib/MINT-core/mapping/on_state_change.rb
33
+ lib/MINT-core/mapping/observation/negation_observation.rb
34
+ lib/MINT-core/mapping/observation/observation.rb
22
35
  lib/MINT-core/mapping/sequential.rb
23
- lib/MINT-core/model/aui/AIC.rb
24
- lib/MINT-core/model/aui/AIChoice.rb
25
- lib/MINT-core/model/aui/AIINChoose.rb
36
+ lib/MINT-core/mapping/sequential_mapping.rb
37
+ lib/MINT-core/model/aui/AIChoiceElement.rb
38
+ lib/MINT-core/model/aui/AICommand.rb
39
+ lib/MINT-core/model/aui/AIContainer.rb
40
+ lib/MINT-core/model/aui/AIContext.rb
41
+ lib/MINT-core/model/aui/AIIN.rb
42
+ lib/MINT-core/model/aui/AIINContinuous.rb
43
+ lib/MINT-core/model/aui/AIINDiscrete.rb
26
44
  lib/MINT-core/model/aui/AIMultiChoice.rb
27
45
  lib/MINT-core/model/aui/AIMultiChoiceElement.rb
28
46
  lib/MINT-core/model/aui/AIO.rb
29
- lib/MINT-core/model/aui/AIOUTDiscrete.rb
47
+ lib/MINT-core/model/aui/AIOUT.rb
48
+ lib/MINT-core/model/aui/AIOUTContinuous.rb
49
+ lib/MINT-core/model/aui/AIReference.rb
30
50
  lib/MINT-core/model/aui/AISingleChoice.rb
31
51
  lib/MINT-core/model/aui/AISingleChoiceElement.rb
32
52
  lib/MINT-core/model/aui/AISinglePresence.rb
33
- lib/MINT-core/model/aui/aic.png
34
- lib/MINT-core/model/aui/aic.scxml
35
- lib/MINT-core/model/aui/aichoice.png
36
- lib/MINT-core/model/aui/aichoice.scxml
37
- lib/MINT-core/model/aui/aio.png
53
+ lib/MINT-core/model/aui/aicommand.scxml
54
+ lib/MINT-core/model/aui/aicontainer.scxml
55
+ lib/MINT-core/model/aui/aicontext.scxml
56
+ lib/MINT-core/model/aui/aiincontinuous.scxml
57
+ lib/MINT-core/model/aui/aiinrange.scxml
58
+ lib/MINT-core/model/aui/aimultichoice.scxml
59
+ lib/MINT-core/model/aui/aimultichoiceelement.scxml
38
60
  lib/MINT-core/model/aui/aio.scxml
39
- lib/MINT-core/model/aui/aisinglechoiceelement.png
61
+ lib/MINT-core/model/aui/aioutcontinuous.scxml
62
+ lib/MINT-core/model/aui/aireference.scxml
63
+ lib/MINT-core/model/aui/aisinglechoice.scxml
40
64
  lib/MINT-core/model/aui/aisinglechoiceelement.scxml
41
- lib/MINT-core/model/aui/aisinglepresence.png
42
65
  lib/MINT-core/model/aui/aisinglepresence.scxml
43
66
  lib/MINT-core/model/aui/model.rb
44
- lib/MINT-core/model/body/gesture_button.rb
45
- lib/MINT-core/model/body/handgesture.rb
46
- lib/MINT-core/model/body/head.png
47
- lib/MINT-core/model/body/head.rb
48
- lib/MINT-core/model/body/head.scxml
49
67
  lib/MINT-core/model/cui/gfx/CIC.rb
50
68
  lib/MINT-core/model/cui/gfx/CIO.rb
69
+ lib/MINT-core/model/cui/gfx/CarouFredSel.scxml
70
+ lib/MINT-core/model/cui/gfx/MarkableRadioButton.rb
71
+ lib/MINT-core/model/cui/gfx/RadioButton.rb
72
+ lib/MINT-core/model/cui/gfx/RadioButtonGroup.rb
73
+ lib/MINT-core/model/cui/gfx/button.rb
74
+ lib/MINT-core/model/cui/gfx/button.scxml
75
+ lib/MINT-core/model/cui/gfx/caroufredsel.rb
76
+ lib/MINT-core/model/cui/gfx/cic.scxml
77
+ lib/MINT-core/model/cui/gfx/cio.scxml
78
+ lib/MINT-core/model/cui/gfx/markableradiobutton.scxml
51
79
  lib/MINT-core/model/cui/gfx/model.rb
52
- lib/MINT-core/model/cui/gfx/screen.rb
53
- lib/MINT-core/model/device/button.rb
54
- lib/MINT-core/model/device/joypad.rb
55
- lib/MINT-core/model/device/mouse.rb
56
- lib/MINT-core/model/device/pointer.rb
57
- lib/MINT-core/model/device/wheel.rb
80
+ lib/MINT-core/model/cui/gfx/radiobutton.scxml
58
81
  lib/MINT-core/model/interactor.rb
82
+ lib/MINT-core/model/interactor.scxml
83
+ lib/MINT-core/model/interactor_helpers.rb
84
+ lib/MINT-core/model/ir/body/OneHandPoseNavigation.rb
85
+ lib/MINT-core/model/ir/body/body.rb
86
+ lib/MINT-core/model/ir/body/fingertip.rb
87
+ lib/MINT-core/model/ir/body/fingertip.scxml
88
+ lib/MINT-core/model/ir/body/gesture_button.rb
89
+ lib/MINT-core/model/ir/body/hand.rb
90
+ lib/MINT-core/model/ir/body/head.rb
91
+ lib/MINT-core/model/ir/body/head.scxml
92
+ lib/MINT-core/model/ir/body/onehandposenavigation.scxml
93
+ lib/MINT-core/model/ir/body/pose.rb
94
+ lib/MINT-core/model/ir/browserscreen.rb
95
+ lib/MINT-core/model/ir/browserscreen.scxml
96
+ lib/MINT-core/model/ir/button.rb
97
+ lib/MINT-core/model/ir/ir.rb
98
+ lib/MINT-core/model/ir/irmedia.rb
99
+ lib/MINT-core/model/ir/irmode.rb
100
+ lib/MINT-core/model/ir/joypad.rb
101
+ lib/MINT-core/model/ir/mouse.rb
102
+ lib/MINT-core/model/ir/mouse.scxml
103
+ lib/MINT-core/model/ir/mouse_old.rb
104
+ lib/MINT-core/model/ir/pointer.rb
105
+ lib/MINT-core/model/ir/pointer.scxml
106
+ lib/MINT-core/model/ir/screen.rb
107
+ lib/MINT-core/model/ir/wheel.rb
108
+ lib/MINT-core/model/mim/aicommand_activate_to_button_press.xml
109
+ lib/MINT-core/model/mim/aicommand_deactivate_to_button_release.xml
110
+ lib/MINT-core/model/mim/aio_defocus_to_cio_unhighlight.xml
111
+ lib/MINT-core/model/mim/aio_focus_to_cio_highlight.xml
112
+ lib/MINT-core/model/mim/aio_present_to_cio_display.xml
113
+ lib/MINT-core/model/mim/aio_suspend_to_cio_hide.xml
114
+ lib/MINT-core/model/mim/aisinglechoice_present_to_child_present.xml
115
+ lib/MINT-core/model/mim/aisinglechoiceelement_chosen_to_radiobutton_select.xml
116
+ lib/MINT-core/model/mim/aisinglechoiceelement_unchosen_to_radiobutton_unselect.xml
117
+ lib/MINT-core/model/mim/aisinglepresence_children_finished_to_caroufredsel_init_js.xml
118
+ lib/MINT-core/model/mim/aisinglepresence_present_to_child_present.xml
119
+ lib/MINT-core/model/mim/browserscreen_reload_to_cuicontrol_refresh_all.xml
120
+ lib/MINT-core/model/mim/button_press_to_aicommand_activate.xml
121
+ lib/MINT-core/model/mim/button_release_to_aicommand_deactivate.xml
122
+ lib/MINT-core/model/mim/caroufredsel_refreshing_to_caroufredsel_init_js.xml
123
+ lib/MINT-core/model/mim/cio_display_to_aio_defocus.xml
124
+ lib/MINT-core/model/mim/cio_display_to_aio_present.xml
125
+ lib/MINT-core/model/mim/cio_display_to_cio_display_cache_add.xml
126
+ lib/MINT-core/model/mim/cio_hide_to_aio_suspend.xml
127
+ lib/MINT-core/model/mim/cio_hide_to_cio_display_cache_remove.xml
128
+ lib/MINT-core/model/mim/cio_highlight_to_aio_focus.xml
129
+ lib/MINT-core/model/mim/head_looking_left_to_aisinglepresence_prev.xml
130
+ lib/MINT-core/model/mim/head_looking_right_to_aisinglepresence_next.xml
131
+ lib/MINT-core/model/mim/head_nodding_to_aisinglepresence_next.xml
132
+ lib/MINT-core/model/mim/head_tilting_left_to_aisinglepresence_prev.xml
133
+ lib/MINT-core/model/mim/head_tilting_right_to_aisinglepresence_next.xml
134
+ lib/MINT-core/model/mim/left_button_aisinglepresence_enter.xml
135
+ lib/MINT-core/model/mim/left_button_aisinglepresence_next.xml
136
+ lib/MINT-core/model/mim/mim_default.xml
137
+ lib/MINT-core/model/mim/mint-mappings.xsd
138
+ lib/MINT-core/model/mim/mouse_press_to_aicommand_activate.xml
139
+ lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_choose.xml
140
+ lib/MINT-core/model/mim/mouse_press_to_aisinglechoiceelement_unchoose.xml
141
+ lib/MINT-core/model/mim/mouse_release_to_aicommand_deactivate.xml
142
+ lib/MINT-core/model/mim/mouse_stop_to_cio_highlight.xml
143
+ lib/MINT-core/model/mim/onehandposnav_confirm_to_aichoiceelement_choose.xml
144
+ lib/MINT-core/model/mim/onehandposnav_next_to_aio_next.xml
145
+ lib/MINT-core/model/mim/onehandposnav_previous_to_aio_prev.xml
146
+ lib/MINT-core/model/mim/radiobutton_selected_to_aisinglechoiceelement_choose.xml
147
+ lib/MINT-core/model/mim/radiobutton_unselected_to_aisinglechoiceelement_unchoose.xml
148
+ lib/MINT-core/model/mim/right_button_aisinglepresence_prev.xml
59
149
  lib/MINT-core/model/task.rb
60
- lib/MINT-core/overrides/rinda.rb
61
150
  script/console
62
151
  script/destroy
63
152
  script/generate
64
- spec/AIC_spec.rb
153
+ spec/AICommand_spec.rb
154
+ spec/AIContainer_spec.rb
155
+ spec/AIINContinuous_spec.rb
156
+ spec/AIOUTContinuous_spec.rb
157
+ spec/AIO_spec.rb
158
+ spec/AIReference_spec.rb
65
159
  spec/AISinglePresence_spec.rb
66
- spec/MINT-core_spec.rb
160
+ spec/Button_spec.rb
161
+ spec/CIO_spec.rb
162
+ spec/Interactor_spec.rb
163
+ spec/MappingManager_spec.rb
164
+ spec/Spontaneous_spec.rb
67
165
  spec/aio_agent_spec.rb
68
- spec/aio_spec.rb
69
166
  spec/aisinglechoice_spec.rb
70
167
  spec/aisinglechoiceelement_spec.rb
71
- spec/cio_spec.rb
168
+ spec/complementary_mapping_spec.rb
72
169
  spec/core_spec.rb
170
+ spec/cui_helper.rb
171
+ spec/examples/browserscreen_reload_to_cuicontrol_refresh_all.xml
172
+ spec/examples/mim_streaming_example.xml
173
+ spec/examples/mouse_highlight.xml
174
+ spec/examples/performance_mapping.xml
175
+ spec/examples/reset_click.xml
176
+ spec/interactor_test.scxml
177
+ spec/interactor_test_2.scxml
178
+ spec/mapping_performance_spec.rb
179
+ spec/mapping_server_spec.rb
180
+ spec/mapping_spec.rb
73
181
  spec/music_spec.rb
182
+ spec/performance_counter.scxml
74
183
  spec/rcov.opts
184
+ spec/sequential_mappings_spec.rb
185
+ spec/shared/aio_shared.rb
75
186
  spec/spec.opts
76
187
  spec/spec_helper.rb
77
- tasks/rspec.rake
188
+ spec/spontaneous.scxml
189
+ spec/support/connection_helper.rb
190
+ spec/support/redis_connector_monkey_patch.rb
191
+ spec/support/statemachine_helper.rb
192
+ spec/sync_mappings_spec.rb
@@ -1,4 +1,4 @@
1
- = MINT Framework Core Platform
1
+ = MINT Framework Core Platform version 2012
2
2
 
3
3
  * http://www.multi-access.de
4
4
 
@@ -12,18 +12,18 @@ This framework enables the modeling and execution of multimodal interaction inte
12
12
 
13
13
  Building this framework is an ongoing effort and it has to be pointed out that it serves to demonstrate scientific research results and is not targeted to we applied to serve productive systems as they are several limitations that need to be solved (maybe with your help?) like for instance multi-user support and authentification.
14
14
 
15
- The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. Please note that you need at least a CUI adapter gem to be able to actually run a system, e.g. the MINT-rails gem. But for initial experiements ist enough to follow the installation instructions of this document.
15
+ The MINT core gem contains all basic AUI and CUI models as well as the basic infrastructure to create interactors and mappings. For presenting the user interface on a specific platform a "frontend framework" is required. For the first MINT version (2010) we used Rails 2.3 (See http://github.com/sfeu/MINT-rails). The current version uses nodeJS and socketstream as the frontend framework (See http://github.com/sfeu/MINT-platform). The MINT-platform project contains installation instructions.
16
16
 
17
- There is still no documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .
17
+ There is still no further documentation for the framework, but a lot of articles about the concepts and theories of our approach have already been published and can be accessed from our project site http://www.multi-access.de .
18
18
 
19
19
  == FEATURES:
20
20
 
21
21
  * Interactor-based modeling (Widgets) of interface elements by using statemachines (see http://github.com/sfeu/MINT-statemachine )
22
22
  * Different to approaches like e.g. XHTML+Voice the mode and media synchronisation is implemented on the web server side, which enables interactions including several devices at the sam time and dynamically adding further media and modes during the interaction.
23
23
  * The srver side is implemented as a distributed system based on software agents and a tuple space that enables to distribute arbitrary parts of the system to different machines.
24
- * Interactors can also be modelled using s basic subset of SCXML (in work, see http://github.com/sfeu/scxml )
24
+ * Interactors are modelled using s basic subset of SCXML (see http://github.com/sfeu/scxml )
25
25
  * A basic set of abstract (modality independent) interactors
26
- * A very limited set of concrete interactors for the web based on a rails frontend (see http://github.com/sfeu/MINT-rails )
26
+ * A very limited set of concrete interactors for the web based on a socketstream/jquery frontend (see http://github.com/sfeu/MINT-nodejs )
27
27
  * Sound support (see http://github.com/sfeu/MINT-sdl )
28
28
  * A basic model inspector to observe the state of all interactors during runtime (see http://github.com/sfeu/MINT-debugger )
29
29
  * Automatic synchronisation of an abritary set of connected webbrowsers
@@ -36,168 +36,11 @@ There is still no documentation for the framework, but a lot of articles about t
36
36
  * We require ruby 1.8, the application threading model inside one agent is currently limited, but critical parts can be distributed to several agents instead.
37
37
  * we currenlty only support rails 2.3, because we rely on the execute action plugin that has no been ported to rails 3 so far.
38
38
 
39
- == SYNOPSIS:
40
-
41
- For testing the framework please try first to run our example application! - See the install section for the instructions to get it running.
42
-
43
- To start a new project:
44
-
45
- * install the MINT core gem
46
-
47
- sudo gem install MINT-core
48
-
49
- * create a new rails application
50
-
51
- rails sample_app
52
-
53
- * add the MINT-rails and the embedded-actions plugin
54
-
55
- cd sample_app
56
- ./script/plugin install https://github.com/sd/embedded-actions.git
57
- ./script/plugin install https://github.com/sfeu/MINT-rails.git
58
-
59
- * copy the relevant javascript files and images to the rails app public folder
60
-
61
- rake mint_rails:copy_assets
62
-
63
- * You need to add the following lines into your config/environment.rb file to disable active_record and to set your IP address. The former one disables active_record, which the MINT framework does not require (it also eliminates the sql-lite database requirement). The latter IP needs to be set to the IP from that you computer can be contacted from outside (if you want to offer the application to the internet) otherwise you can set it to the local 127.0.0.1 IP.
64
-
65
- config.frameworks -= [ :active_record ]
66
- HOST_IP = '127.0.0.1'
67
-
68
- * use the startup script to start the application
69
-
70
- ./script/mint/startup.sh
71
-
72
- * Use Chrome our Chromium browser to access the application:
73
-
74
- http://127.0.0.1:3000/mint
75
-
76
- * You should see the MINT-Logo as well as a working mouse pointer synchronisation (the green/red dot that follows the mouse pointer)
77
-
78
- * If your have troube, please contact us.
79
-
80
- == REQUIREMENTS:
81
-
82
- * Ubuntu LTS 10.04 !! (we have not ported cassowary to newer versions!)
83
- * Ruby 1.8
84
- * WxWidgets (MINT-debugger)
85
- * libSDL (MINT-sdl for sound support)
86
- * libCassowary (for constraint solver)
87
- * libMagick (for layouting)
88
- * several gems managed by bundler
89
-
90
- == INSTALL:
91
-
92
- The following instructions work only with Ubuntu 10.04 - we have chosen this release because it is an officially long-term supported release (LTS).
93
-
94
- * Install ruby 1.8 your Ubuntu 10.04 machine and set a symlink
95
-
96
- sudo apt-get install ruby1.8 ruby1.8-dev libopenssl-ruby rake
97
- sudo ln -s /usr/bin/ruby1.8 /usr/bin/ruby
98
-
99
- * Install a recent ruby gems version from source and set a symlink (the 10.04 one is too old)
100
-
101
- wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.5.tgz
102
- tar -xzvf rubygems-1.8.5.tgz
103
- cd rubygems-1.8.5/
104
- sudo ruby setup.rb
105
- sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
106
- sudo gem update --system
107
-
108
- * install native library dependencies that some gems like eventmachine, SDL or Magick or our framework requires and a working C compiler to compile them
109
-
110
- sudo apt-get install build-essential libsdl-dev libsdl-mixer1.2-dev libmagickcore-dev libmagickwand-dev libwxbase2.8-0 libwxgtk2.8-0 libssl-dev ibfreetype6-dev gsfonts libjpeg62-dev
111
-
112
- * prevent installation of docs for all dependend gems (optional - but this will save you a lot of time)
113
-
114
- include into file .gemrc in home folder
115
-
116
- gem: --no-ri --no-rdoc
117
-
118
- * install latest stable git for ubuntu 10.04 LTS (we require git with --recursive option support)
119
-
120
- sudo apt-get install python-software-properties
121
- sudo add-apt-repository ppa:git-core/ppa
122
- sudo apt-get update
123
- sudo apt-get install git-core
124
-
125
- * Install redis 2.2.4 from source (10.04 comes with redis v1 only)
126
-
127
- wget http://redis.googlecode.com/files/redis-2.2.4.tar.gz
128
- tar -xzvf redis-2.2.4.tar.gz
129
- cd redis-2.2.4
130
- make
131
- sudo make install
132
-
133
- * Install node.js version 0.4.12
134
-
135
- wget http://nodejs.org/dist/node-v0.4.12.tar.gz
136
- cd node-v0.4.14
137
- ./configure
138
- make
139
- sudo make install
140
-
141
- * To install Juggernaut 2 install node package manager "npm" after node.js has been installed
142
-
143
- sudo curl http://npmjs.org/install.sh | sudo sh
144
-
145
- * install juggernaut using the package manager
146
-
147
- sudo npm install -g juggernaut
148
-
149
- * Install libcassowary by adding a new package repository to /etc/apt/sources.lst
150
-
151
- deb http://packages.multi-access.de lucid/
152
-
153
- * update system to consider new repository
154
-
155
- sudo aptitude update
156
-
157
- * install cassowary library
158
-
159
- sudo apt-get install libcassowary0
160
-
161
- * Install bundler
162
-
163
- sudo gem install bundler
164
-
165
- * checkout an example app (MINT-MoBe2011) and let bundle install all gem dependencies (this will take a while if you have not disabled doc generation - see above)
166
-
167
- git clone git://github.com/sfeu/MINT-MoBe2011.git
168
- cd MINT-MoBe2011
169
- bundle install
170
-
171
- * start the example app (this will start a new tabbed console terminal
172
-
173
- ./script/mint/startup.sh
174
-
175
- * wait 30 seconds the use the latest google chrome or chromium browser to access the platform:
176
-
177
- http://localhost:3000/mint
178
-
179
- * This should show a table with a letter in each cell above the MINT framework logo. You should also realize the server-sided mouse synchronisation that prints a green/red dot under the current mouse pointer location. You can test the synchronisation by opening another browser window and access the same url. While you are moving the mouse in one window, that dot should be synced on both browsers.
180
-
181
- * If you just see the MINT-Logo without a table your computer you should wait a bit more an reload the url.
182
-
183
- * If it is stil not working - write us an email.
184
-
185
- * Now you can play around with the debugger ( see http://github.com/sfeu/MINT-debugger for source code ) to observe all interactors state changes during runtime within the tuple space
186
-
187
- ./schript/mint/debugger.sh
188
-
189
- * Check if the sound is working ( see http://github.com/sfeu/MINT-sdl for source code ) - a clicking sound should be played while pointing to the different cells.
190
-
191
- * Buy colored gloves and try our gesture recognition app ( will be releasen soon ) to navigate through the cells using hand postures.
192
-
193
- * Browse the source code, read (and cite) our papers to get a basic understanding of the framework components.
194
-
195
- * You have further ideas? Email us and help us improving the framework.
196
39
 
197
40
  == LICENSE:
198
41
 
199
42
  The MINT framework is developed by Sebastian Feuerstack Copyright (C)
200
- 2010 and 2011 Sebastian Feuerstack
43
+ 2010, 2011, 2012 Sebastian Feuerstack
201
44
 
202
45
  This program is free software; you can redistribute it and/or modify
203
46
  it under the terms of the GNU Affero General Public License version 3