XML in an adaptive framework for instrument control
Troy Ames · 2004
NASA Goddard Space Flight Center is developing an extensible framework for instrument command and control, known as instrument remote control (IRC) that combines the platform independent processing capabilities of Java with the power of the extensible markup language (XML). A key aspect of the architecture is software that is driven by an instrument description, written using the instrument markup language (IML). IML is an XML dialect used to describe interfaces to control and monitor the instrument, command sets and command formats, data streams, communication mechanisms, and data processing algorithms. The IRC framework also provides the ability to dynamically discover and communicate with other devices anywhere on a network in a peer-to-peer manner. To enable a dynamic discovery and configuration capability for a collection of devices, each IRC instance (referred to as an IRC device) can advertise and publish information about themselves on a virtual network. For scoping and security the virtual network can be divided into virtual peer groups. Devices can join or leave a virtual peer group and thus join or leave the instrument control environment of IRC. An IRC Device can advertise and publish several public IML interface descriptions. A device may want to split up its public descriptions (commanding vs. data) or publish more than one version (novice vs. expert). This simple capability of dynamically publishing and subscribing to interfaces enables a very flexible self-adapting architecture for monitoring and control of complex instruments in diverse environments. Several astronomical instruments are working with the LRC development team to develop custom components for IRC to control their instruments. These instruments include: High resolution airborne wideband camera (HAWC), a facility instrument for the Stratospheric Observatory for Infrared Astronomy (SOFIA); and submillimeter high angular resolution camera (SHARC II), an operational facility instrument at the Caltech Submillimeter Observatory (CSO).