next up previous
Next: UTILITY CLASSES Up: The Control Software Architecture Previous: Data Production

USER PROGRAMS

The object diagram in Figure 1 shows that the software access to all of the GBT is reduced to a few interfaces at the interface daemons' layer: Panel/Recipient, MessageMux, Accessor, and data files.

Putting aside the problem of data analysis as separate from telescope control, the task of creating user interfaces for the system is greatly simplified. The user-interface program only needs to link in the classes Monitor, MesgMuxIF, PanelClient, and RecipientServer to gain full access to the telescope. Each of these classes essentially encapsulates the network protocol for interfacing to the telescope programs.

The problem of implementing a friendly, useful user-interface becomes one of how to best present information and choices to the user. The solution requires application expertise (i.e., observing or operation experience with a telescope) and the ability to easily iterate on designs. These two requirements have led us to conclude that the user program should be an interpreter with a scripting language3that has the capability of creating graphical user interfaces.

For the GBT we are using two interpreter programs. One is Glish[10] which has been enhanced to support twelve Tk widgets using the Rivet library.[11] Because Glish is also used by AIPS++, it is being used to implement the observer's interface to the GBT. The observer can define automated interactions between analysis results and telescope control via the Glish interpreter and software bus. Such a configuration will be the basis of the on-line data monitoring system.

The other interpreter program is Tcl/Tk[12] which provides the full range of Tcl capabilities and add-ons for creating user interfaces. The GBT extension of the Tcl/Tk interpreter is called segeste and it provides full access to the methods of Monitor, MesgMuxIF, PanelClient, and RecipientServer. Also, a graphical-user-interface builder called Monet, based on the application development environment Visual Tcl, 4will be available for user-interface designers; this program can create graphical user interfaces using Sampler, Parameter, and Message widgets. Because it is easier to build user interfaces with Tcl/Tk that are more responsive to information flowing from the telescope to the user, Tcl/Tk will be used for the operating and engineering interfaces.

Because Samplers and Parameters have the ability to hold all data types and are read and written through a generic method,5it is necessary for a user program to have access to a data description for correctly handling the data encapsulated by these two classes. Every Parameter and Sampler has a unique identifier which is passed along with its data and an associated DataDesc object which contains the unique identifier, the data type, an explanation, and a units identifier. The description is complete enough that a complete FITS description can be generated by the Archivist on command. The DataDescs for both Parameters and Samplers of a Manager are compiled into a dynamically shared library which the client program loads to gain access to the individual descriptions.


next up previous
Next: UTILITY CLASSES Up: The Control Software Architecture Previous: Data Production
Mark H. Clark 2007-03-19