Next: Browsing Images in World Coordinate Space with SAOimage
Previous: The Palomar--ST ScI Digitized Sky Survey (POSS--II): Preliminary Data Availability
Table of Contents --- Search ---
PS reprint
Eric Mandel
Harvard-Smithsonian Center for Astrophysics,
Cambridge, MA 02138
Mark S. Ackerman
University of California at Irvine,
Irvine, CA 92717
The ASSIST graphical user interface is an X Window System program that alleviates problems faced by researchers when trying to utilize complex and often conflicting astronomical data analysis systems. It supports the creation, organization, management, and display of arbitrary ``information node types'' such as documentation, help, tutorials, questions and answers, etc. It is layered on top of the Answer Garden Substrate, a system specially designed to facilitate the collection and dissemination of organizational memory. The basic ASSIST display consists of a number of graphical ``trees'' arranged in a hierarchy (Figure 1). Each ``leaf'' on a tree represents a piece of documentation (or other information) or another branch of the tree. Pressing the left mouse button on one of the leaves activates it, resulting in the display of the appropriate piece of information or of another part of the tree. Users can traverse the branches in the hierarchy to locate specific information ``leaves'', and then activate these ``leaves''.
In addition to handling documentation, the ASSIST can organize and manipulate command-driven programs such as the UNIX shell or the Image Reduction and Analysis Facility (IRAF), a widely-used astronomical analysis environment. Just as documentation, help, and other information can be represented by different graphical windows in the ASSIST, analysis programs can be represented by graphical ``parameter editors''. Through these parameter editors, a user can inspect and change a task's parameter values, run a task, get help, view or submit problem reports, etc. Note that the ASSIST is layered on top of analysis systems in such a way that the analysis functions are handled by the target system itself. This is accomplished by means of the ``Xkibbitzer'', a facility for sending ASCII strings to a process running in a separate X window. The analysis program receives and processes these commands from the ASSIST exactly as if the user had typed them at the keyboard.
Figure 1: ASSIST graphical ``trees'' provide a uniform interface to
software (such as IRAF---lower right) and documentation (including WWW documents---lower left).
Figure 1: PS 281 Kb
By organizing and managing different ``information nodes'' in separate graphical windows, ASSIST offers a multi-dimensional view of an analysis environment. It provides windows for viewing lists of available tasks and programs, for browsing help files and tutorials, for setting up and running tasks, and for inspecting analysis results.
In 1992, the Compton Gamma Ray Observatory (CGRO) adopted the ASSIST as the basis for GammaCore, an analysis environment that offered CGRO users uniform access to heterogeneous analysis software from different CGRO instruments. More recently, the ASSIST has been chosen by the AXAF Science Center as the ``graphical navigator'' for their ground calibration system and by the US Spectrum X Gamma (SXG) Coordination Facility as an interface to SXG software, information, and data.
An important part of our current work has been to generalize the ASSIST so that it can support and manage a variety of analysis systems. The first step in this generalization has been to develop a new Analysis information node type. This node type allows arbitrary external programs to be managed by the ASSIST. An analysis program can be executed by the ASSIST in ``stand-alone'' mode (if a program such as an image display is expected to create its own window) or it can be started from within another window (if a command-driven program such as IRAF is meant to be started within its own xterm window). The Analysis node can send initialization commands to the newly created analysis environment and it can send a kill command to the target environment when ASSIST-based processing is completed. The functionality of this new node has been tested with a variety of astronomical and other programs, such as IRAF, the UNIX shell, the XSPEC spectral analysis package, the XDir directory browser, telnet, ftp, and the SAOtng image display program.
The latest release of the ASSIST also supports a World Wide Web (WWW) node as one of its basic information node types (Figure 1). This WWW node supports asynchronous retrieval and display of Web documents, with full interrupt capability. It uses lynx and the XPA mechanism (see below) to perform WWW retrieval, and the NCSA HTML widget as a display interface. The WWW node accepts an HTML file specifier as input and displays it as hypertext. By means of this new node, the ASSIST gives users access to ``public'' WWW documents in the same manner as ``private'' ASSIST information.
Moreover, the ASSIST supports the uniform integration of public and private information. When a hypertext link within an HTML document is activated within the ASSIST, the string underlying the link is analyzed. If the link points to a private ASSIST information node, that node is displayed. Otherwise, if the link points to a WWW Universal Resource Locator (URL), the appropriate WWW document is retrieved and a temporary HTML node is created within the ASSIST to display the document. The ASSIST also supports ``overloading'' of an HTML node with other functions: if a private ASSIST node is given the same name as a WWW URL, the user can display either of these by using different mouse buttons. Thus, both public and private information can be managed with the same system and even within the same document.
One significant aspect of this new WWW support is that one can create an HTML page that displays a hypertext document when viewed from a standard WWW browser, but that also can activate other functions (such as running an analysis program) under the ASSIST. Such a scheme is extremely valuable in cases where one wants to supply general information via the Web while also supporting more sophisticated functionality for scientific users via the ASSIST---using the same hypertext interface in both cases.
Another significant direction for our current ASSIST work is the development of software cooperation between the ASSIST and external programs and systems using the X Public Access (XPA) mechanism. XPA allows an X program such as the ASSIST to define named ``points of public access'' through which data and commands can be exchanged with external programs. XPA services have been added to the ASSIST to allow external processes to manipulate information nodes. Such processes can send commands to the ASSIST to activate information nodes in order to display documents and run analysis systems. External processes also can add new temporary nodes to the ASSIST or retrieve information about existing nodes. One implication of this functionality is that external programs can utilize the ASSIST as a central help system by sending ``node display'' commands to activate their documentation. Such programs reap the benefit of the ASSIST's special capabilities for collecting and accessing information, without having to link the ASSIST functionality into their code directly. Our work in this area is a step toward developing a set of cooperating astronomical software services based on programs such as the ASSIST and the SAOtng image display.
The latest version of the ASSIST is available as part of the SAO R&D software suite, which also contains the SAOtng image display program, the XDir file and directory browser, the starbase ASCII database system, and other software for scientific analysis. The software suite can be retrieved via anonymous ftp from sao-ftp.harvard.edu in the pub/rd directory. The source tree is contained in a compressed tar file called saord.tar.Z. The code was developed on Sun workstations under X11R5 and X11R6 (both SunOS and Solaris). Ports (with varying amounts of testing) have been done to the SGI, HP9000s700, and DEC Alpha. To build and use this software you must be running X11 (R5 or R6), have access to the Athena widget set (Xaw), and have a working version of imake. See the README, RELEASE.NOTES, and HISTORY files in the pub/rd directory for more information.
The ASSIST and other systems contained in the SAO R&D software suite are embodiments of an evolving software cooperation philosophy and practice that we hope to bring to astronomy and other disciplines. They reflect efforts on the part of a growing number of people to understand how software systems (and researchers and developers) can act in concert without sacrificing their independence.
This work was supported under NASA contracts to the IRAF Technical Working Group (NAGW-1921) and the ASSIST (NAGW-3913), with additional support from the AXAF Science Center (NAS8-39073).