Starlink is continuing to serve UK astronomers in a era of change; as well as supporting our established range of reduction and analysis software we are providing new tools and ways of controlling existing applications which fit in with the grid/virtual observatory paradigm while remaining compatible with existing data and ways of working. Key technologies for this work are Java, XML and SOAP.
This paper summarises new features of some existing packages and describes some new Java-based tools. Control of existing applications via web services is presented in a separate paper (Taylor et al. 2003) and not covered further here.
Up to date details of all Starlink software, including information for obtaining it, can be found at the Starlink web site.
A number of packages were on display with major new facilities, including the following:
New Starlink software development is being done using Java. We are developing an array data access layer called HDX/NDX (Giaretta et al. 2003) which permits network-transparent and (largely) portable access to data stored in a variety of forms. In this way the application software does not need to worry about the source (local or remote) or the format (FITS, NDF, XML) of a data array.
New tools written using this framework, demonstrated at the conference, are described in the following sections. All are undergoing active development and will offer new facilities in the near future.
Treeview is an interactive graphical browser for hierarchical structures which knows about astronomical data formats. It resembles Windows Explorer in representing a hierarchical structure as a tree of nodes which the user may expand or collapse, but as well as displaying directory trees containing files, it can look inside files to display their structure in a hierarchical fashion to whatever depth makes sense. The GUI has a single window with two panels: one displays the tree-like hierarchical structure being browsed, and the other offers a variety of views of a selected node according to what kind of object it is. For instance you might open up a directory containing a number of FITS files, open one FITS file to find that it contains a BINTABLE and four IMAGE extensions, select one of the images, and then examine its header cards or WCS information, or view it as an image or a table of pixel values. Operation is extremely intuitive.
Treeview understands many kinds of structure, and more are being added. The current list includes file systems, Starlink NDF and HDS files, FITS files, zip/jar archives, XML documents, AST FrameSets, and Starlink NDX and HDX structures. More are being added; in particular VOTable support will be available very soon.
It is easy to add new node types and new views of existing ones, and explicit support for users to extend functionality by local provision of class libraries is planned in the near future.
The various data views which Treeview can provide of a selected node are confined to a single window and intended to be useful for a quick look. More detailed analysis of data, for instance line fitting of spectra or photometry on images is best delegated to external applications. For nodes of a suitable type, Treeview allows invocation of external applications to do this; currently SPLAT (Section 3.2) for spectra and SoG (Section 3.3) for images. Communication between the applications is done via SOAP, serialising data array references using NDX. This permits very flexible deployment of resources; for instance the machine running Treeview, the machine running the data analysis application and the machine hosting the data might all be geographically separated.
Treeview itself is written entirely in Java, but for WCS-related tasks and display of Starlink HDS/NDF files it uses some platform-specific shared library code (JNI wraps of the Starlink AST and HDS libraries respectively). These are currently available for Linux, Solaris and Tru64 Unix, while Windows versions should be available shortly. However, if these libraries are not detected at runtime, Treeview will run happily with some features unavailable. This means that it can run anywhere that a J2SE1.4 Java Runtime Environment is installed, which makes it highly portable. Installation is simply a case of unpacking a single tar or zip archive.
SPLAT (SPectraL Analysis Tool) is an interactive Java application for display, comparison and analysis of astronomical spectra. Spectra can be viewed singly, together or as an animated sequence; the display is highly configurable and publication quality plots can be produced. Facilities are provided for fitting spectral lines using a variety of profile models, fitting background levels using polynomials, and doing spectrum arithmetic. The program can be controlled from the command line, or using sockets or via SOAP messages.
SoG (``Son of Gaia'') is an extension of JSkycat which can display NDX images, and is planned in due course to provide toolkits interfacing with other software. By taking advantage of grid technologies it will be able to provide similar functionality to the existing Gaia tool, while offering platform independence and network transparency.
Cavanagh, B., Hirst, P., Currie, M. J., Jenness, T., Economou, F., Ryder, S. & Todd, S. P. 2003, this volume, 237
Giaretta, D. L., Taylor, M. B., Draper, P. W., Gray, N. G. & McIlwrath B. K. 2003, this volume, 221
Taylor, M. B., Platon, R. T., Chipperfield, A. J., Draper, P. W. & Giaretta, D. L. 2003, this volume, 325