In late 1996 the IRAF project was awarded a three year NASA ADP grant to support the Open IRAF initiative. Work on the grant began in 1997 and will run through 1999. This project represents a collaboration of the IRAF group at NOAO and the major IRAF development sites within NASA, including HST, AXAF, SAO, and CEA.
The Open IRAF initiative will evolve and enhance IRAF in many ways--to make IRAF more modular so that pieces of the system can be used as distinct products separate from the rest of IRAF, to allow better integration of IRAF with non-IRAF software and data formats, and to improve the support for user software development. These enhancements will include improved facilities for host execution of IRAF tasks and scripts, multilanguage support, support for host-callable IRAF libraries, and support for dynamically loadable modules. The multilanguage support will allow software to be developed in any of serveral popular programming languages including C, Fortran, and probably C++ or Java.
Open IRAF will aid our efforts to develop technology for distributed objects, messaging, and modular object components. This work is critical if IRAF is to continue to be viable in the future, and we are grateful to NASA for making it possible for this work to proceed. We appreciate receiving outside money to help NOAO support and develop IRAF, especially in these tight budget times.
The first phase of Open IRAF was completed in 1997. The primary goal of Phase 1 was to provide limited Open IRAF development to support certain major new IRAF-based projects. These projects had a fixed schedule and had to be completed and released to the public in mid-1997, which placed a constraint on the work we could do on Open IRAF in the first year. Substantial research was done on distributed objects and messaging. A prototype message bus facility was implemented and is in use now in the NOAO Mosaic Data Handling System. A paper summarizing this work was presented at ADASS 97.
Other FY97 Open IRAF work included supporting and extending the prototype/interim C bindings for the IRAF V2.11 release and the associated STSDAS V2.0 release (providing HST STIS/NICMOS calibrations). A host-callable image display interface library (the Client Display Library; see article elsewhere in this Newsletter) was implemented. This is part of the Open IRAF effort to enhance our facilities for calling IRAF components at the host level, e.g., IRAF tasks and libraries, or large components such as the Ximtool image visualization tool. The programming tools Xc and Mkpkg were extended to better support C language programming. Support was enhanced for standard data formats that can be shared by IRAF and non-IRAF software, most notably FITS.
The second phase of Open IRAF development is just now getting underway. This will concentrate on repacking the IRAF host system interface and build tools, host callable libraries, component packaging (a more flexible way of calling IRAF programs from different environments), and multi-language support, including support of the prototype language bindings in IRAF. In subsequent years we will continue the work on messaging and distributed objects, which will eventually lead (several years from now) to a major restructuring of the IRAF system.
IRAF, in partnership with the Smithsonian Astrophysical Observatory, has also been awarded a NASA AISR grant for the development of our image display and GUI technology. This grant from the NASA Applied Information Systems Research program (AISR) is for developing the "plug-in extensible image server". Our intention is that this new image display facility will eventually replace and supplant both Ximtool and SAOtng . The new display server will be based on the current IRAF Object Manager GUI technology and on the Ximtool and SAOtng display engines, but will be a major step beyond both. Enhancements to our GUI infrastructure should be an additional benefit of developing the new image server technology.
To quote from the grant proposal: "...we describe the next step in our plan to evolve our existing software into a fully extensible, cross-platform image display server that can run stand-alone or be integrated seamlessly into astronomical analysis systems. We will build a Plug-in Image Extension (PIE) server for astronomy, consisting of a modular image display engine that can be customized using "plug-in" technology. We will create plug-ins that reproduce all the current functionality of SAOtng and more. We also will devise a messaging system and a set of distributed, shared data objects to support integrating the PIE server into astronomical analysis systems. Finally, we will migrate our PIE server, plug-ins, and messaging software from the Unix and the X Window System to a platform-independent architecture that utilizes Tcl/Tk and Java."
The PIE image server will provide the engine for the Real-Time Display being developed for the NOAO CCD Mosaic project. In combination with the Open IRAF work, these grants will be a major step towards a future distributed object, component based IRAF system.
We are grateful to NASA for their continued support of the IRAF project.