JMACS

Package org.jmacs.pd

Programmable Device Framework.

See:
          Description

Interface Summary
IAlert passed to IProgram.wake(IDevice.IStatus, IAlert).
IDevice programmable device.
IDevice.IConstants constants.
IDevice.IDriver driver.
IDevice.IDriver.IContainer driver container.
IDevice.IStatus status.
IDevice.IStatus.IFactory produces status.
IInterpreter command interpreter.
IPdCmd for use where a String may not be used, because the command cannot conveniently be expressed as text.
IProgInfo information about any IProgram an IDevice is running or has run.
IProgram to be implemented by all programs.
IProgram.States program states.
IStatusEtc device status + program info.
 

Class Summary
Constants passed to the constructors of the IMonitorGui and IControlsGui used by DiClient in order that any corr'ding GUIs provided by the device may be nested inside them.
DiClient IDiClient for the deployment of programmable devices.
ProxyDevice IDevice impl'n to be extended by all programmable-device definitions.
StartProgram immutable command to start the specified program.
StatusPlusProgInfo passed to the IMonitorGui.refresh(Object) method of the monitor window used by DiClient.
 

Exception Summary
ProxyDriverException thrown by IDevice.IDriver methods as impl'ted by a dynamic proxy--see ProxyDevice.createProxyDriver(Class).
 

Package org.jmacs.pd Description

Programmable Device Framework. This is of interest to device-interface developers looking for programmatic (as well as interactive) monitoring and control. The package provides a framework for defining and deploying programmable devices, and for writing programs for them.

Programmable device definition involves writing a class ~.mydevice.MyDevice that implements IDevice (typically by extending ProxyDevice), and adding a nested IDevice.IDriver or IDevice.IDriver.IContainer named ~.mydevice.MyDevice.Driver or ~.mydevice.MyDevice.Container respectively. Similarly, any IMonitorGui, IControlsGui or command IInterpreter should be named ~.mydevice.MonitorGui, ~.mydevice.ControlsGui or ~.mydevice.Interpreter respectively. Please see the jmacs.org website for an example.

To deploy a programmable device, use DiClient.

To write a program for it, implement IProgram.


JMACS

jmacs.org