Recent Changes - Search:

Axon microserver

InterplayMedium Hardware

Axon microserver architecture


Directories structure and obligatory components

NB. All names of files starting with "/" refer to the axon installed directory, all other names refer to the custom synapse directory.

Each synapse is placed in its own synaptic subdirectory {axon micro-server home directory}/synapses/{synaptic group}/{name of synapse}

and contains several obligatory components:

synapse.lua -- its own micro-engine,
synapse.js -- custom java scripts,
synapse.css -- custom style sheet,
stdout -- this file is used for an error output and called by the main client-side JS handler
bottominterface.tmpl -- a bottom http interface template
maininterface.tmpl -- the main http interface template

Since Axon micro-server was designed to work on weak hardware, no requests are processed again unless necessary. Therefore, the microengine generates last two files upon request. Files are also placed in the synapse directory by default.

How Axon microserver works

1. The main micro-engine (/synapse.lua) loads (/synapse.tmpl), which refers to the main javascript (/js) and style sheet (/css). The main CSS contains all common styles and the main JS common scripts. Both are included in all custom synapses automatically.

2. synapse.tmpl -- it's just the first page with four symbols linked to the synaptic groups. By pressing one of them, you load a customized synaptic interface, which is the first in an alphabetical order in /synapses/{synaptic group} subdirectory.

3. Each synaptic subdirectory contains its own .tmpl files for the main interface and for a bottom interface (which is usually functional buttons next to the pop-up synapses selector). That refers to its own CSS and JS in their own subdirectories.

4. Except of JS and Style Sheet, each synapse has its own microengine with a similar name: synapse.lua (learn more about the synapse microengine in SynapsesHowTo letter). Custom microengine is able to work independently (try to run it from the command line) and usually has several options designed by creator but necessarily includes:

  • startsynapse -- for starting a synapse (including testing all required dendrite devices)
  • stopsynapse -- for stopping a synapse
  • maininterface -- for generating its own maininterface.tmpl
  • bottominterface -- for generating its own bottominterface.tmpl

5. When you activate any function in http interface, it runs appropriate synapse.lua with suitable parameters. In it's turn, synapse.lua can call any of the inner scripts.

6. Initial JS usually waits for a callback to make appropriate changes of an interface on a client side.

7. Also, since we have a multi-user interface, common JS periodically calls control files, where it's necessary, and makes appropriate changes of an interface on a client side.

8. All interfaces are able to work without JavaScript. It's a part of the Axon codex. Please, learn more in SynapsesHowTo letter.

Additional features

In the current prototype all dendrites are connected via USB interfaces. However, Axon microserver targets the distributed local interactive spaces. So, nothing prevents it to be applied on all devices connecting them by the radio (wifi, bluetooth, zigbee, etc) with the Axon microserver. This will be demonstrated in one of the next prototypes.

Page last modified on July 04, 2012, at 02:19 PM