The Large Millimeter Telescope monitor and control system (LMTMC) is an automatically generated software system that is implemented using XML and Java. One of the requirements of the system is catalog support. Rather than developing new catalog navigation techniques and building them into the automatically generated code, we chose to use JSky. JSky is a set of Java components providing catalog and image support for Astronomy. The JSky classes are extended to form new classes with additional capabilities that tighten the integration with the LMTMC system. Not only can users navigate local and web hosted catalogs, they can also direct output from catalogs into the control panels of the system eliminating error-prone typing or cut and paste operations. In addition, users can retrieve digital sky survey images from the catalogs, and superimpose scientific data on them to verify correct operation.
Remote access to telescope monitor and control capabilities
necessitates strict security mechanisms to protect the telescope and
instruments from malicious or unauthorized use, and to prevent data
from being stolen, altered, or corrupted. The Large Millimeter
Telescope (LMT) monitor and control system (LMTMC) utilizes the Common
Object Request Broker Architecture (CORBA) middleware technology to
connect remote software components.
The LMTMC provides reliable and secure remote observing by
automatically generating SSLIOP enabled CORBA objects. TAO, the ACE
open source Object Request Broker (ORB), now supports secure
communications by implementing the Secure Socket Layer Inter-ORB
Protocol (SSLIOP) as a pluggable protocol. This capability supplies
the LMTMC with client and server authentication, data integrity, and
encryption. Our system takes advantage of the hooks provided by TAO
SSLIOP to implement X.509 certificate based authorization. This
access control scheme includes multiple authorization levels to enable
granular access control.
The Large Millimeter Telescope monitor and control system is
automatically generated from a set of XML configuration files. This
insures that all inter-system communications and user interfaces
adhere to a common standard. The system was originally designed to
control the electro-mechanical components of the telescope but it maps
well to the control of instruments. Properties of the instruments are
defined in XML and subsequent control and communication code and user
interfaces are generated. This approach works well in theory, however,
when it comes to installing the system on the actual instruments,
several problems arise: the goals of instrument developers, software support for instrument developers, hardware compatibility issues, and choice of computer architecture and development environment.
In this paper, we present a discussion of the above issues and suggest tried solutions.
The monitor and control system of a telescope must provide users with a way to control certain values in the system and view other constantly changing values. Users may also want to log system values to a database and chart changes to numerical values in real time. The components of a telescope system may change and instruments may be added and removed. The set of values that the monitor and control system must provide access to may therefore change. The challenge is to provide a flexible monitor and control system to accommodate changes to the system. The Large Millimeter Telescope monitor and control system is automatically generated from a set of XML configuration files. Because the code for the system's software objects is generated automatically it is easy to include in the generated code sufficient information about the objects to inform the display. This paper will present monitor, control, logging and charting tools that automatically change to reflect changes in the components and properties of the system. These tools depend on generating software objects that include information about their own fields.
A telescope system is composed of a set of real-world objects that are mapped onto software objects whose properties are described in XML configuration files. These XML files are processed to automatically generate user interfaces, underlying communication mechanisms, and extendible source code. Developers need not write user interfaces or communication methods but can focus on the production of scientific results. Any modifications or additions of objects can be easily achieved by editing or generating corresponding XML files and compiling them into the system.
This framework can be utilized to implement servo controllers, device drivers, observing algorithms and instrument controllers; and is applicable to any problem domain that requires a user-based interaction with the inputs and outputs of a particular resource or program. This includes telescope systems, instruments, data reduction methods, and database interfaces. The system is implemented using Java, C++, and CORBA.