# Presentation: 010683

**At A Glance**
- The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control and monitoring of remote instruments.

**Benefits**
- Provides access and control of instruments located in almost any environment
- Reduces implementation time for instruments by providing an architecture that is adaptable to design changes
- Extensible, customizable, and reusable
-  Platform independent

**Features**
- Instrument Configuration Editor (ICE) automates the creation, viewing, editing, and validation of the XML files that are the core of the IRC application..
- Automatically creates GUI for instrument commanding.
- Instrument Proxy creates command formatters, port managers and telemetry parsers for instrument.
-  Data analysis pipeline parses, processes, displays, and/or archives data.
- Extensive online help, including tool tips and user manuals

**Instrument Remote Control ****(****IRC)**
**Product Overview**
- IRC is a platform independent framework developed by NASA’s Goddard Space Flight Center that provides for the control and monitoring of any computer-controlled remote instrument.  The IRC’s architecture combines the processing capabilities of Java with the power of the Extensible Markup Language (XML), making it both generic and extensible.
-  IRC uses Instrument Markup Language (IML) files to describe the commands used by the instrument, the logical data streams produced, the rules for parsing the data, and the method of communication.  The IML files are the core of IRC, and are used to generate a graphical user interface for remote instrument commanding and monitoring.  These commands are formatted and sent to the remote instrument, and the resulting telemetry is parsed and returned for archive or display.

***IRC console, containing the instrument command panel to the left and user selected visualizations on the right.***** **

**NASA Goddard Space Flight Center**
**Advanced Architectures and Automations Branch, Code 588**
**Information Systems Research and Development**
- _[http://](http://aaa.gsfc.nasa.gov/)__[aaa](http://aaa.gsfc.nasa.gov/)__[.](http://aaa.gsfc.nasa.gov/)__[gsfc](http://aaa.gsfc.nasa.gov/)__[.](http://aaa.gsfc.nasa.gov/)__[nasa](http://aaa.gsfc.nasa.gov/)__[.](http://aaa.gsfc.nasa.gov/)__[gov](http://aaa.gsfc.nasa.gov/)_
**email:  Troy.J.Ames.1@gsfc.nasa.gov **

## IRC - Feature Details

**IRC - Feature Details**
**IRC Configuration Editor (ICE):  **The ICE GUI empowers scientists, engineers, developers, and mission operations personnel to easily create and edit the XML files used as the core of the IRC.  ICE isolates the details of the XML language syntax from the user by applying a general purpose XML schema-based editing approach.  ICE may be run standalone, or may be spawned from another application.  It is highly modular and can be easily extended to include support for additional XML Schemas.** **
**Command Interface:  **IRC automatically creates a default GUI for instrument commanding based on the IML instrument description.  The default GUI provides the means to issue all of an instrument’s (and its subsystems’) commands.  Since the IML file describes all of the command arguments (including the arguments’ data types and valid values) the GUI can present a command window that enables a user to issue valid commands.
**Instrument Proxy:  **The IRC instrument proxy creates objects that understand how to communicate directly with the instrument.  The communication mechanism (e.g., TCP/IP, RS232) is specified in the IML instrument description, along with the formatting rules for the commands.  Each subsystem in the IML instrument description has its own instrument proxy, with its own communication protocol and command format (e.g., binary or ASCII).  Each instrument proxy receives command objects, formats them, and sends them to the actual instrument/subsystem.
**Data Analysis Pipeline:  **The IRC’s data analysis pipeline facilitates the processing of real-time, parsed instrument telemetry.  Pipelines are comprised of “pipeline elements”, which include data visualizations, data analysis scripts for autonomous commanding, archivers and archive readers, or data processing algorithms.  These pipeline elements can be added, removed, or configured with IRC while data is flowing through the pipeline.

**Product Benefits**
**Easy access, control, and monitoring of remote instruments - **A wide range of instrument types, including medical, assembly line, and even infrared instruments (e.g., telescopes, cameras, and spectrometers) located in remote, inhospitable environments can all be controlled and monitored with IRC.
**Fully extensible - **Users can extend the current Instrument Markup Language (IML) to create new “dialects” for instrument groups (e.g., Astronomical Instruments) for use with IRC.
**Distributed - **IRC’s components can be distributed across a number of different computers, regardless of operating system.
**Clearly defined interface - **The use of XML to describe how commands and data move between computers and instruments greatly reduces the need for custom software or specialized device drivers.
**Platform neutral:  **The IRC framework is implemented entirely in Java, making it platform independent.

**System Requirements --**** **Java 1.3 compliant virtual machine.
**Availability --**** **IRC is available by contacting the GSFC Code 588.
**Current Users --**** **IRC has been used on several NASA projects, including instruments for the airborne Stratospheric Observatory for Infrared Astronomy (SOFIA), the Compact Visible & Infrared Imaging Radiometer (COVIR) instrument, and by the Ocean-Atmosphere Sensor Integration System sensor web.