JMaCS Implementation 11.3-beta
Last updated: 2008-05-05
This is an implementation of the monitoring and control system described
at jmacs.org.
How to launch a JMaCS user-interface
- Check special requirements.
- Install Java--Standard
Edition, version 5 or 6 (current).
- Set console preference.
- Launch app:
- Agree to run it as a trusted app (when prompted). This is necessary
because it has to be able to do things (such as create new Java
class loaders) which are not permitted inside the Java sandbox.
How to connect to the demo target
- Enter username.
- Press return or click 'connect...' button.
- Supply password.
Note that you may only connect to a given target
sequentially (using the same username). Also, if your session should end
abruptly (i.e. without disconnecting or exiting), you are currently subject
to a timeout period of a few minutes, after which you'll be disconnected
automatically (so that you can reconnect).
How to open a monitor-window or control-panel
'Occupied' nodes of the device-navigator are indicated by a two-character
prefix, indicating the disposition of any monitor-window and control-panel it
provides, respectively: '-' indicates closed, '+' indicates open, and '.'
indicates absent.
- Navigate to the device of interest (e.g. 'eyes.left'), using the
arrow-keys or mouse. Make sure it's selected and has the focus.
- Hit the SPACEBAR to open/close the monitor window, or SHIFT-SPACEBAR to
open/close the control panel. Note the change from '-' to '+'.
. . .
Notes
- Only the control panel of the selected device (if currently open) is
displayed, always next to the navigator. The monitor window of the selected
device is highlighted.
- Commands submitted from the commandline--type, then hit return--will
target the selected device.
- The title of any monitor window which didn't get refreshed turns red.
- Only the clocks of device-interface client hosts are required to be in
sync with the server host one. The time displayed here is the approximate
time on the server, the indicated number of
seconds (synchronisation delay, e.g. '+2.0') in the past.
- If anything starts to flash and beep, just click on it to acknowledge
the alert (or select the 'File > Muted' menu item).
Tips
- Control panels usually generate textual commands, which can be recalled
subsequently on the commandline (using the arrow keys).
- Use the TAB key to change the focus between the device navigator,
control-panel widgets, and the commandline.
- By assuming the role of 'principal user' (see 'server' control panel),
you can arrange for all other controlling users to be prompted for
confirmation whenever they submit a command.
- Type the first letter of the device name to jump directly to it, when
the device navigator has the focus.
- In the unlikely event :-) that the applet should become unresponsive,
close the window, type 'x' into the console window (to clear the
class-loader cache), and revisit the applet page.
Special requirements
- The app requests a connection to a non-HTTP server (which your firewall
might block).
- To run the applet on Java 5 (JDK 1.5), you have to first disable applet
caching (in order to work around a known bug):
- Launch the Java Preferences utility.
- In the General tabbed pane, click on Settings... > View
Applets... and uncheck the Enable Caching checkbox.
- Click OK. (On Mac OS X, click on File > Exit.)
- Restart the browser.
Setting the Java console preference
This will cause each Java app launched to be accompanied by a console. This
displays any messages written by the app, and provides some useful controls.
- Launch the Java Preferences utility.
- Select the Advanced tab.
- Select Java console.
- Select Show console.
Change log
2008-May-05: | 11.3-beta; second (remote subscriber)
scalability enhancement (affecting users connecting 'via internet') |
2008-Apr-27: | 11.2-beta replaces beta; now accommodates any
port indirection (introduced by network address translation); first
(remote subscriber) scalability enhancement |
2008-Mar-29: | drift-compensation refinement (tolerating less reliable connections) |
2008-Mar-26: | further drift-compensation improvements |
2008-Mar-20: | new ui-client host-clock drift-compensation
method employed; a regression encountered when changing
status-sampling-timer parameters now fixed |
2008-Mar-13: | ui client improved: any host clock drift now
accounted for; sub-panel now contains 'lag/ms' field in place of 'samples
accepted' and 'samples discarded' ones |
2008-Mar-05: | page linked to site; software updated to latest
version; target name is now the same as the root device name ('eyes');
instructions updated in light of the fact that jarfiles now signed;
images updated; projectile-tracking feature added to eyes
device |
2007-Nov-14: | merged latest changes; 'eyes' node now
occupied, by device able to make its children 'look' at a specified
position; 'Opening a monitor-window or control-panel' instructions
updated; new tip added |
2007-Nov-08: | updated to latest version; old target replaced with one named 'head'; can now run programs (on programmable devices) |
2007-Oct-25: | version renamed 'beta' |
2007-Oct-15: | page created (first invited test) |