========== Claun help ========== Frameworks & Controllers ========================= :Author: Jiri Chadima :Version: 2012/04/18 Introduction ------------ Frameworks and controllers provide support for distributed applications runtime in CAVE. Frameworks are libraries that enable distributed synchronized application rendering. Controllers provide support for joypads and other devices controlling user's movement. Due to the diversity of frameworks and controllers, the configuration is passed as a key-value list. Every framework/controller can have many named configurations that are selectable for the application. Application itself can override some framework/configuration settings. Framework settings can be influenced by the environment parameters. Frameworks ----------- Support for every framework has two parts: - Configuration Builder - This piece of software takes the configuration set by the user (environment parameters, application configuration, platform information) and creates a configuration for the cluster setup used for this configuration. The configuration is passed to App Runners on all necessary nodes. Typical placement of this module is on the control server. (see claun.modules.distribappcontrol) - App Runner - This is responsible for running the application's framework on destination node. It should directly control the application process. It should probably not control any dependencies. (see claun.modules.apprunner) Supported frameworks so far: - CAVELib Controllers ----------- Some framework are not capable of controlling the user's movement and need a third-party library which we will call a controller. Every application can declare its dependency on a controller software. During startup, it is then necessary to create controller's configuration and start the software on the appropriate node. Support for every controller has two parts: - Configuration Builder - This piece of software takes the configuration declared by the application and creates a configuration for the selected application instance. The configuration is passed to Controller typically on a master node. Typical placement of this module is on the control server. (see claun.modules.distribappcontrol) - Controller - This is responsible for running the controller software on the destination node (typically master node). It should directly control the controller process. (see claun.modules.controller) Supported frameworks so far: - trackd Configuration ------------- For supported configuration keys for selected frameworks/controllers, see `frameworks`_ and `controllers`_. .. _computer.json: computer.json .. _configuration.json: configuration.json .. _frameworks: framework.html .. _controllers: controller.html