At Keck Observatory [KeckObs]
in Hawaii, the dome, telescope, and instrument
control system is based on the FITS keyword/value model, extended with numerous
status and control keywords. Some keywords
represent telemetry values which can be read, while others can
be written to set instrument operating parameters or to move motors,
close solenoids, etc. The control system metaphor is consistent with
the archival data storage format, and much status information from
the control system is stored in the images acquired there, along with
the standard FITS keywords. The control software suite is known
as KTL (Keck Task Library) and is described in Keck Software Document
Number 28 [KSD28].
UCO/Lick Observatory designed and built the HIRES instrument [HIRES]
at Keck-I, and is currently building the DEIMOS [DEIMOS]
and ESI [ESI] instruments
for use at Keck-II. During early planning for the DEIMOS instrument, the
software team wanted some means of managing the large number of new (or slightly
variant) keywords the instrument would need. We constructed a relational
database schema for modelling FITS keywords, storing keyword attributes
such as datatype, format, read/write access, semantics, etc.
The schema rapidly grew in
complexity, incorporating new concepts such as interkeyword syntactic
and semantic relationships, internal/external representation and
unit/format conversions, hierarchical keyword grouping, etc.
When nearly complete, the ``keyword database" stored in this schema became
a powerful resource from which we could generate documentation, sample
FITS headers, and certain repetitive sections of source code; we were
also able to extend the application of the schema to model database tables
(groups of fields, whose attributes are nearly identical to FITS keyword
attributes), and to facilitate the automatic conversion of FITS files into
database records or tables and vice versa. More information about this
project is available at the project Web page [Memes] and
in a forthcoming ADASS paper [ADASS].
We used Tcl exclusively for the application language (basically, sophisticated
report generation) and Tcl/Tk for the generic forms-based GUI to Sybase which
provides our interactive access to the data. We hope to generate a significant
portion of the paper documentation for the DEIMOS critical design review, as well as
online documentation and substantial chunks of source code for the finished system,
by means of these Tcl applications.