NASA Goddard Space Flight Center, led by the Advanced Architectures and Automation Branch (Code 588), has developed an extensible application framework for instrument command and control, known as Interoperable Remote Component (IRC). The IRC architecture is a flexible, platform-independent application framework that is well suited for the distributed control and monitoring of remote devices and sensors. Working with instrument engineers and scientists as well as past experience with distributed systems we have tried to come up with an architecture that balances simplicity and flexibility. The architecture has to be simple enough to use and maintain as well as flexible enough to be useful in a wide variety of applications and domains. The architecture emphasizes the capability to configure itself for a specific application based on eXtensible Markup Language (XML) descriptions. There are descriptions to tell the framework which application components to plug in, what the Graphical User Interface (GUI) should look like, what devices to connect to and how to communicate with them, what algorithms to include in the application, and what interface to present to other distributed peers. To enable a dynamic discovery and configuration capability for a collection of devices, each IRC instance can advertise and publish a description of itself on a virtual network. 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.
Interoperable Remote Component (IRC) Goals
To reduce the cost of software development for the control and monitoring of devices and sensors.
To provide an adapting architecture for monitoring and control of complex instruments in diverse environments and to provide a framework to incorporate advanced technology in future operational systems.
To obtain Partners to advance the s/w.
To provide an architecture that can be customized for user specific applications and interfaces.