Using JavaTM Technology and XML for Astronomical Instrument Control

Using JavaTM Technology and XML for Astronomical Instrument Control 


See also:

Session Information:
                  Using JavaTM Technology and XML
                  for Astronomical Instrument


                            Troy J. Ames
                                  Senior Software Engineer
                                  NASA Goddard Space Flight Center

                            Lisa Koons
                                  Project Leader
                                  AppNet, Inc.

                            Craig E. Warsaw
                                  Senior Systems Architect
                                  AppNet, Inc. 


                         NASA Goddard Space Flight Center and
                         AppNet, Inc. have developed an astronomical
                         instrument remote control architecture that
                         combines the platform-independent
                         processing capabilities of the JavaTM
                         platform with the power of Extensible
                         Markup Language (XML) to express
                         hierarchical data in an equally
                         platform-independent, as well as human
                         readable manner. This architecture is
                         implemented using a variety of XML support
                         tools and APIs written in the Java
                         programming language. 

                         By creating our own Instrument Markup
                         Language (IML), we have expressed an
                         instrument's control commands and
                         responses, data streams, message formats,
                         communication mechanisms, and
                         documentation in an extremely flexible XML
                         format. Sun's XML Library and the Simple
                         API for XML (SAX) parse the XML files. Java
                         programming language objects are
                         instantiated corresponding to chunks of XML
                         markup (elements). Code generation and
                         (where real-time constraints permit)
                         interpretation enable developers and
                         hardware engineers to make last-minute
                         changes to IML text files which are then
                         automatically reflected in the application.
                         Project Swing GUI components are
                         automatically instantiated based on
                         information in the instrument description
                         files. Viewers based on the JTree and JTable
                         components enable traversing and editing
                         the complex instrument description files. 

                         IML is based on a custom Document Type
                         Definition (DTD) which enables the parser to
                         validate the input XML files, thereby
                         guaranteeing the instrument description is
                         complete and correct according to the rules
                         we have defined. The IML DTD can be
                         extended to cover new instruments or to
                         accommodate changing constraints of
                         existing instruments, often without
                         requiring changes to previously written
                         instrument descriptions. 

                         Our initial implementation is targeted for an
                         airborne observatory aboard a Boeing 747, to
                         be commissioned in 2001. Although our
                         architecture and implementation is focused
                         on infrared astronomy, most of the
                         techniques employed have much wider
                         applicability. Our approach defines a
                         flexible methodology by which a complex
                         Java technology-based application is created
                         and modified primarily by textual
                         descriptions (XML documents). Future work
                         includes the development of other XML
                         dialects including (1) PAML (Pipeline
                         Algorithm Markup Language) for data
                         manipulation and (2) IGS (Instrument GUI
                         Stylesheet, based on XSL) for customizing
                         GUI components and GUI layout 

                         For more information refer to NASA Goddard
                         Instrument Markup Language web site:


                            Wednesday - June 16th
                                  12:15 pm - 1:15 pm
                                  The Sheraton Palace Hotel