In this contribution, we present the astronomical user interface and the design of the server software that comprises the Scientific Uplink System for SIRTF. The software architecture is split into three major parts:
A front-end Java application deployed to the astronomical community providing the capabilities to visualize and edit proposals and the associated lists of observations. This observer toolkit provides templates to define all parameters necessary to carry out the required observations. A specialized version of this software, based on the same overall architecture, is used internal to the SIRTF Science Center to prepare calibration and engineering observations.
A Weblogic based middleware component brokers the transactions with the servers, astronomical image and catalog sources as well as the SIRTF operational databases.
Several server systems perform the necessary computations, to obtain resource estimates, target visibilities and to access the instrument models for signal to noise calculations. The same server software is used internally at a later stage to derive the detailed command sequences needed by the SIRTF instruments and spacecraft to execute a given observation.
The Space InfraRed Telescope Facility, SIRTF (Fanson et al. 1998), is the fourth and final element in NASA's family of ``Great Observatories''. It consists of a 0.85m telescope and three cryogenically-cooled science instruments: the Infrared array camera, IRAC (Fazio et al. 1998); the Multiband imaging photometer, MIPS (Heim et al. 1998); and the Infrared Spectrograph, IRS (Roellig et al. 1998).
The SIRTF Science Center (SSC) is located at the Infrared Processing and Analysis Center (IPAC) on the campus of the California Institute of Technology. The SSC is charged with operating the SIRTF science mission, including the solicitation, review, and selection of all observing programs. It is the organization responsible for creating and securing the scientific legacy of SIRTF with a uniform and reliably reduced, calibrated, and readily accessible archive of all scientific and supporting engineering data ( Soifer & Helou 1998). In this paper, we describe the software design of the uplink segment of the SSC.
The SIRTF uplink segment follows a three-tier architecture of distributed JAVA client applications, a Weblogic middleware application server brokering the communications with the various server components and the SSC operational database systems. This architecture allows the deployment of sophisticated functionality on the users home machines, while allowing load balanced operation of the SSC-based Science Operations Application Servers. These servers perform computationally demanding tasks or operations that rely on SSC data, which could not be distributed to the users. This setup allows users to save their work, both locally on their home machines during the planning stages and centrally via the SSC databases for accepted programs.
SIRTF is operated as an observatory open to the astronomical community. The Science Planning and Observation Tools (SPOT) will provide the interface for these users to prepare, plan, maintain and monitor the status of their observations. In order to fulfill the requirements with respect to versatility, speed and multi-platform availability, SPOT is implemented as a Java application. To allow adaptations of the software we chose to use a MVC model, to clearly separate the Data model, view and the controls. Validation is done at field level and content level. At each input stage, only valid data is allowed, to minimize mistakes the user can make. External files provide all text, help and field validation information. For example, the minimum and maximum values for range checking are in a external file, making them easy to modify.
The SPOT user interface allows the SIRTF observer to specify Astronomical Observation Requests(AOR) by filling in Templates(AOTs) for the available observing modes. In this way the user can build an observation proposal consisting of a list of AORs and submit it to the SSC. The SPOT tool allows proposers to duplicate, modify and delete AORs and to store them locally as ASCII files. When connected to the Internet, SPOT communicates to the SSC servers located at IPAC to allow the user to calculate exposure times, infrared background and sensitivity estimates as well as visibility windows for a given source, including solar system objects. The complete one step proposal generation process, including proposal submission, can be managed from within SPOT via features like the import of target lists in various formats, a scheduling constraint editor and planned upgrades like the visualization of planned observations in conjunction with available astronomical image catalogues.
To avoid unnecessary retraining the same user interface will be available to perform modifications to existing observing programs after they have been accepted by the time allocation committee.
The first version of SPOT will be made available to the community for the SIRTF legacy call for proposals in spring of 2000 via the SIRTF WWW site at http://sirtf.caltech.edu.
A Weblogic application server brokers the transactions between SPOTł the SIRTF servers and operational databases located at IPAC, as well as other astronomical image and catalog sources inside and outside IPAC. Details of the design of this system can be found in the contribution by J. Chavez in this volume (Chavez 2000).
The SIRTF specific server system provides the following functionality, which is made accessible to both the SIRTF observer community and SSC expert users. As a design principle the tools provided for calibration and instrument engineering support are integrated into the general infrastructure to facilitate familiarity for visiting experts and to maximize software reuse.
Resource Estimation: Provide accurate estimates for the total wall clock time, exposure time, slew times, downlink and uplink volumes for all observing modes on SIRTF. The resource estimates given to the observer are based on the actual high level expansion of the observation, i.e. this functionality is provided by the same Enterprise Java Bean (EJB) used to compute the high level expansions.
High Level Expansion: Provide high level expansion into commands or blocks for mission planning of all observing modes on SIRTF. The EJB will interface with the SIRTF operations database to store expansion sequences, which are afterwards retrieved by the SIRTF Planning and Scheduling System (SIRPASS). The content of the high level expansions is an ordered sequence relative in time of SIRTF commands or blocks which form the scheduling units. In generating this sequence the expansion server will ensure, as far as possible at this stage, that no flight or mission rules are violated.
Sensitivity Estimation: Provide noise estimation for a given wavelength, flux and exposure time. This functionality will be implemented in the form of Java classes. It is based on calibration information and algorithms provided by the instrument teams.
Background Estimation: Provide infrared background estimates in the SIRTF wavelength range for a given position on the sky. This functionality is implemented via a ``wrapper'' Java class which uses Java Native Interface (JNI) to access pre-existing, mature background estimation subroutines written in native C code.
Visibility Information: Based on a database of known or user supplied object ephemerides and the operational constraints of the spacecraft a visibility server allows to predict periods during which a given target can be observed by SIRTF, allowing e.g. the coordination of observing programs with ground based telescopes.
Slew Time Prediction: SIRTF Flight Operations provide C subroutines which implement the algorithms used to estimate the time for a given spacecraft slew. Java Native Interface (JNI) is used to access these JPL supplied subroutines. The algorithms used to calculate the slew times are identical to the ones used by the scheduling and sequencing systems to calculate slew times for the flight operations scheduling system.
Instrument engineering support: Provide a versatile tools to generate and maintain sequences for the purpose of special calibration and engineering activities of the SIRTF instruments. Allow re-use of sequences or sequence parts. Make complete Command and Telemetry Dictionary available for use by the instrument specialists. This capability is implemented as a stand-alone Java application, which also provides the Graphical User Interface to access the special editors for calibration files and a display of the detailed time-line of a given observation. The application communicates with the operational database to import observation meta-data (e.g. observer name, AORID) and is capable of communicating the resulting high level expansion in the same way as the expansion server, i.e. via expansion files.
Chavez, J., this volume, 75
Fanson, J. L., Fazio, G. G., Houk, J. R., et al. 1998, Proc. SPIE Vol. 3356, p. 478-491, Pierre Y. Bely & James B. Breckinridge; Eds.
Fazio, G., Hora, J. L., Willner, S. P., et al. 1998, Proc. SPIE Vol. 3354, p. 1024-1031, Albert M. Fowler; Ed.
Heim, G. B., Henderson, M. L., MacFeely, K. I., et al. 1998, Proc. SPIE Vol. 3356, p. 985-1000, Pierre Y. Bely, & James B. Breckinridge; Eds.
Roellig, T. L., Houk, J. R., van Cleve, J. E., et al. 1998 DAVID H., Proc. SPIE Vol. 3354, p. 1192-1203, Albert M. Fowler, Ed.
Soifer, B. T. & Helou, G. 1998, American Astronomical Society Meeting #193, #25.03